Commit 76264217 authored by Jesse Natalie's avatar Jesse Natalie Committed by Erik Faye-Lund
Browse files

nir: More NIR_MAX_VEC_COMPONENTS fixes

parent cc5d383f
......@@ -935,7 +935,7 @@ nir_ssa_for_src(nir_builder *build, nir_src src, int num_components)
nir_alu_src alu = { NIR_SRC_INIT };
alu.src = src;
for (int j = 0; j < 4; j++)
for (int j = 0; j < NIR_MAX_VEC_COMPONENTS; j++)
alu.swizzle[j] = j;
return nir_mov_alu(build, alu, num_components);
......
......@@ -74,6 +74,8 @@ nir_fast_length(nir_builder *b, nir_ssa_def *vec)
case 2: return nir_fsqrt(b, nir_fdot2(b, vec, vec));
case 3: return nir_fsqrt(b, nir_fdot3(b, vec, vec));
case 4: return nir_fsqrt(b, nir_fdot4(b, vec, vec));
case 8: return nir_fsqrt(b, nir_fdot8(b, vec, vec));
case 16: return nir_fsqrt(b, nir_fdot16(b, vec, vec));
default:
unreachable("Invalid number of components");
}
......
......@@ -1305,7 +1305,7 @@ nir_lower_explicit_io_instr(nir_builder *b,
if (intrin->intrinsic == nir_intrinsic_load_deref) {
nir_ssa_def *value;
if (vec_stride > scalar_size) {
nir_ssa_def *comps[4] = { NULL, };
nir_ssa_def *comps[NIR_MAX_VEC_COMPONENTS] = { NULL, };
for (unsigned i = 0; i < intrin->num_components; i++) {
nir_ssa_def *comp_addr = build_addr_iadd_imm(b, addr, addr_format,
vec_stride * i);
......
......@@ -69,7 +69,7 @@ static bool
is_swizzleless_move(nir_alu_instr *instr)
{
if (is_move(instr)) {
for (unsigned i = 0; i < 4; i++) {
for (unsigned i = 0; i < NIR_MAX_VEC_COMPONENTS; i++) {
if (!((instr->dest.write_mask >> i) & 1))
break;
if (instr->src[0].swizzle[i] != i)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment