aboutsummaryrefslogtreecommitdiff
path: root/src/vulkan/image.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/vulkan/image.cc')
-rw-r--r--src/vulkan/image.cc13
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();
}