Mesa (master): st/glsl_to_tgsi: don' t optimize mul+add to mad if expression is precise

Ilia Mirkin imirkin at kemper.freedesktop.org
Sat Jul 22 03:49:28 UTC 2017


Module: Mesa
Branch: master
Commit: 4ad9e2e17a8019b383d3664ca39ae3227aa3776d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4ad9e2e17a8019b383d3664ca39ae3227aa3776d

Author: Karol Herbst <karolherbst at gmail.com>
Date:   Fri Jun 23 20:30:26 2017 +0200

st/glsl_to_tgsi: don't optimize mul+add to mad if expression is precise

Signed-off-by: Karol Herbst <karolherbst at gmail.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

---

 src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
index c8f40c147d..baa835924b 100644
--- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
+++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
@@ -1557,7 +1557,7 @@ glsl_to_tgsi_visitor::visit(ir_expression *ir)
 
    /* Quick peephole: Emit MAD(a, b, c) instead of ADD(MUL(a, b), c)
     */
-   if (ir->operation == ir_binop_add) {
+   if (!this->precise && ir->operation == ir_binop_add) {
       if (try_emit_mad(ir, 1))
          return;
       if (try_emit_mad(ir, 0))




More information about the mesa-commit mailing list