Mesa (master): glsl_to_tgsi: don't create 64-bit integer MAD/FMA

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Oct 30 20:30:01 UTC 2018


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

Author: Rhys Perry <pendingchaos02 at gmail.com>
Date:   Sat Oct 20 14:54:10 2018 +0100

glsl_to_tgsi: don't create 64-bit integer MAD/FMA

TGSI has no I64MAD/U64MAD opcode.

Fixes: 278580729a5 ('st/glsl_to_tgsi: add support for 64-bit integers')
Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>

---

 src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
index ef3c370d4b..5322903b93 100644
--- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
+++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
@@ -1274,6 +1274,10 @@ glsl_to_tgsi_visitor::try_emit_mad(ir_expression *ir, int mul_operand)
    st_src_reg a, b, c;
    st_dst_reg result_dst;
 
+   // there is no TGSI opcode for this
+   if (ir->type->is_integer_64())
+      return false;
+
    ir_expression *expr = ir->operands[mul_operand]->as_expression();
    if (!expr || expr->operation != ir_binop_mul)
       return false;




More information about the mesa-commit mailing list