summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/imagination/vulkan/pvr_descriptor_set.c6
-rw-r--r--src/imagination/vulkan/pvr_device.c3
-rw-r--r--src/imagination/vulkan/pvr_query.c3
3 files changed, 12 insertions, 0 deletions
diff --git a/src/imagination/vulkan/pvr_descriptor_set.c b/src/imagination/vulkan/pvr_descriptor_set.c
index 57b84c395af..1855876839c 100644
--- a/src/imagination/vulkan/pvr_descriptor_set.c
+++ b/src/imagination/vulkan/pvr_descriptor_set.c
@@ -675,6 +675,9 @@ void pvr_DestroyDescriptorSetLayout(VkDevice _device,
PVR_FROM_HANDLE(pvr_descriptor_set_layout, layout, _set_layout);
PVR_FROM_HANDLE(pvr_device, device, _device);
+ if (!layout)
+ return;
+
pvr_descriptor_set_layout_free(device, pAllocator, layout);
}
@@ -1031,6 +1034,9 @@ void pvr_DestroyPipelineLayout(VkDevice _device,
PVR_FROM_HANDLE(pvr_device, device, _device);
PVR_FROM_HANDLE(pvr_pipeline_layout, layout, _pipelineLayout);
+ if (!layout)
+ return;
+
vk_object_free(&device->vk, pAllocator, layout);
}
diff --git a/src/imagination/vulkan/pvr_device.c b/src/imagination/vulkan/pvr_device.c
index 4b56942f58f..706f99fa386 100644
--- a/src/imagination/vulkan/pvr_device.c
+++ b/src/imagination/vulkan/pvr_device.c
@@ -1960,6 +1960,9 @@ void pvr_DestroyDevice(VkDevice _device,
{
PVR_FROM_HANDLE(pvr_device, device, _device);
+ if (!device)
+ return;
+
pvr_robustness_buffer_finish(device);
pvr_spm_finish_scratch_buffer_store(device);
pvr_queues_destroy(device);
diff --git a/src/imagination/vulkan/pvr_query.c b/src/imagination/vulkan/pvr_query.c
index b3b48bd3f46..66fcbf017ea 100644
--- a/src/imagination/vulkan/pvr_query.c
+++ b/src/imagination/vulkan/pvr_query.c
@@ -115,6 +115,9 @@ void pvr_DestroyQueryPool(VkDevice _device,
PVR_FROM_HANDLE(pvr_query_pool, pool, queryPool);
PVR_FROM_HANDLE(pvr_device, device, _device);
+ if (!pool)
+ return;
+
pvr_bo_free(device, pool->availability_buffer);
pvr_bo_free(device, pool->result_buffer);