]> git.pld-linux.org Git - packages/vulkan-sdk.git/blob - validation_swapchain_fence.patch
Version: 1.0.5.0 (current snapshot of the branch)
[packages/vulkan-sdk.git] / validation_swapchain_fence.patch
1 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
2 --- vulkan-sdk-1.0.3.0.orig/Vulkan-LoaderAndValidationLayers/layers/mem_tracker.cpp     2016-02-22 22:02:54.000000000 +0100
3 +++ vulkan-sdk-1.0.3.0/Vulkan-LoaderAndValidationLayers/layers/mem_tracker.cpp  2016-03-05 15:37:45.230208306 +0100
4 @@ -2120,14 +2120,16 @@
5                      " already in SIGNALED state.",
6                      apiCall, (uint64_t)fence);
7              }
8 -            if (!pFenceInfo->second
9 -                     .queue) { // Checking status of unsubmitted fence
10 +            if (!pFenceInfo->second.queue &&
11 +                !pFenceInfo->second
12 +                     .swapchain) { // Checking status of unsubmitted fence
13                  skipCall |= log_msg(
14                      my_data->report_data, VK_DEBUG_REPORT_WARNING_BIT_EXT,
15                      VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT, (uint64_t)fence,
16                      __LINE__, MEMTRACK_INVALID_FENCE_STATE, "MEM",
17                      "%s called for fence %#" PRIxLEAST64
18 -                    " which has not been submitted on a Queue.",
19 +                    " which has not been submitted on a Queue or during "
20 +                   "acquire next image.",
21                      apiCall, (uint64_t)fence);
22              }
23          } else {
24 @@ -3439,6 +3441,10 @@
25          }
26          my_data->semaphoreMap[semaphore] = MEMTRACK_SEMAPHORE_STATE_SIGNALLED;
27      }
28 +    auto fence_data = my_data->fenceMap.find(fence);
29 +    if (fence_data != my_data->fenceMap.end()) {
30 +        fence_data->second.swapchain = swapchain;
31 +    }
32      loader_platform_thread_unlock_mutex(&globalLock);
33      if (VK_FALSE == skipCall) {
34          result = my_data->device_dispatch_table->AcquireNextImageKHR(
35 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
36 --- vulkan-sdk-1.0.3.0.orig/Vulkan-LoaderAndValidationLayers/layers/mem_tracker.h       2016-02-22 22:02:54.000000000 +0100
37 +++ vulkan-sdk-1.0.3.0/Vulkan-LoaderAndValidationLayers/layers/mem_tracker.h    2016-03-05 15:38:14.170910811 +0100
38 @@ -206,6 +206,8 @@
39  struct MT_FENCE_INFO {
40      uint64_t fenceId; // Sequence number for fence at last submit
41      VkQueue queue;    // Queue that this fence is submitted against or NULL
42 +    VkSwapchainKHR
43 +        swapchain; // Swapchain that this fence is submitted against or NULL
44      VkBool32 firstTimeFlag; // Fence was created in signaled state, avoid
45                              // warnings for first use
46      VkFenceCreateInfo createInfo;
This page took 0.023545 seconds and 3 git commands to generate.