summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/tgsi/tgsi_info.c
diff options
context:
space:
mode:
authorJosé Fonseca <jfonseca@vmware.com>2012-02-20 20:49:03 +0000
committerJosé Fonseca <jfonseca@vmware.com>2012-02-21 08:23:20 +0000
commita206c4cd69a881bf3f8d960607d604b6d53e3a26 (patch)
treee1e18c312b31b5615c30af316505a2f993cde919 /src/gallium/auxiliary/tgsi/tgsi_info.c
parentd394bc5853f70f5a2d4c4b396e55b96c1ba63be7 (diff)
downloadexternal_mesa3d-a206c4cd69a881bf3f8d960607d604b6d53e3a26.zip
external_mesa3d-a206c4cd69a881bf3f8d960607d604b6d53e3a26.tar.gz
external_mesa3d-a206c4cd69a881bf3f8d960607d604b6d53e3a26.tar.bz2
gallivm: Fix TGSI_OPCODE_ARR's translation.
Like TGSI_OPCODE_ARL, destination should be an integer. This fixes invalid LLVM IR on an internal state tracker (currently Mesa never emits this opcode). In the future consider making ADDR register also a integer-as-float array, like all other register kinds, or simply replace ADDR & ARR/ARL with integer temp and instructions. Reviewed-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'src/gallium/auxiliary/tgsi/tgsi_info.c')
-rw-r--r--src/gallium/auxiliary/tgsi/tgsi_info.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/tgsi/tgsi_info.c b/src/gallium/auxiliary/tgsi/tgsi_info.c
index a44f48c..81df96b 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_info.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_info.c
@@ -333,6 +333,7 @@ tgsi_opcode_infer_dst_type( uint opcode )
case TGSI_OPCODE_MOD:
case TGSI_OPCODE_UARL:
case TGSI_OPCODE_ARL:
+ case TGSI_OPCODE_ARR:
case TGSI_OPCODE_IABS:
case TGSI_OPCODE_ISSG:
return TGSI_TYPE_SIGNED;