vk_icd_t *icd = vk_get_icd();
PFN_vkGetDeviceProcAddr icd_gdpa = (PFN_vkGetDeviceProcAddr)icd->get_proc_addr(NULL, "vkGetDeviceProcAddr");
- if (icd_gdpa != VK_NULL_HANDLE) {
- PFN_vkDestroyImage destroy_image = (PFN_vkDestroyImage)icd_gdpa(device, "vkDestroyImage");
- if (destroy_image != VK_NULL_HANDLE) {
- uint32_t i;
-
- for (i = 0; i < chain->buffer_count; i++)
- destroy_image(device, chain->buffers[i].image, &chain->allocator);
+ if (chain != VK_NULL_HANDLE) {
+ if (icd_gdpa != VK_NULL_HANDLE) {
+ PFN_vkDestroyImage destroy_image = (PFN_vkDestroyImage)icd_gdpa(device, "vkDestroyImage");
+ if (destroy_image != VK_NULL_HANDLE) {
+ uint32_t i;
+
+ for (i = 0; i < chain->buffer_count; i++)
+ destroy_image(device, chain->buffers[i].image, &chain->allocator);
+ }
}
- }
- chain->deinit(device, chain);
- vk_free(&chain->allocator, chain->buffers);
- vk_free(&chain->allocator, chain);
+ chain->deinit(device, chain);
+ vk_free(&chain->allocator, chain->buffers);
+ vk_free(&chain->allocator, chain);
+ }
}
VKAPI_ATTR VkResult VKAPI_CALL