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
|
--- a/volume_upsample2.asm 2026-03-16 15:19:50.820204181 -0400
+++ b/volume_upsample2.asm 2026-03-16 15:19:31.707007465 -0400
@@ -254,103 +182,92 @@
else
mov r0.w, l(0)
endif
-if_nz r0.w
- utof r1.xy, r2.xyxx
- mul r1.xy, r1.xyxx, cb3[2].zwzz
- mul r1.xy, r1.xyxx, cb1[4].zzzz
- mad r1.zw, -cb1[1].zzzw, l(0.000000, 0.000000, 0.500000, 0.500000), cb1[4].zzzz
- max r1.xy, r1.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000)
- min r1.xy, r1.zwzz, r1.xyxx
- sample_l_indexable(texture2d)(float,float,float,float) r3.xyz, r1.xyxx, t1.xyzw, s0, l(0.000000)
- sample_l_indexable(texture2d)(float,float,float,float) r1.xyz, r1.xyxx, t2.xyzw, s0, l(0.000000)
+if_nz r0.z
+ iadd r0.xy, -r0.xyxx, r2.yxyy
+ mov r4.xy, vThreadID.xyxx
+ mov r4.zw, l(0,0,0,0)
+ ld_indexable(texture2d)(float,float,float,float) r0.z, r4.xyzw, t0.yzxw
+ not r4.xy, r0.xyxx
+ imad r0.y, r4.x, l(-9), r0.y
+ imad r0.w, r4.x, l(-9), -r4.y
+ ishl r0.w, r0.w, l(8)
+ or r0.w, r0.w, r0.y
+ imad r0.x, r0.x, l(9), -r4.y
+ ishl r0.xy, r0.xyxx, l(16, 24, 0, 0)
+ or r0.x, r0.x, r0.w
+ or r0.x, r0.y, r0.x
+ bfi r0.y, l(1), l(1), vThreadIDInGroup.y, l(0)
+ bfi r0.y, l(1), l(0), vThreadIDInGroup.x, r0.y
+ and r0.w, r0.x, l(255)
+ ld_structured r1.w, r0.w, l(0), g0.xxxx
+ add r1.w, r0.z, -r1.w
+ add r1.w, |r1.w|, l(1.192092896E-07)
+ iadd r3.w, -r1.w, l(0x7ef312ac)
+ mad r4.x, -r3.w, r1.w, l(2.000000)
+ mul r3.w, r3.w, r4.x
+ mad r1.w, -r3.w, r1.w, l(2.000000)
+ mul r1.w, r1.w, r3.w
+ mul r3.w, r1.w, icb[r0.y + 0].x
+ ld_structured r4.xyz, r0.w, l(0), g1.xyzx
+ ld_structured r5.xyz, r0.w, l(0), g2.xyzx
+ mad r0.w, r1.w, icb[r0.y + 0].x, l(1.192092896E-07)
+ ubfe r6.xy, l(8, 8, 0, 0), l(8, 16, 0, 0), r0.xxxx
+ ld_structured r1.w, r6.x, l(0), g0.xxxx
+ add r1.w, r0.z, -r1.w
+ add r1.w, |r1.w|, l(1.192092896E-07)
+ iadd r4.w, -r1.w, l(0x7ef312ac)
+ mad r5.w, -r4.w, r1.w, l(2.000000)
+ mul r4.w, r4.w, r5.w
+ mad r1.w, -r4.w, r1.w, l(2.000000)
+ mul r1.w, r1.w, r4.w
+ mul r4.w, r1.w, icb[r0.y + 0].y
+ ld_structured r7.xyz, r6.x, l(0), g1.xyzx
+ mul r7.xyz, r4.wwww, r7.xyzx
+ mad r4.xyz, r4.xyzx, r3.wwww, r7.xyzx
+ ld_structured r6.xzw, r6.x, l(0), g2.xxyz
+ mul r6.xzw, r4.wwww, r6.xxzw
+ mad r5.xyz, r5.xyzx, r3.wwww, r6.xzwx
+ mad r0.w, r1.w, icb[r0.y + 0].y, r0.w
+ ld_structured r1.w, r6.y, l(0), g0.xxxx
+ add r1.w, r0.z, -r1.w
+ add r1.w, |r1.w|, l(1.192092896E-07)
+ iadd r3.w, -r1.w, l(0x7ef312ac)
+ mad r4.w, -r3.w, r1.w, l(2.000000)
+ mul r3.w, r3.w, r4.w
+ mad r1.w, -r3.w, r1.w, l(2.000000)
+ mul r1.w, r1.w, r3.w
+ mul r3.w, r1.w, icb[r0.y + 0].z
+ ld_structured r6.xzw, r6.y, l(0), g1.xxyz
+ mad r4.xyz, r6.xzwx, r3.wwww, r4.xyzx
+ ld_structured r6.xyz, r6.y, l(0), g2.xyzx
+ mad r5.xyz, r6.xyzx, r3.wwww, r5.xyzx
+ mad r0.w, r1.w, icb[r0.y + 0].z, r0.w
+ ushr r0.x, r0.x, l(24)
+ ld_structured r1.w, r0.x, l(0), g0.xxxx
+ add r0.z, r0.z, -r1.w
+ add r0.z, |r0.z|, l(1.192092896E-07)
+ iadd r1.w, -r0.z, l(0x7ef312ac)
+ mad r3.w, -r1.w, r0.z, l(2.000000)
+ mul r1.w, r1.w, r3.w
+ mad r0.z, -r1.w, r0.z, l(2.000000)
+ mul r0.z, r0.z, r1.w
+ mul r1.w, r0.z, icb[r0.y + 0].w
+ ld_structured r6.xyz, r0.x, l(0), g1.xyzx
+ mad r4.xyz, r6.xyzx, r1.wwww, r4.xyzx
+ ld_structured r6.xyz, r0.x, l(0), g2.xyzx
+ mad r5.xyz, r6.xyzx, r1.wwww, r5.xyzx
+ mad r0.x, r0.z, icb[r0.y + 0].w, r0.w
+ iadd r0.y, -r0.x, l(0x7ef312ac)
+ mad r0.z, -r0.y, r0.x, l(2.000000)
+ mul r0.y, r0.z, r0.y
+ mad r0.x, -r0.y, r0.x, l(2.000000)
+ mul r0.x, r0.x, r0.y
+ mul r3.xyz, r0.xxxx, r4.xyzx
+ mul r1.xyz, r0.xxxx, r5.xyzx
else
- if_nz r0.z
- iadd r0.xy, -r0.xyxx, r2.yxyy
- mov r4.xy, vThreadID.xyxx
- mov r4.zw, l(0,0,0,0)
- ld_indexable(texture2d)(float,float,float,float) r0.z, r4.xyzw, t0.yzxw
- not r4.xy, r0.xyxx
- imad r0.y, r4.x, l(-9), r0.y
- imad r0.w, r4.x, l(-9), -r4.y
- ishl r0.w, r0.w, l(8)
- or r0.w, r0.w, r0.y
- imad r0.x, r0.x, l(9), -r4.y
- ishl r0.xy, r0.xyxx, l(16, 24, 0, 0)
- or r0.x, r0.x, r0.w
- or r0.x, r0.y, r0.x
- bfi r0.y, l(1), l(1), vThreadIDInGroup.y, l(0)
- bfi r0.y, l(1), l(0), vThreadIDInGroup.x, r0.y
- and r0.w, r0.x, l(255)
- ld_structured r1.w, r0.w, l(0), g0.xxxx
- add r1.w, r0.z, -r1.w
- add r1.w, |r1.w|, l(1.192092896E-07)
- iadd r3.w, -r1.w, l(0x7ef312ac)
- mad r4.x, -r3.w, r1.w, l(2.000000)
- mul r3.w, r3.w, r4.x
- mad r1.w, -r3.w, r1.w, l(2.000000)
- mul r1.w, r1.w, r3.w
- mul r3.w, r1.w, icb[r0.y + 0].x
- ld_structured r4.xyz, r0.w, l(0), g1.xyzx
- ld_structured r5.xyz, r0.w, l(0), g2.xyzx
- mad r0.w, r1.w, icb[r0.y + 0].x, l(1.192092896E-07)
- ubfe r6.xy, l(8, 8, 0, 0), l(8, 16, 0, 0), r0.xxxx
- ld_structured r1.w, r6.x, l(0), g0.xxxx
- add r1.w, r0.z, -r1.w
- add r1.w, |r1.w|, l(1.192092896E-07)
- iadd r4.w, -r1.w, l(0x7ef312ac)
- mad r5.w, -r4.w, r1.w, l(2.000000)
- mul r4.w, r4.w, r5.w
- mad r1.w, -r4.w, r1.w, l(2.000000)
- mul r1.w, r1.w, r4.w
- mul r4.w, r1.w, icb[r0.y + 0].y
- ld_structured r7.xyz, r6.x, l(0), g1.xyzx
- mul r7.xyz, r4.wwww, r7.xyzx
- mad r4.xyz, r4.xyzx, r3.wwww, r7.xyzx
- ld_structured r6.xzw, r6.x, l(0), g2.xxyz
- mul r6.xzw, r4.wwww, r6.xxzw
- mad r5.xyz, r5.xyzx, r3.wwww, r6.xzwx
- mad r0.w, r1.w, icb[r0.y + 0].y, r0.w
- ld_structured r1.w, r6.y, l(0), g0.xxxx
- add r1.w, r0.z, -r1.w
- add r1.w, |r1.w|, l(1.192092896E-07)
- iadd r3.w, -r1.w, l(0x7ef312ac)
- mad r4.w, -r3.w, r1.w, l(2.000000)
- mul r3.w, r3.w, r4.w
- mad r1.w, -r3.w, r1.w, l(2.000000)
- mul r1.w, r1.w, r3.w
- mul r3.w, r1.w, icb[r0.y + 0].z
- ld_structured r6.xzw, r6.y, l(0), g1.xxyz
- mad r4.xyz, r6.xzwx, r3.wwww, r4.xyzx
- ld_structured r6.xyz, r6.y, l(0), g2.xyzx
- mad r5.xyz, r6.xyzx, r3.wwww, r5.xyzx
- mad r0.w, r1.w, icb[r0.y + 0].z, r0.w
- ushr r0.x, r0.x, l(24)
- ld_structured r1.w, r0.x, l(0), g0.xxxx
- add r0.z, r0.z, -r1.w
- add r0.z, |r0.z|, l(1.192092896E-07)
- iadd r1.w, -r0.z, l(0x7ef312ac)
- mad r3.w, -r1.w, r0.z, l(2.000000)
- mul r1.w, r1.w, r3.w
- mad r0.z, -r1.w, r0.z, l(2.000000)
- mul r0.z, r0.z, r1.w
- mul r1.w, r0.z, icb[r0.y + 0].w
- ld_structured r6.xyz, r0.x, l(0), g1.xyzx
- mad r4.xyz, r6.xyzx, r1.wwww, r4.xyzx
- ld_structured r6.xyz, r0.x, l(0), g2.xyzx
- mad r5.xyz, r6.xyzx, r1.wwww, r5.xyzx
- mad r0.x, r0.z, icb[r0.y + 0].w, r0.w
- iadd r0.y, -r0.x, l(0x7ef312ac)
- mad r0.z, -r0.y, r0.x, l(2.000000)
- mul r0.y, r0.z, r0.y
- mad r0.x, -r0.y, r0.x, l(2.000000)
- mul r0.x, r0.x, r0.y
- mul r3.xyz, r0.xxxx, r4.xyzx
- mul r1.xyz, r0.xxxx, r5.xyzx
- else
- mov r2.zw, l(0,0,0,0)
- ld_indexable(texture2d)(float,float,float,float) r3.xyz, r2.xyww, t1.xyzw
- ld_indexable(texture2d)(float,float,float,float) r1.xyz, r2.xyzw, t2.xyzw
- endif
+ mov r2.zw, l(0,0,0,0)
+ ld_indexable(texture2d)(float,float,float,float) r3.xyz, r2.xyww, t1.xyzw
+ ld_indexable(texture2d)(float,float,float,float) r1.xyz, r2.xyzw, t2.xyzw
endif
store_uav_typed u1.xyzw, vThreadID.xyyy, r1.xyzz
store_uav_typed u0.xyzw, vThreadID.xyyy, r3.xyzz
|