From fcfdd4cfead83bcda48b2c2f983e1aab3062e36a Mon Sep 17 00:00:00 2001 From: Karol Herbst Date: Mon, 2 Mar 2026 02:14:08 +0100 Subject: [PATCH] iris: advertise support for subgroup rotate The compiler side already supports it, so we just need to enable it. Needed for cl_khr_subgroup_rotate. Reviewed-by: Lionel Landwerlin Part-of: --- docs/features.txt | 2 +- docs/relnotes/new_features.txt | 1 + src/gallium/drivers/iris/iris_screen.c | 4 +++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/features.txt b/docs/features.txt index e9a90c4a015..5ef4ed5e7a9 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -899,7 +899,7 @@ Rusticl extensions: cl_khr_subgroup_named_barrier not started cl_khr_subgroup_non_uniform_arithmetic DONE (asahi, llvmpipe, radeonsi, zink) cl_khr_subgroup_non_uniform_vote DONE (asahi, iris, llvmpipe, radeonsi, zink) - cl_khr_subgroup_rotate DONE (asahi, llvmpipe, radeonsi, zink) + cl_khr_subgroup_rotate DONE (asahi, iris, llvmpipe, radeonsi, zink) cl_khr_subgroup_shuffle DONE (asahi, iris, llvmpipe, radeonsi, zink) cl_khr_subgroup_shuffle_relative DONE (asahi, iris, llvmpipe, radeonsi, zink) cl_khr_subgroups in progress diff --git a/docs/relnotes/new_features.txt b/docs/relnotes/new_features.txt index 35777c6da99..b6737700e80 100644 --- a/docs/relnotes/new_features.txt +++ b/docs/relnotes/new_features.txt @@ -1 +1,2 @@ cl_khr_subgroup_rotate on radeonsi +cl_khr_subgroup_rotate on iris diff --git a/src/gallium/drivers/iris/iris_screen.c b/src/gallium/drivers/iris/iris_screen.c index a2624e914f5..6b62f7a43a9 100644 --- a/src/gallium/drivers/iris/iris_screen.c +++ b/src/gallium/drivers/iris/iris_screen.c @@ -494,10 +494,12 @@ iris_init_screen_caps(struct iris_screen *screen) caps->shader_subgroup_size = 32; caps->shader_subgroup_supported_stages = BITFIELD_MASK(MESA_SHADER_STAGES); caps->shader_subgroup_supported_features = - devinfo->has_64bit_float ? BITFIELD_MASK(PIPE_SHADER_SUBGROUP_NUM_FEATURES) + devinfo->has_64bit_float ? PIPE_SHADER_SUBGROUP_FEATURE_MASK : (PIPE_SHADER_SUBGROUP_FEATURE_BASIC | PIPE_SHADER_SUBGROUP_FEATURE_VOTE | PIPE_SHADER_SUBGROUP_FEATURE_BALLOT | + PIPE_SHADER_SUBGROUP_FEATURE_ROTATE | + PIPE_SHADER_SUBGROUP_FEATURE_ROTATE_CLUSTERED | PIPE_SHADER_SUBGROUP_FEATURE_SHUFFLE | PIPE_SHADER_SUBGROUP_FEATURE_SHUFFLE_RELATIVE | PIPE_SHADER_SUBGROUP_FEATURE_QUAD);