[Mesa-dev] [PATCH] nir: Add a couple of iand/ior optimizations

Timothy Arceri tarceri at itsqueeze.com
Mon Jul 23 08:07:55 UTC 2018


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

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))),
> 


More information about the mesa-dev mailing list