From: Jason Ekstrand Date: Sat, 18 Nov 2017 23:30:34 +0000 (-0800) Subject: radv: Move wsi initialization later in physical_device_init X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=df4fc684920840220bb1fb92281e40157b4db618;p=mesa.git radv: Move wsi initialization later in physical_device_init We need it to happen after memory type setup so that we can query memory types in wsi_device_init. Reviewed-by: Dave Airlie Reviewed-by: Chad Versace --- diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 07c639755b4..f4320275b35 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -214,16 +214,10 @@ radv_physical_device_init(struct radv_physical_device *device, device->local_fd = fd; device->ws->query_info(device->ws, &device->rad_info); - result = radv_init_wsi(device); - if (result != VK_SUCCESS) { - device->ws->destroy(device->ws); - goto fail; - } device->name = get_chip_name(device->rad_info.family); if (radv_device_get_cache_uuid(device->rad_info.family, device->cache_uuid)) { - radv_finish_wsi(device); device->ws->destroy(device->ws); result = vk_errorf(VK_ERROR_INITIALIZATION_FAILED, "cannot generate UUID"); @@ -259,6 +253,13 @@ radv_physical_device_init(struct radv_physical_device *device, device->has_clear_state = device->rad_info.chip_class >= CIK; radv_physical_device_init_mem_types(device); + + result = radv_init_wsi(device); + if (result != VK_SUCCESS) { + device->ws->destroy(device->ws); + goto fail; + } + return VK_SUCCESS; fail: