nir: use proper array sizing define for vectors

If we increase the vector size in the future it would be good
to not have to fix these up, this should change nothing at present.

Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
This commit is contained in:
Dave Airlie 2019-04-03 12:20:02 +10:00
parent d8ce915a61
commit eb8fefe090

View file

@ -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,