diff options
author | Rob Clark <robdclark@gmail.com> | 2014-10-24 17:40:58 -0400 |
---|---|---|
committer | Rob Clark <robdclark@gmail.com> | 2014-10-25 09:01:44 -0400 |
commit | cf4bea026d46c8fce483cf81f5b1ef56c385fb04 (patch) | |
tree | 70eee4700c41ced88a38582337d2f8900c5d1745 /tgsi/ChameleonMan-vert.tgsi |
initial commit
Diffstat (limited to 'tgsi/ChameleonMan-vert.tgsi')
-rw-r--r-- | tgsi/ChameleonMan-vert.tgsi | 186 |
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 + |