On Mon, Jul 23, 2018 at 1:08 AM Timothy Arceri <tarc...@itsqueeze.com> wrote:
> Ian and I have been looking at these type of things recently. Ian has > started work on a pass to cover this stuff without having to add dozens > of these types of opts. > > https://lists.freedesktop.org/archives/mesa-dev/2018-July/200583.html > Does said pass work only on logical operations with booleans or also regular bitwise operations? This patch is for bitwise operations though it naturally works with booleans. --Jason > On 23/07/18 17:36, Jason Ekstrand wrote: > > Spotted in a shader in Batman: Arkham City. > > --- > > src/compiler/nir/nir_opt_algebraic.py | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/src/compiler/nir/nir_opt_algebraic.py > b/src/compiler/nir/nir_opt_algebraic.py > > index ba277fdfd0e..f2007852b21 100644 > > --- a/src/compiler/nir/nir_opt_algebraic.py > > +++ b/src/compiler/nir/nir_opt_algebraic.py > > @@ -377,6 +377,8 @@ optimizations = [ > > (('ixor', a, a), 0), > > (('ixor', a, 0), a), > > (('inot', ('inot', a)), a), > > + (('ior', ('iand', a, b), b), b), > > + (('iand', ('ior', a, b), b), b), > > # DeMorgan's Laws > > (('iand', ('inot', a), ('inot', b)), ('inot', ('ior', a, b))), > > (('ior', ('inot', a), ('inot', b)), ('inot', ('iand', a, b))), > > >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev