Module: Mesa Branch: master Commit: 7283c33b981f975361e3bfa62a339c88f2642cbb URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7283c33b981f975361e3bfa62a339c88f2642cbb
Author: Georg Lehmann <[email protected]> Date: Thu Feb 6 22:38:35 2020 +0100 Vulkan overlay: use the corresponding image index for each swapchain pImageIndices should be a pointer to the current image index otherwise every swapchain but the first one could have a wrong image index Cc: <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3741> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3741> --- src/vulkan/overlay-layer/overlay.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/vulkan/overlay-layer/overlay.cpp b/src/vulkan/overlay-layer/overlay.cpp index d720dd192eb..565f5884bb6 100644 --- a/src/vulkan/overlay-layer/overlay.cpp +++ b/src/vulkan/overlay-layer/overlay.cpp @@ -1903,15 +1903,18 @@ static VkResult overlay_QueuePresentKHR( struct swapchain_data *swapchain_data = FIND(struct swapchain_data, swapchain); + uint32_t image_index = pPresentInfo->pImageIndices[i]; + before_present(swapchain_data, queue_data, pPresentInfo->pWaitSemaphores, pPresentInfo->waitSemaphoreCount, - pPresentInfo->pImageIndices[i]); + image_index); VkPresentInfoKHR present_info = *pPresentInfo; present_info.swapchainCount = 1; present_info.pSwapchains = &swapchain; + present_info.pImageIndices = &image_index; uint64_t ts0 = os_time_get(); result = queue_data->device->vtable.QueuePresentKHR(queue, &present_info); @@ -1923,11 +1926,13 @@ static VkResult overlay_QueuePresentKHR( VkSwapchainKHR swapchain = pPresentInfo->pSwapchains[i]; struct swapchain_data *swapchain_data = FIND(struct swapchain_data, swapchain); + + uint32_t image_index = pPresentInfo->pImageIndices[i]; + VkPresentInfoKHR present_info = *pPresentInfo; present_info.swapchainCount = 1; present_info.pSwapchains = &swapchain; - - uint32_t image_index = pPresentInfo->pImageIndices[i]; + present_info.pImageIndices = &image_index; struct overlay_draw *draw = before_present(swapchain_data, queue_data, _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
