+++ /dev/null
-diff -dur -x '*~' -x '*.orig' -x '*.rej' vulkan-sdk-1.0.3.0.orig/Vulkan-LoaderAndValidationLayers/layers/mem_tracker.cpp vulkan-sdk-1.0.3.0/Vulkan-LoaderAndValidationLayers/layers/mem_tracker.cpp
---- vulkan-sdk-1.0.3.0.orig/Vulkan-LoaderAndValidationLayers/layers/mem_tracker.cpp 2016-02-22 22:02:54.000000000 +0100
-+++ vulkan-sdk-1.0.3.0/Vulkan-LoaderAndValidationLayers/layers/mem_tracker.cpp 2016-03-05 15:37:45.230208306 +0100
-@@ -2120,14 +2120,16 @@
- " already in SIGNALED state.",
- apiCall, (uint64_t)fence);
- }
-- if (!pFenceInfo->second
-- .queue) { // Checking status of unsubmitted fence
-+ if (!pFenceInfo->second.queue &&
-+ !pFenceInfo->second
-+ .swapchain) { // Checking status of unsubmitted fence
- skipCall |= log_msg(
- my_data->report_data, VK_DEBUG_REPORT_WARNING_BIT_EXT,
- VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT, (uint64_t)fence,
- __LINE__, MEMTRACK_INVALID_FENCE_STATE, "MEM",
- "%s called for fence %#" PRIxLEAST64
-- " which has not been submitted on a Queue.",
-+ " which has not been submitted on a Queue or during "
-+ "acquire next image.",
- apiCall, (uint64_t)fence);
- }
- } else {
-@@ -3439,6 +3441,10 @@
- }
- my_data->semaphoreMap[semaphore] = MEMTRACK_SEMAPHORE_STATE_SIGNALLED;
- }
-+ auto fence_data = my_data->fenceMap.find(fence);
-+ if (fence_data != my_data->fenceMap.end()) {
-+ fence_data->second.swapchain = swapchain;
-+ }
- loader_platform_thread_unlock_mutex(&globalLock);
- if (VK_FALSE == skipCall) {
- result = my_data->device_dispatch_table->AcquireNextImageKHR(
-diff -dur -x '*~' -x '*.orig' -x '*.rej' vulkan-sdk-1.0.3.0.orig/Vulkan-LoaderAndValidationLayers/layers/mem_tracker.h vulkan-sdk-1.0.3.0/Vulkan-LoaderAndValidationLayers/layers/mem_tracker.h
---- vulkan-sdk-1.0.3.0.orig/Vulkan-LoaderAndValidationLayers/layers/mem_tracker.h 2016-02-22 22:02:54.000000000 +0100
-+++ vulkan-sdk-1.0.3.0/Vulkan-LoaderAndValidationLayers/layers/mem_tracker.h 2016-03-05 15:38:14.170910811 +0100
-@@ -206,6 +206,8 @@
- struct MT_FENCE_INFO {
- uint64_t fenceId; // Sequence number for fence at last submit
- VkQueue queue; // Queue that this fence is submitted against or NULL
-+ VkSwapchainKHR
-+ swapchain; // Swapchain that this fence is submitted against or NULL
- VkBool32 firstTimeFlag; // Fence was created in signaled state, avoid
- // warnings for first use
- VkFenceCreateInfo createInfo;