MCPcopy Create free account
hub / github.com/KhronosGroup/Vulkan-Tools / demo_prepare_submission_sync_objects

Function demo_prepare_submission_sync_objects

cube/cube.c:2440–2460  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2438}
2439
2440static void demo_prepare_submission_sync_objects(struct demo *demo) {
2441 VkSemaphoreCreateInfo semaphoreCreateInfo = {
2442 .sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO,
2443 .pNext = NULL,
2444 .flags = 0,
2445 };
2446 // Create fences that we can use to throttle if we get too far
2447 // ahead of the image presents
2448 VkFenceCreateInfo fence_ci = {
2449 .sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO, .pNext = NULL, .flags = VK_FENCE_CREATE_SIGNALED_BIT};
2450 VkResult U_ASSERT_ONLY err;
2451 for (uint32_t i = 0; i < FRAME_LAG; i++) {
2452 err = vkCreateFence(demo->device, &fence_ci, NULL, &demo->submission_resources[i].fence);
2453 assert(!err);
2454
2455 err = vkCreateSemaphore(demo->device, &semaphoreCreateInfo, NULL, &demo->submission_resources[i].image_acquired_semaphore);
2456 assert(!err);
2457 demo_name_object(demo, VK_OBJECT_TYPE_SEMAPHORE, (uint64_t)demo->submission_resources[i].image_acquired_semaphore,
2458 "AcquireSem(%u)", i);
2459 }
2460}
2461
2462static void demo_prepare(struct demo *demo) {
2463 VkResult U_ASSERT_ONLY err;

Callers 1

demo_prepareFunction · 0.85

Calls 1

demo_name_objectFunction · 0.85

Tested by

no test coverage detected