hello-tool: use owned semaphores

This commit is contained in:
Danny Robson 2017-09-09 15:46:37 +10:00
parent f64990d0c2
commit 88b76357fc

View File

@ -590,27 +590,23 @@ main (void)
VkSemaphoreCreateInfo semaphore_info {};
semaphore_info.sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO;
VkSemaphore image_semaphore, render_semaphore;
cruft::vk::error::try_code (
vkCreateSemaphore (ldevice.native (), &semaphore_info, nullptr, &image_semaphore)
);
cruft::vk::error::try_code (
vkCreateSemaphore (ldevice.native (), &semaphore_info, nullptr, &render_semaphore)
);
auto image_semaphore = cruft::vk::make_owned<cruft::vk::semaphore> (ldevice, &semaphore_info, nullptr);
auto render_semaphore = cruft::vk::make_owned<cruft::vk::semaphore> (ldevice, &semaphore_info, nullptr);
uint32_t image_index;
cruft::vk::error::try_code (
vkAcquireNextImageKHR (
ldevice.native (), swapchain,
std::numeric_limits<uint64_t>::max (),
image_semaphore, VK_NULL_HANDLE,
image_semaphore->native (), VK_NULL_HANDLE,
&image_index
)
);
VkSubmitInfo submit_info {};
submit_info.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
VkSemaphore wait_semaphores[] = { image_semaphore };
VkSemaphore wait_semaphores[] = { image_semaphore->native () };
VkPipelineStageFlags wait_stages[] = { VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT };
submit_info.waitSemaphoreCount = 1;
submit_info.pWaitSemaphores = wait_semaphores;
@ -618,7 +614,7 @@ main (void)
submit_info.commandBufferCount = 1;
submit_info.pCommandBuffers = &command_buffers[image_index];
VkSemaphore signal_semaphores[] = { render_semaphore };
VkSemaphore signal_semaphores[] = { render_semaphore->native () };
submit_info.signalSemaphoreCount = 1;
submit_info.pSignalSemaphores = signal_semaphores;