anv: don't crash on vkDestroyDevice(NULL)
authorEric Engestrom <eric.engestrom@intel.com>
Wed, 25 Jul 2018 18:43:24 +0000 (19:43 +0100)
committerEric Engestrom <eric.engestrom@intel.com>
Wed, 25 Jul 2018 20:04:30 +0000 (21:04 +0100)
CovID: 1438132
Fixes: a99c9e63a07477634ab73 "anv: finish the binding_table_pool on
                              destroyDevice when use_softpin"
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
src/intel/vulkan/anv_device.c

index 97a71563b8aba2e087989daed75b787fcfb9824b..6b72a79a91410f5aa9148f6109b0ffa71abb7002 100644 (file)
@@ -1833,11 +1833,13 @@ void anv_DestroyDevice(
     const VkAllocationCallbacks*                pAllocator)
 {
    ANV_FROM_HANDLE(anv_device, device, _device);
-   struct anv_physical_device *physical_device = &device->instance->physicalDevice;
+   struct anv_physical_device *physical_device;
 
    if (!device)
       return;
 
+   physical_device = &device->instance->physicalDevice;
+
    anv_device_finish_blorp(device);
 
    anv_pipeline_cache_finish(&device->default_pipeline_cache);