diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h index 865b5ba454d..a86c1af6e7f 100644 --- a/src/compiler/nir/nir.h +++ b/src/compiler/nir/nir.h @@ -5256,12 +5256,13 @@ bool nir_opt_large_constants(nir_shader *shader, bool nir_opt_loop_unroll(nir_shader *shader); typedef enum { - nir_move_const_undef = (1 << 0), - nir_move_load_ubo = (1 << 1), - nir_move_load_input = (1 << 2), - nir_move_comparisons = (1 << 3), - nir_move_copies = (1 << 4), - nir_move_load_ssbo = (1 << 5), + nir_move_const_undef = (1 << 0), + nir_move_load_ubo = (1 << 1), + nir_move_load_input = (1 << 2), + nir_move_comparisons = (1 << 3), + nir_move_copies = (1 << 4), + nir_move_load_ssbo = (1 << 5), + nir_move_load_uniform = (1 << 6), } nir_move_options; bool nir_can_move_instr(nir_instr *instr, nir_move_options options); diff --git a/src/compiler/nir/nir_opt_sink.c b/src/compiler/nir/nir_opt_sink.c index 13eeb9ea54d..73607655fa9 100644 --- a/src/compiler/nir/nir_opt_sink.c +++ b/src/compiler/nir/nir_opt_sink.c @@ -64,6 +64,8 @@ nir_can_move_instr(nir_instr *instr, nir_move_options options) case nir_intrinsic_load_interpolated_input: case nir_intrinsic_load_per_vertex_input: return options & nir_move_load_input; + case nir_intrinsic_load_uniform: + return options & nir_move_load_uniform; default: return false; }