On Wed, Mar 18, 2015 at 8:35 PM, Jason Ekstrand <ja...@jlekstrand.net> wrote: > On Mar 18, 2015 8:32 PM, "Matt Turner" <matts...@gmail.com> wrote: >> >> On Wed, Mar 18, 2015 at 7:39 PM, Jason Ekstrand <ja...@jlekstrand.net> >> wrote: >> > On Wed, Mar 18, 2015 at 11:37 AM, Matt Turner <matts...@gmail.com> >> > wrote: >> >> Transform this into b2f(and(a, b)). >> >> >> >> total instructions in shared programs: 6205448 -> 6204391 (-0.02%) >> >> instructions in affected programs: 284030 -> 282973 (-0.37%) >> >> helped: 903 >> >> HURT: 6 >> >> --- >> >> src/glsl/nir/nir_opt_algebraic.py | 2 ++ >> >> 1 file changed, 2 insertions(+) >> >> >> >> diff --git a/src/glsl/nir/nir_opt_algebraic.py >> >> b/src/glsl/nir/nir_opt_algebraic.py >> >> index ef855aa..f956edf 100644 >> >> --- a/src/glsl/nir/nir_opt_algebraic.py >> >> +++ b/src/glsl/nir/nir_opt_algebraic.py >> >> @@ -95,6 +95,8 @@ optimizations = [ >> >> (('fsat', a), ('fmin', ('fmax', a, 0.0), 1.0), >> >> 'options->lower_fsat'), >> >> (('fsat', ('fsat', a)), ('fsat', a)), >> >> (('fmin', ('fmax', ('fmin', ('fmax', a, 0.0), 1.0), 0.0), 1.0), >> >> ('fmin', ('fmax', a, 0.0), 1.0)), >> >> + # Emulating booleans >> >> + (('fmul', ('b2f', a), ('b2f', b)), ('b2f', ('iand', a, b))), >> > >> > Those are only equivalent if the sources are known booleans. >> > Otherwise, no dice. >> >> Well... they're the source of a b2f. Are you saying that's not sufficient? > > No, that's not. Fortunately, @bool should solve it for you in all of the > cases you care about.
What? How? What does b2f of a non-bool mean? _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev