From f8a7655179d669c6a996cc636a2cb57a09b9573e Mon Sep 17 00:00:00 2001 From: "joonbum.ko" Date: Tue, 14 Nov 2017 11:08:24 +0900 Subject: [PATCH] swapchain: Added exception checking for error case. Change-Id: Ib7453fa7f8430e3e0d88921aa7c2fd6928747d79 Signed-off-by: joonbum.ko --- src/wsi/swapchain.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/wsi/swapchain.c b/src/wsi/swapchain.c index 195c16a..a0273cd 100644 --- a/src/wsi/swapchain.c +++ b/src/wsi/swapchain.c @@ -257,10 +257,10 @@ vk_AcquireNextImageKHR(VkDevice device, vk_swapchain_t *chain = (vk_swapchain_t *)(uintptr_t)swapchain; vk_icd_t *icd = vk_get_icd(); tbm_surface_h tbm_surface; - int sync; + int sync = -1; uint32_t i; - if (icd->acquire_image) + if (icd->acquire_image && fence != VK_NULL_HANDLE) res = chain->acquire_image(device, chain, timeout, &tbm_surface, &sync); else res = chain->acquire_image(device, chain, timeout, &tbm_surface, NULL); @@ -291,13 +291,17 @@ vk_QueuePresentKHR(VkQueue queue, vk_icd_t *icd = vk_get_icd(); for (i = 0; i < info->swapchainCount; i++) { - VkResult res; + VkResult res = VK_SUCCESS; int sync_fd = -1; vk_swapchain_t *chain = (vk_swapchain_t *)(uintptr_t)info->pSwapchains[i]; if (icd->queue_signal_release_image) - icd->queue_signal_release_image(queue, info->waitSemaphoreCount, info->pWaitSemaphores, - chain->buffers[info->pImageIndices[i]].image, &sync_fd); + res = icd->queue_signal_release_image(queue, info->waitSemaphoreCount, + info->pWaitSemaphores, + chain->buffers[info->pImageIndices[i]].image, + &sync_fd); + if (res != VK_SUCCESS) + VK_ERROR("Failed to queue_signal_release_image. res(%d)", res); res = chain->present_image(queue, chain, chain->buffers[info->pImageIndices[i]].tbm, sync_fd); -- 2.7.4