Skip to content

Commit 3262ea3

Browse files
authored
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)
1 parent 9d3ae4c commit 3262ea3

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

test_conformance/vulkan/test_vulkan_api_consistency.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
#endif
2727

2828
#include <assert.h>
29+
#include <memory>
2930
#include <vector>
3031
#include <iostream>
3132
#include <string.h>
@@ -79,9 +80,9 @@ struct ConsistencyExternalBufferTest : public VulkanTestBase
7980

8081
VulkanBufferList vkBufferList(1, *vkDevice, bufferSize,
8182
vkExternalMemoryHandleType);
82-
VulkanDeviceMemory* vkDeviceMem = new VulkanDeviceMemory(
83+
std::unique_ptr<VulkanDeviceMemory> vkDeviceMem(new VulkanDeviceMemory(
8384
*vkDevice, vkBufferList[0], memoryTypeList[0],
84-
vkExternalMemoryHandleType);
85+
vkExternalMemoryHandleType));
8586

8687
vkDeviceMem->bindBuffer(vkBufferList[0], 0);
8788

0 commit comments

Comments
 (0)