From: Andres Rodriguez Date: Fri, 20 Oct 2017 22:02:16 +0000 (-0400) Subject: radv: Expose VK_EXT_global_priority X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=92724338ba2db433f99f4017a18d2ee4f6601d6c;p=mesa.git radv: Expose VK_EXT_global_priority Expose the extension string as supported Signed-off-by: Andres Rodriguez Reviewed-by: Bas Nieuwenhuizen --- diff --git a/src/amd/common/ac_gpu_info.c b/src/amd/common/ac_gpu_info.c index 82ff18d4366..2e560125508 100644 --- a/src/amd/common/ac_gpu_info.c +++ b/src/amd/common/ac_gpu_info.c @@ -270,6 +270,7 @@ bool ac_query_gpu_info(int fd, amdgpu_device_handle dev, info->has_userptr = true; info->has_syncobj = has_syncobj(fd); info->has_sync_file = info->has_syncobj && info->drm_minor >= 21; + info->has_ctx_priority = info->drm_minor >= 22; info->num_render_backends = amdinfo->rb_pipes; info->clock_crystal_freq = amdinfo->gpu_counter_freq; if (!info->clock_crystal_freq) { diff --git a/src/amd/common/ac_gpu_info.h b/src/amd/common/ac_gpu_info.h index 960fd74fcf0..92c94f046b5 100644 --- a/src/amd/common/ac_gpu_info.h +++ b/src/amd/common/ac_gpu_info.h @@ -82,6 +82,7 @@ struct radeon_info { bool has_userptr; bool has_syncobj; bool has_sync_file; + bool has_ctx_priority; /* Shader cores. */ uint32_t r600_max_quad_pipes; /* wave size / 16 */ diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 307d5579573..3748d51488f 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -989,6 +989,8 @@ VkResult radv_CreateDevice( const VkDeviceQueueGlobalPriorityCreateInfoEXT *global_priority = vk_find_struct_const(queue_create->pNext, DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT); + assert(!global_priority || device->physical_device->rad_info.has_ctx_priority); + device->queues[qfi] = vk_alloc(&device->alloc, queue_create->queueCount * sizeof(struct radv_queue), 8, VK_SYSTEM_ALLOCATION_SCOPE_DEVICE); if (!device->queues[qfi]) { diff --git a/src/amd/vulkan/radv_extensions.py b/src/amd/vulkan/radv_extensions.py index cde91085b55..dfeb2880fc2 100644 --- a/src/amd/vulkan/radv_extensions.py +++ b/src/amd/vulkan/radv_extensions.py @@ -78,6 +78,7 @@ EXTENSIONS = [ Extension('VK_KHR_xlib_surface', 6, 'VK_USE_PLATFORM_XLIB_KHR'), Extension('VK_KHX_multiview', 1, True), Extension('VK_EXT_debug_report', 8, True), + Extension('VK_EXT_global_priority', 1, 'device->rad_info.has_ctx_priority'), Extension('VK_AMD_draw_indirect_count', 1, True), Extension('VK_AMD_rasterization_order', 1, 'device->rad_info.chip_class >= VI && device->rad_info.max_se >= 2'), ]