From 3262ea3f45e8fe3800403959dd4b32c949fb272e Mon Sep 17 00:00:00 2001 From: Marcin Hajder Date: Tue, 17 Feb 2026 17:43:46 +0100 Subject: [PATCH] Fix test_vulkan_api_consistency validation errors for missing vkFreeMemory (#2604) Fixes vulkan validation layer error: Vulkan validation layer: Validation Error: [ VUID-vkDestroyDevice-device-05137 ] Object 0: handle = 0xf56c9b0000000004, type = VK_OBJECT_TYPE_DEVICE_MEMORY; | MessageID = 0x4872eaa0 | vkCreateDevice(): OBJ ERROR : For VkDevice 0x5555598c2400[], VkDeviceMemory 0xf56c9b0000000004[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.275.0/linux/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-05137) --- test_conformance/vulkan/test_vulkan_api_consistency.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/test_conformance/vulkan/test_vulkan_api_consistency.cpp b/test_conformance/vulkan/test_vulkan_api_consistency.cpp index bd19987b..0d09a748 100644 --- a/test_conformance/vulkan/test_vulkan_api_consistency.cpp +++ b/test_conformance/vulkan/test_vulkan_api_consistency.cpp @@ -26,6 +26,7 @@ #endif #include +#include #include #include #include @@ -79,9 +80,9 @@ struct ConsistencyExternalBufferTest : public VulkanTestBase VulkanBufferList vkBufferList(1, *vkDevice, bufferSize, vkExternalMemoryHandleType); - VulkanDeviceMemory* vkDeviceMem = new VulkanDeviceMemory( + std::unique_ptr vkDeviceMem(new VulkanDeviceMemory( *vkDevice, vkBufferList[0], memoryTypeList[0], - vkExternalMemoryHandleType); + vkExternalMemoryHandleType)); vkDeviceMem->bindBuffer(vkBufferList[0], 0);