summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuel Iglesias Gonsálvez <[email protected]>2018-12-04 16:41:36 +0100
committerDylan Baker <[email protected]>2019-09-18 09:38:42 -0700
commit0ff13c291b5ccaa0b6683bd32f081f00614f8e44 (patch)
tree5b490b1b843d1b79fd40855cc9b756e78e62e441
parent71fafc13b9491f4ccc75fa821008fb863ffdb033 (diff)
intel/nir: do not apply the fsin and fcos trig workarounds for consts
If we have fsin or fcos trigonometric operations with constant values as inputs, we will multiply the result by 0.99997 in brw_nir_apply_trig_workarounds, making the result wrong. Adjusting the rules so they do not apply to const values we let a later constant fold to deal with it. v2: - Do not early constant fold but only apply the trig workaround for non constants (Caio). - Add fixes tag to commit log (Caio). Fixes: bfd17c76c12 "i965: Port INTEL_PRECISE_TRIG=1 to NIR." Signed-off-by: Samuel Iglesias Gonsálvez <[email protected]> Signed-off-by: Andres Gomez <[email protected]> Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]> (cherry picked from commit 3c474f851313db5318d727d017b763ea2cb01e6d)
-rw-r--r--src/intel/compiler/brw_nir_trig_workarounds.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/intel/compiler/brw_nir_trig_workarounds.py b/src/intel/compiler/brw_nir_trig_workarounds.py
index d60e094c625..dddadc71da2 100644
--- a/src/intel/compiler/brw_nir_trig_workarounds.py
+++ b/src/intel/compiler/brw_nir_trig_workarounds.py
@@ -37,8 +37,8 @@ import argparse
import sys
TRIG_WORKAROUNDS = [
- (('fsin', 'x'), ('fmul', ('fsin', 'x'), 0.99997)),
- (('fcos', 'x'), ('fmul', ('fcos', 'x'), 0.99997)),
+ (('fsin', 'x(is_not_const)'), ('fmul', ('fsin', 'x'), 0.99997)),
+ (('fcos', 'x(is_not_const)'), ('fmul', ('fcos', 'x'), 0.99997)),
]