Commit 92724338 authored by Andres Rodriguez's avatar Andres Rodriguez Committed by Bas Nieuwenhuizen
Browse files

radv: Expose VK_EXT_global_priority



Expose the extension string as supported
Signed-off-by: default avatarAndres Rodriguez <andresx7@gmail.com>
Reviewed-by: default avatarBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
parent 9f7edf4d
...@@ -270,6 +270,7 @@ bool ac_query_gpu_info(int fd, amdgpu_device_handle dev, ...@@ -270,6 +270,7 @@ bool ac_query_gpu_info(int fd, amdgpu_device_handle dev,
info->has_userptr = true; info->has_userptr = true;
info->has_syncobj = has_syncobj(fd); info->has_syncobj = has_syncobj(fd);
info->has_sync_file = info->has_syncobj && info->drm_minor >= 21; 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->num_render_backends = amdinfo->rb_pipes;
info->clock_crystal_freq = amdinfo->gpu_counter_freq; info->clock_crystal_freq = amdinfo->gpu_counter_freq;
if (!info->clock_crystal_freq) { if (!info->clock_crystal_freq) {
......
...@@ -82,6 +82,7 @@ struct radeon_info { ...@@ -82,6 +82,7 @@ struct radeon_info {
bool has_userptr; bool has_userptr;
bool has_syncobj; bool has_syncobj;
bool has_sync_file; bool has_sync_file;
bool has_ctx_priority;
/* Shader cores. */ /* Shader cores. */
uint32_t r600_max_quad_pipes; /* wave size / 16 */ uint32_t r600_max_quad_pipes; /* wave size / 16 */
......
...@@ -989,6 +989,8 @@ VkResult radv_CreateDevice( ...@@ -989,6 +989,8 @@ VkResult radv_CreateDevice(
const VkDeviceQueueGlobalPriorityCreateInfoEXT *global_priority = const VkDeviceQueueGlobalPriorityCreateInfoEXT *global_priority =
vk_find_struct_const(queue_create->pNext, DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT); 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, device->queues[qfi] = vk_alloc(&device->alloc,
queue_create->queueCount * sizeof(struct radv_queue), 8, VK_SYSTEM_ALLOCATION_SCOPE_DEVICE); queue_create->queueCount * sizeof(struct radv_queue), 8, VK_SYSTEM_ALLOCATION_SCOPE_DEVICE);
if (!device->queues[qfi]) { if (!device->queues[qfi]) {
......
...@@ -78,6 +78,7 @@ EXTENSIONS = [ ...@@ -78,6 +78,7 @@ EXTENSIONS = [
Extension('VK_KHR_xlib_surface', 6, 'VK_USE_PLATFORM_XLIB_KHR'), Extension('VK_KHR_xlib_surface', 6, 'VK_USE_PLATFORM_XLIB_KHR'),
Extension('VK_KHX_multiview', 1, True), Extension('VK_KHX_multiview', 1, True),
Extension('VK_EXT_debug_report', 8, 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_draw_indirect_count', 1, True),
Extension('VK_AMD_rasterization_order', 1, 'device->rad_info.chip_class >= VI && device->rad_info.max_se >= 2'), Extension('VK_AMD_rasterization_order', 1, 'device->rad_info.chip_class >= VI && device->rad_info.max_se >= 2'),
] ]
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment