projects
/
mesa.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
1e089d0
)
nir/algebraic: add fdot2 optimizations
author
Jonathan Marek
<jonathan@marek.ca>
Fri, 21 Jun 2019 01:56:29 +0000
(21:56 -0400)
committer
Jonathan Marek
<jonathan@marek.ca>
Wed, 24 Jul 2019 21:36:21 +0000
(17:36 -0400)
Add simple fdot2 optimizations that are missing.
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Reviewed-by: Thomas Helland <thomashelland90@gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
src/compiler/nir/nir_opt_algebraic.py
patch
|
blob
|
history
diff --git
a/src/compiler/nir/nir_opt_algebraic.py
b/src/compiler/nir/nir_opt_algebraic.py
index d57eff2fdded286c5a8d18cc42aa582e9ac6ddd0..1ac1e6c64c0453fe4e6a4bdffd3b18454797cd39 100644
(file)
--- a/
src/compiler/nir/nir_opt_algebraic.py
+++ b/
src/compiler/nir/nir_opt_algebraic.py
@@
-191,6
+191,9
@@
optimizations = [
(('fdot3', ('vec3', a, 0.0, 0.0), b), ('fmul', a, b)),
(('fdot3', ('vec3', a, b, 0.0), c), ('fdot2', ('vec2', a, b), c)),
+ (('fdot2', ('vec2', a, 0.0), b), ('fmul', a, b)),
+ (('fdot2', a, 1.0), ('fadd', 'a.x', 'a.y')),
+
# If x >= 0 and x <= 1: fsat(1 - x) == 1 - fsat(x) trivially
# If x < 0: 1 - fsat(x) => 1 - 0 => 1 and fsat(1 - x) => fsat(> 1) => 1
# If x > 1: 1 - fsat(x) => 1 - 1 => 0 and fsat(1 - x) => fsat(< 0) => 0