1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
|
FRAG
PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1
DCL OUT[0], COLOR
DCL CONST[0..1]
DCL TEMP[0..6], LOCAL
IMM[0] FLT32 { 0.0000, 1.0000, 1.5708, -0.0310}
IMM[1] FLT32 { 0.0866, -0.2146, 0.0000, 3.1416}
IMM[2] FLT32 { -3.1416, 1.5708, 0.1592, 0.5000}
0: ABS TEMP[0].x, CONST[1].xxxx
1: ABS TEMP[1].x, CONST[0].xxxx
2: MUL TEMP[1].x, IMM[0].xxxx, TEMP[1].xxxx
3: SLT TEMP[0].x, TEMP[1].xxxx, TEMP[0].xxxx
4: IF TEMP[0].xxxx :0
5: RCP TEMP[0].x, CONST[1].xxxx
6: MUL TEMP[0].x, CONST[0].xxxx, TEMP[0].xxxx
7: MAD TEMP[1].x, TEMP[0].xxxx, TEMP[0].xxxx, IMM[0].yyyy
8: RSQ TEMP[1].x, TEMP[1].xxxx
9: MUL TEMP[0].x, TEMP[0].xxxx, TEMP[1].xxxx
10: SSG TEMP[1].x, TEMP[0].xxxx
11: ABS TEMP[2].x, TEMP[0].xxxx
12: ADD TEMP[2].x, IMM[0].yyyy, -TEMP[2].xxxx
13: SQRT TEMP[2].x, TEMP[2].xxxx
14: ABS TEMP[3].x, TEMP[0].xxxx
15: ABS TEMP[4].x, TEMP[0].xxxx
16: ABS TEMP[5].x, TEMP[0].xxxx
17: MAD TEMP[5].x, TEMP[5].xxxx, IMM[0].wwww, IMM[1].xxxx
18: MAD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx, IMM[1].yyyy
19: MAD TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx, IMM[0].zzzz
20: MUL TEMP[2].x, TEMP[2].xxxx, TEMP[3].xxxx
21: ADD TEMP[2].x, IMM[0].zzzz, -TEMP[2].xxxx
22: MUL TEMP[0].x, TEMP[1].xxxx, TEMP[2].xxxx
23: SLT TEMP[1].x, CONST[1].xxxx, IMM[1].zzzz
24: IF TEMP[1].xxxx :0
25: SGE TEMP[1].x, CONST[0].xxxx, IMM[1].zzzz
26: IF TEMP[1].xxxx :0
27: ADD TEMP[0].x, TEMP[0].xxxx, IMM[1].wwww
28: ELSE :0
29: ADD TEMP[0].x, TEMP[0].xxxx, IMM[2].xxxx
30: ENDIF
31: ENDIF
32: ELSE :0
33: SSG TEMP[1].x, CONST[0].xxxx
34: MUL TEMP[0].x, TEMP[1].xxxx, IMM[2].yyyy
35: ENDIF
36: MOV TEMP[1].x, TEMP[0].xxxx
37: ABS TEMP[2].x, CONST[1].yyyy
38: ABS TEMP[3].x, CONST[0].yyyy
39: MUL TEMP[3].x, IMM[0].xxxx, TEMP[3].xxxx
40: SLT TEMP[2].x, TEMP[3].xxxx, TEMP[2].xxxx
41: IF TEMP[2].xxxx :0
42: RCP TEMP[2].x, CONST[1].yyyy
43: MUL TEMP[2].x, CONST[0].yyyy, TEMP[2].xxxx
44: MAD TEMP[3].x, TEMP[2].xxxx, TEMP[2].xxxx, IMM[0].yyyy
45: RSQ TEMP[3].x, TEMP[3].xxxx
46: MUL TEMP[0].x, TEMP[2].xxxx, TEMP[3].xxxx
47: SSG TEMP[2].x, TEMP[0].xxxx
48: ABS TEMP[3].x, TEMP[0].xxxx
49: ADD TEMP[3].x, IMM[0].yyyy, -TEMP[3].xxxx
50: SQRT TEMP[3].x, TEMP[3].xxxx
51: ABS TEMP[4].x, TEMP[0].xxxx
52: ABS TEMP[5].x, TEMP[0].xxxx
53: ABS TEMP[6].x, TEMP[0].xxxx
54: MAD TEMP[6].x, TEMP[6].xxxx, IMM[0].wwww, IMM[1].xxxx
55: MAD TEMP[5].x, TEMP[5].xxxx, TEMP[6].xxxx, IMM[1].yyyy
56: MAD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx, IMM[0].zzzz
57: MUL TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx
58: ADD TEMP[3].x, IMM[0].zzzz, -TEMP[3].xxxx
59: MUL TEMP[0].x, TEMP[2].xxxx, TEMP[3].xxxx
60: SLT TEMP[2].x, CONST[1].yyyy, IMM[1].zzzz
61: IF TEMP[2].xxxx :0
62: SGE TEMP[2].x, CONST[0].yyyy, IMM[1].zzzz
63: IF TEMP[2].xxxx :0
64: ADD TEMP[0].x, TEMP[0].xxxx, IMM[1].wwww
65: ELSE :0
66: ADD TEMP[0].x, TEMP[0].xxxx, IMM[2].xxxx
67: ENDIF
68: ENDIF
69: ELSE :0
70: SSG TEMP[2].x, CONST[0].yyyy
71: MUL TEMP[0].x, TEMP[2].xxxx, IMM[2].yyyy
72: ENDIF
73: MOV TEMP[1].y, TEMP[0].xxxx
74: ABS TEMP[2].x, CONST[1].zzzz
75: ABS TEMP[3].x, CONST[0].zzzz
76: MUL TEMP[3].x, IMM[0].xxxx, TEMP[3].xxxx
77: SLT TEMP[2].x, TEMP[3].xxxx, TEMP[2].xxxx
78: IF TEMP[2].xxxx :0
79: RCP TEMP[2].x, CONST[1].zzzz
80: MUL TEMP[2].x, CONST[0].zzzz, TEMP[2].xxxx
81: MAD TEMP[3].x, TEMP[2].xxxx, TEMP[2].xxxx, IMM[0].yyyy
82: RSQ TEMP[3].x, TEMP[3].xxxx
83: MUL TEMP[0].x, TEMP[2].xxxx, TEMP[3].xxxx
84: SSG TEMP[2].x, TEMP[0].xxxx
85: ABS TEMP[3].x, TEMP[0].xxxx
86: ADD TEMP[3].x, IMM[0].yyyy, -TEMP[3].xxxx
87: SQRT TEMP[3].x, TEMP[3].xxxx
88: ABS TEMP[4].x, TEMP[0].xxxx
89: ABS TEMP[5].x, TEMP[0].xxxx
90: ABS TEMP[6].x, TEMP[0].xxxx
91: MAD TEMP[6].x, TEMP[6].xxxx, IMM[0].wwww, IMM[1].xxxx
92: MAD TEMP[5].x, TEMP[5].xxxx, TEMP[6].xxxx, IMM[1].yyyy
93: MAD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx, IMM[0].zzzz
94: MUL TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx
95: ADD TEMP[3].x, IMM[0].zzzz, -TEMP[3].xxxx
96: MUL TEMP[0].x, TEMP[2].xxxx, TEMP[3].xxxx
97: SLT TEMP[2].x, CONST[1].zzzz, IMM[1].zzzz
98: IF TEMP[2].xxxx :0
99: SGE TEMP[2].x, CONST[0].zzzz, IMM[1].zzzz
100: IF TEMP[2].xxxx :0
101: ADD TEMP[0].x, TEMP[0].xxxx, IMM[1].wwww
102: ELSE :0
103: ADD TEMP[0].x, TEMP[0].xxxx, IMM[2].xxxx
104: ENDIF
105: ENDIF
106: ELSE :0
107: SSG TEMP[2].x, CONST[0].zzzz
108: MUL TEMP[0].x, TEMP[2].xxxx, IMM[2].yyyy
109: ENDIF
110: MOV TEMP[1].z, TEMP[0].xxxx
111: ABS TEMP[2].x, CONST[1].wwww
112: ABS TEMP[3].x, CONST[0].wwww
113: MUL TEMP[3].x, IMM[0].xxxx, TEMP[3].xxxx
114: SLT TEMP[2].x, TEMP[3].xxxx, TEMP[2].xxxx
115: IF TEMP[2].xxxx :0
116: RCP TEMP[2].x, CONST[1].wwww
117: MUL TEMP[2].x, CONST[0].wwww, TEMP[2].xxxx
118: MAD TEMP[3].x, TEMP[2].xxxx, TEMP[2].xxxx, IMM[0].yyyy
119: RSQ TEMP[3].x, TEMP[3].xxxx
120: MUL TEMP[0].x, TEMP[2].xxxx, TEMP[3].xxxx
121: SSG TEMP[2].x, TEMP[0].xxxx
122: ABS TEMP[3].x, TEMP[0].xxxx
123: ADD TEMP[3].x, IMM[0].yyyy, -TEMP[3].xxxx
124: SQRT TEMP[3].x, TEMP[3].xxxx
125: ABS TEMP[4].x, TEMP[0].xxxx
126: ABS TEMP[5].x, TEMP[0].xxxx
127: ABS TEMP[6].x, TEMP[0].xxxx
128: MAD TEMP[6].x, TEMP[6].xxxx, IMM[0].wwww, IMM[1].xxxx
129: MAD TEMP[5].x, TEMP[5].xxxx, TEMP[6].xxxx, IMM[1].yyyy
130: MAD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx, IMM[0].zzzz
131: MUL TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx
132: ADD TEMP[3].x, IMM[0].zzzz, -TEMP[3].xxxx
133: MUL TEMP[0].x, TEMP[2].xxxx, TEMP[3].xxxx
134: SLT TEMP[2].x, CONST[1].wwww, IMM[1].zzzz
135: IF TEMP[2].xxxx :0
136: SGE TEMP[2].x, CONST[0].wwww, IMM[1].zzzz
137: IF TEMP[2].xxxx :0
138: ADD TEMP[0].x, TEMP[0].xxxx, IMM[1].wwww
139: ELSE :0
140: ADD TEMP[0].x, TEMP[0].xxxx, IMM[2].xxxx
141: ENDIF
142: ENDIF
143: ELSE :0
144: SSG TEMP[2].x, CONST[0].wwww
145: MUL TEMP[0].x, TEMP[2].xxxx, IMM[2].yyyy
146: ENDIF
147: MOV TEMP[1].w, TEMP[0].xxxx
148: MAD TEMP[0], TEMP[1], IMM[2].zzzz, IMM[2].wwww
149: MOV OUT[0], TEMP[0]
150: END
|