VulkanBenchmarks: fix memory leaks
Found these leaks using AppVerifier on Windows.
Bug: b/176981107
Change-Id: I89cbfc02e6adf0ea2a54cf80501fbbb3d0867964
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/51748
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Antonio Maiorano <amaiorano@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
diff --git a/tests/VulkanBenchmarks/VulkanBenchmarks.cpp b/tests/VulkanBenchmarks/VulkanBenchmarks.cpp
index eb68aab..af107d9 100644
--- a/tests/VulkanBenchmarks/VulkanBenchmarks.cpp
+++ b/tests/VulkanBenchmarks/VulkanBenchmarks.cpp
@@ -783,6 +783,7 @@
{
delete texture;
+ device.destroyDescriptorSetLayout(descriptorSetLayout);
device.destroyDescriptorPool(descriptorPool);
device.destroySampler(sampler, nullptr);
@@ -998,12 +999,12 @@
vk::MemoryRequirements memoryRequirements = device.getBufferMemoryRequirements(vertices.buffer);
memoryAllocateInfo.allocationSize = memoryRequirements.size;
memoryAllocateInfo.memoryTypeIndex = getMemoryTypeIndex(physicalDevice, memoryRequirements.memoryTypeBits, vk::MemoryPropertyFlagBits::eHostVisible | vk::MemoryPropertyFlagBits::eHostCoherent);
- vk::DeviceMemory vertexBufferMemory = device.allocateMemory(memoryAllocateInfo);
+ vertices.memory = device.allocateMemory(memoryAllocateInfo);
- void *data = device.mapMemory(vertexBufferMemory, 0, VK_WHOLE_SIZE);
+ void *data = device.mapMemory(vertices.memory, 0, VK_WHOLE_SIZE);
memcpy(data, vertexBufferData, sizeof(vertexBufferData));
- device.unmapMemory(vertexBufferMemory);
- device.bindBufferMemory(vertices.buffer, vertexBufferMemory, 0);
+ device.unmapMemory(vertices.memory);
+ device.bindBufferMemory(vertices.buffer, vertices.memory, 0);
vertices.inputBinding.binding = 0;
vertices.inputBinding.stride = sizeof(Vertex);