-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdxbc.txt
262 lines (252 loc) · 8.51 KB
/
dxbc.txt
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
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// no Input
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// no Output
cs_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB0[11], immediateIndexed
dcl_constantbuffer CB1[140], immediateIndexed
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texture2d (uint,uint,uint,uint) t1
dcl_resource_texture2d (float,float,float,float) t2
dcl_uav_typed_texture2d (float,float,float,float) u0
dcl_uav_typed_texture2d (float,float,float,float) u1
dcl_uav_typed_texture2d (float,float,float,float) u2
dcl_input vThreadGroupID.xy
dcl_input vThreadIDInGroup.xy
dcl_input vThreadID.xy
dcl_temps 10
dcl_tgsm_structured g0, 48, 12
dcl_tgsm_structured g1, 48, 12
dcl_tgsm_structured g2, 48, 12
dcl_tgsm_structured g3, 48, 12
dcl_tgsm_structured g4, 96, 12
dcl_thread_group 10, 10, 1
ftoi r0.xy, cb1[138].xyxx
iadd r1.xyzw, r0.xyyy, vThreadID.xyyy
iadd r0.z, vThreadIDInGroup.x, l(1)
itof r2.xy, r1.xwxx
add r3.xyzw, cb1[138].xyxy, cb1[139].xyxy
max r2.xy, r2.xyxx, cb1[138].xyxx
min r2.xy, r3.xyxx, r2.xyxx
ftoi r2.xy, r2.xyxx
mov r2.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r0.w, r2.xyww, t0.yzwx
ge r4.x, r0.w, l(0.875000)
mad r4.y, r0.w, l(8.000000), l(-7.000000)
movc r4.x, r4.x, r4.y, r0.w
mad r4.y, r4.x, cb1[65].x, cb1[65].y
mad r4.x, r4.x, cb1[65].z, -cb1[65].w
div r4.x, l(1.000000, 1.000000, 1.000000, 1.000000), r4.x
add r4.x, r4.x, r4.y
ld_indexable(texture2d)(uint,uint,uint,uint) r4.y, r2.xyww, t1.yxzw
ld_indexable(texture2d)(float,float,float,float) r2.xy, r2.xyzw, t2.xyzw
mad r2.xy, r2.xyxx, l(4.008016, 4.008016, 0.000000, 0.000000), l(-2.003978, -2.003978, 0.000000, 0.000000)
ishl r2.zw, vThreadIDInGroup.yyyy, l(0, 0, 2, 3)
iadd r4.zw, r2.zzzw, l(0, 0, 4, 8)
store_structured g1.x, r0.z, r4.z, r0.w
store_structured g0.x, r0.z, r4.z, r4.x
and r5.xy, r4.yyyy, l(2, 1, 0, 0)
ine r5.xy, r5.xyxx, l(0, 0, 0, 0)
store_structured g2.x, r0.z, r4.z, r5.x
store_structured g3.x, r0.z, r4.z, r5.y
store_structured g4.xy, r0.z, r4.w, r2.xyxx
//另一个像素
imad r0.xy, l(10, 10, 0, 0), vThreadGroupID.xyxx, r0.xyxx
iadd r0.xy, r0.xyxx, l(-1, -1, 0, 0)
imad r2.x, vThreadIDInGroup.y, l(10), vThreadIDInGroup.x
udiv r5.x, r6.x, r2.x, l(12)
mov r6.y, r5.x
iadd r5.yz, r0.xxyx, r6.xxyx
itof r5.yz, r5.yyzy
max r5.yz, r5.yyzy, cb1[138].xxyx
min r5.yz, r3.xxyx, r5.yyzy
ftoi r7.xy, r5.yzyy
mov r7.zw, l(0,0,0,0)
//.
ld_indexable(texture2d)(float,float,float,float) r2.y, r7.xyww, t0.yxzw
ge r4.y, r2.y, l(0.875000)
mad r5.y, r2.y, l(8.000000), l(-7.000000)
movc r4.y, r4.y, r5.y, r2.y
mad r5.y, r4.y, cb1[65].x, cb1[65].y
mad r4.y, r4.y, cb1[65].z, -cb1[65].w
div r4.y, l(1.000000, 1.000000, 1.000000, 1.000000), r4.y
add r4.y, r4.y, r5.y
ld_indexable(texture2d)(uint,uint,uint,uint) r5.y, r7.xyww, t1.yxzw
ld_indexable(texture2d)(float,float,float,float) r5.zw, r7.xyzw, t2.zwxy
mad r5.zw, r5.zzzw, l(0.000000, 0.000000, 4.008016, 4.008016), l(0.000000, 0.000000, -2.003978, -2.003978)
ishl r6.yz, r5.xxxx, l(0, 2, 3, 0)
store_structured g1.x, r6.x, r6.y, r2.y
store_structured g0.x, r6.x, r6.y, r4.y
and r5.xy, r5.yyyy, l(2, 1, 0, 0)
ine r5.xy, r5.xyxx, l(0, 0, 0, 0)
store_structured g2.x, r6.x, r6.y, r5.x
store_structured g3.x, r6.x, r6.y, r5.y
store_structured g4.xy, r6.x, r6.z, r5.zwzz
iadd r2.x, r2.x, l(100)
ilt r2.y, r2.x, l(144)
if_nz r2.y
udiv r2.x, r5.x, r2.x, l(12)
mov r5.y, r2.x
iadd r0.xy, r0.xyxx, r5.xyxx
itof r0.xy, r0.xyxx
max r0.xy, r0.xyxx, cb1[138].xyxx
min r0.xy, r3.xyxx, r0.xyxx
ftoi r6.xy, r0.xyxx
mov r6.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r0.x, r6.xyww, t0.xyzw
ge r0.y, r0.x, l(0.875000)
mad r2.y, r0.x, l(8.000000), l(-7.000000)
movc r0.y, r0.y, r2.y, r0.x
mad r2.y, r0.y, cb1[65].x, cb1[65].y
mad r0.y, r0.y, cb1[65].z, -cb1[65].w
div r0.y, l(1.000000, 1.000000, 1.000000, 1.000000), r0.y
add r0.y, r0.y, r2.y
ld_indexable(texture2d)(uint,uint,uint,uint) r2.y, r6.xyww, t1.yxzw
ld_indexable(texture2d)(float,float,float,float) r5.yz, r6.xyzw, t2.zxyw
mad r5.yz, r5.yyzy, l(0.000000, 4.008016, 4.008016, 0.000000), l(0.000000, -2.003978, -2.003978, 0.000000)
ishl r6.xy, r2.xxxx, l(2, 3, 0, 0)
store_structured g1.x, r5.x, r6.x, r0.x
store_structured g0.x, r5.x, r6.x, r0.y
and r0.xy, r2.yyyy, l(2, 1, 0, 0)
ine r0.xy, r0.xyxx, l(0, 0, 0, 0)
store_structured g2.x, r5.x, r6.x, r0.x
store_structured g3.x, r5.x, r6.x, r0.y
store_structured g4.xy, r5.x, r6.y, r5.yzyy
endif
sync_g_t
ftou r0.xy, cb1[139].xyxx
ult r0.xy, r0.xyxx, vThreadID.xyxx
or r0.x, r0.y, r0.x
if_nz r0.x
ret
endif
iadd r5.xyzw, r1.xwxw, l(-2, -2, 2, 2)
itof r5.xyzw, r5.xyzw
ge r6.xyzw, r5.xyzw, cb1[138].xyxy
and r0.xy, r6.ywyy, r6.xzxx
ge r3.xyzw, r3.xyzw, r5.xyzw
and r2.xy, r3.ywyy, r3.xzxx
and r0.xy, r0.xyxx, r2.xyxx
not r0.xy, r0.xyxx
or r0.x, r0.y, r0.x
if_nz r0.x
store_uav_typed u0.xyzw, r1.xwww, l(1.000000,1.000000,1.000000,1.000000)
store_uav_typed u1.xyzw, r1.xwww, l(0,0,0,0)
ret
endif
//
ld_structured r0.x, r0.z, r4.z, g2.xxxx
iadd r0.y, r2.z, l(8)
iadd r3.xyzw, vThreadIDInGroup.xyxy, l(2, 0, 1, 0)
ishl r2.xy, r3.ywyy, l(2, 2, 0, 0)
ld_structured r5.y, r3.x, r2.x, g3.xxxx
ld_structured r6.xy, r3.x, r4.z, g3.xyxx
ld_structured r7.xyz, vThreadIDInGroup.x, r2.z, g3.xyzx
ld_structured r8.x, r0.z, r0.y, g3.xxxx
ld_structured r8.y, r3.z, r2.y, g3.xxxx
mov r7.w, r6.y
mov r5.x, r7.z
or r5.xy, r5.xyxx, r7.xwxx
or r4.y, r5.y, r5.x
mov r6.z, r7.y
or r5.xy, r6.xzxx, r8.xyxx
or r5.x, r5.y, r5.x
or r4.y, r4.y, r5.x
if_nz r4.y
ld_structured r5.xy, vThreadIDInGroup.x, r2.w, g4.xyxx
iadd r2.w, r2.w, l(16)
ishl r3.yw, r3.yyyw, l(0, 3, 0, 3)
ld_structured r5.zw, r3.x, r3.y, g4.xxxy
ld_structured r6.xyzw, r3.x, r4.w, g4.xyzw
ld_structured r7.xyzw, vThreadIDInGroup.x, r4.w, g4.xyzw
ld_structured r8.xy, r0.z, r2.w, g4.xyxx
ld_structured r3.yw, r3.z, r3.w, g4.xxxy
max r5.xy, r5.xyxx, r6.zwzz
max r5.xy, r7.zwzz, r5.xyxx
max r5.xy, r5.zwzz, r5.xyxx
max r5.zw, r6.xxxy, r7.xxxy
max r5.zw, r8.xxxy, r5.zzzw
max r3.yw, r3.yyyw, r5.zzzw
max r3.yw, r5.xxxy, r3.yyyw
mad r3.yw, r3.yyyw, l(0.000000, 0.249500, 0.000000, 0.249500), l(0.000000, 0.499992, 0.000000, 0.499992)
else
mov r3.yw, l(0,0,0,0)
endif
movc r0.x, r4.y, l(0), r0.x
if_nz r0.x
store_uav_typed u0.xyzw, r1.xwww, l(1.000000,1.000000,1.000000,1.000000)
store_uav_typed u1.xyzw, r1.xwww, r0.wwww
store_uav_typed u2.xyzw, r1.xwww, l(0,0,0,0)
ret
endif
mul r0.x, cb1[139].y, cb1[139].z
mul r0.x, r0.x, l(1.777778)
ld_structured r5.z, r3.x, r2.x, g1.xxxx
ld_structured r6.xyz, vThreadIDInGroup.x, r2.z, g1.xyzx
ld_structured r7.xy, r3.x, r4.z, g1.yxxx
ld_structured r7.z, r3.z, r2.y, g1.xxxx
ld_structured r7.w, r0.z, r0.y, g1.xxxx
mov r5.xw, r6.xxxz
mov r5.y, r7.x
mov r7.x, r6.y
max r5.xyzw, r5.xyzw, r7.xyzw
max r5.xy, r5.zwzz, r5.xyxx
max r2.w, r5.y, r5.x
ld_structured r5.z, r3.x, r2.x, g0.xxxx
ld_structured r6.xyz, vThreadIDInGroup.x, r2.z, g0.xyzx
ld_structured r7.xy, r3.x, r4.z, g0.yxxx
ld_structured r7.z, r3.z, r2.y, g0.xxxx
ld_structured r7.w, r0.z, r0.y, g0.xxxx
mov r5.xw, r6.xxxz
mov r5.y, r7.x
lt r8.xyzw, r4.xxxx, r5.xyzw
movc r8.xyzw, r8.xyzw, r5.xyzw, r4.xxxx
mov r7.x, r6.y
lt r6.xyzw, r4.xxxx, r7.xyzw
movc r6.xyzw, r6.xyzw, r7.xyzw, r4.xxxx
lt r9.xyzw, r5.xyzw, r4.xxxx
movc r5.xyzw, r9.xyzw, r5.xyzw, r4.xxxx
lt r9.xyzw, r7.xyzw, r4.xxxx
movc r7.xyzw, r9.xyzw, r7.xyzw, r4.xxxx
movc r5.xyzw, r4.yyyy, r5.xyzw, r8.xyzw
movc r6.xyzw, r4.yyyy, r7.xyzw, r6.xyzw
add r5.xyzw, -r4.xxxx, r5.xyzw
add r6.xyzw, -r4.xxxx, r6.xyzw
div r5.xyzw, r5.xyzw, r4.xxxx
div r6.xyzw, r6.xyzw, r4.xxxx
mul r7.xyzw, r5.xyzw, cb0[1].xyzw
mul r8.xyzw, r6.xyzw, cb0[2].xyzw
mul r8.xyzw, r0.xxxx, r8.xyzw
mad r7.xyzw, r7.xyzw, r0.xxxx, r8.xyzw
mul r6.xyzw, r6.xyzw, cb0[4].xyzw
mad r5.xyzw, r5.xyzw, cb0[3].xyzw, r6.xyzw
dp4 r0.x, |r7.xyzw|, l(1.000000, 1.000000, 1.000000, 1.000000)
dp4 r0.y, |r5.xyzw|, l(1.000000, 1.000000, 1.000000, 1.000000)
mul r0.y, r0.y, r0.y
mad r0.x, r0.x, r0.x, r0.y
sqrt r0.x, r0.x
min r0.x, r0.x, l(1.000000)
log r0.x, r0.x
mul r0.x, r0.x, cb0[10].z
exp r0.x, r0.x
add r0.x, -r0.x, l(1.000000)
max r5.xzw, r0.xxxx, l(0.000000, 0.000000, 0.000000, 0.000000)
mov r5.y, l(1.000000)
store_uav_typed u0.xyzw, r1.xwww, r5.xyzw
movc r0.x, r4.y, r2.w, r0.w
store_uav_typed u1.xyzw, r1.xwww, r0.xxxx
store_uav_typed u2.xyzw, r1.xyzw, r3.ywyy
ret
// Approximately 0 instruction slots used