diff options
author | Karmjit Mahil <Karmjit.Mahil@imgtec.com> | 2023-05-04 16:37:28 +0100 |
---|---|---|
committer | Marge Bot <emma+marge@anholt.net> | 2023-05-16 18:09:03 +0000 |
commit | bac048e1dfed0ddfa7d95e55565d0ac486997b9b (patch) | |
tree | d00f65ab69842395d025552c8742805209c29cc3 | |
parent | 7cb77cb089cfa38c06dfaaed694af14178f70601 (diff) | |
download | mesa-bac048e1dfed0ddfa7d95e55565d0ac486997b9b.tar.gz |
pvr: Add missing NULL checks in some vkDestroy...() functions
Seems like `dEQP-VK.api.null_handle.destroy_device` was already
passing but let's add the null check in case of future changes
which might not accept NULL.
Fixes:
dEQP-VK.api.null_handle.destroy_descriptor_set_layout
dEQP-VK.api.null_handle.destroy_pipeline_layout
dEQP-VK.api.null_handle.destroy_query_pool
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22918>
-rw-r--r-- | src/imagination/vulkan/pvr_descriptor_set.c | 6 | ||||
-rw-r--r-- | src/imagination/vulkan/pvr_device.c | 3 | ||||
-rw-r--r-- | src/imagination/vulkan/pvr_query.c | 3 |
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); |