On Tue, Dec 16, 2014 at 1:04 AM, Jason Ekstrand <ja...@jlekstrand.net> wrote: > --- > src/glsl/nir/nir_opcodes.h | 6 +++--- > src/glsl/nir/nir_opt_copy_propagate.c | 2 +- > 2 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/src/glsl/nir/nir_opcodes.h b/src/glsl/nir/nir_opcodes.h > index 36a50d7..bee4bd1 100644 > --- a/src/glsl/nir/nir_opcodes.h > +++ b/src/glsl/nir/nir_opcodes.h > @@ -186,7 +186,7 @@ BINOP(isub, nir_type_int) > BINOP(fmul, nir_type_float) > BINOP(imul, nir_type_int) /* low 32-bits of signed/unsigned integer multiply > */ > BINOP(imul_high, nir_type_int) /* high 32-bits of signed integer multiply */ > -BINOP(umul_high, nir_type_int) /* high 32-bits of unsigned integer multiply > */ > +BINOP(umul_high, nir_type_unsigned) /* high 32-bits of unsigned integer > multiply */ > > BINOP(fdiv, nir_type_float) > BINOP(idiv, nir_type_int) > @@ -223,8 +223,8 @@ BINOP_COMPARE(ilt, nir_type_int) > BINOP_COMPARE(ige, nir_type_int) > BINOP_COMPARE(ieq, nir_type_int) > BINOP_COMPARE(ine, nir_type_int) > -BINOP_COMPARE(ult, nir_type_int) > -BINOP_COMPARE(uge, nir_type_int) > +BINOP_COMPARE(ult, nir_type_unsigned) > +BINOP_COMPARE(uge, nir_type_unsigned) > > /** integer-aware GLSL-style comparisons that compare floats and ints */ > BINOP_REDUCE(ball_fequal, 1, nir_type_bool, nir_type_float) > diff --git a/src/glsl/nir/nir_opt_copy_propagate.c > b/src/glsl/nir/nir_opt_copy_propagate.c > index a2be047..b710181 100644 > --- a/src/glsl/nir/nir_opt_copy_propagate.c > +++ b/src/glsl/nir/nir_opt_copy_propagate.c > @@ -61,7 +61,7 @@ is_swizzleless_move(nir_alu_instr *instr) > > for (unsigned i = 0; i < 4; i++) { > if (!((instr->dest.write_mask >> i) & 1)) > - break; > + continue;
This one isn't a typo... we know the destination is SSA here, so if the i'th bit of the writemask is false, then all higher bits must be false too. That being said, we could just replace the whole loop with something like: for (unsigned i = 0; i < instr->dest.dest.ssa.num_components; i++) { if (instr->src[0].swizzle[i] != i) return false; } > if (instr->src[0].swizzle[i] != i) > return false; > } > -- > 2.2.0 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev