diff options
Diffstat (limited to 'src/vulkan/resource.cc')
-rw-r--r-- | src/vulkan/resource.cc | 10 |
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() { |