From ec39dea8ac07d7d78e1bd2b8fa8d77911a272009 Mon Sep 17 00:00:00 2001 From: Michael Lentine Date: Fri, 29 Apr 2016 17:46:35 -0500 Subject: layers: Add fence in use for bind sparse info. --- layers/core_validation.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp index f938326e..e2f04d7c 100644 --- a/layers/core_validation.cpp +++ b/layers/core_validation.cpp @@ -9966,14 +9966,15 @@ vkQueueBindSparse(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo std::unique_lock lock(global_lock); // First verify that fence is not in use if (fence != VK_NULL_HANDLE) { - dev_data->fenceMap[fence].queue = queue; - if ((bindInfoCount != 0) && dev_data->fenceMap[fence].in_use.load()) { + trackCommandBuffers(dev_data, queue, 0, nullptr, fence); + auto fence_data = dev_data->fenceMap.find(fence); + if ((bindInfoCount != 0) && fence_data->second.in_use.load()) { skip_call |= log_msg(dev_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT, reinterpret_cast(fence), __LINE__, DRAWSTATE_INVALID_FENCE, "DS", "Fence %#" PRIx64 " is already in use by another submission.", reinterpret_cast(fence)); } - if (!dev_data->fenceMap[fence].needsSignaled) { + if (!fence_data->second.needsSignaled) { skip_call |= log_msg(dev_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT, reinterpret_cast(fence), __LINE__, MEMTRACK_INVALID_FENCE_STATE, "MEM", -- cgit v1.2.3