On Wed, Nov 7, 2018 at 12:20 PM Kenneth Graunke <kenn...@whitecape.org> wrote:
> On Saturday, October 20, 2018 10:55:44 AM PST Jason Ekstrand wrote: > > @@ -553,14 +552,18 @@ > fs_visitor::optimize_frontfacing_ternary(nir_alu_instr *instr, > > if (src0->intrinsic != nir_intrinsic_load_front_face) > > return false; > > > > - nir_const_value *value1 = nir_src_as_const_value(instr->src[1].src); > > - if (!value1 || fabsf(value1->f32[0]) != 1.0f) > > + if (!nir_src_is_const(instr->src[1].src) || > > + !nir_src_is_const(instr->src[2].src)) > > return false; > > > > - nir_const_value *value2 = nir_src_as_const_value(instr->src[2].src); > > - if (!value2 || fabsf(value2->f32[0]) != 1.0f) > > + const float value1 = nir_src_as_float(instr->src[1].src); > > + const float value2 = nir_src_as_float(instr->src[2].src); > > + if (fabsf(value1) != 1.0f || fabsf(value2) != 1.0f) > > return false; > > > > + /* nir_opt_algebraic should have gotten rid of bcsel(b, a, a) */ > > + assert(value1 == -value2); > > + > > This is likely true, but it doesn't seem like this belongs in this > refactoring patch - we weren't doing it before, and no new code appears > to depend on the condition. Right. No *new* code does; but old code definitely does. Mind if I just make it a separate commit? > Normally I wouldn't mind, but I'm a bit > paranoid about float equality in assertions. It's probably fine, > though, since we ensured fabsf is 1.0f earlier... > Patches 5-9 are: > Reviewed-by: Kenneth Graunke <kenn...@whitecape.org> >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev