aboutsummaryrefslogtreecommitdiff
path: root/src/vulkan/resource.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/vulkan/resource.cc')
-rw-r--r--src/vulkan/resource.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/vulkan/resource.cc b/src/vulkan/resource.cc
index be9bd0f..92a1462 100644
--- a/src/vulkan/resource.cc
+++ b/src/vulkan/resource.cc
@@ -56,9 +56,13 @@ Resource::Resource(VkDevice device,
Resource::~Resource() = default;
void Resource::Shutdown() {
- UnMapMemory(host_accessible_memory_);
- vkDestroyBuffer(device_, host_accessible_buffer_, nullptr);
- vkFreeMemory(device_, host_accessible_memory_, nullptr);
+ if (host_accessible_memory_ != VK_NULL_HANDLE) {
+ UnMapMemory(host_accessible_memory_);
+ vkFreeMemory(device_, host_accessible_memory_, nullptr);
+ }
+
+ if (host_accessible_buffer_ != VK_NULL_HANDLE)
+ vkDestroyBuffer(device_, host_accessible_buffer_, nullptr);
}
Result Resource::Initialize() {