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))),
_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev