anv: Advertise VK_KHR_shader_subgroup_uniform_control_flow

This is always valid for Intel, so we don't need to do anything
different if the Execution Mode is being used.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11476>
This commit is contained in:
Caio Marcelo de Oliveira Filho
2021-06-23 15:58:40 -07:00
committed by Marge Bot
parent 6ad88a8f08
commit 5853f17c30
3 changed files with 10 additions and 0 deletions

View File

@@ -3,6 +3,7 @@ VK_EXT_provoking_vertex on RADV.
VK_EXT_extended_dynamic_state2 on RADV. VK_EXT_extended_dynamic_state2 on RADV.
VK_EXT_global_priority_query on RADV. VK_EXT_global_priority_query on RADV.
VK_EXT_physical_device_drm on RADV. VK_EXT_physical_device_drm on RADV.
VK_KHR_shader_subgroup_uniform_control_flow on Intel.
32-bit x86 builds now default disable x87 math and use sse2. 32-bit x86 builds now default disable x87 math and use sse2.
GL ES 3.1 on GT21x hardware. GL ES 3.1 on GT21x hardware.
VK_EXT_acquire_drm_display on RADV. VK_EXT_acquire_drm_display on RADV.

View File

@@ -248,6 +248,7 @@ get_device_extensions(const struct anv_physical_device *device,
.KHR_shader_float_controls = device->info.ver >= 8, .KHR_shader_float_controls = device->info.ver >= 8,
.KHR_shader_non_semantic_info = true, .KHR_shader_non_semantic_info = true,
.KHR_shader_subgroup_extended_types = device->info.ver >= 8, .KHR_shader_subgroup_extended_types = device->info.ver >= 8,
.KHR_shader_subgroup_uniform_control_flow = true,
.KHR_shader_terminate_invocation = true, .KHR_shader_terminate_invocation = true,
.KHR_spirv_1_4 = true, .KHR_spirv_1_4 = true,
.KHR_storage_buffer_storage_class = true, .KHR_storage_buffer_storage_class = true,
@@ -1718,6 +1719,13 @@ void anv_GetPhysicalDeviceFeatures2(
break; break;
} }
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR: {
VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR *features =
(VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR *)ext;
features->shaderSubgroupUniformControlFlow = true;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR: { case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR: {
VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR *features = VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR *features =
(VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR *)ext; (VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR *)ext;

View File

@@ -165,6 +165,7 @@ anv_shader_compile_to_nir(struct anv_device *device,
.subgroup_basic = true, .subgroup_basic = true,
.subgroup_ballot = true, .subgroup_ballot = true,
.subgroup_quad = true, .subgroup_quad = true,
.subgroup_uniform_control_flow = true,
.subgroup_shuffle = true, .subgroup_shuffle = true,
.subgroup_vote = true, .subgroup_vote = true,
.tessellation = true, .tessellation = true,