summaryrefslogtreecommitdiff
path: root/tgsi/ChameleonMan-vert.tgsi
diff options
context:
space:
mode:
authorRob Clark <robdclark@gmail.com>2014-10-24 17:40:58 -0400
committerRob Clark <robdclark@gmail.com>2014-10-25 09:01:44 -0400
commitcf4bea026d46c8fce483cf81f5b1ef56c385fb04 (patch)
tree70eee4700c41ced88a38582337d2f8900c5d1745 /tgsi/ChameleonMan-vert.tgsi
initial commit
Diffstat (limited to 'tgsi/ChameleonMan-vert.tgsi')
-rw-r--r--tgsi/ChameleonMan-vert.tgsi186
1 files changed, 186 insertions, 0 deletions
diff --git a/tgsi/ChameleonMan-vert.tgsi b/tgsi/ChameleonMan-vert.tgsi
new file mode 100644
index 0000000..539ec1d
--- /dev/null
+++ b/tgsi/ChameleonMan-vert.tgsi
@@ -0,0 +1,186 @@
+VERT
+DCL IN[0]
+DCL IN[1]
+DCL IN[2]
+DCL IN[3]
+DCL IN[4]
+DCL IN[5]
+DCL IN[6]
+DCL OUT[0], POSITION
+DCL OUT[1], GENERIC[20]
+DCL OUT[2], GENERIC[21]
+DCL CONST[0..62]
+DCL TEMP[0..3], LOCAL
+DCL TEMP[4..7], ARRAY(1), LOCAL
+DCL TEMP[8..11], ARRAY(2), LOCAL
+DCL TEMP[12..14], ARRAY(3), LOCAL
+DCL TEMP[15..17], ARRAY(4), LOCAL
+DCL TEMP[18..21], LOCAL
+DCL ADDR[0]
+IMM[0] FLT32 { 0.0000, 4.0000, 3.0000, 1.0000}
+IMM[1] FLT32 { 2.0000, 0.0000, 0.0000, 0.0000}
+ 0: SLT TEMP[0].x, IMM[0].xxxx, CONST[5].xxxx
+ 1: IF TEMP[0].xxxx :0
+ 2: TRUNC TEMP[0], IN[6]
+ 3: MOV TEMP[1], TEMP[0]
+ 4: MOV TEMP[2], IN[5]
+ 5: MUL TEMP[3].x, TEMP[0].xxxx, IMM[0].yyyy
+ 6: ARL ADDR[0].x, TEMP[3].xxxx
+ 7: MOV TEMP[4], CONST[ADDR[0].x+6]
+ 8: ARL ADDR[0].x, TEMP[3].xxxx
+ 9: MOV TEMP[5], CONST[ADDR[0].x+7]
+ 10: ARL ADDR[0].x, TEMP[3].xxxx
+ 11: MOV TEMP[6], CONST[ADDR[0].x+8]
+ 12: ARL ADDR[0].x, TEMP[3].xxxx
+ 13: MOV TEMP[7], CONST[ADDR[0].x+9]
+ 14: MOV TEMP[8], TEMP[4]
+ 15: MOV TEMP[9], TEMP[5]
+ 16: MOV TEMP[10], TEMP[6]
+ 17: MOV TEMP[11], TEMP[7]
+ 18: MUL TEMP[3].x, TEMP[0].xxxx, IMM[0].zzzz
+ 19: ARL ADDR[0].x, TEMP[3].xxxx
+ 20: MOV TEMP[12].xyz, CONST[ADDR[0].x+38].xyzx
+ 21: ARL ADDR[0].x, TEMP[3].xxxx
+ 22: MOV TEMP[13].xyz, CONST[ADDR[0].x+39].xyzx
+ 23: ARL ADDR[0].x, TEMP[3].xxxx
+ 24: MOV TEMP[14].xyz, CONST[ADDR[0].x+40].xyzx
+ 25: MOV TEMP[15], TEMP[12].xyzz
+ 26: MOV TEMP[16], TEMP[13].xyzz
+ 27: MOV TEMP[17], TEMP[14].xyzz
+ 28: MUL TEMP[3], TEMP[4], IN[0].xxxx
+ 29: MAD TEMP[3], TEMP[5], IN[0].yyyy, TEMP[3]
+ 30: MAD TEMP[3], TEMP[6], IN[0].zzzz, TEMP[3]
+ 31: ADD TEMP[3], TEMP[3], TEMP[7]
+ 32: MUL TEMP[3], TEMP[3], IN[5].xxxx
+ 33: MUL TEMP[18].xyz, TEMP[12].xyzz, IN[1].xxxx
+ 34: MAD TEMP[18].xyz, TEMP[13].xyzz, IN[1].yyyy, TEMP[18].xyzz
+ 35: MAD TEMP[18].xyz, TEMP[14].xyzz, IN[1].zzzz, TEMP[18].xyzz
+ 36: MUL TEMP[18].xyz, TEMP[18].xyzz, IN[5].xxxx
+ 37: IF CONST[62].xxxx :0
+ 38: MUL TEMP[19].xyz, TEMP[12].xyzz, IN[2].xxxx
+ 39: MAD TEMP[19].xyz, TEMP[13].xyzz, IN[2].yyyy, TEMP[19].xyzz
+ 40: MAD TEMP[19].xyz, TEMP[14].xyzz, IN[2].zzzz, TEMP[19].xyzz
+ 41: MUL TEMP[19].xyz, TEMP[19].xyzz, IN[5].xxxx
+ 42: MUL TEMP[20].xyz, TEMP[12].xyzz, IN[3].xxxx
+ 43: MAD TEMP[20].xyz, TEMP[13].xyzz, IN[3].yyyy, TEMP[20].xyzz
+ 44: MAD TEMP[20].xyz, TEMP[14].xyzz, IN[3].zzzz, TEMP[20].xyzz
+ 45: MUL TEMP[20].xyz, TEMP[20].xyzz, IN[5].xxxx
+ 46: ENDIF
+ 47: SLT TEMP[21].x, IMM[0].wwww, CONST[5].xxxx
+ 48: IF TEMP[21].xxxx :0
+ 49: MOV TEMP[1], TEMP[0].yzwx
+ 50: MOV TEMP[2], IN[5].yzwx
+ 51: MUL TEMP[21].x, TEMP[0].yyyy, IMM[0].yyyy
+ 52: ARL ADDR[0].x, TEMP[21].xxxx
+ 53: MOV TEMP[8], CONST[ADDR[0].x+6]
+ 54: ARL ADDR[0].x, TEMP[21].xxxx
+ 55: MOV TEMP[9], CONST[ADDR[0].x+7]
+ 56: ARL ADDR[0].x, TEMP[21].xxxx
+ 57: MOV TEMP[10], CONST[ADDR[0].x+8]
+ 58: ARL ADDR[0].x, TEMP[21].xxxx
+ 59: MOV TEMP[11], CONST[ADDR[0].x+9]
+ 60: MUL TEMP[0].x, TEMP[0].yyyy, IMM[0].zzzz
+ 61: ARL ADDR[0].x, TEMP[0].xxxx
+ 62: MOV TEMP[15], CONST[ADDR[0].x+38]
+ 63: ARL ADDR[0].x, TEMP[0].xxxx
+ 64: MOV TEMP[16], CONST[ADDR[0].x+39]
+ 65: ARL ADDR[0].x, TEMP[0].xxxx
+ 66: MOV TEMP[17], CONST[ADDR[0].x+40]
+ 67: MUL TEMP[0], TEMP[8], IN[0].xxxx
+ 68: MAD TEMP[0], TEMP[9], IN[0].yyyy, TEMP[0]
+ 69: MAD TEMP[0], TEMP[10], IN[0].zzzz, TEMP[0]
+ 70: ADD TEMP[0], TEMP[0], TEMP[11]
+ 71: MAD TEMP[3], TEMP[0], IN[5].yyyy, TEMP[3]
+ 72: MUL TEMP[0].xyz, TEMP[15].xyzz, IN[1].xxxx
+ 73: MAD TEMP[0].xyz, TEMP[16].xyzz, IN[1].yyyy, TEMP[0].xyzz
+ 74: MAD TEMP[0].xyz, TEMP[17].xyzz, IN[1].zzzz, TEMP[0].xyzz
+ 75: MAD TEMP[18].xyz, TEMP[0].xyzz, IN[5].yyyy, TEMP[18].xyzz
+ 76: IF CONST[62].xxxx :0
+ 77: MUL TEMP[0].xyz, TEMP[15].xyzz, IN[2].xxxx
+ 78: MAD TEMP[0].xyz, TEMP[16].xyzz, IN[2].yyyy, TEMP[0].xyzz
+ 79: MAD TEMP[0].xyz, TEMP[17].xyzz, IN[2].zzzz, TEMP[0].xyzz
+ 80: MAD TEMP[19].xyz, TEMP[0].xyzz, IN[5].yyyy, TEMP[19].xyzz
+ 81: MUL TEMP[0].xyz, TEMP[15].xyzz, IN[3].xxxx
+ 82: MAD TEMP[0].xyz, TEMP[16].xyzz, IN[3].yyyy, TEMP[0].xyzz
+ 83: MAD TEMP[0].xyz, TEMP[17].xyzz, IN[3].zzzz, TEMP[0].xyzz
+ 84: MAD TEMP[20].xyz, TEMP[0].xyzz, IN[5].yyyy, TEMP[20].xyzz
+ 85: ENDIF
+ 86: ENDIF
+ 87: SLT TEMP[0].x, IMM[1].xxxx, CONST[5].xxxx
+ 88: IF TEMP[0].xxxx :0
+ 89: MOV TEMP[1].x, TEMP[1].yzwx
+ 90: MOV TEMP[2].x, TEMP[2].yzwx
+ 91: MUL TEMP[0].x, TEMP[1].xxxx, IMM[0].yyyy
+ 92: ARL ADDR[0].x, TEMP[0].xxxx
+ 93: MOV TEMP[8], CONST[ADDR[0].x+6]
+ 94: ARL ADDR[0].x, TEMP[0].xxxx
+ 95: MOV TEMP[9], CONST[ADDR[0].x+7]
+ 96: ARL ADDR[0].x, TEMP[0].xxxx
+ 97: MOV TEMP[10], CONST[ADDR[0].x+8]
+ 98: ARL ADDR[0].x, TEMP[0].xxxx
+ 99: MOV TEMP[11], CONST[ADDR[0].x+9]
+100: MUL TEMP[0].x, TEMP[1].xxxx, IMM[0].zzzz
+101: ARL ADDR[0].x, TEMP[0].xxxx
+102: MOV TEMP[15], CONST[ADDR[0].x+38]
+103: ARL ADDR[0].x, TEMP[0].xxxx
+104: MOV TEMP[16], CONST[ADDR[0].x+39]
+105: ARL ADDR[0].x, TEMP[0].xxxx
+106: MOV TEMP[17], CONST[ADDR[0].x+40]
+107: MUL TEMP[0], TEMP[8], IN[0].xxxx
+108: MAD TEMP[0], TEMP[9], IN[0].yyyy, TEMP[0]
+109: MAD TEMP[0], TEMP[10], IN[0].zzzz, TEMP[0]
+110: ADD TEMP[0], TEMP[0], TEMP[11]
+111: MAD TEMP[3], TEMP[0], TEMP[2].xxxx, TEMP[3]
+112: MUL TEMP[0].xyz, TEMP[15].xyzz, IN[1].xxxx
+113: MAD TEMP[0].xyz, TEMP[16].xyzz, IN[1].yyyy, TEMP[0].xyzz
+114: MAD TEMP[0].xyz, TEMP[17].xyzz, IN[1].zzzz, TEMP[0].xyzz
+115: MAD TEMP[18].xyz, TEMP[0].xyzz, TEMP[2].xxxx, TEMP[18].xyzz
+116: IF CONST[62].xxxx :0
+117: MUL TEMP[0].xyz, TEMP[15].xyzz, IN[2].xxxx
+118: MAD TEMP[0].xyz, TEMP[16].xyzz, IN[2].yyyy, TEMP[0].xyzz
+119: MAD TEMP[0].xyz, TEMP[17].xyzz, IN[2].zzzz, TEMP[0].xyzz
+120: MAD TEMP[19].xyz, TEMP[0].xyzz, TEMP[2].xxxx, TEMP[19].xyzz
+121: MUL TEMP[0].xyz, TEMP[15].xyzz, IN[3].xxxx
+122: MAD TEMP[0].xyz, TEMP[16].xyzz, IN[3].yyyy, TEMP[0].xyzz
+123: MAD TEMP[0].xyz, TEMP[17].xyzz, IN[3].zzzz, TEMP[0].xyzz
+124: MAD TEMP[20].xyz, TEMP[0].xyzz, TEMP[2].xxxx, TEMP[20].xyzz
+125: ENDIF
+126: ENDIF
+127: MUL TEMP[0], CONST[0], TEMP[3].xxxx
+128: MAD TEMP[0], CONST[1], TEMP[3].yyyy, TEMP[0]
+129: MAD TEMP[0], CONST[2], TEMP[3].zzzz, TEMP[0]
+130: MAD TEMP[0], CONST[3], TEMP[3].wwww, TEMP[0]
+131: ADD TEMP[1].xyz, CONST[4].xyzz, -TEMP[3].xyzz
+132: DP3 TEMP[2].x, TEMP[1].xyzz, TEMP[1].xyzz
+133: RSQ TEMP[2].x, TEMP[2].xxxx
+134: MUL TEMP[1].xyz, TEMP[1].xyzz, TEMP[2].xxxx
+135: IF CONST[62].xxxx :0
+136: DP3 TEMP[2].x, TEMP[19].xyzz, TEMP[19].xyzz
+137: RSQ TEMP[2].x, TEMP[2].xxxx
+138: MUL TEMP[2].xyz, TEMP[19].xyzz, TEMP[2].xxxx
+139: DP3 TEMP[2].x, TEMP[2].xyzz, TEMP[1].xyzz
+140: DP3 TEMP[3].x, TEMP[20].xyzz, TEMP[20].xyzz
+141: RSQ TEMP[3].x, TEMP[3].xxxx
+142: MUL TEMP[3].xyz, TEMP[20].xyzz, TEMP[3].xxxx
+143: DP3 TEMP[3].x, TEMP[3].xyzz, TEMP[1].xyzz
+144: MOV TEMP[2].y, TEMP[3].xxxx
+145: DP3 TEMP[3].x, TEMP[18].xyzz, TEMP[18].xyzz
+146: RSQ TEMP[3].x, TEMP[3].xxxx
+147: MUL TEMP[3].xyz, TEMP[18].xyzz, TEMP[3].xxxx
+148: DP3 TEMP[3].x, TEMP[3].xyzz, TEMP[1].xyzz
+149: MOV TEMP[2].z, TEMP[3].xxxx
+150: ELSE :0
+151: DP3 TEMP[3].x, TEMP[18].xyzz, TEMP[18].xyzz
+152: RSQ TEMP[3].x, TEMP[3].xxxx
+153: MUL TEMP[3].xyz, TEMP[18].xyzz, TEMP[3].xxxx
+154: DP3 TEMP[2].x, TEMP[3].xyzz, TEMP[1].xyzz
+155: ENDIF
+156: ENDIF
+157: MOV TEMP[1].zw, TEMP[2].yyxy
+158: MOV TEMP[2].x, TEMP[2].zzzz
+159: MOV TEMP[1].xy, IN[4].xyxx
+160: MOV OUT[1], TEMP[1]
+161: MOV OUT[2], TEMP[2]
+162: MOV OUT[0], TEMP[0]
+163: END
+