From 09df2ee2ba97f76d4da244bc98e843f807bfa99f Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Mon, 8 Jun 2026 16:42:23 -0400 Subject: [PATCH] nir/opt_sink: sink more Intel block instructions Results on my jay branch SIMD16: Totals from 1456 (55.01% of 2647) affected shaders: Instrs: 2119110 -> 2116320 (-0.13%); split: -0.23%, +0.10% CodeSize: 29561972 -> 29460340 (-0.34%); split: -0.47%, +0.13% SIMD32: Totals from 1462 (55.23% of 2647) affected shaders: Instrs: 2421472 -> 2422930 (+0.06%); split: -0.20%, +0.26% CodeSize: 34434240 -> 34415840 (-0.05%); split: -0.33%, +0.28% Number of fill instructions: 29830 -> 29829 (-0.00%); split: -0.01%, +0.00% Signed-off-by: Alyssa Rosenzweig Reviewed-by: Lionel Landwerlin Part-of: --- src/compiler/nir/nir_opt_sink.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/compiler/nir/nir_opt_sink.c b/src/compiler/nir/nir_opt_sink.c index d70fee64fd9..b5a39c9c082 100644 --- a/src/compiler/nir/nir_opt_sink.c +++ b/src/compiler/nir/nir_opt_sink.c @@ -241,6 +241,7 @@ can_sink_instr(nir_instr *instr, nir_move_options options, bool *can_mov_out_of_ case nir_intrinsic_load_ubo_vec4: case nir_intrinsic_load_global_constant_offset: case nir_intrinsic_load_global_constant_bounded: + case nir_intrinsic_load_global_constant_uniform_block_intel: *can_mov_out_of_loop = intrin->intrinsic == nir_intrinsic_load_global_constant_offset || intrin->intrinsic == nir_intrinsic_load_global_constant_bounded; @@ -248,6 +249,7 @@ can_sink_instr(nir_instr *instr, nir_move_options options, bool *can_mov_out_of_ case nir_intrinsic_load_ssbo: case nir_intrinsic_load_ssbo_intel: + case nir_intrinsic_load_ssbo_uniform_block_intel: case nir_intrinsic_load_global_bounded: *can_mov_out_of_loop = intrin->intrinsic == nir_intrinsic_load_global_bounded;