diff options
Diffstat (limited to 'src/vulkan/image.cc')
-rw-r--r-- | src/vulkan/image.cc | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/vulkan/image.cc b/src/vulkan/image.cc index 7b64daf..256be35 100644 --- a/src/vulkan/image.cc +++ b/src/vulkan/image.cc @@ -112,13 +112,14 @@ Result Image::CreateVkImageView() { } void Image::Shutdown() { - vkDestroyImageView(GetDevice(), view_, nullptr); - vkDestroyImage(GetDevice(), image_, nullptr); - vkFreeMemory(GetDevice(), memory_, nullptr); + if (view_ != VK_NULL_HANDLE) + vkDestroyImageView(GetDevice(), view_, nullptr); - view_ = VK_NULL_HANDLE; - image_ = VK_NULL_HANDLE; - memory_ = VK_NULL_HANDLE; + if (image_ != VK_NULL_HANDLE) + vkDestroyImage(GetDevice(), image_, nullptr); + + if (memory_ != VK_NULL_HANDLE) + vkFreeMemory(GetDevice(), memory_, nullptr); Resource::Shutdown(); } |