VkFormat preferedFormat, VkPresentModeKHR presentMode);
void vkh_presenter_destroy (VkhPresenter r);
bool vkh_presenter_draw (VkhPresenter r);
-bool vkh_presenter_acquireNextImage (VkhPresenter r, VkFence fence);
+bool vkh_presenter_acquireNextImage (VkhPresenter r, VkFence fence, VkSemaphore semaphore);
void vkh_presenter_build_blit_cmd (VkhPresenter r, VkImage blitSource, uint32_t width, uint32_t height);
void vkh_presenter_create_swapchain (VkhPresenter r);
/************
free (r);
}
-bool vkh_presenter_acquireNextImage (VkhPresenter r, VkFence fence) {
+bool vkh_presenter_acquireNextImage (VkhPresenter r, VkFence fence, VkSemaphore semaphore) {
// Get the index of the next available swapchain image:
VkResult err = vkAcquireNextImageKHR
- (r->dev->dev, r->swapChain, UINT64_MAX, r->semaPresentEnd, fence, &r->currentScBufferIndex);
+ (r->dev->dev, r->swapChain, UINT64_MAX, semaphore, fence, &r->currentScBufferIndex);
return ((err != VK_ERROR_OUT_OF_DATE_KHR) && (err != VK_SUBOPTIMAL_KHR));
}
bool vkh_presenter_draw (VkhPresenter r) {
- if (!vkh_presenter_acquireNextImage (r, VK_NULL_HANDLE)){
+ if (!vkh_presenter_acquireNextImage (r, VK_NULL_HANDLE, r->semaPresentEnd)){
vkh_presenter_create_swapchain (r);
return false;
}