On 5/23/19 7:54 PM, Ilia Mirkin wrote: > How does max(NaN, 0) work? IIRC there's some provision that this > becomes 0, while abs(NaN) = NaN.
That is correct. There are a couple other algebraic patterns that have the same potential problem (e.g., the min(max()) -> sat() patterns), and we just make those as imprecise with ~. I /think/ that should be adequate here too. > On Thu, May 23, 2019 at 10:47 PM Alyssa Rosenzweig <aly...@rosenzweig.io> > wrote: >> >> I noticed this pattern in glmark's jellyfish scene. >> >> Assuming this is correct (it should be...?), could someone do a >> shader-db run? Thank you! >> >> Signed-off-by: Alyssa Rosenzweig <aly...@rosenzweig.io> >> Cc: Ian Romanick <ian.d.roman...@intel.com> >> --- >> src/compiler/nir/nir_opt_algebraic.py | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/src/compiler/nir/nir_opt_algebraic.py >> b/src/compiler/nir/nir_opt_algebraic.py >> index 89d07aa1261..abd0b6591ce 100644 >> --- a/src/compiler/nir/nir_opt_algebraic.py >> +++ b/src/compiler/nir/nir_opt_algebraic.py >> @@ -377,6 +377,7 @@ optimizations = [ >> (('imax', a, a), a), >> (('umin', a, a), a), >> (('umax', a, a), a), >> + (('fmax', ('fabs', a), 0.0), ('fabs', a)), >> (('fmax', ('fmax', a, b), b), ('fmax', a, b)), >> (('umax', ('umax', a, b), b), ('umax', a, b)), >> (('imax', ('imax', a, b), b), ('imax', a, b)), >> -- >> 2.20.1 >> >> _______________________________________________ >> mesa-dev mailing list >> mesa-dev@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/mesa-dev > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev