diff --git a/src/compiler/nir/nir_opt_copy_propagate.c b/src/compiler/nir/nir_opt_copy_propagate.c index 10b81c0a684..909839ad962 100644 --- a/src/compiler/nir/nir_opt_copy_propagate.c +++ b/src/compiler/nir/nir_opt_copy_propagate.c @@ -142,17 +142,17 @@ copy_prop_alu_src(nir_alu_instr *parent_alu_instr, unsigned index) return false; nir_ssa_def *def; - unsigned new_swizzle[4] = {0, 0, 0, 0}; + unsigned new_swizzle[NIR_MAX_VEC_COMPONENTS] = {0, 0, 0, 0}; if (alu_instr->op == nir_op_fmov || alu_instr->op == nir_op_imov) { - for (unsigned i = 0; i < 4; i++) + for (unsigned i = 0; i < NIR_MAX_VEC_COMPONENTS; i++) new_swizzle[i] = alu_instr->src[0].swizzle[src->swizzle[i]]; def = alu_instr->src[0].src.ssa; } else { def = NULL; - for (unsigned i = 0; i < 4; i++) { + for (unsigned i = 0; i < NIR_MAX_VEC_COMPONENTS; i++) { if (!nir_alu_instr_channel_used(parent_alu_instr, index, i)) continue; @@ -167,7 +167,7 @@ copy_prop_alu_src(nir_alu_instr *parent_alu_instr, unsigned index) } } - for (unsigned i = 0; i < 4; i++) + for (unsigned i = 0; i < NIR_MAX_VEC_COMPONENTS; i++) src->swizzle[i] = new_swizzle[i]; nir_instr_rewrite_src(&parent_alu_instr->instr, &src->src,