diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c index 5a4b9905e25..58d4b83c4d2 100644 --- a/src/intel/vulkan/anv_device.c +++ b/src/intel/vulkan/anv_device.c @@ -296,6 +296,7 @@ get_device_extensions(const struct anv_physical_device *device, .KHR_shader_integer_dot_product = true, .KHR_shader_non_semantic_info = true, .KHR_shader_subgroup_extended_types = true, + .KHR_shader_subgroup_rotate = true, .KHR_shader_subgroup_uniform_control_flow = true, .KHR_shader_terminate_invocation = true, .KHR_spirv_1_4 = true, @@ -871,6 +872,10 @@ get_features(const struct anv_physical_device *pdevice, /* VK_KHR_cooperative_matrix */ .cooperativeMatrix = anv_has_cooperative_matrix(pdevice), + + /* VK_KHR_shader_subgroup_rotate */ + .shaderSubgroupRotate = true, + .shaderSubgroupRotateClustered = true, }; /* The new DOOM and Wolfenstein games require depthBounds without diff --git a/src/intel/vulkan/anv_pipeline.c b/src/intel/vulkan/anv_pipeline.c index 5c13f2b3828..2e8b7697bf6 100644 --- a/src/intel/vulkan/anv_pipeline.c +++ b/src/intel/vulkan/anv_pipeline.c @@ -197,6 +197,7 @@ anv_shader_stage_to_nir(struct anv_device *device, .subgroup_ballot = true, .subgroup_dispatch = true, .subgroup_quad = true, + .subgroup_rotate = true, .subgroup_uniform_control_flow = true, .subgroup_shuffle = true, .subgroup_vote = true,