From 5d099c061b9c5af4fdf3a9daf5293252957d7c8c Mon Sep 17 00:00:00 2001 From: Mark Lobodzinski Date: Tue, 19 Jan 2016 16:27:27 -0700 Subject: layers: GL84, Reset vkQueuePresentKHR semaphore state in mem_tracker --- layers/mem_tracker.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'layers/mem_tracker.cpp') diff --git a/layers/mem_tracker.cpp b/layers/mem_tracker.cpp index f2f18718..b621c6e6 100644 --- a/layers/mem_tracker.cpp +++ b/layers/mem_tracker.cpp @@ -2970,6 +2970,16 @@ VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR( if (!skip_call) { result = my_data->device_dispatch_table->QueuePresentKHR(queue, pPresentInfo); } + + loader_platform_thread_lock_mutex(&globalLock); + for (uint32_t i = 0; i < pPresentInfo->waitSemaphoreCount; i++) { + VkSemaphore sem = pPresentInfo->pWaitSemaphores[i]; + if (my_data->semaphoreMap.find(sem) != my_data->semaphoreMap.end()) { + my_data->semaphoreMap[sem] = MEMTRACK_SEMAPHORE_STATE_UNSET; + } + } + loader_platform_thread_unlock_mutex(&globalLock); + return result; } -- cgit v1.2.3