diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c index 0ec0d67e3b6..3c3f761ca89 100644 --- a/src/amd/vulkan/radv_shader.c +++ b/src/amd/vulkan/radv_shader.c @@ -74,6 +74,7 @@ static const struct nir_shader_compiler_options nir_options = { .lower_ffma = true, .lower_fpow = true, .lower_mul_2x32_64 = true, + .lower_rotate = true, .max_unroll_iterations = 32 }; diff --git a/src/broadcom/compiler/nir_to_vir.c b/src/broadcom/compiler/nir_to_vir.c index cb58b737a80..b05c892bba6 100644 --- a/src/broadcom/compiler/nir_to_vir.c +++ b/src/broadcom/compiler/nir_to_vir.c @@ -2419,6 +2419,7 @@ const nir_shader_compiler_options v3d_nir_options = { .lower_ldexp = true, .lower_mul_high = true, .lower_wpos_pntc = true, + .lower_rotate = true, }; /** diff --git a/src/freedreno/ir3/ir3_nir.c b/src/freedreno/ir3/ir3_nir.c index 437f196bbe0..6a4c60b0c1f 100644 --- a/src/freedreno/ir3/ir3_nir.c +++ b/src/freedreno/ir3/ir3_nir.c @@ -55,6 +55,7 @@ static const nir_shader_compiler_options options = { .lower_bitfield_insert_to_shifts = true, .lower_bitfield_extract_to_shifts = true, .use_interpolated_input_intrinsics = true, + .lower_rotate = true, }; /* we don't want to lower vertex_id to _zero_based on newer gpus: */ @@ -79,6 +80,7 @@ static const nir_shader_compiler_options options_a6xx = { .lower_bitfield_insert_to_shifts = true, .lower_bitfield_extract_to_shifts = true, .use_interpolated_input_intrinsics = true, + .lower_rotate = true, }; const nir_shader_compiler_options * diff --git a/src/gallium/drivers/freedreno/a2xx/ir2_nir.c b/src/gallium/drivers/freedreno/a2xx/ir2_nir.c index 5becd522615..8226d271a38 100644 --- a/src/gallium/drivers/freedreno/a2xx/ir2_nir.c +++ b/src/gallium/drivers/freedreno/a2xx/ir2_nir.c @@ -40,6 +40,7 @@ static const nir_shader_compiler_options options = { .lower_all_io_to_temps = true, .vertex_id_zero_based = true, /* its not implemented anyway */ .lower_bitshift = true, + .lower_rotate = true, }; const nir_shader_compiler_options * diff --git a/src/gallium/drivers/lima/lima_program.c b/src/gallium/drivers/lima/lima_program.c index 7adc3ba0a71..5e92726df06 100644 --- a/src/gallium/drivers/lima/lima_program.c +++ b/src/gallium/drivers/lima/lima_program.c @@ -52,6 +52,7 @@ static const nir_shader_compiler_options vs_nir_options = { /* could be implemented by clamp */ .lower_fsat = true, .lower_bitshift = true, + .lower_rotate = true, }; static const nir_shader_compiler_options fs_nir_options = { @@ -63,6 +64,7 @@ static const nir_shader_compiler_options fs_nir_options = { .lower_flrp32 = true, .lower_flrp64 = true, .lower_fsign = true, + .lower_rotate = true, }; const void * diff --git a/src/gallium/drivers/nouveau/nv50/nv50_screen.c b/src/gallium/drivers/nouveau/nv50/nv50_screen.c index b84330b4b38..3db1f38c9e4 100644 --- a/src/gallium/drivers/nouveau/nv50/nv50_screen.c +++ b/src/gallium/drivers/nouveau/nv50/nv50_screen.c @@ -900,6 +900,7 @@ static const nir_shader_compiler_options nir_options = { .lower_extract_word = true, .lower_all_io_to_temps = false, .lower_cs_local_index_from_id = true, + .lower_rotate = true, .use_interpolated_input_intrinsics = true, .max_unroll_iterations = 32, }; diff --git a/src/gallium/drivers/panfrost/midgard/midgard_compile.h b/src/gallium/drivers/panfrost/midgard/midgard_compile.h index 44c3533b6de..147494b8e8a 100644 --- a/src/gallium/drivers/panfrost/midgard/midgard_compile.h +++ b/src/gallium/drivers/panfrost/midgard/midgard_compile.h @@ -117,6 +117,7 @@ static const nir_shader_compiler_options midgard_nir_options = { .vertex_id_zero_based = true, .lower_extract_byte = true, .lower_extract_word = true, + .lower_rotate = true, .lower_doubles_options = nir_lower_dmod, diff --git a/src/gallium/drivers/radeonsi/si_get.c b/src/gallium/drivers/radeonsi/si_get.c index 3ed90c79cba..dae5a55a3da 100644 --- a/src/gallium/drivers/radeonsi/si_get.c +++ b/src/gallium/drivers/radeonsi/si_get.c @@ -503,6 +503,7 @@ static const struct nir_shader_compiler_options nir_options = { .lower_unpack_unorm_4x8 = true, .lower_extract_byte = true, .lower_extract_word = true, + .lower_rotate = true, .optimize_sample_mask_in = true, .max_unroll_iterations = 32, }; diff --git a/src/gallium/drivers/vc4/vc4_program.c b/src/gallium/drivers/vc4/vc4_program.c index 707fa1d27ed..7fb25ba782e 100644 --- a/src/gallium/drivers/vc4/vc4_program.c +++ b/src/gallium/drivers/vc4/vc4_program.c @@ -2195,6 +2195,7 @@ static const nir_shader_compiler_options nir_options = { .lower_fsqrt = true, .lower_ldexp = true, .lower_negate = true, + .lower_rotate = true, .max_unroll_iterations = 32, };