diff options
author | Eric Anholt <[email protected]> | 2015-01-27 16:22:54 -0800 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2015-02-18 14:47:50 -0800 |
commit | 8e9dbfff17f29533ad03f3afd25ada8cb6bf1e2b (patch) | |
tree | 77317f985f96a014dc89a2554fa1baeb7c5b5fc2 /src/glsl/nir/nir_opt_algebraic.py | |
parent | 955a6bb57d6ca5a679021bcfe43c7cae1863f299 (diff) |
nir: Conditionalize the POW reconstruction on shader compiler options.
Mesa has a shader compiler struct flagging whether GLSL IR's opt_algebraic
and other passes should try and generate certain types of opcodes or
patterns. Extend that to NIR by defining our own struct, which is
automatically generated from the Mesa struct in glsl_to_nir and provided
directly by the driver in TGSI-to-NIR.
v2: Split out the previous two prep patches.
v3: Rebase to master (no TGSI->NIR present)
Reviewed-by: Kenneth Graunke <[email protected]> (v2)
Diffstat (limited to 'src/glsl/nir/nir_opt_algebraic.py')
-rw-r--r-- | src/glsl/nir/nir_opt_algebraic.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/glsl/nir/nir_opt_algebraic.py b/src/glsl/nir/nir_opt_algebraic.py index 83223f768cd..76917f53a46 100644 --- a/src/glsl/nir/nir_opt_algebraic.py +++ b/src/glsl/nir/nir_opt_algebraic.py @@ -118,8 +118,8 @@ optimizations = [ (('fexp', ('flog', a)), a), # e^ln(a) = a (('flog2', ('fexp2', a)), a), # lg2(2^a) = a (('flog', ('fexp', a)), a), # ln(e^a) = a - (('fexp2', ('fmul', ('flog2', a), b)), ('fpow', a, b)), # 2^(lg2(a)*b) = a^b - (('fexp', ('fmul', ('flog', a), b)), ('fpow', a, b)), # e^(ln(a)*b) = a^b + (('fexp2', ('fmul', ('flog2', a), b)), ('fpow', a, b), '!options->lower_fpow'), # 2^(lg2(a)*b) = a^b + (('fexp', ('fmul', ('flog', a), b)), ('fpow', a, b), '!options->lower_fpow'), # e^(ln(a)*b) = a^b (('fpow', a, 1.0), a), (('fpow', a, 2.0), ('fmul', a, a)), (('fpow', 2.0, a), ('fexp2', a)), |