From fcf11b7a3d981c7295b99bedc42dda73a26fe821 Mon Sep 17 00:00:00 2001 From: Tobin Ehlis Date: Fri, 8 Jul 2016 14:22:01 -0600 Subject: layers: Handle binding between cmd buffer and query pools For the CmdBind* functions that involve queryPool object, add a binding between the cmd buffer and the queryPool. In the event that a queryPool is destroyed, invalidate any bound cmd buffers and make sure invalid reporting is handled correctly for query pools. When a cmd buffer is destroyed that has query pool bindings, those bindings will be cleared under existing object_binding cleanup in resetCB. --- layers/core_validation.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp index 7ac018f7..4fbea884 100644 --- a/layers/core_validation.cpp +++ b/layers/core_validation.cpp @@ -5066,7 +5066,7 @@ VKAPI_ATTR void VKAPI_CALL DestroyEvent(VkDevice device, VkEvent event, const Vk VKAPI_ATTR void VKAPI_CALL DestroyQueryPool(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks *pAllocator) { layer_data *dev_data = get_my_data_ptr(get_dispatch_key(device), layer_data_map); - // TODO : Handle in-flight queryPool + // TODO : Add detection for an in-flight queryPool std::unique_lock lock(global_lock); auto qp_node = getQueryPoolNode(dev_data, queryPool); if (qp_node) { -- cgit v1.2.3