diff options
| author | Tobin Ehlis <tobine@google.com> | 2016-04-18 15:40:59 -0600 |
|---|---|---|
| committer | Tobin Ehlis <tobine@google.com> | 2016-04-19 09:29:21 -0600 |
| commit | cc0a78af0cf440da0d58d60870377ae3c66924bc (patch) | |
| tree | 4c0adb0d4e8d415124c351dff2149c84799fe00d /layers/object_tracker.h | |
| parent | d9eb3a89404fe6ca75ce42d450961adb7d434350 (diff) | |
| download | usermoji-cc0a78af0cf440da0d58d60870377ae3c66924bc.tar.xz | |
layers: Fix object_tracker bugs
A couple of bugs in object_tracker hand-coded sections that MarkY tracked down.
In DestroyInstance case we were attempting to delete wrong map key.
Then, for vkDestroyCommandPool we were using wrong function to clean-up the
command buffers in that pool which would result in occassional crashes.
Diffstat (limited to 'layers/object_tracker.h')
| -rw-r--r-- | layers/object_tracker.h | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/layers/object_tracker.h b/layers/object_tracker.h index 2e61a155..b2cda909 100644 --- a/layers/object_tracker.h +++ b/layers/object_tracker.h @@ -367,7 +367,6 @@ static VkBool32 validate_pipeline_layout(VkDevice dispatchable_object, VkPipelin static VkBool32 validate_pipeline(VkDevice dispatchable_object, VkPipeline object, VkDebugReportObjectTypeEXT objType, bool null_allowed); static void destroy_command_pool(VkDevice dispatchable_object, VkCommandPool object); -static void destroy_command_buffer(VkCommandBuffer dispatchable_object, VkCommandBuffer object); static void destroy_descriptor_pool(VkDevice dispatchable_object, VkDescriptorPool object); static void destroy_descriptor_set(VkDevice dispatchable_object, VkDescriptorSet object); static void destroy_device_memory(VkDevice dispatchable_object, VkDeviceMemory object); @@ -924,8 +923,7 @@ void explicit_DestroyCommandPool(VkDevice device, VkCommandPool commandPool, con OBJTRACK_NODE *pNode = (*itr).second; del_itr = itr++; if (pNode->parentObj == (uint64_t)(commandPool)) { - destroy_command_buffer(reinterpret_cast<VkCommandBuffer>((*del_itr).first), - reinterpret_cast<VkCommandBuffer>((*del_itr).first)); + free_command_buffer(device, commandPool, reinterpret_cast<VkCommandBuffer>((*del_itr).first)); } } destroy_command_pool(device, commandPool); |
