summaryrefslogtreecommitdiff
path: root/src/gallium/tests
diff options
context:
space:
mode:
authorJosé Fonseca <jfonseca@vmware.com>2013-04-22 15:28:32 +0100
committerJosé Fonseca <jfonseca@vmware.com>2013-04-22 18:23:42 +0100
commitc0538860bf656a1796b4a5c9c136c7d3517dfba6 (patch)
treef973e33ca878733b77283463c5981e6792c5210c /src/gallium/tests
parentec646e465493ffc12caeccad01a9333f82e85517 (diff)
gallivm: Fix assignment of unsigned values to OUT register.
TEMP is not the only register file that accept unsigned. OUT too. Actually, what determines the appropriate type of the destination value is not the opcode, but rather the register. Also cleanup/simplify code. Add a few more asserts, but also make code more robust by handling graceful if assert fails. This fixes segfault / assertion in the included vert-uadd.sh graw shader. Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Diffstat (limited to 'src/gallium/tests')
-rwxr-xr-xsrc/gallium/tests/graw/vertex-shader/vert-uadd.sh9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/gallium/tests/graw/vertex-shader/vert-uadd.sh b/src/gallium/tests/graw/vertex-shader/vert-uadd.sh
new file mode 100755
index 00000000000..d2a7a1b0aea
--- /dev/null
+++ b/src/gallium/tests/graw/vertex-shader/vert-uadd.sh
@@ -0,0 +1,9 @@
+VERT
+DCL IN[0]
+DCL IN[1]
+DCL OUT[0], GENERIC[0]
+DCL OUT[1], GENERIC[1]
+IMM[0] INT32 {1, 0, 0, 0}
+MOV OUT[0], IN[0]
+UADD OUT[1].x, IN[1].xxxx, IMM[0].xxxx
+END