[GPU] XeSL resolve shaders + host depth store width fix

This commit is contained in:
Triang3l 2022-06-19 17:50:21 +03:00
parent 166be463be
commit 9b83d3d0f4
117 changed files with 108477 additions and 55993 deletions

View File

@ -275,7 +275,7 @@ union ResolveEdramInfo {
uint32_t pitch_tiles : xenos::kEdramPitchTilesBits;
xenos::MsaaSamples msaa_samples : xenos::kMsaaSamplesBits;
uint32_t is_depth : 1;
// With offset to the 160x32 region that local_x/y_div_8 are relative to.
// With offset to the region that edram_offset_x/y_div_8 are relative to.
uint32_t base_tiles : xenos::kEdramBaseTilesBits;
uint32_t format : xenos::kRenderTargetFormatBits;
uint32_t format_is_64bpp : 1;

View File

@ -44,6 +44,7 @@ dcl_input vThreadID.xy
dcl_temps 5
dcl_thread_group 8, 8, 1
ubfe r0.xyz, l(2, 2, 10, 0), l(10, 12, 20, 0), CB0[0][0].yyxy
iadd r0.z, r0.z, l(1)
imul null, r0.z, r0.x, r0.z
uge r0.z, vThreadID.x, r0.z
if_nz r0.z
@ -91,20 +92,20 @@ mov r1.zw, l(0,0,0,0)
ld r2.w, r1.xyzw, T0[0].yzwx
store_uav_typed U0[0].xyzw, r0.yyyy, r2.xyzw
ret
// Approximately 48 instruction slots used
// Approximately 49 instruction slots used
#endif
const BYTE host_depth_store_1xmsaa_cs[] =
{
68, 88, 66, 67, 61, 76,
206, 105, 213, 148, 87, 104,
154, 203, 121, 73, 24, 66,
16, 104, 1, 0, 0, 0,
96, 9, 0, 0, 5, 0,
68, 88, 66, 67, 225, 25,
66, 44, 104, 180, 193, 76,
135, 154, 38, 4, 246, 230,
184, 16, 1, 0, 0, 0,
124, 9, 0, 0, 5, 0,
0, 0, 52, 0, 0, 0,
52, 2, 0, 0, 68, 2,
0, 0, 84, 2, 0, 0,
196, 8, 0, 0, 82, 68,
224, 8, 0, 0, 82, 68,
69, 70, 248, 1, 0, 0,
1, 0, 0, 0, 252, 0,
0, 0, 3, 0, 0, 0,
@ -196,8 +197,8 @@ const BYTE host_depth_store_1xmsaa_cs[] =
71, 78, 8, 0, 0, 0,
0, 0, 0, 0, 8, 0,
0, 0, 83, 72, 69, 88,
104, 6, 0, 0, 81, 0,
5, 0, 154, 1, 0, 0,
132, 6, 0, 0, 81, 0,
5, 0, 161, 1, 0, 0,
106, 8, 0, 1, 89, 0,
0, 7, 70, 142, 48, 0,
0, 0, 0, 0, 0, 0,
@ -229,198 +230,130 @@ const BYTE host_depth_store_1xmsaa_cs[] =
0, 0, 0, 0, 86, 132,
48, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 38, 0, 0, 8,
0, 208, 0, 0, 66, 0,
16, 0, 0, 0, 0, 0,
10, 0, 16, 0, 0, 0,
0, 0, 30, 0, 0, 7,
66, 0, 16, 0, 0, 0,
0, 0, 42, 0, 16, 0,
0, 0, 0, 0, 80, 0,
0, 6, 66, 0, 16, 0,
0, 0, 0, 0, 10, 0,
2, 0, 42, 0, 16, 0,
0, 0, 0, 0, 31, 0,
4, 3, 42, 0, 16, 0,
0, 0, 0, 0, 62, 0,
0, 1, 21, 0, 0, 1,
85, 0, 0, 9, 34, 0,
16, 0, 1, 0, 0, 0,
10, 128, 48, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 64,
0, 0, 10, 0, 0, 0,
54, 0, 0, 7, 18, 0,
16, 0, 1, 0, 0, 0,
10, 128, 48, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 140, 0,
0, 20, 194, 0, 16, 0,
0, 0, 0, 0, 2, 64,
0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0,
38, 0, 0, 8, 0, 208,
0, 0, 66, 0, 16, 0,
0, 0, 0, 0, 10, 0,
0, 0, 10, 0, 0, 0,
2, 64, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
3, 0, 0, 0, 3, 0,
0, 0, 6, 4, 16, 0,
1, 0, 0, 0, 2, 64,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
41, 0, 0, 6, 18, 0,
16, 0, 1, 0, 0, 0,
10, 0, 2, 0, 1, 64,
0, 0, 3, 0, 0, 0,
54, 0, 0, 4, 34, 0,
16, 0, 1, 0, 0, 0,
26, 0, 2, 0, 35, 0,
0, 9, 50, 0, 16, 0,
1, 0, 0, 0, 230, 10,
16, 0, 0, 0, 0, 0,
70, 0, 16, 0, 0, 0,
0, 0, 70, 0, 16, 0,
1, 0, 0, 0, 1, 0,
0, 9, 66, 0, 16, 0,
0, 0, 0, 0, 26, 128,
42, 0, 16, 0, 0, 0,
0, 0, 80, 0, 0, 6,
66, 0, 16, 0, 0, 0,
0, 0, 10, 0, 2, 0,
42, 0, 16, 0, 0, 0,
0, 0, 31, 0, 4, 3,
42, 0, 16, 0, 0, 0,
0, 0, 62, 0, 0, 1,
21, 0, 0, 1, 85, 0,
0, 9, 34, 0, 16, 0,
1, 0, 0, 0, 10, 128,
48, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 1, 64, 0, 0,
255, 3, 0, 0, 38, 0,
0, 11, 0, 208, 0, 0,
50, 0, 16, 0, 0, 0,
0, 0, 70, 0, 16, 0,
0, 0, 0, 0, 2, 64,
0, 0, 80, 0, 0, 0,
16, 0, 0, 0, 0, 0,
10, 0, 0, 0, 54, 0,
0, 7, 18, 0, 16, 0,
1, 0, 0, 0, 10, 128,
48, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
78, 0, 0, 8, 50, 0,
16, 0, 2, 0, 0, 0,
0, 208, 0, 0, 70, 0,
16, 0, 1, 0, 0, 0,
70, 0, 16, 0, 0, 0,
0, 0, 35, 0, 0, 9,
66, 0, 16, 0, 0, 0,
0, 0, 26, 0, 16, 0,
2, 0, 0, 0, 42, 0,
16, 0, 0, 0, 0, 0,
10, 0, 16, 0, 2, 0,
0, 0, 35, 0, 0, 10,
50, 0, 16, 0, 2, 0,
0, 0, 70, 0, 16, 128,
65, 0, 0, 0, 2, 0,
0, 0, 70, 0, 16, 0,
0, 0, 0, 0, 70, 0,
16, 0, 1, 0, 0, 0,
38, 0, 0, 8, 0, 208,
0, 0, 34, 0, 16, 0,
0, 0, 0, 0, 26, 0,
16, 0, 0, 0, 0, 0,
10, 0, 16, 0, 0, 0,
0, 0, 35, 0, 0, 9,
18, 0, 16, 0, 0, 0,
0, 0, 26, 0, 16, 0,
2, 0, 0, 0, 10, 0,
16, 0, 0, 0, 0, 0,
10, 0, 16, 0, 2, 0,
0, 0, 35, 0, 0, 9,
18, 0, 16, 0, 0, 0,
0, 0, 42, 0, 16, 0,
0, 0, 0, 0, 26, 0,
16, 0, 0, 0, 0, 0,
10, 0, 16, 0, 0, 0,
0, 0, 85, 0, 0, 7,
18, 0, 16, 0, 0, 0,
0, 0, 10, 0, 16, 0,
0, 0, 0, 0, 1, 64,
0, 0, 2, 0, 0, 0,
54, 0, 0, 8, 194, 0,
16, 0, 1, 0, 0, 0,
2, 64, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 45, 0, 0, 8,
18, 0, 16, 0, 2, 0,
0, 0, 70, 14, 16, 0,
1, 0, 0, 0, 70, 126,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 30, 0,
0, 10, 242, 0, 16, 0,
3, 0, 0, 0, 70, 4,
16, 0, 1, 0, 0, 0,
2, 64, 0, 0, 2, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0,
0, 0, 54, 0, 0, 5,
50, 0, 16, 0, 4, 0,
0, 0, 230, 10, 16, 0,
3, 0, 0, 0, 54, 0,
0, 8, 194, 0, 16, 0,
4, 0, 0, 0, 2, 64,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
45, 0, 0, 8, 34, 0,
16, 0, 2, 0, 0, 0,
70, 14, 16, 0, 4, 0,
0, 0, 22, 126, 32, 0,
0, 0, 0, 0, 0, 0,
0, 0, 54, 0, 0, 8,
194, 0, 16, 0, 3, 0,
0, 0, 140, 0, 0, 20,
194, 0, 16, 0, 0, 0,
0, 0, 2, 64, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 10, 0, 0, 0,
10, 0, 0, 0, 2, 64,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 45, 0,
0, 8, 66, 0, 16, 0,
2, 0, 0, 0, 70, 14,
16, 0, 3, 0, 0, 0,
150, 124, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
30, 0, 0, 10, 242, 0,
16, 0, 3, 0, 0, 0,
70, 4, 16, 0, 1, 0,
0, 0, 2, 64, 0, 0,
4, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3, 0,
0, 0, 3, 0, 0, 0,
0, 0, 0, 0, 54, 0,
0, 5, 50, 0, 16, 0,
4, 0, 0, 0, 230, 10,
16, 0, 3, 0, 0, 0,
54, 0, 0, 8, 194, 0,
16, 0, 4, 0, 0, 0,
2, 64, 0, 0, 0, 0,
6, 4, 16, 0, 1, 0,
0, 0, 2, 64, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 45, 0, 0, 8,
130, 0, 16, 0, 2, 0,
0, 0, 70, 14, 16, 0,
4, 0, 0, 0, 150, 115,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 164, 0,
0, 8, 242, 224, 33, 0,
0, 0, 0, 0, 41, 0,
0, 6, 18, 0, 16, 0,
1, 0, 0, 0, 10, 0,
2, 0, 1, 64, 0, 0,
3, 0, 0, 0, 54, 0,
0, 4, 34, 0, 16, 0,
1, 0, 0, 0, 26, 0,
2, 0, 35, 0, 0, 9,
50, 0, 16, 0, 1, 0,
0, 0, 230, 10, 16, 0,
0, 0, 0, 0, 70, 0,
16, 0, 0, 0, 0, 0,
70, 0, 16, 0, 1, 0,
0, 0, 1, 0, 0, 9,
66, 0, 16, 0, 0, 0,
0, 0, 26, 128, 48, 0,
0, 0, 0, 0, 0, 0,
0, 0, 6, 0, 16, 0,
0, 0, 0, 0, 70, 14,
0, 0, 0, 0, 0, 0,
1, 64, 0, 0, 255, 3,
0, 0, 38, 0, 0, 11,
0, 208, 0, 0, 50, 0,
16, 0, 0, 0, 0, 0,
70, 0, 16, 0, 0, 0,
0, 0, 2, 64, 0, 0,
80, 0, 0, 0, 16, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 78, 0,
0, 8, 50, 0, 16, 0,
2, 0, 0, 0, 0, 208,
0, 0, 70, 0, 16, 0,
1, 0, 0, 0, 70, 0,
16, 0, 0, 0, 0, 0,
35, 0, 0, 9, 66, 0,
16, 0, 0, 0, 0, 0,
26, 0, 16, 0, 2, 0,
0, 0, 42, 0, 16, 0,
0, 0, 0, 0, 10, 0,
16, 0, 2, 0, 0, 0,
30, 0, 0, 7, 34, 0,
35, 0, 0, 10, 50, 0,
16, 0, 2, 0, 0, 0,
70, 0, 16, 128, 65, 0,
0, 0, 2, 0, 0, 0,
70, 0, 16, 0, 0, 0,
0, 0, 70, 0, 16, 0,
1, 0, 0, 0, 38, 0,
0, 8, 0, 208, 0, 0,
34, 0, 16, 0, 0, 0,
0, 0, 26, 0, 16, 0,
0, 0, 0, 0, 10, 0,
16, 0, 0, 0, 0, 0,
35, 0, 0, 9, 18, 0,
16, 0, 0, 0, 0, 0,
26, 0, 16, 0, 2, 0,
0, 0, 10, 0, 16, 0,
0, 0, 0, 0, 10, 0,
16, 0, 2, 0, 0, 0,
35, 0, 0, 9, 18, 0,
16, 0, 0, 0, 0, 0,
42, 0, 16, 0, 0, 0,
0, 0, 26, 0, 16, 0,
0, 0, 0, 0, 10, 0,
16, 0, 0, 0, 0, 0,
85, 0, 0, 7, 18, 0,
16, 0, 0, 0, 0, 0,
10, 0, 16, 0, 0, 0,
0, 0, 1, 64, 0, 0,
1, 0, 0, 0, 54, 0,
2, 0, 0, 0, 54, 0,
0, 8, 194, 0, 16, 0,
3, 0, 0, 0, 2, 64,
1, 0, 0, 0, 2, 64,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
45, 0, 0, 8, 18, 0,
16, 0, 2, 0, 0, 0,
70, 14, 16, 0, 3, 0,
70, 14, 16, 0, 1, 0,
0, 0, 70, 126, 32, 0,
0, 0, 0, 0, 0, 0,
0, 0, 30, 0, 0, 10,
242, 0, 16, 0, 3, 0,
0, 0, 70, 4, 16, 0,
1, 0, 0, 0, 2, 64,
0, 0, 6, 0, 0, 0,
0, 0, 0, 0, 5, 0,
0, 0, 2, 0, 0, 0,
0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0,
54, 0, 0, 5, 50, 0,
16, 0, 4, 0, 0, 0,
@ -447,44 +380,116 @@ const BYTE host_depth_store_1xmsaa_cs[] =
3, 0, 0, 0, 150, 124,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 30, 0,
0, 10, 50, 0, 16, 0,
1, 0, 0, 0, 70, 0,
0, 10, 242, 0, 16, 0,
3, 0, 0, 0, 70, 4,
16, 0, 1, 0, 0, 0,
2, 64, 0, 0, 7, 0,
2, 64, 0, 0, 4, 0,
0, 0, 0, 0, 0, 0,
3, 0, 0, 0, 0, 0,
0, 0, 54, 0, 0, 5,
50, 0, 16, 0, 4, 0,
0, 0, 230, 10, 16, 0,
3, 0, 0, 0, 54, 0,
0, 8, 194, 0, 16, 0,
4, 0, 0, 0, 2, 64,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
45, 0, 0, 8, 130, 0,
16, 0, 2, 0, 0, 0,
70, 14, 16, 0, 4, 0,
0, 0, 150, 115, 32, 0,
0, 0, 0, 0, 0, 0,
0, 0, 164, 0, 0, 8,
242, 224, 33, 0, 0, 0,
0, 0, 0, 0, 0, 0,
6, 0, 16, 0, 0, 0,
0, 0, 70, 14, 16, 0,
2, 0, 0, 0, 30, 0,
0, 7, 34, 0, 16, 0,
0, 0, 0, 0, 10, 0,
16, 0, 0, 0, 0, 0,
1, 64, 0, 0, 1, 0,
0, 0, 54, 0, 0, 8,
194, 0, 16, 0, 1, 0,
194, 0, 16, 0, 3, 0,
0, 0, 2, 64, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 45, 0,
0, 8, 130, 0, 16, 0,
0, 8, 18, 0, 16, 0,
2, 0, 0, 0, 70, 14,
16, 0, 1, 0, 0, 0,
150, 115, 32, 0, 0, 0,
16, 0, 3, 0, 0, 0,
70, 126, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
164, 0, 0, 8, 242, 224,
33, 0, 0, 0, 0, 0,
0, 0, 0, 0, 86, 5,
16, 0, 0, 0, 0, 0,
70, 14, 16, 0, 2, 0,
0, 0, 62, 0, 0, 1,
83, 84, 65, 84, 148, 0,
0, 0, 48, 0, 0, 0,
5, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 14, 0,
30, 0, 0, 10, 242, 0,
16, 0, 3, 0, 0, 0,
70, 4, 16, 0, 1, 0,
0, 0, 2, 64, 0, 0,
6, 0, 0, 0, 0, 0,
0, 0, 5, 0, 0, 0,
2, 0, 0, 0, 1, 0,
0, 0, 0, 0, 54, 0,
0, 5, 50, 0, 16, 0,
4, 0, 0, 0, 230, 10,
16, 0, 3, 0, 0, 0,
54, 0, 0, 8, 194, 0,
16, 0, 4, 0, 0, 0,
2, 64, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 45, 0, 0, 8,
34, 0, 16, 0, 2, 0,
0, 0, 70, 14, 16, 0,
4, 0, 0, 0, 22, 126,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 54, 0,
0, 8, 194, 0, 16, 0,
3, 0, 0, 0, 2, 64,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
45, 0, 0, 8, 66, 0,
16, 0, 2, 0, 0, 0,
70, 14, 16, 0, 3, 0,
0, 0, 150, 124, 32, 0,
0, 0, 0, 0, 0, 0,
0, 0, 30, 0, 0, 10,
50, 0, 16, 0, 1, 0,
0, 0, 70, 0, 16, 0,
1, 0, 0, 0, 2, 64,
0, 0, 7, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
54, 0, 0, 8, 194, 0,
16, 0, 1, 0, 0, 0,
2, 64, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 45, 0, 0, 8,
130, 0, 16, 0, 2, 0,
0, 0, 70, 14, 16, 0,
1, 0, 0, 0, 150, 115,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 164, 0,
0, 8, 242, 224, 33, 0,
0, 0, 0, 0, 0, 0,
0, 0, 86, 5, 16, 0,
0, 0, 0, 0, 70, 14,
16, 0, 2, 0, 0, 0,
62, 0, 0, 1, 83, 84,
65, 84, 148, 0, 0, 0,
49, 0, 0, 0, 5, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0,
0, 0, 15, 0, 0, 0,
5, 0, 0, 0, 2, 0,
0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 8, 0, 0, 0,
8, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
13, 0, 0, 0, 0, 0,
0, 0, 0, 0, 13, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
@ -495,5 +500,6 @@ const BYTE host_depth_store_1xmsaa_cs[] =
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 2, 0, 0, 0
0, 0, 0, 0, 0, 0,
2, 0, 0, 0
};

View File

@ -44,6 +44,7 @@ dcl_input vThreadID.xy
dcl_temps 5
dcl_thread_group 8, 8, 1
ubfe r0.xyz, l(2, 2, 10, 0), l(10, 12, 20, 0), CB0[0][0].yyxy
iadd r0.z, r0.z, l(1)
imul null, r0.z, r0.x, r0.z
uge r0.z, vThreadID.x, r0.z
if_nz r0.z
@ -98,20 +99,20 @@ mov r1.zw, l(0,0,0,0)
ldms r2.w, r1.xyzw, T0[0].yzwx, r0.y
store_uav_typed U0[0].xyzw, r0.zzzz, r2.xyzw
ret
// Approximately 55 instruction slots used
// Approximately 56 instruction slots used
#endif
const BYTE host_depth_store_2xmsaa_cs[] =
{
68, 88, 66, 67, 130, 172,
38, 43, 63, 224, 235, 166,
91, 40, 42, 226, 95, 142,
124, 83, 1, 0, 0, 0,
140, 10, 0, 0, 5, 0,
68, 88, 66, 67, 66, 211,
234, 110, 179, 252, 100, 114,
29, 3, 9, 181, 252, 39,
216, 108, 1, 0, 0, 0,
168, 10, 0, 0, 5, 0,
0, 0, 52, 0, 0, 0,
52, 2, 0, 0, 68, 2,
0, 0, 84, 2, 0, 0,
240, 9, 0, 0, 82, 68,
12, 10, 0, 0, 82, 68,
69, 70, 248, 1, 0, 0,
1, 0, 0, 0, 252, 0,
0, 0, 3, 0, 0, 0,
@ -203,8 +204,8 @@ const BYTE host_depth_store_2xmsaa_cs[] =
71, 78, 8, 0, 0, 0,
0, 0, 0, 0, 8, 0,
0, 0, 83, 72, 69, 88,
148, 7, 0, 0, 81, 0,
5, 0, 229, 1, 0, 0,
176, 7, 0, 0, 81, 0,
5, 0, 236, 1, 0, 0,
106, 8, 0, 1, 89, 0,
0, 7, 70, 142, 48, 0,
0, 0, 0, 0, 0, 0,
@ -236,312 +237,317 @@ const BYTE host_depth_store_2xmsaa_cs[] =
0, 0, 0, 0, 86, 132,
48, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 38, 0, 0, 8,
0, 208, 0, 0, 66, 0,
16, 0, 0, 0, 0, 0,
10, 0, 16, 0, 0, 0,
0, 0, 42, 0, 16, 0,
0, 0, 0, 0, 80, 0,
0, 6, 66, 0, 16, 0,
0, 0, 0, 0, 10, 0,
2, 0, 42, 0, 16, 0,
0, 0, 0, 0, 31, 0,
4, 3, 42, 0, 16, 0,
0, 0, 0, 0, 62, 0,
0, 1, 21, 0, 0, 1,
85, 0, 0, 9, 34, 0,
16, 0, 1, 0, 0, 0,
10, 128, 48, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 64,
0, 0, 10, 0, 0, 0,
54, 0, 0, 7, 18, 0,
16, 0, 1, 0, 0, 0,
10, 128, 48, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 140, 0,
0, 20, 194, 0, 16, 0,
0, 0, 0, 0, 2, 64,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 10, 0,
0, 0, 10, 0, 0, 0,
2, 64, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
3, 0, 0, 0, 3, 0,
0, 0, 6, 4, 16, 0,
1, 0, 0, 0, 2, 64,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
41, 0, 0, 6, 18, 0,
16, 0, 1, 0, 0, 0,
10, 0, 2, 0, 1, 64,
0, 0, 3, 0, 0, 0,
85, 0, 0, 6, 34, 0,
16, 0, 1, 0, 0, 0,
26, 0, 2, 0, 1, 64,
0, 0, 1, 0, 0, 0,
35, 0, 0, 9, 50, 0,
16, 0, 1, 0, 0, 0,
230, 10, 16, 0, 0, 0,
0, 0, 70, 0, 16, 0,
0, 0, 0, 0, 70, 0,
16, 0, 1, 0, 0, 0,
1, 0, 0, 6, 34, 0,
16, 0, 2, 0, 0, 0,
26, 0, 2, 0, 1, 64,
0, 0, 1, 0, 0, 0,
1, 0, 0, 9, 66, 0,
16, 0, 0, 0, 0, 0,
26, 128, 48, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 64,
0, 0, 255, 3, 0, 0,
41, 0, 0, 7, 66, 0,
16, 0, 1, 0, 0, 0,
26, 0, 16, 0, 1, 0,
0, 0, 1, 64, 0, 0,
1, 0, 0, 0, 54, 0,
0, 5, 18, 0, 16, 0,
2, 0, 0, 0, 1, 64,
0, 0, 0, 0, 0, 0,
30, 0, 0, 7, 82, 0,
16, 0, 2, 0, 0, 0,
6, 2, 16, 0, 1, 0,
0, 0, 6, 1, 16, 0,
2, 0, 0, 0, 38, 0,
0, 11, 0, 208, 0, 0,
50, 0, 16, 0, 0, 0,
0, 0, 70, 0, 16, 0,
0, 0, 0, 0, 2, 64,
0, 0, 80, 0, 0, 0,
16, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
78, 0, 0, 8, 50, 0,
16, 0, 3, 0, 0, 0,
0, 208, 0, 0, 134, 0,
16, 0, 2, 0, 0, 0,
70, 0, 16, 0, 0, 0,
0, 0, 35, 0, 0, 9,
0, 0, 30, 0, 0, 7,
66, 0, 16, 0, 0, 0,
0, 0, 26, 0, 16, 0,
3, 0, 0, 0, 42, 0,
16, 0, 0, 0, 0, 0,
10, 0, 16, 0, 3, 0,
0, 0, 35, 0, 0, 10,
82, 0, 16, 0, 2, 0,
0, 0, 6, 1, 16, 128,
65, 0, 0, 0, 3, 0,
0, 0, 6, 1, 16, 0,
0, 0, 0, 0, 6, 2,
16, 0, 2, 0, 0, 0,
38, 0, 0, 8, 0, 208,
0, 0, 34, 0, 16, 0,
0, 0, 0, 0, 26, 0,
16, 0, 0, 0, 0, 0,
10, 0, 16, 0, 0, 0,
0, 0, 35, 0, 0, 9,
18, 0, 16, 0, 0, 0,
0, 0, 42, 0, 16, 0,
2, 0, 0, 0, 10, 0,
16, 0, 0, 0, 0, 0,
10, 0, 16, 0, 2, 0,
0, 0, 35, 0, 0, 9,
18, 0, 16, 0, 0, 0,
0, 0, 42, 0, 16, 0,
0, 0, 0, 0, 26, 0,
16, 0, 0, 0, 0, 0,
10, 0, 16, 0, 0, 0,
0, 0, 85, 0, 0, 7,
18, 0, 16, 0, 0, 0,
0, 0, 10, 0, 16, 0,
0, 0, 0, 0, 1, 64,
0, 0, 2, 0, 0, 0,
138, 0, 0, 11, 34, 0,
0, 0, 1, 0, 0, 0,
38, 0, 0, 8, 0, 208,
0, 0, 66, 0, 16, 0,
0, 0, 0, 0, 10, 0,
16, 0, 0, 0, 0, 0,
1, 64, 0, 0, 1, 0,
0, 0, 1, 64, 0, 0,
14, 0, 0, 0, 26, 128,
42, 0, 16, 0, 0, 0,
0, 0, 80, 0, 0, 6,
66, 0, 16, 0, 0, 0,
0, 0, 10, 0, 2, 0,
42, 0, 16, 0, 0, 0,
0, 0, 31, 0, 4, 3,
42, 0, 16, 0, 0, 0,
0, 0, 62, 0, 0, 1,
21, 0, 0, 1, 85, 0,
0, 9, 34, 0, 16, 0,
1, 0, 0, 0, 10, 128,
48, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 55, 0, 0, 15,
0, 0, 1, 64, 0, 0,
10, 0, 0, 0, 54, 0,
0, 7, 18, 0, 16, 0,
1, 0, 0, 0, 10, 128,
48, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 140, 0, 0, 20,
194, 0, 16, 0, 0, 0,
0, 0, 86, 5, 16, 0,
2, 0, 0, 0, 2, 64,
0, 0, 2, 64, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 10, 0, 0, 0,
10, 0, 0, 0, 2, 64,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3, 0,
0, 0, 3, 0, 0, 0,
2, 64, 0, 0, 0, 0,
6, 4, 16, 0, 1, 0,
0, 0, 2, 64, 0, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0,
0, 0, 55, 0, 0, 9,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 41, 0,
0, 6, 18, 0, 16, 0,
1, 0, 0, 0, 10, 0,
2, 0, 1, 64, 0, 0,
3, 0, 0, 0, 85, 0,
0, 6, 34, 0, 16, 0,
1, 0, 0, 0, 26, 0,
2, 0, 1, 64, 0, 0,
1, 0, 0, 0, 35, 0,
0, 9, 50, 0, 16, 0,
1, 0, 0, 0, 230, 10,
16, 0, 0, 0, 0, 0,
70, 0, 16, 0, 0, 0,
0, 0, 70, 0, 16, 0,
1, 0, 0, 0, 1, 0,
0, 6, 34, 0, 16, 0,
2, 0, 0, 0, 26, 0,
2, 0, 1, 64, 0, 0,
1, 0, 0, 0, 1, 0,
0, 9, 66, 0, 16, 0,
0, 0, 0, 0, 26, 128,
48, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 1, 64, 0, 0,
255, 3, 0, 0, 41, 0,
0, 7, 66, 0, 16, 0,
1, 0, 0, 0, 26, 0,
16, 0, 1, 0, 0, 0,
1, 64, 0, 0, 1, 0,
0, 0, 54, 0, 0, 5,
18, 0, 16, 0, 2, 0,
0, 0, 1, 64, 0, 0,
0, 0, 0, 0, 30, 0,
0, 7, 82, 0, 16, 0,
2, 0, 0, 0, 6, 2,
16, 0, 1, 0, 0, 0,
6, 1, 16, 0, 2, 0,
0, 0, 38, 0, 0, 11,
0, 208, 0, 0, 50, 0,
16, 0, 0, 0, 0, 0,
70, 0, 16, 0, 0, 0,
0, 0, 2, 64, 0, 0,
80, 0, 0, 0, 16, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 78, 0,
0, 8, 50, 0, 16, 0,
3, 0, 0, 0, 0, 208,
0, 0, 134, 0, 16, 0,
2, 0, 0, 0, 70, 0,
16, 0, 0, 0, 0, 0,
35, 0, 0, 9, 66, 0,
16, 0, 0, 0, 0, 0,
26, 0, 16, 0, 3, 0,
0, 0, 42, 0, 16, 0,
0, 0, 0, 0, 10, 0,
16, 0, 3, 0, 0, 0,
35, 0, 0, 10, 82, 0,
16, 0, 2, 0, 0, 0,
6, 1, 16, 128, 65, 0,
0, 0, 3, 0, 0, 0,
6, 1, 16, 0, 0, 0,
0, 0, 6, 2, 16, 0,
2, 0, 0, 0, 38, 0,
0, 8, 0, 208, 0, 0,
34, 0, 16, 0, 0, 0,
0, 0, 26, 0, 16, 0,
0, 0, 0, 0, 42, 0,
16, 0, 0, 0, 0, 0,
58, 0, 16, 0, 0, 0,
0, 0, 54, 0, 0, 5,
130, 0, 16, 0, 1, 0,
0, 0, 1, 64, 0, 0,
0, 0, 0, 0, 46, 0,
0, 10, 18, 0, 16, 0,
2, 0, 0, 0, 70, 15,
16, 0, 1, 0, 0, 0,
70, 126, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
26, 0, 16, 0, 0, 0,
0, 0, 30, 0, 0, 10,
242, 0, 16, 0, 3, 0,
0, 0, 70, 4, 16, 0,
1, 0, 0, 0, 2, 64,
0, 0, 2, 0, 0, 0,
0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0,
54, 0, 0, 5, 50, 0,
16, 0, 4, 0, 0, 0,
230, 10, 16, 0, 3, 0,
0, 0, 54, 0, 0, 8,
194, 0, 16, 0, 4, 0,
0, 0, 2, 64, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 46, 0,
0, 10, 34, 0, 16, 0,
2, 0, 0, 0, 70, 14,
16, 0, 4, 0, 0, 0,
22, 126, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
26, 0, 16, 0, 0, 0,
0, 0, 54, 0, 0, 8,
194, 0, 16, 0, 3, 0,
0, 0, 2, 64, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 46, 0,
0, 10, 66, 0, 16, 0,
2, 0, 0, 0, 70, 14,
16, 0, 3, 0, 0, 0,
150, 124, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
26, 0, 16, 0, 0, 0,
0, 0, 30, 0, 0, 10,
242, 0, 16, 0, 3, 0,
0, 0, 70, 4, 16, 0,
1, 0, 0, 0, 2, 64,
0, 0, 4, 0, 0, 0,
0, 0, 0, 0, 3, 0,
0, 0, 0, 0, 0, 0,
54, 0, 0, 5, 50, 0,
16, 0, 4, 0, 0, 0,
230, 10, 16, 0, 3, 0,
0, 0, 54, 0, 0, 8,
194, 0, 16, 0, 4, 0,
0, 0, 2, 64, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 46, 0,
0, 10, 130, 0, 16, 0,
2, 0, 0, 0, 70, 14,
16, 0, 4, 0, 0, 0,
150, 115, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
26, 0, 16, 0, 0, 0,
0, 0, 164, 0, 0, 8,
242, 224, 33, 0, 0, 0,
0, 0, 0, 0, 0, 0,
6, 0, 16, 0, 0, 0,
0, 0, 70, 14, 16, 0,
2, 0, 0, 0, 30, 0,
0, 7, 66, 0, 16, 0,
0, 0, 0, 0, 10, 0,
16, 0, 0, 0, 0, 0,
1, 64, 0, 0, 1, 0,
0, 0, 54, 0, 0, 8,
194, 0, 16, 0, 3, 0,
35, 0, 0, 9, 18, 0,
16, 0, 0, 0, 0, 0,
42, 0, 16, 0, 2, 0,
0, 0, 10, 0, 16, 0,
0, 0, 0, 0, 10, 0,
16, 0, 2, 0, 0, 0,
35, 0, 0, 9, 18, 0,
16, 0, 0, 0, 0, 0,
42, 0, 16, 0, 0, 0,
0, 0, 26, 0, 16, 0,
0, 0, 0, 0, 10, 0,
16, 0, 0, 0, 0, 0,
85, 0, 0, 7, 18, 0,
16, 0, 0, 0, 0, 0,
10, 0, 16, 0, 0, 0,
0, 0, 1, 64, 0, 0,
2, 0, 0, 0, 138, 0,
0, 11, 34, 0, 16, 0,
0, 0, 0, 0, 1, 64,
0, 0, 1, 0, 0, 0,
1, 64, 0, 0, 14, 0,
0, 0, 26, 128, 48, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
55, 0, 0, 15, 194, 0,
16, 0, 0, 0, 0, 0,
86, 5, 16, 0, 2, 0,
0, 0, 2, 64, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 46, 0,
0, 10, 18, 0, 16, 0,
2, 0, 0, 0, 70, 14,
16, 0, 3, 0, 0, 0,
70, 126, 32, 0, 0, 0,
3, 0, 0, 0, 2, 64,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0,
55, 0, 0, 9, 34, 0,
16, 0, 0, 0, 0, 0,
26, 0, 16, 0, 0, 0,
0, 0, 30, 0, 0, 10,
242, 0, 16, 0, 3, 0,
0, 0, 70, 4, 16, 0,
1, 0, 0, 0, 2, 64,
0, 0, 6, 0, 0, 0,
0, 0, 0, 0, 5, 0,
0, 0, 0, 0, 0, 0,
54, 0, 0, 5, 50, 0,
16, 0, 4, 0, 0, 0,
230, 10, 16, 0, 3, 0,
0, 0, 54, 0, 0, 8,
194, 0, 16, 0, 4, 0,
0, 0, 2, 64, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 46, 0,
0, 10, 34, 0, 16, 0,
2, 0, 0, 0, 70, 14,
16, 0, 4, 0, 0, 0,
22, 126, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
26, 0, 16, 0, 0, 0,
0, 0, 54, 0, 0, 8,
194, 0, 16, 0, 3, 0,
0, 0, 2, 64, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 46, 0,
0, 10, 66, 0, 16, 0,
2, 0, 0, 0, 70, 14,
16, 0, 3, 0, 0, 0,
150, 124, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
26, 0, 16, 0, 0, 0,
0, 0, 30, 0, 0, 10,
50, 0, 16, 0, 1, 0,
0, 0, 70, 0, 16, 0,
1, 0, 0, 0, 2, 64,
0, 0, 7, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
54, 0, 0, 8, 194, 0,
0, 0, 42, 0, 16, 0,
0, 0, 0, 0, 58, 0,
16, 0, 0, 0, 0, 0,
54, 0, 0, 5, 130, 0,
16, 0, 1, 0, 0, 0,
1, 64, 0, 0, 0, 0,
0, 0, 46, 0, 0, 10,
18, 0, 16, 0, 2, 0,
0, 0, 70, 15, 16, 0,
1, 0, 0, 0, 70, 126,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 26, 0,
16, 0, 0, 0, 0, 0,
30, 0, 0, 10, 242, 0,
16, 0, 3, 0, 0, 0,
70, 4, 16, 0, 1, 0,
0, 0, 2, 64, 0, 0,
2, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 54, 0,
0, 5, 50, 0, 16, 0,
4, 0, 0, 0, 230, 10,
16, 0, 3, 0, 0, 0,
54, 0, 0, 8, 194, 0,
16, 0, 4, 0, 0, 0,
2, 64, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 46, 0, 0, 10,
34, 0, 16, 0, 2, 0,
0, 0, 70, 14, 16, 0,
4, 0, 0, 0, 22, 126,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 26, 0,
16, 0, 0, 0, 0, 0,
54, 0, 0, 8, 194, 0,
16, 0, 3, 0, 0, 0,
2, 64, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 46, 0, 0, 10,
66, 0, 16, 0, 2, 0,
0, 0, 70, 14, 16, 0,
3, 0, 0, 0, 150, 124,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 26, 0,
16, 0, 0, 0, 0, 0,
30, 0, 0, 10, 242, 0,
16, 0, 3, 0, 0, 0,
70, 4, 16, 0, 1, 0,
0, 0, 2, 64, 0, 0,
4, 0, 0, 0, 0, 0,
0, 0, 3, 0, 0, 0,
0, 0, 0, 0, 54, 0,
0, 5, 50, 0, 16, 0,
4, 0, 0, 0, 230, 10,
16, 0, 3, 0, 0, 0,
54, 0, 0, 8, 194, 0,
16, 0, 4, 0, 0, 0,
2, 64, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 46, 0, 0, 10,
130, 0, 16, 0, 2, 0,
0, 0, 70, 14, 16, 0,
1, 0, 0, 0, 150, 115,
4, 0, 0, 0, 150, 115,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 26, 0,
16, 0, 0, 0, 0, 0,
164, 0, 0, 8, 242, 224,
33, 0, 0, 0, 0, 0,
0, 0, 0, 0, 166, 10,
0, 0, 0, 0, 6, 0,
16, 0, 0, 0, 0, 0,
70, 14, 16, 0, 2, 0,
0, 0, 62, 0, 0, 1,
83, 84, 65, 84, 148, 0,
0, 0, 55, 0, 0, 0,
5, 0, 0, 0, 0, 0,
0, 0, 30, 0, 0, 7,
66, 0, 16, 0, 0, 0,
0, 0, 10, 0, 16, 0,
0, 0, 0, 0, 1, 64,
0, 0, 1, 0, 0, 0,
54, 0, 0, 8, 194, 0,
16, 0, 3, 0, 0, 0,
2, 64, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 46, 0, 0, 10,
18, 0, 16, 0, 2, 0,
0, 0, 70, 14, 16, 0,
3, 0, 0, 0, 70, 126,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 26, 0,
16, 0, 0, 0, 0, 0,
30, 0, 0, 10, 242, 0,
16, 0, 3, 0, 0, 0,
70, 4, 16, 0, 1, 0,
0, 0, 2, 64, 0, 0,
6, 0, 0, 0, 0, 0,
0, 0, 5, 0, 0, 0,
0, 0, 0, 0, 54, 0,
0, 5, 50, 0, 16, 0,
4, 0, 0, 0, 230, 10,
16, 0, 3, 0, 0, 0,
54, 0, 0, 8, 194, 0,
16, 0, 4, 0, 0, 0,
2, 64, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 46, 0, 0, 10,
34, 0, 16, 0, 2, 0,
0, 0, 70, 14, 16, 0,
4, 0, 0, 0, 22, 126,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 26, 0,
16, 0, 0, 0, 0, 0,
54, 0, 0, 8, 194, 0,
16, 0, 3, 0, 0, 0,
2, 64, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 46, 0, 0, 10,
66, 0, 16, 0, 2, 0,
0, 0, 70, 14, 16, 0,
3, 0, 0, 0, 150, 124,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 26, 0,
16, 0, 0, 0, 0, 0,
30, 0, 0, 10, 50, 0,
16, 0, 1, 0, 0, 0,
70, 0, 16, 0, 1, 0,
0, 0, 2, 64, 0, 0,
7, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 54, 0,
0, 8, 194, 0, 16, 0,
1, 0, 0, 0, 2, 64,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
46, 0, 0, 10, 130, 0,
16, 0, 2, 0, 0, 0,
70, 14, 16, 0, 1, 0,
0, 0, 150, 115, 32, 0,
0, 0, 0, 0, 0, 0,
0, 0, 26, 0, 16, 0,
0, 0, 0, 0, 164, 0,
0, 8, 242, 224, 33, 0,
0, 0, 0, 0, 0, 0,
0, 0, 166, 10, 16, 0,
0, 0, 0, 0, 70, 14,
16, 0, 2, 0, 0, 0,
62, 0, 0, 1, 83, 84,
65, 84, 148, 0, 0, 0,
56, 0, 0, 0, 5, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0,
0, 0, 17, 0, 0, 0,
7, 0, 0, 0, 2, 0,
0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 16, 0,
0, 0, 7, 0, 0, 0,
2, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 8, 0, 0, 0,
8, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
13, 0, 0, 0, 2, 0,
0, 0, 0, 0, 13, 0,
0, 0, 2, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
@ -552,5 +558,5 @@ const BYTE host_depth_store_2xmsaa_cs[] =
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 2, 0, 0, 0
2, 0, 0, 0
};

View File

@ -45,6 +45,7 @@ dcl_temps 5
dcl_thread_group 8, 8, 1
ushr r0.x, vThreadID.x, l(1)
ubfe r0.yzw, l(0, 2, 2, 10), l(0, 10, 12, 20), CB0[0][0].yyyx
iadd r0.w, r0.w, l(1)
imul null, r0.w, r0.y, r0.w
uge r0.x, r0.x, r0.w
if_nz r0.x
@ -86,20 +87,20 @@ ldms r2.z, r1.xyww, T0[0].yzxw, r0.y
ldms r2.w, r1.xyzw, T0[0].yzwx, r0.z
store_uav_typed U0[0].xyzw, r0.wwww, r2.xyzw
ret
// Approximately 43 instruction slots used
// Approximately 44 instruction slots used
#endif
const BYTE host_depth_store_4xmsaa_cs[] =
{
68, 88, 66, 67, 228, 255,
125, 131, 57, 152, 116, 37,
239, 178, 197, 194, 123, 11,
165, 55, 1, 0, 0, 0,
64, 9, 0, 0, 5, 0,
68, 88, 66, 67, 22, 4,
249, 231, 138, 223, 129, 17,
254, 140, 100, 88, 172, 0,
87, 101, 1, 0, 0, 0,
92, 9, 0, 0, 5, 0,
0, 0, 52, 0, 0, 0,
52, 2, 0, 0, 68, 2,
0, 0, 84, 2, 0, 0,
164, 8, 0, 0, 82, 68,
192, 8, 0, 0, 82, 68,
69, 70, 248, 1, 0, 0,
1, 0, 0, 0, 252, 0,
0, 0, 3, 0, 0, 0,
@ -191,8 +192,8 @@ const BYTE host_depth_store_4xmsaa_cs[] =
71, 78, 8, 0, 0, 0,
0, 0, 0, 0, 8, 0,
0, 0, 83, 72, 69, 88,
72, 6, 0, 0, 81, 0,
5, 0, 146, 1, 0, 0,
100, 6, 0, 0, 81, 0,
5, 0, 153, 1, 0, 0,
106, 8, 0, 1, 89, 0,
0, 7, 70, 142, 48, 0,
0, 0, 0, 0, 0, 0,
@ -228,252 +229,257 @@ const BYTE host_depth_store_4xmsaa_cs[] =
20, 0, 0, 0, 86, 129,
48, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 38, 0, 0, 8,
0, 208, 0, 0, 130, 0,
16, 0, 0, 0, 0, 0,
26, 0, 16, 0, 0, 0,
0, 0, 30, 0, 0, 7,
130, 0, 16, 0, 0, 0,
0, 0, 58, 0, 16, 0,
0, 0, 0, 0, 80, 0,
0, 7, 18, 0, 16, 0,
0, 0, 0, 0, 10, 0,
16, 0, 0, 0, 0, 0,
58, 0, 16, 0, 0, 0,
0, 0, 31, 0, 4, 3,
10, 0, 16, 0, 0, 0,
0, 0, 62, 0, 0, 1,
21, 0, 0, 1, 85, 0,
0, 9, 34, 0, 16, 0,
1, 0, 0, 0, 10, 128,
48, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 1, 64, 0, 0,
10, 0, 0, 0, 54, 0,
0, 7, 18, 0, 16, 0,
1, 0, 0, 0, 10, 128,
48, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 140, 0, 0, 20,
146, 0, 16, 0, 0, 0,
0, 0, 2, 64, 0, 0,
10, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
10, 0, 0, 0, 2, 64,
0, 0, 3, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 3, 0, 0, 0,
6, 4, 16, 0, 1, 0,
0, 0, 2, 64, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 41, 0,
0, 6, 18, 0, 16, 0,
1, 0, 0, 0, 10, 0,
2, 0, 1, 64, 0, 0,
2, 0, 0, 0, 85, 0,
0, 6, 34, 0, 16, 0,
1, 0, 0, 0, 26, 0,
2, 0, 1, 64, 0, 0,
1, 0, 0, 0, 35, 0,
0, 9, 50, 0, 16, 0,
1, 0, 0, 0, 198, 0,
16, 0, 0, 0, 0, 0,
150, 5, 16, 0, 0, 0,
0, 0, 70, 0, 16, 0,
1, 0, 0, 0, 140, 0,
0, 16, 146, 0, 16, 0,
0, 0, 0, 0, 2, 64,
0, 0, 31, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 31, 0, 0, 0,
2, 64, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0,
0, 0, 6, 4, 16, 0,
1, 0, 0, 0, 6, 4,
2, 0, 1, 0, 0, 9,
18, 0, 16, 0, 2, 0,
0, 0, 26, 128, 48, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
1, 64, 0, 0, 255, 3,
0, 0, 38, 0, 0, 11,
0, 208, 0, 0, 98, 0,
16, 0, 0, 0, 0, 0,
86, 6, 16, 0, 0, 0,
0, 0, 2, 64, 0, 0,
0, 0, 0, 0, 80, 0,
0, 0, 16, 0, 0, 0,
0, 0, 0, 0, 78, 0,
0, 8, 98, 0, 16, 0,
2, 0, 0, 0, 0, 208,
0, 0, 6, 3, 16, 0,
0, 0, 0, 0, 86, 6,
16, 0, 0, 0, 0, 0,
35, 0, 0, 9, 18, 0,
16, 0, 2, 0, 0, 0,
42, 0, 16, 0, 2, 0,
0, 0, 10, 0, 16, 0,
2, 0, 0, 0, 26, 0,
16, 0, 2, 0, 0, 0,
35, 0, 0, 10, 146, 0,
16, 0, 0, 0, 0, 0,
86, 9, 16, 128, 65, 0,
0, 0, 2, 0, 0, 0,
86, 9, 16, 0, 0, 0,
0, 0, 6, 12, 16, 0,
0, 0, 0, 0, 38, 0,
0, 8, 0, 208, 0, 0,
66, 0, 16, 0, 0, 0,
0, 0, 42, 0, 16, 0,
0, 0, 0, 0, 26, 0,
16, 0, 0, 0, 0, 0,
35, 0, 0, 9, 18, 0,
16, 0, 0, 0, 0, 0,
58, 0, 16, 0, 0, 0,
0, 0, 26, 0, 16, 0,
0, 0, 0, 0, 10, 0,
16, 0, 0, 0, 0, 0,
35, 0, 0, 9, 18, 0,
16, 0, 0, 0, 0, 0,
10, 0, 16, 0, 2, 0,
0, 0, 42, 0, 16, 0,
0, 0, 0, 0, 10, 0,
16, 0, 0, 0, 0, 0,
85, 0, 0, 7, 18, 0,
16, 0, 0, 0, 0, 0,
10, 0, 16, 0, 0, 0,
0, 0, 1, 64, 0, 0,
2, 0, 0, 0, 140, 0,
0, 10, 34, 0, 16, 0,
0, 0, 0, 0, 1, 64,
0, 0, 1, 0, 0, 0,
1, 64, 0, 0, 1, 0,
0, 0, 26, 0, 2, 0,
1, 64, 0, 0, 0, 0,
0, 0, 30, 0, 0, 10,
194, 0, 16, 0, 0, 0,
0, 0, 86, 1, 16, 0,
0, 0, 0, 0, 2, 64,
38, 0, 0, 8, 0, 208,
0, 0, 130, 0, 16, 0,
0, 0, 0, 0, 26, 0,
16, 0, 0, 0, 0, 0,
58, 0, 16, 0, 0, 0,
0, 0, 80, 0, 0, 7,
18, 0, 16, 0, 0, 0,
0, 0, 10, 0, 16, 0,
0, 0, 0, 0, 58, 0,
16, 0, 0, 0, 0, 0,
31, 0, 4, 3, 10, 0,
16, 0, 0, 0, 0, 0,
62, 0, 0, 1, 21, 0,
0, 1, 85, 0, 0, 9,
34, 0, 16, 0, 1, 0,
0, 0, 10, 128, 48, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0,
0, 0, 1, 0, 0, 0,
54, 0, 0, 8, 194, 0,
0, 0, 0, 0, 0, 0,
1, 64, 0, 0, 10, 0,
0, 0, 54, 0, 0, 7,
18, 0, 16, 0, 1, 0,
0, 0, 10, 128, 48, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
140, 0, 0, 20, 146, 0,
16, 0, 0, 0, 0, 0,
2, 64, 0, 0, 10, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 10, 0,
0, 0, 2, 64, 0, 0,
3, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
3, 0, 0, 0, 6, 4,
16, 0, 1, 0, 0, 0,
2, 64, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 46, 0, 0, 10,
18, 0, 16, 0, 2, 0,
0, 0, 70, 15, 16, 0,
1, 0, 0, 0, 70, 126,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 26, 0,
0, 0, 41, 0, 0, 6,
18, 0, 16, 0, 1, 0,
0, 0, 10, 0, 2, 0,
1, 64, 0, 0, 2, 0,
0, 0, 85, 0, 0, 6,
34, 0, 16, 0, 1, 0,
0, 0, 26, 0, 2, 0,
1, 64, 0, 0, 1, 0,
0, 0, 35, 0, 0, 9,
50, 0, 16, 0, 1, 0,
0, 0, 198, 0, 16, 0,
0, 0, 0, 0, 150, 5,
16, 0, 0, 0, 0, 0,
46, 0, 0, 10, 34, 0,
70, 0, 16, 0, 1, 0,
0, 0, 140, 0, 0, 16,
146, 0, 16, 0, 0, 0,
0, 0, 2, 64, 0, 0,
31, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
31, 0, 0, 0, 2, 64,
0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0,
6, 4, 16, 0, 1, 0,
0, 0, 6, 4, 2, 0,
1, 0, 0, 9, 18, 0,
16, 0, 2, 0, 0, 0,
70, 14, 16, 0, 1, 0,
0, 0, 22, 126, 32, 0,
26, 128, 48, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 42, 0, 16, 0,
0, 0, 0, 0, 30, 0,
0, 10, 242, 0, 16, 0,
3, 0, 0, 0, 70, 4,
16, 0, 1, 0, 0, 0,
2, 64, 0, 0, 2, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0,
0, 0, 54, 0, 0, 5,
50, 0, 16, 0, 4, 0,
0, 0, 230, 10, 16, 0,
3, 0, 0, 0, 54, 0,
0, 8, 194, 0, 16, 0,
4, 0, 0, 0, 2, 64,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
46, 0, 0, 10, 66, 0,
0, 0, 0, 0, 1, 64,
0, 0, 255, 3, 0, 0,
38, 0, 0, 11, 0, 208,
0, 0, 98, 0, 16, 0,
0, 0, 0, 0, 86, 6,
16, 0, 0, 0, 0, 0,
2, 64, 0, 0, 0, 0,
0, 0, 80, 0, 0, 0,
16, 0, 0, 0, 0, 0,
0, 0, 78, 0, 0, 8,
98, 0, 16, 0, 2, 0,
0, 0, 0, 208, 0, 0,
6, 3, 16, 0, 0, 0,
0, 0, 86, 6, 16, 0,
0, 0, 0, 0, 35, 0,
0, 9, 18, 0, 16, 0,
2, 0, 0, 0, 42, 0,
16, 0, 2, 0, 0, 0,
70, 15, 16, 0, 4, 0,
0, 0, 150, 124, 32, 0,
0, 0, 0, 0, 0, 0,
10, 0, 16, 0, 2, 0,
0, 0, 26, 0, 16, 0,
0, 0, 0, 0, 46, 0,
0, 10, 130, 0, 16, 0,
2, 0, 0, 0, 70, 14,
16, 0, 4, 0, 0, 0,
150, 115, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
2, 0, 0, 0, 35, 0,
0, 10, 146, 0, 16, 0,
0, 0, 0, 0, 86, 9,
16, 128, 65, 0, 0, 0,
2, 0, 0, 0, 86, 9,
16, 0, 0, 0, 0, 0,
6, 12, 16, 0, 0, 0,
0, 0, 38, 0, 0, 8,
0, 208, 0, 0, 66, 0,
16, 0, 0, 0, 0, 0,
42, 0, 16, 0, 0, 0,
0, 0, 164, 0, 0, 8,
242, 224, 33, 0, 0, 0,
0, 0, 26, 0, 16, 0,
0, 0, 0, 0, 35, 0,
0, 9, 18, 0, 16, 0,
0, 0, 0, 0, 58, 0,
16, 0, 0, 0, 0, 0,
26, 0, 16, 0, 0, 0,
0, 0, 10, 0, 16, 0,
0, 0, 0, 0, 35, 0,
0, 9, 18, 0, 16, 0,
0, 0, 0, 0, 10, 0,
16, 0, 2, 0, 0, 0,
42, 0, 16, 0, 0, 0,
0, 0, 10, 0, 16, 0,
0, 0, 0, 0, 85, 0,
0, 7, 18, 0, 16, 0,
0, 0, 0, 0, 10, 0,
16, 0, 0, 0, 0, 0,
1, 64, 0, 0, 2, 0,
0, 0, 140, 0, 0, 10,
34, 0, 16, 0, 0, 0,
0, 0, 1, 64, 0, 0,
1, 0, 0, 0, 1, 64,
0, 0, 1, 0, 0, 0,
26, 0, 2, 0, 1, 64,
0, 0, 0, 0, 0, 0,
6, 0, 16, 0, 0, 0,
0, 0, 70, 14, 16, 0,
2, 0, 0, 0, 54, 0,
30, 0, 0, 10, 194, 0,
16, 0, 0, 0, 0, 0,
86, 1, 16, 0, 0, 0,
0, 0, 2, 64, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 54, 0,
0, 8, 194, 0, 16, 0,
3, 0, 0, 0, 2, 64,
1, 0, 0, 0, 2, 64,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
46, 0, 0, 10, 18, 0,
16, 0, 2, 0, 0, 0,
70, 15, 16, 0, 3, 0,
70, 15, 16, 0, 1, 0,
0, 0, 70, 126, 32, 0,
0, 0, 0, 0, 0, 0,
0, 0, 26, 0, 16, 0,
0, 0, 0, 0, 46, 0,
0, 10, 34, 0, 16, 0,
2, 0, 0, 0, 70, 14,
16, 0, 3, 0, 0, 0,
16, 0, 1, 0, 0, 0,
22, 126, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
42, 0, 16, 0, 0, 0,
0, 0, 30, 0, 0, 10,
50, 0, 16, 0, 1, 0,
0, 0, 70, 0, 16, 0,
242, 0, 16, 0, 3, 0,
0, 0, 70, 4, 16, 0,
1, 0, 0, 0, 2, 64,
0, 0, 3, 0, 0, 0,
0, 0, 2, 0, 0, 0,
0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0,
54, 0, 0, 5, 50, 0,
16, 0, 4, 0, 0, 0,
230, 10, 16, 0, 3, 0,
0, 0, 54, 0, 0, 8,
194, 0, 16, 0, 4, 0,
0, 0, 2, 64, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
54, 0, 0, 8, 194, 0,
16, 0, 1, 0, 0, 0,
2, 64, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 46, 0,
0, 10, 66, 0, 16, 0,
2, 0, 0, 0, 70, 15,
16, 0, 4, 0, 0, 0,
150, 124, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
26, 0, 16, 0, 0, 0,
0, 0, 46, 0, 0, 10,
66, 0, 16, 0, 2, 0,
0, 0, 70, 15, 16, 0,
1, 0, 0, 0, 150, 124,
130, 0, 16, 0, 2, 0,
0, 0, 70, 14, 16, 0,
4, 0, 0, 0, 150, 115,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 26, 0,
0, 0, 0, 0, 42, 0,
16, 0, 0, 0, 0, 0,
46, 0, 0, 10, 130, 0,
16, 0, 2, 0, 0, 0,
70, 14, 16, 0, 1, 0,
0, 0, 150, 115, 32, 0,
0, 0, 0, 0, 0, 0,
0, 0, 42, 0, 16, 0,
0, 0, 0, 0, 164, 0,
0, 8, 242, 224, 33, 0,
0, 0, 0, 0, 0, 0,
0, 0, 246, 15, 16, 0,
0, 0, 0, 0, 70, 14,
16, 0, 2, 0, 0, 0,
62, 0, 0, 1, 83, 84,
65, 84, 148, 0, 0, 0,
43, 0, 0, 0, 5, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0,
0, 0, 12, 0, 0, 0,
7, 0, 0, 0, 2, 0,
0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
8, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
164, 0, 0, 8, 242, 224,
33, 0, 0, 0, 0, 0,
0, 0, 0, 0, 6, 0,
16, 0, 0, 0, 0, 0,
70, 14, 16, 0, 2, 0,
0, 0, 54, 0, 0, 8,
194, 0, 16, 0, 3, 0,
0, 0, 2, 64, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 46, 0,
0, 10, 18, 0, 16, 0,
2, 0, 0, 0, 70, 15,
16, 0, 3, 0, 0, 0,
70, 126, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
26, 0, 16, 0, 0, 0,
0, 0, 46, 0, 0, 10,
34, 0, 16, 0, 2, 0,
0, 0, 70, 14, 16, 0,
3, 0, 0, 0, 22, 126,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 42, 0,
16, 0, 0, 0, 0, 0,
30, 0, 0, 10, 50, 0,
16, 0, 1, 0, 0, 0,
70, 0, 16, 0, 1, 0,
0, 0, 2, 64, 0, 0,
3, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 54, 0,
0, 8, 194, 0, 16, 0,
1, 0, 0, 0, 2, 64,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
46, 0, 0, 10, 66, 0,
16, 0, 2, 0, 0, 0,
70, 15, 16, 0, 1, 0,
0, 0, 150, 124, 32, 0,
0, 0, 0, 0, 0, 0,
0, 0, 26, 0, 16, 0,
0, 0, 0, 0, 46, 0,
0, 10, 130, 0, 16, 0,
2, 0, 0, 0, 70, 14,
16, 0, 1, 0, 0, 0,
150, 115, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
42, 0, 16, 0, 0, 0,
0, 0, 164, 0, 0, 8,
242, 224, 33, 0, 0, 0,
0, 0, 0, 0, 0, 0,
246, 15, 16, 0, 0, 0,
0, 0, 70, 14, 16, 0,
2, 0, 0, 0, 62, 0,
0, 1, 83, 84, 65, 84,
148, 0, 0, 0, 44, 0,
0, 0, 5, 0, 0, 0,
0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0,
13, 0, 0, 0, 7, 0,
0, 0, 2, 0, 0, 0,
1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 8, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 6, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
@ -484,6 +490,6 @@ const BYTE host_depth_store_4xmsaa_cs[] =
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
2, 0, 0, 0
0, 0, 0, 0, 2, 0,
0, 0
};

View File

@ -5,7 +5,7 @@
//
// Buffer Definitions:
//
// cbuffer XeResolveConstants
// cbuffer xesl_pushConstants
// {
//
// uint2 xe_resolve_clear_value; // Offset: 0 Size: 8
@ -20,7 +20,7 @@
// Name Type Format Dim ID HLSL Bind Count
// ------------------------------ ---------- ------- ----------- ------- -------------- ------
// xe_resolve_dest UAV uint4 buf U0 u0 1
// XeResolveConstants cbuffer NA NA CB0 cb0 1
// xesl_pushConstants cbuffer NA NA CB0 cb0 1
//
//
//
@ -42,34 +42,34 @@ dcl_uav_typed_buffer (uint,uint,uint,uint) U0[0:0], space=0
dcl_input vThreadID.xy
dcl_temps 3
dcl_thread_group 8, 8, 1
ubfe r0.xy, l(2, 11, 0, 0), l(10, 5, 0, 0), CB0[0][0].zwzz
uge r0.xz, r0.xxxx, l(2, 0, 1, 0)
and r0.w, r0.x, l(1)
ishl r0.y, r0.y, r0.w
uge r0.y, vThreadID.x, r0.y
if_nz r0.y
and r0.xy, CB0[0][0].zzzz, l(1023, 4096, 0, 0)
ushr r1.y, CB0[0][0].w, l(4)
ubfe r0.zw, l(0, 0, 2, 11), l(0, 0, 10, 5), CB0[0][0].zzzw
uge r1.zw, r0.zzzz, l(0, 0, 2, 1)
and r0.z, r1.z, l(1)
ishl r0.z, r0.w, r0.z
uge r0.z, vThreadID.x, r0.z
if_nz r0.z
ret
endif
ishl r1.x, vThreadID.x, l(3)
ushr r2.y, CB0[0][0].w, l(4)
movc r0.xy, r0.xzxx, l(4,4,0,0), l(3,3,0,0)
mov r2.x, CB0[0][0].w
bfi r0.xy, l(4, 1, 0, 0), r0.xyxx, r2.xyxx, l(0, 0, 0, 0)
mov r1.y, vThreadID.y
iadd r0.xy, r0.xyxx, r1.xyxx
ubfe r0.z, l(12), l(13), CB0[0][0].z
and r1.xy, CB0[0][0].zzzz, l(1023, 4096, 0, 0)
udiv r1.zw, null, r0.xxxy, l(0, 0, 80, 16)
imad r0.w, r1.w, r1.x, r1.z
iadd r0.z, r0.w, r0.z
imad r0.xy, -r1.zwzz, l(80, 16, 0, 0), r0.xyxx
if_nz r1.y
uge r0.w, r0.x, l(40)
movc r0.w, r0.w, l(-40), l(40)
iadd r0.x, r0.w, r0.x
ishl r2.x, vThreadID.x, l(3)
movc r1.zw, r1.zzzw, l(0,0,4,4), l(0,0,3,3)
mov r1.x, CB0[0][0].w
bfi r1.xy, l(4, 1, 0, 0), r1.zwzz, r1.xyxx, l(0, 0, 0, 0)
mov r2.y, vThreadID.y
iadd r1.xy, r1.xyxx, r2.xyxx
udiv r1.zw, null, r1.xxxy, l(0, 0, 80, 16)
imad r0.x, r1.w, r0.x, r1.z
iadd r0.x, r0.x, r0.z
imad r0.zw, -r1.zzzw, l(0, 0, 80, 16), r1.xxxy
if_nz r0.y
uge r0.y, r0.z, l(40)
movc r0.y, r0.y, l(-40), l(40)
iadd r0.z, r0.y, r0.z
endif
imad r0.x, r0.y, l(80), r0.x
imad r0.x, r0.z, l(1280), r0.x
imad r0.y, r0.w, l(80), r0.z
imad r0.x, r0.x, l(1280), r0.y
ushr r0.x, r0.x, l(2)
store_uav_typed U0[0].xyzw, r0.xxxx, CB0[0][0].xxxx
iadd r0.y, r0.x, l(1)
@ -80,10 +80,10 @@ ret
const BYTE resolve_clear_32bpp_cs[] =
{
68, 88, 66, 67, 219, 244,
64, 144, 53, 73, 227, 233,
8, 169, 113, 179, 32, 211,
102, 194, 1, 0, 0, 0,
68, 88, 66, 67, 109, 95,
62, 4, 33, 103, 86, 53,
100, 75, 124, 96, 49, 70,
175, 0, 1, 0, 0, 0,
124, 7, 0, 0, 5, 0,
0, 0, 52, 0, 0, 0,
68, 2, 0, 0, 84, 2,
@ -116,8 +116,8 @@ const BYTE resolve_clear_32bpp_cs[] =
0, 0, 120, 101, 95, 114,
101, 115, 111, 108, 118, 101,
95, 100, 101, 115, 116, 0,
88, 101, 82, 101, 115, 111,
108, 118, 101, 67, 111, 110,
120, 101, 115, 108, 95, 112,
117, 115, 104, 67, 111, 110,
115, 116, 97, 110, 116, 115,
0, 171, 156, 0, 0, 0,
3, 0, 0, 0, 200, 0,
@ -200,155 +200,155 @@ const BYTE resolve_clear_32bpp_cs[] =
0, 0, 155, 0, 0, 4,
8, 0, 0, 0, 8, 0,
0, 0, 1, 0, 0, 0,
138, 0, 0, 17, 50, 0,
1, 0, 0, 12, 50, 0,
16, 0, 0, 0, 0, 0,
2, 64, 0, 0, 2, 0,
0, 0, 11, 0, 0, 0,
166, 138, 48, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2, 64,
0, 0, 255, 3, 0, 0,
0, 16, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
85, 0, 0, 9, 34, 0,
16, 0, 1, 0, 0, 0,
58, 128, 48, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 64,
0, 0, 4, 0, 0, 0,
138, 0, 0, 17, 194, 0,
16, 0, 0, 0, 0, 0,
2, 64, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
2, 0, 0, 0, 11, 0,
0, 0, 2, 64, 0, 0,
10, 0, 0, 0, 5, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 230, 138,
0, 0, 10, 0, 0, 0,
5, 0, 0, 0, 166, 142,
48, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 80, 0, 0, 10,
82, 0, 16, 0, 0, 0,
0, 0, 6, 0, 16, 0,
194, 0, 16, 0, 1, 0,
0, 0, 166, 10, 16, 0,
0, 0, 0, 0, 2, 64,
0, 0, 2, 0, 0, 0,
0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 7, 130, 0,
0, 0, 0, 0, 2, 0,
0, 0, 1, 0, 0, 0,
1, 0, 0, 7, 66, 0,
16, 0, 0, 0, 0, 0,
10, 0, 16, 0, 0, 0,
42, 0, 16, 0, 1, 0,
0, 0, 1, 64, 0, 0,
1, 0, 0, 0, 41, 0,
0, 7, 34, 0, 16, 0,
0, 0, 0, 0, 26, 0,
16, 0, 0, 0, 0, 0,
58, 0, 16, 0, 0, 0,
0, 0, 80, 0, 0, 6,
34, 0, 16, 0, 0, 0,
0, 0, 10, 0, 2, 0,
26, 0, 16, 0, 0, 0,
0, 0, 31, 0, 4, 3,
26, 0, 16, 0, 0, 0,
0, 0, 62, 0, 0, 1,
21, 0, 0, 1, 41, 0,
0, 6, 18, 0, 16, 0,
1, 0, 0, 0, 10, 0,
2, 0, 1, 64, 0, 0,
3, 0, 0, 0, 85, 0,
0, 9, 34, 0, 16, 0,
2, 0, 0, 0, 58, 128,
48, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 1, 64, 0, 0,
4, 0, 0, 0, 55, 0,
0, 15, 50, 0, 16, 0,
0, 0, 0, 0, 134, 0,
16, 0, 0, 0, 0, 0,
2, 64, 0, 0, 4, 0,
0, 0, 4, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 2, 64, 0, 0,
3, 0, 0, 0, 3, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 54, 0,
0, 7, 18, 0, 16, 0,
2, 0, 0, 0, 58, 128,
48, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 140, 0, 0, 17,
50, 0, 16, 0, 0, 0,
0, 0, 2, 64, 0, 0,
4, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 70, 0,
16, 0, 0, 0, 0, 0,
70, 0, 16, 0, 2, 0,
0, 0, 2, 64, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 54, 0,
0, 4, 34, 0, 16, 0,
1, 0, 0, 0, 26, 0,
2, 0, 30, 0, 0, 7,
50, 0, 16, 0, 0, 0,
0, 0, 70, 0, 16, 0,
0, 0, 0, 0, 70, 0,
16, 0, 1, 0, 0, 0,
138, 0, 0, 11, 66, 0,
16, 0, 0, 0, 0, 0,
1, 64, 0, 0, 12, 0,
0, 0, 1, 64, 0, 0,
13, 0, 0, 0, 42, 128,
48, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 12,
50, 0, 16, 0, 1, 0,
0, 0, 166, 138, 48, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
2, 64, 0, 0, 255, 3,
0, 0, 0, 16, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 78, 0, 0, 11,
194, 0, 16, 0, 1, 0,
0, 0, 0, 208, 0, 0,
6, 4, 16, 0, 0, 0,
0, 0, 2, 64, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 80, 0, 0, 0,
16, 0, 0, 0, 35, 0,
0, 9, 130, 0, 16, 0,
0, 0, 0, 0, 58, 0,
16, 0, 1, 0, 0, 0,
10, 0, 16, 0, 1, 0,
0, 0, 42, 0, 16, 0,
1, 0, 0, 0, 30, 0,
0, 7, 66, 0, 16, 0,
0, 0, 0, 0, 58, 0,
16, 0, 0, 0, 0, 0,
42, 0, 16, 0, 0, 0,
0, 0, 80, 0, 0, 6,
66, 0, 16, 0, 0, 0,
0, 0, 10, 0, 2, 0,
42, 0, 16, 0, 0, 0,
0, 0, 31, 0, 4, 3,
42, 0, 16, 0, 0, 0,
0, 0, 62, 0, 0, 1,
21, 0, 0, 1, 138, 0,
0, 11, 66, 0, 16, 0,
0, 0, 0, 0, 1, 64,
0, 0, 12, 0, 0, 0,
1, 64, 0, 0, 13, 0,
0, 0, 42, 128, 48, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
41, 0, 0, 6, 18, 0,
16, 0, 2, 0, 0, 0,
10, 0, 2, 0, 1, 64,
0, 0, 3, 0, 0, 0,
55, 0, 0, 15, 194, 0,
16, 0, 1, 0, 0, 0,
166, 14, 16, 0, 1, 0,
0, 0, 2, 64, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 4, 0, 0, 0,
4, 0, 0, 0, 2, 64,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3, 0,
0, 0, 3, 0, 0, 0,
54, 0, 0, 7, 18, 0,
16, 0, 1, 0, 0, 0,
58, 128, 48, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 140, 0,
0, 17, 50, 0, 16, 0,
1, 0, 0, 0, 2, 64,
0, 0, 4, 0, 0, 0,
1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
230, 10, 16, 0, 1, 0,
0, 0, 70, 0, 16, 0,
1, 0, 0, 0, 2, 64,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
54, 0, 0, 4, 34, 0,
16, 0, 2, 0, 0, 0,
26, 0, 2, 0, 30, 0,
0, 7, 50, 0, 16, 0,
1, 0, 0, 0, 70, 0,
16, 0, 1, 0, 0, 0,
70, 0, 16, 0, 2, 0,
0, 0, 78, 0, 0, 11,
194, 0, 16, 0, 1, 0,
0, 0, 0, 208, 0, 0,
6, 4, 16, 0, 1, 0,
0, 0, 2, 64, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 80, 0, 0, 0,
16, 0, 0, 0, 35, 0,
0, 9, 18, 0, 16, 0,
0, 0, 0, 0, 58, 0,
16, 0, 1, 0, 0, 0,
10, 0, 16, 0, 0, 0,
0, 0, 42, 0, 16, 0,
1, 0, 0, 0, 30, 0,
0, 7, 18, 0, 16, 0,
0, 0, 0, 0, 10, 0,
16, 0, 0, 0, 0, 0,
42, 0, 16, 0, 0, 0,
0, 0, 35, 0, 0, 13,
50, 0, 16, 0, 0, 0,
0, 0, 230, 10, 16, 128,
194, 0, 16, 0, 0, 0,
0, 0, 166, 14, 16, 128,
65, 0, 0, 0, 1, 0,
0, 0, 2, 64, 0, 0,
80, 0, 0, 0, 16, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 70, 0,
16, 0, 0, 0, 0, 0,
31, 0, 4, 3, 26, 0,
0, 0, 80, 0, 0, 0,
16, 0, 0, 0, 6, 4,
16, 0, 1, 0, 0, 0,
80, 0, 0, 7, 130, 0,
31, 0, 4, 3, 26, 0,
16, 0, 0, 0, 0, 0,
10, 0, 16, 0, 0, 0,
80, 0, 0, 7, 34, 0,
16, 0, 0, 0, 0, 0,
42, 0, 16, 0, 0, 0,
0, 0, 1, 64, 0, 0,
40, 0, 0, 0, 55, 0,
0, 9, 130, 0, 16, 0,
0, 0, 0, 0, 58, 0,
0, 9, 34, 0, 16, 0,
0, 0, 0, 0, 26, 0,
16, 0, 0, 0, 0, 0,
1, 64, 0, 0, 216, 255,
255, 255, 1, 64, 0, 0,
40, 0, 0, 0, 30, 0,
0, 7, 18, 0, 16, 0,
0, 0, 0, 0, 58, 0,
16, 0, 0, 0, 0, 0,
10, 0, 16, 0, 0, 0,
0, 0, 21, 0, 0, 1,
35, 0, 0, 9, 18, 0,
16, 0, 0, 0, 0, 0,
26, 0, 16, 0, 0, 0,
0, 0, 1, 64, 0, 0,
80, 0, 0, 0, 10, 0,
16, 0, 0, 0, 0, 0,
35, 0, 0, 9, 18, 0,
0, 7, 66, 0, 16, 0,
0, 0, 0, 0, 26, 0,
16, 0, 0, 0, 0, 0,
42, 0, 16, 0, 0, 0,
0, 0, 21, 0, 0, 1,
35, 0, 0, 9, 34, 0,
16, 0, 0, 0, 0, 0,
58, 0, 16, 0, 0, 0,
0, 0, 1, 64, 0, 0,
0, 5, 0, 0, 10, 0,
80, 0, 0, 0, 42, 0,
16, 0, 0, 0, 0, 0,
35, 0, 0, 9, 18, 0,
16, 0, 0, 0, 0, 0,
10, 0, 16, 0, 0, 0,
0, 0, 1, 64, 0, 0,
0, 5, 0, 0, 26, 0,
16, 0, 0, 0, 0, 0,
85, 0, 0, 7, 18, 0,
16, 0, 0, 0, 0, 0,

View File

@ -5,7 +5,7 @@
//
// Buffer Definitions:
//
// cbuffer XeResolveConstants
// cbuffer xesl_pushConstants
// {
//
// uint2 xe_resolve_clear_value; // Offset: 0 Size: 8
@ -20,7 +20,7 @@
// Name Type Format Dim ID HLSL Bind Count
// ------------------------------ ---------- ------- ----------- ------- -------------- ------
// xe_resolve_dest UAV uint4 buf U0 u0 1
// XeResolveConstants cbuffer NA NA CB0 cb0 1
// xesl_pushConstants cbuffer NA NA CB0 cb0 1
//
//
//
@ -40,62 +40,61 @@ dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB0[0:0][1], immediateIndexed, space=0
dcl_uav_typed_buffer (uint,uint,uint,uint) U0[0:0], space=0
dcl_input vThreadID.xy
dcl_temps 3
dcl_temps 4
dcl_thread_group 8, 8, 1
ubfe r0.xyz, l(2, 11, 2, 0), l(10, 5, 27, 0), CB0[0][0].zwwz
uge r0.xw, r0.xxxx, l(2, 0, 0, 1)
and r1.x, r0.x, l(1)
imul null, r0.y, r0.z, r0.y
ishl r0.y, r0.y, r1.x
uge r0.y, vThreadID.x, r0.y
if_nz r0.y
and r0.xy, CB0[0][0].zzzz, l(1023, 4096, 0, 0)
ushr r1.y, CB0[0][0].w, l(4)
ubfe r2.xyzw, l(2, 2, 2, 11), l(10, 27, 29, 5), CB0[0][0].zwww
imul null, r0.z, r2.y, r2.w
uge r1.zw, r2.xxxx, l(0, 0, 2, 1)
and r1.zw, r1.zzzw, l(0, 0, 1, 1)
ishl r0.z, r0.z, r1.z
uge r0.z, vThreadID.x, r0.z
if_nz r0.z
ret
endif
ishl r1.x, vThreadID.x, l(3)
ushr r2.y, CB0[0][0].w, l(4)
mov r2.x, CB0[0][0].w
and r0.yz, r2.xxyx, l(0, 15, 1, 0)
ubfe r2.xyz, l(2, 2, 12, 0), l(27, 29, 13, 0), CB0[0][0].wwzw
imul null, r0.yz, r0.yyzy, r2.xxyx
movc r0.xw, r0.xxxw, l(4,0,0,4), l(3,0,0,3)
ishl r0.xy, r0.yzyy, r0.xwxx
mov r1.y, vThreadID.y
iadd r0.xy, r0.xyxx, r1.xyxx
and r0.zw, CB0[0][0].zzzz, l(0, 0, 1023, 4096)
imul null, r1.xy, r2.xyxx, l(80, 16, 0, 0)
udiv r1.zw, null, r0.xxxy, r1.xxxy
imad r0.z, r1.w, r0.z, r1.z
iadd r0.z, r0.z, r2.z
imad r0.xy, -r1.zwzz, r1.xyxx, r0.xyxx
if_nz r0.w
ushr r0.w, r1.x, l(1)
uge r1.z, r0.x, r0.w
ineg r1.w, r0.w
movc r0.w, r1.z, r1.w, r0.w
iadd r0.x, r0.w, r0.x
ubfe r0.z, l(12), l(13), CB0[0][0].z
mov r1.x, CB0[0][0].w
bfi r1.xy, l(4, 1, 0, 0), l(3, 3, 0, 0), r1.xyxx, l(0, 0, 0, 0)
imul null, r1.xy, r2.yzyy, r1.xyxx
ishl r3.x, vThreadID.x, l(3)
ishl r1.xy, r1.xyxx, r1.zwzz
mov r3.y, vThreadID.y
iadd r1.xy, r1.xyxx, r3.xyxx
imul null, r1.zw, r2.yyyz, l(0, 0, 80, 16)
udiv r2.xy, null, r1.xyxx, r1.zwzz
imad r0.x, r2.y, r0.x, r2.x
iadd r0.x, r0.x, r0.z
imad r0.zw, -r2.xxxy, r1.zzzw, r1.xxxy
if_nz r0.y
ushr r0.y, r1.z, l(1)
uge r1.x, r0.z, r0.y
ineg r1.y, r0.y
movc r0.y, r1.x, r1.y, r0.y
iadd r0.z, r0.y, r0.z
endif
imul null, r0.w, r1.y, r1.x
imad r0.x, r0.y, r1.x, r0.x
imad r0.x, r0.z, r0.w, r0.x
imul null, r0.y, r1.w, r1.z
imad r0.z, r0.w, r1.z, r0.z
imad r0.x, r0.x, r0.y, r0.z
ushr r0.x, r0.x, l(2)
store_uav_typed U0[0].xyzw, r0.xxxx, CB0[0][0].xxxx
iadd r0.y, r0.x, l(1)
store_uav_typed U0[0].xyzw, r0.yyyy, CB0[0][0].xxxx
ret
// Approximately 40 instruction slots used
// Approximately 39 instruction slots used
#endif
const BYTE resolve_clear_32bpp_scaled_cs[] =
{
68, 88, 66, 67, 34, 193,
65, 111, 190, 1, 146, 215,
175, 136, 118, 253, 124, 247,
247, 185, 1, 0, 0, 0,
56, 8, 0, 0, 5, 0,
68, 88, 66, 67, 180, 137,
196, 92, 147, 212, 253, 11,
137, 6, 104, 78, 80, 15,
48, 77, 1, 0, 0, 0,
24, 8, 0, 0, 5, 0,
0, 0, 52, 0, 0, 0,
68, 2, 0, 0, 84, 2,
0, 0, 100, 2, 0, 0,
156, 7, 0, 0, 82, 68,
124, 7, 0, 0, 82, 68,
69, 70, 8, 2, 0, 0,
1, 0, 0, 0, 176, 0,
0, 0, 2, 0, 0, 0,
@ -123,8 +122,8 @@ const BYTE resolve_clear_32bpp_scaled_cs[] =
0, 0, 120, 101, 95, 114,
101, 115, 111, 108, 118, 101,
95, 100, 101, 115, 116, 0,
88, 101, 82, 101, 115, 111,
108, 118, 101, 67, 111, 110,
120, 101, 115, 108, 95, 112,
117, 115, 104, 67, 111, 110,
115, 116, 97, 110, 116, 115,
0, 171, 156, 0, 0, 0,
3, 0, 0, 0, 200, 0,
@ -189,9 +188,9 @@ const BYTE resolve_clear_32bpp_scaled_cs[] =
0, 0, 79, 83, 71, 78,
8, 0, 0, 0, 0, 0,
0, 0, 8, 0, 0, 0,
83, 72, 69, 88, 48, 5,
83, 72, 69, 88, 16, 5,
0, 0, 81, 0, 5, 0,
76, 1, 0, 0, 106, 8,
68, 1, 0, 0, 106, 8,
0, 1, 89, 0, 0, 7,
70, 142, 48, 0, 0, 0,
0, 0, 0, 0, 0, 0,
@ -203,222 +202,228 @@ const BYTE resolve_clear_32bpp_scaled_cs[] =
0, 0, 68, 68, 0, 0,
0, 0, 0, 0, 95, 0,
0, 2, 50, 0, 2, 0,
104, 0, 0, 2, 3, 0,
104, 0, 0, 2, 4, 0,
0, 0, 155, 0, 0, 4,
8, 0, 0, 0, 8, 0,
0, 0, 1, 0, 0, 0,
138, 0, 0, 17, 114, 0,
16, 0, 0, 0, 0, 0,
2, 64, 0, 0, 2, 0,
0, 0, 11, 0, 0, 0,
2, 0, 0, 0, 0, 0,
0, 0, 2, 64, 0, 0,
10, 0, 0, 0, 5, 0,
0, 0, 27, 0, 0, 0,
0, 0, 0, 0, 230, 139,
48, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 80, 0, 0, 10,
146, 0, 16, 0, 0, 0,
0, 0, 6, 0, 16, 0,
0, 0, 0, 0, 2, 64,
0, 0, 2, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0,
1, 0, 0, 7, 18, 0,
16, 0, 1, 0, 0, 0,
10, 0, 16, 0, 0, 0,
0, 0, 1, 64, 0, 0,
1, 0, 0, 0, 38, 0,
0, 8, 0, 208, 0, 0,
34, 0, 16, 0, 0, 0,
0, 0, 42, 0, 16, 0,
0, 0, 0, 0, 26, 0,
16, 0, 0, 0, 0, 0,
41, 0, 0, 7, 34, 0,
16, 0, 0, 0, 0, 0,
26, 0, 16, 0, 0, 0,
0, 0, 10, 0, 16, 0,
1, 0, 0, 0, 80, 0,
0, 6, 34, 0, 16, 0,
0, 0, 0, 0, 10, 0,
2, 0, 26, 0, 16, 0,
0, 0, 0, 0, 31, 0,
4, 3, 26, 0, 16, 0,
0, 0, 0, 0, 62, 0,
0, 1, 21, 0, 0, 1,
41, 0, 0, 6, 18, 0,
16, 0, 1, 0, 0, 0,
10, 0, 2, 0, 1, 64,
0, 0, 3, 0, 0, 0,
85, 0, 0, 9, 34, 0,
16, 0, 2, 0, 0, 0,
58, 128, 48, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 64,
0, 0, 4, 0, 0, 0,
54, 0, 0, 7, 18, 0,
16, 0, 2, 0, 0, 0,
58, 128, 48, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0,
0, 10, 98, 0, 16, 0,
0, 0, 0, 0, 6, 1,
16, 0, 2, 0, 0, 0,
2, 64, 0, 0, 0, 0,
0, 0, 15, 0, 0, 0,
1, 0, 0, 0, 0, 0,
0, 0, 138, 0, 0, 17,
114, 0, 16, 0, 2, 0,
0, 0, 2, 64, 0, 0,
2, 0, 0, 0, 2, 0,
0, 0, 12, 0, 0, 0,
0, 0, 0, 0, 2, 64,
0, 0, 27, 0, 0, 0,
29, 0, 0, 0, 13, 0,
0, 0, 0, 0, 0, 0,
246, 142, 48, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 38, 0,
0, 8, 0, 208, 0, 0,
98, 0, 16, 0, 0, 0,
0, 0, 86, 6, 16, 0,
0, 0, 0, 0, 6, 1,
16, 0, 2, 0, 0, 0,
55, 0, 0, 15, 146, 0,
16, 0, 0, 0, 0, 0,
6, 12, 16, 0, 0, 0,
0, 0, 2, 64, 0, 0,
4, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
4, 0, 0, 0, 2, 64,
0, 0, 3, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 3, 0, 0, 0,
41, 0, 0, 7, 50, 0,
16, 0, 0, 0, 0, 0,
150, 5, 16, 0, 0, 0,
0, 0, 198, 0, 16, 0,
0, 0, 0, 0, 54, 0,
0, 4, 34, 0, 16, 0,
1, 0, 0, 0, 26, 0,
2, 0, 30, 0, 0, 7,
50, 0, 16, 0, 0, 0,
0, 0, 70, 0, 16, 0,
0, 0, 0, 0, 70, 0,
16, 0, 1, 0, 0, 0,
1, 0, 0, 12, 194, 0,
1, 0, 0, 12, 50, 0,
16, 0, 0, 0, 0, 0,
166, 138, 48, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2, 64,
0, 0, 255, 3, 0, 0,
0, 16, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 255, 3,
0, 0, 0, 16, 0, 0,
38, 0, 0, 11, 0, 208,
0, 0, 50, 0, 16, 0,
1, 0, 0, 0, 70, 0,
16, 0, 2, 0, 0, 0,
2, 64, 0, 0, 80, 0,
0, 0, 16, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 78, 0, 0, 8,
194, 0, 16, 0, 1, 0,
0, 0, 0, 208, 0, 0,
6, 4, 16, 0, 0, 0,
0, 0, 6, 4, 16, 0,
1, 0, 0, 0, 35, 0,
0, 9, 66, 0, 16, 0,
0, 0, 0, 0, 58, 0,
85, 0, 0, 9, 34, 0,
16, 0, 1, 0, 0, 0,
58, 128, 48, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 64,
0, 0, 4, 0, 0, 0,
138, 0, 0, 17, 242, 0,
16, 0, 2, 0, 0, 0,
2, 64, 0, 0, 2, 0,
0, 0, 2, 0, 0, 0,
2, 0, 0, 0, 11, 0,
0, 0, 2, 64, 0, 0,
10, 0, 0, 0, 27, 0,
0, 0, 29, 0, 0, 0,
5, 0, 0, 0, 230, 143,
48, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 38, 0, 0, 8,
0, 208, 0, 0, 66, 0,
16, 0, 0, 0, 0, 0,
26, 0, 16, 0, 2, 0,
0, 0, 58, 0, 16, 0,
2, 0, 0, 0, 80, 0,
0, 10, 194, 0, 16, 0,
1, 0, 0, 0, 6, 0,
16, 0, 2, 0, 0, 0,
2, 64, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
2, 0, 0, 0, 1, 0,
0, 0, 1, 0, 0, 10,
194, 0, 16, 0, 1, 0,
0, 0, 166, 14, 16, 0,
1, 0, 0, 0, 2, 64,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0,
0, 0, 1, 0, 0, 0,
41, 0, 0, 7, 66, 0,
16, 0, 0, 0, 0, 0,
42, 0, 16, 0, 0, 0,
0, 0, 42, 0, 16, 0,
1, 0, 0, 0, 30, 0,
0, 7, 66, 0, 16, 0,
0, 0, 0, 0, 42, 0,
16, 0, 0, 0, 0, 0,
42, 0, 16, 0, 2, 0,
0, 0, 35, 0, 0, 10,
50, 0, 16, 0, 0, 0,
0, 0, 230, 10, 16, 128,
65, 0, 0, 0, 1, 0,
0, 0, 70, 0, 16, 0,
1, 0, 0, 0, 70, 0,
16, 0, 0, 0, 0, 0,
31, 0, 4, 3, 58, 0,
16, 0, 0, 0, 0, 0,
85, 0, 0, 7, 130, 0,
16, 0, 0, 0, 0, 0,
10, 0, 16, 0, 1, 0,
0, 0, 1, 64, 0, 0,
1, 0, 0, 0, 80, 0,
0, 7, 66, 0, 16, 0,
1, 0, 0, 0, 10, 0,
0, 6, 66, 0, 16, 0,
0, 0, 0, 0, 10, 0,
2, 0, 42, 0, 16, 0,
0, 0, 0, 0, 31, 0,
4, 3, 42, 0, 16, 0,
0, 0, 0, 0, 62, 0,
0, 1, 21, 0, 0, 1,
138, 0, 0, 11, 66, 0,
16, 0, 0, 0, 0, 0,
58, 0, 16, 0, 0, 0,
0, 0, 40, 0, 0, 5,
130, 0, 16, 0, 1, 0,
0, 0, 58, 0, 16, 0,
0, 0, 0, 0, 55, 0,
0, 9, 130, 0, 16, 0,
0, 0, 0, 0, 42, 0,
1, 64, 0, 0, 12, 0,
0, 0, 1, 64, 0, 0,
13, 0, 0, 0, 42, 128,
48, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 54, 0, 0, 7,
18, 0, 16, 0, 1, 0,
0, 0, 58, 128, 48, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
140, 0, 0, 20, 50, 0,
16, 0, 1, 0, 0, 0,
58, 0, 16, 0, 1, 0,
0, 0, 58, 0, 16, 0,
0, 0, 0, 0, 30, 0,
0, 7, 18, 0, 16, 0,
0, 0, 0, 0, 58, 0,
16, 0, 0, 0, 0, 0,
10, 0, 16, 0, 0, 0,
0, 0, 21, 0, 0, 1,
38, 0, 0, 8, 0, 208,
0, 0, 130, 0, 16, 0,
0, 0, 0, 0, 26, 0,
2, 64, 0, 0, 4, 0,
0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 2, 64, 0, 0,
3, 0, 0, 0, 3, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 70, 0,
16, 0, 1, 0, 0, 0,
10, 0, 16, 0, 1, 0,
2, 64, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 38, 0, 0, 8,
0, 208, 0, 0, 50, 0,
16, 0, 1, 0, 0, 0,
150, 5, 16, 0, 2, 0,
0, 0, 70, 0, 16, 0,
1, 0, 0, 0, 41, 0,
0, 6, 18, 0, 16, 0,
3, 0, 0, 0, 10, 0,
2, 0, 1, 64, 0, 0,
3, 0, 0, 0, 41, 0,
0, 7, 50, 0, 16, 0,
1, 0, 0, 0, 70, 0,
16, 0, 1, 0, 0, 0,
230, 10, 16, 0, 1, 0,
0, 0, 54, 0, 0, 4,
34, 0, 16, 0, 3, 0,
0, 0, 26, 0, 2, 0,
30, 0, 0, 7, 50, 0,
16, 0, 1, 0, 0, 0,
70, 0, 16, 0, 1, 0,
0, 0, 70, 0, 16, 0,
3, 0, 0, 0, 38, 0,
0, 11, 0, 208, 0, 0,
194, 0, 16, 0, 1, 0,
0, 0, 86, 9, 16, 0,
2, 0, 0, 0, 2, 64,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 80, 0,
0, 0, 16, 0, 0, 0,
78, 0, 0, 8, 50, 0,
16, 0, 2, 0, 0, 0,
0, 208, 0, 0, 70, 0,
16, 0, 1, 0, 0, 0,
230, 10, 16, 0, 1, 0,
0, 0, 35, 0, 0, 9,
18, 0, 16, 0, 0, 0,
0, 0, 26, 0, 16, 0,
0, 0, 0, 0, 10, 0,
16, 0, 1, 0, 0, 0,
10, 0, 16, 0, 0, 0,
0, 0, 35, 0, 0, 9,
18, 0, 16, 0, 0, 0,
0, 0, 42, 0, 16, 0,
0, 0, 0, 0, 58, 0,
2, 0, 0, 0, 10, 0,
16, 0, 0, 0, 0, 0,
10, 0, 16, 0, 0, 0,
0, 0, 85, 0, 0, 7,
10, 0, 16, 0, 2, 0,
0, 0, 30, 0, 0, 7,
18, 0, 16, 0, 0, 0,
0, 0, 10, 0, 16, 0,
0, 0, 0, 0, 1, 64,
0, 0, 0, 0, 42, 0,
16, 0, 0, 0, 0, 0,
35, 0, 0, 10, 194, 0,
16, 0, 0, 0, 0, 0,
6, 4, 16, 128, 65, 0,
0, 0, 2, 0, 0, 0,
166, 14, 16, 0, 1, 0,
0, 0, 6, 4, 16, 0,
1, 0, 0, 0, 31, 0,
4, 3, 26, 0, 16, 0,
0, 0, 0, 0, 85, 0,
0, 7, 34, 0, 16, 0,
0, 0, 0, 0, 42, 0,
16, 0, 1, 0, 0, 0,
1, 64, 0, 0, 1, 0,
0, 0, 80, 0, 0, 7,
18, 0, 16, 0, 1, 0,
0, 0, 42, 0, 16, 0,
0, 0, 0, 0, 26, 0,
16, 0, 0, 0, 0, 0,
40, 0, 0, 5, 34, 0,
16, 0, 1, 0, 0, 0,
26, 0, 16, 0, 0, 0,
0, 0, 55, 0, 0, 9,
34, 0, 16, 0, 0, 0,
0, 0, 10, 0, 16, 0,
1, 0, 0, 0, 26, 0,
16, 0, 1, 0, 0, 0,
26, 0, 16, 0, 0, 0,
0, 0, 30, 0, 0, 7,
66, 0, 16, 0, 0, 0,
0, 0, 26, 0, 16, 0,
0, 0, 0, 0, 42, 0,
16, 0, 0, 0, 0, 0,
21, 0, 0, 1, 38, 0,
0, 8, 0, 208, 0, 0,
34, 0, 16, 0, 0, 0,
0, 0, 58, 0, 16, 0,
1, 0, 0, 0, 42, 0,
16, 0, 1, 0, 0, 0,
35, 0, 0, 9, 66, 0,
16, 0, 0, 0, 0, 0,
58, 0, 16, 0, 0, 0,
0, 0, 42, 0, 16, 0,
1, 0, 0, 0, 42, 0,
16, 0, 0, 0, 0, 0,
35, 0, 0, 9, 18, 0,
16, 0, 0, 0, 0, 0,
10, 0, 16, 0, 0, 0,
0, 0, 26, 0, 16, 0,
0, 0, 0, 0, 42, 0,
16, 0, 0, 0, 0, 0,
85, 0, 0, 7, 18, 0,
16, 0, 0, 0, 0, 0,
10, 0, 16, 0, 0, 0,
0, 0, 1, 64, 0, 0,
2, 0, 0, 0, 164, 0,
0, 10, 242, 224, 33, 0,
0, 0, 0, 0, 0, 0,
0, 0, 6, 0, 16, 0,
0, 0, 0, 0, 6, 128,
48, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 30, 0, 0, 7,
34, 0, 16, 0, 0, 0,
0, 0, 10, 0, 16, 0,
0, 0, 0, 0, 1, 64,
0, 0, 1, 0, 0, 0,
164, 0, 0, 10, 242, 224,
33, 0, 0, 0, 0, 0,
0, 0, 0, 0, 6, 0,
0, 0, 0, 0, 86, 5,
16, 0, 0, 0, 0, 0,
6, 128, 48, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 30, 0,
0, 7, 34, 0, 16, 0,
0, 0, 0, 0, 10, 0,
16, 0, 0, 0, 0, 0,
1, 64, 0, 0, 1, 0,
0, 0, 164, 0, 0, 10,
242, 224, 33, 0, 0, 0,
0, 0, 0, 0, 62, 0,
0, 1, 83, 84, 65, 84,
148, 0, 0, 0, 39, 0,
0, 0, 4, 0, 0, 0,
0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0,
86, 5, 16, 0, 0, 0,
0, 0, 6, 128, 48, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
62, 0, 0, 1, 83, 84,
65, 84, 148, 0, 0, 0,
40, 0, 0, 0, 3, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0,
0, 0, 16, 0, 0, 0,
10, 0, 0, 0, 2, 0,
16, 0, 0, 0, 9, 0,
0, 0, 2, 0, 0, 0,
2, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 2, 0, 0, 0,
1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
@ -426,16 +431,5 @@ const BYTE resolve_clear_32bpp_scaled_cs[] =
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2, 0,
0, 0, 2, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
2, 0, 0, 0
0, 0
};

View File

@ -5,7 +5,7 @@
//
// Buffer Definitions:
//
// cbuffer XeResolveConstants
// cbuffer xesl_pushConstants
// {
//
// uint2 xe_resolve_clear_value; // Offset: 0 Size: 8
@ -20,7 +20,7 @@
// Name Type Format Dim ID HLSL Bind Count
// ------------------------------ ---------- ------- ----------- ------- -------------- ------
// xe_resolve_dest UAV uint4 buf U0 u0 1
// XeResolveConstants cbuffer NA NA CB0 cb0 1
// xesl_pushConstants cbuffer NA NA CB0 cb0 1
//
//
//
@ -42,30 +42,30 @@ dcl_uav_typed_buffer (uint,uint,uint,uint) U0[0:0], space=0
dcl_input vThreadID.xy
dcl_temps 3
dcl_thread_group 8, 8, 1
ubfe r0.xy, l(2, 11, 0, 0), l(10, 5, 0, 0), CB0[0][0].zwzz
uge r0.xz, r0.xxxx, l(2, 0, 1, 0)
and r0.w, r0.x, l(1)
ishl r0.y, r0.y, r0.w
uge r0.y, vThreadID.x, r0.y
if_nz r0.y
and r0.x, CB0[0][0].z, l(1023)
ushr r1.y, CB0[0][0].w, l(4)
ubfe r0.yz, l(0, 2, 11, 0), l(0, 10, 5, 0), CB0[0][0].zzwz
uge r0.yw, r0.yyyy, l(0, 2, 0, 1)
and r1.z, r0.y, l(1)
ishl r0.z, r0.z, r1.z
uge r0.z, vThreadID.x, r0.z
if_nz r0.z
ret
endif
ishl r1.x, vThreadID.x, l(3)
ushr r2.y, CB0[0][0].w, l(4)
movc r0.xy, r0.xzxx, l(4,4,0,0), l(3,3,0,0)
mov r2.x, CB0[0][0].w
bfi r0.xy, l(4, 1, 0, 0), r0.xyxx, r2.xyxx, l(0, 0, 0, 0)
mov r1.y, vThreadID.y
iadd r0.xy, r0.xyxx, r1.xyxx
ubfe r0.z, l(12), l(13), CB0[0][0].z
and r0.w, CB0[0][0].z, l(1023)
udiv r1.xy, null, r0.xyxx, l(40, 16, 0, 0)
imad r0.w, r1.y, r0.w, r1.x
iadd r0.z, r0.w, r0.z
imad r0.xy, -r1.xyxx, l(40, 16, 0, 0), r0.xyxx
imad r0.x, r0.y, l(40), r0.x
ishl r0.x, r0.x, l(1)
imad r0.x, r0.z, l(1280), r0.x
ishl r2.x, vThreadID.x, l(3)
movc r0.yw, r0.yyyw, l(0,4,0,4), l(0,3,0,3)
mov r1.x, CB0[0][0].w
bfi r0.yw, l(0, 4, 0, 1), r0.yyyw, r1.xxxy, l(0, 0, 0, 0)
mov r2.y, vThreadID.y
iadd r0.yw, r0.yyyw, r2.xxxy
udiv r1.xy, null, r0.ywyy, l(40, 16, 0, 0)
imad r0.x, r1.y, r0.x, r1.x
iadd r0.x, r0.x, r0.z
imad r0.yz, -r1.xxyx, l(0, 40, 16, 0), r0.yywy
imad r0.y, r0.z, l(40), r0.y
ishl r0.y, r0.y, l(1)
imad r0.x, r0.x, l(1280), r0.y
ushr r0.x, r0.x, l(2)
store_uav_typed U0[0].xyzw, r0.xxxx, CB0[0][0].xyxy
iadd r0.yz, r0.xxxx, l(0, 1, 3, 0)
@ -79,10 +79,10 @@ ret
const BYTE resolve_clear_64bpp_cs[] =
{
68, 88, 66, 67, 84, 204,
98, 166, 53, 169, 26, 199,
140, 135, 147, 98, 122, 166,
150, 219, 1, 0, 0, 0,
68, 88, 66, 67, 75, 18,
133, 48, 68, 57, 18, 1,
174, 162, 160, 62, 2, 163,
43, 240, 1, 0, 0, 0,
152, 7, 0, 0, 5, 0,
0, 0, 52, 0, 0, 0,
68, 2, 0, 0, 84, 2,
@ -115,8 +115,8 @@ const BYTE resolve_clear_64bpp_cs[] =
0, 0, 120, 101, 95, 114,
101, 115, 111, 108, 118, 101,
95, 100, 101, 115, 116, 0,
88, 101, 82, 101, 115, 111,
108, 118, 101, 67, 111, 110,
120, 101, 115, 108, 95, 112,
117, 115, 104, 67, 111, 110,
115, 116, 97, 110, 116, 115,
0, 171, 156, 0, 0, 0,
3, 0, 0, 0, 200, 0,
@ -199,140 +199,140 @@ const BYTE resolve_clear_64bpp_cs[] =
0, 0, 155, 0, 0, 4,
8, 0, 0, 0, 8, 0,
0, 0, 1, 0, 0, 0,
138, 0, 0, 17, 50, 0,
1, 0, 0, 9, 18, 0,
16, 0, 0, 0, 0, 0,
2, 64, 0, 0, 2, 0,
0, 0, 11, 0, 0, 0,
42, 128, 48, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 64,
0, 0, 255, 3, 0, 0,
85, 0, 0, 9, 34, 0,
16, 0, 1, 0, 0, 0,
58, 128, 48, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 64,
0, 0, 4, 0, 0, 0,
138, 0, 0, 17, 98, 0,
16, 0, 0, 0, 0, 0,
2, 64, 0, 0, 0, 0,
0, 0, 2, 0, 0, 0,
11, 0, 0, 0, 0, 0,
0, 0, 2, 64, 0, 0,
10, 0, 0, 0, 5, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 230, 138,
0, 0, 0, 0, 10, 0,
0, 0, 5, 0, 0, 0,
0, 0, 0, 0, 166, 139,
48, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 80, 0, 0, 10,
82, 0, 16, 0, 0, 0,
0, 0, 6, 0, 16, 0,
162, 0, 16, 0, 0, 0,
0, 0, 86, 5, 16, 0,
0, 0, 0, 0, 2, 64,
0, 0, 2, 0, 0, 0,
0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 7, 130, 0,
16, 0, 0, 0, 0, 0,
10, 0, 16, 0, 0, 0,
2, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0,
1, 0, 0, 7, 66, 0,
16, 0, 1, 0, 0, 0,
26, 0, 16, 0, 0, 0,
0, 0, 1, 64, 0, 0,
1, 0, 0, 0, 41, 0,
0, 7, 34, 0, 16, 0,
0, 0, 0, 0, 26, 0,
0, 7, 66, 0, 16, 0,
0, 0, 0, 0, 42, 0,
16, 0, 0, 0, 0, 0,
58, 0, 16, 0, 0, 0,
42, 0, 16, 0, 1, 0,
0, 0, 80, 0, 0, 6,
34, 0, 16, 0, 0, 0,
66, 0, 16, 0, 0, 0,
0, 0, 10, 0, 2, 0,
26, 0, 16, 0, 0, 0,
42, 0, 16, 0, 0, 0,
0, 0, 31, 0, 4, 3,
26, 0, 16, 0, 0, 0,
42, 0, 16, 0, 0, 0,
0, 0, 62, 0, 0, 1,
21, 0, 0, 1, 41, 0,
0, 6, 18, 0, 16, 0,
1, 0, 0, 0, 10, 0,
2, 0, 1, 64, 0, 0,
3, 0, 0, 0, 85, 0,
0, 9, 34, 0, 16, 0,
2, 0, 0, 0, 58, 128,
48, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 1, 64, 0, 0,
4, 0, 0, 0, 55, 0,
0, 15, 50, 0, 16, 0,
0, 0, 0, 0, 134, 0,
16, 0, 0, 0, 0, 0,
2, 64, 0, 0, 4, 0,
0, 0, 4, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 2, 64, 0, 0,
3, 0, 0, 0, 3, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 54, 0,
0, 7, 18, 0, 16, 0,
2, 0, 0, 0, 58, 128,
48, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 140, 0, 0, 17,
50, 0, 16, 0, 0, 0,
0, 0, 2, 64, 0, 0,
4, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 70, 0,
16, 0, 0, 0, 0, 0,
70, 0, 16, 0, 2, 0,
0, 0, 2, 64, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 54, 0,
0, 4, 34, 0, 16, 0,
1, 0, 0, 0, 26, 0,
2, 0, 30, 0, 0, 7,
50, 0, 16, 0, 0, 0,
0, 0, 70, 0, 16, 0,
0, 0, 0, 0, 70, 0,
16, 0, 1, 0, 0, 0,
138, 0, 0, 11, 66, 0,
16, 0, 0, 0, 0, 0,
1, 64, 0, 0, 12, 0,
0, 0, 1, 64, 0, 0,
13, 0, 0, 0, 42, 128,
48, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 9,
130, 0, 16, 0, 0, 0,
21, 0, 0, 1, 138, 0,
0, 11, 66, 0, 16, 0,
0, 0, 0, 0, 1, 64,
0, 0, 12, 0, 0, 0,
1, 64, 0, 0, 13, 0,
0, 0, 42, 128, 48, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
1, 64, 0, 0, 255, 3,
41, 0, 0, 6, 18, 0,
16, 0, 2, 0, 0, 0,
10, 0, 2, 0, 1, 64,
0, 0, 3, 0, 0, 0,
55, 0, 0, 15, 162, 0,
16, 0, 0, 0, 0, 0,
86, 13, 16, 0, 0, 0,
0, 0, 2, 64, 0, 0,
0, 0, 0, 0, 4, 0,
0, 0, 0, 0, 0, 0,
4, 0, 0, 0, 2, 64,
0, 0, 0, 0, 0, 0,
3, 0, 0, 0, 0, 0,
0, 0, 3, 0, 0, 0,
54, 0, 0, 7, 18, 0,
16, 0, 1, 0, 0, 0,
58, 128, 48, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 140, 0,
0, 17, 162, 0, 16, 0,
0, 0, 0, 0, 2, 64,
0, 0, 0, 0, 0, 0,
4, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0,
86, 13, 16, 0, 0, 0,
0, 0, 6, 4, 16, 0,
1, 0, 0, 0, 2, 64,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
54, 0, 0, 4, 34, 0,
16, 0, 2, 0, 0, 0,
26, 0, 2, 0, 30, 0,
0, 7, 162, 0, 16, 0,
0, 0, 0, 0, 86, 13,
16, 0, 0, 0, 0, 0,
6, 4, 16, 0, 2, 0,
0, 0, 78, 0, 0, 11,
50, 0, 16, 0, 1, 0,
0, 0, 0, 208, 0, 0,
70, 0, 16, 0, 0, 0,
214, 5, 16, 0, 0, 0,
0, 0, 2, 64, 0, 0,
40, 0, 0, 0, 16, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 35, 0,
0, 9, 130, 0, 16, 0,
0, 9, 18, 0, 16, 0,
0, 0, 0, 0, 26, 0,
16, 0, 1, 0, 0, 0,
58, 0, 16, 0, 0, 0,
10, 0, 16, 0, 0, 0,
0, 0, 10, 0, 16, 0,
1, 0, 0, 0, 30, 0,
0, 7, 66, 0, 16, 0,
0, 0, 0, 0, 58, 0,
0, 7, 18, 0, 16, 0,
0, 0, 0, 0, 10, 0,
16, 0, 0, 0, 0, 0,
42, 0, 16, 0, 0, 0,
0, 0, 35, 0, 0, 13,
50, 0, 16, 0, 0, 0,
0, 0, 70, 0, 16, 128,
98, 0, 16, 0, 0, 0,
0, 0, 6, 1, 16, 128,
65, 0, 0, 0, 1, 0,
0, 0, 2, 64, 0, 0,
40, 0, 0, 0, 16, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 70, 0,
0, 0, 0, 0, 40, 0,
0, 0, 16, 0, 0, 0,
0, 0, 0, 0, 86, 7,
16, 0, 0, 0, 0, 0,
35, 0, 0, 9, 18, 0,
35, 0, 0, 9, 34, 0,
16, 0, 0, 0, 0, 0,
42, 0, 16, 0, 0, 0,
0, 0, 1, 64, 0, 0,
40, 0, 0, 0, 26, 0,
16, 0, 0, 0, 0, 0,
41, 0, 0, 7, 34, 0,
16, 0, 0, 0, 0, 0,
26, 0, 16, 0, 0, 0,
0, 0, 1, 64, 0, 0,
40, 0, 0, 0, 10, 0,
16, 0, 0, 0, 0, 0,
41, 0, 0, 7, 18, 0,
16, 0, 0, 0, 0, 0,
10, 0, 16, 0, 0, 0,
0, 0, 1, 64, 0, 0,
1, 0, 0, 0, 35, 0,
0, 9, 18, 0, 16, 0,
0, 0, 0, 0, 42, 0,
0, 0, 0, 0, 10, 0,
16, 0, 0, 0, 0, 0,
1, 64, 0, 0, 0, 5,
0, 0, 10, 0, 16, 0,
0, 0, 26, 0, 16, 0,
0, 0, 0, 0, 85, 0,
0, 7, 18, 0, 16, 0,
0, 0, 0, 0, 10, 0,

View File

@ -5,7 +5,7 @@
//
// Buffer Definitions:
//
// cbuffer XeResolveConstants
// cbuffer xesl_pushConstants
// {
//
// uint2 xe_resolve_clear_value; // Offset: 0 Size: 8
@ -20,7 +20,7 @@
// Name Type Format Dim ID HLSL Bind Count
// ------------------------------ ---------- ------- ----------- ------- -------------- ------
// xe_resolve_dest UAV uint4 buf U0 u0 1
// XeResolveConstants cbuffer NA NA CB0 cb0 1
// xesl_pushConstants cbuffer NA NA CB0 cb0 1
//
//
//
@ -40,38 +40,37 @@ dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB0[0:0][1], immediateIndexed, space=0
dcl_uav_typed_buffer (uint,uint,uint,uint) U0[0:0], space=0
dcl_input vThreadID.xy
dcl_temps 3
dcl_temps 4
dcl_thread_group 8, 8, 1
ubfe r0.xyz, l(2, 11, 2, 0), l(10, 5, 27, 0), CB0[0][0].zwwz
uge r0.xw, r0.xxxx, l(2, 0, 0, 1)
and r1.x, r0.x, l(1)
imul null, r0.y, r0.z, r0.y
ishl r0.y, r0.y, r1.x
and r0.x, CB0[0][0].z, l(1023)
ushr r1.y, CB0[0][0].w, l(4)
ubfe r2.xyzw, l(2, 2, 2, 11), l(10, 27, 29, 5), CB0[0][0].zwww
imul null, r0.y, r2.y, r2.w
uge r0.zw, r2.xxxx, l(0, 0, 2, 1)
and r0.zw, r0.zzzw, l(0, 0, 1, 1)
ishl r0.y, r0.y, r0.z
uge r0.y, vThreadID.x, r0.y
if_nz r0.y
ret
endif
ishl r1.x, vThreadID.x, l(3)
ushr r2.y, CB0[0][0].w, l(4)
mov r2.x, CB0[0][0].w
and r0.yz, r2.xxyx, l(0, 15, 1, 0)
ubfe r2.xyz, l(2, 2, 12, 0), l(27, 29, 13, 0), CB0[0][0].wwzw
imul null, r0.yz, r0.yyzy, r2.xxyx
movc r0.xw, r0.xxxw, l(4,0,0,4), l(3,0,0,3)
ishl r0.xy, r0.yzyy, r0.xwxx
mov r1.y, vThreadID.y
iadd r0.xy, r0.xyxx, r1.xyxx
and r0.z, CB0[0][0].z, l(1023)
imul null, r1.yz, r2.xxyx, l(0, 80, 16, 0)
ubfe r0.y, l(12), l(13), CB0[0][0].z
mov r1.x, CB0[0][0].w
bfi r1.xy, l(4, 1, 0, 0), l(3, 3, 0, 0), r1.xyxx, l(0, 0, 0, 0)
imul null, r1.xy, r2.yzyy, r1.xyxx
ishl r3.x, vThreadID.x, l(3)
ishl r0.zw, r1.xxxy, r0.zzzw
mov r3.y, vThreadID.y
iadd r0.zw, r0.zzzw, r3.xxxy
imul null, r1.yz, r2.yyzy, l(0, 80, 16, 0)
ushr r1.x, r1.y, l(1)
udiv r2.xy, null, r0.xyxx, r1.xzxx
imad r0.z, r2.y, r0.z, r2.x
iadd r0.z, r0.z, r2.z
imad r0.xy, -r2.xyxx, r1.xzxx, r0.xyxx
udiv r2.xy, null, r0.zwzz, r1.xzxx
imad r0.x, r2.y, r0.x, r2.x
iadd r0.x, r0.x, r0.y
imad r0.yz, -r2.xxyx, r1.xxzx, r0.zzwz
imul null, r0.w, r1.z, r1.y
imad r0.x, r0.y, r1.x, r0.x
ishl r0.x, r0.x, l(1)
imad r0.x, r0.z, r0.w, r0.x
imad r0.y, r0.z, r1.x, r0.y
ishl r0.y, r0.y, l(1)
imad r0.x, r0.x, r0.w, r0.y
ushr r0.x, r0.x, l(2)
store_uav_typed U0[0].xyzw, r0.xxxx, CB0[0][0].xyxy
iadd r0.yz, r0.xxxx, l(0, 1, 3, 0)
@ -80,20 +79,20 @@ iadd r0.y, r0.x, l(2)
store_uav_typed U0[0].xyzw, r0.yyyy, CB0[0][0].xyxy
store_uav_typed U0[0].xyzw, r0.zzzz, CB0[0][0].xyxy
ret
// Approximately 38 instruction slots used
// Approximately 37 instruction slots used
#endif
const BYTE resolve_clear_64bpp_scaled_cs[] =
{
68, 88, 66, 67, 93, 192,
177, 6, 128, 84, 12, 90,
192, 83, 14, 109, 74, 160,
146, 225, 1, 0, 0, 0,
64, 8, 0, 0, 5, 0,
68, 88, 66, 67, 208, 162,
101, 132, 157, 218, 57, 139,
68, 130, 90, 14, 96, 197,
220, 112, 1, 0, 0, 0,
32, 8, 0, 0, 5, 0,
0, 0, 52, 0, 0, 0,
68, 2, 0, 0, 84, 2,
0, 0, 100, 2, 0, 0,
164, 7, 0, 0, 82, 68,
132, 7, 0, 0, 82, 68,
69, 70, 8, 2, 0, 0,
1, 0, 0, 0, 176, 0,
0, 0, 2, 0, 0, 0,
@ -121,8 +120,8 @@ const BYTE resolve_clear_64bpp_scaled_cs[] =
0, 0, 120, 101, 95, 114,
101, 115, 111, 108, 118, 101,
95, 100, 101, 115, 116, 0,
88, 101, 82, 101, 115, 111,
108, 118, 101, 67, 111, 110,
120, 101, 115, 108, 95, 112,
117, 115, 104, 67, 111, 110,
115, 116, 97, 110, 116, 115,
0, 171, 156, 0, 0, 0,
3, 0, 0, 0, 200, 0,
@ -187,9 +186,9 @@ const BYTE resolve_clear_64bpp_scaled_cs[] =
0, 0, 79, 83, 71, 78,
8, 0, 0, 0, 0, 0,
0, 0, 8, 0, 0, 0,
83, 72, 69, 88, 56, 5,
83, 72, 69, 88, 24, 5,
0, 0, 81, 0, 5, 0,
78, 1, 0, 0, 106, 8,
70, 1, 0, 0, 106, 8,
0, 1, 89, 0, 0, 7,
70, 142, 48, 0, 0, 0,
0, 0, 0, 0, 0, 0,
@ -201,43 +200,57 @@ const BYTE resolve_clear_64bpp_scaled_cs[] =
0, 0, 68, 68, 0, 0,
0, 0, 0, 0, 95, 0,
0, 2, 50, 0, 2, 0,
104, 0, 0, 2, 3, 0,
104, 0, 0, 2, 4, 0,
0, 0, 155, 0, 0, 4,
8, 0, 0, 0, 8, 0,
0, 0, 1, 0, 0, 0,
138, 0, 0, 17, 114, 0,
1, 0, 0, 9, 18, 0,
16, 0, 0, 0, 0, 0,
42, 128, 48, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 64,
0, 0, 255, 3, 0, 0,
85, 0, 0, 9, 34, 0,
16, 0, 1, 0, 0, 0,
58, 128, 48, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 64,
0, 0, 4, 0, 0, 0,
138, 0, 0, 17, 242, 0,
16, 0, 2, 0, 0, 0,
2, 64, 0, 0, 2, 0,
0, 0, 11, 0, 0, 0,
2, 0, 0, 0, 0, 0,
0, 0, 2, 0, 0, 0,
2, 0, 0, 0, 11, 0,
0, 0, 2, 64, 0, 0,
10, 0, 0, 0, 5, 0,
0, 0, 27, 0, 0, 0,
0, 0, 0, 0, 230, 139,
10, 0, 0, 0, 27, 0,
0, 0, 29, 0, 0, 0,
5, 0, 0, 0, 230, 143,
48, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 80, 0, 0, 10,
146, 0, 16, 0, 0, 0,
0, 0, 6, 0, 16, 0,
0, 0, 0, 0, 2, 64,
0, 0, 2, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0,
1, 0, 0, 7, 18, 0,
16, 0, 1, 0, 0, 0,
10, 0, 16, 0, 0, 0,
0, 0, 1, 64, 0, 0,
1, 0, 0, 0, 38, 0,
0, 8, 0, 208, 0, 0,
34, 0, 16, 0, 0, 0,
0, 0, 42, 0, 16, 0,
0, 0, 0, 0, 26, 0,
0, 0, 38, 0, 0, 8,
0, 208, 0, 0, 34, 0,
16, 0, 0, 0, 0, 0,
26, 0, 16, 0, 2, 0,
0, 0, 58, 0, 16, 0,
2, 0, 0, 0, 80, 0,
0, 10, 194, 0, 16, 0,
0, 0, 0, 0, 6, 0,
16, 0, 2, 0, 0, 0,
2, 64, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
2, 0, 0, 0, 1, 0,
0, 0, 1, 0, 0, 10,
194, 0, 16, 0, 0, 0,
0, 0, 166, 14, 16, 0,
0, 0, 0, 0, 2, 64,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0,
0, 0, 1, 0, 0, 0,
41, 0, 0, 7, 34, 0,
16, 0, 0, 0, 0, 0,
26, 0, 16, 0, 0, 0,
0, 0, 10, 0, 16, 0,
1, 0, 0, 0, 80, 0,
0, 0, 42, 0, 16, 0,
0, 0, 0, 0, 80, 0,
0, 6, 34, 0, 16, 0,
0, 0, 0, 0, 10, 0,
2, 0, 26, 0, 16, 0,
@ -245,187 +258,167 @@ const BYTE resolve_clear_64bpp_scaled_cs[] =
4, 3, 26, 0, 16, 0,
0, 0, 0, 0, 62, 0,
0, 1, 21, 0, 0, 1,
41, 0, 0, 6, 18, 0,
138, 0, 0, 11, 34, 0,
16, 0, 0, 0, 0, 0,
1, 64, 0, 0, 12, 0,
0, 0, 1, 64, 0, 0,
13, 0, 0, 0, 42, 128,
48, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 54, 0, 0, 7,
18, 0, 16, 0, 1, 0,
0, 0, 58, 128, 48, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
140, 0, 0, 20, 50, 0,
16, 0, 1, 0, 0, 0,
10, 0, 2, 0, 1, 64,
0, 0, 3, 0, 0, 0,
85, 0, 0, 9, 34, 0,
16, 0, 2, 0, 0, 0,
58, 128, 48, 0, 0, 0,
2, 64, 0, 0, 4, 0,
0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 64,
0, 0, 4, 0, 0, 0,
54, 0, 0, 7, 18, 0,
16, 0, 2, 0, 0, 0,
58, 128, 48, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0,
0, 10, 98, 0, 16, 0,
0, 0, 0, 0, 6, 1,
16, 0, 2, 0, 0, 0,
2, 64, 0, 0, 0, 0,
0, 0, 15, 0, 0, 0,
1, 0, 0, 0, 0, 0,
0, 0, 138, 0, 0, 17,
114, 0, 16, 0, 2, 0,
0, 0, 2, 64, 0, 0,
2, 0, 0, 0, 2, 0,
0, 0, 12, 0, 0, 0,
0, 0, 0, 0, 2, 64,
0, 0, 27, 0, 0, 0,
29, 0, 0, 0, 13, 0,
3, 0, 0, 0, 3, 0,
0, 0, 0, 0, 0, 0,
246, 142, 48, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 38, 0,
0, 8, 0, 208, 0, 0,
98, 0, 16, 0, 0, 0,
0, 0, 86, 6, 16, 0,
0, 0, 0, 0, 6, 1,
16, 0, 2, 0, 0, 0,
55, 0, 0, 15, 146, 0,
16, 0, 0, 0, 0, 0,
6, 12, 16, 0, 0, 0,
0, 0, 2, 64, 0, 0,
4, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
4, 0, 0, 0, 2, 64,
0, 0, 3, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 3, 0, 0, 0,
41, 0, 0, 7, 50, 0,
16, 0, 0, 0, 0, 0,
150, 5, 16, 0, 0, 0,
0, 0, 198, 0, 16, 0,
0, 0, 0, 0, 54, 0,
0, 4, 34, 0, 16, 0,
1, 0, 0, 0, 26, 0,
2, 0, 30, 0, 0, 7,
50, 0, 16, 0, 0, 0,
0, 0, 70, 0, 16, 0,
0, 0, 0, 0, 70, 0,
16, 0, 1, 0, 0, 0,
1, 0, 0, 9, 66, 0,
16, 0, 0, 0, 0, 0,
42, 128, 48, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 64,
0, 0, 255, 3, 0, 0,
38, 0, 0, 11, 0, 208,
0, 0, 98, 0, 16, 0,
1, 0, 0, 0, 6, 1,
16, 0, 2, 0, 0, 0,
2, 64, 0, 0, 0, 0,
0, 0, 80, 0, 0, 0,
16, 0, 0, 0, 0, 0,
0, 0, 85, 0, 0, 7,
18, 0, 16, 0, 1, 0,
0, 0, 26, 0, 16, 0,
1, 0, 0, 0, 1, 64,
0, 0, 1, 0, 0, 0,
78, 0, 0, 8, 50, 0,
16, 0, 2, 0, 0, 0,
0, 208, 0, 0, 70, 0,
16, 0, 0, 0, 0, 0,
134, 0, 16, 0, 1, 0,
0, 0, 35, 0, 0, 9,
66, 0, 16, 0, 0, 0,
0, 0, 26, 0, 16, 0,
2, 0, 0, 0, 42, 0,
16, 0, 0, 0, 0, 0,
10, 0, 16, 0, 2, 0,
0, 0, 30, 0, 0, 7,
66, 0, 16, 0, 0, 0,
0, 0, 42, 0, 16, 0,
0, 0, 0, 0, 42, 0,
16, 0, 2, 0, 0, 0,
35, 0, 0, 10, 50, 0,
16, 0, 0, 0, 0, 0,
70, 0, 16, 128, 65, 0,
0, 0, 2, 0, 0, 0,
134, 0, 16, 0, 1, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 38, 0, 0, 8,
0, 208, 0, 0, 50, 0,
16, 0, 1, 0, 0, 0,
150, 5, 16, 0, 2, 0,
0, 0, 70, 0, 16, 0,
0, 0, 0, 0, 38, 0,
0, 8, 0, 208, 0, 0,
130, 0, 16, 0, 0, 0,
0, 0, 42, 0, 16, 0,
1, 0, 0, 0, 26, 0,
1, 0, 0, 0, 41, 0,
0, 6, 18, 0, 16, 0,
3, 0, 0, 0, 10, 0,
2, 0, 1, 64, 0, 0,
3, 0, 0, 0, 41, 0,
0, 7, 194, 0, 16, 0,
0, 0, 0, 0, 6, 4,
16, 0, 1, 0, 0, 0,
166, 14, 16, 0, 0, 0,
0, 0, 54, 0, 0, 4,
34, 0, 16, 0, 3, 0,
0, 0, 26, 0, 2, 0,
30, 0, 0, 7, 194, 0,
16, 0, 0, 0, 0, 0,
166, 14, 16, 0, 0, 0,
0, 0, 6, 4, 16, 0,
3, 0, 0, 0, 38, 0,
0, 11, 0, 208, 0, 0,
98, 0, 16, 0, 1, 0,
0, 0, 86, 6, 16, 0,
2, 0, 0, 0, 2, 64,
0, 0, 0, 0, 0, 0,
80, 0, 0, 0, 16, 0,
0, 0, 0, 0, 0, 0,
85, 0, 0, 7, 18, 0,
16, 0, 1, 0, 0, 0,
26, 0, 16, 0, 1, 0,
0, 0, 1, 64, 0, 0,
1, 0, 0, 0, 78, 0,
0, 8, 50, 0, 16, 0,
2, 0, 0, 0, 0, 208,
0, 0, 230, 10, 16, 0,
0, 0, 0, 0, 134, 0,
16, 0, 1, 0, 0, 0,
35, 0, 0, 9, 18, 0,
16, 0, 0, 0, 0, 0,
26, 0, 16, 0, 0, 0,
26, 0, 16, 0, 2, 0,
0, 0, 10, 0, 16, 0,
1, 0, 0, 0, 10, 0,
16, 0, 0, 0, 0, 0,
41, 0, 0, 7, 18, 0,
0, 0, 0, 0, 10, 0,
16, 0, 2, 0, 0, 0,
30, 0, 0, 7, 18, 0,
16, 0, 0, 0, 0, 0,
10, 0, 16, 0, 0, 0,
0, 0, 1, 64, 0, 0,
0, 0, 26, 0, 16, 0,
0, 0, 0, 0, 35, 0,
0, 10, 98, 0, 16, 0,
0, 0, 0, 0, 6, 1,
16, 128, 65, 0, 0, 0,
2, 0, 0, 0, 6, 2,
16, 0, 1, 0, 0, 0,
166, 11, 16, 0, 0, 0,
0, 0, 38, 0, 0, 8,
0, 208, 0, 0, 130, 0,
16, 0, 0, 0, 0, 0,
42, 0, 16, 0, 1, 0,
0, 0, 26, 0, 16, 0,
1, 0, 0, 0, 35, 0,
0, 9, 18, 0, 16, 0,
0, 9, 34, 0, 16, 0,
0, 0, 0, 0, 42, 0,
16, 0, 0, 0, 0, 0,
58, 0, 16, 0, 0, 0,
0, 0, 10, 0, 16, 0,
0, 0, 0, 0, 85, 0,
0, 7, 18, 0, 16, 0,
0, 0, 0, 0, 10, 0,
10, 0, 16, 0, 1, 0,
0, 0, 26, 0, 16, 0,
0, 0, 0, 0, 41, 0,
0, 7, 34, 0, 16, 0,
0, 0, 0, 0, 26, 0,
16, 0, 0, 0, 0, 0,
1, 64, 0, 0, 2, 0,
1, 64, 0, 0, 1, 0,
0, 0, 35, 0, 0, 9,
18, 0, 16, 0, 0, 0,
0, 0, 10, 0, 16, 0,
0, 0, 0, 0, 58, 0,
16, 0, 0, 0, 0, 0,
26, 0, 16, 0, 0, 0,
0, 0, 85, 0, 0, 7,
18, 0, 16, 0, 0, 0,
0, 0, 10, 0, 16, 0,
0, 0, 0, 0, 1, 64,
0, 0, 2, 0, 0, 0,
164, 0, 0, 10, 242, 224,
33, 0, 0, 0, 0, 0,
0, 0, 0, 0, 6, 0,
16, 0, 0, 0, 0, 0,
70, 132, 48, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 30, 0,
0, 10, 98, 0, 16, 0,
0, 0, 0, 0, 6, 0,
16, 0, 0, 0, 0, 0,
2, 64, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0,
3, 0, 0, 0, 0, 0,
0, 0, 164, 0, 0, 10,
242, 224, 33, 0, 0, 0,
0, 0, 0, 0, 0, 0,
6, 0, 16, 0, 0, 0,
86, 5, 16, 0, 0, 0,
0, 0, 70, 132, 48, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
30, 0, 0, 10, 98, 0,
30, 0, 0, 7, 34, 0,
16, 0, 0, 0, 0, 0,
6, 0, 16, 0, 0, 0,
0, 0, 2, 64, 0, 0,
0, 0, 0, 0, 1, 0,
0, 0, 3, 0, 0, 0,
0, 0, 0, 0, 164, 0,
10, 0, 16, 0, 0, 0,
0, 0, 1, 64, 0, 0,
2, 0, 0, 0, 164, 0,
0, 10, 242, 224, 33, 0,
0, 0, 0, 0, 0, 0,
0, 0, 86, 5, 16, 0,
0, 0, 0, 0, 70, 132,
48, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 30, 0, 0, 7,
34, 0, 16, 0, 0, 0,
0, 0, 10, 0, 16, 0,
0, 0, 0, 0, 1, 64,
0, 0, 2, 0, 0, 0,
164, 0, 0, 10, 242, 224,
33, 0, 0, 0, 0, 0,
0, 0, 0, 0, 86, 5,
16, 0, 0, 0, 0, 0,
70, 132, 48, 0, 0, 0,
0, 0, 164, 0, 0, 10,
242, 224, 33, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 164, 0,
0, 10, 242, 224, 33, 0,
166, 10, 16, 0, 0, 0,
0, 0, 70, 132, 48, 0,
0, 0, 0, 0, 0, 0,
0, 0, 166, 10, 16, 0,
0, 0, 0, 0, 70, 132,
48, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 62, 0, 0, 1,
83, 84, 65, 84, 148, 0,
0, 0, 38, 0, 0, 0,
3, 0, 0, 0, 0, 0,
62, 0, 0, 1, 83, 84,
65, 84, 148, 0, 0, 0,
37, 0, 0, 0, 4, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0,
0, 0, 16, 0, 0, 0,
8, 0, 0, 0, 2, 0,
0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 16, 0,
0, 0, 9, 0, 0, 0,
2, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
2, 0, 0, 0, 1, 0,
0, 0, 0, 0, 2, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
@ -436,5 +429,6 @@ const BYTE resolve_clear_64bpp_scaled_cs[] =
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 4, 0, 0, 0
0, 0, 0, 0, 0, 0,
4, 0, 0, 0
};

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -101,11 +101,12 @@
%6551 = OpBitwiseAnd %v2uint %24330 %1870
%21183 = OpAccessChain %_ptr_Input_uint %gl_GlobalInvocationID %uint_0
%23612 = OpLoad %uint %21183
%20277 = OpShiftRightLogical %uint %15627 %uint_20
%25022 = OpBitwiseAnd %uint %20277 %uint_1023
%10929 = OpCompositeExtract %uint %6551 0
%7670 = OpIMul %uint %25022 %10929
%7287 = OpUGreaterThanEqual %bool %23612 %7670
%21170 = OpShiftRightLogical %uint %15627 %uint_20
%15922 = OpBitwiseAnd %uint %21170 %uint_1023
%8846 = OpIAdd %uint %15922 %uint_1
%11841 = OpCompositeExtract %uint %6551 0
%17907 = OpIMul %uint %8846 %11841
%7287 = OpUGreaterThanEqual %bool %23612 %17907
OpSelectionMerge %16345 DontFlatten
OpBranchConditional %7287 %21992 %16345
%21992 = OpLabel
@ -258,75 +259,75 @@ const uint32_t host_depth_store_1xmsaa_cs[] = {
0x00005744, 0x000500C2, 0x00000011, 0x00005F0A, 0x00002835, 0x000007F9,
0x000500C7, 0x00000011, 0x00001997, 0x00005F0A, 0x0000074E, 0x00050041,
0x00000289, 0x000052BF, 0x00000F48, 0x00000A0A, 0x0004003D, 0x0000000B,
0x00005C3C, 0x000052BF, 0x000500C2, 0x0000000B, 0x00004F35, 0x00003D0B,
0x00000A46, 0x000500C7, 0x0000000B, 0x000061BE, 0x00004F35, 0x00000A44,
0x00050051, 0x0000000B, 0x00002AB1, 0x00001997, 0x00000000, 0x00050084,
0x0000000B, 0x00001DF6, 0x000061BE, 0x00002AB1, 0x000500AE, 0x00000009,
0x00001C77, 0x00005C3C, 0x00001DF6, 0x000300F7, 0x00003FD9, 0x00000002,
0x000400FA, 0x00001C77, 0x000055E8, 0x00003FD9, 0x000200F8, 0x000055E8,
0x000200F9, 0x00004C7A, 0x000200F8, 0x00003FD9, 0x00050050, 0x00000011,
0x00002A13, 0x00003D0B, 0x00003D0B, 0x000500C2, 0x00000011, 0x0000350D,
0x00002A13, 0x00000787, 0x000500C7, 0x00000011, 0x00005B53, 0x0000350D,
0x000008A5, 0x000500C4, 0x00000011, 0x00003570, 0x00005B53, 0x0000074E,
0x00050084, 0x00000011, 0x00006065, 0x00003570, 0x00001997, 0x0004003D,
0x00000014, 0x00001B5D, 0x00000F48, 0x0007004F, 0x00000011, 0x0000577F,
0x00001B5D, 0x00001B5D, 0x00000000, 0x00000001, 0x000500C4, 0x00000011,
0x0000545D, 0x0000577F, 0x0000072A, 0x00050080, 0x00000011, 0x0000234E,
0x00006065, 0x0000545D, 0x0004007C, 0x00000012, 0x00005FEF, 0x0000234E,
0x0004007C, 0x00000011, 0x000022D7, 0x00005FEF, 0x000500C7, 0x0000000B,
0x0000479E, 0x00005744, 0x00000A44, 0x000500AE, 0x0000000F, 0x00001C1B,
0x0000070F, 0x0000072D, 0x000600A9, 0x00000011, 0x00004549, 0x00001C1B,
0x00000724, 0x0000070F, 0x000500C4, 0x00000011, 0x000028BE, 0x000022D7,
0x00004549, 0x000500C2, 0x00000011, 0x0000405B, 0x0000070F, 0x00000718,
0x000500C7, 0x00000011, 0x0000330F, 0x0000405B, 0x00000724, 0x00050080,
0x00000011, 0x00004F30, 0x000028BE, 0x0000330F, 0x00050084, 0x00000011,
0x00005299, 0x00000A9F, 0x00001997, 0x000500C2, 0x00000011, 0x00003985,
0x00005299, 0x0000070F, 0x00050086, 0x00000011, 0x00004D57, 0x00004F30,
0x00003985, 0x00050051, 0x0000000B, 0x00004FA6, 0x00004D57, 0x00000001,
0x00050084, 0x0000000B, 0x00002B26, 0x00004FA6, 0x0000479E, 0x00050051,
0x0000000B, 0x000060A5, 0x00004D57, 0x00000000, 0x00050080, 0x0000000B,
0x00005146, 0x00002B26, 0x000060A5, 0x00050084, 0x00000011, 0x000034D7,
0x00004D57, 0x00003985, 0x00050082, 0x00000011, 0x000050EB, 0x00004F30,
0x000034D7, 0x00050051, 0x0000000B, 0x00001C87, 0x00005299, 0x00000000,
0x00050051, 0x0000000B, 0x00005962, 0x00005299, 0x00000001, 0x00050084,
0x0000000B, 0x00003372, 0x00001C87, 0x00005962, 0x00050084, 0x0000000B,
0x000038D7, 0x00005146, 0x00003372, 0x00050051, 0x0000000B, 0x00001A95,
0x000050EB, 0x00000001, 0x00050051, 0x0000000B, 0x00005BE6, 0x00003985,
0x00000000, 0x00050084, 0x0000000B, 0x00005966, 0x00001A95, 0x00005BE6,
0x00050051, 0x0000000B, 0x00001AE6, 0x000050EB, 0x00000000, 0x00050080,
0x0000000B, 0x000025E0, 0x00005966, 0x00001AE6, 0x000500C4, 0x0000000B,
0x00004AFF, 0x000025E0, 0x00000A0A, 0x00050080, 0x0000000B, 0x000062B0,
0x000038D7, 0x00004AFF, 0x000500C2, 0x0000000B, 0x000019AE, 0x000062B0,
0x00000A10, 0x0004003D, 0x00000096, 0x00001D20, 0x00000E7D, 0x0007005F,
0x0000001D, 0x0000459E, 0x00001D20, 0x00005FEF, 0x00000002, 0x00000A0B,
0x00050051, 0x0000000D, 0x00002E58, 0x0000459E, 0x00000000, 0x00050080,
0x00000012, 0x00004A5B, 0x00005FEF, 0x00000720, 0x0007005F, 0x0000001D,
0x000051A6, 0x00001D20, 0x00004A5B, 0x00000002, 0x00000A0B, 0x00050051,
0x0000000D, 0x00004440, 0x000051A6, 0x00000000, 0x00050080, 0x00000012,
0x00004A5C, 0x00005FEF, 0x00000729, 0x0007005F, 0x0000001D, 0x000051A7,
0x00001D20, 0x00004A5C, 0x00000002, 0x00000A0B, 0x00050051, 0x0000000D,
0x00004441, 0x000051A7, 0x00000000, 0x00050080, 0x00000012, 0x00004A5D,
0x00005FEF, 0x00000732, 0x0007005F, 0x0000001D, 0x00004E16, 0x00001D20,
0x00004A5D, 0x00000002, 0x00000A0B, 0x00050051, 0x0000000D, 0x00001C58,
0x00004E16, 0x00000000, 0x00070050, 0x0000001D, 0x00001957, 0x00002E58,
0x00004440, 0x00004441, 0x00001C58, 0x0004007C, 0x00000017, 0x00004F8E,
0x00001957, 0x00060041, 0x00000294, 0x0000323C, 0x000012B6, 0x00000A0B,
0x000019AE, 0x0003003E, 0x0000323C, 0x00004F8E, 0x00050080, 0x0000000B,
0x00004F20, 0x000019AE, 0x00000A0D, 0x00050080, 0x00000012, 0x0000217E,
0x00005FEF, 0x0000073B, 0x0007005F, 0x0000001D, 0x000029B8, 0x00001D20,
0x0000217E, 0x00000002, 0x00000A0B, 0x00050051, 0x0000000D, 0x00004442,
0x000029B8, 0x00000000, 0x00050080, 0x00000012, 0x00004A5E, 0x00005FEF,
0x00000744, 0x0007005F, 0x0000001D, 0x000051A8, 0x00001D20, 0x00004A5E,
0x00000002, 0x00000A0B, 0x00050051, 0x0000000D, 0x00004443, 0x000051A8,
0x00000000, 0x00050080, 0x00000012, 0x00004A5F, 0x00005FEF, 0x0000074D,
0x0007005F, 0x0000001D, 0x000051A9, 0x00001D20, 0x00004A5F, 0x00000002,
0x00000A0B, 0x00050051, 0x0000000D, 0x00004444, 0x000051A9, 0x00000000,
0x00050080, 0x00000012, 0x00004A60, 0x00005FEF, 0x00000756, 0x0007005F,
0x0000001D, 0x00004E17, 0x00001D20, 0x00004A60, 0x00000002, 0x00000A0B,
0x00050051, 0x0000000D, 0x00001C59, 0x00004E17, 0x00000000, 0x00070050,
0x0000001D, 0x00001958, 0x00004442, 0x00004443, 0x00004444, 0x00001C59,
0x0004007C, 0x00000017, 0x00004F8F, 0x00001958, 0x00060041, 0x00000294,
0x00003B37, 0x000012B6, 0x00000A0B, 0x00004F20, 0x0003003E, 0x00003B37,
0x00004F8F, 0x000200F9, 0x00004C7A, 0x000200F8, 0x00004C7A, 0x000100FD,
0x00010038,
0x00005C3C, 0x000052BF, 0x000500C2, 0x0000000B, 0x000052B2, 0x00003D0B,
0x00000A46, 0x000500C7, 0x0000000B, 0x00003E32, 0x000052B2, 0x00000A44,
0x00050080, 0x0000000B, 0x0000228E, 0x00003E32, 0x00000A0D, 0x00050051,
0x0000000B, 0x00002E41, 0x00001997, 0x00000000, 0x00050084, 0x0000000B,
0x000045F3, 0x0000228E, 0x00002E41, 0x000500AE, 0x00000009, 0x00001C77,
0x00005C3C, 0x000045F3, 0x000300F7, 0x00003FD9, 0x00000002, 0x000400FA,
0x00001C77, 0x000055E8, 0x00003FD9, 0x000200F8, 0x000055E8, 0x000200F9,
0x00004C7A, 0x000200F8, 0x00003FD9, 0x00050050, 0x00000011, 0x00002A13,
0x00003D0B, 0x00003D0B, 0x000500C2, 0x00000011, 0x0000350D, 0x00002A13,
0x00000787, 0x000500C7, 0x00000011, 0x00005B53, 0x0000350D, 0x000008A5,
0x000500C4, 0x00000011, 0x00003570, 0x00005B53, 0x0000074E, 0x00050084,
0x00000011, 0x00006065, 0x00003570, 0x00001997, 0x0004003D, 0x00000014,
0x00001B5D, 0x00000F48, 0x0007004F, 0x00000011, 0x0000577F, 0x00001B5D,
0x00001B5D, 0x00000000, 0x00000001, 0x000500C4, 0x00000011, 0x0000545D,
0x0000577F, 0x0000072A, 0x00050080, 0x00000011, 0x0000234E, 0x00006065,
0x0000545D, 0x0004007C, 0x00000012, 0x00005FEF, 0x0000234E, 0x0004007C,
0x00000011, 0x000022D7, 0x00005FEF, 0x000500C7, 0x0000000B, 0x0000479E,
0x00005744, 0x00000A44, 0x000500AE, 0x0000000F, 0x00001C1B, 0x0000070F,
0x0000072D, 0x000600A9, 0x00000011, 0x00004549, 0x00001C1B, 0x00000724,
0x0000070F, 0x000500C4, 0x00000011, 0x000028BE, 0x000022D7, 0x00004549,
0x000500C2, 0x00000011, 0x0000405B, 0x0000070F, 0x00000718, 0x000500C7,
0x00000011, 0x0000330F, 0x0000405B, 0x00000724, 0x00050080, 0x00000011,
0x00004F30, 0x000028BE, 0x0000330F, 0x00050084, 0x00000011, 0x00005299,
0x00000A9F, 0x00001997, 0x000500C2, 0x00000011, 0x00003985, 0x00005299,
0x0000070F, 0x00050086, 0x00000011, 0x00004D57, 0x00004F30, 0x00003985,
0x00050051, 0x0000000B, 0x00004FA6, 0x00004D57, 0x00000001, 0x00050084,
0x0000000B, 0x00002B26, 0x00004FA6, 0x0000479E, 0x00050051, 0x0000000B,
0x000060A5, 0x00004D57, 0x00000000, 0x00050080, 0x0000000B, 0x00005146,
0x00002B26, 0x000060A5, 0x00050084, 0x00000011, 0x000034D7, 0x00004D57,
0x00003985, 0x00050082, 0x00000011, 0x000050EB, 0x00004F30, 0x000034D7,
0x00050051, 0x0000000B, 0x00001C87, 0x00005299, 0x00000000, 0x00050051,
0x0000000B, 0x00005962, 0x00005299, 0x00000001, 0x00050084, 0x0000000B,
0x00003372, 0x00001C87, 0x00005962, 0x00050084, 0x0000000B, 0x000038D7,
0x00005146, 0x00003372, 0x00050051, 0x0000000B, 0x00001A95, 0x000050EB,
0x00000001, 0x00050051, 0x0000000B, 0x00005BE6, 0x00003985, 0x00000000,
0x00050084, 0x0000000B, 0x00005966, 0x00001A95, 0x00005BE6, 0x00050051,
0x0000000B, 0x00001AE6, 0x000050EB, 0x00000000, 0x00050080, 0x0000000B,
0x000025E0, 0x00005966, 0x00001AE6, 0x000500C4, 0x0000000B, 0x00004AFF,
0x000025E0, 0x00000A0A, 0x00050080, 0x0000000B, 0x000062B0, 0x000038D7,
0x00004AFF, 0x000500C2, 0x0000000B, 0x000019AE, 0x000062B0, 0x00000A10,
0x0004003D, 0x00000096, 0x00001D20, 0x00000E7D, 0x0007005F, 0x0000001D,
0x0000459E, 0x00001D20, 0x00005FEF, 0x00000002, 0x00000A0B, 0x00050051,
0x0000000D, 0x00002E58, 0x0000459E, 0x00000000, 0x00050080, 0x00000012,
0x00004A5B, 0x00005FEF, 0x00000720, 0x0007005F, 0x0000001D, 0x000051A6,
0x00001D20, 0x00004A5B, 0x00000002, 0x00000A0B, 0x00050051, 0x0000000D,
0x00004440, 0x000051A6, 0x00000000, 0x00050080, 0x00000012, 0x00004A5C,
0x00005FEF, 0x00000729, 0x0007005F, 0x0000001D, 0x000051A7, 0x00001D20,
0x00004A5C, 0x00000002, 0x00000A0B, 0x00050051, 0x0000000D, 0x00004441,
0x000051A7, 0x00000000, 0x00050080, 0x00000012, 0x00004A5D, 0x00005FEF,
0x00000732, 0x0007005F, 0x0000001D, 0x00004E16, 0x00001D20, 0x00004A5D,
0x00000002, 0x00000A0B, 0x00050051, 0x0000000D, 0x00001C58, 0x00004E16,
0x00000000, 0x00070050, 0x0000001D, 0x00001957, 0x00002E58, 0x00004440,
0x00004441, 0x00001C58, 0x0004007C, 0x00000017, 0x00004F8E, 0x00001957,
0x00060041, 0x00000294, 0x0000323C, 0x000012B6, 0x00000A0B, 0x000019AE,
0x0003003E, 0x0000323C, 0x00004F8E, 0x00050080, 0x0000000B, 0x00004F20,
0x000019AE, 0x00000A0D, 0x00050080, 0x00000012, 0x0000217E, 0x00005FEF,
0x0000073B, 0x0007005F, 0x0000001D, 0x000029B8, 0x00001D20, 0x0000217E,
0x00000002, 0x00000A0B, 0x00050051, 0x0000000D, 0x00004442, 0x000029B8,
0x00000000, 0x00050080, 0x00000012, 0x00004A5E, 0x00005FEF, 0x00000744,
0x0007005F, 0x0000001D, 0x000051A8, 0x00001D20, 0x00004A5E, 0x00000002,
0x00000A0B, 0x00050051, 0x0000000D, 0x00004443, 0x000051A8, 0x00000000,
0x00050080, 0x00000012, 0x00004A5F, 0x00005FEF, 0x0000074D, 0x0007005F,
0x0000001D, 0x000051A9, 0x00001D20, 0x00004A5F, 0x00000002, 0x00000A0B,
0x00050051, 0x0000000D, 0x00004444, 0x000051A9, 0x00000000, 0x00050080,
0x00000012, 0x00004A60, 0x00005FEF, 0x00000756, 0x0007005F, 0x0000001D,
0x00004E17, 0x00001D20, 0x00004A60, 0x00000002, 0x00000A0B, 0x00050051,
0x0000000D, 0x00001C59, 0x00004E17, 0x00000000, 0x00070050, 0x0000001D,
0x00001958, 0x00004442, 0x00004443, 0x00004444, 0x00001C59, 0x0004007C,
0x00000017, 0x00004F8F, 0x00001958, 0x00060041, 0x00000294, 0x00003B37,
0x000012B6, 0x00000A0B, 0x00004F20, 0x0003003E, 0x00003B37, 0x00004F8F,
0x000200F9, 0x00004C7A, 0x000200F8, 0x00004C7A, 0x000100FD, 0x00010038,
};

View File

@ -3,7 +3,7 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 10
; Bound: 25023
; Bound: 24742
; Schema: 0
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
@ -101,11 +101,12 @@
%6551 = OpBitwiseAnd %v2uint %24330 %1870
%21183 = OpAccessChain %_ptr_Input_uint %gl_GlobalInvocationID %uint_0
%23612 = OpLoad %uint %21183
%20277 = OpShiftRightLogical %uint %15627 %uint_20
%25022 = OpBitwiseAnd %uint %20277 %uint_1023
%10929 = OpCompositeExtract %uint %6551 0
%7670 = OpIMul %uint %25022 %10929
%7287 = OpUGreaterThanEqual %bool %23612 %7670
%21170 = OpShiftRightLogical %uint %15627 %uint_20
%15922 = OpBitwiseAnd %uint %21170 %uint_1023
%8846 = OpIAdd %uint %15922 %uint_1
%11841 = OpCompositeExtract %uint %6551 0
%17907 = OpIMul %uint %8846 %11841
%7287 = OpUGreaterThanEqual %bool %23612 %17907
OpSelectionMerge %16345 DontFlatten
OpBranchConditional %7287 %21992 %16345
%21992 = OpLabel
@ -209,7 +210,7 @@
#endif
const uint32_t host_depth_store_2xmsaa_cs[] = {
0x07230203, 0x00010000, 0x0008000A, 0x000061BF, 0x00000000, 0x00020011,
0x07230203, 0x00010000, 0x0008000A, 0x000060A6, 0x00000000, 0x00020011,
0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E,
0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0006000F, 0x00000005,
0x0000161F, 0x6E69616D, 0x00000000, 0x00000F48, 0x00060010, 0x0000161F,
@ -277,88 +278,88 @@ const uint32_t host_depth_store_2xmsaa_cs[] = {
0x000500C2, 0x00000011, 0x00005F0A, 0x00002835, 0x000007F9, 0x000500C7,
0x00000011, 0x00001997, 0x00005F0A, 0x0000074E, 0x00050041, 0x00000289,
0x000052BF, 0x00000F48, 0x00000A0A, 0x0004003D, 0x0000000B, 0x00005C3C,
0x000052BF, 0x000500C2, 0x0000000B, 0x00004F35, 0x00003D0B, 0x00000A46,
0x000500C7, 0x0000000B, 0x000061BE, 0x00004F35, 0x00000A44, 0x00050051,
0x0000000B, 0x00002AB1, 0x00001997, 0x00000000, 0x00050084, 0x0000000B,
0x00001DF6, 0x000061BE, 0x00002AB1, 0x000500AE, 0x00000009, 0x00001C77,
0x00005C3C, 0x00001DF6, 0x000300F7, 0x00003FD9, 0x00000002, 0x000400FA,
0x00001C77, 0x000055E8, 0x00003FD9, 0x000200F8, 0x000055E8, 0x000200F9,
0x00004C7A, 0x000200F8, 0x00003FD9, 0x00050050, 0x00000011, 0x00002A13,
0x00003D0B, 0x00003D0B, 0x000500C2, 0x00000011, 0x0000350D, 0x00002A13,
0x00000787, 0x000500C7, 0x00000011, 0x00005B53, 0x0000350D, 0x000008A5,
0x000500C4, 0x00000011, 0x00003F75, 0x00005B53, 0x0000074E, 0x00050084,
0x00000011, 0x00004E9F, 0x00003F75, 0x00001997, 0x000500C4, 0x0000000B,
0x00004C53, 0x00005C3C, 0x00000A13, 0x00050041, 0x00000289, 0x000042E6,
0x00000F48, 0x00000A0D, 0x0004003D, 0x0000000B, 0x00005690, 0x000042E6,
0x000500C2, 0x0000000B, 0x0000589E, 0x00005690, 0x00000A0D, 0x00050050,
0x00000011, 0x00001947, 0x00004C53, 0x0000589E, 0x00050080, 0x00000011,
0x0000250B, 0x00004E9F, 0x00001947, 0x0004007C, 0x00000012, 0x00003368,
0x0000250B, 0x000500C7, 0x0000000B, 0x00002DBD, 0x00005690, 0x00000A0D,
0x0004007C, 0x00000011, 0x000029FA, 0x00003368, 0x000500C7, 0x0000000B,
0x00002C3B, 0x00005744, 0x00000A44, 0x000500AE, 0x0000000F, 0x00001C1B,
0x00000724, 0x0000072D, 0x000600A9, 0x00000011, 0x00003CD3, 0x00001C1B,
0x00000724, 0x0000070F, 0x000500C4, 0x00000011, 0x00002AEA, 0x000029FA,
0x00003CD3, 0x00050050, 0x00000011, 0x0000605D, 0x00002DBD, 0x00002DBD,
0x000500C2, 0x00000011, 0x00002385, 0x0000605D, 0x00000718, 0x000500C7,
0x00000011, 0x00003EC8, 0x00002385, 0x00000724, 0x00050080, 0x00000011,
0x00004F30, 0x00002AEA, 0x00003EC8, 0x00050084, 0x00000011, 0x00005299,
0x00000A9F, 0x00001997, 0x000500C2, 0x00000011, 0x00003985, 0x00005299,
0x0000070F, 0x00050086, 0x00000011, 0x00004D57, 0x00004F30, 0x00003985,
0x00050051, 0x0000000B, 0x00004FA6, 0x00004D57, 0x00000001, 0x00050084,
0x0000000B, 0x00002B26, 0x00004FA6, 0x00002C3B, 0x00050051, 0x0000000B,
0x000060A5, 0x00004D57, 0x00000000, 0x00050080, 0x0000000B, 0x00005146,
0x00002B26, 0x000060A5, 0x00050084, 0x00000011, 0x000034D7, 0x00004D57,
0x00003985, 0x00050082, 0x00000011, 0x000050EB, 0x00004F30, 0x000034D7,
0x00050051, 0x0000000B, 0x00001C87, 0x00005299, 0x00000000, 0x00050051,
0x0000000B, 0x00005962, 0x00005299, 0x00000001, 0x00050084, 0x0000000B,
0x00003372, 0x00001C87, 0x00005962, 0x00050084, 0x0000000B, 0x000038D7,
0x00005146, 0x00003372, 0x00050051, 0x0000000B, 0x00001A95, 0x000050EB,
0x00000001, 0x00050051, 0x0000000B, 0x00005BE6, 0x00003985, 0x00000000,
0x00050084, 0x0000000B, 0x00005966, 0x00001A95, 0x00005BE6, 0x00050051,
0x0000000B, 0x00001AE6, 0x000050EB, 0x00000000, 0x00050080, 0x0000000B,
0x000025E0, 0x00005966, 0x00001AE6, 0x000500C4, 0x0000000B, 0x00004AFF,
0x000025E0, 0x00000A0A, 0x00050080, 0x0000000B, 0x00002210, 0x000038D7,
0x00004AFF, 0x000500C2, 0x0000000B, 0x00005C83, 0x00002210, 0x00000A10,
0x000500C2, 0x0000000B, 0x000035D4, 0x00005744, 0x00000A34, 0x000500C7,
0x0000000B, 0x00003175, 0x000035D4, 0x00000A0D, 0x000500AB, 0x00000009,
0x00002CE3, 0x00003175, 0x00000A0A, 0x000300F7, 0x00001FC1, 0x00000000,
0x000400FA, 0x00002CE3, 0x000059C7, 0x00003A42, 0x000200F8, 0x00003A42,
0x000500AB, 0x00000009, 0x00005F7C, 0x00002DBD, 0x00000A0A, 0x000600A9,
0x0000000C, 0x00005143, 0x00005F7C, 0x00000A14, 0x00000A0B, 0x000200F9,
0x00001FC1, 0x000200F8, 0x000059C7, 0x000500AB, 0x00000009, 0x00001E73,
0x00002DBD, 0x00000A0A, 0x000600A9, 0x0000000C, 0x00005144, 0x00001E73,
0x00000A0B, 0x00000A0E, 0x000200F9, 0x00001FC1, 0x000200F8, 0x00001FC1,
0x000700F5, 0x0000000C, 0x0000525E, 0x00005144, 0x000059C7, 0x00005143,
0x00003A42, 0x0004003D, 0x000000B6, 0x00003235, 0x00000E7D, 0x0007005F,
0x0000001D, 0x00005B90, 0x00003235, 0x00003368, 0x00000040, 0x0000525E,
0x00050051, 0x0000000D, 0x00002E58, 0x00005B90, 0x00000000, 0x00050080,
0x00000012, 0x00004A5B, 0x00003368, 0x00000720, 0x0007005F, 0x0000001D,
0x000051A6, 0x00003235, 0x00004A5B, 0x00000040, 0x0000525E, 0x00050051,
0x0000000D, 0x00004440, 0x000051A6, 0x00000000, 0x00050080, 0x00000012,
0x00004A5C, 0x00003368, 0x00000729, 0x0007005F, 0x0000001D, 0x000051A7,
0x00003235, 0x00004A5C, 0x00000040, 0x0000525E, 0x00050051, 0x0000000D,
0x00004441, 0x000051A7, 0x00000000, 0x00050080, 0x00000012, 0x00004A5D,
0x00003368, 0x00000732, 0x0007005F, 0x0000001D, 0x00004E16, 0x00003235,
0x00004A5D, 0x00000040, 0x0000525E, 0x00050051, 0x0000000D, 0x00001C58,
0x00004E16, 0x00000000, 0x00070050, 0x0000001D, 0x00001957, 0x00002E58,
0x00004440, 0x00004441, 0x00001C58, 0x0004007C, 0x00000017, 0x00004F8E,
0x00001957, 0x00060041, 0x00000294, 0x0000323C, 0x000012B6, 0x00000A0B,
0x00005C83, 0x0003003E, 0x0000323C, 0x00004F8E, 0x00050080, 0x0000000B,
0x00004F20, 0x00005C83, 0x00000A0D, 0x00050080, 0x00000012, 0x0000217E,
0x00003368, 0x0000073B, 0x0007005F, 0x0000001D, 0x000029B8, 0x00003235,
0x0000217E, 0x00000040, 0x0000525E, 0x00050051, 0x0000000D, 0x00004442,
0x000029B8, 0x00000000, 0x00050080, 0x00000012, 0x00004A5E, 0x00003368,
0x00000744, 0x0007005F, 0x0000001D, 0x000051A8, 0x00003235, 0x00004A5E,
0x00000040, 0x0000525E, 0x00050051, 0x0000000D, 0x00004443, 0x000051A8,
0x00000000, 0x00050080, 0x00000012, 0x00004A5F, 0x00003368, 0x0000074D,
0x0007005F, 0x0000001D, 0x000051A9, 0x00003235, 0x00004A5F, 0x00000040,
0x0000525E, 0x00050051, 0x0000000D, 0x00004444, 0x000051A9, 0x00000000,
0x00050080, 0x00000012, 0x00004A60, 0x00003368, 0x00000756, 0x0007005F,
0x0000001D, 0x00004E17, 0x00003235, 0x00004A60, 0x00000040, 0x0000525E,
0x00050051, 0x0000000D, 0x00001C59, 0x00004E17, 0x00000000, 0x00070050,
0x0000001D, 0x00001958, 0x00004442, 0x00004443, 0x00004444, 0x00001C59,
0x0004007C, 0x00000017, 0x00004F8F, 0x00001958, 0x00060041, 0x00000294,
0x00003B37, 0x000012B6, 0x00000A0B, 0x00004F20, 0x0003003E, 0x00003B37,
0x00004F8F, 0x000200F9, 0x00004C7A, 0x000200F8, 0x00004C7A, 0x000100FD,
0x00010038,
0x000052BF, 0x000500C2, 0x0000000B, 0x000052B2, 0x00003D0B, 0x00000A46,
0x000500C7, 0x0000000B, 0x00003E32, 0x000052B2, 0x00000A44, 0x00050080,
0x0000000B, 0x0000228E, 0x00003E32, 0x00000A0D, 0x00050051, 0x0000000B,
0x00002E41, 0x00001997, 0x00000000, 0x00050084, 0x0000000B, 0x000045F3,
0x0000228E, 0x00002E41, 0x000500AE, 0x00000009, 0x00001C77, 0x00005C3C,
0x000045F3, 0x000300F7, 0x00003FD9, 0x00000002, 0x000400FA, 0x00001C77,
0x000055E8, 0x00003FD9, 0x000200F8, 0x000055E8, 0x000200F9, 0x00004C7A,
0x000200F8, 0x00003FD9, 0x00050050, 0x00000011, 0x00002A13, 0x00003D0B,
0x00003D0B, 0x000500C2, 0x00000011, 0x0000350D, 0x00002A13, 0x00000787,
0x000500C7, 0x00000011, 0x00005B53, 0x0000350D, 0x000008A5, 0x000500C4,
0x00000011, 0x00003F75, 0x00005B53, 0x0000074E, 0x00050084, 0x00000011,
0x00004E9F, 0x00003F75, 0x00001997, 0x000500C4, 0x0000000B, 0x00004C53,
0x00005C3C, 0x00000A13, 0x00050041, 0x00000289, 0x000042E6, 0x00000F48,
0x00000A0D, 0x0004003D, 0x0000000B, 0x00005690, 0x000042E6, 0x000500C2,
0x0000000B, 0x0000589E, 0x00005690, 0x00000A0D, 0x00050050, 0x00000011,
0x00001947, 0x00004C53, 0x0000589E, 0x00050080, 0x00000011, 0x0000250B,
0x00004E9F, 0x00001947, 0x0004007C, 0x00000012, 0x00003368, 0x0000250B,
0x000500C7, 0x0000000B, 0x00002DBD, 0x00005690, 0x00000A0D, 0x0004007C,
0x00000011, 0x000029FA, 0x00003368, 0x000500C7, 0x0000000B, 0x00002C3B,
0x00005744, 0x00000A44, 0x000500AE, 0x0000000F, 0x00001C1B, 0x00000724,
0x0000072D, 0x000600A9, 0x00000011, 0x00003CD3, 0x00001C1B, 0x00000724,
0x0000070F, 0x000500C4, 0x00000011, 0x00002AEA, 0x000029FA, 0x00003CD3,
0x00050050, 0x00000011, 0x0000605D, 0x00002DBD, 0x00002DBD, 0x000500C2,
0x00000011, 0x00002385, 0x0000605D, 0x00000718, 0x000500C7, 0x00000011,
0x00003EC8, 0x00002385, 0x00000724, 0x00050080, 0x00000011, 0x00004F30,
0x00002AEA, 0x00003EC8, 0x00050084, 0x00000011, 0x00005299, 0x00000A9F,
0x00001997, 0x000500C2, 0x00000011, 0x00003985, 0x00005299, 0x0000070F,
0x00050086, 0x00000011, 0x00004D57, 0x00004F30, 0x00003985, 0x00050051,
0x0000000B, 0x00004FA6, 0x00004D57, 0x00000001, 0x00050084, 0x0000000B,
0x00002B26, 0x00004FA6, 0x00002C3B, 0x00050051, 0x0000000B, 0x000060A5,
0x00004D57, 0x00000000, 0x00050080, 0x0000000B, 0x00005146, 0x00002B26,
0x000060A5, 0x00050084, 0x00000011, 0x000034D7, 0x00004D57, 0x00003985,
0x00050082, 0x00000011, 0x000050EB, 0x00004F30, 0x000034D7, 0x00050051,
0x0000000B, 0x00001C87, 0x00005299, 0x00000000, 0x00050051, 0x0000000B,
0x00005962, 0x00005299, 0x00000001, 0x00050084, 0x0000000B, 0x00003372,
0x00001C87, 0x00005962, 0x00050084, 0x0000000B, 0x000038D7, 0x00005146,
0x00003372, 0x00050051, 0x0000000B, 0x00001A95, 0x000050EB, 0x00000001,
0x00050051, 0x0000000B, 0x00005BE6, 0x00003985, 0x00000000, 0x00050084,
0x0000000B, 0x00005966, 0x00001A95, 0x00005BE6, 0x00050051, 0x0000000B,
0x00001AE6, 0x000050EB, 0x00000000, 0x00050080, 0x0000000B, 0x000025E0,
0x00005966, 0x00001AE6, 0x000500C4, 0x0000000B, 0x00004AFF, 0x000025E0,
0x00000A0A, 0x00050080, 0x0000000B, 0x00002210, 0x000038D7, 0x00004AFF,
0x000500C2, 0x0000000B, 0x00005C83, 0x00002210, 0x00000A10, 0x000500C2,
0x0000000B, 0x000035D4, 0x00005744, 0x00000A34, 0x000500C7, 0x0000000B,
0x00003175, 0x000035D4, 0x00000A0D, 0x000500AB, 0x00000009, 0x00002CE3,
0x00003175, 0x00000A0A, 0x000300F7, 0x00001FC1, 0x00000000, 0x000400FA,
0x00002CE3, 0x000059C7, 0x00003A42, 0x000200F8, 0x00003A42, 0x000500AB,
0x00000009, 0x00005F7C, 0x00002DBD, 0x00000A0A, 0x000600A9, 0x0000000C,
0x00005143, 0x00005F7C, 0x00000A14, 0x00000A0B, 0x000200F9, 0x00001FC1,
0x000200F8, 0x000059C7, 0x000500AB, 0x00000009, 0x00001E73, 0x00002DBD,
0x00000A0A, 0x000600A9, 0x0000000C, 0x00005144, 0x00001E73, 0x00000A0B,
0x00000A0E, 0x000200F9, 0x00001FC1, 0x000200F8, 0x00001FC1, 0x000700F5,
0x0000000C, 0x0000525E, 0x00005144, 0x000059C7, 0x00005143, 0x00003A42,
0x0004003D, 0x000000B6, 0x00003235, 0x00000E7D, 0x0007005F, 0x0000001D,
0x00005B90, 0x00003235, 0x00003368, 0x00000040, 0x0000525E, 0x00050051,
0x0000000D, 0x00002E58, 0x00005B90, 0x00000000, 0x00050080, 0x00000012,
0x00004A5B, 0x00003368, 0x00000720, 0x0007005F, 0x0000001D, 0x000051A6,
0x00003235, 0x00004A5B, 0x00000040, 0x0000525E, 0x00050051, 0x0000000D,
0x00004440, 0x000051A6, 0x00000000, 0x00050080, 0x00000012, 0x00004A5C,
0x00003368, 0x00000729, 0x0007005F, 0x0000001D, 0x000051A7, 0x00003235,
0x00004A5C, 0x00000040, 0x0000525E, 0x00050051, 0x0000000D, 0x00004441,
0x000051A7, 0x00000000, 0x00050080, 0x00000012, 0x00004A5D, 0x00003368,
0x00000732, 0x0007005F, 0x0000001D, 0x00004E16, 0x00003235, 0x00004A5D,
0x00000040, 0x0000525E, 0x00050051, 0x0000000D, 0x00001C58, 0x00004E16,
0x00000000, 0x00070050, 0x0000001D, 0x00001957, 0x00002E58, 0x00004440,
0x00004441, 0x00001C58, 0x0004007C, 0x00000017, 0x00004F8E, 0x00001957,
0x00060041, 0x00000294, 0x0000323C, 0x000012B6, 0x00000A0B, 0x00005C83,
0x0003003E, 0x0000323C, 0x00004F8E, 0x00050080, 0x0000000B, 0x00004F20,
0x00005C83, 0x00000A0D, 0x00050080, 0x00000012, 0x0000217E, 0x00003368,
0x0000073B, 0x0007005F, 0x0000001D, 0x000029B8, 0x00003235, 0x0000217E,
0x00000040, 0x0000525E, 0x00050051, 0x0000000D, 0x00004442, 0x000029B8,
0x00000000, 0x00050080, 0x00000012, 0x00004A5E, 0x00003368, 0x00000744,
0x0007005F, 0x0000001D, 0x000051A8, 0x00003235, 0x00004A5E, 0x00000040,
0x0000525E, 0x00050051, 0x0000000D, 0x00004443, 0x000051A8, 0x00000000,
0x00050080, 0x00000012, 0x00004A5F, 0x00003368, 0x0000074D, 0x0007005F,
0x0000001D, 0x000051A9, 0x00003235, 0x00004A5F, 0x00000040, 0x0000525E,
0x00050051, 0x0000000D, 0x00004444, 0x000051A9, 0x00000000, 0x00050080,
0x00000012, 0x00004A60, 0x00003368, 0x00000756, 0x0007005F, 0x0000001D,
0x00004E17, 0x00003235, 0x00004A60, 0x00000040, 0x0000525E, 0x00050051,
0x0000000D, 0x00001C59, 0x00004E17, 0x00000000, 0x00070050, 0x0000001D,
0x00001958, 0x00004442, 0x00004443, 0x00004444, 0x00001C59, 0x0004007C,
0x00000017, 0x00004F8F, 0x00001958, 0x00060041, 0x00000294, 0x00003B37,
0x000012B6, 0x00000A0B, 0x00004F20, 0x0003003E, 0x00003B37, 0x00004F8F,
0x000200F9, 0x00004C7A, 0x000200F8, 0x00004C7A, 0x000100FD, 0x00010038,
};

View File

@ -93,11 +93,12 @@
%21183 = OpAccessChain %_ptr_Input_uint %gl_GlobalInvocationID %uint_0
%23517 = OpLoad %uint %21183
%23384 = OpShiftRightLogical %uint %23517 %uint_1
%6462 = OpShiftRightLogical %uint %15627 %uint_20
%6975 = OpBitwiseAnd %uint %6462 %uint_1023
%10929 = OpCompositeExtract %uint %6551 0
%7670 = OpIMul %uint %6975 %10929
%7287 = OpUGreaterThanEqual %bool %23384 %7670
%7355 = OpShiftRightLogical %uint %15627 %uint_20
%16946 = OpBitwiseAnd %uint %7355 %uint_1023
%8846 = OpIAdd %uint %16946 %uint_1
%11841 = OpCompositeExtract %uint %6551 0
%17907 = OpIMul %uint %8846 %11841
%7287 = OpUGreaterThanEqual %bool %23384 %17907
OpSelectionMerge %16345 DontFlatten
OpBranchConditional %7287 %21992 %16345
%21992 = OpLabel
@ -251,80 +252,81 @@ const uint32_t host_depth_store_4xmsaa_cs[] = {
0x000007F9, 0x000500C7, 0x00000011, 0x00001997, 0x00005F0A, 0x0000074E,
0x00050041, 0x00000289, 0x000052BF, 0x00000F48, 0x00000A0A, 0x0004003D,
0x0000000B, 0x00005BDD, 0x000052BF, 0x000500C2, 0x0000000B, 0x00005B58,
0x00005BDD, 0x00000A0D, 0x000500C2, 0x0000000B, 0x0000193E, 0x00003D0B,
0x00000A46, 0x000500C7, 0x0000000B, 0x00001B3F, 0x0000193E, 0x00000A44,
0x00050051, 0x0000000B, 0x00002AB1, 0x00001997, 0x00000000, 0x00050084,
0x0000000B, 0x00001DF6, 0x00001B3F, 0x00002AB1, 0x000500AE, 0x00000009,
0x00001C77, 0x00005B58, 0x00001DF6, 0x000300F7, 0x00003FD9, 0x00000002,
0x000400FA, 0x00001C77, 0x000055E8, 0x00003FD9, 0x000200F8, 0x000055E8,
0x000200F9, 0x00004C7A, 0x000200F8, 0x00003FD9, 0x00050050, 0x00000011,
0x00002A13, 0x00003D0B, 0x00003D0B, 0x000500C2, 0x00000011, 0x0000350D,
0x00002A13, 0x00000787, 0x000500C7, 0x00000011, 0x00005B53, 0x0000350D,
0x000008A5, 0x000500C4, 0x00000011, 0x00003F75, 0x00005B53, 0x0000074E,
0x00050084, 0x00000011, 0x00004E9F, 0x00003F75, 0x00001997, 0x000500C4,
0x0000000B, 0x00004C53, 0x00005BDD, 0x00000A10, 0x00050041, 0x00000289,
0x000042E6, 0x00000F48, 0x00000A0D, 0x0004003D, 0x0000000B, 0x00005690,
0x000042E6, 0x000500C2, 0x0000000B, 0x0000589E, 0x00005690, 0x00000A0D,
0x00050050, 0x00000011, 0x00001947, 0x00004C53, 0x0000589E, 0x00050080,
0x00000011, 0x00001F7A, 0x00004E9F, 0x00001947, 0x0004007C, 0x00000012,
0x000020F0, 0x00001F7A, 0x0004007C, 0x00000011, 0x00001C7B, 0x000020F0,
0x000500C4, 0x00000011, 0x00005852, 0x00001C7B, 0x00000724, 0x0004003D,
0x00000014, 0x00002226, 0x00000F48, 0x0007004F, 0x00000011, 0x00004262,
0x00002226, 0x00002226, 0x00000000, 0x00000001, 0x000500C7, 0x00000011,
0x00006048, 0x00004262, 0x00000724, 0x000500C5, 0x00000011, 0x00003D4D,
0x00005852, 0x00006048, 0x000500C7, 0x0000000B, 0x00005B23, 0x00005744,
0x00000A44, 0x000500AE, 0x0000000F, 0x000044EA, 0x0000070F, 0x0000072D,
0x000600A9, 0x00000011, 0x00004549, 0x000044EA, 0x00000724, 0x0000070F,
0x000500C4, 0x00000011, 0x000028BE, 0x00003D4D, 0x00004549, 0x000500C2,
0x00000011, 0x0000405B, 0x0000070F, 0x00000718, 0x000500C7, 0x00000011,
0x0000330F, 0x0000405B, 0x00000724, 0x00050080, 0x00000011, 0x00004F30,
0x000028BE, 0x0000330F, 0x00050084, 0x00000011, 0x00005299, 0x00000A9F,
0x00001997, 0x000500C2, 0x00000011, 0x00003985, 0x00005299, 0x0000070F,
0x00050086, 0x00000011, 0x00004D57, 0x00004F30, 0x00003985, 0x00050051,
0x0000000B, 0x00004FA6, 0x00004D57, 0x00000001, 0x00050084, 0x0000000B,
0x00002B26, 0x00004FA6, 0x00005B23, 0x00050051, 0x0000000B, 0x000060A5,
0x00004D57, 0x00000000, 0x00050080, 0x0000000B, 0x00005146, 0x00002B26,
0x000060A5, 0x00050084, 0x00000011, 0x000034D7, 0x00004D57, 0x00003985,
0x00050082, 0x00000011, 0x000050EB, 0x00004F30, 0x000034D7, 0x00050051,
0x0000000B, 0x00001C87, 0x00005299, 0x00000000, 0x00050051, 0x0000000B,
0x00005962, 0x00005299, 0x00000001, 0x00050084, 0x0000000B, 0x00003372,
0x00001C87, 0x00005962, 0x00050084, 0x0000000B, 0x000038D7, 0x00005146,
0x00003372, 0x00050051, 0x0000000B, 0x00001A95, 0x000050EB, 0x00000001,
0x00050051, 0x0000000B, 0x00005BE6, 0x00003985, 0x00000000, 0x00050084,
0x0000000B, 0x00005966, 0x00001A95, 0x00005BE6, 0x00050051, 0x0000000B,
0x00001AE6, 0x000050EB, 0x00000000, 0x00050080, 0x0000000B, 0x000025E0,
0x00005966, 0x00001AE6, 0x000500C4, 0x0000000B, 0x00004AFF, 0x000025E0,
0x00000A0A, 0x00050080, 0x0000000B, 0x0000226F, 0x000038D7, 0x00004AFF,
0x000500C2, 0x0000000B, 0x000058E9, 0x0000226F, 0x00000A10, 0x000500C7,
0x0000000B, 0x00002957, 0x00005690, 0x00000A0D, 0x000500C4, 0x0000000B,
0x00003FD1, 0x00002957, 0x00000A0D, 0x0004007C, 0x0000000C, 0x00005253,
0x00003FD1, 0x00050080, 0x0000000C, 0x00001FE3, 0x00005253, 0x00000A0E,
0x0004003D, 0x000000B6, 0x00005694, 0x00000E7D, 0x0007005F, 0x0000001D,
0x000023CD, 0x00005694, 0x000020F0, 0x00000040, 0x00005253, 0x00050051,
0x0000000D, 0x0000439B, 0x000023CD, 0x00000000, 0x0007005F, 0x0000001D,
0x000019FE, 0x00005694, 0x000020F0, 0x00000040, 0x00001FE3, 0x00050051,
0x0000000D, 0x00003AE8, 0x000019FE, 0x00000000, 0x00050080, 0x00000012,
0x00004A5B, 0x000020F0, 0x00000720, 0x0007005F, 0x0000001D, 0x00004F33,
0x00005694, 0x00004A5B, 0x00000040, 0x00005253, 0x00050051, 0x0000000D,
0x00005983, 0x00004F33, 0x00000000, 0x0007005F, 0x0000001D, 0x000060ED,
0x00005694, 0x00004A5B, 0x00000040, 0x00001FE3, 0x00050051, 0x0000000D,
0x00005D7F, 0x000060ED, 0x00000000, 0x00070050, 0x0000001D, 0x00001957,
0x0000439B, 0x00003AE8, 0x00005983, 0x00005D7F, 0x0004007C, 0x00000017,
0x00004F8E, 0x00001957, 0x00060041, 0x00000294, 0x0000323C, 0x000012B6,
0x00000A0B, 0x000058E9, 0x0003003E, 0x0000323C, 0x00004F8E, 0x00050080,
0x0000000B, 0x00004F20, 0x000058E9, 0x00000A0D, 0x00050080, 0x00000012,
0x0000217E, 0x000020F0, 0x00000729, 0x0007005F, 0x0000001D, 0x00002745,
0x00005694, 0x0000217E, 0x00000040, 0x00005253, 0x00050051, 0x0000000D,
0x00005984, 0x00002745, 0x00000000, 0x0007005F, 0x0000001D, 0x000019FF,
0x00005694, 0x0000217E, 0x00000040, 0x00001FE3, 0x00050051, 0x0000000D,
0x00003AE9, 0x000019FF, 0x00000000, 0x00050080, 0x00000012, 0x00004A5C,
0x000020F0, 0x00000732, 0x0007005F, 0x0000001D, 0x00004F34, 0x00005694,
0x00004A5C, 0x00000040, 0x00005253, 0x00050051, 0x0000000D, 0x00005985,
0x00004F34, 0x00000000, 0x0007005F, 0x0000001D, 0x000060EE, 0x00005694,
0x00004A5C, 0x00000040, 0x00001FE3, 0x00050051, 0x0000000D, 0x00005D80,
0x000060EE, 0x00000000, 0x00070050, 0x0000001D, 0x00001958, 0x00005984,
0x00003AE9, 0x00005985, 0x00005D80, 0x0004007C, 0x00000017, 0x00004F8F,
0x00001958, 0x00060041, 0x00000294, 0x00003B37, 0x000012B6, 0x00000A0B,
0x00004F20, 0x0003003E, 0x00003B37, 0x00004F8F, 0x000200F9, 0x00004C7A,
0x000200F8, 0x00004C7A, 0x000100FD, 0x00010038,
0x00005BDD, 0x00000A0D, 0x000500C2, 0x0000000B, 0x00001CBB, 0x00003D0B,
0x00000A46, 0x000500C7, 0x0000000B, 0x00004232, 0x00001CBB, 0x00000A44,
0x00050080, 0x0000000B, 0x0000228E, 0x00004232, 0x00000A0D, 0x00050051,
0x0000000B, 0x00002E41, 0x00001997, 0x00000000, 0x00050084, 0x0000000B,
0x000045F3, 0x0000228E, 0x00002E41, 0x000500AE, 0x00000009, 0x00001C77,
0x00005B58, 0x000045F3, 0x000300F7, 0x00003FD9, 0x00000002, 0x000400FA,
0x00001C77, 0x000055E8, 0x00003FD9, 0x000200F8, 0x000055E8, 0x000200F9,
0x00004C7A, 0x000200F8, 0x00003FD9, 0x00050050, 0x00000011, 0x00002A13,
0x00003D0B, 0x00003D0B, 0x000500C2, 0x00000011, 0x0000350D, 0x00002A13,
0x00000787, 0x000500C7, 0x00000011, 0x00005B53, 0x0000350D, 0x000008A5,
0x000500C4, 0x00000011, 0x00003F75, 0x00005B53, 0x0000074E, 0x00050084,
0x00000011, 0x00004E9F, 0x00003F75, 0x00001997, 0x000500C4, 0x0000000B,
0x00004C53, 0x00005BDD, 0x00000A10, 0x00050041, 0x00000289, 0x000042E6,
0x00000F48, 0x00000A0D, 0x0004003D, 0x0000000B, 0x00005690, 0x000042E6,
0x000500C2, 0x0000000B, 0x0000589E, 0x00005690, 0x00000A0D, 0x00050050,
0x00000011, 0x00001947, 0x00004C53, 0x0000589E, 0x00050080, 0x00000011,
0x00001F7A, 0x00004E9F, 0x00001947, 0x0004007C, 0x00000012, 0x000020F0,
0x00001F7A, 0x0004007C, 0x00000011, 0x00001C7B, 0x000020F0, 0x000500C4,
0x00000011, 0x00005852, 0x00001C7B, 0x00000724, 0x0004003D, 0x00000014,
0x00002226, 0x00000F48, 0x0007004F, 0x00000011, 0x00004262, 0x00002226,
0x00002226, 0x00000000, 0x00000001, 0x000500C7, 0x00000011, 0x00006048,
0x00004262, 0x00000724, 0x000500C5, 0x00000011, 0x00003D4D, 0x00005852,
0x00006048, 0x000500C7, 0x0000000B, 0x00005B23, 0x00005744, 0x00000A44,
0x000500AE, 0x0000000F, 0x000044EA, 0x0000070F, 0x0000072D, 0x000600A9,
0x00000011, 0x00004549, 0x000044EA, 0x00000724, 0x0000070F, 0x000500C4,
0x00000011, 0x000028BE, 0x00003D4D, 0x00004549, 0x000500C2, 0x00000011,
0x0000405B, 0x0000070F, 0x00000718, 0x000500C7, 0x00000011, 0x0000330F,
0x0000405B, 0x00000724, 0x00050080, 0x00000011, 0x00004F30, 0x000028BE,
0x0000330F, 0x00050084, 0x00000011, 0x00005299, 0x00000A9F, 0x00001997,
0x000500C2, 0x00000011, 0x00003985, 0x00005299, 0x0000070F, 0x00050086,
0x00000011, 0x00004D57, 0x00004F30, 0x00003985, 0x00050051, 0x0000000B,
0x00004FA6, 0x00004D57, 0x00000001, 0x00050084, 0x0000000B, 0x00002B26,
0x00004FA6, 0x00005B23, 0x00050051, 0x0000000B, 0x000060A5, 0x00004D57,
0x00000000, 0x00050080, 0x0000000B, 0x00005146, 0x00002B26, 0x000060A5,
0x00050084, 0x00000011, 0x000034D7, 0x00004D57, 0x00003985, 0x00050082,
0x00000011, 0x000050EB, 0x00004F30, 0x000034D7, 0x00050051, 0x0000000B,
0x00001C87, 0x00005299, 0x00000000, 0x00050051, 0x0000000B, 0x00005962,
0x00005299, 0x00000001, 0x00050084, 0x0000000B, 0x00003372, 0x00001C87,
0x00005962, 0x00050084, 0x0000000B, 0x000038D7, 0x00005146, 0x00003372,
0x00050051, 0x0000000B, 0x00001A95, 0x000050EB, 0x00000001, 0x00050051,
0x0000000B, 0x00005BE6, 0x00003985, 0x00000000, 0x00050084, 0x0000000B,
0x00005966, 0x00001A95, 0x00005BE6, 0x00050051, 0x0000000B, 0x00001AE6,
0x000050EB, 0x00000000, 0x00050080, 0x0000000B, 0x000025E0, 0x00005966,
0x00001AE6, 0x000500C4, 0x0000000B, 0x00004AFF, 0x000025E0, 0x00000A0A,
0x00050080, 0x0000000B, 0x0000226F, 0x000038D7, 0x00004AFF, 0x000500C2,
0x0000000B, 0x000058E9, 0x0000226F, 0x00000A10, 0x000500C7, 0x0000000B,
0x00002957, 0x00005690, 0x00000A0D, 0x000500C4, 0x0000000B, 0x00003FD1,
0x00002957, 0x00000A0D, 0x0004007C, 0x0000000C, 0x00005253, 0x00003FD1,
0x00050080, 0x0000000C, 0x00001FE3, 0x00005253, 0x00000A0E, 0x0004003D,
0x000000B6, 0x00005694, 0x00000E7D, 0x0007005F, 0x0000001D, 0x000023CD,
0x00005694, 0x000020F0, 0x00000040, 0x00005253, 0x00050051, 0x0000000D,
0x0000439B, 0x000023CD, 0x00000000, 0x0007005F, 0x0000001D, 0x000019FE,
0x00005694, 0x000020F0, 0x00000040, 0x00001FE3, 0x00050051, 0x0000000D,
0x00003AE8, 0x000019FE, 0x00000000, 0x00050080, 0x00000012, 0x00004A5B,
0x000020F0, 0x00000720, 0x0007005F, 0x0000001D, 0x00004F33, 0x00005694,
0x00004A5B, 0x00000040, 0x00005253, 0x00050051, 0x0000000D, 0x00005983,
0x00004F33, 0x00000000, 0x0007005F, 0x0000001D, 0x000060ED, 0x00005694,
0x00004A5B, 0x00000040, 0x00001FE3, 0x00050051, 0x0000000D, 0x00005D7F,
0x000060ED, 0x00000000, 0x00070050, 0x0000001D, 0x00001957, 0x0000439B,
0x00003AE8, 0x00005983, 0x00005D7F, 0x0004007C, 0x00000017, 0x00004F8E,
0x00001957, 0x00060041, 0x00000294, 0x0000323C, 0x000012B6, 0x00000A0B,
0x000058E9, 0x0003003E, 0x0000323C, 0x00004F8E, 0x00050080, 0x0000000B,
0x00004F20, 0x000058E9, 0x00000A0D, 0x00050080, 0x00000012, 0x0000217E,
0x000020F0, 0x00000729, 0x0007005F, 0x0000001D, 0x00002745, 0x00005694,
0x0000217E, 0x00000040, 0x00005253, 0x00050051, 0x0000000D, 0x00005984,
0x00002745, 0x00000000, 0x0007005F, 0x0000001D, 0x000019FF, 0x00005694,
0x0000217E, 0x00000040, 0x00001FE3, 0x00050051, 0x0000000D, 0x00003AE9,
0x000019FF, 0x00000000, 0x00050080, 0x00000012, 0x00004A5C, 0x000020F0,
0x00000732, 0x0007005F, 0x0000001D, 0x00004F34, 0x00005694, 0x00004A5C,
0x00000040, 0x00005253, 0x00050051, 0x0000000D, 0x00005985, 0x00004F34,
0x00000000, 0x0007005F, 0x0000001D, 0x000060EE, 0x00005694, 0x00004A5C,
0x00000040, 0x00001FE3, 0x00050051, 0x0000000D, 0x00005D80, 0x000060EE,
0x00000000, 0x00070050, 0x0000001D, 0x00001958, 0x00005984, 0x00003AE9,
0x00005985, 0x00005D80, 0x0004007C, 0x00000017, 0x00004F8F, 0x00001958,
0x00060041, 0x00000294, 0x00003B37, 0x000012B6, 0x00000A0B, 0x00004F20,
0x0003003E, 0x00003B37, 0x00004F8F, 0x000200F9, 0x00004C7A, 0x000200F8,
0x00004C7A, 0x000100FD, 0x00010038,
};

View File

@ -0,0 +1,313 @@
// Generated with `xb buildshaders`.
#if 0
; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 10
; Bound: 25175
; Schema: 0
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %5663 "main" %gl_GlobalInvocationID
OpExecutionMode %5663 LocalSize 8 8 1
OpMemberDecorate %_struct_1014 0 Offset 0
OpMemberDecorate %_struct_1014 1 Offset 8
OpMemberDecorate %_struct_1014 2 Offset 12
OpDecorate %_struct_1014 Block
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %_runtimearr_v4uint ArrayStride 16
OpMemberDecorate %_struct_1972 0 NonReadable
OpMemberDecorate %_struct_1972 0 Offset 0
OpDecorate %_struct_1972 BufferBlock
OpDecorate %5522 DescriptorSet 0
OpDecorate %5522 Binding 0
OpDecorate %gl_WorkGroupSize BuiltIn WorkgroupSize
%void = OpTypeVoid
%1282 = OpTypeFunction %void
%bool = OpTypeBool
%v2bool = OpTypeVector %bool 2
%uint = OpTypeInt 32 0
%v2uint = OpTypeVector %uint 2
%uint_2 = OpConstant %uint 2
%uint_1 = OpConstant %uint 1
%1837 = OpConstantComposite %v2uint %uint_2 %uint_1
%uint_0 = OpConstant %uint 0
%1807 = OpConstantComposite %v2uint %uint_0 %uint_0
%1828 = OpConstantComposite %v2uint %uint_1 %uint_1
%1816 = OpConstantComposite %v2uint %uint_1 %uint_0
%uint_80 = OpConstant %uint 80
%uint_16 = OpConstant %uint 16
%2719 = OpConstantComposite %v2uint %uint_80 %uint_16
%int = OpTypeInt 32 1
%_struct_1014 = OpTypeStruct %v2uint %uint %uint
%_ptr_PushConstant__struct_1014 = OpTypePointer PushConstant %_struct_1014
%4495 = OpVariable %_ptr_PushConstant__struct_1014 PushConstant
%int_1 = OpConstant %int 1
%_ptr_PushConstant_uint = OpTypePointer PushConstant %uint
%int_2 = OpConstant %int 2
%int_0 = OpConstant %int 0
%uint_1023 = OpConstant %uint 1023
%uint_10 = OpConstant %uint 10
%uint_3 = OpConstant %uint 3
%uint_4096 = OpConstant %uint 4096
%uint_13 = OpConstant %uint 13
%uint_4095 = OpConstant %uint 4095
%uint_4 = OpConstant %uint 4
%1855 = OpConstantComposite %v2uint %uint_0 %uint_4
%1856 = OpConstantComposite %v2uint %uint_4 %uint_1
%uint_5 = OpConstant %uint 5
%uint_2047 = OpConstant %uint 2047
%_ptr_PushConstant_v2uint = OpTypePointer PushConstant %v2uint
%v3uint = OpTypeVector %uint 3
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
%gl_GlobalInvocationID = OpVariable %_ptr_Input_v3uint Input
%_ptr_Input_uint = OpTypePointer Input %uint
%1834 = OpConstantComposite %v2uint %uint_3 %uint_0
%v4uint = OpTypeVector %uint 4
%_runtimearr_v4uint = OpTypeRuntimeArray %v4uint
%_struct_1972 = OpTypeStruct %_runtimearr_v4uint
%_ptr_Uniform__struct_1972 = OpTypePointer Uniform %_struct_1972
%5522 = OpVariable %_ptr_Uniform__struct_1972 Uniform
%_ptr_Uniform_v4uint = OpTypePointer Uniform %v4uint
%uint_8 = OpConstant %uint 8
%gl_WorkGroupSize = OpConstantComposite %v3uint %uint_8 %uint_8 %uint_1
%1870 = OpConstantComposite %v2uint %uint_3 %uint_3
%5663 = OpFunction %void None %1282
%15110 = OpLabel
OpSelectionMerge %19578 None
OpSwitch %uint_0 %11880
%11880 = OpLabel
%22245 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_1
%15627 = OpLoad %uint %22245
%22700 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_2
%20824 = OpLoad %uint %22700
%20561 = OpBitwiseAnd %uint %15627 %uint_1023
%20073 = OpShiftRightLogical %uint %15627 %uint_10
%7177 = OpBitwiseAnd %uint %20073 %uint_3
%23023 = OpBitwiseAnd %uint %15627 %uint_4096
%20495 = OpINotEqual %bool %23023 %uint_0
%8141 = OpShiftRightLogical %uint %15627 %uint_13
%24990 = OpBitwiseAnd %uint %8141 %uint_4095
%8814 = OpCompositeConstruct %v2uint %20824 %20824
%8841 = OpShiftRightLogical %v2uint %8814 %1855
%22507 = OpShiftLeftLogical %v2uint %1828 %1856
%18608 = OpISub %v2uint %22507 %1828
%18743 = OpBitwiseAnd %v2uint %8841 %18608
%22404 = OpShiftLeftLogical %v2uint %18743 %1870
%23019 = OpIMul %v2uint %22404 %1828
%12819 = OpShiftRightLogical %uint %20824 %uint_5
%16204 = OpBitwiseAnd %uint %12819 %uint_2047
%19017 = OpAccessChain %_ptr_PushConstant_v2uint %4495 %int_0
%23788 = OpLoad %v2uint %19017
%13183 = OpCompositeConstruct %v2uint %7177 %7177
%21741 = OpUGreaterThanEqual %v2bool %13183 %1837
%22612 = OpSelect %v2uint %21741 %1828 %1807
%23890 = OpAccessChain %_ptr_Input_uint %gl_GlobalInvocationID %uint_0
%19209 = OpLoad %uint %23890
%20350 = OpCompositeExtract %uint %22612 0
%15478 = OpShiftLeftLogical %uint %16204 %20350
%15379 = OpUGreaterThanEqual %bool %19209 %15478
OpSelectionMerge %17447 DontFlatten
OpBranchConditional %15379 %21992 %17447
%21992 = OpLabel
OpBranch %19578
%17447 = OpLabel
%14637 = OpLoad %v3uint %gl_GlobalInvocationID
%20690 = OpVectorShuffle %v2uint %14637 %14637 0 1
%9909 = OpShiftLeftLogical %v2uint %20690 %1834
%24302 = OpShiftLeftLogical %v2uint %23019 %22612
%21348 = OpIAdd %v2uint %9909 %24302
%20172 = OpUGreaterThanEqual %v2bool %1807 %1837
%8903 = OpSelect %v2uint %20172 %1828 %1807
%10430 = OpShiftLeftLogical %v2uint %21348 %8903
%16475 = OpShiftRightLogical %v2uint %1807 %1816
%13071 = OpBitwiseAnd %v2uint %16475 %1828
%20272 = OpIAdd %v2uint %10430 %13071
%21145 = OpIMul %v2uint %2719 %1828
%14725 = OpShiftRightLogical %v2uint %21145 %1807
%19799 = OpUDiv %v2uint %20272 %14725
%20390 = OpCompositeExtract %uint %19799 1
%11046 = OpIMul %uint %20390 %20561
%24665 = OpCompositeExtract %uint %19799 0
%21536 = OpIAdd %uint %11046 %24665
%8742 = OpIAdd %uint %24990 %21536
%6459 = OpIMul %v2uint %19799 %14725
%14279 = OpISub %v2uint %20272 %6459
OpSelectionMerge %18756 None
OpBranchConditional %20495 %11888 %18756
%11888 = OpLabel
%16985 = OpCompositeExtract %uint %14725 0
%13307 = OpShiftRightLogical %uint %16985 %uint_1
%22207 = OpCompositeExtract %uint %14279 0
%15197 = OpBitcast %int %22207
%15736 = OpUGreaterThanEqual %bool %22207 %13307
OpSelectionMerge %21237 None
OpBranchConditional %15736 %22228 %7940
%22228 = OpLabel
%22920 = OpBitcast %int %13307
%17199 = OpSNegate %int %22920
OpBranch %21237
%7940 = OpLabel
%16658 = OpBitcast %int %13307
OpBranch %21237
%21237 = OpLabel
%10046 = OpPhi %int %17199 %22228 %16658 %7940
%11983 = OpIAdd %int %15197 %10046
%17709 = OpBitcast %uint %11983
%21574 = OpCompositeInsert %v2uint %17709 %14279 0
OpBranch %18756
%18756 = OpLabel
%17360 = OpPhi %v2uint %14279 %17447 %21574 %21237
%24023 = OpCompositeExtract %uint %21145 0
%22303 = OpCompositeExtract %uint %21145 1
%13170 = OpIMul %uint %24023 %22303
%14551 = OpIMul %uint %8742 %13170
%6805 = OpCompositeExtract %uint %17360 1
%23526 = OpCompositeExtract %uint %14725 0
%22886 = OpIMul %uint %6805 %23526
%6886 = OpCompositeExtract %uint %17360 0
%9696 = OpIAdd %uint %22886 %6886
%19199 = OpShiftLeftLogical %uint %9696 %uint_0
%6535 = OpIAdd %uint %14551 %19199
%21961 = OpShiftRightLogical %uint %6535 %uint_2
%17379 = OpVectorShuffle %v4uint %23788 %23788 0 0 0 0
%7737 = OpAccessChain %_ptr_Uniform_v4uint %5522 %int_0 %21961
OpStore %7737 %17379
%11457 = OpIAdd %uint %21961 %uint_1
%25174 = OpAccessChain %_ptr_Uniform_v4uint %5522 %int_0 %11457
OpStore %25174 %17379
OpBranch %19578
%19578 = OpLabel
OpReturn
OpFunctionEnd
#endif
const uint32_t resolve_clear_32bpp_cs[] = {
0x07230203, 0x00010000, 0x0008000A, 0x00006257, 0x00000000, 0x00020011,
0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E,
0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0006000F, 0x00000005,
0x0000161F, 0x6E69616D, 0x00000000, 0x00000F48, 0x00060010, 0x0000161F,
0x00000011, 0x00000008, 0x00000008, 0x00000001, 0x00050048, 0x000003F6,
0x00000000, 0x00000023, 0x00000000, 0x00050048, 0x000003F6, 0x00000001,
0x00000023, 0x00000008, 0x00050048, 0x000003F6, 0x00000002, 0x00000023,
0x0000000C, 0x00030047, 0x000003F6, 0x00000002, 0x00040047, 0x00000F48,
0x0000000B, 0x0000001C, 0x00040047, 0x000007DC, 0x00000006, 0x00000010,
0x00040048, 0x000007B4, 0x00000000, 0x00000019, 0x00050048, 0x000007B4,
0x00000000, 0x00000023, 0x00000000, 0x00030047, 0x000007B4, 0x00000003,
0x00040047, 0x00001592, 0x00000022, 0x00000000, 0x00040047, 0x00001592,
0x00000021, 0x00000000, 0x00040047, 0x00000AC7, 0x0000000B, 0x00000019,
0x00020013, 0x00000008, 0x00030021, 0x00000502, 0x00000008, 0x00020014,
0x00000009, 0x00040017, 0x0000000F, 0x00000009, 0x00000002, 0x00040015,
0x0000000B, 0x00000020, 0x00000000, 0x00040017, 0x00000011, 0x0000000B,
0x00000002, 0x0004002B, 0x0000000B, 0x00000A10, 0x00000002, 0x0004002B,
0x0000000B, 0x00000A0D, 0x00000001, 0x0005002C, 0x00000011, 0x0000072D,
0x00000A10, 0x00000A0D, 0x0004002B, 0x0000000B, 0x00000A0A, 0x00000000,
0x0005002C, 0x00000011, 0x0000070F, 0x00000A0A, 0x00000A0A, 0x0005002C,
0x00000011, 0x00000724, 0x00000A0D, 0x00000A0D, 0x0005002C, 0x00000011,
0x00000718, 0x00000A0D, 0x00000A0A, 0x0004002B, 0x0000000B, 0x00000AFA,
0x00000050, 0x0004002B, 0x0000000B, 0x00000A3A, 0x00000010, 0x0005002C,
0x00000011, 0x00000A9F, 0x00000AFA, 0x00000A3A, 0x00040015, 0x0000000C,
0x00000020, 0x00000001, 0x0005001E, 0x000003F6, 0x00000011, 0x0000000B,
0x0000000B, 0x00040020, 0x00000673, 0x00000009, 0x000003F6, 0x0004003B,
0x00000673, 0x0000118F, 0x00000009, 0x0004002B, 0x0000000C, 0x00000A0E,
0x00000001, 0x00040020, 0x00000288, 0x00000009, 0x0000000B, 0x0004002B,
0x0000000C, 0x00000A11, 0x00000002, 0x0004002B, 0x0000000C, 0x00000A0B,
0x00000000, 0x0004002B, 0x0000000B, 0x00000A44, 0x000003FF, 0x0004002B,
0x0000000B, 0x00000A28, 0x0000000A, 0x0004002B, 0x0000000B, 0x00000A13,
0x00000003, 0x0004002B, 0x0000000B, 0x00000AFE, 0x00001000, 0x0004002B,
0x0000000B, 0x00000A31, 0x0000000D, 0x0004002B, 0x0000000B, 0x00000AFB,
0x00000FFF, 0x0004002B, 0x0000000B, 0x00000A16, 0x00000004, 0x0005002C,
0x00000011, 0x0000073F, 0x00000A0A, 0x00000A16, 0x0005002C, 0x00000011,
0x00000740, 0x00000A16, 0x00000A0D, 0x0004002B, 0x0000000B, 0x00000A19,
0x00000005, 0x0004002B, 0x0000000B, 0x00000A81, 0x000007FF, 0x00040020,
0x0000028E, 0x00000009, 0x00000011, 0x00040017, 0x00000014, 0x0000000B,
0x00000003, 0x00040020, 0x00000291, 0x00000001, 0x00000014, 0x0004003B,
0x00000291, 0x00000F48, 0x00000001, 0x00040020, 0x00000289, 0x00000001,
0x0000000B, 0x0005002C, 0x00000011, 0x0000072A, 0x00000A13, 0x00000A0A,
0x00040017, 0x00000017, 0x0000000B, 0x00000004, 0x0003001D, 0x000007DC,
0x00000017, 0x0003001E, 0x000007B4, 0x000007DC, 0x00040020, 0x00000A32,
0x00000002, 0x000007B4, 0x0004003B, 0x00000A32, 0x00001592, 0x00000002,
0x00040020, 0x00000294, 0x00000002, 0x00000017, 0x0004002B, 0x0000000B,
0x00000A22, 0x00000008, 0x0006002C, 0x00000014, 0x00000AC7, 0x00000A22,
0x00000A22, 0x00000A0D, 0x0005002C, 0x00000011, 0x0000074E, 0x00000A13,
0x00000A13, 0x00050036, 0x00000008, 0x0000161F, 0x00000000, 0x00000502,
0x000200F8, 0x00003B06, 0x000300F7, 0x00004C7A, 0x00000000, 0x000300FB,
0x00000A0A, 0x00002E68, 0x000200F8, 0x00002E68, 0x00050041, 0x00000288,
0x000056E5, 0x0000118F, 0x00000A0E, 0x0004003D, 0x0000000B, 0x00003D0B,
0x000056E5, 0x00050041, 0x00000288, 0x000058AC, 0x0000118F, 0x00000A11,
0x0004003D, 0x0000000B, 0x00005158, 0x000058AC, 0x000500C7, 0x0000000B,
0x00005051, 0x00003D0B, 0x00000A44, 0x000500C2, 0x0000000B, 0x00004E69,
0x00003D0B, 0x00000A28, 0x000500C7, 0x0000000B, 0x00001C09, 0x00004E69,
0x00000A13, 0x000500C7, 0x0000000B, 0x000059EF, 0x00003D0B, 0x00000AFE,
0x000500AB, 0x00000009, 0x0000500F, 0x000059EF, 0x00000A0A, 0x000500C2,
0x0000000B, 0x00001FCD, 0x00003D0B, 0x00000A31, 0x000500C7, 0x0000000B,
0x0000619E, 0x00001FCD, 0x00000AFB, 0x00050050, 0x00000011, 0x0000226E,
0x00005158, 0x00005158, 0x000500C2, 0x00000011, 0x00002289, 0x0000226E,
0x0000073F, 0x000500C4, 0x00000011, 0x000057EB, 0x00000724, 0x00000740,
0x00050082, 0x00000011, 0x000048B0, 0x000057EB, 0x00000724, 0x000500C7,
0x00000011, 0x00004937, 0x00002289, 0x000048B0, 0x000500C4, 0x00000011,
0x00005784, 0x00004937, 0x0000074E, 0x00050084, 0x00000011, 0x000059EB,
0x00005784, 0x00000724, 0x000500C2, 0x0000000B, 0x00003213, 0x00005158,
0x00000A19, 0x000500C7, 0x0000000B, 0x00003F4C, 0x00003213, 0x00000A81,
0x00050041, 0x0000028E, 0x00004A49, 0x0000118F, 0x00000A0B, 0x0004003D,
0x00000011, 0x00005CEC, 0x00004A49, 0x00050050, 0x00000011, 0x0000337F,
0x00001C09, 0x00001C09, 0x000500AE, 0x0000000F, 0x000054ED, 0x0000337F,
0x0000072D, 0x000600A9, 0x00000011, 0x00005854, 0x000054ED, 0x00000724,
0x0000070F, 0x00050041, 0x00000289, 0x00005D52, 0x00000F48, 0x00000A0A,
0x0004003D, 0x0000000B, 0x00004B09, 0x00005D52, 0x00050051, 0x0000000B,
0x00004F7E, 0x00005854, 0x00000000, 0x000500C4, 0x0000000B, 0x00003C76,
0x00003F4C, 0x00004F7E, 0x000500AE, 0x00000009, 0x00003C13, 0x00004B09,
0x00003C76, 0x000300F7, 0x00004427, 0x00000002, 0x000400FA, 0x00003C13,
0x000055E8, 0x00004427, 0x000200F8, 0x000055E8, 0x000200F9, 0x00004C7A,
0x000200F8, 0x00004427, 0x0004003D, 0x00000014, 0x0000392D, 0x00000F48,
0x0007004F, 0x00000011, 0x000050D2, 0x0000392D, 0x0000392D, 0x00000000,
0x00000001, 0x000500C4, 0x00000011, 0x000026B5, 0x000050D2, 0x0000072A,
0x000500C4, 0x00000011, 0x00005EEE, 0x000059EB, 0x00005854, 0x00050080,
0x00000011, 0x00005364, 0x000026B5, 0x00005EEE, 0x000500AE, 0x0000000F,
0x00004ECC, 0x0000070F, 0x0000072D, 0x000600A9, 0x00000011, 0x000022C7,
0x00004ECC, 0x00000724, 0x0000070F, 0x000500C4, 0x00000011, 0x000028BE,
0x00005364, 0x000022C7, 0x000500C2, 0x00000011, 0x0000405B, 0x0000070F,
0x00000718, 0x000500C7, 0x00000011, 0x0000330F, 0x0000405B, 0x00000724,
0x00050080, 0x00000011, 0x00004F30, 0x000028BE, 0x0000330F, 0x00050084,
0x00000011, 0x00005299, 0x00000A9F, 0x00000724, 0x000500C2, 0x00000011,
0x00003985, 0x00005299, 0x0000070F, 0x00050086, 0x00000011, 0x00004D57,
0x00004F30, 0x00003985, 0x00050051, 0x0000000B, 0x00004FA6, 0x00004D57,
0x00000001, 0x00050084, 0x0000000B, 0x00002B26, 0x00004FA6, 0x00005051,
0x00050051, 0x0000000B, 0x00006059, 0x00004D57, 0x00000000, 0x00050080,
0x0000000B, 0x00005420, 0x00002B26, 0x00006059, 0x00050080, 0x0000000B,
0x00002226, 0x0000619E, 0x00005420, 0x00050084, 0x00000011, 0x0000193B,
0x00004D57, 0x00003985, 0x00050082, 0x00000011, 0x000037C7, 0x00004F30,
0x0000193B, 0x000300F7, 0x00004944, 0x00000000, 0x000400FA, 0x0000500F,
0x00002E70, 0x00004944, 0x000200F8, 0x00002E70, 0x00050051, 0x0000000B,
0x00004259, 0x00003985, 0x00000000, 0x000500C2, 0x0000000B, 0x000033FB,
0x00004259, 0x00000A0D, 0x00050051, 0x0000000B, 0x000056BF, 0x000037C7,
0x00000000, 0x0004007C, 0x0000000C, 0x00003B5D, 0x000056BF, 0x000500AE,
0x00000009, 0x00003D78, 0x000056BF, 0x000033FB, 0x000300F7, 0x000052F5,
0x00000000, 0x000400FA, 0x00003D78, 0x000056D4, 0x00001F04, 0x000200F8,
0x000056D4, 0x0004007C, 0x0000000C, 0x00005988, 0x000033FB, 0x0004007E,
0x0000000C, 0x0000432F, 0x00005988, 0x000200F9, 0x000052F5, 0x000200F8,
0x00001F04, 0x0004007C, 0x0000000C, 0x00004112, 0x000033FB, 0x000200F9,
0x000052F5, 0x000200F8, 0x000052F5, 0x000700F5, 0x0000000C, 0x0000273E,
0x0000432F, 0x000056D4, 0x00004112, 0x00001F04, 0x00050080, 0x0000000C,
0x00002ECF, 0x00003B5D, 0x0000273E, 0x0004007C, 0x0000000B, 0x0000452D,
0x00002ECF, 0x00060052, 0x00000011, 0x00005446, 0x0000452D, 0x000037C7,
0x00000000, 0x000200F9, 0x00004944, 0x000200F8, 0x00004944, 0x000700F5,
0x00000011, 0x000043D0, 0x000037C7, 0x00004427, 0x00005446, 0x000052F5,
0x00050051, 0x0000000B, 0x00005DD7, 0x00005299, 0x00000000, 0x00050051,
0x0000000B, 0x0000571F, 0x00005299, 0x00000001, 0x00050084, 0x0000000B,
0x00003372, 0x00005DD7, 0x0000571F, 0x00050084, 0x0000000B, 0x000038D7,
0x00002226, 0x00003372, 0x00050051, 0x0000000B, 0x00001A95, 0x000043D0,
0x00000001, 0x00050051, 0x0000000B, 0x00005BE6, 0x00003985, 0x00000000,
0x00050084, 0x0000000B, 0x00005966, 0x00001A95, 0x00005BE6, 0x00050051,
0x0000000B, 0x00001AE6, 0x000043D0, 0x00000000, 0x00050080, 0x0000000B,
0x000025E0, 0x00005966, 0x00001AE6, 0x000500C4, 0x0000000B, 0x00004AFF,
0x000025E0, 0x00000A0A, 0x00050080, 0x0000000B, 0x00001987, 0x000038D7,
0x00004AFF, 0x000500C2, 0x0000000B, 0x000055C9, 0x00001987, 0x00000A10,
0x0009004F, 0x00000017, 0x000043E3, 0x00005CEC, 0x00005CEC, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00060041, 0x00000294, 0x00001E39,
0x00001592, 0x00000A0B, 0x000055C9, 0x0003003E, 0x00001E39, 0x000043E3,
0x00050080, 0x0000000B, 0x00002CC1, 0x000055C9, 0x00000A0D, 0x00060041,
0x00000294, 0x00006256, 0x00001592, 0x00000A0B, 0x00002CC1, 0x0003003E,
0x00006256, 0x000043E3, 0x000200F9, 0x00004C7A, 0x000200F8, 0x00004C7A,
0x000100FD, 0x00010038,
};

View File

@ -0,0 +1,325 @@
// Generated with `xb buildshaders`.
#if 0
; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 10
; Bound: 25175
; Schema: 0
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %5663 "main" %gl_GlobalInvocationID
OpExecutionMode %5663 LocalSize 8 8 1
OpMemberDecorate %_struct_1014 0 Offset 0
OpMemberDecorate %_struct_1014 1 Offset 8
OpMemberDecorate %_struct_1014 2 Offset 12
OpDecorate %_struct_1014 Block
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %_runtimearr_v4uint ArrayStride 16
OpMemberDecorate %_struct_1972 0 NonReadable
OpMemberDecorate %_struct_1972 0 Offset 0
OpDecorate %_struct_1972 BufferBlock
OpDecorate %5522 DescriptorSet 0
OpDecorate %5522 Binding 0
OpDecorate %gl_WorkGroupSize BuiltIn WorkgroupSize
%void = OpTypeVoid
%1282 = OpTypeFunction %void
%bool = OpTypeBool
%v2bool = OpTypeVector %bool 2
%uint = OpTypeInt 32 0
%v2uint = OpTypeVector %uint 2
%uint_2 = OpConstant %uint 2
%uint_1 = OpConstant %uint 1
%1837 = OpConstantComposite %v2uint %uint_2 %uint_1
%uint_0 = OpConstant %uint 0
%1807 = OpConstantComposite %v2uint %uint_0 %uint_0
%1828 = OpConstantComposite %v2uint %uint_1 %uint_1
%1816 = OpConstantComposite %v2uint %uint_1 %uint_0
%uint_80 = OpConstant %uint 80
%uint_16 = OpConstant %uint 16
%2719 = OpConstantComposite %v2uint %uint_80 %uint_16
%int = OpTypeInt 32 1
%_struct_1014 = OpTypeStruct %v2uint %uint %uint
%_ptr_PushConstant__struct_1014 = OpTypePointer PushConstant %_struct_1014
%4495 = OpVariable %_ptr_PushConstant__struct_1014 PushConstant
%int_1 = OpConstant %int 1
%_ptr_PushConstant_uint = OpTypePointer PushConstant %uint
%int_2 = OpConstant %int 2
%int_0 = OpConstant %int 0
%uint_1023 = OpConstant %uint 1023
%uint_10 = OpConstant %uint 10
%uint_3 = OpConstant %uint 3
%uint_4096 = OpConstant %uint 4096
%uint_13 = OpConstant %uint 13
%uint_4095 = OpConstant %uint 4095
%uint_29 = OpConstant %uint 29
%uint_27 = OpConstant %uint 27
%2398 = OpConstantComposite %v2uint %uint_27 %uint_29
%uint_4 = OpConstant %uint 4
%1855 = OpConstantComposite %v2uint %uint_0 %uint_4
%1856 = OpConstantComposite %v2uint %uint_4 %uint_1
%uint_5 = OpConstant %uint 5
%uint_2047 = OpConstant %uint 2047
%_ptr_PushConstant_v2uint = OpTypePointer PushConstant %v2uint
%v3uint = OpTypeVector %uint 3
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
%gl_GlobalInvocationID = OpVariable %_ptr_Input_v3uint Input
%_ptr_Input_uint = OpTypePointer Input %uint
%1834 = OpConstantComposite %v2uint %uint_3 %uint_0
%v4uint = OpTypeVector %uint 4
%_runtimearr_v4uint = OpTypeRuntimeArray %v4uint
%_struct_1972 = OpTypeStruct %_runtimearr_v4uint
%_ptr_Uniform__struct_1972 = OpTypePointer Uniform %_struct_1972
%5522 = OpVariable %_ptr_Uniform__struct_1972 Uniform
%_ptr_Uniform_v4uint = OpTypePointer Uniform %v4uint
%uint_8 = OpConstant %uint 8
%gl_WorkGroupSize = OpConstantComposite %v3uint %uint_8 %uint_8 %uint_1
%1870 = OpConstantComposite %v2uint %uint_3 %uint_3
%5663 = OpFunction %void None %1282
%15110 = OpLabel
OpSelectionMerge %19578 None
OpSwitch %uint_0 %11880
%11880 = OpLabel
%22245 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_1
%15627 = OpLoad %uint %22245
%22700 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_2
%20824 = OpLoad %uint %22700
%20561 = OpBitwiseAnd %uint %15627 %uint_1023
%20073 = OpShiftRightLogical %uint %15627 %uint_10
%7177 = OpBitwiseAnd %uint %20073 %uint_3
%23023 = OpBitwiseAnd %uint %15627 %uint_4096
%20495 = OpINotEqual %bool %23023 %uint_0
%8141 = OpShiftRightLogical %uint %15627 %uint_13
%24990 = OpBitwiseAnd %uint %8141 %uint_4095
%8871 = OpCompositeConstruct %v2uint %20824 %20824
%9538 = OpShiftRightLogical %v2uint %8871 %2398
%24941 = OpBitwiseAnd %v2uint %9538 %1870
%20305 = OpShiftRightLogical %v2uint %8871 %1855
%25154 = OpShiftLeftLogical %v2uint %1828 %1856
%18608 = OpISub %v2uint %25154 %1828
%18743 = OpBitwiseAnd %v2uint %20305 %18608
%22404 = OpShiftLeftLogical %v2uint %18743 %1870
%23019 = OpIMul %v2uint %22404 %24941
%13123 = OpShiftRightLogical %uint %20824 %uint_5
%14785 = OpBitwiseAnd %uint %13123 %uint_2047
%8858 = OpCompositeExtract %uint %24941 0
%22993 = OpIMul %uint %14785 %8858
%20321 = OpAccessChain %_ptr_PushConstant_v2uint %4495 %int_0
%18180 = OpLoad %v2uint %20321
%13183 = OpCompositeConstruct %v2uint %7177 %7177
%21741 = OpUGreaterThanEqual %v2bool %13183 %1837
%22612 = OpSelect %v2uint %21741 %1828 %1807
%23890 = OpAccessChain %_ptr_Input_uint %gl_GlobalInvocationID %uint_0
%19209 = OpLoad %uint %23890
%20350 = OpCompositeExtract %uint %22612 0
%15478 = OpShiftLeftLogical %uint %22993 %20350
%15379 = OpUGreaterThanEqual %bool %19209 %15478
OpSelectionMerge %17447 DontFlatten
OpBranchConditional %15379 %21992 %17447
%21992 = OpLabel
OpBranch %19578
%17447 = OpLabel
%14637 = OpLoad %v3uint %gl_GlobalInvocationID
%20690 = OpVectorShuffle %v2uint %14637 %14637 0 1
%9909 = OpShiftLeftLogical %v2uint %20690 %1834
%24302 = OpShiftLeftLogical %v2uint %23019 %22612
%21348 = OpIAdd %v2uint %9909 %24302
%20172 = OpUGreaterThanEqual %v2bool %1807 %1837
%8903 = OpSelect %v2uint %20172 %1828 %1807
%10430 = OpShiftLeftLogical %v2uint %21348 %8903
%16475 = OpShiftRightLogical %v2uint %1807 %1816
%13071 = OpBitwiseAnd %v2uint %16475 %1828
%20272 = OpIAdd %v2uint %10430 %13071
%21145 = OpIMul %v2uint %2719 %24941
%14725 = OpShiftRightLogical %v2uint %21145 %1807
%19799 = OpUDiv %v2uint %20272 %14725
%20390 = OpCompositeExtract %uint %19799 1
%11046 = OpIMul %uint %20390 %20561
%24665 = OpCompositeExtract %uint %19799 0
%21536 = OpIAdd %uint %11046 %24665
%8742 = OpIAdd %uint %24990 %21536
%6459 = OpIMul %v2uint %19799 %14725
%14279 = OpISub %v2uint %20272 %6459
OpSelectionMerge %18756 None
OpBranchConditional %20495 %11888 %18756
%11888 = OpLabel
%16985 = OpCompositeExtract %uint %14725 0
%13307 = OpShiftRightLogical %uint %16985 %uint_1
%22207 = OpCompositeExtract %uint %14279 0
%15197 = OpBitcast %int %22207
%15736 = OpUGreaterThanEqual %bool %22207 %13307
OpSelectionMerge %21237 None
OpBranchConditional %15736 %22228 %7940
%22228 = OpLabel
%22920 = OpBitcast %int %13307
%17199 = OpSNegate %int %22920
OpBranch %21237
%7940 = OpLabel
%16658 = OpBitcast %int %13307
OpBranch %21237
%21237 = OpLabel
%10046 = OpPhi %int %17199 %22228 %16658 %7940
%11983 = OpIAdd %int %15197 %10046
%17709 = OpBitcast %uint %11983
%21574 = OpCompositeInsert %v2uint %17709 %14279 0
OpBranch %18756
%18756 = OpLabel
%17360 = OpPhi %v2uint %14279 %17447 %21574 %21237
%24023 = OpCompositeExtract %uint %21145 0
%22303 = OpCompositeExtract %uint %21145 1
%13170 = OpIMul %uint %24023 %22303
%14551 = OpIMul %uint %8742 %13170
%6805 = OpCompositeExtract %uint %17360 1
%23526 = OpCompositeExtract %uint %14725 0
%22886 = OpIMul %uint %6805 %23526
%6886 = OpCompositeExtract %uint %17360 0
%9696 = OpIAdd %uint %22886 %6886
%19199 = OpShiftLeftLogical %uint %9696 %uint_0
%6535 = OpIAdd %uint %14551 %19199
%21961 = OpShiftRightLogical %uint %6535 %uint_2
%17379 = OpVectorShuffle %v4uint %18180 %18180 0 0 0 0
%7737 = OpAccessChain %_ptr_Uniform_v4uint %5522 %int_0 %21961
OpStore %7737 %17379
%11457 = OpIAdd %uint %21961 %uint_1
%25174 = OpAccessChain %_ptr_Uniform_v4uint %5522 %int_0 %11457
OpStore %25174 %17379
OpBranch %19578
%19578 = OpLabel
OpReturn
OpFunctionEnd
#endif
const uint32_t resolve_clear_32bpp_scaled_cs[] = {
0x07230203, 0x00010000, 0x0008000A, 0x00006257, 0x00000000, 0x00020011,
0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E,
0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0006000F, 0x00000005,
0x0000161F, 0x6E69616D, 0x00000000, 0x00000F48, 0x00060010, 0x0000161F,
0x00000011, 0x00000008, 0x00000008, 0x00000001, 0x00050048, 0x000003F6,
0x00000000, 0x00000023, 0x00000000, 0x00050048, 0x000003F6, 0x00000001,
0x00000023, 0x00000008, 0x00050048, 0x000003F6, 0x00000002, 0x00000023,
0x0000000C, 0x00030047, 0x000003F6, 0x00000002, 0x00040047, 0x00000F48,
0x0000000B, 0x0000001C, 0x00040047, 0x000007DC, 0x00000006, 0x00000010,
0x00040048, 0x000007B4, 0x00000000, 0x00000019, 0x00050048, 0x000007B4,
0x00000000, 0x00000023, 0x00000000, 0x00030047, 0x000007B4, 0x00000003,
0x00040047, 0x00001592, 0x00000022, 0x00000000, 0x00040047, 0x00001592,
0x00000021, 0x00000000, 0x00040047, 0x00000AC7, 0x0000000B, 0x00000019,
0x00020013, 0x00000008, 0x00030021, 0x00000502, 0x00000008, 0x00020014,
0x00000009, 0x00040017, 0x0000000F, 0x00000009, 0x00000002, 0x00040015,
0x0000000B, 0x00000020, 0x00000000, 0x00040017, 0x00000011, 0x0000000B,
0x00000002, 0x0004002B, 0x0000000B, 0x00000A10, 0x00000002, 0x0004002B,
0x0000000B, 0x00000A0D, 0x00000001, 0x0005002C, 0x00000011, 0x0000072D,
0x00000A10, 0x00000A0D, 0x0004002B, 0x0000000B, 0x00000A0A, 0x00000000,
0x0005002C, 0x00000011, 0x0000070F, 0x00000A0A, 0x00000A0A, 0x0005002C,
0x00000011, 0x00000724, 0x00000A0D, 0x00000A0D, 0x0005002C, 0x00000011,
0x00000718, 0x00000A0D, 0x00000A0A, 0x0004002B, 0x0000000B, 0x00000AFA,
0x00000050, 0x0004002B, 0x0000000B, 0x00000A3A, 0x00000010, 0x0005002C,
0x00000011, 0x00000A9F, 0x00000AFA, 0x00000A3A, 0x00040015, 0x0000000C,
0x00000020, 0x00000001, 0x0005001E, 0x000003F6, 0x00000011, 0x0000000B,
0x0000000B, 0x00040020, 0x00000673, 0x00000009, 0x000003F6, 0x0004003B,
0x00000673, 0x0000118F, 0x00000009, 0x0004002B, 0x0000000C, 0x00000A0E,
0x00000001, 0x00040020, 0x00000288, 0x00000009, 0x0000000B, 0x0004002B,
0x0000000C, 0x00000A11, 0x00000002, 0x0004002B, 0x0000000C, 0x00000A0B,
0x00000000, 0x0004002B, 0x0000000B, 0x00000A44, 0x000003FF, 0x0004002B,
0x0000000B, 0x00000A28, 0x0000000A, 0x0004002B, 0x0000000B, 0x00000A13,
0x00000003, 0x0004002B, 0x0000000B, 0x00000AFE, 0x00001000, 0x0004002B,
0x0000000B, 0x00000A31, 0x0000000D, 0x0004002B, 0x0000000B, 0x00000AFB,
0x00000FFF, 0x0004002B, 0x0000000B, 0x00000A61, 0x0000001D, 0x0004002B,
0x0000000B, 0x00000A5B, 0x0000001B, 0x0005002C, 0x00000011, 0x0000095E,
0x00000A5B, 0x00000A61, 0x0004002B, 0x0000000B, 0x00000A16, 0x00000004,
0x0005002C, 0x00000011, 0x0000073F, 0x00000A0A, 0x00000A16, 0x0005002C,
0x00000011, 0x00000740, 0x00000A16, 0x00000A0D, 0x0004002B, 0x0000000B,
0x00000A19, 0x00000005, 0x0004002B, 0x0000000B, 0x00000A81, 0x000007FF,
0x00040020, 0x0000028E, 0x00000009, 0x00000011, 0x00040017, 0x00000014,
0x0000000B, 0x00000003, 0x00040020, 0x00000291, 0x00000001, 0x00000014,
0x0004003B, 0x00000291, 0x00000F48, 0x00000001, 0x00040020, 0x00000289,
0x00000001, 0x0000000B, 0x0005002C, 0x00000011, 0x0000072A, 0x00000A13,
0x00000A0A, 0x00040017, 0x00000017, 0x0000000B, 0x00000004, 0x0003001D,
0x000007DC, 0x00000017, 0x0003001E, 0x000007B4, 0x000007DC, 0x00040020,
0x00000A32, 0x00000002, 0x000007B4, 0x0004003B, 0x00000A32, 0x00001592,
0x00000002, 0x00040020, 0x00000294, 0x00000002, 0x00000017, 0x0004002B,
0x0000000B, 0x00000A22, 0x00000008, 0x0006002C, 0x00000014, 0x00000AC7,
0x00000A22, 0x00000A22, 0x00000A0D, 0x0005002C, 0x00000011, 0x0000074E,
0x00000A13, 0x00000A13, 0x00050036, 0x00000008, 0x0000161F, 0x00000000,
0x00000502, 0x000200F8, 0x00003B06, 0x000300F7, 0x00004C7A, 0x00000000,
0x000300FB, 0x00000A0A, 0x00002E68, 0x000200F8, 0x00002E68, 0x00050041,
0x00000288, 0x000056E5, 0x0000118F, 0x00000A0E, 0x0004003D, 0x0000000B,
0x00003D0B, 0x000056E5, 0x00050041, 0x00000288, 0x000058AC, 0x0000118F,
0x00000A11, 0x0004003D, 0x0000000B, 0x00005158, 0x000058AC, 0x000500C7,
0x0000000B, 0x00005051, 0x00003D0B, 0x00000A44, 0x000500C2, 0x0000000B,
0x00004E69, 0x00003D0B, 0x00000A28, 0x000500C7, 0x0000000B, 0x00001C09,
0x00004E69, 0x00000A13, 0x000500C7, 0x0000000B, 0x000059EF, 0x00003D0B,
0x00000AFE, 0x000500AB, 0x00000009, 0x0000500F, 0x000059EF, 0x00000A0A,
0x000500C2, 0x0000000B, 0x00001FCD, 0x00003D0B, 0x00000A31, 0x000500C7,
0x0000000B, 0x0000619E, 0x00001FCD, 0x00000AFB, 0x00050050, 0x00000011,
0x000022A7, 0x00005158, 0x00005158, 0x000500C2, 0x00000011, 0x00002542,
0x000022A7, 0x0000095E, 0x000500C7, 0x00000011, 0x0000616D, 0x00002542,
0x0000074E, 0x000500C2, 0x00000011, 0x00004F51, 0x000022A7, 0x0000073F,
0x000500C4, 0x00000011, 0x00006242, 0x00000724, 0x00000740, 0x00050082,
0x00000011, 0x000048B0, 0x00006242, 0x00000724, 0x000500C7, 0x00000011,
0x00004937, 0x00004F51, 0x000048B0, 0x000500C4, 0x00000011, 0x00005784,
0x00004937, 0x0000074E, 0x00050084, 0x00000011, 0x000059EB, 0x00005784,
0x0000616D, 0x000500C2, 0x0000000B, 0x00003343, 0x00005158, 0x00000A19,
0x000500C7, 0x0000000B, 0x000039C1, 0x00003343, 0x00000A81, 0x00050051,
0x0000000B, 0x0000229A, 0x0000616D, 0x00000000, 0x00050084, 0x0000000B,
0x000059D1, 0x000039C1, 0x0000229A, 0x00050041, 0x0000028E, 0x00004F61,
0x0000118F, 0x00000A0B, 0x0004003D, 0x00000011, 0x00004704, 0x00004F61,
0x00050050, 0x00000011, 0x0000337F, 0x00001C09, 0x00001C09, 0x000500AE,
0x0000000F, 0x000054ED, 0x0000337F, 0x0000072D, 0x000600A9, 0x00000011,
0x00005854, 0x000054ED, 0x00000724, 0x0000070F, 0x00050041, 0x00000289,
0x00005D52, 0x00000F48, 0x00000A0A, 0x0004003D, 0x0000000B, 0x00004B09,
0x00005D52, 0x00050051, 0x0000000B, 0x00004F7E, 0x00005854, 0x00000000,
0x000500C4, 0x0000000B, 0x00003C76, 0x000059D1, 0x00004F7E, 0x000500AE,
0x00000009, 0x00003C13, 0x00004B09, 0x00003C76, 0x000300F7, 0x00004427,
0x00000002, 0x000400FA, 0x00003C13, 0x000055E8, 0x00004427, 0x000200F8,
0x000055E8, 0x000200F9, 0x00004C7A, 0x000200F8, 0x00004427, 0x0004003D,
0x00000014, 0x0000392D, 0x00000F48, 0x0007004F, 0x00000011, 0x000050D2,
0x0000392D, 0x0000392D, 0x00000000, 0x00000001, 0x000500C4, 0x00000011,
0x000026B5, 0x000050D2, 0x0000072A, 0x000500C4, 0x00000011, 0x00005EEE,
0x000059EB, 0x00005854, 0x00050080, 0x00000011, 0x00005364, 0x000026B5,
0x00005EEE, 0x000500AE, 0x0000000F, 0x00004ECC, 0x0000070F, 0x0000072D,
0x000600A9, 0x00000011, 0x000022C7, 0x00004ECC, 0x00000724, 0x0000070F,
0x000500C4, 0x00000011, 0x000028BE, 0x00005364, 0x000022C7, 0x000500C2,
0x00000011, 0x0000405B, 0x0000070F, 0x00000718, 0x000500C7, 0x00000011,
0x0000330F, 0x0000405B, 0x00000724, 0x00050080, 0x00000011, 0x00004F30,
0x000028BE, 0x0000330F, 0x00050084, 0x00000011, 0x00005299, 0x00000A9F,
0x0000616D, 0x000500C2, 0x00000011, 0x00003985, 0x00005299, 0x0000070F,
0x00050086, 0x00000011, 0x00004D57, 0x00004F30, 0x00003985, 0x00050051,
0x0000000B, 0x00004FA6, 0x00004D57, 0x00000001, 0x00050084, 0x0000000B,
0x00002B26, 0x00004FA6, 0x00005051, 0x00050051, 0x0000000B, 0x00006059,
0x00004D57, 0x00000000, 0x00050080, 0x0000000B, 0x00005420, 0x00002B26,
0x00006059, 0x00050080, 0x0000000B, 0x00002226, 0x0000619E, 0x00005420,
0x00050084, 0x00000011, 0x0000193B, 0x00004D57, 0x00003985, 0x00050082,
0x00000011, 0x000037C7, 0x00004F30, 0x0000193B, 0x000300F7, 0x00004944,
0x00000000, 0x000400FA, 0x0000500F, 0x00002E70, 0x00004944, 0x000200F8,
0x00002E70, 0x00050051, 0x0000000B, 0x00004259, 0x00003985, 0x00000000,
0x000500C2, 0x0000000B, 0x000033FB, 0x00004259, 0x00000A0D, 0x00050051,
0x0000000B, 0x000056BF, 0x000037C7, 0x00000000, 0x0004007C, 0x0000000C,
0x00003B5D, 0x000056BF, 0x000500AE, 0x00000009, 0x00003D78, 0x000056BF,
0x000033FB, 0x000300F7, 0x000052F5, 0x00000000, 0x000400FA, 0x00003D78,
0x000056D4, 0x00001F04, 0x000200F8, 0x000056D4, 0x0004007C, 0x0000000C,
0x00005988, 0x000033FB, 0x0004007E, 0x0000000C, 0x0000432F, 0x00005988,
0x000200F9, 0x000052F5, 0x000200F8, 0x00001F04, 0x0004007C, 0x0000000C,
0x00004112, 0x000033FB, 0x000200F9, 0x000052F5, 0x000200F8, 0x000052F5,
0x000700F5, 0x0000000C, 0x0000273E, 0x0000432F, 0x000056D4, 0x00004112,
0x00001F04, 0x00050080, 0x0000000C, 0x00002ECF, 0x00003B5D, 0x0000273E,
0x0004007C, 0x0000000B, 0x0000452D, 0x00002ECF, 0x00060052, 0x00000011,
0x00005446, 0x0000452D, 0x000037C7, 0x00000000, 0x000200F9, 0x00004944,
0x000200F8, 0x00004944, 0x000700F5, 0x00000011, 0x000043D0, 0x000037C7,
0x00004427, 0x00005446, 0x000052F5, 0x00050051, 0x0000000B, 0x00005DD7,
0x00005299, 0x00000000, 0x00050051, 0x0000000B, 0x0000571F, 0x00005299,
0x00000001, 0x00050084, 0x0000000B, 0x00003372, 0x00005DD7, 0x0000571F,
0x00050084, 0x0000000B, 0x000038D7, 0x00002226, 0x00003372, 0x00050051,
0x0000000B, 0x00001A95, 0x000043D0, 0x00000001, 0x00050051, 0x0000000B,
0x00005BE6, 0x00003985, 0x00000000, 0x00050084, 0x0000000B, 0x00005966,
0x00001A95, 0x00005BE6, 0x00050051, 0x0000000B, 0x00001AE6, 0x000043D0,
0x00000000, 0x00050080, 0x0000000B, 0x000025E0, 0x00005966, 0x00001AE6,
0x000500C4, 0x0000000B, 0x00004AFF, 0x000025E0, 0x00000A0A, 0x00050080,
0x0000000B, 0x00001987, 0x000038D7, 0x00004AFF, 0x000500C2, 0x0000000B,
0x000055C9, 0x00001987, 0x00000A10, 0x0009004F, 0x00000017, 0x000043E3,
0x00004704, 0x00004704, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00060041, 0x00000294, 0x00001E39, 0x00001592, 0x00000A0B, 0x000055C9,
0x0003003E, 0x00001E39, 0x000043E3, 0x00050080, 0x0000000B, 0x00002CC1,
0x000055C9, 0x00000A0D, 0x00060041, 0x00000294, 0x00006256, 0x00001592,
0x00000A0B, 0x00002CC1, 0x0003003E, 0x00006256, 0x000043E3, 0x000200F9,
0x00004C7A, 0x000200F8, 0x00004C7A, 0x000100FD, 0x00010038,
};

View File

@ -0,0 +1,277 @@
// Generated with `xb buildshaders`.
#if 0
; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 10
; Bound: 25175
; Schema: 0
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %5663 "main" %gl_GlobalInvocationID
OpExecutionMode %5663 LocalSize 8 8 1
OpMemberDecorate %_struct_1014 0 Offset 0
OpMemberDecorate %_struct_1014 1 Offset 8
OpMemberDecorate %_struct_1014 2 Offset 12
OpDecorate %_struct_1014 Block
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %_runtimearr_v4uint ArrayStride 16
OpMemberDecorate %_struct_1972 0 NonReadable
OpMemberDecorate %_struct_1972 0 Offset 0
OpDecorate %_struct_1972 BufferBlock
OpDecorate %5522 DescriptorSet 0
OpDecorate %5522 Binding 0
OpDecorate %gl_WorkGroupSize BuiltIn WorkgroupSize
%void = OpTypeVoid
%1282 = OpTypeFunction %void
%bool = OpTypeBool
%v2bool = OpTypeVector %bool 2
%uint = OpTypeInt 32 0
%v2uint = OpTypeVector %uint 2
%uint_2 = OpConstant %uint 2
%uint_1 = OpConstant %uint 1
%1837 = OpConstantComposite %v2uint %uint_2 %uint_1
%uint_0 = OpConstant %uint 0
%1807 = OpConstantComposite %v2uint %uint_0 %uint_0
%1828 = OpConstantComposite %v2uint %uint_1 %uint_1
%1816 = OpConstantComposite %v2uint %uint_1 %uint_0
%uint_80 = OpConstant %uint 80
%uint_16 = OpConstant %uint 16
%2719 = OpConstantComposite %v2uint %uint_80 %uint_16
%int = OpTypeInt 32 1
%_struct_1014 = OpTypeStruct %v2uint %uint %uint
%_ptr_PushConstant__struct_1014 = OpTypePointer PushConstant %_struct_1014
%4495 = OpVariable %_ptr_PushConstant__struct_1014 PushConstant
%int_1 = OpConstant %int 1
%_ptr_PushConstant_uint = OpTypePointer PushConstant %uint
%int_2 = OpConstant %int 2
%int_0 = OpConstant %int 0
%uint_1023 = OpConstant %uint 1023
%uint_10 = OpConstant %uint 10
%uint_3 = OpConstant %uint 3
%uint_13 = OpConstant %uint 13
%uint_4095 = OpConstant %uint 4095
%uint_4 = OpConstant %uint 4
%1855 = OpConstantComposite %v2uint %uint_0 %uint_4
%1856 = OpConstantComposite %v2uint %uint_4 %uint_1
%uint_5 = OpConstant %uint 5
%uint_2047 = OpConstant %uint 2047
%_ptr_PushConstant_v2uint = OpTypePointer PushConstant %v2uint
%v3uint = OpTypeVector %uint 3
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
%gl_GlobalInvocationID = OpVariable %_ptr_Input_v3uint Input
%_ptr_Input_uint = OpTypePointer Input %uint
%1834 = OpConstantComposite %v2uint %uint_3 %uint_0
%v4uint = OpTypeVector %uint 4
%_runtimearr_v4uint = OpTypeRuntimeArray %v4uint
%_struct_1972 = OpTypeStruct %_runtimearr_v4uint
%_ptr_Uniform__struct_1972 = OpTypePointer Uniform %_struct_1972
%5522 = OpVariable %_ptr_Uniform__struct_1972 Uniform
%_ptr_Uniform_v4uint = OpTypePointer Uniform %v4uint
%uint_8 = OpConstant %uint 8
%gl_WorkGroupSize = OpConstantComposite %v3uint %uint_8 %uint_8 %uint_1
%1870 = OpConstantComposite %v2uint %uint_3 %uint_3
%5663 = OpFunction %void None %1282
%15110 = OpLabel
OpSelectionMerge %19578 None
OpSwitch %uint_0 %11880
%11880 = OpLabel
%22245 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_1
%15627 = OpLoad %uint %22245
%22700 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_2
%20824 = OpLoad %uint %22700
%20561 = OpBitwiseAnd %uint %15627 %uint_1023
%19978 = OpShiftRightLogical %uint %15627 %uint_10
%8574 = OpBitwiseAnd %uint %19978 %uint_3
%18836 = OpShiftRightLogical %uint %15627 %uint_13
%9130 = OpBitwiseAnd %uint %18836 %uint_4095
%8814 = OpCompositeConstruct %v2uint %20824 %20824
%8841 = OpShiftRightLogical %v2uint %8814 %1855
%22507 = OpShiftLeftLogical %v2uint %1828 %1856
%18608 = OpISub %v2uint %22507 %1828
%18743 = OpBitwiseAnd %v2uint %8841 %18608
%22404 = OpShiftLeftLogical %v2uint %18743 %1870
%23019 = OpIMul %v2uint %22404 %1828
%12819 = OpShiftRightLogical %uint %20824 %uint_5
%16204 = OpBitwiseAnd %uint %12819 %uint_2047
%19017 = OpAccessChain %_ptr_PushConstant_v2uint %4495 %int_0
%23788 = OpLoad %v2uint %19017
%13183 = OpCompositeConstruct %v2uint %8574 %8574
%21741 = OpUGreaterThanEqual %v2bool %13183 %1837
%22612 = OpSelect %v2uint %21741 %1828 %1807
%23890 = OpAccessChain %_ptr_Input_uint %gl_GlobalInvocationID %uint_0
%19209 = OpLoad %uint %23890
%20350 = OpCompositeExtract %uint %22612 0
%15478 = OpShiftLeftLogical %uint %16204 %20350
%15379 = OpUGreaterThanEqual %bool %19209 %15478
OpSelectionMerge %17447 DontFlatten
OpBranchConditional %15379 %21992 %17447
%21992 = OpLabel
OpBranch %19578
%17447 = OpLabel
%14637 = OpLoad %v3uint %gl_GlobalInvocationID
%20690 = OpVectorShuffle %v2uint %14637 %14637 0 1
%9909 = OpShiftLeftLogical %v2uint %20690 %1834
%24302 = OpShiftLeftLogical %v2uint %23019 %22612
%21348 = OpIAdd %v2uint %9909 %24302
%20172 = OpUGreaterThanEqual %v2bool %1807 %1837
%8903 = OpSelect %v2uint %20172 %1828 %1807
%10430 = OpShiftLeftLogical %v2uint %21348 %8903
%16475 = OpShiftRightLogical %v2uint %1807 %1816
%13071 = OpBitwiseAnd %v2uint %16475 %1828
%20272 = OpIAdd %v2uint %10430 %13071
%21145 = OpIMul %v2uint %2719 %1828
%14725 = OpShiftRightLogical %v2uint %21145 %1816
%19799 = OpUDiv %v2uint %20272 %14725
%20390 = OpCompositeExtract %uint %19799 1
%11046 = OpIMul %uint %20390 %20561
%24665 = OpCompositeExtract %uint %19799 0
%21536 = OpIAdd %uint %11046 %24665
%8742 = OpIAdd %uint %9130 %21536
%22376 = OpIMul %v2uint %19799 %14725
%20715 = OpISub %v2uint %20272 %22376
%7303 = OpCompositeExtract %uint %21145 0
%22882 = OpCompositeExtract %uint %21145 1
%13170 = OpIMul %uint %7303 %22882
%14551 = OpIMul %uint %8742 %13170
%6805 = OpCompositeExtract %uint %20715 1
%23526 = OpCompositeExtract %uint %14725 0
%22886 = OpIMul %uint %6805 %23526
%6886 = OpCompositeExtract %uint %20715 0
%9696 = OpIAdd %uint %22886 %6886
%19199 = OpShiftLeftLogical %uint %9696 %uint_1
%6535 = OpIAdd %uint %14551 %19199
%21961 = OpShiftRightLogical %uint %6535 %uint_2
%17379 = OpVectorShuffle %v4uint %23788 %23788 0 1 0 1
%7737 = OpAccessChain %_ptr_Uniform_v4uint %5522 %int_0 %21961
OpStore %7737 %17379
%11457 = OpIAdd %uint %21961 %uint_1
%22875 = OpAccessChain %_ptr_Uniform_v4uint %5522 %int_0 %11457
OpStore %22875 %17379
%11458 = OpIAdd %uint %21961 %uint_2
%22876 = OpAccessChain %_ptr_Uniform_v4uint %5522 %int_0 %11458
OpStore %22876 %17379
%11459 = OpIAdd %uint %21961 %uint_3
%25174 = OpAccessChain %_ptr_Uniform_v4uint %5522 %int_0 %11459
OpStore %25174 %17379
OpBranch %19578
%19578 = OpLabel
OpReturn
OpFunctionEnd
#endif
const uint32_t resolve_clear_64bpp_cs[] = {
0x07230203, 0x00010000, 0x0008000A, 0x00006257, 0x00000000, 0x00020011,
0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E,
0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0006000F, 0x00000005,
0x0000161F, 0x6E69616D, 0x00000000, 0x00000F48, 0x00060010, 0x0000161F,
0x00000011, 0x00000008, 0x00000008, 0x00000001, 0x00050048, 0x000003F6,
0x00000000, 0x00000023, 0x00000000, 0x00050048, 0x000003F6, 0x00000001,
0x00000023, 0x00000008, 0x00050048, 0x000003F6, 0x00000002, 0x00000023,
0x0000000C, 0x00030047, 0x000003F6, 0x00000002, 0x00040047, 0x00000F48,
0x0000000B, 0x0000001C, 0x00040047, 0x000007DC, 0x00000006, 0x00000010,
0x00040048, 0x000007B4, 0x00000000, 0x00000019, 0x00050048, 0x000007B4,
0x00000000, 0x00000023, 0x00000000, 0x00030047, 0x000007B4, 0x00000003,
0x00040047, 0x00001592, 0x00000022, 0x00000000, 0x00040047, 0x00001592,
0x00000021, 0x00000000, 0x00040047, 0x00000AC7, 0x0000000B, 0x00000019,
0x00020013, 0x00000008, 0x00030021, 0x00000502, 0x00000008, 0x00020014,
0x00000009, 0x00040017, 0x0000000F, 0x00000009, 0x00000002, 0x00040015,
0x0000000B, 0x00000020, 0x00000000, 0x00040017, 0x00000011, 0x0000000B,
0x00000002, 0x0004002B, 0x0000000B, 0x00000A10, 0x00000002, 0x0004002B,
0x0000000B, 0x00000A0D, 0x00000001, 0x0005002C, 0x00000011, 0x0000072D,
0x00000A10, 0x00000A0D, 0x0004002B, 0x0000000B, 0x00000A0A, 0x00000000,
0x0005002C, 0x00000011, 0x0000070F, 0x00000A0A, 0x00000A0A, 0x0005002C,
0x00000011, 0x00000724, 0x00000A0D, 0x00000A0D, 0x0005002C, 0x00000011,
0x00000718, 0x00000A0D, 0x00000A0A, 0x0004002B, 0x0000000B, 0x00000AFA,
0x00000050, 0x0004002B, 0x0000000B, 0x00000A3A, 0x00000010, 0x0005002C,
0x00000011, 0x00000A9F, 0x00000AFA, 0x00000A3A, 0x00040015, 0x0000000C,
0x00000020, 0x00000001, 0x0005001E, 0x000003F6, 0x00000011, 0x0000000B,
0x0000000B, 0x00040020, 0x00000673, 0x00000009, 0x000003F6, 0x0004003B,
0x00000673, 0x0000118F, 0x00000009, 0x0004002B, 0x0000000C, 0x00000A0E,
0x00000001, 0x00040020, 0x00000288, 0x00000009, 0x0000000B, 0x0004002B,
0x0000000C, 0x00000A11, 0x00000002, 0x0004002B, 0x0000000C, 0x00000A0B,
0x00000000, 0x0004002B, 0x0000000B, 0x00000A44, 0x000003FF, 0x0004002B,
0x0000000B, 0x00000A28, 0x0000000A, 0x0004002B, 0x0000000B, 0x00000A13,
0x00000003, 0x0004002B, 0x0000000B, 0x00000A31, 0x0000000D, 0x0004002B,
0x0000000B, 0x00000AFB, 0x00000FFF, 0x0004002B, 0x0000000B, 0x00000A16,
0x00000004, 0x0005002C, 0x00000011, 0x0000073F, 0x00000A0A, 0x00000A16,
0x0005002C, 0x00000011, 0x00000740, 0x00000A16, 0x00000A0D, 0x0004002B,
0x0000000B, 0x00000A19, 0x00000005, 0x0004002B, 0x0000000B, 0x00000A81,
0x000007FF, 0x00040020, 0x0000028E, 0x00000009, 0x00000011, 0x00040017,
0x00000014, 0x0000000B, 0x00000003, 0x00040020, 0x00000291, 0x00000001,
0x00000014, 0x0004003B, 0x00000291, 0x00000F48, 0x00000001, 0x00040020,
0x00000289, 0x00000001, 0x0000000B, 0x0005002C, 0x00000011, 0x0000072A,
0x00000A13, 0x00000A0A, 0x00040017, 0x00000017, 0x0000000B, 0x00000004,
0x0003001D, 0x000007DC, 0x00000017, 0x0003001E, 0x000007B4, 0x000007DC,
0x00040020, 0x00000A32, 0x00000002, 0x000007B4, 0x0004003B, 0x00000A32,
0x00001592, 0x00000002, 0x00040020, 0x00000294, 0x00000002, 0x00000017,
0x0004002B, 0x0000000B, 0x00000A22, 0x00000008, 0x0006002C, 0x00000014,
0x00000AC7, 0x00000A22, 0x00000A22, 0x00000A0D, 0x0005002C, 0x00000011,
0x0000074E, 0x00000A13, 0x00000A13, 0x00050036, 0x00000008, 0x0000161F,
0x00000000, 0x00000502, 0x000200F8, 0x00003B06, 0x000300F7, 0x00004C7A,
0x00000000, 0x000300FB, 0x00000A0A, 0x00002E68, 0x000200F8, 0x00002E68,
0x00050041, 0x00000288, 0x000056E5, 0x0000118F, 0x00000A0E, 0x0004003D,
0x0000000B, 0x00003D0B, 0x000056E5, 0x00050041, 0x00000288, 0x000058AC,
0x0000118F, 0x00000A11, 0x0004003D, 0x0000000B, 0x00005158, 0x000058AC,
0x000500C7, 0x0000000B, 0x00005051, 0x00003D0B, 0x00000A44, 0x000500C2,
0x0000000B, 0x00004E0A, 0x00003D0B, 0x00000A28, 0x000500C7, 0x0000000B,
0x0000217E, 0x00004E0A, 0x00000A13, 0x000500C2, 0x0000000B, 0x00004994,
0x00003D0B, 0x00000A31, 0x000500C7, 0x0000000B, 0x000023AA, 0x00004994,
0x00000AFB, 0x00050050, 0x00000011, 0x0000226E, 0x00005158, 0x00005158,
0x000500C2, 0x00000011, 0x00002289, 0x0000226E, 0x0000073F, 0x000500C4,
0x00000011, 0x000057EB, 0x00000724, 0x00000740, 0x00050082, 0x00000011,
0x000048B0, 0x000057EB, 0x00000724, 0x000500C7, 0x00000011, 0x00004937,
0x00002289, 0x000048B0, 0x000500C4, 0x00000011, 0x00005784, 0x00004937,
0x0000074E, 0x00050084, 0x00000011, 0x000059EB, 0x00005784, 0x00000724,
0x000500C2, 0x0000000B, 0x00003213, 0x00005158, 0x00000A19, 0x000500C7,
0x0000000B, 0x00003F4C, 0x00003213, 0x00000A81, 0x00050041, 0x0000028E,
0x00004A49, 0x0000118F, 0x00000A0B, 0x0004003D, 0x00000011, 0x00005CEC,
0x00004A49, 0x00050050, 0x00000011, 0x0000337F, 0x0000217E, 0x0000217E,
0x000500AE, 0x0000000F, 0x000054ED, 0x0000337F, 0x0000072D, 0x000600A9,
0x00000011, 0x00005854, 0x000054ED, 0x00000724, 0x0000070F, 0x00050041,
0x00000289, 0x00005D52, 0x00000F48, 0x00000A0A, 0x0004003D, 0x0000000B,
0x00004B09, 0x00005D52, 0x00050051, 0x0000000B, 0x00004F7E, 0x00005854,
0x00000000, 0x000500C4, 0x0000000B, 0x00003C76, 0x00003F4C, 0x00004F7E,
0x000500AE, 0x00000009, 0x00003C13, 0x00004B09, 0x00003C76, 0x000300F7,
0x00004427, 0x00000002, 0x000400FA, 0x00003C13, 0x000055E8, 0x00004427,
0x000200F8, 0x000055E8, 0x000200F9, 0x00004C7A, 0x000200F8, 0x00004427,
0x0004003D, 0x00000014, 0x0000392D, 0x00000F48, 0x0007004F, 0x00000011,
0x000050D2, 0x0000392D, 0x0000392D, 0x00000000, 0x00000001, 0x000500C4,
0x00000011, 0x000026B5, 0x000050D2, 0x0000072A, 0x000500C4, 0x00000011,
0x00005EEE, 0x000059EB, 0x00005854, 0x00050080, 0x00000011, 0x00005364,
0x000026B5, 0x00005EEE, 0x000500AE, 0x0000000F, 0x00004ECC, 0x0000070F,
0x0000072D, 0x000600A9, 0x00000011, 0x000022C7, 0x00004ECC, 0x00000724,
0x0000070F, 0x000500C4, 0x00000011, 0x000028BE, 0x00005364, 0x000022C7,
0x000500C2, 0x00000011, 0x0000405B, 0x0000070F, 0x00000718, 0x000500C7,
0x00000011, 0x0000330F, 0x0000405B, 0x00000724, 0x00050080, 0x00000011,
0x00004F30, 0x000028BE, 0x0000330F, 0x00050084, 0x00000011, 0x00005299,
0x00000A9F, 0x00000724, 0x000500C2, 0x00000011, 0x00003985, 0x00005299,
0x00000718, 0x00050086, 0x00000011, 0x00004D57, 0x00004F30, 0x00003985,
0x00050051, 0x0000000B, 0x00004FA6, 0x00004D57, 0x00000001, 0x00050084,
0x0000000B, 0x00002B26, 0x00004FA6, 0x00005051, 0x00050051, 0x0000000B,
0x00006059, 0x00004D57, 0x00000000, 0x00050080, 0x0000000B, 0x00005420,
0x00002B26, 0x00006059, 0x00050080, 0x0000000B, 0x00002226, 0x000023AA,
0x00005420, 0x00050084, 0x00000011, 0x00005768, 0x00004D57, 0x00003985,
0x00050082, 0x00000011, 0x000050EB, 0x00004F30, 0x00005768, 0x00050051,
0x0000000B, 0x00001C87, 0x00005299, 0x00000000, 0x00050051, 0x0000000B,
0x00005962, 0x00005299, 0x00000001, 0x00050084, 0x0000000B, 0x00003372,
0x00001C87, 0x00005962, 0x00050084, 0x0000000B, 0x000038D7, 0x00002226,
0x00003372, 0x00050051, 0x0000000B, 0x00001A95, 0x000050EB, 0x00000001,
0x00050051, 0x0000000B, 0x00005BE6, 0x00003985, 0x00000000, 0x00050084,
0x0000000B, 0x00005966, 0x00001A95, 0x00005BE6, 0x00050051, 0x0000000B,
0x00001AE6, 0x000050EB, 0x00000000, 0x00050080, 0x0000000B, 0x000025E0,
0x00005966, 0x00001AE6, 0x000500C4, 0x0000000B, 0x00004AFF, 0x000025E0,
0x00000A0D, 0x00050080, 0x0000000B, 0x00001987, 0x000038D7, 0x00004AFF,
0x000500C2, 0x0000000B, 0x000055C9, 0x00001987, 0x00000A10, 0x0009004F,
0x00000017, 0x000043E3, 0x00005CEC, 0x00005CEC, 0x00000000, 0x00000001,
0x00000000, 0x00000001, 0x00060041, 0x00000294, 0x00001E39, 0x00001592,
0x00000A0B, 0x000055C9, 0x0003003E, 0x00001E39, 0x000043E3, 0x00050080,
0x0000000B, 0x00002CC1, 0x000055C9, 0x00000A0D, 0x00060041, 0x00000294,
0x0000595B, 0x00001592, 0x00000A0B, 0x00002CC1, 0x0003003E, 0x0000595B,
0x000043E3, 0x00050080, 0x0000000B, 0x00002CC2, 0x000055C9, 0x00000A10,
0x00060041, 0x00000294, 0x0000595C, 0x00001592, 0x00000A0B, 0x00002CC2,
0x0003003E, 0x0000595C, 0x000043E3, 0x00050080, 0x0000000B, 0x00002CC3,
0x000055C9, 0x00000A13, 0x00060041, 0x00000294, 0x00006256, 0x00001592,
0x00000A0B, 0x00002CC3, 0x0003003E, 0x00006256, 0x000043E3, 0x000200F9,
0x00004C7A, 0x000200F8, 0x00004C7A, 0x000100FD, 0x00010038,
};

View File

@ -0,0 +1,290 @@
// Generated with `xb buildshaders`.
#if 0
; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 10
; Bound: 25175
; Schema: 0
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %5663 "main" %gl_GlobalInvocationID
OpExecutionMode %5663 LocalSize 8 8 1
OpMemberDecorate %_struct_1014 0 Offset 0
OpMemberDecorate %_struct_1014 1 Offset 8
OpMemberDecorate %_struct_1014 2 Offset 12
OpDecorate %_struct_1014 Block
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %_runtimearr_v4uint ArrayStride 16
OpMemberDecorate %_struct_1972 0 NonReadable
OpMemberDecorate %_struct_1972 0 Offset 0
OpDecorate %_struct_1972 BufferBlock
OpDecorate %5522 DescriptorSet 0
OpDecorate %5522 Binding 0
OpDecorate %gl_WorkGroupSize BuiltIn WorkgroupSize
%void = OpTypeVoid
%1282 = OpTypeFunction %void
%bool = OpTypeBool
%v2bool = OpTypeVector %bool 2
%uint = OpTypeInt 32 0
%v2uint = OpTypeVector %uint 2
%uint_2 = OpConstant %uint 2
%uint_1 = OpConstant %uint 1
%1837 = OpConstantComposite %v2uint %uint_2 %uint_1
%uint_0 = OpConstant %uint 0
%1807 = OpConstantComposite %v2uint %uint_0 %uint_0
%1828 = OpConstantComposite %v2uint %uint_1 %uint_1
%1816 = OpConstantComposite %v2uint %uint_1 %uint_0
%uint_80 = OpConstant %uint 80
%uint_16 = OpConstant %uint 16
%2719 = OpConstantComposite %v2uint %uint_80 %uint_16
%int = OpTypeInt 32 1
%_struct_1014 = OpTypeStruct %v2uint %uint %uint
%_ptr_PushConstant__struct_1014 = OpTypePointer PushConstant %_struct_1014
%4495 = OpVariable %_ptr_PushConstant__struct_1014 PushConstant
%int_1 = OpConstant %int 1
%_ptr_PushConstant_uint = OpTypePointer PushConstant %uint
%int_2 = OpConstant %int 2
%int_0 = OpConstant %int 0
%uint_1023 = OpConstant %uint 1023
%uint_10 = OpConstant %uint 10
%uint_3 = OpConstant %uint 3
%uint_13 = OpConstant %uint 13
%uint_4095 = OpConstant %uint 4095
%uint_29 = OpConstant %uint 29
%uint_27 = OpConstant %uint 27
%2398 = OpConstantComposite %v2uint %uint_27 %uint_29
%uint_4 = OpConstant %uint 4
%1855 = OpConstantComposite %v2uint %uint_0 %uint_4
%1856 = OpConstantComposite %v2uint %uint_4 %uint_1
%uint_5 = OpConstant %uint 5
%uint_2047 = OpConstant %uint 2047
%_ptr_PushConstant_v2uint = OpTypePointer PushConstant %v2uint
%v3uint = OpTypeVector %uint 3
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
%gl_GlobalInvocationID = OpVariable %_ptr_Input_v3uint Input
%_ptr_Input_uint = OpTypePointer Input %uint
%1834 = OpConstantComposite %v2uint %uint_3 %uint_0
%v4uint = OpTypeVector %uint 4
%_runtimearr_v4uint = OpTypeRuntimeArray %v4uint
%_struct_1972 = OpTypeStruct %_runtimearr_v4uint
%_ptr_Uniform__struct_1972 = OpTypePointer Uniform %_struct_1972
%5522 = OpVariable %_ptr_Uniform__struct_1972 Uniform
%_ptr_Uniform_v4uint = OpTypePointer Uniform %v4uint
%uint_8 = OpConstant %uint 8
%gl_WorkGroupSize = OpConstantComposite %v3uint %uint_8 %uint_8 %uint_1
%1870 = OpConstantComposite %v2uint %uint_3 %uint_3
%5663 = OpFunction %void None %1282
%15110 = OpLabel
OpSelectionMerge %19578 None
OpSwitch %uint_0 %11880
%11880 = OpLabel
%22245 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_1
%15627 = OpLoad %uint %22245
%22700 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_2
%20824 = OpLoad %uint %22700
%20561 = OpBitwiseAnd %uint %15627 %uint_1023
%19978 = OpShiftRightLogical %uint %15627 %uint_10
%8574 = OpBitwiseAnd %uint %19978 %uint_3
%18836 = OpShiftRightLogical %uint %15627 %uint_13
%9130 = OpBitwiseAnd %uint %18836 %uint_4095
%8871 = OpCompositeConstruct %v2uint %20824 %20824
%9538 = OpShiftRightLogical %v2uint %8871 %2398
%24941 = OpBitwiseAnd %v2uint %9538 %1870
%20305 = OpShiftRightLogical %v2uint %8871 %1855
%25154 = OpShiftLeftLogical %v2uint %1828 %1856
%18608 = OpISub %v2uint %25154 %1828
%18743 = OpBitwiseAnd %v2uint %20305 %18608
%22404 = OpShiftLeftLogical %v2uint %18743 %1870
%23019 = OpIMul %v2uint %22404 %24941
%13123 = OpShiftRightLogical %uint %20824 %uint_5
%14785 = OpBitwiseAnd %uint %13123 %uint_2047
%8858 = OpCompositeExtract %uint %24941 0
%22993 = OpIMul %uint %14785 %8858
%20321 = OpAccessChain %_ptr_PushConstant_v2uint %4495 %int_0
%18180 = OpLoad %v2uint %20321
%13183 = OpCompositeConstruct %v2uint %8574 %8574
%21741 = OpUGreaterThanEqual %v2bool %13183 %1837
%22612 = OpSelect %v2uint %21741 %1828 %1807
%23890 = OpAccessChain %_ptr_Input_uint %gl_GlobalInvocationID %uint_0
%19209 = OpLoad %uint %23890
%20350 = OpCompositeExtract %uint %22612 0
%15478 = OpShiftLeftLogical %uint %22993 %20350
%15379 = OpUGreaterThanEqual %bool %19209 %15478
OpSelectionMerge %17447 DontFlatten
OpBranchConditional %15379 %21992 %17447
%21992 = OpLabel
OpBranch %19578
%17447 = OpLabel
%14637 = OpLoad %v3uint %gl_GlobalInvocationID
%20690 = OpVectorShuffle %v2uint %14637 %14637 0 1
%9909 = OpShiftLeftLogical %v2uint %20690 %1834
%24302 = OpShiftLeftLogical %v2uint %23019 %22612
%21348 = OpIAdd %v2uint %9909 %24302
%20172 = OpUGreaterThanEqual %v2bool %1807 %1837
%8903 = OpSelect %v2uint %20172 %1828 %1807
%10430 = OpShiftLeftLogical %v2uint %21348 %8903
%16475 = OpShiftRightLogical %v2uint %1807 %1816
%13071 = OpBitwiseAnd %v2uint %16475 %1828
%20272 = OpIAdd %v2uint %10430 %13071
%21145 = OpIMul %v2uint %2719 %24941
%14725 = OpShiftRightLogical %v2uint %21145 %1816
%19799 = OpUDiv %v2uint %20272 %14725
%20390 = OpCompositeExtract %uint %19799 1
%11046 = OpIMul %uint %20390 %20561
%24665 = OpCompositeExtract %uint %19799 0
%21536 = OpIAdd %uint %11046 %24665
%8742 = OpIAdd %uint %9130 %21536
%22376 = OpIMul %v2uint %19799 %14725
%20715 = OpISub %v2uint %20272 %22376
%7303 = OpCompositeExtract %uint %21145 0
%22882 = OpCompositeExtract %uint %21145 1
%13170 = OpIMul %uint %7303 %22882
%14551 = OpIMul %uint %8742 %13170
%6805 = OpCompositeExtract %uint %20715 1
%23526 = OpCompositeExtract %uint %14725 0
%22886 = OpIMul %uint %6805 %23526
%6886 = OpCompositeExtract %uint %20715 0
%9696 = OpIAdd %uint %22886 %6886
%19199 = OpShiftLeftLogical %uint %9696 %uint_1
%6535 = OpIAdd %uint %14551 %19199
%21961 = OpShiftRightLogical %uint %6535 %uint_2
%17379 = OpVectorShuffle %v4uint %18180 %18180 0 1 0 1
%7737 = OpAccessChain %_ptr_Uniform_v4uint %5522 %int_0 %21961
OpStore %7737 %17379
%11457 = OpIAdd %uint %21961 %uint_1
%22875 = OpAccessChain %_ptr_Uniform_v4uint %5522 %int_0 %11457
OpStore %22875 %17379
%11458 = OpIAdd %uint %21961 %uint_2
%22876 = OpAccessChain %_ptr_Uniform_v4uint %5522 %int_0 %11458
OpStore %22876 %17379
%11459 = OpIAdd %uint %21961 %uint_3
%25174 = OpAccessChain %_ptr_Uniform_v4uint %5522 %int_0 %11459
OpStore %25174 %17379
OpBranch %19578
%19578 = OpLabel
OpReturn
OpFunctionEnd
#endif
const uint32_t resolve_clear_64bpp_scaled_cs[] = {
0x07230203, 0x00010000, 0x0008000A, 0x00006257, 0x00000000, 0x00020011,
0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E,
0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0006000F, 0x00000005,
0x0000161F, 0x6E69616D, 0x00000000, 0x00000F48, 0x00060010, 0x0000161F,
0x00000011, 0x00000008, 0x00000008, 0x00000001, 0x00050048, 0x000003F6,
0x00000000, 0x00000023, 0x00000000, 0x00050048, 0x000003F6, 0x00000001,
0x00000023, 0x00000008, 0x00050048, 0x000003F6, 0x00000002, 0x00000023,
0x0000000C, 0x00030047, 0x000003F6, 0x00000002, 0x00040047, 0x00000F48,
0x0000000B, 0x0000001C, 0x00040047, 0x000007DC, 0x00000006, 0x00000010,
0x00040048, 0x000007B4, 0x00000000, 0x00000019, 0x00050048, 0x000007B4,
0x00000000, 0x00000023, 0x00000000, 0x00030047, 0x000007B4, 0x00000003,
0x00040047, 0x00001592, 0x00000022, 0x00000000, 0x00040047, 0x00001592,
0x00000021, 0x00000000, 0x00040047, 0x00000AC7, 0x0000000B, 0x00000019,
0x00020013, 0x00000008, 0x00030021, 0x00000502, 0x00000008, 0x00020014,
0x00000009, 0x00040017, 0x0000000F, 0x00000009, 0x00000002, 0x00040015,
0x0000000B, 0x00000020, 0x00000000, 0x00040017, 0x00000011, 0x0000000B,
0x00000002, 0x0004002B, 0x0000000B, 0x00000A10, 0x00000002, 0x0004002B,
0x0000000B, 0x00000A0D, 0x00000001, 0x0005002C, 0x00000011, 0x0000072D,
0x00000A10, 0x00000A0D, 0x0004002B, 0x0000000B, 0x00000A0A, 0x00000000,
0x0005002C, 0x00000011, 0x0000070F, 0x00000A0A, 0x00000A0A, 0x0005002C,
0x00000011, 0x00000724, 0x00000A0D, 0x00000A0D, 0x0005002C, 0x00000011,
0x00000718, 0x00000A0D, 0x00000A0A, 0x0004002B, 0x0000000B, 0x00000AFA,
0x00000050, 0x0004002B, 0x0000000B, 0x00000A3A, 0x00000010, 0x0005002C,
0x00000011, 0x00000A9F, 0x00000AFA, 0x00000A3A, 0x00040015, 0x0000000C,
0x00000020, 0x00000001, 0x0005001E, 0x000003F6, 0x00000011, 0x0000000B,
0x0000000B, 0x00040020, 0x00000673, 0x00000009, 0x000003F6, 0x0004003B,
0x00000673, 0x0000118F, 0x00000009, 0x0004002B, 0x0000000C, 0x00000A0E,
0x00000001, 0x00040020, 0x00000288, 0x00000009, 0x0000000B, 0x0004002B,
0x0000000C, 0x00000A11, 0x00000002, 0x0004002B, 0x0000000C, 0x00000A0B,
0x00000000, 0x0004002B, 0x0000000B, 0x00000A44, 0x000003FF, 0x0004002B,
0x0000000B, 0x00000A28, 0x0000000A, 0x0004002B, 0x0000000B, 0x00000A13,
0x00000003, 0x0004002B, 0x0000000B, 0x00000A31, 0x0000000D, 0x0004002B,
0x0000000B, 0x00000AFB, 0x00000FFF, 0x0004002B, 0x0000000B, 0x00000A61,
0x0000001D, 0x0004002B, 0x0000000B, 0x00000A5B, 0x0000001B, 0x0005002C,
0x00000011, 0x0000095E, 0x00000A5B, 0x00000A61, 0x0004002B, 0x0000000B,
0x00000A16, 0x00000004, 0x0005002C, 0x00000011, 0x0000073F, 0x00000A0A,
0x00000A16, 0x0005002C, 0x00000011, 0x00000740, 0x00000A16, 0x00000A0D,
0x0004002B, 0x0000000B, 0x00000A19, 0x00000005, 0x0004002B, 0x0000000B,
0x00000A81, 0x000007FF, 0x00040020, 0x0000028E, 0x00000009, 0x00000011,
0x00040017, 0x00000014, 0x0000000B, 0x00000003, 0x00040020, 0x00000291,
0x00000001, 0x00000014, 0x0004003B, 0x00000291, 0x00000F48, 0x00000001,
0x00040020, 0x00000289, 0x00000001, 0x0000000B, 0x0005002C, 0x00000011,
0x0000072A, 0x00000A13, 0x00000A0A, 0x00040017, 0x00000017, 0x0000000B,
0x00000004, 0x0003001D, 0x000007DC, 0x00000017, 0x0003001E, 0x000007B4,
0x000007DC, 0x00040020, 0x00000A32, 0x00000002, 0x000007B4, 0x0004003B,
0x00000A32, 0x00001592, 0x00000002, 0x00040020, 0x00000294, 0x00000002,
0x00000017, 0x0004002B, 0x0000000B, 0x00000A22, 0x00000008, 0x0006002C,
0x00000014, 0x00000AC7, 0x00000A22, 0x00000A22, 0x00000A0D, 0x0005002C,
0x00000011, 0x0000074E, 0x00000A13, 0x00000A13, 0x00050036, 0x00000008,
0x0000161F, 0x00000000, 0x00000502, 0x000200F8, 0x00003B06, 0x000300F7,
0x00004C7A, 0x00000000, 0x000300FB, 0x00000A0A, 0x00002E68, 0x000200F8,
0x00002E68, 0x00050041, 0x00000288, 0x000056E5, 0x0000118F, 0x00000A0E,
0x0004003D, 0x0000000B, 0x00003D0B, 0x000056E5, 0x00050041, 0x00000288,
0x000058AC, 0x0000118F, 0x00000A11, 0x0004003D, 0x0000000B, 0x00005158,
0x000058AC, 0x000500C7, 0x0000000B, 0x00005051, 0x00003D0B, 0x00000A44,
0x000500C2, 0x0000000B, 0x00004E0A, 0x00003D0B, 0x00000A28, 0x000500C7,
0x0000000B, 0x0000217E, 0x00004E0A, 0x00000A13, 0x000500C2, 0x0000000B,
0x00004994, 0x00003D0B, 0x00000A31, 0x000500C7, 0x0000000B, 0x000023AA,
0x00004994, 0x00000AFB, 0x00050050, 0x00000011, 0x000022A7, 0x00005158,
0x00005158, 0x000500C2, 0x00000011, 0x00002542, 0x000022A7, 0x0000095E,
0x000500C7, 0x00000011, 0x0000616D, 0x00002542, 0x0000074E, 0x000500C2,
0x00000011, 0x00004F51, 0x000022A7, 0x0000073F, 0x000500C4, 0x00000011,
0x00006242, 0x00000724, 0x00000740, 0x00050082, 0x00000011, 0x000048B0,
0x00006242, 0x00000724, 0x000500C7, 0x00000011, 0x00004937, 0x00004F51,
0x000048B0, 0x000500C4, 0x00000011, 0x00005784, 0x00004937, 0x0000074E,
0x00050084, 0x00000011, 0x000059EB, 0x00005784, 0x0000616D, 0x000500C2,
0x0000000B, 0x00003343, 0x00005158, 0x00000A19, 0x000500C7, 0x0000000B,
0x000039C1, 0x00003343, 0x00000A81, 0x00050051, 0x0000000B, 0x0000229A,
0x0000616D, 0x00000000, 0x00050084, 0x0000000B, 0x000059D1, 0x000039C1,
0x0000229A, 0x00050041, 0x0000028E, 0x00004F61, 0x0000118F, 0x00000A0B,
0x0004003D, 0x00000011, 0x00004704, 0x00004F61, 0x00050050, 0x00000011,
0x0000337F, 0x0000217E, 0x0000217E, 0x000500AE, 0x0000000F, 0x000054ED,
0x0000337F, 0x0000072D, 0x000600A9, 0x00000011, 0x00005854, 0x000054ED,
0x00000724, 0x0000070F, 0x00050041, 0x00000289, 0x00005D52, 0x00000F48,
0x00000A0A, 0x0004003D, 0x0000000B, 0x00004B09, 0x00005D52, 0x00050051,
0x0000000B, 0x00004F7E, 0x00005854, 0x00000000, 0x000500C4, 0x0000000B,
0x00003C76, 0x000059D1, 0x00004F7E, 0x000500AE, 0x00000009, 0x00003C13,
0x00004B09, 0x00003C76, 0x000300F7, 0x00004427, 0x00000002, 0x000400FA,
0x00003C13, 0x000055E8, 0x00004427, 0x000200F8, 0x000055E8, 0x000200F9,
0x00004C7A, 0x000200F8, 0x00004427, 0x0004003D, 0x00000014, 0x0000392D,
0x00000F48, 0x0007004F, 0x00000011, 0x000050D2, 0x0000392D, 0x0000392D,
0x00000000, 0x00000001, 0x000500C4, 0x00000011, 0x000026B5, 0x000050D2,
0x0000072A, 0x000500C4, 0x00000011, 0x00005EEE, 0x000059EB, 0x00005854,
0x00050080, 0x00000011, 0x00005364, 0x000026B5, 0x00005EEE, 0x000500AE,
0x0000000F, 0x00004ECC, 0x0000070F, 0x0000072D, 0x000600A9, 0x00000011,
0x000022C7, 0x00004ECC, 0x00000724, 0x0000070F, 0x000500C4, 0x00000011,
0x000028BE, 0x00005364, 0x000022C7, 0x000500C2, 0x00000011, 0x0000405B,
0x0000070F, 0x00000718, 0x000500C7, 0x00000011, 0x0000330F, 0x0000405B,
0x00000724, 0x00050080, 0x00000011, 0x00004F30, 0x000028BE, 0x0000330F,
0x00050084, 0x00000011, 0x00005299, 0x00000A9F, 0x0000616D, 0x000500C2,
0x00000011, 0x00003985, 0x00005299, 0x00000718, 0x00050086, 0x00000011,
0x00004D57, 0x00004F30, 0x00003985, 0x00050051, 0x0000000B, 0x00004FA6,
0x00004D57, 0x00000001, 0x00050084, 0x0000000B, 0x00002B26, 0x00004FA6,
0x00005051, 0x00050051, 0x0000000B, 0x00006059, 0x00004D57, 0x00000000,
0x00050080, 0x0000000B, 0x00005420, 0x00002B26, 0x00006059, 0x00050080,
0x0000000B, 0x00002226, 0x000023AA, 0x00005420, 0x00050084, 0x00000011,
0x00005768, 0x00004D57, 0x00003985, 0x00050082, 0x00000011, 0x000050EB,
0x00004F30, 0x00005768, 0x00050051, 0x0000000B, 0x00001C87, 0x00005299,
0x00000000, 0x00050051, 0x0000000B, 0x00005962, 0x00005299, 0x00000001,
0x00050084, 0x0000000B, 0x00003372, 0x00001C87, 0x00005962, 0x00050084,
0x0000000B, 0x000038D7, 0x00002226, 0x00003372, 0x00050051, 0x0000000B,
0x00001A95, 0x000050EB, 0x00000001, 0x00050051, 0x0000000B, 0x00005BE6,
0x00003985, 0x00000000, 0x00050084, 0x0000000B, 0x00005966, 0x00001A95,
0x00005BE6, 0x00050051, 0x0000000B, 0x00001AE6, 0x000050EB, 0x00000000,
0x00050080, 0x0000000B, 0x000025E0, 0x00005966, 0x00001AE6, 0x000500C4,
0x0000000B, 0x00004AFF, 0x000025E0, 0x00000A0D, 0x00050080, 0x0000000B,
0x00001987, 0x000038D7, 0x00004AFF, 0x000500C2, 0x0000000B, 0x000055C9,
0x00001987, 0x00000A10, 0x0009004F, 0x00000017, 0x000043E3, 0x00004704,
0x00004704, 0x00000000, 0x00000001, 0x00000000, 0x00000001, 0x00060041,
0x00000294, 0x00001E39, 0x00001592, 0x00000A0B, 0x000055C9, 0x0003003E,
0x00001E39, 0x000043E3, 0x00050080, 0x0000000B, 0x00002CC1, 0x000055C9,
0x00000A0D, 0x00060041, 0x00000294, 0x0000595B, 0x00001592, 0x00000A0B,
0x00002CC1, 0x0003003E, 0x0000595B, 0x000043E3, 0x00050080, 0x0000000B,
0x00002CC2, 0x000055C9, 0x00000A10, 0x00060041, 0x00000294, 0x0000595C,
0x00001592, 0x00000A0B, 0x00002CC2, 0x0003003E, 0x0000595C, 0x000043E3,
0x00050080, 0x0000000B, 0x00002CC3, 0x000055C9, 0x00000A13, 0x00060041,
0x00000294, 0x00006256, 0x00001592, 0x00000A0B, 0x00002CC3, 0x0003003E,
0x00006256, 0x000043E3, 0x000200F9, 0x00004C7A, 0x000200F8, 0x00004C7A,
0x000100FD, 0x00010038,
};

View File

@ -0,0 +1,831 @@
// Generated with `xb buildshaders`.
#if 0
; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 10
; Bound: 25204
; Schema: 0
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %5663 "main" %gl_GlobalInvocationID
OpExecutionMode %5663 LocalSize 8 8 1
OpMemberDecorate %_struct_1036 0 Offset 0
OpMemberDecorate %_struct_1036 1 Offset 4
OpMemberDecorate %_struct_1036 2 Offset 8
OpMemberDecorate %_struct_1036 3 Offset 12
OpMemberDecorate %_struct_1036 4 Offset 16
OpDecorate %_struct_1036 Block
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %_runtimearr_v4uint ArrayStride 16
OpMemberDecorate %_struct_1972 0 NonWritable
OpMemberDecorate %_struct_1972 0 Offset 0
OpDecorate %_struct_1972 BufferBlock
OpDecorate %3152 DescriptorSet 1
OpDecorate %3152 Binding 0
OpDecorate %_runtimearr_v4uint_0 ArrayStride 16
OpMemberDecorate %_struct_1973 0 NonReadable
OpMemberDecorate %_struct_1973 0 Offset 0
OpDecorate %_struct_1973 BufferBlock
OpDecorate %5522 DescriptorSet 0
OpDecorate %5522 Binding 0
OpDecorate %gl_WorkGroupSize BuiltIn WorkgroupSize
%void = OpTypeVoid
%1282 = OpTypeFunction %void
%bool = OpTypeBool
%v2bool = OpTypeVector %bool 2
%uint = OpTypeInt 32 0
%v2uint = OpTypeVector %uint 2
%v4uint = OpTypeVector %uint 4
%int = OpTypeInt 32 1
%v2int = OpTypeVector %int 2
%v3int = OpTypeVector %int 3
%uint_1 = OpConstant %uint 1
%uint_2 = OpConstant %uint 2
%uint_16711935 = OpConstant %uint 16711935
%uint_8 = OpConstant %uint 8
%uint_4278255360 = OpConstant %uint 4278255360
%uint_3 = OpConstant %uint 3
%uint_16 = OpConstant %uint 16
%1837 = OpConstantComposite %v2uint %uint_2 %uint_1
%uint_0 = OpConstant %uint 0
%1807 = OpConstantComposite %v2uint %uint_0 %uint_0
%1828 = OpConstantComposite %v2uint %uint_1 %uint_1
%1816 = OpConstantComposite %v2uint %uint_1 %uint_0
%uint_80 = OpConstant %uint 80
%2719 = OpConstantComposite %v2uint %uint_80 %uint_16
%int_5 = OpConstant %int 5
%uint_5 = OpConstant %uint 5
%uint_7 = OpConstant %uint 7
%int_7 = OpConstant %int 7
%int_14 = OpConstant %int 14
%int_2 = OpConstant %int 2
%int_n16 = OpConstant %int -16
%int_1 = OpConstant %int 1
%int_15 = OpConstant %int 15
%int_4 = OpConstant %int 4
%int_n512 = OpConstant %int -512
%int_3 = OpConstant %int 3
%int_16 = OpConstant %int 16
%int_448 = OpConstant %int 448
%int_8 = OpConstant %int 8
%int_6 = OpConstant %int 6
%int_63 = OpConstant %int 63
%uint_4 = OpConstant %uint 4
%int_268435455 = OpConstant %int 268435455
%int_n2 = OpConstant %int -2
%_struct_1036 = OpTypeStruct %uint %uint %uint %uint %uint
%_ptr_PushConstant__struct_1036 = OpTypePointer PushConstant %_struct_1036
%4495 = OpVariable %_ptr_PushConstant__struct_1036 PushConstant
%int_0 = OpConstant %int 0
%_ptr_PushConstant_uint = OpTypePointer PushConstant %uint
%uint_1023 = OpConstant %uint 1023
%uint_10 = OpConstant %uint 10
%uint_4096 = OpConstant %uint 4096
%uint_13 = OpConstant %uint 13
%uint_4095 = OpConstant %uint 4095
%uint_25 = OpConstant %uint 25
%uint_15 = OpConstant %uint 15
%1855 = OpConstantComposite %v2uint %uint_0 %uint_4
%1856 = OpConstantComposite %v2uint %uint_4 %uint_1
%uint_2047 = OpConstant %uint 2047
%uint_16777216 = OpConstant %uint 16777216
%uint_20 = OpConstant %uint 20
%uint_24 = OpConstant %uint 24
%2275 = OpConstantComposite %v2uint %uint_20 %uint_24
%uint_28 = OpConstant %uint 28
%v3uint = OpTypeVector %uint 3
%uint_255 = OpConstant %uint 255
%uint_3222273024 = OpConstant %uint 3222273024
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
%gl_GlobalInvocationID = OpVariable %_ptr_Input_v3uint Input
%_ptr_Input_uint = OpTypePointer Input %uint
%1834 = OpConstantComposite %v2uint %uint_3 %uint_0
%_runtimearr_v4uint = OpTypeRuntimeArray %v4uint
%_struct_1972 = OpTypeStruct %_runtimearr_v4uint
%_ptr_Uniform__struct_1972 = OpTypePointer Uniform %_struct_1972
%3152 = OpVariable %_ptr_Uniform__struct_1972 Uniform
%_ptr_Uniform_v4uint = OpTypePointer Uniform %v4uint
%_runtimearr_v4uint_0 = OpTypeRuntimeArray %v4uint
%_struct_1973 = OpTypeStruct %_runtimearr_v4uint_0
%_ptr_Uniform__struct_1973 = OpTypePointer Uniform %_struct_1973
%5522 = OpVariable %_ptr_Uniform__struct_1973 Uniform
%gl_WorkGroupSize = OpConstantComposite %v3uint %uint_8 %uint_8 %uint_1
%1870 = OpConstantComposite %v2uint %uint_3 %uint_3
%2122 = OpConstantComposite %v2uint %uint_15 %uint_15
%1838 = OpConstantComposite %v4uint %uint_4278255360 %uint_4278255360 %uint_4278255360 %uint_4278255360
%1611 = OpConstantComposite %v4uint %uint_255 %uint_255 %uint_255 %uint_255
%749 = OpConstantComposite %v4uint %uint_16 %uint_16 %uint_16 %uint_16
%2352 = OpConstantComposite %v4uint %uint_3222273024 %uint_3222273024 %uint_3222273024 %uint_3222273024
%929 = OpConstantComposite %v4uint %uint_1023 %uint_1023 %uint_1023 %uint_1023
%965 = OpConstantComposite %v4uint %uint_20 %uint_20 %uint_20 %uint_20
%uint_9 = OpConstant %uint 9
%2510 = OpConstantComposite %v4uint %uint_16711935 %uint_16711935 %uint_16711935 %uint_16711935
%317 = OpConstantComposite %v4uint %uint_8 %uint_8 %uint_8 %uint_8
%5663 = OpFunction %void None %1282
%15110 = OpLabel
OpSelectionMerge %19578 None
OpSwitch %uint_0 %11880
%11880 = OpLabel
%22245 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_0
%15627 = OpLoad %uint %22245
%22700 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_1
%20824 = OpLoad %uint %22700
%20561 = OpBitwiseAnd %uint %15627 %uint_1023
%20073 = OpShiftRightLogical %uint %15627 %uint_10
%7177 = OpBitwiseAnd %uint %20073 %uint_3
%23023 = OpBitwiseAnd %uint %15627 %uint_4096
%20495 = OpINotEqual %bool %23023 %uint_0
%10307 = OpShiftRightLogical %uint %15627 %uint_13
%24434 = OpBitwiseAnd %uint %10307 %uint_4095
%18836 = OpShiftRightLogical %uint %15627 %uint_25
%9130 = OpBitwiseAnd %uint %18836 %uint_15
%8814 = OpCompositeConstruct %v2uint %20824 %20824
%8841 = OpShiftRightLogical %v2uint %8814 %1855
%22507 = OpShiftLeftLogical %v2uint %1828 %1856
%18608 = OpISub %v2uint %22507 %1828
%18743 = OpBitwiseAnd %v2uint %8841 %18608
%22404 = OpShiftLeftLogical %v2uint %18743 %1870
%23019 = OpIMul %v2uint %22404 %1828
%12819 = OpShiftRightLogical %uint %20824 %uint_5
%16204 = OpBitwiseAnd %uint %12819 %uint_2047
%18732 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_2
%24236 = OpLoad %uint %18732
%22701 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_3
%20919 = OpLoad %uint %22701
%19164 = OpBitwiseAnd %uint %24236 %uint_7
%21999 = OpBitwiseAnd %uint %24236 %uint_8
%20496 = OpINotEqual %bool %21999 %uint_0
%10402 = OpShiftRightLogical %uint %24236 %uint_4
%23037 = OpBitwiseAnd %uint %10402 %uint_7
%23118 = OpBitwiseAnd %uint %24236 %uint_16777216
%19573 = OpINotEqual %bool %23118 %uint_0
%8003 = OpBitwiseAnd %uint %20919 %uint_1023
%15783 = OpShiftLeftLogical %uint %8003 %uint_5
%22591 = OpShiftRightLogical %uint %20919 %uint_10
%19390 = OpBitwiseAnd %uint %22591 %uint_1023
%25203 = OpShiftLeftLogical %uint %19390 %uint_5
%10422 = OpCompositeConstruct %v2uint %20919 %20919
%10385 = OpShiftRightLogical %v2uint %10422 %2275
%23379 = OpBitwiseAnd %v2uint %10385 %2122
%16207 = OpShiftLeftLogical %v2uint %23379 %1870
%23020 = OpIMul %v2uint %16207 %1828
%12820 = OpShiftRightLogical %uint %20919 %uint_28
%16205 = OpBitwiseAnd %uint %12820 %uint_7
%18733 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_4
%24237 = OpLoad %uint %18733
%22225 = OpAccessChain %_ptr_Input_uint %gl_GlobalInvocationID %uint_0
%7085 = OpLoad %uint %22225
%7405 = OpUGreaterThanEqual %bool %7085 %16204
OpSelectionMerge %17447 DontFlatten
OpBranchConditional %7405 %21992 %17447
%21992 = OpLabel
OpBranch %19578
%17447 = OpLabel
%14637 = OpLoad %v3uint %gl_GlobalInvocationID
%18505 = OpVectorShuffle %v2uint %14637 %14637 0 1
%9840 = OpShiftLeftLogical %v2uint %18505 %1834
%24498 = OpCompositeExtract %uint %9840 0
%7150 = OpCompositeExtract %uint %9840 1
%24446 = OpExtInst %uint %1 UMax %7150 %uint_0
%20975 = OpCompositeConstruct %v2uint %24498 %24446
%21036 = OpIAdd %v2uint %20975 %23019
%16075 = OpULessThanEqual %bool %16205 %uint_3
OpSelectionMerge %23776 None
OpBranchConditional %16075 %10990 %15087
%15087 = OpLabel
%13566 = OpIEqual %bool %16205 %uint_5
%8438 = OpSelect %uint %13566 %uint_2 %uint_0
OpBranch %23776
%10990 = OpLabel
OpBranch %23776
%23776 = OpLabel
%19300 = OpPhi %uint %16205 %10990 %8438 %15087
%16830 = OpCompositeConstruct %v2uint %7177 %7177
%11801 = OpUGreaterThanEqual %v2bool %16830 %1837
%19381 = OpSelect %v2uint %11801 %1828 %1807
%10986 = OpShiftLeftLogical %v2uint %21036 %19381
%24669 = OpCompositeConstruct %v2uint %19300 %19300
%9093 = OpShiftRightLogical %v2uint %24669 %1816
%16072 = OpBitwiseAnd %v2uint %9093 %1828
%20272 = OpIAdd %v2uint %10986 %16072
%21145 = OpIMul %v2uint %2719 %1828
%14725 = OpShiftRightLogical %v2uint %21145 %1807
%19799 = OpUDiv %v2uint %20272 %14725
%20390 = OpCompositeExtract %uint %19799 1
%11046 = OpIMul %uint %20390 %20561
%24665 = OpCompositeExtract %uint %19799 0
%21536 = OpIAdd %uint %11046 %24665
%8742 = OpIAdd %uint %24434 %21536
%6459 = OpIMul %v2uint %19799 %14725
%14279 = OpISub %v2uint %20272 %6459
OpSelectionMerge %18756 None
OpBranchConditional %20495 %11888 %18756
%11888 = OpLabel
%16985 = OpCompositeExtract %uint %14725 0
%13307 = OpShiftRightLogical %uint %16985 %uint_1
%22207 = OpCompositeExtract %uint %14279 0
%15197 = OpBitcast %int %22207
%15736 = OpUGreaterThanEqual %bool %22207 %13307
OpSelectionMerge %22850 None
OpBranchConditional %15736 %23061 %24565
%24565 = OpLabel
%20693 = OpBitcast %int %13307
OpBranch %22850
%23061 = OpLabel
%18885 = OpBitcast %int %13307
%17199 = OpSNegate %int %18885
OpBranch %22850
%22850 = OpLabel
%10046 = OpPhi %int %17199 %23061 %20693 %24565
%11983 = OpIAdd %int %15197 %10046
%17709 = OpBitcast %uint %11983
%21574 = OpCompositeInsert %v2uint %17709 %14279 0
OpBranch %18756
%18756 = OpLabel
%17360 = OpPhi %v2uint %14279 %23776 %21574 %22850
%24023 = OpCompositeExtract %uint %21145 0
%22303 = OpCompositeExtract %uint %21145 1
%13170 = OpIMul %uint %24023 %22303
%14551 = OpIMul %uint %8742 %13170
%6805 = OpCompositeExtract %uint %17360 1
%23526 = OpCompositeExtract %uint %14725 0
%22886 = OpIMul %uint %6805 %23526
%6886 = OpCompositeExtract %uint %17360 0
%9696 = OpIAdd %uint %22886 %6886
%19199 = OpShiftLeftLogical %uint %9696 %uint_0
%6269 = OpIAdd %uint %14551 %19199
%24307 = OpShiftRightLogical %uint %6269 %uint_2
%19601 = OpAccessChain %_ptr_Uniform_v4uint %3152 %int_0 %24307
%12609 = OpLoad %v4uint %19601
%11687 = OpIAdd %uint %24307 %uint_1
%8660 = OpAccessChain %_ptr_Uniform_v4uint %3152 %int_0 %11687
%6578 = OpLoad %v4uint %8660
OpSelectionMerge %21263 DontFlatten
OpBranchConditional %19573 %22395 %21263
%22395 = OpLabel
OpSelectionMerge %14836 None
OpSwitch %9130 %14836 0 %21920 1 %21920 2 %10391 3 %10391 10 %10391 12 %10391
%10391 = OpLabel
%15273 = OpBitwiseAnd %v4uint %12609 %2352
%23564 = OpBitwiseAnd %v4uint %12609 %929
%24837 = OpShiftLeftLogical %v4uint %23564 %965
%18005 = OpBitwiseOr %v4uint %15273 %24837
%23170 = OpShiftRightLogical %v4uint %12609 %965
%6442 = OpBitwiseAnd %v4uint %23170 %929
%15589 = OpBitwiseOr %v4uint %18005 %6442
%19519 = OpBitwiseAnd %v4uint %6578 %2352
%17946 = OpBitwiseAnd %v4uint %6578 %929
%24838 = OpShiftLeftLogical %v4uint %17946 %965
%18006 = OpBitwiseOr %v4uint %19519 %24838
%23171 = OpShiftRightLogical %v4uint %6578 %965
%7392 = OpBitwiseAnd %v4uint %23171 %929
%7870 = OpBitwiseOr %v4uint %18006 %7392
OpBranch %14836
%21920 = OpLabel
%20117 = OpBitwiseAnd %v4uint %12609 %1838
%23565 = OpBitwiseAnd %v4uint %12609 %1611
%24839 = OpShiftLeftLogical %v4uint %23565 %749
%18007 = OpBitwiseOr %v4uint %20117 %24839
%23172 = OpShiftRightLogical %v4uint %12609 %749
%6443 = OpBitwiseAnd %v4uint %23172 %1611
%15590 = OpBitwiseOr %v4uint %18007 %6443
%19520 = OpBitwiseAnd %v4uint %6578 %1838
%17947 = OpBitwiseAnd %v4uint %6578 %1611
%24840 = OpShiftLeftLogical %v4uint %17947 %749
%18008 = OpBitwiseOr %v4uint %19520 %24840
%23173 = OpShiftRightLogical %v4uint %6578 %749
%7393 = OpBitwiseAnd %v4uint %23173 %1611
%7871 = OpBitwiseOr %v4uint %18008 %7393
OpBranch %14836
%14836 = OpLabel
%11251 = OpPhi %v4uint %6578 %22395 %7871 %21920 %7870 %10391
%13709 = OpPhi %v4uint %12609 %22395 %15590 %21920 %15589 %10391
OpBranch %21263
%21263 = OpLabel
%8952 = OpPhi %v4uint %6578 %18756 %11251 %14836
%22009 = OpPhi %v4uint %12609 %18756 %13709 %14836
%7319 = OpIAdd %v2uint %9840 %23020
OpSelectionMerge %21237 DontFlatten
OpBranchConditional %20496 %10574 %21373
%21373 = OpLabel
%10608 = OpBitcast %v2int %7319
%17090 = OpCompositeExtract %int %10608 0
%9469 = OpShiftRightArithmetic %int %17090 %int_5
%10055 = OpCompositeExtract %int %10608 1
%16476 = OpShiftRightArithmetic %int %10055 %int_5
%23373 = OpShiftRightLogical %uint %15783 %uint_5
%6314 = OpBitcast %int %23373
%21319 = OpIMul %int %16476 %6314
%16222 = OpIAdd %int %9469 %21319
%19086 = OpShiftLeftLogical %int %16222 %uint_9
%10934 = OpBitwiseAnd %int %17090 %int_7
%12600 = OpBitwiseAnd %int %10055 %int_14
%17741 = OpShiftLeftLogical %int %12600 %int_2
%17303 = OpIAdd %int %10934 %17741
%6375 = OpShiftLeftLogical %int %17303 %uint_2
%10161 = OpBitwiseAnd %int %6375 %int_n16
%12150 = OpShiftLeftLogical %int %10161 %int_1
%15435 = OpIAdd %int %19086 %12150
%13207 = OpBitwiseAnd %int %6375 %int_15
%19760 = OpIAdd %int %15435 %13207
%18356 = OpBitwiseAnd %int %10055 %int_1
%21578 = OpShiftLeftLogical %int %18356 %int_4
%16727 = OpIAdd %int %19760 %21578
%20514 = OpBitwiseAnd %int %16727 %int_n512
%9238 = OpShiftLeftLogical %int %20514 %int_3
%18995 = OpBitwiseAnd %int %10055 %int_16
%12151 = OpShiftLeftLogical %int %18995 %int_7
%16728 = OpIAdd %int %9238 %12151
%19165 = OpBitwiseAnd %int %16727 %int_448
%21579 = OpShiftLeftLogical %int %19165 %int_2
%16708 = OpIAdd %int %16728 %21579
%20611 = OpBitwiseAnd %int %10055 %int_8
%16831 = OpShiftRightArithmetic %int %20611 %int_2
%7916 = OpShiftRightArithmetic %int %17090 %int_3
%13750 = OpIAdd %int %16831 %7916
%21587 = OpBitwiseAnd %int %13750 %int_3
%21580 = OpShiftLeftLogical %int %21587 %int_6
%15436 = OpIAdd %int %16708 %21580
%11782 = OpBitwiseAnd %int %16727 %int_63
%14671 = OpIAdd %int %15436 %11782
%22127 = OpBitcast %uint %14671
OpBranch %21237
%10574 = OpLabel
%19866 = OpCompositeExtract %uint %7319 0
%11267 = OpCompositeExtract %uint %7319 1
%8414 = OpCompositeConstruct %v3uint %19866 %11267 %23037
%20125 = OpBitcast %v3int %8414
%10438 = OpCompositeExtract %int %20125 1
%9470 = OpShiftRightArithmetic %int %10438 %int_4
%10056 = OpCompositeExtract %int %20125 2
%16477 = OpShiftRightArithmetic %int %10056 %int_2
%23374 = OpShiftRightLogical %uint %25203 %uint_4
%6315 = OpBitcast %int %23374
%21281 = OpIMul %int %16477 %6315
%15143 = OpIAdd %int %9470 %21281
%9032 = OpShiftRightLogical %uint %15783 %uint_5
%12427 = OpBitcast %int %9032
%10360 = OpIMul %int %15143 %12427
%25154 = OpCompositeExtract %int %20125 0
%20423 = OpShiftRightArithmetic %int %25154 %int_5
%18940 = OpIAdd %int %20423 %10360
%8797 = OpShiftLeftLogical %int %18940 %uint_8
%11510 = OpBitwiseAnd %int %8797 %int_268435455
%18938 = OpShiftLeftLogical %int %11510 %int_1
%19768 = OpBitwiseAnd %int %25154 %int_7
%12601 = OpBitwiseAnd %int %10438 %int_6
%17742 = OpShiftLeftLogical %int %12601 %int_2
%17227 = OpIAdd %int %19768 %17742
%7048 = OpShiftLeftLogical %int %17227 %uint_8
%24035 = OpShiftRightArithmetic %int %7048 %int_6
%8725 = OpShiftRightArithmetic %int %10438 %int_3
%13731 = OpIAdd %int %8725 %16477
%23052 = OpBitwiseAnd %int %13731 %int_1
%16658 = OpShiftRightArithmetic %int %25154 %int_3
%18794 = OpShiftLeftLogical %int %23052 %int_1
%13501 = OpIAdd %int %16658 %18794
%19166 = OpBitwiseAnd %int %13501 %int_3
%21581 = OpShiftLeftLogical %int %19166 %int_1
%15437 = OpIAdd %int %23052 %21581
%13150 = OpBitwiseAnd %int %24035 %int_n16
%20336 = OpIAdd %int %18938 %13150
%23345 = OpShiftLeftLogical %int %20336 %int_1
%23274 = OpBitwiseAnd %int %24035 %int_15
%10332 = OpIAdd %int %23345 %23274
%18357 = OpBitwiseAnd %int %10056 %int_3
%21582 = OpShiftLeftLogical %int %18357 %uint_8
%16729 = OpIAdd %int %10332 %21582
%19167 = OpBitwiseAnd %int %10438 %int_1
%21583 = OpShiftLeftLogical %int %19167 %int_4
%16730 = OpIAdd %int %16729 %21583
%20438 = OpBitwiseAnd %int %15437 %int_1
%9987 = OpShiftLeftLogical %int %20438 %int_3
%13106 = OpShiftRightArithmetic %int %16730 %int_6
%14038 = OpBitwiseAnd %int %13106 %int_7
%13330 = OpIAdd %int %9987 %14038
%23346 = OpShiftLeftLogical %int %13330 %int_3
%23217 = OpBitwiseAnd %int %15437 %int_n2
%10908 = OpIAdd %int %23346 %23217
%23347 = OpShiftLeftLogical %int %10908 %int_2
%23218 = OpBitwiseAnd %int %16730 %int_n512
%10909 = OpIAdd %int %23347 %23218
%23348 = OpShiftLeftLogical %int %10909 %int_3
%21849 = OpBitwiseAnd %int %16730 %int_63
%24314 = OpIAdd %int %23348 %21849
%22128 = OpBitcast %uint %24314
OpBranch %21237
%21237 = OpLabel
%11376 = OpPhi %uint %22128 %10574 %22127 %21373
%20616 = OpIAdd %uint %11376 %24237
%18675 = OpShiftRightLogical %uint %20616 %uint_4
%12010 = OpIEqual %bool %19164 %uint_1
%22390 = OpIEqual %bool %19164 %uint_2
%22150 = OpLogicalOr %bool %12010 %22390
OpSelectionMerge %13411 None
OpBranchConditional %22150 %10583 %13411
%10583 = OpLabel
%18271 = OpBitwiseAnd %v4uint %22009 %2510
%9425 = OpShiftLeftLogical %v4uint %18271 %317
%20652 = OpBitwiseAnd %v4uint %22009 %1838
%17549 = OpShiftRightLogical %v4uint %20652 %317
%16376 = OpBitwiseOr %v4uint %9425 %17549
OpBranch %13411
%13411 = OpLabel
%22649 = OpPhi %v4uint %22009 %21237 %16376 %10583
%19638 = OpIEqual %bool %19164 %uint_3
%15139 = OpLogicalOr %bool %22390 %19638
OpSelectionMerge %11416 None
OpBranchConditional %15139 %11064 %11416
%11064 = OpLabel
%24087 = OpShiftLeftLogical %v4uint %22649 %749
%15335 = OpShiftRightLogical %v4uint %22649 %749
%10728 = OpBitwiseOr %v4uint %24087 %15335
OpBranch %11416
%11416 = OpLabel
%19767 = OpPhi %v4uint %22649 %13411 %10728 %11064
%24825 = OpAccessChain %_ptr_Uniform_v4uint %5522 %int_0 %18675
OpStore %24825 %19767
%21685 = OpIAdd %uint %18675 %uint_2
OpSelectionMerge %14874 None
OpBranchConditional %22150 %10584 %14874
%10584 = OpLabel
%18272 = OpBitwiseAnd %v4uint %8952 %2510
%9426 = OpShiftLeftLogical %v4uint %18272 %317
%20653 = OpBitwiseAnd %v4uint %8952 %1838
%17550 = OpShiftRightLogical %v4uint %20653 %317
%16377 = OpBitwiseOr %v4uint %9426 %17550
OpBranch %14874
%14874 = OpLabel
%10924 = OpPhi %v4uint %8952 %11416 %16377 %10584
OpSelectionMerge %11417 None
OpBranchConditional %15139 %11065 %11417
%11065 = OpLabel
%24088 = OpShiftLeftLogical %v4uint %10924 %749
%15336 = OpShiftRightLogical %v4uint %10924 %749
%10729 = OpBitwiseOr %v4uint %24088 %15336
OpBranch %11417
%11417 = OpLabel
%19769 = OpPhi %v4uint %10924 %14874 %10729 %11065
%8053 = OpAccessChain %_ptr_Uniform_v4uint %5522 %int_0 %21685
OpStore %8053 %19769
OpBranch %19578
%19578 = OpLabel
OpReturn
OpFunctionEnd
#endif
const uint32_t resolve_fast_32bpp_1x2xmsaa_cs[] = {
0x07230203, 0x00010000, 0x0008000A, 0x00006274, 0x00000000, 0x00020011,
0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E,
0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0006000F, 0x00000005,
0x0000161F, 0x6E69616D, 0x00000000, 0x00000F48, 0x00060010, 0x0000161F,
0x00000011, 0x00000008, 0x00000008, 0x00000001, 0x00050048, 0x0000040C,
0x00000000, 0x00000023, 0x00000000, 0x00050048, 0x0000040C, 0x00000001,
0x00000023, 0x00000004, 0x00050048, 0x0000040C, 0x00000002, 0x00000023,
0x00000008, 0x00050048, 0x0000040C, 0x00000003, 0x00000023, 0x0000000C,
0x00050048, 0x0000040C, 0x00000004, 0x00000023, 0x00000010, 0x00030047,
0x0000040C, 0x00000002, 0x00040047, 0x00000F48, 0x0000000B, 0x0000001C,
0x00040047, 0x000007DC, 0x00000006, 0x00000010, 0x00040048, 0x000007B4,
0x00000000, 0x00000018, 0x00050048, 0x000007B4, 0x00000000, 0x00000023,
0x00000000, 0x00030047, 0x000007B4, 0x00000003, 0x00040047, 0x00000C50,
0x00000022, 0x00000001, 0x00040047, 0x00000C50, 0x00000021, 0x00000000,
0x00040047, 0x000007DD, 0x00000006, 0x00000010, 0x00040048, 0x000007B5,
0x00000000, 0x00000019, 0x00050048, 0x000007B5, 0x00000000, 0x00000023,
0x00000000, 0x00030047, 0x000007B5, 0x00000003, 0x00040047, 0x00001592,
0x00000022, 0x00000000, 0x00040047, 0x00001592, 0x00000021, 0x00000000,
0x00040047, 0x00000AC7, 0x0000000B, 0x00000019, 0x00020013, 0x00000008,
0x00030021, 0x00000502, 0x00000008, 0x00020014, 0x00000009, 0x00040017,
0x0000000F, 0x00000009, 0x00000002, 0x00040015, 0x0000000B, 0x00000020,
0x00000000, 0x00040017, 0x00000011, 0x0000000B, 0x00000002, 0x00040017,
0x00000017, 0x0000000B, 0x00000004, 0x00040015, 0x0000000C, 0x00000020,
0x00000001, 0x00040017, 0x00000012, 0x0000000C, 0x00000002, 0x00040017,
0x00000016, 0x0000000C, 0x00000003, 0x0004002B, 0x0000000B, 0x00000A0D,
0x00000001, 0x0004002B, 0x0000000B, 0x00000A10, 0x00000002, 0x0004002B,
0x0000000B, 0x000008A6, 0x00FF00FF, 0x0004002B, 0x0000000B, 0x00000A22,
0x00000008, 0x0004002B, 0x0000000B, 0x000005FD, 0xFF00FF00, 0x0004002B,
0x0000000B, 0x00000A13, 0x00000003, 0x0004002B, 0x0000000B, 0x00000A3A,
0x00000010, 0x0005002C, 0x00000011, 0x0000072D, 0x00000A10, 0x00000A0D,
0x0004002B, 0x0000000B, 0x00000A0A, 0x00000000, 0x0005002C, 0x00000011,
0x0000070F, 0x00000A0A, 0x00000A0A, 0x0005002C, 0x00000011, 0x00000724,
0x00000A0D, 0x00000A0D, 0x0005002C, 0x00000011, 0x00000718, 0x00000A0D,
0x00000A0A, 0x0004002B, 0x0000000B, 0x00000AFA, 0x00000050, 0x0005002C,
0x00000011, 0x00000A9F, 0x00000AFA, 0x00000A3A, 0x0004002B, 0x0000000C,
0x00000A1A, 0x00000005, 0x0004002B, 0x0000000B, 0x00000A19, 0x00000005,
0x0004002B, 0x0000000B, 0x00000A1F, 0x00000007, 0x0004002B, 0x0000000C,
0x00000A20, 0x00000007, 0x0004002B, 0x0000000C, 0x00000A35, 0x0000000E,
0x0004002B, 0x0000000C, 0x00000A11, 0x00000002, 0x0004002B, 0x0000000C,
0x000009DB, 0xFFFFFFF0, 0x0004002B, 0x0000000C, 0x00000A0E, 0x00000001,
0x0004002B, 0x0000000C, 0x00000A38, 0x0000000F, 0x0004002B, 0x0000000C,
0x00000A17, 0x00000004, 0x0004002B, 0x0000000C, 0x0000040B, 0xFFFFFE00,
0x0004002B, 0x0000000C, 0x00000A14, 0x00000003, 0x0004002B, 0x0000000C,
0x00000A3B, 0x00000010, 0x0004002B, 0x0000000C, 0x00000388, 0x000001C0,
0x0004002B, 0x0000000C, 0x00000A23, 0x00000008, 0x0004002B, 0x0000000C,
0x00000A1D, 0x00000006, 0x0004002B, 0x0000000C, 0x00000AC8, 0x0000003F,
0x0004002B, 0x0000000B, 0x00000A16, 0x00000004, 0x0004002B, 0x0000000C,
0x0000078B, 0x0FFFFFFF, 0x0004002B, 0x0000000C, 0x00000A05, 0xFFFFFFFE,
0x0007001E, 0x0000040C, 0x0000000B, 0x0000000B, 0x0000000B, 0x0000000B,
0x0000000B, 0x00040020, 0x00000688, 0x00000009, 0x0000040C, 0x0004003B,
0x00000688, 0x0000118F, 0x00000009, 0x0004002B, 0x0000000C, 0x00000A0B,
0x00000000, 0x00040020, 0x00000288, 0x00000009, 0x0000000B, 0x0004002B,
0x0000000B, 0x00000A44, 0x000003FF, 0x0004002B, 0x0000000B, 0x00000A28,
0x0000000A, 0x0004002B, 0x0000000B, 0x00000AFE, 0x00001000, 0x0004002B,
0x0000000B, 0x00000A31, 0x0000000D, 0x0004002B, 0x0000000B, 0x00000AFB,
0x00000FFF, 0x0004002B, 0x0000000B, 0x00000A55, 0x00000019, 0x0004002B,
0x0000000B, 0x00000A37, 0x0000000F, 0x0005002C, 0x00000011, 0x0000073F,
0x00000A0A, 0x00000A16, 0x0005002C, 0x00000011, 0x00000740, 0x00000A16,
0x00000A0D, 0x0004002B, 0x0000000B, 0x00000A81, 0x000007FF, 0x0004002B,
0x0000000B, 0x00000926, 0x01000000, 0x0004002B, 0x0000000B, 0x00000A46,
0x00000014, 0x0004002B, 0x0000000B, 0x00000A52, 0x00000018, 0x0005002C,
0x00000011, 0x000008E3, 0x00000A46, 0x00000A52, 0x0004002B, 0x0000000B,
0x00000A5E, 0x0000001C, 0x00040017, 0x00000014, 0x0000000B, 0x00000003,
0x0004002B, 0x0000000B, 0x00000144, 0x000000FF, 0x0004002B, 0x0000000B,
0x00000B54, 0xC00FFC00, 0x00040020, 0x00000291, 0x00000001, 0x00000014,
0x0004003B, 0x00000291, 0x00000F48, 0x00000001, 0x00040020, 0x00000289,
0x00000001, 0x0000000B, 0x0005002C, 0x00000011, 0x0000072A, 0x00000A13,
0x00000A0A, 0x0003001D, 0x000007DC, 0x00000017, 0x0003001E, 0x000007B4,
0x000007DC, 0x00040020, 0x00000A32, 0x00000002, 0x000007B4, 0x0004003B,
0x00000A32, 0x00000C50, 0x00000002, 0x00040020, 0x00000294, 0x00000002,
0x00000017, 0x0003001D, 0x000007DD, 0x00000017, 0x0003001E, 0x000007B5,
0x000007DD, 0x00040020, 0x00000A33, 0x00000002, 0x000007B5, 0x0004003B,
0x00000A33, 0x00001592, 0x00000002, 0x0006002C, 0x00000014, 0x00000AC7,
0x00000A22, 0x00000A22, 0x00000A0D, 0x0005002C, 0x00000011, 0x0000074E,
0x00000A13, 0x00000A13, 0x0005002C, 0x00000011, 0x0000084A, 0x00000A37,
0x00000A37, 0x0007002C, 0x00000017, 0x0000072E, 0x000005FD, 0x000005FD,
0x000005FD, 0x000005FD, 0x0007002C, 0x00000017, 0x0000064B, 0x00000144,
0x00000144, 0x00000144, 0x00000144, 0x0007002C, 0x00000017, 0x000002ED,
0x00000A3A, 0x00000A3A, 0x00000A3A, 0x00000A3A, 0x0007002C, 0x00000017,
0x00000930, 0x00000B54, 0x00000B54, 0x00000B54, 0x00000B54, 0x0007002C,
0x00000017, 0x000003A1, 0x00000A44, 0x00000A44, 0x00000A44, 0x00000A44,
0x0007002C, 0x00000017, 0x000003C5, 0x00000A46, 0x00000A46, 0x00000A46,
0x00000A46, 0x0004002B, 0x0000000B, 0x00000A25, 0x00000009, 0x0007002C,
0x00000017, 0x000009CE, 0x000008A6, 0x000008A6, 0x000008A6, 0x000008A6,
0x0007002C, 0x00000017, 0x0000013D, 0x00000A22, 0x00000A22, 0x00000A22,
0x00000A22, 0x00050036, 0x00000008, 0x0000161F, 0x00000000, 0x00000502,
0x000200F8, 0x00003B06, 0x000300F7, 0x00004C7A, 0x00000000, 0x000300FB,
0x00000A0A, 0x00002E68, 0x000200F8, 0x00002E68, 0x00050041, 0x00000288,
0x000056E5, 0x0000118F, 0x00000A0B, 0x0004003D, 0x0000000B, 0x00003D0B,
0x000056E5, 0x00050041, 0x00000288, 0x000058AC, 0x0000118F, 0x00000A0E,
0x0004003D, 0x0000000B, 0x00005158, 0x000058AC, 0x000500C7, 0x0000000B,
0x00005051, 0x00003D0B, 0x00000A44, 0x000500C2, 0x0000000B, 0x00004E69,
0x00003D0B, 0x00000A28, 0x000500C7, 0x0000000B, 0x00001C09, 0x00004E69,
0x00000A13, 0x000500C7, 0x0000000B, 0x000059EF, 0x00003D0B, 0x00000AFE,
0x000500AB, 0x00000009, 0x0000500F, 0x000059EF, 0x00000A0A, 0x000500C2,
0x0000000B, 0x00002843, 0x00003D0B, 0x00000A31, 0x000500C7, 0x0000000B,
0x00005F72, 0x00002843, 0x00000AFB, 0x000500C2, 0x0000000B, 0x00004994,
0x00003D0B, 0x00000A55, 0x000500C7, 0x0000000B, 0x000023AA, 0x00004994,
0x00000A37, 0x00050050, 0x00000011, 0x0000226E, 0x00005158, 0x00005158,
0x000500C2, 0x00000011, 0x00002289, 0x0000226E, 0x0000073F, 0x000500C4,
0x00000011, 0x000057EB, 0x00000724, 0x00000740, 0x00050082, 0x00000011,
0x000048B0, 0x000057EB, 0x00000724, 0x000500C7, 0x00000011, 0x00004937,
0x00002289, 0x000048B0, 0x000500C4, 0x00000011, 0x00005784, 0x00004937,
0x0000074E, 0x00050084, 0x00000011, 0x000059EB, 0x00005784, 0x00000724,
0x000500C2, 0x0000000B, 0x00003213, 0x00005158, 0x00000A19, 0x000500C7,
0x0000000B, 0x00003F4C, 0x00003213, 0x00000A81, 0x00050041, 0x00000288,
0x0000492C, 0x0000118F, 0x00000A11, 0x0004003D, 0x0000000B, 0x00005EAC,
0x0000492C, 0x00050041, 0x00000288, 0x000058AD, 0x0000118F, 0x00000A14,
0x0004003D, 0x0000000B, 0x000051B7, 0x000058AD, 0x000500C7, 0x0000000B,
0x00004ADC, 0x00005EAC, 0x00000A1F, 0x000500C7, 0x0000000B, 0x000055EF,
0x00005EAC, 0x00000A22, 0x000500AB, 0x00000009, 0x00005010, 0x000055EF,
0x00000A0A, 0x000500C2, 0x0000000B, 0x000028A2, 0x00005EAC, 0x00000A16,
0x000500C7, 0x0000000B, 0x000059FD, 0x000028A2, 0x00000A1F, 0x000500C7,
0x0000000B, 0x00005A4E, 0x00005EAC, 0x00000926, 0x000500AB, 0x00000009,
0x00004C75, 0x00005A4E, 0x00000A0A, 0x000500C7, 0x0000000B, 0x00001F43,
0x000051B7, 0x00000A44, 0x000500C4, 0x0000000B, 0x00003DA7, 0x00001F43,
0x00000A19, 0x000500C2, 0x0000000B, 0x0000583F, 0x000051B7, 0x00000A28,
0x000500C7, 0x0000000B, 0x00004BBE, 0x0000583F, 0x00000A44, 0x000500C4,
0x0000000B, 0x00006273, 0x00004BBE, 0x00000A19, 0x00050050, 0x00000011,
0x000028B6, 0x000051B7, 0x000051B7, 0x000500C2, 0x00000011, 0x00002891,
0x000028B6, 0x000008E3, 0x000500C7, 0x00000011, 0x00005B53, 0x00002891,
0x0000084A, 0x000500C4, 0x00000011, 0x00003F4F, 0x00005B53, 0x0000074E,
0x00050084, 0x00000011, 0x000059EC, 0x00003F4F, 0x00000724, 0x000500C2,
0x0000000B, 0x00003214, 0x000051B7, 0x00000A5E, 0x000500C7, 0x0000000B,
0x00003F4D, 0x00003214, 0x00000A1F, 0x00050041, 0x00000288, 0x0000492D,
0x0000118F, 0x00000A17, 0x0004003D, 0x0000000B, 0x00005EAD, 0x0000492D,
0x00050041, 0x00000289, 0x000056D1, 0x00000F48, 0x00000A0A, 0x0004003D,
0x0000000B, 0x00001BAD, 0x000056D1, 0x000500AE, 0x00000009, 0x00001CED,
0x00001BAD, 0x00003F4C, 0x000300F7, 0x00004427, 0x00000002, 0x000400FA,
0x00001CED, 0x000055E8, 0x00004427, 0x000200F8, 0x000055E8, 0x000200F9,
0x00004C7A, 0x000200F8, 0x00004427, 0x0004003D, 0x00000014, 0x0000392D,
0x00000F48, 0x0007004F, 0x00000011, 0x00004849, 0x0000392D, 0x0000392D,
0x00000000, 0x00000001, 0x000500C4, 0x00000011, 0x00002670, 0x00004849,
0x0000072A, 0x00050051, 0x0000000B, 0x00005FB2, 0x00002670, 0x00000000,
0x00050051, 0x0000000B, 0x00001BEE, 0x00002670, 0x00000001, 0x0007000C,
0x0000000B, 0x00005F7E, 0x00000001, 0x00000029, 0x00001BEE, 0x00000A0A,
0x00050050, 0x00000011, 0x000051EF, 0x00005FB2, 0x00005F7E, 0x00050080,
0x00000011, 0x0000522C, 0x000051EF, 0x000059EB, 0x000500B2, 0x00000009,
0x00003ECB, 0x00003F4D, 0x00000A13, 0x000300F7, 0x00005CE0, 0x00000000,
0x000400FA, 0x00003ECB, 0x00002AEE, 0x00003AEF, 0x000200F8, 0x00003AEF,
0x000500AA, 0x00000009, 0x000034FE, 0x00003F4D, 0x00000A19, 0x000600A9,
0x0000000B, 0x000020F6, 0x000034FE, 0x00000A10, 0x00000A0A, 0x000200F9,
0x00005CE0, 0x000200F8, 0x00002AEE, 0x000200F9, 0x00005CE0, 0x000200F8,
0x00005CE0, 0x000700F5, 0x0000000B, 0x00004B64, 0x00003F4D, 0x00002AEE,
0x000020F6, 0x00003AEF, 0x00050050, 0x00000011, 0x000041BE, 0x00001C09,
0x00001C09, 0x000500AE, 0x0000000F, 0x00002E19, 0x000041BE, 0x0000072D,
0x000600A9, 0x00000011, 0x00004BB5, 0x00002E19, 0x00000724, 0x0000070F,
0x000500C4, 0x00000011, 0x00002AEA, 0x0000522C, 0x00004BB5, 0x00050050,
0x00000011, 0x0000605D, 0x00004B64, 0x00004B64, 0x000500C2, 0x00000011,
0x00002385, 0x0000605D, 0x00000718, 0x000500C7, 0x00000011, 0x00003EC8,
0x00002385, 0x00000724, 0x00050080, 0x00000011, 0x00004F30, 0x00002AEA,
0x00003EC8, 0x00050084, 0x00000011, 0x00005299, 0x00000A9F, 0x00000724,
0x000500C2, 0x00000011, 0x00003985, 0x00005299, 0x0000070F, 0x00050086,
0x00000011, 0x00004D57, 0x00004F30, 0x00003985, 0x00050051, 0x0000000B,
0x00004FA6, 0x00004D57, 0x00000001, 0x00050084, 0x0000000B, 0x00002B26,
0x00004FA6, 0x00005051, 0x00050051, 0x0000000B, 0x00006059, 0x00004D57,
0x00000000, 0x00050080, 0x0000000B, 0x00005420, 0x00002B26, 0x00006059,
0x00050080, 0x0000000B, 0x00002226, 0x00005F72, 0x00005420, 0x00050084,
0x00000011, 0x0000193B, 0x00004D57, 0x00003985, 0x00050082, 0x00000011,
0x000037C7, 0x00004F30, 0x0000193B, 0x000300F7, 0x00004944, 0x00000000,
0x000400FA, 0x0000500F, 0x00002E70, 0x00004944, 0x000200F8, 0x00002E70,
0x00050051, 0x0000000B, 0x00004259, 0x00003985, 0x00000000, 0x000500C2,
0x0000000B, 0x000033FB, 0x00004259, 0x00000A0D, 0x00050051, 0x0000000B,
0x000056BF, 0x000037C7, 0x00000000, 0x0004007C, 0x0000000C, 0x00003B5D,
0x000056BF, 0x000500AE, 0x00000009, 0x00003D78, 0x000056BF, 0x000033FB,
0x000300F7, 0x00005942, 0x00000000, 0x000400FA, 0x00003D78, 0x00005A15,
0x00005FF5, 0x000200F8, 0x00005FF5, 0x0004007C, 0x0000000C, 0x000050D5,
0x000033FB, 0x000200F9, 0x00005942, 0x000200F8, 0x00005A15, 0x0004007C,
0x0000000C, 0x000049C5, 0x000033FB, 0x0004007E, 0x0000000C, 0x0000432F,
0x000049C5, 0x000200F9, 0x00005942, 0x000200F8, 0x00005942, 0x000700F5,
0x0000000C, 0x0000273E, 0x0000432F, 0x00005A15, 0x000050D5, 0x00005FF5,
0x00050080, 0x0000000C, 0x00002ECF, 0x00003B5D, 0x0000273E, 0x0004007C,
0x0000000B, 0x0000452D, 0x00002ECF, 0x00060052, 0x00000011, 0x00005446,
0x0000452D, 0x000037C7, 0x00000000, 0x000200F9, 0x00004944, 0x000200F8,
0x00004944, 0x000700F5, 0x00000011, 0x000043D0, 0x000037C7, 0x00005CE0,
0x00005446, 0x00005942, 0x00050051, 0x0000000B, 0x00005DD7, 0x00005299,
0x00000000, 0x00050051, 0x0000000B, 0x0000571F, 0x00005299, 0x00000001,
0x00050084, 0x0000000B, 0x00003372, 0x00005DD7, 0x0000571F, 0x00050084,
0x0000000B, 0x000038D7, 0x00002226, 0x00003372, 0x00050051, 0x0000000B,
0x00001A95, 0x000043D0, 0x00000001, 0x00050051, 0x0000000B, 0x00005BE6,
0x00003985, 0x00000000, 0x00050084, 0x0000000B, 0x00005966, 0x00001A95,
0x00005BE6, 0x00050051, 0x0000000B, 0x00001AE6, 0x000043D0, 0x00000000,
0x00050080, 0x0000000B, 0x000025E0, 0x00005966, 0x00001AE6, 0x000500C4,
0x0000000B, 0x00004AFF, 0x000025E0, 0x00000A0A, 0x00050080, 0x0000000B,
0x0000187D, 0x000038D7, 0x00004AFF, 0x000500C2, 0x0000000B, 0x00005EF3,
0x0000187D, 0x00000A10, 0x00060041, 0x00000294, 0x00004C91, 0x00000C50,
0x00000A0B, 0x00005EF3, 0x0004003D, 0x00000017, 0x00003141, 0x00004C91,
0x00050080, 0x0000000B, 0x00002DA7, 0x00005EF3, 0x00000A0D, 0x00060041,
0x00000294, 0x000021D4, 0x00000C50, 0x00000A0B, 0x00002DA7, 0x0004003D,
0x00000017, 0x000019B2, 0x000021D4, 0x000300F7, 0x0000530F, 0x00000002,
0x000400FA, 0x00004C75, 0x0000577B, 0x0000530F, 0x000200F8, 0x0000577B,
0x000300F7, 0x000039F4, 0x00000000, 0x000F00FB, 0x000023AA, 0x000039F4,
0x00000000, 0x000055A0, 0x00000001, 0x000055A0, 0x00000002, 0x00002897,
0x00000003, 0x00002897, 0x0000000A, 0x00002897, 0x0000000C, 0x00002897,
0x000200F8, 0x00002897, 0x000500C7, 0x00000017, 0x00003BA9, 0x00003141,
0x00000930, 0x000500C7, 0x00000017, 0x00005C0C, 0x00003141, 0x000003A1,
0x000500C4, 0x00000017, 0x00006105, 0x00005C0C, 0x000003C5, 0x000500C5,
0x00000017, 0x00004655, 0x00003BA9, 0x00006105, 0x000500C2, 0x00000017,
0x00005A82, 0x00003141, 0x000003C5, 0x000500C7, 0x00000017, 0x0000192A,
0x00005A82, 0x000003A1, 0x000500C5, 0x00000017, 0x00003CE5, 0x00004655,
0x0000192A, 0x000500C7, 0x00000017, 0x00004C3F, 0x000019B2, 0x00000930,
0x000500C7, 0x00000017, 0x0000461A, 0x000019B2, 0x000003A1, 0x000500C4,
0x00000017, 0x00006106, 0x0000461A, 0x000003C5, 0x000500C5, 0x00000017,
0x00004656, 0x00004C3F, 0x00006106, 0x000500C2, 0x00000017, 0x00005A83,
0x000019B2, 0x000003C5, 0x000500C7, 0x00000017, 0x00001CE0, 0x00005A83,
0x000003A1, 0x000500C5, 0x00000017, 0x00001EBE, 0x00004656, 0x00001CE0,
0x000200F9, 0x000039F4, 0x000200F8, 0x000055A0, 0x000500C7, 0x00000017,
0x00004E95, 0x00003141, 0x0000072E, 0x000500C7, 0x00000017, 0x00005C0D,
0x00003141, 0x0000064B, 0x000500C4, 0x00000017, 0x00006107, 0x00005C0D,
0x000002ED, 0x000500C5, 0x00000017, 0x00004657, 0x00004E95, 0x00006107,
0x000500C2, 0x00000017, 0x00005A84, 0x00003141, 0x000002ED, 0x000500C7,
0x00000017, 0x0000192B, 0x00005A84, 0x0000064B, 0x000500C5, 0x00000017,
0x00003CE6, 0x00004657, 0x0000192B, 0x000500C7, 0x00000017, 0x00004C40,
0x000019B2, 0x0000072E, 0x000500C7, 0x00000017, 0x0000461B, 0x000019B2,
0x0000064B, 0x000500C4, 0x00000017, 0x00006108, 0x0000461B, 0x000002ED,
0x000500C5, 0x00000017, 0x00004658, 0x00004C40, 0x00006108, 0x000500C2,
0x00000017, 0x00005A85, 0x000019B2, 0x000002ED, 0x000500C7, 0x00000017,
0x00001CE1, 0x00005A85, 0x0000064B, 0x000500C5, 0x00000017, 0x00001EBF,
0x00004658, 0x00001CE1, 0x000200F9, 0x000039F4, 0x000200F8, 0x000039F4,
0x000900F5, 0x00000017, 0x00002BF3, 0x000019B2, 0x0000577B, 0x00001EBF,
0x000055A0, 0x00001EBE, 0x00002897, 0x000900F5, 0x00000017, 0x0000358D,
0x00003141, 0x0000577B, 0x00003CE6, 0x000055A0, 0x00003CE5, 0x00002897,
0x000200F9, 0x0000530F, 0x000200F8, 0x0000530F, 0x000700F5, 0x00000017,
0x000022F8, 0x000019B2, 0x00004944, 0x00002BF3, 0x000039F4, 0x000700F5,
0x00000017, 0x000055F9, 0x00003141, 0x00004944, 0x0000358D, 0x000039F4,
0x00050080, 0x00000011, 0x00001C97, 0x00002670, 0x000059EC, 0x000300F7,
0x000052F5, 0x00000002, 0x000400FA, 0x00005010, 0x0000294E, 0x0000537D,
0x000200F8, 0x0000537D, 0x0004007C, 0x00000012, 0x00002970, 0x00001C97,
0x00050051, 0x0000000C, 0x000042C2, 0x00002970, 0x00000000, 0x000500C3,
0x0000000C, 0x000024FD, 0x000042C2, 0x00000A1A, 0x00050051, 0x0000000C,
0x00002747, 0x00002970, 0x00000001, 0x000500C3, 0x0000000C, 0x0000405C,
0x00002747, 0x00000A1A, 0x000500C2, 0x0000000B, 0x00005B4D, 0x00003DA7,
0x00000A19, 0x0004007C, 0x0000000C, 0x000018AA, 0x00005B4D, 0x00050084,
0x0000000C, 0x00005347, 0x0000405C, 0x000018AA, 0x00050080, 0x0000000C,
0x00003F5E, 0x000024FD, 0x00005347, 0x000500C4, 0x0000000C, 0x00004A8E,
0x00003F5E, 0x00000A25, 0x000500C7, 0x0000000C, 0x00002AB6, 0x000042C2,
0x00000A20, 0x000500C7, 0x0000000C, 0x00003138, 0x00002747, 0x00000A35,
0x000500C4, 0x0000000C, 0x0000454D, 0x00003138, 0x00000A11, 0x00050080,
0x0000000C, 0x00004397, 0x00002AB6, 0x0000454D, 0x000500C4, 0x0000000C,
0x000018E7, 0x00004397, 0x00000A10, 0x000500C7, 0x0000000C, 0x000027B1,
0x000018E7, 0x000009DB, 0x000500C4, 0x0000000C, 0x00002F76, 0x000027B1,
0x00000A0E, 0x00050080, 0x0000000C, 0x00003C4B, 0x00004A8E, 0x00002F76,
0x000500C7, 0x0000000C, 0x00003397, 0x000018E7, 0x00000A38, 0x00050080,
0x0000000C, 0x00004D30, 0x00003C4B, 0x00003397, 0x000500C7, 0x0000000C,
0x000047B4, 0x00002747, 0x00000A0E, 0x000500C4, 0x0000000C, 0x0000544A,
0x000047B4, 0x00000A17, 0x00050080, 0x0000000C, 0x00004157, 0x00004D30,
0x0000544A, 0x000500C7, 0x0000000C, 0x00005022, 0x00004157, 0x0000040B,
0x000500C4, 0x0000000C, 0x00002416, 0x00005022, 0x00000A14, 0x000500C7,
0x0000000C, 0x00004A33, 0x00002747, 0x00000A3B, 0x000500C4, 0x0000000C,
0x00002F77, 0x00004A33, 0x00000A20, 0x00050080, 0x0000000C, 0x00004158,
0x00002416, 0x00002F77, 0x000500C7, 0x0000000C, 0x00004ADD, 0x00004157,
0x00000388, 0x000500C4, 0x0000000C, 0x0000544B, 0x00004ADD, 0x00000A11,
0x00050080, 0x0000000C, 0x00004144, 0x00004158, 0x0000544B, 0x000500C7,
0x0000000C, 0x00005083, 0x00002747, 0x00000A23, 0x000500C3, 0x0000000C,
0x000041BF, 0x00005083, 0x00000A11, 0x000500C3, 0x0000000C, 0x00001EEC,
0x000042C2, 0x00000A14, 0x00050080, 0x0000000C, 0x000035B6, 0x000041BF,
0x00001EEC, 0x000500C7, 0x0000000C, 0x00005453, 0x000035B6, 0x00000A14,
0x000500C4, 0x0000000C, 0x0000544C, 0x00005453, 0x00000A1D, 0x00050080,
0x0000000C, 0x00003C4C, 0x00004144, 0x0000544C, 0x000500C7, 0x0000000C,
0x00002E06, 0x00004157, 0x00000AC8, 0x00050080, 0x0000000C, 0x0000394F,
0x00003C4C, 0x00002E06, 0x0004007C, 0x0000000B, 0x0000566F, 0x0000394F,
0x000200F9, 0x000052F5, 0x000200F8, 0x0000294E, 0x00050051, 0x0000000B,
0x00004D9A, 0x00001C97, 0x00000000, 0x00050051, 0x0000000B, 0x00002C03,
0x00001C97, 0x00000001, 0x00060050, 0x00000014, 0x000020DE, 0x00004D9A,
0x00002C03, 0x000059FD, 0x0004007C, 0x00000016, 0x00004E9D, 0x000020DE,
0x00050051, 0x0000000C, 0x000028C6, 0x00004E9D, 0x00000001, 0x000500C3,
0x0000000C, 0x000024FE, 0x000028C6, 0x00000A17, 0x00050051, 0x0000000C,
0x00002748, 0x00004E9D, 0x00000002, 0x000500C3, 0x0000000C, 0x0000405D,
0x00002748, 0x00000A11, 0x000500C2, 0x0000000B, 0x00005B4E, 0x00006273,
0x00000A16, 0x0004007C, 0x0000000C, 0x000018AB, 0x00005B4E, 0x00050084,
0x0000000C, 0x00005321, 0x0000405D, 0x000018AB, 0x00050080, 0x0000000C,
0x00003B27, 0x000024FE, 0x00005321, 0x000500C2, 0x0000000B, 0x00002348,
0x00003DA7, 0x00000A19, 0x0004007C, 0x0000000C, 0x0000308B, 0x00002348,
0x00050084, 0x0000000C, 0x00002878, 0x00003B27, 0x0000308B, 0x00050051,
0x0000000C, 0x00006242, 0x00004E9D, 0x00000000, 0x000500C3, 0x0000000C,
0x00004FC7, 0x00006242, 0x00000A1A, 0x00050080, 0x0000000C, 0x000049FC,
0x00004FC7, 0x00002878, 0x000500C4, 0x0000000C, 0x0000225D, 0x000049FC,
0x00000A22, 0x000500C7, 0x0000000C, 0x00002CF6, 0x0000225D, 0x0000078B,
0x000500C4, 0x0000000C, 0x000049FA, 0x00002CF6, 0x00000A0E, 0x000500C7,
0x0000000C, 0x00004D38, 0x00006242, 0x00000A20, 0x000500C7, 0x0000000C,
0x00003139, 0x000028C6, 0x00000A1D, 0x000500C4, 0x0000000C, 0x0000454E,
0x00003139, 0x00000A11, 0x00050080, 0x0000000C, 0x0000434B, 0x00004D38,
0x0000454E, 0x000500C4, 0x0000000C, 0x00001B88, 0x0000434B, 0x00000A22,
0x000500C3, 0x0000000C, 0x00005DE3, 0x00001B88, 0x00000A1D, 0x000500C3,
0x0000000C, 0x00002215, 0x000028C6, 0x00000A14, 0x00050080, 0x0000000C,
0x000035A3, 0x00002215, 0x0000405D, 0x000500C7, 0x0000000C, 0x00005A0C,
0x000035A3, 0x00000A0E, 0x000500C3, 0x0000000C, 0x00004112, 0x00006242,
0x00000A14, 0x000500C4, 0x0000000C, 0x0000496A, 0x00005A0C, 0x00000A0E,
0x00050080, 0x0000000C, 0x000034BD, 0x00004112, 0x0000496A, 0x000500C7,
0x0000000C, 0x00004ADE, 0x000034BD, 0x00000A14, 0x000500C4, 0x0000000C,
0x0000544D, 0x00004ADE, 0x00000A0E, 0x00050080, 0x0000000C, 0x00003C4D,
0x00005A0C, 0x0000544D, 0x000500C7, 0x0000000C, 0x0000335E, 0x00005DE3,
0x000009DB, 0x00050080, 0x0000000C, 0x00004F70, 0x000049FA, 0x0000335E,
0x000500C4, 0x0000000C, 0x00005B31, 0x00004F70, 0x00000A0E, 0x000500C7,
0x0000000C, 0x00005AEA, 0x00005DE3, 0x00000A38, 0x00050080, 0x0000000C,
0x0000285C, 0x00005B31, 0x00005AEA, 0x000500C7, 0x0000000C, 0x000047B5,
0x00002748, 0x00000A14, 0x000500C4, 0x0000000C, 0x0000544E, 0x000047B5,
0x00000A22, 0x00050080, 0x0000000C, 0x00004159, 0x0000285C, 0x0000544E,
0x000500C7, 0x0000000C, 0x00004ADF, 0x000028C6, 0x00000A0E, 0x000500C4,
0x0000000C, 0x0000544F, 0x00004ADF, 0x00000A17, 0x00050080, 0x0000000C,
0x0000415A, 0x00004159, 0x0000544F, 0x000500C7, 0x0000000C, 0x00004FD6,
0x00003C4D, 0x00000A0E, 0x000500C4, 0x0000000C, 0x00002703, 0x00004FD6,
0x00000A14, 0x000500C3, 0x0000000C, 0x00003332, 0x0000415A, 0x00000A1D,
0x000500C7, 0x0000000C, 0x000036D6, 0x00003332, 0x00000A20, 0x00050080,
0x0000000C, 0x00003412, 0x00002703, 0x000036D6, 0x000500C4, 0x0000000C,
0x00005B32, 0x00003412, 0x00000A14, 0x000500C7, 0x0000000C, 0x00005AB1,
0x00003C4D, 0x00000A05, 0x00050080, 0x0000000C, 0x00002A9C, 0x00005B32,
0x00005AB1, 0x000500C4, 0x0000000C, 0x00005B33, 0x00002A9C, 0x00000A11,
0x000500C7, 0x0000000C, 0x00005AB2, 0x0000415A, 0x0000040B, 0x00050080,
0x0000000C, 0x00002A9D, 0x00005B33, 0x00005AB2, 0x000500C4, 0x0000000C,
0x00005B34, 0x00002A9D, 0x00000A14, 0x000500C7, 0x0000000C, 0x00005559,
0x0000415A, 0x00000AC8, 0x00050080, 0x0000000C, 0x00005EFA, 0x00005B34,
0x00005559, 0x0004007C, 0x0000000B, 0x00005670, 0x00005EFA, 0x000200F9,
0x000052F5, 0x000200F8, 0x000052F5, 0x000700F5, 0x0000000B, 0x00002C70,
0x00005670, 0x0000294E, 0x0000566F, 0x0000537D, 0x00050080, 0x0000000B,
0x00005088, 0x00002C70, 0x00005EAD, 0x000500C2, 0x0000000B, 0x000048F3,
0x00005088, 0x00000A16, 0x000500AA, 0x00000009, 0x00002EEA, 0x00004ADC,
0x00000A0D, 0x000500AA, 0x00000009, 0x00005776, 0x00004ADC, 0x00000A10,
0x000500A6, 0x00000009, 0x00005686, 0x00002EEA, 0x00005776, 0x000300F7,
0x00003463, 0x00000000, 0x000400FA, 0x00005686, 0x00002957, 0x00003463,
0x000200F8, 0x00002957, 0x000500C7, 0x00000017, 0x0000475F, 0x000055F9,
0x000009CE, 0x000500C4, 0x00000017, 0x000024D1, 0x0000475F, 0x0000013D,
0x000500C7, 0x00000017, 0x000050AC, 0x000055F9, 0x0000072E, 0x000500C2,
0x00000017, 0x0000448D, 0x000050AC, 0x0000013D, 0x000500C5, 0x00000017,
0x00003FF8, 0x000024D1, 0x0000448D, 0x000200F9, 0x00003463, 0x000200F8,
0x00003463, 0x000700F5, 0x00000017, 0x00005879, 0x000055F9, 0x000052F5,
0x00003FF8, 0x00002957, 0x000500AA, 0x00000009, 0x00004CB6, 0x00004ADC,
0x00000A13, 0x000500A6, 0x00000009, 0x00003B23, 0x00005776, 0x00004CB6,
0x000300F7, 0x00002C98, 0x00000000, 0x000400FA, 0x00003B23, 0x00002B38,
0x00002C98, 0x000200F8, 0x00002B38, 0x000500C4, 0x00000017, 0x00005E17,
0x00005879, 0x000002ED, 0x000500C2, 0x00000017, 0x00003BE7, 0x00005879,
0x000002ED, 0x000500C5, 0x00000017, 0x000029E8, 0x00005E17, 0x00003BE7,
0x000200F9, 0x00002C98, 0x000200F8, 0x00002C98, 0x000700F5, 0x00000017,
0x00004D37, 0x00005879, 0x00003463, 0x000029E8, 0x00002B38, 0x00060041,
0x00000294, 0x000060F9, 0x00001592, 0x00000A0B, 0x000048F3, 0x0003003E,
0x000060F9, 0x00004D37, 0x00050080, 0x0000000B, 0x000054B5, 0x000048F3,
0x00000A10, 0x000300F7, 0x00003A1A, 0x00000000, 0x000400FA, 0x00005686,
0x00002958, 0x00003A1A, 0x000200F8, 0x00002958, 0x000500C7, 0x00000017,
0x00004760, 0x000022F8, 0x000009CE, 0x000500C4, 0x00000017, 0x000024D2,
0x00004760, 0x0000013D, 0x000500C7, 0x00000017, 0x000050AD, 0x000022F8,
0x0000072E, 0x000500C2, 0x00000017, 0x0000448E, 0x000050AD, 0x0000013D,
0x000500C5, 0x00000017, 0x00003FF9, 0x000024D2, 0x0000448E, 0x000200F9,
0x00003A1A, 0x000200F8, 0x00003A1A, 0x000700F5, 0x00000017, 0x00002AAC,
0x000022F8, 0x00002C98, 0x00003FF9, 0x00002958, 0x000300F7, 0x00002C99,
0x00000000, 0x000400FA, 0x00003B23, 0x00002B39, 0x00002C99, 0x000200F8,
0x00002B39, 0x000500C4, 0x00000017, 0x00005E18, 0x00002AAC, 0x000002ED,
0x000500C2, 0x00000017, 0x00003BE8, 0x00002AAC, 0x000002ED, 0x000500C5,
0x00000017, 0x000029E9, 0x00005E18, 0x00003BE8, 0x000200F9, 0x00002C99,
0x000200F8, 0x00002C99, 0x000700F5, 0x00000017, 0x00004D39, 0x00002AAC,
0x00003A1A, 0x000029E9, 0x00002B39, 0x00060041, 0x00000294, 0x00001F75,
0x00001592, 0x00000A0B, 0x000054B5, 0x0003003E, 0x00001F75, 0x00004D39,
0x000200F9, 0x00004C7A, 0x000200F8, 0x00004C7A, 0x000100FD, 0x00010038,
};

View File

@ -0,0 +1,976 @@
// Generated with `xb buildshaders`.
#if 0
; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 10
; Bound: 25204
; Schema: 0
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %5663 "main" %gl_GlobalInvocationID
OpExecutionMode %5663 LocalSize 8 8 1
OpMemberDecorate %_struct_1017 0 Offset 0
OpMemberDecorate %_struct_1017 1 Offset 4
OpMemberDecorate %_struct_1017 2 Offset 8
OpMemberDecorate %_struct_1017 3 Offset 12
OpDecorate %_struct_1017 Block
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %_runtimearr_v4uint ArrayStride 16
OpMemberDecorate %_struct_1972 0 NonWritable
OpMemberDecorate %_struct_1972 0 Offset 0
OpDecorate %_struct_1972 BufferBlock
OpDecorate %3152 DescriptorSet 1
OpDecorate %3152 Binding 0
OpDecorate %_runtimearr_v4uint_0 ArrayStride 16
OpMemberDecorate %_struct_1973 0 NonReadable
OpMemberDecorate %_struct_1973 0 Offset 0
OpDecorate %_struct_1973 BufferBlock
OpDecorate %5522 DescriptorSet 0
OpDecorate %5522 Binding 0
OpDecorate %gl_WorkGroupSize BuiltIn WorkgroupSize
%void = OpTypeVoid
%1282 = OpTypeFunction %void
%bool = OpTypeBool
%v2bool = OpTypeVector %bool 2
%uint = OpTypeInt 32 0
%v2uint = OpTypeVector %uint 2
%v4uint = OpTypeVector %uint 4
%int = OpTypeInt 32 1
%v2int = OpTypeVector %int 2
%v3int = OpTypeVector %int 3
%v3uint = OpTypeVector %uint 3
%uint_1 = OpConstant %uint 1
%uint_2 = OpConstant %uint 2
%uint_16711935 = OpConstant %uint 16711935
%uint_8 = OpConstant %uint 8
%uint_4278255360 = OpConstant %uint 4278255360
%uint_3 = OpConstant %uint 3
%uint_16 = OpConstant %uint 16
%1837 = OpConstantComposite %v2uint %uint_2 %uint_1
%uint_0 = OpConstant %uint 0
%1807 = OpConstantComposite %v2uint %uint_0 %uint_0
%1828 = OpConstantComposite %v2uint %uint_1 %uint_1
%1816 = OpConstantComposite %v2uint %uint_1 %uint_0
%uint_80 = OpConstant %uint 80
%2719 = OpConstantComposite %v2uint %uint_80 %uint_16
%int_5 = OpConstant %int 5
%uint_5 = OpConstant %uint 5
%uint_7 = OpConstant %uint 7
%int_7 = OpConstant %int 7
%int_14 = OpConstant %int 14
%int_2 = OpConstant %int 2
%int_n16 = OpConstant %int -16
%int_1 = OpConstant %int 1
%int_15 = OpConstant %int 15
%int_4 = OpConstant %int 4
%int_n512 = OpConstant %int -512
%int_3 = OpConstant %int 3
%int_16 = OpConstant %int 16
%int_448 = OpConstant %int 448
%int_8 = OpConstant %int 8
%int_6 = OpConstant %int 6
%int_63 = OpConstant %int 63
%uint_4 = OpConstant %uint 4
%int_268435455 = OpConstant %int 268435455
%int_n2 = OpConstant %int -2
%uint_32 = OpConstant %uint 32
%_struct_1017 = OpTypeStruct %uint %uint %uint %uint
%_ptr_PushConstant__struct_1017 = OpTypePointer PushConstant %_struct_1017
%4495 = OpVariable %_ptr_PushConstant__struct_1017 PushConstant
%int_0 = OpConstant %int 0
%_ptr_PushConstant_uint = OpTypePointer PushConstant %uint
%uint_1023 = OpConstant %uint 1023
%uint_10 = OpConstant %uint 10
%uint_4096 = OpConstant %uint 4096
%uint_13 = OpConstant %uint 13
%uint_4095 = OpConstant %uint 4095
%uint_25 = OpConstant %uint 25
%uint_15 = OpConstant %uint 15
%uint_29 = OpConstant %uint 29
%uint_27 = OpConstant %uint 27
%2398 = OpConstantComposite %v2uint %uint_27 %uint_29
%uint_1073741824 = OpConstant %uint 1073741824
%false = OpConstantFalse %bool
%1855 = OpConstantComposite %v2uint %uint_0 %uint_4
%1856 = OpConstantComposite %v2uint %uint_4 %uint_1
%uint_2047 = OpConstant %uint 2047
%uint_16777216 = OpConstant %uint 16777216
%uint_20 = OpConstant %uint 20
%uint_24 = OpConstant %uint 24
%2275 = OpConstantComposite %v2uint %uint_20 %uint_24
%uint_28 = OpConstant %uint 28
%uint_255 = OpConstant %uint 255
%uint_3222273024 = OpConstant %uint 3222273024
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
%gl_GlobalInvocationID = OpVariable %_ptr_Input_v3uint Input
%_ptr_Input_uint = OpTypePointer Input %uint
%1834 = OpConstantComposite %v2uint %uint_3 %uint_0
%_runtimearr_v4uint = OpTypeRuntimeArray %v4uint
%_struct_1972 = OpTypeStruct %_runtimearr_v4uint
%_ptr_Uniform__struct_1972 = OpTypePointer Uniform %_struct_1972
%3152 = OpVariable %_ptr_Uniform__struct_1972 Uniform
%_ptr_Uniform_v4uint = OpTypePointer Uniform %v4uint
%_runtimearr_v4uint_0 = OpTypeRuntimeArray %v4uint
%_struct_1973 = OpTypeStruct %_runtimearr_v4uint_0
%_ptr_Uniform__struct_1973 = OpTypePointer Uniform %_struct_1973
%5522 = OpVariable %_ptr_Uniform__struct_1973 Uniform
%gl_WorkGroupSize = OpConstantComposite %v3uint %uint_8 %uint_8 %uint_1
%1870 = OpConstantComposite %v2uint %uint_3 %uint_3
%315 = OpConstantComposite %v2bool %false %false
%2122 = OpConstantComposite %v2uint %uint_15 %uint_15
%1838 = OpConstantComposite %v4uint %uint_4278255360 %uint_4278255360 %uint_4278255360 %uint_4278255360
%1611 = OpConstantComposite %v4uint %uint_255 %uint_255 %uint_255 %uint_255
%749 = OpConstantComposite %v4uint %uint_16 %uint_16 %uint_16 %uint_16
%2352 = OpConstantComposite %v4uint %uint_3222273024 %uint_3222273024 %uint_3222273024 %uint_3222273024
%929 = OpConstantComposite %v4uint %uint_1023 %uint_1023 %uint_1023 %uint_1023
%965 = OpConstantComposite %v4uint %uint_20 %uint_20 %uint_20 %uint_20
%uint_9 = OpConstant %uint 9
%2510 = OpConstantComposite %v4uint %uint_16711935 %uint_16711935 %uint_16711935 %uint_16711935
%317 = OpConstantComposite %v4uint %uint_8 %uint_8 %uint_8 %uint_8
%5663 = OpFunction %void None %1282
%15110 = OpLabel
OpSelectionMerge %19578 None
OpSwitch %uint_0 %11880
%11880 = OpLabel
%22245 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_0
%15627 = OpLoad %uint %22245
%22700 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_1
%20824 = OpLoad %uint %22700
%20561 = OpBitwiseAnd %uint %15627 %uint_1023
%20073 = OpShiftRightLogical %uint %15627 %uint_10
%7177 = OpBitwiseAnd %uint %20073 %uint_3
%23023 = OpBitwiseAnd %uint %15627 %uint_4096
%20495 = OpINotEqual %bool %23023 %uint_0
%10307 = OpShiftRightLogical %uint %15627 %uint_13
%24434 = OpBitwiseAnd %uint %10307 %uint_4095
%18836 = OpShiftRightLogical %uint %15627 %uint_25
%9130 = OpBitwiseAnd %uint %18836 %uint_15
%8871 = OpCompositeConstruct %v2uint %20824 %20824
%9633 = OpShiftRightLogical %v2uint %8871 %2398
%23601 = OpBitwiseAnd %v2uint %9633 %1870
%24030 = OpBitwiseAnd %uint %15627 %uint_1073741824
%12295 = OpINotEqual %bool %24030 %uint_0
OpSelectionMerge %6871 None
OpBranchConditional %12295 %16261 %10181
%16261 = OpLabel
%21463 = OpUGreaterThan %v2bool %23601 %1828
OpBranch %6871
%10181 = OpLabel
OpBranch %6871
%6871 = OpLabel
%19067 = OpPhi %v2bool %21463 %16261 %315 %10181
%6303 = OpShiftRightLogical %v2uint %8871 %1855
%10897 = OpShiftLeftLogical %v2uint %1828 %1856
%18608 = OpISub %v2uint %10897 %1828
%18743 = OpBitwiseAnd %v2uint %6303 %18608
%22404 = OpShiftLeftLogical %v2uint %18743 %1870
%23019 = OpIMul %v2uint %22404 %23601
%13123 = OpShiftRightLogical %uint %20824 %uint_5
%14785 = OpBitwiseAnd %uint %13123 %uint_2047
%8858 = OpCompositeExtract %uint %23601 0
%22993 = OpIMul %uint %14785 %8858
%20036 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_2
%18628 = OpLoad %uint %20036
%22701 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_3
%20919 = OpLoad %uint %22701
%19164 = OpBitwiseAnd %uint %18628 %uint_7
%21999 = OpBitwiseAnd %uint %18628 %uint_8
%20496 = OpINotEqual %bool %21999 %uint_0
%10402 = OpShiftRightLogical %uint %18628 %uint_4
%23037 = OpBitwiseAnd %uint %10402 %uint_7
%23118 = OpBitwiseAnd %uint %18628 %uint_16777216
%19573 = OpINotEqual %bool %23118 %uint_0
%8003 = OpBitwiseAnd %uint %20919 %uint_1023
%15783 = OpShiftLeftLogical %uint %8003 %uint_5
%22591 = OpShiftRightLogical %uint %20919 %uint_10
%19390 = OpBitwiseAnd %uint %22591 %uint_1023
%25203 = OpShiftLeftLogical %uint %19390 %uint_5
%10422 = OpCompositeConstruct %v2uint %20919 %20919
%10385 = OpShiftRightLogical %v2uint %10422 %2275
%23379 = OpBitwiseAnd %v2uint %10385 %2122
%16207 = OpShiftLeftLogical %v2uint %23379 %1870
%23020 = OpIMul %v2uint %16207 %23601
%12819 = OpShiftRightLogical %uint %20919 %uint_28
%16204 = OpBitwiseAnd %uint %12819 %uint_7
%20803 = OpAccessChain %_ptr_Input_uint %gl_GlobalInvocationID %uint_0
%8913 = OpLoad %uint %20803
%7405 = OpUGreaterThanEqual %bool %8913 %22993
OpSelectionMerge %17447 DontFlatten
OpBranchConditional %7405 %21992 %17447
%21992 = OpLabel
OpBranch %19578
%17447 = OpLabel
%14637 = OpLoad %v3uint %gl_GlobalInvocationID
%18505 = OpVectorShuffle %v2uint %14637 %14637 0 1
%9840 = OpShiftLeftLogical %v2uint %18505 %1834
%6697 = OpCompositeExtract %uint %9840 0
%21367 = OpCompositeExtract %uint %9840 1
%10237 = OpCompositeExtract %bool %19067 1
%11443 = OpSelect %uint %10237 %uint_1 %uint_0
%6891 = OpExtInst %uint %1 UMax %21367 %11443
%14763 = OpCompositeConstruct %v2uint %6697 %6891
%21036 = OpIAdd %v2uint %14763 %23019
%16075 = OpULessThanEqual %bool %16204 %uint_3
OpSelectionMerge %8490 None
OpBranchConditional %16075 %21993 %19371
%21993 = OpLabel
OpBranch %8490
%19371 = OpLabel
%15988 = OpIEqual %bool %16204 %uint_5
%8438 = OpSelect %uint %15988 %uint_2 %uint_0
OpBranch %8490
%8490 = OpLabel
%19300 = OpPhi %uint %16204 %21993 %8438 %19371
%16830 = OpCompositeConstruct %v2uint %7177 %7177
%11801 = OpUGreaterThanEqual %v2bool %16830 %1837
%19381 = OpSelect %v2uint %11801 %1828 %1807
%10986 = OpShiftLeftLogical %v2uint %21036 %19381
%24669 = OpCompositeConstruct %v2uint %19300 %19300
%9093 = OpShiftRightLogical %v2uint %24669 %1816
%16072 = OpBitwiseAnd %v2uint %9093 %1828
%20272 = OpIAdd %v2uint %10986 %16072
%21145 = OpIMul %v2uint %2719 %23601
%14725 = OpShiftRightLogical %v2uint %21145 %1807
%19799 = OpUDiv %v2uint %20272 %14725
%20390 = OpCompositeExtract %uint %19799 1
%11046 = OpIMul %uint %20390 %20561
%24665 = OpCompositeExtract %uint %19799 0
%21536 = OpIAdd %uint %11046 %24665
%8742 = OpIAdd %uint %24434 %21536
%6459 = OpIMul %v2uint %19799 %14725
%14279 = OpISub %v2uint %20272 %6459
OpSelectionMerge %18756 None
OpBranchConditional %20495 %11888 %18756
%11888 = OpLabel
%16985 = OpCompositeExtract %uint %14725 0
%13307 = OpShiftRightLogical %uint %16985 %uint_1
%22207 = OpCompositeExtract %uint %14279 0
%15197 = OpBitcast %int %22207
%15736 = OpUGreaterThanEqual %bool %22207 %13307
OpSelectionMerge %21237 None
OpBranchConditional %15736 %22228 %7940
%22228 = OpLabel
%22920 = OpBitcast %int %13307
%17199 = OpSNegate %int %22920
OpBranch %21237
%7940 = OpLabel
%16658 = OpBitcast %int %13307
OpBranch %21237
%21237 = OpLabel
%10046 = OpPhi %int %17199 %22228 %16658 %7940
%11983 = OpIAdd %int %15197 %10046
%17709 = OpBitcast %uint %11983
%21574 = OpCompositeInsert %v2uint %17709 %14279 0
OpBranch %18756
%18756 = OpLabel
%17360 = OpPhi %v2uint %14279 %8490 %21574 %21237
%24023 = OpCompositeExtract %uint %21145 0
%22303 = OpCompositeExtract %uint %21145 1
%13170 = OpIMul %uint %24023 %22303
%14551 = OpIMul %uint %8742 %13170
%6805 = OpCompositeExtract %uint %17360 1
%23526 = OpCompositeExtract %uint %14725 0
%22886 = OpIMul %uint %6805 %23526
%6886 = OpCompositeExtract %uint %17360 0
%9696 = OpIAdd %uint %22886 %6886
%19199 = OpShiftLeftLogical %uint %9696 %uint_0
%6269 = OpIAdd %uint %14551 %19199
%24307 = OpShiftRightLogical %uint %6269 %uint_2
%19601 = OpAccessChain %_ptr_Uniform_v4uint %3152 %int_0 %24307
%12609 = OpLoad %v4uint %19601
%11687 = OpIAdd %uint %24307 %uint_1
%24577 = OpAccessChain %_ptr_Uniform_v4uint %3152 %int_0 %11687
%16168 = OpLoad %v4uint %24577
%12971 = OpCompositeExtract %bool %19067 0
OpSelectionMerge %15698 None
OpBranchConditional %12971 %16607 %15698
%16607 = OpLabel
%18778 = OpIEqual %bool %6697 %uint_0
OpBranch %15698
%15698 = OpLabel
%10924 = OpPhi %bool %12971 %18756 %18778 %16607
OpSelectionMerge %21910 None
OpBranchConditional %10924 %9760 %21910
%9760 = OpLabel
%20482 = OpCompositeExtract %uint %12609 1
%14335 = OpCompositeInsert %v4uint %20482 %12609 0
OpBranch %21910
%21910 = OpLabel
%10925 = OpPhi %v4uint %12609 %15698 %14335 %9760
OpSelectionMerge %21263 DontFlatten
OpBranchConditional %19573 %22395 %21263
%22395 = OpLabel
OpSelectionMerge %14836 None
OpSwitch %9130 %14836 0 %10391 1 %10391 2 %21920 3 %21920 10 %21920 12 %21920
%10391 = OpLabel
%15273 = OpBitwiseAnd %v4uint %10925 %1838
%23564 = OpBitwiseAnd %v4uint %10925 %1611
%24837 = OpShiftLeftLogical %v4uint %23564 %749
%18005 = OpBitwiseOr %v4uint %15273 %24837
%23170 = OpShiftRightLogical %v4uint %10925 %749
%6442 = OpBitwiseAnd %v4uint %23170 %1611
%15589 = OpBitwiseOr %v4uint %18005 %6442
%19519 = OpBitwiseAnd %v4uint %16168 %1838
%17946 = OpBitwiseAnd %v4uint %16168 %1611
%24838 = OpShiftLeftLogical %v4uint %17946 %749
%18006 = OpBitwiseOr %v4uint %19519 %24838
%23171 = OpShiftRightLogical %v4uint %16168 %749
%7392 = OpBitwiseAnd %v4uint %23171 %1611
%7870 = OpBitwiseOr %v4uint %18006 %7392
OpBranch %14836
%21920 = OpLabel
%20117 = OpBitwiseAnd %v4uint %10925 %2352
%23565 = OpBitwiseAnd %v4uint %10925 %929
%24839 = OpShiftLeftLogical %v4uint %23565 %965
%18007 = OpBitwiseOr %v4uint %20117 %24839
%23172 = OpShiftRightLogical %v4uint %10925 %965
%6443 = OpBitwiseAnd %v4uint %23172 %929
%15590 = OpBitwiseOr %v4uint %18007 %6443
%19520 = OpBitwiseAnd %v4uint %16168 %2352
%17947 = OpBitwiseAnd %v4uint %16168 %929
%24840 = OpShiftLeftLogical %v4uint %17947 %965
%18008 = OpBitwiseOr %v4uint %19520 %24840
%23173 = OpShiftRightLogical %v4uint %16168 %965
%7393 = OpBitwiseAnd %v4uint %23173 %929
%7871 = OpBitwiseOr %v4uint %18008 %7393
OpBranch %14836
%14836 = OpLabel
%11251 = OpPhi %v4uint %16168 %22395 %7870 %10391 %7871 %21920
%13709 = OpPhi %v4uint %10925 %22395 %15589 %10391 %15590 %21920
OpBranch %21263
%21263 = OpLabel
%8952 = OpPhi %v4uint %16168 %21910 %11251 %14836
%18855 = OpPhi %v4uint %10925 %21910 %13709 %14836
%13755 = OpIAdd %v2uint %9840 %23020
%13244 = OpCompositeExtract %uint %13755 0
%9555 = OpCompositeExtract %uint %13755 1
%11053 = OpShiftRightLogical %uint %13244 %uint_2
%7832 = OpCompositeConstruct %v2uint %11053 %9555
%24920 = OpUDiv %v2uint %7832 %23601
%13932 = OpCompositeExtract %uint %24920 0
%19770 = OpShiftLeftLogical %uint %13932 %uint_2
%24251 = OpCompositeExtract %uint %24920 1
%21452 = OpCompositeConstruct %v3uint %19770 %24251 %23037
OpSelectionMerge %21313 DontFlatten
OpBranchConditional %20496 %21373 %11737
%21373 = OpLabel
%10608 = OpBitcast %v3int %21452
%17090 = OpCompositeExtract %int %10608 1
%9469 = OpShiftRightArithmetic %int %17090 %int_4
%10055 = OpCompositeExtract %int %10608 2
%16476 = OpShiftRightArithmetic %int %10055 %int_2
%23373 = OpShiftRightLogical %uint %25203 %uint_4
%6314 = OpBitcast %int %23373
%21281 = OpIMul %int %16476 %6314
%15143 = OpIAdd %int %9469 %21281
%9032 = OpShiftRightLogical %uint %15783 %uint_5
%12427 = OpBitcast %int %9032
%10360 = OpIMul %int %15143 %12427
%25154 = OpCompositeExtract %int %10608 0
%20423 = OpShiftRightArithmetic %int %25154 %int_5
%18940 = OpIAdd %int %20423 %10360
%8797 = OpShiftLeftLogical %int %18940 %uint_8
%11510 = OpBitwiseAnd %int %8797 %int_268435455
%18938 = OpShiftLeftLogical %int %11510 %int_1
%19768 = OpBitwiseAnd %int %25154 %int_7
%12600 = OpBitwiseAnd %int %17090 %int_6
%17741 = OpShiftLeftLogical %int %12600 %int_2
%17227 = OpIAdd %int %19768 %17741
%7048 = OpShiftLeftLogical %int %17227 %uint_8
%24035 = OpShiftRightArithmetic %int %7048 %int_6
%8725 = OpShiftRightArithmetic %int %17090 %int_3
%13731 = OpIAdd %int %8725 %16476
%23052 = OpBitwiseAnd %int %13731 %int_1
%16659 = OpShiftRightArithmetic %int %25154 %int_3
%18794 = OpShiftLeftLogical %int %23052 %int_1
%13501 = OpIAdd %int %16659 %18794
%19165 = OpBitwiseAnd %int %13501 %int_3
%21578 = OpShiftLeftLogical %int %19165 %int_1
%15435 = OpIAdd %int %23052 %21578
%13150 = OpBitwiseAnd %int %24035 %int_n16
%20336 = OpIAdd %int %18938 %13150
%23345 = OpShiftLeftLogical %int %20336 %int_1
%23274 = OpBitwiseAnd %int %24035 %int_15
%10332 = OpIAdd %int %23345 %23274
%18356 = OpBitwiseAnd %int %10055 %int_3
%21579 = OpShiftLeftLogical %int %18356 %uint_8
%16727 = OpIAdd %int %10332 %21579
%19166 = OpBitwiseAnd %int %17090 %int_1
%21580 = OpShiftLeftLogical %int %19166 %int_4
%16728 = OpIAdd %int %16727 %21580
%20438 = OpBitwiseAnd %int %15435 %int_1
%9987 = OpShiftLeftLogical %int %20438 %int_3
%13106 = OpShiftRightArithmetic %int %16728 %int_6
%14038 = OpBitwiseAnd %int %13106 %int_7
%13330 = OpIAdd %int %9987 %14038
%23346 = OpShiftLeftLogical %int %13330 %int_3
%23217 = OpBitwiseAnd %int %15435 %int_n2
%10908 = OpIAdd %int %23346 %23217
%23347 = OpShiftLeftLogical %int %10908 %int_2
%23218 = OpBitwiseAnd %int %16728 %int_n512
%10909 = OpIAdd %int %23347 %23218
%23348 = OpShiftLeftLogical %int %10909 %int_3
%21849 = OpBitwiseAnd %int %16728 %int_63
%24314 = OpIAdd %int %23348 %21849
%22127 = OpBitcast %uint %24314
OpBranch %21313
%11737 = OpLabel
%9761 = OpVectorShuffle %v2uint %21452 %21452 0 1
%22991 = OpBitcast %v2int %9761
%6403 = OpCompositeExtract %int %22991 0
%9470 = OpShiftRightArithmetic %int %6403 %int_5
%10056 = OpCompositeExtract %int %22991 1
%16477 = OpShiftRightArithmetic %int %10056 %int_5
%23374 = OpShiftRightLogical %uint %15783 %uint_5
%6315 = OpBitcast %int %23374
%21319 = OpIMul %int %16477 %6315
%16222 = OpIAdd %int %9470 %21319
%19086 = OpShiftLeftLogical %int %16222 %uint_9
%10934 = OpBitwiseAnd %int %6403 %int_7
%12601 = OpBitwiseAnd %int %10056 %int_14
%17742 = OpShiftLeftLogical %int %12601 %int_2
%17303 = OpIAdd %int %10934 %17742
%6375 = OpShiftLeftLogical %int %17303 %uint_2
%10161 = OpBitwiseAnd %int %6375 %int_n16
%12150 = OpShiftLeftLogical %int %10161 %int_1
%15436 = OpIAdd %int %19086 %12150
%13207 = OpBitwiseAnd %int %6375 %int_15
%19760 = OpIAdd %int %15436 %13207
%18357 = OpBitwiseAnd %int %10056 %int_1
%21581 = OpShiftLeftLogical %int %18357 %int_4
%16729 = OpIAdd %int %19760 %21581
%20514 = OpBitwiseAnd %int %16729 %int_n512
%9238 = OpShiftLeftLogical %int %20514 %int_3
%18995 = OpBitwiseAnd %int %10056 %int_16
%12151 = OpShiftLeftLogical %int %18995 %int_7
%16730 = OpIAdd %int %9238 %12151
%19167 = OpBitwiseAnd %int %16729 %int_448
%21582 = OpShiftLeftLogical %int %19167 %int_2
%16708 = OpIAdd %int %16730 %21582
%20611 = OpBitwiseAnd %int %10056 %int_8
%16831 = OpShiftRightArithmetic %int %20611 %int_2
%7916 = OpShiftRightArithmetic %int %6403 %int_3
%13750 = OpIAdd %int %16831 %7916
%21587 = OpBitwiseAnd %int %13750 %int_3
%21583 = OpShiftLeftLogical %int %21587 %int_6
%15437 = OpIAdd %int %16708 %21583
%11782 = OpBitwiseAnd %int %16729 %int_63
%14671 = OpIAdd %int %15437 %11782
%22128 = OpBitcast %uint %14671
OpBranch %21313
%21313 = OpLabel
%9468 = OpPhi %uint %22127 %21373 %22128 %11737
%16296 = OpIMul %v2uint %24920 %23601
%16262 = OpISub %v2uint %7832 %16296
%17551 = OpCompositeExtract %uint %23601 1
%23632 = OpIMul %uint %8858 %17551
%15520 = OpIMul %uint %9468 %23632
%16084 = OpCompositeExtract %uint %16262 0
%15890 = OpIMul %uint %16084 %17551
%6887 = OpCompositeExtract %uint %16262 1
%11045 = OpIAdd %uint %15890 %6887
%24733 = OpShiftLeftLogical %uint %11045 %uint_2
%23219 = OpBitwiseAnd %uint %13244 %uint_3
%9559 = OpIAdd %uint %24733 %23219
%17811 = OpShiftLeftLogical %uint %9559 %uint_2
%8264 = OpIAdd %uint %15520 %17811
%8213 = OpShiftRightLogical %uint %8264 %uint_4
%12010 = OpIEqual %bool %19164 %uint_1
%22390 = OpIEqual %bool %19164 %uint_2
%22150 = OpLogicalOr %bool %12010 %22390
OpSelectionMerge %13411 None
OpBranchConditional %22150 %10583 %13411
%10583 = OpLabel
%18271 = OpBitwiseAnd %v4uint %18855 %2510
%9425 = OpShiftLeftLogical %v4uint %18271 %317
%20652 = OpBitwiseAnd %v4uint %18855 %1838
%17549 = OpShiftRightLogical %v4uint %20652 %317
%16376 = OpBitwiseOr %v4uint %9425 %17549
OpBranch %13411
%13411 = OpLabel
%22649 = OpPhi %v4uint %18855 %21313 %16376 %10583
%19638 = OpIEqual %bool %19164 %uint_3
%15139 = OpLogicalOr %bool %22390 %19638
OpSelectionMerge %11416 None
OpBranchConditional %15139 %11064 %11416
%11064 = OpLabel
%24087 = OpShiftLeftLogical %v4uint %22649 %749
%15335 = OpShiftRightLogical %v4uint %22649 %749
%10728 = OpBitwiseOr %v4uint %24087 %15335
OpBranch %11416
%11416 = OpLabel
%19767 = OpPhi %v4uint %22649 %13411 %10728 %11064
%6590 = OpAccessChain %_ptr_Uniform_v4uint %5522 %int_0 %8213
OpStore %6590 %19767
%23542 = OpUGreaterThan %bool %8858 %uint_1
OpSelectionMerge %24764 DontFlatten
OpBranchConditional %23542 %10270 %20628
%10270 = OpLabel
%11476 = OpShiftRightLogical %uint %6697 %uint_2
%7937 = OpUDiv %uint %11476 %8858
%16891 = OpIMul %uint %7937 %8858
%12657 = OpISub %uint %11476 %16891
%9511 = OpIAdd %uint %12657 %uint_1
%13375 = OpIEqual %bool %9511 %8858
OpSelectionMerge %7917 None
OpBranchConditional %13375 %22174 %8593
%22174 = OpLabel
%19289 = OpIMul %uint %uint_32 %8858
%21519 = OpShiftLeftLogical %uint %12657 %uint_4
%18757 = OpISub %uint %19289 %21519
OpBranch %7917
%8593 = OpLabel
OpBranch %7917
%7917 = OpLabel
%10540 = OpPhi %uint %18757 %22174 %uint_16 %8593
OpBranch %24764
%20628 = OpLabel
OpBranch %24764
%24764 = OpLabel
%10684 = OpPhi %uint %10540 %7917 %uint_32 %20628
%18731 = OpIMul %uint %10684 %17551
%19951 = OpShiftRightLogical %uint %18731 %uint_4
%23410 = OpIAdd %uint %8213 %19951
OpSelectionMerge %14874 None
OpBranchConditional %22150 %10584 %14874
%10584 = OpLabel
%18272 = OpBitwiseAnd %v4uint %8952 %2510
%9426 = OpShiftLeftLogical %v4uint %18272 %317
%20653 = OpBitwiseAnd %v4uint %8952 %1838
%17550 = OpShiftRightLogical %v4uint %20653 %317
%16377 = OpBitwiseOr %v4uint %9426 %17550
OpBranch %14874
%14874 = OpLabel
%10926 = OpPhi %v4uint %8952 %24764 %16377 %10584
OpSelectionMerge %11417 None
OpBranchConditional %15139 %11065 %11417
%11065 = OpLabel
%24088 = OpShiftLeftLogical %v4uint %10926 %749
%15336 = OpShiftRightLogical %v4uint %10926 %749
%10729 = OpBitwiseOr %v4uint %24088 %15336
OpBranch %11417
%11417 = OpLabel
%19769 = OpPhi %v4uint %10926 %14874 %10729 %11065
%8053 = OpAccessChain %_ptr_Uniform_v4uint %5522 %int_0 %23410
OpStore %8053 %19769
OpBranch %19578
%19578 = OpLabel
OpReturn
OpFunctionEnd
#endif
const uint32_t resolve_fast_32bpp_1x2xmsaa_scaled_cs[] = {
0x07230203, 0x00010000, 0x0008000A, 0x00006274, 0x00000000, 0x00020011,
0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E,
0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0006000F, 0x00000005,
0x0000161F, 0x6E69616D, 0x00000000, 0x00000F48, 0x00060010, 0x0000161F,
0x00000011, 0x00000008, 0x00000008, 0x00000001, 0x00050048, 0x000003F9,
0x00000000, 0x00000023, 0x00000000, 0x00050048, 0x000003F9, 0x00000001,
0x00000023, 0x00000004, 0x00050048, 0x000003F9, 0x00000002, 0x00000023,
0x00000008, 0x00050048, 0x000003F9, 0x00000003, 0x00000023, 0x0000000C,
0x00030047, 0x000003F9, 0x00000002, 0x00040047, 0x00000F48, 0x0000000B,
0x0000001C, 0x00040047, 0x000007DC, 0x00000006, 0x00000010, 0x00040048,
0x000007B4, 0x00000000, 0x00000018, 0x00050048, 0x000007B4, 0x00000000,
0x00000023, 0x00000000, 0x00030047, 0x000007B4, 0x00000003, 0x00040047,
0x00000C50, 0x00000022, 0x00000001, 0x00040047, 0x00000C50, 0x00000021,
0x00000000, 0x00040047, 0x000007DD, 0x00000006, 0x00000010, 0x00040048,
0x000007B5, 0x00000000, 0x00000019, 0x00050048, 0x000007B5, 0x00000000,
0x00000023, 0x00000000, 0x00030047, 0x000007B5, 0x00000003, 0x00040047,
0x00001592, 0x00000022, 0x00000000, 0x00040047, 0x00001592, 0x00000021,
0x00000000, 0x00040047, 0x00000AC7, 0x0000000B, 0x00000019, 0x00020013,
0x00000008, 0x00030021, 0x00000502, 0x00000008, 0x00020014, 0x00000009,
0x00040017, 0x0000000F, 0x00000009, 0x00000002, 0x00040015, 0x0000000B,
0x00000020, 0x00000000, 0x00040017, 0x00000011, 0x0000000B, 0x00000002,
0x00040017, 0x00000017, 0x0000000B, 0x00000004, 0x00040015, 0x0000000C,
0x00000020, 0x00000001, 0x00040017, 0x00000012, 0x0000000C, 0x00000002,
0x00040017, 0x00000016, 0x0000000C, 0x00000003, 0x00040017, 0x00000014,
0x0000000B, 0x00000003, 0x0004002B, 0x0000000B, 0x00000A0D, 0x00000001,
0x0004002B, 0x0000000B, 0x00000A10, 0x00000002, 0x0004002B, 0x0000000B,
0x000008A6, 0x00FF00FF, 0x0004002B, 0x0000000B, 0x00000A22, 0x00000008,
0x0004002B, 0x0000000B, 0x000005FD, 0xFF00FF00, 0x0004002B, 0x0000000B,
0x00000A13, 0x00000003, 0x0004002B, 0x0000000B, 0x00000A3A, 0x00000010,
0x0005002C, 0x00000011, 0x0000072D, 0x00000A10, 0x00000A0D, 0x0004002B,
0x0000000B, 0x00000A0A, 0x00000000, 0x0005002C, 0x00000011, 0x0000070F,
0x00000A0A, 0x00000A0A, 0x0005002C, 0x00000011, 0x00000724, 0x00000A0D,
0x00000A0D, 0x0005002C, 0x00000011, 0x00000718, 0x00000A0D, 0x00000A0A,
0x0004002B, 0x0000000B, 0x00000AFA, 0x00000050, 0x0005002C, 0x00000011,
0x00000A9F, 0x00000AFA, 0x00000A3A, 0x0004002B, 0x0000000C, 0x00000A1A,
0x00000005, 0x0004002B, 0x0000000B, 0x00000A19, 0x00000005, 0x0004002B,
0x0000000B, 0x00000A1F, 0x00000007, 0x0004002B, 0x0000000C, 0x00000A20,
0x00000007, 0x0004002B, 0x0000000C, 0x00000A35, 0x0000000E, 0x0004002B,
0x0000000C, 0x00000A11, 0x00000002, 0x0004002B, 0x0000000C, 0x000009DB,
0xFFFFFFF0, 0x0004002B, 0x0000000C, 0x00000A0E, 0x00000001, 0x0004002B,
0x0000000C, 0x00000A38, 0x0000000F, 0x0004002B, 0x0000000C, 0x00000A17,
0x00000004, 0x0004002B, 0x0000000C, 0x0000040B, 0xFFFFFE00, 0x0004002B,
0x0000000C, 0x00000A14, 0x00000003, 0x0004002B, 0x0000000C, 0x00000A3B,
0x00000010, 0x0004002B, 0x0000000C, 0x00000388, 0x000001C0, 0x0004002B,
0x0000000C, 0x00000A23, 0x00000008, 0x0004002B, 0x0000000C, 0x00000A1D,
0x00000006, 0x0004002B, 0x0000000C, 0x00000AC8, 0x0000003F, 0x0004002B,
0x0000000B, 0x00000A16, 0x00000004, 0x0004002B, 0x0000000C, 0x0000078B,
0x0FFFFFFF, 0x0004002B, 0x0000000C, 0x00000A05, 0xFFFFFFFE, 0x0004002B,
0x0000000B, 0x00000A6A, 0x00000020, 0x0006001E, 0x000003F9, 0x0000000B,
0x0000000B, 0x0000000B, 0x0000000B, 0x00040020, 0x00000676, 0x00000009,
0x000003F9, 0x0004003B, 0x00000676, 0x0000118F, 0x00000009, 0x0004002B,
0x0000000C, 0x00000A0B, 0x00000000, 0x00040020, 0x00000288, 0x00000009,
0x0000000B, 0x0004002B, 0x0000000B, 0x00000A44, 0x000003FF, 0x0004002B,
0x0000000B, 0x00000A28, 0x0000000A, 0x0004002B, 0x0000000B, 0x00000AFE,
0x00001000, 0x0004002B, 0x0000000B, 0x00000A31, 0x0000000D, 0x0004002B,
0x0000000B, 0x00000AFB, 0x00000FFF, 0x0004002B, 0x0000000B, 0x00000A55,
0x00000019, 0x0004002B, 0x0000000B, 0x00000A37, 0x0000000F, 0x0004002B,
0x0000000B, 0x00000A61, 0x0000001D, 0x0004002B, 0x0000000B, 0x00000A5B,
0x0000001B, 0x0005002C, 0x00000011, 0x0000095E, 0x00000A5B, 0x00000A61,
0x0004002B, 0x0000000B, 0x00000018, 0x40000000, 0x0003002A, 0x00000009,
0x00000787, 0x0005002C, 0x00000011, 0x0000073F, 0x00000A0A, 0x00000A16,
0x0005002C, 0x00000011, 0x00000740, 0x00000A16, 0x00000A0D, 0x0004002B,
0x0000000B, 0x00000A81, 0x000007FF, 0x0004002B, 0x0000000B, 0x00000926,
0x01000000, 0x0004002B, 0x0000000B, 0x00000A46, 0x00000014, 0x0004002B,
0x0000000B, 0x00000A52, 0x00000018, 0x0005002C, 0x00000011, 0x000008E3,
0x00000A46, 0x00000A52, 0x0004002B, 0x0000000B, 0x00000A5E, 0x0000001C,
0x0004002B, 0x0000000B, 0x00000144, 0x000000FF, 0x0004002B, 0x0000000B,
0x00000B54, 0xC00FFC00, 0x00040020, 0x00000291, 0x00000001, 0x00000014,
0x0004003B, 0x00000291, 0x00000F48, 0x00000001, 0x00040020, 0x00000289,
0x00000001, 0x0000000B, 0x0005002C, 0x00000011, 0x0000072A, 0x00000A13,
0x00000A0A, 0x0003001D, 0x000007DC, 0x00000017, 0x0003001E, 0x000007B4,
0x000007DC, 0x00040020, 0x00000A32, 0x00000002, 0x000007B4, 0x0004003B,
0x00000A32, 0x00000C50, 0x00000002, 0x00040020, 0x00000294, 0x00000002,
0x00000017, 0x0003001D, 0x000007DD, 0x00000017, 0x0003001E, 0x000007B5,
0x000007DD, 0x00040020, 0x00000A33, 0x00000002, 0x000007B5, 0x0004003B,
0x00000A33, 0x00001592, 0x00000002, 0x0006002C, 0x00000014, 0x00000AC7,
0x00000A22, 0x00000A22, 0x00000A0D, 0x0005002C, 0x00000011, 0x0000074E,
0x00000A13, 0x00000A13, 0x0005002C, 0x0000000F, 0x0000013B, 0x00000787,
0x00000787, 0x0005002C, 0x00000011, 0x0000084A, 0x00000A37, 0x00000A37,
0x0007002C, 0x00000017, 0x0000072E, 0x000005FD, 0x000005FD, 0x000005FD,
0x000005FD, 0x0007002C, 0x00000017, 0x0000064B, 0x00000144, 0x00000144,
0x00000144, 0x00000144, 0x0007002C, 0x00000017, 0x000002ED, 0x00000A3A,
0x00000A3A, 0x00000A3A, 0x00000A3A, 0x0007002C, 0x00000017, 0x00000930,
0x00000B54, 0x00000B54, 0x00000B54, 0x00000B54, 0x0007002C, 0x00000017,
0x000003A1, 0x00000A44, 0x00000A44, 0x00000A44, 0x00000A44, 0x0007002C,
0x00000017, 0x000003C5, 0x00000A46, 0x00000A46, 0x00000A46, 0x00000A46,
0x0004002B, 0x0000000B, 0x00000A25, 0x00000009, 0x0007002C, 0x00000017,
0x000009CE, 0x000008A6, 0x000008A6, 0x000008A6, 0x000008A6, 0x0007002C,
0x00000017, 0x0000013D, 0x00000A22, 0x00000A22, 0x00000A22, 0x00000A22,
0x00050036, 0x00000008, 0x0000161F, 0x00000000, 0x00000502, 0x000200F8,
0x00003B06, 0x000300F7, 0x00004C7A, 0x00000000, 0x000300FB, 0x00000A0A,
0x00002E68, 0x000200F8, 0x00002E68, 0x00050041, 0x00000288, 0x000056E5,
0x0000118F, 0x00000A0B, 0x0004003D, 0x0000000B, 0x00003D0B, 0x000056E5,
0x00050041, 0x00000288, 0x000058AC, 0x0000118F, 0x00000A0E, 0x0004003D,
0x0000000B, 0x00005158, 0x000058AC, 0x000500C7, 0x0000000B, 0x00005051,
0x00003D0B, 0x00000A44, 0x000500C2, 0x0000000B, 0x00004E69, 0x00003D0B,
0x00000A28, 0x000500C7, 0x0000000B, 0x00001C09, 0x00004E69, 0x00000A13,
0x000500C7, 0x0000000B, 0x000059EF, 0x00003D0B, 0x00000AFE, 0x000500AB,
0x00000009, 0x0000500F, 0x000059EF, 0x00000A0A, 0x000500C2, 0x0000000B,
0x00002843, 0x00003D0B, 0x00000A31, 0x000500C7, 0x0000000B, 0x00005F72,
0x00002843, 0x00000AFB, 0x000500C2, 0x0000000B, 0x00004994, 0x00003D0B,
0x00000A55, 0x000500C7, 0x0000000B, 0x000023AA, 0x00004994, 0x00000A37,
0x00050050, 0x00000011, 0x000022A7, 0x00005158, 0x00005158, 0x000500C2,
0x00000011, 0x000025A1, 0x000022A7, 0x0000095E, 0x000500C7, 0x00000011,
0x00005C31, 0x000025A1, 0x0000074E, 0x000500C7, 0x0000000B, 0x00005DDE,
0x00003D0B, 0x00000018, 0x000500AB, 0x00000009, 0x00003007, 0x00005DDE,
0x00000A0A, 0x000300F7, 0x00001AD7, 0x00000000, 0x000400FA, 0x00003007,
0x00003F85, 0x000027C5, 0x000200F8, 0x00003F85, 0x000500AC, 0x0000000F,
0x000053D7, 0x00005C31, 0x00000724, 0x000200F9, 0x00001AD7, 0x000200F8,
0x000027C5, 0x000200F9, 0x00001AD7, 0x000200F8, 0x00001AD7, 0x000700F5,
0x0000000F, 0x00004A7B, 0x000053D7, 0x00003F85, 0x0000013B, 0x000027C5,
0x000500C2, 0x00000011, 0x0000189F, 0x000022A7, 0x0000073F, 0x000500C4,
0x00000011, 0x00002A91, 0x00000724, 0x00000740, 0x00050082, 0x00000011,
0x000048B0, 0x00002A91, 0x00000724, 0x000500C7, 0x00000011, 0x00004937,
0x0000189F, 0x000048B0, 0x000500C4, 0x00000011, 0x00005784, 0x00004937,
0x0000074E, 0x00050084, 0x00000011, 0x000059EB, 0x00005784, 0x00005C31,
0x000500C2, 0x0000000B, 0x00003343, 0x00005158, 0x00000A19, 0x000500C7,
0x0000000B, 0x000039C1, 0x00003343, 0x00000A81, 0x00050051, 0x0000000B,
0x0000229A, 0x00005C31, 0x00000000, 0x00050084, 0x0000000B, 0x000059D1,
0x000039C1, 0x0000229A, 0x00050041, 0x00000288, 0x00004E44, 0x0000118F,
0x00000A11, 0x0004003D, 0x0000000B, 0x000048C4, 0x00004E44, 0x00050041,
0x00000288, 0x000058AD, 0x0000118F, 0x00000A14, 0x0004003D, 0x0000000B,
0x000051B7, 0x000058AD, 0x000500C7, 0x0000000B, 0x00004ADC, 0x000048C4,
0x00000A1F, 0x000500C7, 0x0000000B, 0x000055EF, 0x000048C4, 0x00000A22,
0x000500AB, 0x00000009, 0x00005010, 0x000055EF, 0x00000A0A, 0x000500C2,
0x0000000B, 0x000028A2, 0x000048C4, 0x00000A16, 0x000500C7, 0x0000000B,
0x000059FD, 0x000028A2, 0x00000A1F, 0x000500C7, 0x0000000B, 0x00005A4E,
0x000048C4, 0x00000926, 0x000500AB, 0x00000009, 0x00004C75, 0x00005A4E,
0x00000A0A, 0x000500C7, 0x0000000B, 0x00001F43, 0x000051B7, 0x00000A44,
0x000500C4, 0x0000000B, 0x00003DA7, 0x00001F43, 0x00000A19, 0x000500C2,
0x0000000B, 0x0000583F, 0x000051B7, 0x00000A28, 0x000500C7, 0x0000000B,
0x00004BBE, 0x0000583F, 0x00000A44, 0x000500C4, 0x0000000B, 0x00006273,
0x00004BBE, 0x00000A19, 0x00050050, 0x00000011, 0x000028B6, 0x000051B7,
0x000051B7, 0x000500C2, 0x00000011, 0x00002891, 0x000028B6, 0x000008E3,
0x000500C7, 0x00000011, 0x00005B53, 0x00002891, 0x0000084A, 0x000500C4,
0x00000011, 0x00003F4F, 0x00005B53, 0x0000074E, 0x00050084, 0x00000011,
0x000059EC, 0x00003F4F, 0x00005C31, 0x000500C2, 0x0000000B, 0x00003213,
0x000051B7, 0x00000A5E, 0x000500C7, 0x0000000B, 0x00003F4C, 0x00003213,
0x00000A1F, 0x00050041, 0x00000289, 0x00005143, 0x00000F48, 0x00000A0A,
0x0004003D, 0x0000000B, 0x000022D1, 0x00005143, 0x000500AE, 0x00000009,
0x00001CED, 0x000022D1, 0x000059D1, 0x000300F7, 0x00004427, 0x00000002,
0x000400FA, 0x00001CED, 0x000055E8, 0x00004427, 0x000200F8, 0x000055E8,
0x000200F9, 0x00004C7A, 0x000200F8, 0x00004427, 0x0004003D, 0x00000014,
0x0000392D, 0x00000F48, 0x0007004F, 0x00000011, 0x00004849, 0x0000392D,
0x0000392D, 0x00000000, 0x00000001, 0x000500C4, 0x00000011, 0x00002670,
0x00004849, 0x0000072A, 0x00050051, 0x0000000B, 0x00001A29, 0x00002670,
0x00000000, 0x00050051, 0x0000000B, 0x00005377, 0x00002670, 0x00000001,
0x00050051, 0x00000009, 0x000027FD, 0x00004A7B, 0x00000001, 0x000600A9,
0x0000000B, 0x00002CB3, 0x000027FD, 0x00000A0D, 0x00000A0A, 0x0007000C,
0x0000000B, 0x00001AEB, 0x00000001, 0x00000029, 0x00005377, 0x00002CB3,
0x00050050, 0x00000011, 0x000039AB, 0x00001A29, 0x00001AEB, 0x00050080,
0x00000011, 0x0000522C, 0x000039AB, 0x000059EB, 0x000500B2, 0x00000009,
0x00003ECB, 0x00003F4C, 0x00000A13, 0x000300F7, 0x0000212A, 0x00000000,
0x000400FA, 0x00003ECB, 0x000055E9, 0x00004BAB, 0x000200F8, 0x000055E9,
0x000200F9, 0x0000212A, 0x000200F8, 0x00004BAB, 0x000500AA, 0x00000009,
0x00003E74, 0x00003F4C, 0x00000A19, 0x000600A9, 0x0000000B, 0x000020F6,
0x00003E74, 0x00000A10, 0x00000A0A, 0x000200F9, 0x0000212A, 0x000200F8,
0x0000212A, 0x000700F5, 0x0000000B, 0x00004B64, 0x00003F4C, 0x000055E9,
0x000020F6, 0x00004BAB, 0x00050050, 0x00000011, 0x000041BE, 0x00001C09,
0x00001C09, 0x000500AE, 0x0000000F, 0x00002E19, 0x000041BE, 0x0000072D,
0x000600A9, 0x00000011, 0x00004BB5, 0x00002E19, 0x00000724, 0x0000070F,
0x000500C4, 0x00000011, 0x00002AEA, 0x0000522C, 0x00004BB5, 0x00050050,
0x00000011, 0x0000605D, 0x00004B64, 0x00004B64, 0x000500C2, 0x00000011,
0x00002385, 0x0000605D, 0x00000718, 0x000500C7, 0x00000011, 0x00003EC8,
0x00002385, 0x00000724, 0x00050080, 0x00000011, 0x00004F30, 0x00002AEA,
0x00003EC8, 0x00050084, 0x00000011, 0x00005299, 0x00000A9F, 0x00005C31,
0x000500C2, 0x00000011, 0x00003985, 0x00005299, 0x0000070F, 0x00050086,
0x00000011, 0x00004D57, 0x00004F30, 0x00003985, 0x00050051, 0x0000000B,
0x00004FA6, 0x00004D57, 0x00000001, 0x00050084, 0x0000000B, 0x00002B26,
0x00004FA6, 0x00005051, 0x00050051, 0x0000000B, 0x00006059, 0x00004D57,
0x00000000, 0x00050080, 0x0000000B, 0x00005420, 0x00002B26, 0x00006059,
0x00050080, 0x0000000B, 0x00002226, 0x00005F72, 0x00005420, 0x00050084,
0x00000011, 0x0000193B, 0x00004D57, 0x00003985, 0x00050082, 0x00000011,
0x000037C7, 0x00004F30, 0x0000193B, 0x000300F7, 0x00004944, 0x00000000,
0x000400FA, 0x0000500F, 0x00002E70, 0x00004944, 0x000200F8, 0x00002E70,
0x00050051, 0x0000000B, 0x00004259, 0x00003985, 0x00000000, 0x000500C2,
0x0000000B, 0x000033FB, 0x00004259, 0x00000A0D, 0x00050051, 0x0000000B,
0x000056BF, 0x000037C7, 0x00000000, 0x0004007C, 0x0000000C, 0x00003B5D,
0x000056BF, 0x000500AE, 0x00000009, 0x00003D78, 0x000056BF, 0x000033FB,
0x000300F7, 0x000052F5, 0x00000000, 0x000400FA, 0x00003D78, 0x000056D4,
0x00001F04, 0x000200F8, 0x000056D4, 0x0004007C, 0x0000000C, 0x00005988,
0x000033FB, 0x0004007E, 0x0000000C, 0x0000432F, 0x00005988, 0x000200F9,
0x000052F5, 0x000200F8, 0x00001F04, 0x0004007C, 0x0000000C, 0x00004112,
0x000033FB, 0x000200F9, 0x000052F5, 0x000200F8, 0x000052F5, 0x000700F5,
0x0000000C, 0x0000273E, 0x0000432F, 0x000056D4, 0x00004112, 0x00001F04,
0x00050080, 0x0000000C, 0x00002ECF, 0x00003B5D, 0x0000273E, 0x0004007C,
0x0000000B, 0x0000452D, 0x00002ECF, 0x00060052, 0x00000011, 0x00005446,
0x0000452D, 0x000037C7, 0x00000000, 0x000200F9, 0x00004944, 0x000200F8,
0x00004944, 0x000700F5, 0x00000011, 0x000043D0, 0x000037C7, 0x0000212A,
0x00005446, 0x000052F5, 0x00050051, 0x0000000B, 0x00005DD7, 0x00005299,
0x00000000, 0x00050051, 0x0000000B, 0x0000571F, 0x00005299, 0x00000001,
0x00050084, 0x0000000B, 0x00003372, 0x00005DD7, 0x0000571F, 0x00050084,
0x0000000B, 0x000038D7, 0x00002226, 0x00003372, 0x00050051, 0x0000000B,
0x00001A95, 0x000043D0, 0x00000001, 0x00050051, 0x0000000B, 0x00005BE6,
0x00003985, 0x00000000, 0x00050084, 0x0000000B, 0x00005966, 0x00001A95,
0x00005BE6, 0x00050051, 0x0000000B, 0x00001AE6, 0x000043D0, 0x00000000,
0x00050080, 0x0000000B, 0x000025E0, 0x00005966, 0x00001AE6, 0x000500C4,
0x0000000B, 0x00004AFF, 0x000025E0, 0x00000A0A, 0x00050080, 0x0000000B,
0x0000187D, 0x000038D7, 0x00004AFF, 0x000500C2, 0x0000000B, 0x00005EF3,
0x0000187D, 0x00000A10, 0x00060041, 0x00000294, 0x00004C91, 0x00000C50,
0x00000A0B, 0x00005EF3, 0x0004003D, 0x00000017, 0x00003141, 0x00004C91,
0x00050080, 0x0000000B, 0x00002DA7, 0x00005EF3, 0x00000A0D, 0x00060041,
0x00000294, 0x00006001, 0x00000C50, 0x00000A0B, 0x00002DA7, 0x0004003D,
0x00000017, 0x00003F28, 0x00006001, 0x00050051, 0x00000009, 0x000032AB,
0x00004A7B, 0x00000000, 0x000300F7, 0x00003D52, 0x00000000, 0x000400FA,
0x000032AB, 0x000040DF, 0x00003D52, 0x000200F8, 0x000040DF, 0x000500AA,
0x00000009, 0x0000495A, 0x00001A29, 0x00000A0A, 0x000200F9, 0x00003D52,
0x000200F8, 0x00003D52, 0x000700F5, 0x00000009, 0x00002AAC, 0x000032AB,
0x00004944, 0x0000495A, 0x000040DF, 0x000300F7, 0x00005596, 0x00000000,
0x000400FA, 0x00002AAC, 0x00002620, 0x00005596, 0x000200F8, 0x00002620,
0x00050051, 0x0000000B, 0x00005002, 0x00003141, 0x00000001, 0x00060052,
0x00000017, 0x000037FF, 0x00005002, 0x00003141, 0x00000000, 0x000200F9,
0x00005596, 0x000200F8, 0x00005596, 0x000700F5, 0x00000017, 0x00002AAD,
0x00003141, 0x00003D52, 0x000037FF, 0x00002620, 0x000300F7, 0x0000530F,
0x00000002, 0x000400FA, 0x00004C75, 0x0000577B, 0x0000530F, 0x000200F8,
0x0000577B, 0x000300F7, 0x000039F4, 0x00000000, 0x000F00FB, 0x000023AA,
0x000039F4, 0x00000000, 0x00002897, 0x00000001, 0x00002897, 0x00000002,
0x000055A0, 0x00000003, 0x000055A0, 0x0000000A, 0x000055A0, 0x0000000C,
0x000055A0, 0x000200F8, 0x00002897, 0x000500C7, 0x00000017, 0x00003BA9,
0x00002AAD, 0x0000072E, 0x000500C7, 0x00000017, 0x00005C0C, 0x00002AAD,
0x0000064B, 0x000500C4, 0x00000017, 0x00006105, 0x00005C0C, 0x000002ED,
0x000500C5, 0x00000017, 0x00004655, 0x00003BA9, 0x00006105, 0x000500C2,
0x00000017, 0x00005A82, 0x00002AAD, 0x000002ED, 0x000500C7, 0x00000017,
0x0000192A, 0x00005A82, 0x0000064B, 0x000500C5, 0x00000017, 0x00003CE5,
0x00004655, 0x0000192A, 0x000500C7, 0x00000017, 0x00004C3F, 0x00003F28,
0x0000072E, 0x000500C7, 0x00000017, 0x0000461A, 0x00003F28, 0x0000064B,
0x000500C4, 0x00000017, 0x00006106, 0x0000461A, 0x000002ED, 0x000500C5,
0x00000017, 0x00004656, 0x00004C3F, 0x00006106, 0x000500C2, 0x00000017,
0x00005A83, 0x00003F28, 0x000002ED, 0x000500C7, 0x00000017, 0x00001CE0,
0x00005A83, 0x0000064B, 0x000500C5, 0x00000017, 0x00001EBE, 0x00004656,
0x00001CE0, 0x000200F9, 0x000039F4, 0x000200F8, 0x000055A0, 0x000500C7,
0x00000017, 0x00004E95, 0x00002AAD, 0x00000930, 0x000500C7, 0x00000017,
0x00005C0D, 0x00002AAD, 0x000003A1, 0x000500C4, 0x00000017, 0x00006107,
0x00005C0D, 0x000003C5, 0x000500C5, 0x00000017, 0x00004657, 0x00004E95,
0x00006107, 0x000500C2, 0x00000017, 0x00005A84, 0x00002AAD, 0x000003C5,
0x000500C7, 0x00000017, 0x0000192B, 0x00005A84, 0x000003A1, 0x000500C5,
0x00000017, 0x00003CE6, 0x00004657, 0x0000192B, 0x000500C7, 0x00000017,
0x00004C40, 0x00003F28, 0x00000930, 0x000500C7, 0x00000017, 0x0000461B,
0x00003F28, 0x000003A1, 0x000500C4, 0x00000017, 0x00006108, 0x0000461B,
0x000003C5, 0x000500C5, 0x00000017, 0x00004658, 0x00004C40, 0x00006108,
0x000500C2, 0x00000017, 0x00005A85, 0x00003F28, 0x000003C5, 0x000500C7,
0x00000017, 0x00001CE1, 0x00005A85, 0x000003A1, 0x000500C5, 0x00000017,
0x00001EBF, 0x00004658, 0x00001CE1, 0x000200F9, 0x000039F4, 0x000200F8,
0x000039F4, 0x000900F5, 0x00000017, 0x00002BF3, 0x00003F28, 0x0000577B,
0x00001EBE, 0x00002897, 0x00001EBF, 0x000055A0, 0x000900F5, 0x00000017,
0x0000358D, 0x00002AAD, 0x0000577B, 0x00003CE5, 0x00002897, 0x00003CE6,
0x000055A0, 0x000200F9, 0x0000530F, 0x000200F8, 0x0000530F, 0x000700F5,
0x00000017, 0x000022F8, 0x00003F28, 0x00005596, 0x00002BF3, 0x000039F4,
0x000700F5, 0x00000017, 0x000049A7, 0x00002AAD, 0x00005596, 0x0000358D,
0x000039F4, 0x00050080, 0x00000011, 0x000035BB, 0x00002670, 0x000059EC,
0x00050051, 0x0000000B, 0x000033BC, 0x000035BB, 0x00000000, 0x00050051,
0x0000000B, 0x00002553, 0x000035BB, 0x00000001, 0x000500C2, 0x0000000B,
0x00002B2D, 0x000033BC, 0x00000A10, 0x00050050, 0x00000011, 0x00001E98,
0x00002B2D, 0x00002553, 0x00050086, 0x00000011, 0x00006158, 0x00001E98,
0x00005C31, 0x00050051, 0x0000000B, 0x0000366C, 0x00006158, 0x00000000,
0x000500C4, 0x0000000B, 0x00004D3A, 0x0000366C, 0x00000A10, 0x00050051,
0x0000000B, 0x00005EBB, 0x00006158, 0x00000001, 0x00060050, 0x00000014,
0x000053CC, 0x00004D3A, 0x00005EBB, 0x000059FD, 0x000300F7, 0x00005341,
0x00000002, 0x000400FA, 0x00005010, 0x0000537D, 0x00002DD9, 0x000200F8,
0x0000537D, 0x0004007C, 0x00000016, 0x00002970, 0x000053CC, 0x00050051,
0x0000000C, 0x000042C2, 0x00002970, 0x00000001, 0x000500C3, 0x0000000C,
0x000024FD, 0x000042C2, 0x00000A17, 0x00050051, 0x0000000C, 0x00002747,
0x00002970, 0x00000002, 0x000500C3, 0x0000000C, 0x0000405C, 0x00002747,
0x00000A11, 0x000500C2, 0x0000000B, 0x00005B4D, 0x00006273, 0x00000A16,
0x0004007C, 0x0000000C, 0x000018AA, 0x00005B4D, 0x00050084, 0x0000000C,
0x00005321, 0x0000405C, 0x000018AA, 0x00050080, 0x0000000C, 0x00003B27,
0x000024FD, 0x00005321, 0x000500C2, 0x0000000B, 0x00002348, 0x00003DA7,
0x00000A19, 0x0004007C, 0x0000000C, 0x0000308B, 0x00002348, 0x00050084,
0x0000000C, 0x00002878, 0x00003B27, 0x0000308B, 0x00050051, 0x0000000C,
0x00006242, 0x00002970, 0x00000000, 0x000500C3, 0x0000000C, 0x00004FC7,
0x00006242, 0x00000A1A, 0x00050080, 0x0000000C, 0x000049FC, 0x00004FC7,
0x00002878, 0x000500C4, 0x0000000C, 0x0000225D, 0x000049FC, 0x00000A22,
0x000500C7, 0x0000000C, 0x00002CF6, 0x0000225D, 0x0000078B, 0x000500C4,
0x0000000C, 0x000049FA, 0x00002CF6, 0x00000A0E, 0x000500C7, 0x0000000C,
0x00004D38, 0x00006242, 0x00000A20, 0x000500C7, 0x0000000C, 0x00003138,
0x000042C2, 0x00000A1D, 0x000500C4, 0x0000000C, 0x0000454D, 0x00003138,
0x00000A11, 0x00050080, 0x0000000C, 0x0000434B, 0x00004D38, 0x0000454D,
0x000500C4, 0x0000000C, 0x00001B88, 0x0000434B, 0x00000A22, 0x000500C3,
0x0000000C, 0x00005DE3, 0x00001B88, 0x00000A1D, 0x000500C3, 0x0000000C,
0x00002215, 0x000042C2, 0x00000A14, 0x00050080, 0x0000000C, 0x000035A3,
0x00002215, 0x0000405C, 0x000500C7, 0x0000000C, 0x00005A0C, 0x000035A3,
0x00000A0E, 0x000500C3, 0x0000000C, 0x00004113, 0x00006242, 0x00000A14,
0x000500C4, 0x0000000C, 0x0000496A, 0x00005A0C, 0x00000A0E, 0x00050080,
0x0000000C, 0x000034BD, 0x00004113, 0x0000496A, 0x000500C7, 0x0000000C,
0x00004ADD, 0x000034BD, 0x00000A14, 0x000500C4, 0x0000000C, 0x0000544A,
0x00004ADD, 0x00000A0E, 0x00050080, 0x0000000C, 0x00003C4B, 0x00005A0C,
0x0000544A, 0x000500C7, 0x0000000C, 0x0000335E, 0x00005DE3, 0x000009DB,
0x00050080, 0x0000000C, 0x00004F70, 0x000049FA, 0x0000335E, 0x000500C4,
0x0000000C, 0x00005B31, 0x00004F70, 0x00000A0E, 0x000500C7, 0x0000000C,
0x00005AEA, 0x00005DE3, 0x00000A38, 0x00050080, 0x0000000C, 0x0000285C,
0x00005B31, 0x00005AEA, 0x000500C7, 0x0000000C, 0x000047B4, 0x00002747,
0x00000A14, 0x000500C4, 0x0000000C, 0x0000544B, 0x000047B4, 0x00000A22,
0x00050080, 0x0000000C, 0x00004157, 0x0000285C, 0x0000544B, 0x000500C7,
0x0000000C, 0x00004ADE, 0x000042C2, 0x00000A0E, 0x000500C4, 0x0000000C,
0x0000544C, 0x00004ADE, 0x00000A17, 0x00050080, 0x0000000C, 0x00004158,
0x00004157, 0x0000544C, 0x000500C7, 0x0000000C, 0x00004FD6, 0x00003C4B,
0x00000A0E, 0x000500C4, 0x0000000C, 0x00002703, 0x00004FD6, 0x00000A14,
0x000500C3, 0x0000000C, 0x00003332, 0x00004158, 0x00000A1D, 0x000500C7,
0x0000000C, 0x000036D6, 0x00003332, 0x00000A20, 0x00050080, 0x0000000C,
0x00003412, 0x00002703, 0x000036D6, 0x000500C4, 0x0000000C, 0x00005B32,
0x00003412, 0x00000A14, 0x000500C7, 0x0000000C, 0x00005AB1, 0x00003C4B,
0x00000A05, 0x00050080, 0x0000000C, 0x00002A9C, 0x00005B32, 0x00005AB1,
0x000500C4, 0x0000000C, 0x00005B33, 0x00002A9C, 0x00000A11, 0x000500C7,
0x0000000C, 0x00005AB2, 0x00004158, 0x0000040B, 0x00050080, 0x0000000C,
0x00002A9D, 0x00005B33, 0x00005AB2, 0x000500C4, 0x0000000C, 0x00005B34,
0x00002A9D, 0x00000A14, 0x000500C7, 0x0000000C, 0x00005559, 0x00004158,
0x00000AC8, 0x00050080, 0x0000000C, 0x00005EFA, 0x00005B34, 0x00005559,
0x0004007C, 0x0000000B, 0x0000566F, 0x00005EFA, 0x000200F9, 0x00005341,
0x000200F8, 0x00002DD9, 0x0007004F, 0x00000011, 0x00002621, 0x000053CC,
0x000053CC, 0x00000000, 0x00000001, 0x0004007C, 0x00000012, 0x000059CF,
0x00002621, 0x00050051, 0x0000000C, 0x00001903, 0x000059CF, 0x00000000,
0x000500C3, 0x0000000C, 0x000024FE, 0x00001903, 0x00000A1A, 0x00050051,
0x0000000C, 0x00002748, 0x000059CF, 0x00000001, 0x000500C3, 0x0000000C,
0x0000405D, 0x00002748, 0x00000A1A, 0x000500C2, 0x0000000B, 0x00005B4E,
0x00003DA7, 0x00000A19, 0x0004007C, 0x0000000C, 0x000018AB, 0x00005B4E,
0x00050084, 0x0000000C, 0x00005347, 0x0000405D, 0x000018AB, 0x00050080,
0x0000000C, 0x00003F5E, 0x000024FE, 0x00005347, 0x000500C4, 0x0000000C,
0x00004A8E, 0x00003F5E, 0x00000A25, 0x000500C7, 0x0000000C, 0x00002AB6,
0x00001903, 0x00000A20, 0x000500C7, 0x0000000C, 0x00003139, 0x00002748,
0x00000A35, 0x000500C4, 0x0000000C, 0x0000454E, 0x00003139, 0x00000A11,
0x00050080, 0x0000000C, 0x00004397, 0x00002AB6, 0x0000454E, 0x000500C4,
0x0000000C, 0x000018E7, 0x00004397, 0x00000A10, 0x000500C7, 0x0000000C,
0x000027B1, 0x000018E7, 0x000009DB, 0x000500C4, 0x0000000C, 0x00002F76,
0x000027B1, 0x00000A0E, 0x00050080, 0x0000000C, 0x00003C4C, 0x00004A8E,
0x00002F76, 0x000500C7, 0x0000000C, 0x00003397, 0x000018E7, 0x00000A38,
0x00050080, 0x0000000C, 0x00004D30, 0x00003C4C, 0x00003397, 0x000500C7,
0x0000000C, 0x000047B5, 0x00002748, 0x00000A0E, 0x000500C4, 0x0000000C,
0x0000544D, 0x000047B5, 0x00000A17, 0x00050080, 0x0000000C, 0x00004159,
0x00004D30, 0x0000544D, 0x000500C7, 0x0000000C, 0x00005022, 0x00004159,
0x0000040B, 0x000500C4, 0x0000000C, 0x00002416, 0x00005022, 0x00000A14,
0x000500C7, 0x0000000C, 0x00004A33, 0x00002748, 0x00000A3B, 0x000500C4,
0x0000000C, 0x00002F77, 0x00004A33, 0x00000A20, 0x00050080, 0x0000000C,
0x0000415A, 0x00002416, 0x00002F77, 0x000500C7, 0x0000000C, 0x00004ADF,
0x00004159, 0x00000388, 0x000500C4, 0x0000000C, 0x0000544E, 0x00004ADF,
0x00000A11, 0x00050080, 0x0000000C, 0x00004144, 0x0000415A, 0x0000544E,
0x000500C7, 0x0000000C, 0x00005083, 0x00002748, 0x00000A23, 0x000500C3,
0x0000000C, 0x000041BF, 0x00005083, 0x00000A11, 0x000500C3, 0x0000000C,
0x00001EEC, 0x00001903, 0x00000A14, 0x00050080, 0x0000000C, 0x000035B6,
0x000041BF, 0x00001EEC, 0x000500C7, 0x0000000C, 0x00005453, 0x000035B6,
0x00000A14, 0x000500C4, 0x0000000C, 0x0000544F, 0x00005453, 0x00000A1D,
0x00050080, 0x0000000C, 0x00003C4D, 0x00004144, 0x0000544F, 0x000500C7,
0x0000000C, 0x00002E06, 0x00004159, 0x00000AC8, 0x00050080, 0x0000000C,
0x0000394F, 0x00003C4D, 0x00002E06, 0x0004007C, 0x0000000B, 0x00005670,
0x0000394F, 0x000200F9, 0x00005341, 0x000200F8, 0x00005341, 0x000700F5,
0x0000000B, 0x000024FC, 0x0000566F, 0x0000537D, 0x00005670, 0x00002DD9,
0x00050084, 0x00000011, 0x00003FA8, 0x00006158, 0x00005C31, 0x00050082,
0x00000011, 0x00003F86, 0x00001E98, 0x00003FA8, 0x00050051, 0x0000000B,
0x0000448F, 0x00005C31, 0x00000001, 0x00050084, 0x0000000B, 0x00005C50,
0x0000229A, 0x0000448F, 0x00050084, 0x0000000B, 0x00003CA0, 0x000024FC,
0x00005C50, 0x00050051, 0x0000000B, 0x00003ED4, 0x00003F86, 0x00000000,
0x00050084, 0x0000000B, 0x00003E12, 0x00003ED4, 0x0000448F, 0x00050051,
0x0000000B, 0x00001AE7, 0x00003F86, 0x00000001, 0x00050080, 0x0000000B,
0x00002B25, 0x00003E12, 0x00001AE7, 0x000500C4, 0x0000000B, 0x0000609D,
0x00002B25, 0x00000A10, 0x000500C7, 0x0000000B, 0x00005AB3, 0x000033BC,
0x00000A13, 0x00050080, 0x0000000B, 0x00002557, 0x0000609D, 0x00005AB3,
0x000500C4, 0x0000000B, 0x00004593, 0x00002557, 0x00000A10, 0x00050080,
0x0000000B, 0x00002048, 0x00003CA0, 0x00004593, 0x000500C2, 0x0000000B,
0x00002015, 0x00002048, 0x00000A16, 0x000500AA, 0x00000009, 0x00002EEA,
0x00004ADC, 0x00000A0D, 0x000500AA, 0x00000009, 0x00005776, 0x00004ADC,
0x00000A10, 0x000500A6, 0x00000009, 0x00005686, 0x00002EEA, 0x00005776,
0x000300F7, 0x00003463, 0x00000000, 0x000400FA, 0x00005686, 0x00002957,
0x00003463, 0x000200F8, 0x00002957, 0x000500C7, 0x00000017, 0x0000475F,
0x000049A7, 0x000009CE, 0x000500C4, 0x00000017, 0x000024D1, 0x0000475F,
0x0000013D, 0x000500C7, 0x00000017, 0x000050AC, 0x000049A7, 0x0000072E,
0x000500C2, 0x00000017, 0x0000448D, 0x000050AC, 0x0000013D, 0x000500C5,
0x00000017, 0x00003FF8, 0x000024D1, 0x0000448D, 0x000200F9, 0x00003463,
0x000200F8, 0x00003463, 0x000700F5, 0x00000017, 0x00005879, 0x000049A7,
0x00005341, 0x00003FF8, 0x00002957, 0x000500AA, 0x00000009, 0x00004CB6,
0x00004ADC, 0x00000A13, 0x000500A6, 0x00000009, 0x00003B23, 0x00005776,
0x00004CB6, 0x000300F7, 0x00002C98, 0x00000000, 0x000400FA, 0x00003B23,
0x00002B38, 0x00002C98, 0x000200F8, 0x00002B38, 0x000500C4, 0x00000017,
0x00005E17, 0x00005879, 0x000002ED, 0x000500C2, 0x00000017, 0x00003BE7,
0x00005879, 0x000002ED, 0x000500C5, 0x00000017, 0x000029E8, 0x00005E17,
0x00003BE7, 0x000200F9, 0x00002C98, 0x000200F8, 0x00002C98, 0x000700F5,
0x00000017, 0x00004D37, 0x00005879, 0x00003463, 0x000029E8, 0x00002B38,
0x00060041, 0x00000294, 0x000019BE, 0x00001592, 0x00000A0B, 0x00002015,
0x0003003E, 0x000019BE, 0x00004D37, 0x000500AC, 0x00000009, 0x00005BF6,
0x0000229A, 0x00000A0D, 0x000300F7, 0x000060BC, 0x00000002, 0x000400FA,
0x00005BF6, 0x0000281E, 0x00005094, 0x000200F8, 0x0000281E, 0x000500C2,
0x0000000B, 0x00002CD4, 0x00001A29, 0x00000A10, 0x00050086, 0x0000000B,
0x00001F01, 0x00002CD4, 0x0000229A, 0x00050084, 0x0000000B, 0x000041FB,
0x00001F01, 0x0000229A, 0x00050082, 0x0000000B, 0x00003171, 0x00002CD4,
0x000041FB, 0x00050080, 0x0000000B, 0x00002527, 0x00003171, 0x00000A0D,
0x000500AA, 0x00000009, 0x0000343F, 0x00002527, 0x0000229A, 0x000300F7,
0x00001EED, 0x00000000, 0x000400FA, 0x0000343F, 0x0000569E, 0x00002191,
0x000200F8, 0x0000569E, 0x00050084, 0x0000000B, 0x00004B59, 0x00000A6A,
0x0000229A, 0x000500C4, 0x0000000B, 0x0000540F, 0x00003171, 0x00000A16,
0x00050082, 0x0000000B, 0x00004945, 0x00004B59, 0x0000540F, 0x000200F9,
0x00001EED, 0x000200F8, 0x00002191, 0x000200F9, 0x00001EED, 0x000200F8,
0x00001EED, 0x000700F5, 0x0000000B, 0x0000292C, 0x00004945, 0x0000569E,
0x00000A3A, 0x00002191, 0x000200F9, 0x000060BC, 0x000200F8, 0x00005094,
0x000200F9, 0x000060BC, 0x000200F8, 0x000060BC, 0x000700F5, 0x0000000B,
0x000029BC, 0x0000292C, 0x00001EED, 0x00000A6A, 0x00005094, 0x00050084,
0x0000000B, 0x0000492B, 0x000029BC, 0x0000448F, 0x000500C2, 0x0000000B,
0x00004DEF, 0x0000492B, 0x00000A16, 0x00050080, 0x0000000B, 0x00005B72,
0x00002015, 0x00004DEF, 0x000300F7, 0x00003A1A, 0x00000000, 0x000400FA,
0x00005686, 0x00002958, 0x00003A1A, 0x000200F8, 0x00002958, 0x000500C7,
0x00000017, 0x00004760, 0x000022F8, 0x000009CE, 0x000500C4, 0x00000017,
0x000024D2, 0x00004760, 0x0000013D, 0x000500C7, 0x00000017, 0x000050AD,
0x000022F8, 0x0000072E, 0x000500C2, 0x00000017, 0x0000448E, 0x000050AD,
0x0000013D, 0x000500C5, 0x00000017, 0x00003FF9, 0x000024D2, 0x0000448E,
0x000200F9, 0x00003A1A, 0x000200F8, 0x00003A1A, 0x000700F5, 0x00000017,
0x00002AAE, 0x000022F8, 0x000060BC, 0x00003FF9, 0x00002958, 0x000300F7,
0x00002C99, 0x00000000, 0x000400FA, 0x00003B23, 0x00002B39, 0x00002C99,
0x000200F8, 0x00002B39, 0x000500C4, 0x00000017, 0x00005E18, 0x00002AAE,
0x000002ED, 0x000500C2, 0x00000017, 0x00003BE8, 0x00002AAE, 0x000002ED,
0x000500C5, 0x00000017, 0x000029E9, 0x00005E18, 0x00003BE8, 0x000200F9,
0x00002C99, 0x000200F8, 0x00002C99, 0x000700F5, 0x00000017, 0x00004D39,
0x00002AAE, 0x00003A1A, 0x000029E9, 0x00002B39, 0x00060041, 0x00000294,
0x00001F75, 0x00001592, 0x00000A0B, 0x00005B72, 0x0003003E, 0x00001F75,
0x00004D39, 0x000200F9, 0x00004C7A, 0x000200F8, 0x00004C7A, 0x000100FD,
0x00010038,
};

View File

@ -0,0 +1,949 @@
// Generated with `xb buildshaders`.
#if 0
; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 10
; Bound: 25204
; Schema: 0
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %5663 "main" %gl_GlobalInvocationID
OpExecutionMode %5663 LocalSize 8 8 1
OpMemberDecorate %_struct_1036 0 Offset 0
OpMemberDecorate %_struct_1036 1 Offset 4
OpMemberDecorate %_struct_1036 2 Offset 8
OpMemberDecorate %_struct_1036 3 Offset 12
OpMemberDecorate %_struct_1036 4 Offset 16
OpDecorate %_struct_1036 Block
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %_runtimearr_v4uint ArrayStride 16
OpMemberDecorate %_struct_1972 0 NonWritable
OpMemberDecorate %_struct_1972 0 Offset 0
OpDecorate %_struct_1972 BufferBlock
OpDecorate %3152 DescriptorSet 1
OpDecorate %3152 Binding 0
OpDecorate %_runtimearr_v4uint_0 ArrayStride 16
OpMemberDecorate %_struct_1973 0 NonReadable
OpMemberDecorate %_struct_1973 0 Offset 0
OpDecorate %_struct_1973 BufferBlock
OpDecorate %5522 DescriptorSet 0
OpDecorate %5522 Binding 0
OpDecorate %gl_WorkGroupSize BuiltIn WorkgroupSize
%void = OpTypeVoid
%1282 = OpTypeFunction %void
%bool = OpTypeBool
%v2bool = OpTypeVector %bool 2
%uint = OpTypeInt 32 0
%v2uint = OpTypeVector %uint 2
%v4uint = OpTypeVector %uint 4
%int = OpTypeInt 32 1
%v2int = OpTypeVector %int 2
%v3int = OpTypeVector %int 3
%uint_1 = OpConstant %uint 1
%uint_2 = OpConstant %uint 2
%uint_16711935 = OpConstant %uint 16711935
%uint_8 = OpConstant %uint 8
%uint_4278255360 = OpConstant %uint 4278255360
%uint_3 = OpConstant %uint 3
%uint_16 = OpConstant %uint 16
%1837 = OpConstantComposite %v2uint %uint_2 %uint_1
%uint_0 = OpConstant %uint 0
%1807 = OpConstantComposite %v2uint %uint_0 %uint_0
%1828 = OpConstantComposite %v2uint %uint_1 %uint_1
%1816 = OpConstantComposite %v2uint %uint_1 %uint_0
%uint_80 = OpConstant %uint 80
%2719 = OpConstantComposite %v2uint %uint_80 %uint_16
%int_5 = OpConstant %int 5
%uint_5 = OpConstant %uint 5
%uint_7 = OpConstant %uint 7
%int_7 = OpConstant %int 7
%int_14 = OpConstant %int 14
%int_2 = OpConstant %int 2
%int_n16 = OpConstant %int -16
%int_1 = OpConstant %int 1
%int_15 = OpConstant %int 15
%int_4 = OpConstant %int 4
%int_n512 = OpConstant %int -512
%int_3 = OpConstant %int 3
%int_16 = OpConstant %int 16
%int_448 = OpConstant %int 448
%int_8 = OpConstant %int 8
%int_6 = OpConstant %int 6
%int_63 = OpConstant %int 63
%uint_4 = OpConstant %uint 4
%int_268435455 = OpConstant %int 268435455
%int_n2 = OpConstant %int -2
%_struct_1036 = OpTypeStruct %uint %uint %uint %uint %uint
%_ptr_PushConstant__struct_1036 = OpTypePointer PushConstant %_struct_1036
%4495 = OpVariable %_ptr_PushConstant__struct_1036 PushConstant
%int_0 = OpConstant %int 0
%_ptr_PushConstant_uint = OpTypePointer PushConstant %uint
%uint_1023 = OpConstant %uint 1023
%uint_10 = OpConstant %uint 10
%uint_4096 = OpConstant %uint 4096
%uint_13 = OpConstant %uint 13
%uint_4095 = OpConstant %uint 4095
%uint_25 = OpConstant %uint 25
%uint_15 = OpConstant %uint 15
%1855 = OpConstantComposite %v2uint %uint_0 %uint_4
%1856 = OpConstantComposite %v2uint %uint_4 %uint_1
%uint_2047 = OpConstant %uint 2047
%uint_16777216 = OpConstant %uint 16777216
%uint_20 = OpConstant %uint 20
%uint_24 = OpConstant %uint 24
%2275 = OpConstantComposite %v2uint %uint_20 %uint_24
%uint_28 = OpConstant %uint 28
%v3uint = OpTypeVector %uint 3
%uint_255 = OpConstant %uint 255
%uint_3222273024 = OpConstant %uint 3222273024
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
%gl_GlobalInvocationID = OpVariable %_ptr_Input_v3uint Input
%_ptr_Input_uint = OpTypePointer Input %uint
%1834 = OpConstantComposite %v2uint %uint_3 %uint_0
%_runtimearr_v4uint = OpTypeRuntimeArray %v4uint
%_struct_1972 = OpTypeStruct %_runtimearr_v4uint
%_ptr_Uniform__struct_1972 = OpTypePointer Uniform %_struct_1972
%3152 = OpVariable %_ptr_Uniform__struct_1972 Uniform
%_ptr_Uniform_v4uint = OpTypePointer Uniform %v4uint
%_runtimearr_v4uint_0 = OpTypeRuntimeArray %v4uint
%_struct_1973 = OpTypeStruct %_runtimearr_v4uint_0
%_ptr_Uniform__struct_1973 = OpTypePointer Uniform %_struct_1973
%5522 = OpVariable %_ptr_Uniform__struct_1973 Uniform
%gl_WorkGroupSize = OpConstantComposite %v3uint %uint_8 %uint_8 %uint_1
%13853 = OpUndef %v4uint
%1870 = OpConstantComposite %v2uint %uint_3 %uint_3
%2122 = OpConstantComposite %v2uint %uint_15 %uint_15
%1849 = OpConstantComposite %v2uint %uint_2 %uint_2
%1838 = OpConstantComposite %v4uint %uint_4278255360 %uint_4278255360 %uint_4278255360 %uint_4278255360
%1611 = OpConstantComposite %v4uint %uint_255 %uint_255 %uint_255 %uint_255
%749 = OpConstantComposite %v4uint %uint_16 %uint_16 %uint_16 %uint_16
%2352 = OpConstantComposite %v4uint %uint_3222273024 %uint_3222273024 %uint_3222273024 %uint_3222273024
%929 = OpConstantComposite %v4uint %uint_1023 %uint_1023 %uint_1023 %uint_1023
%965 = OpConstantComposite %v4uint %uint_20 %uint_20 %uint_20 %uint_20
%uint_9 = OpConstant %uint 9
%2510 = OpConstantComposite %v4uint %uint_16711935 %uint_16711935 %uint_16711935 %uint_16711935
%317 = OpConstantComposite %v4uint %uint_8 %uint_8 %uint_8 %uint_8
%5663 = OpFunction %void None %1282
%15110 = OpLabel
OpSelectionMerge %19578 None
OpSwitch %uint_0 %11880
%11880 = OpLabel
%22245 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_0
%15627 = OpLoad %uint %22245
%22700 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_1
%20919 = OpLoad %uint %22700
%19164 = OpBitwiseAnd %uint %15627 %uint_1023
%21999 = OpBitwiseAnd %uint %15627 %uint_4096
%20495 = OpINotEqual %bool %21999 %uint_0
%10307 = OpShiftRightLogical %uint %15627 %uint_13
%24434 = OpBitwiseAnd %uint %10307 %uint_4095
%18836 = OpShiftRightLogical %uint %15627 %uint_25
%9130 = OpBitwiseAnd %uint %18836 %uint_15
%8814 = OpCompositeConstruct %v2uint %20919 %20919
%8841 = OpShiftRightLogical %v2uint %8814 %1855
%22507 = OpShiftLeftLogical %v2uint %1828 %1856
%18608 = OpISub %v2uint %22507 %1828
%18743 = OpBitwiseAnd %v2uint %8841 %18608
%22404 = OpShiftLeftLogical %v2uint %18743 %1870
%23019 = OpIMul %v2uint %22404 %1828
%12819 = OpShiftRightLogical %uint %20919 %uint_5
%16204 = OpBitwiseAnd %uint %12819 %uint_2047
%18732 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_2
%24236 = OpLoad %uint %18732
%22701 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_3
%20920 = OpLoad %uint %22701
%19165 = OpBitwiseAnd %uint %24236 %uint_7
%22000 = OpBitwiseAnd %uint %24236 %uint_8
%20496 = OpINotEqual %bool %22000 %uint_0
%10402 = OpShiftRightLogical %uint %24236 %uint_4
%23037 = OpBitwiseAnd %uint %10402 %uint_7
%23118 = OpBitwiseAnd %uint %24236 %uint_16777216
%19573 = OpINotEqual %bool %23118 %uint_0
%8003 = OpBitwiseAnd %uint %20920 %uint_1023
%15783 = OpShiftLeftLogical %uint %8003 %uint_5
%22591 = OpShiftRightLogical %uint %20920 %uint_10
%19390 = OpBitwiseAnd %uint %22591 %uint_1023
%25203 = OpShiftLeftLogical %uint %19390 %uint_5
%10422 = OpCompositeConstruct %v2uint %20920 %20920
%10385 = OpShiftRightLogical %v2uint %10422 %2275
%23379 = OpBitwiseAnd %v2uint %10385 %2122
%16207 = OpShiftLeftLogical %v2uint %23379 %1870
%23020 = OpIMul %v2uint %16207 %1828
%12820 = OpShiftRightLogical %uint %20920 %uint_28
%16205 = OpBitwiseAnd %uint %12820 %uint_7
%18733 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_4
%24237 = OpLoad %uint %18733
%22225 = OpAccessChain %_ptr_Input_uint %gl_GlobalInvocationID %uint_0
%7085 = OpLoad %uint %22225
%7405 = OpUGreaterThanEqual %bool %7085 %16204
OpSelectionMerge %17447 DontFlatten
OpBranchConditional %7405 %21992 %17447
%21992 = OpLabel
OpBranch %19578
%17447 = OpLabel
%14637 = OpLoad %v3uint %gl_GlobalInvocationID
%18505 = OpVectorShuffle %v2uint %14637 %14637 0 1
%9840 = OpShiftLeftLogical %v2uint %18505 %1834
%24498 = OpCompositeExtract %uint %9840 0
%7150 = OpCompositeExtract %uint %9840 1
%24446 = OpExtInst %uint %1 UMax %7150 %uint_0
%20975 = OpCompositeConstruct %v2uint %24498 %24446
%21036 = OpIAdd %v2uint %20975 %23019
%16075 = OpULessThanEqual %bool %16205 %uint_3
OpSelectionMerge %6491 None
OpBranchConditional %16075 %10990 %15087
%15087 = OpLabel
%13566 = OpIEqual %bool %16205 %uint_5
%8438 = OpSelect %uint %13566 %uint_2 %uint_0
OpBranch %6491
%10990 = OpLabel
OpBranch %6491
%6491 = OpLabel
%22014 = OpPhi %uint %16205 %10990 %8438 %15087
%23520 = OpUGreaterThanEqual %v2bool %1849 %1837
%7771 = OpSelect %v2uint %23520 %1828 %1807
%10986 = OpShiftLeftLogical %v2uint %21036 %7771
%24669 = OpCompositeConstruct %v2uint %22014 %22014
%9093 = OpShiftRightLogical %v2uint %24669 %1816
%16072 = OpBitwiseAnd %v2uint %9093 %1828
%20272 = OpIAdd %v2uint %10986 %16072
%21145 = OpIMul %v2uint %2719 %1828
%14725 = OpShiftRightLogical %v2uint %21145 %1807
%19799 = OpUDiv %v2uint %20272 %14725
%20390 = OpCompositeExtract %uint %19799 1
%11046 = OpIMul %uint %20390 %19164
%24665 = OpCompositeExtract %uint %19799 0
%21536 = OpIAdd %uint %11046 %24665
%8742 = OpIAdd %uint %24434 %21536
%6459 = OpIMul %v2uint %19799 %14725
%14279 = OpISub %v2uint %20272 %6459
OpSelectionMerge %18756 None
OpBranchConditional %20495 %11888 %18756
%11888 = OpLabel
%16985 = OpCompositeExtract %uint %14725 0
%13307 = OpShiftRightLogical %uint %16985 %uint_1
%22207 = OpCompositeExtract %uint %14279 0
%15197 = OpBitcast %int %22207
%15736 = OpUGreaterThanEqual %bool %22207 %13307
OpSelectionMerge %22850 None
OpBranchConditional %15736 %23061 %24565
%24565 = OpLabel
%20693 = OpBitcast %int %13307
OpBranch %22850
%23061 = OpLabel
%18885 = OpBitcast %int %13307
%17199 = OpSNegate %int %18885
OpBranch %22850
%22850 = OpLabel
%10046 = OpPhi %int %17199 %23061 %20693 %24565
%11983 = OpIAdd %int %15197 %10046
%17709 = OpBitcast %uint %11983
%21574 = OpCompositeInsert %v2uint %17709 %14279 0
OpBranch %18756
%18756 = OpLabel
%17360 = OpPhi %v2uint %14279 %6491 %21574 %22850
%24023 = OpCompositeExtract %uint %21145 0
%22303 = OpCompositeExtract %uint %21145 1
%13170 = OpIMul %uint %24023 %22303
%14551 = OpIMul %uint %8742 %13170
%6805 = OpCompositeExtract %uint %17360 1
%23526 = OpCompositeExtract %uint %14725 0
%22886 = OpIMul %uint %6805 %23526
%6886 = OpCompositeExtract %uint %17360 0
%9696 = OpIAdd %uint %22886 %6886
%19199 = OpShiftLeftLogical %uint %9696 %uint_0
%8283 = OpIAdd %uint %14551 %19199
%9503 = OpShiftRightLogical %uint %8283 %uint_2
%11163 = OpINotEqual %bool %16205 %uint_2
OpSelectionMerge %13276 None
OpBranchConditional %11163 %16434 %13276
%16434 = OpLabel
%10585 = OpINotEqual %bool %16205 %uint_3
OpBranch %13276
%13276 = OpLabel
%10924 = OpPhi %bool %11163 %18756 %10585 %16434
OpSelectionMerge %21872 DontFlatten
OpBranchConditional %10924 %11374 %12129
%12129 = OpLabel
%18514 = OpAccessChain %_ptr_Uniform_v4uint %3152 %int_0 %9503
%13258 = OpLoad %v4uint %18514
%19234 = OpCompositeExtract %uint %13258 1
%15341 = OpCompositeInsert %v4uint %19234 %13853 0
%20745 = OpCompositeExtract %uint %13258 3
%7681 = OpCompositeInsert %v4uint %20745 %15341 1
%18762 = OpIAdd %uint %9503 %uint_1
%6300 = OpAccessChain %_ptr_Uniform_v4uint %3152 %int_0 %18762
%13033 = OpLoad %v4uint %6300
%19235 = OpCompositeExtract %uint %13033 1
%15342 = OpCompositeInsert %v4uint %19235 %7681 2
%20746 = OpCompositeExtract %uint %13033 3
%7682 = OpCompositeInsert %v4uint %20746 %15342 3
%18763 = OpIAdd %uint %9503 %uint_2
%6301 = OpAccessChain %_ptr_Uniform_v4uint %3152 %int_0 %18763
%13034 = OpLoad %v4uint %6301
%19236 = OpCompositeExtract %uint %13034 1
%15343 = OpCompositeInsert %v4uint %19236 %13853 0
%20747 = OpCompositeExtract %uint %13034 3
%7683 = OpCompositeInsert %v4uint %20747 %15343 1
%18764 = OpIAdd %uint %9503 %uint_3
%6302 = OpAccessChain %_ptr_Uniform_v4uint %3152 %int_0 %18764
%13035 = OpLoad %v4uint %6302
%19237 = OpCompositeExtract %uint %13035 1
%15344 = OpCompositeInsert %v4uint %19237 %7683 2
%23044 = OpCompositeExtract %uint %13035 3
%9296 = OpCompositeInsert %v4uint %23044 %15344 3
OpBranch %21872
%11374 = OpLabel
%20936 = OpAccessChain %_ptr_Uniform_v4uint %3152 %int_0 %9503
%13259 = OpLoad %v4uint %20936
%19238 = OpCompositeExtract %uint %13259 0
%15345 = OpCompositeInsert %v4uint %19238 %13853 0
%20748 = OpCompositeExtract %uint %13259 2
%7684 = OpCompositeInsert %v4uint %20748 %15345 1
%18765 = OpIAdd %uint %9503 %uint_1
%6303 = OpAccessChain %_ptr_Uniform_v4uint %3152 %int_0 %18765
%13036 = OpLoad %v4uint %6303
%19239 = OpCompositeExtract %uint %13036 0
%15346 = OpCompositeInsert %v4uint %19239 %7684 2
%20749 = OpCompositeExtract %uint %13036 2
%7685 = OpCompositeInsert %v4uint %20749 %15346 3
%18766 = OpIAdd %uint %9503 %uint_2
%6304 = OpAccessChain %_ptr_Uniform_v4uint %3152 %int_0 %18766
%13037 = OpLoad %v4uint %6304
%19240 = OpCompositeExtract %uint %13037 0
%15347 = OpCompositeInsert %v4uint %19240 %13853 0
%20750 = OpCompositeExtract %uint %13037 2
%7686 = OpCompositeInsert %v4uint %20750 %15347 1
%18767 = OpIAdd %uint %9503 %uint_3
%6305 = OpAccessChain %_ptr_Uniform_v4uint %3152 %int_0 %18767
%13038 = OpLoad %v4uint %6305
%19241 = OpCompositeExtract %uint %13038 0
%15348 = OpCompositeInsert %v4uint %19241 %7686 2
%23045 = OpCompositeExtract %uint %13038 2
%9297 = OpCompositeInsert %v4uint %23045 %15348 3
OpBranch %21872
%21872 = OpLabel
%11213 = OpPhi %v4uint %9297 %11374 %9296 %12129
%14093 = OpPhi %v4uint %7685 %11374 %7682 %12129
OpSelectionMerge %21263 DontFlatten
OpBranchConditional %19573 %22395 %21263
%22395 = OpLabel
OpSelectionMerge %14836 None
OpSwitch %9130 %14836 0 %21920 1 %21920 2 %10391 3 %10391 10 %10391 12 %10391
%10391 = OpLabel
%15273 = OpBitwiseAnd %v4uint %14093 %2352
%23564 = OpBitwiseAnd %v4uint %14093 %929
%24837 = OpShiftLeftLogical %v4uint %23564 %965
%18005 = OpBitwiseOr %v4uint %15273 %24837
%23170 = OpShiftRightLogical %v4uint %14093 %965
%6442 = OpBitwiseAnd %v4uint %23170 %929
%15589 = OpBitwiseOr %v4uint %18005 %6442
%19519 = OpBitwiseAnd %v4uint %11213 %2352
%17946 = OpBitwiseAnd %v4uint %11213 %929
%24838 = OpShiftLeftLogical %v4uint %17946 %965
%18006 = OpBitwiseOr %v4uint %19519 %24838
%23171 = OpShiftRightLogical %v4uint %11213 %965
%7392 = OpBitwiseAnd %v4uint %23171 %929
%7870 = OpBitwiseOr %v4uint %18006 %7392
OpBranch %14836
%21920 = OpLabel
%20117 = OpBitwiseAnd %v4uint %14093 %1838
%23565 = OpBitwiseAnd %v4uint %14093 %1611
%24839 = OpShiftLeftLogical %v4uint %23565 %749
%18007 = OpBitwiseOr %v4uint %20117 %24839
%23172 = OpShiftRightLogical %v4uint %14093 %749
%6443 = OpBitwiseAnd %v4uint %23172 %1611
%15590 = OpBitwiseOr %v4uint %18007 %6443
%19520 = OpBitwiseAnd %v4uint %11213 %1838
%17947 = OpBitwiseAnd %v4uint %11213 %1611
%24840 = OpShiftLeftLogical %v4uint %17947 %749
%18008 = OpBitwiseOr %v4uint %19520 %24840
%23173 = OpShiftRightLogical %v4uint %11213 %749
%7393 = OpBitwiseAnd %v4uint %23173 %1611
%7871 = OpBitwiseOr %v4uint %18008 %7393
OpBranch %14836
%14836 = OpLabel
%11251 = OpPhi %v4uint %11213 %22395 %7871 %21920 %7870 %10391
%13709 = OpPhi %v4uint %14093 %22395 %15590 %21920 %15589 %10391
OpBranch %21263
%21263 = OpLabel
%8952 = OpPhi %v4uint %11213 %21872 %11251 %14836
%22009 = OpPhi %v4uint %14093 %21872 %13709 %14836
%7319 = OpIAdd %v2uint %9840 %23020
OpSelectionMerge %21237 DontFlatten
OpBranchConditional %20496 %10574 %21373
%21373 = OpLabel
%10608 = OpBitcast %v2int %7319
%17090 = OpCompositeExtract %int %10608 0
%9469 = OpShiftRightArithmetic %int %17090 %int_5
%10055 = OpCompositeExtract %int %10608 1
%16476 = OpShiftRightArithmetic %int %10055 %int_5
%23373 = OpShiftRightLogical %uint %15783 %uint_5
%6314 = OpBitcast %int %23373
%21319 = OpIMul %int %16476 %6314
%16222 = OpIAdd %int %9469 %21319
%19086 = OpShiftLeftLogical %int %16222 %uint_9
%10934 = OpBitwiseAnd %int %17090 %int_7
%12600 = OpBitwiseAnd %int %10055 %int_14
%17741 = OpShiftLeftLogical %int %12600 %int_2
%17303 = OpIAdd %int %10934 %17741
%6375 = OpShiftLeftLogical %int %17303 %uint_2
%10161 = OpBitwiseAnd %int %6375 %int_n16
%12150 = OpShiftLeftLogical %int %10161 %int_1
%15435 = OpIAdd %int %19086 %12150
%13207 = OpBitwiseAnd %int %6375 %int_15
%19760 = OpIAdd %int %15435 %13207
%18356 = OpBitwiseAnd %int %10055 %int_1
%21578 = OpShiftLeftLogical %int %18356 %int_4
%16727 = OpIAdd %int %19760 %21578
%20514 = OpBitwiseAnd %int %16727 %int_n512
%9238 = OpShiftLeftLogical %int %20514 %int_3
%18995 = OpBitwiseAnd %int %10055 %int_16
%12151 = OpShiftLeftLogical %int %18995 %int_7
%16728 = OpIAdd %int %9238 %12151
%19166 = OpBitwiseAnd %int %16727 %int_448
%21579 = OpShiftLeftLogical %int %19166 %int_2
%16708 = OpIAdd %int %16728 %21579
%20611 = OpBitwiseAnd %int %10055 %int_8
%16831 = OpShiftRightArithmetic %int %20611 %int_2
%7916 = OpShiftRightArithmetic %int %17090 %int_3
%13750 = OpIAdd %int %16831 %7916
%21587 = OpBitwiseAnd %int %13750 %int_3
%21580 = OpShiftLeftLogical %int %21587 %int_6
%15436 = OpIAdd %int %16708 %21580
%11782 = OpBitwiseAnd %int %16727 %int_63
%14671 = OpIAdd %int %15436 %11782
%22127 = OpBitcast %uint %14671
OpBranch %21237
%10574 = OpLabel
%19866 = OpCompositeExtract %uint %7319 0
%11267 = OpCompositeExtract %uint %7319 1
%8414 = OpCompositeConstruct %v3uint %19866 %11267 %23037
%20125 = OpBitcast %v3int %8414
%10438 = OpCompositeExtract %int %20125 1
%9470 = OpShiftRightArithmetic %int %10438 %int_4
%10056 = OpCompositeExtract %int %20125 2
%16477 = OpShiftRightArithmetic %int %10056 %int_2
%23374 = OpShiftRightLogical %uint %25203 %uint_4
%6315 = OpBitcast %int %23374
%21281 = OpIMul %int %16477 %6315
%15143 = OpIAdd %int %9470 %21281
%9032 = OpShiftRightLogical %uint %15783 %uint_5
%12427 = OpBitcast %int %9032
%10360 = OpIMul %int %15143 %12427
%25154 = OpCompositeExtract %int %20125 0
%20423 = OpShiftRightArithmetic %int %25154 %int_5
%18940 = OpIAdd %int %20423 %10360
%8797 = OpShiftLeftLogical %int %18940 %uint_8
%11510 = OpBitwiseAnd %int %8797 %int_268435455
%18938 = OpShiftLeftLogical %int %11510 %int_1
%19768 = OpBitwiseAnd %int %25154 %int_7
%12601 = OpBitwiseAnd %int %10438 %int_6
%17742 = OpShiftLeftLogical %int %12601 %int_2
%17227 = OpIAdd %int %19768 %17742
%7048 = OpShiftLeftLogical %int %17227 %uint_8
%24035 = OpShiftRightArithmetic %int %7048 %int_6
%8725 = OpShiftRightArithmetic %int %10438 %int_3
%13731 = OpIAdd %int %8725 %16477
%23052 = OpBitwiseAnd %int %13731 %int_1
%16658 = OpShiftRightArithmetic %int %25154 %int_3
%18794 = OpShiftLeftLogical %int %23052 %int_1
%13501 = OpIAdd %int %16658 %18794
%19167 = OpBitwiseAnd %int %13501 %int_3
%21581 = OpShiftLeftLogical %int %19167 %int_1
%15437 = OpIAdd %int %23052 %21581
%13150 = OpBitwiseAnd %int %24035 %int_n16
%20336 = OpIAdd %int %18938 %13150
%23345 = OpShiftLeftLogical %int %20336 %int_1
%23274 = OpBitwiseAnd %int %24035 %int_15
%10332 = OpIAdd %int %23345 %23274
%18357 = OpBitwiseAnd %int %10056 %int_3
%21582 = OpShiftLeftLogical %int %18357 %uint_8
%16729 = OpIAdd %int %10332 %21582
%19168 = OpBitwiseAnd %int %10438 %int_1
%21583 = OpShiftLeftLogical %int %19168 %int_4
%16730 = OpIAdd %int %16729 %21583
%20438 = OpBitwiseAnd %int %15437 %int_1
%9987 = OpShiftLeftLogical %int %20438 %int_3
%13106 = OpShiftRightArithmetic %int %16730 %int_6
%14038 = OpBitwiseAnd %int %13106 %int_7
%13330 = OpIAdd %int %9987 %14038
%23346 = OpShiftLeftLogical %int %13330 %int_3
%23217 = OpBitwiseAnd %int %15437 %int_n2
%10908 = OpIAdd %int %23346 %23217
%23347 = OpShiftLeftLogical %int %10908 %int_2
%23218 = OpBitwiseAnd %int %16730 %int_n512
%10909 = OpIAdd %int %23347 %23218
%23348 = OpShiftLeftLogical %int %10909 %int_3
%21849 = OpBitwiseAnd %int %16730 %int_63
%24314 = OpIAdd %int %23348 %21849
%22128 = OpBitcast %uint %24314
OpBranch %21237
%21237 = OpLabel
%11376 = OpPhi %uint %22128 %10574 %22127 %21373
%20616 = OpIAdd %uint %11376 %24237
%18675 = OpShiftRightLogical %uint %20616 %uint_4
%12010 = OpIEqual %bool %19165 %uint_1
%22390 = OpIEqual %bool %19165 %uint_2
%22150 = OpLogicalOr %bool %12010 %22390
OpSelectionMerge %13411 None
OpBranchConditional %22150 %10583 %13411
%10583 = OpLabel
%18271 = OpBitwiseAnd %v4uint %22009 %2510
%9425 = OpShiftLeftLogical %v4uint %18271 %317
%20652 = OpBitwiseAnd %v4uint %22009 %1838
%17549 = OpShiftRightLogical %v4uint %20652 %317
%16376 = OpBitwiseOr %v4uint %9425 %17549
OpBranch %13411
%13411 = OpLabel
%22649 = OpPhi %v4uint %22009 %21237 %16376 %10583
%19638 = OpIEqual %bool %19165 %uint_3
%15139 = OpLogicalOr %bool %22390 %19638
OpSelectionMerge %11416 None
OpBranchConditional %15139 %11064 %11416
%11064 = OpLabel
%24087 = OpShiftLeftLogical %v4uint %22649 %749
%15335 = OpShiftRightLogical %v4uint %22649 %749
%10728 = OpBitwiseOr %v4uint %24087 %15335
OpBranch %11416
%11416 = OpLabel
%19767 = OpPhi %v4uint %22649 %13411 %10728 %11064
%24825 = OpAccessChain %_ptr_Uniform_v4uint %5522 %int_0 %18675
OpStore %24825 %19767
%21685 = OpIAdd %uint %18675 %uint_2
OpSelectionMerge %14874 None
OpBranchConditional %22150 %10584 %14874
%10584 = OpLabel
%18272 = OpBitwiseAnd %v4uint %8952 %2510
%9426 = OpShiftLeftLogical %v4uint %18272 %317
%20653 = OpBitwiseAnd %v4uint %8952 %1838
%17550 = OpShiftRightLogical %v4uint %20653 %317
%16377 = OpBitwiseOr %v4uint %9426 %17550
OpBranch %14874
%14874 = OpLabel
%10925 = OpPhi %v4uint %8952 %11416 %16377 %10584
OpSelectionMerge %11417 None
OpBranchConditional %15139 %11065 %11417
%11065 = OpLabel
%24088 = OpShiftLeftLogical %v4uint %10925 %749
%15336 = OpShiftRightLogical %v4uint %10925 %749
%10729 = OpBitwiseOr %v4uint %24088 %15336
OpBranch %11417
%11417 = OpLabel
%19769 = OpPhi %v4uint %10925 %14874 %10729 %11065
%8053 = OpAccessChain %_ptr_Uniform_v4uint %5522 %int_0 %21685
OpStore %8053 %19769
OpBranch %19578
%19578 = OpLabel
OpReturn
OpFunctionEnd
#endif
const uint32_t resolve_fast_32bpp_4xmsaa_cs[] = {
0x07230203, 0x00010000, 0x0008000A, 0x00006274, 0x00000000, 0x00020011,
0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E,
0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0006000F, 0x00000005,
0x0000161F, 0x6E69616D, 0x00000000, 0x00000F48, 0x00060010, 0x0000161F,
0x00000011, 0x00000008, 0x00000008, 0x00000001, 0x00050048, 0x0000040C,
0x00000000, 0x00000023, 0x00000000, 0x00050048, 0x0000040C, 0x00000001,
0x00000023, 0x00000004, 0x00050048, 0x0000040C, 0x00000002, 0x00000023,
0x00000008, 0x00050048, 0x0000040C, 0x00000003, 0x00000023, 0x0000000C,
0x00050048, 0x0000040C, 0x00000004, 0x00000023, 0x00000010, 0x00030047,
0x0000040C, 0x00000002, 0x00040047, 0x00000F48, 0x0000000B, 0x0000001C,
0x00040047, 0x000007DC, 0x00000006, 0x00000010, 0x00040048, 0x000007B4,
0x00000000, 0x00000018, 0x00050048, 0x000007B4, 0x00000000, 0x00000023,
0x00000000, 0x00030047, 0x000007B4, 0x00000003, 0x00040047, 0x00000C50,
0x00000022, 0x00000001, 0x00040047, 0x00000C50, 0x00000021, 0x00000000,
0x00040047, 0x000007DD, 0x00000006, 0x00000010, 0x00040048, 0x000007B5,
0x00000000, 0x00000019, 0x00050048, 0x000007B5, 0x00000000, 0x00000023,
0x00000000, 0x00030047, 0x000007B5, 0x00000003, 0x00040047, 0x00001592,
0x00000022, 0x00000000, 0x00040047, 0x00001592, 0x00000021, 0x00000000,
0x00040047, 0x00000AC7, 0x0000000B, 0x00000019, 0x00020013, 0x00000008,
0x00030021, 0x00000502, 0x00000008, 0x00020014, 0x00000009, 0x00040017,
0x0000000F, 0x00000009, 0x00000002, 0x00040015, 0x0000000B, 0x00000020,
0x00000000, 0x00040017, 0x00000011, 0x0000000B, 0x00000002, 0x00040017,
0x00000017, 0x0000000B, 0x00000004, 0x00040015, 0x0000000C, 0x00000020,
0x00000001, 0x00040017, 0x00000012, 0x0000000C, 0x00000002, 0x00040017,
0x00000016, 0x0000000C, 0x00000003, 0x0004002B, 0x0000000B, 0x00000A0D,
0x00000001, 0x0004002B, 0x0000000B, 0x00000A10, 0x00000002, 0x0004002B,
0x0000000B, 0x000008A6, 0x00FF00FF, 0x0004002B, 0x0000000B, 0x00000A22,
0x00000008, 0x0004002B, 0x0000000B, 0x000005FD, 0xFF00FF00, 0x0004002B,
0x0000000B, 0x00000A13, 0x00000003, 0x0004002B, 0x0000000B, 0x00000A3A,
0x00000010, 0x0005002C, 0x00000011, 0x0000072D, 0x00000A10, 0x00000A0D,
0x0004002B, 0x0000000B, 0x00000A0A, 0x00000000, 0x0005002C, 0x00000011,
0x0000070F, 0x00000A0A, 0x00000A0A, 0x0005002C, 0x00000011, 0x00000724,
0x00000A0D, 0x00000A0D, 0x0005002C, 0x00000011, 0x00000718, 0x00000A0D,
0x00000A0A, 0x0004002B, 0x0000000B, 0x00000AFA, 0x00000050, 0x0005002C,
0x00000011, 0x00000A9F, 0x00000AFA, 0x00000A3A, 0x0004002B, 0x0000000C,
0x00000A1A, 0x00000005, 0x0004002B, 0x0000000B, 0x00000A19, 0x00000005,
0x0004002B, 0x0000000B, 0x00000A1F, 0x00000007, 0x0004002B, 0x0000000C,
0x00000A20, 0x00000007, 0x0004002B, 0x0000000C, 0x00000A35, 0x0000000E,
0x0004002B, 0x0000000C, 0x00000A11, 0x00000002, 0x0004002B, 0x0000000C,
0x000009DB, 0xFFFFFFF0, 0x0004002B, 0x0000000C, 0x00000A0E, 0x00000001,
0x0004002B, 0x0000000C, 0x00000A38, 0x0000000F, 0x0004002B, 0x0000000C,
0x00000A17, 0x00000004, 0x0004002B, 0x0000000C, 0x0000040B, 0xFFFFFE00,
0x0004002B, 0x0000000C, 0x00000A14, 0x00000003, 0x0004002B, 0x0000000C,
0x00000A3B, 0x00000010, 0x0004002B, 0x0000000C, 0x00000388, 0x000001C0,
0x0004002B, 0x0000000C, 0x00000A23, 0x00000008, 0x0004002B, 0x0000000C,
0x00000A1D, 0x00000006, 0x0004002B, 0x0000000C, 0x00000AC8, 0x0000003F,
0x0004002B, 0x0000000B, 0x00000A16, 0x00000004, 0x0004002B, 0x0000000C,
0x0000078B, 0x0FFFFFFF, 0x0004002B, 0x0000000C, 0x00000A05, 0xFFFFFFFE,
0x0007001E, 0x0000040C, 0x0000000B, 0x0000000B, 0x0000000B, 0x0000000B,
0x0000000B, 0x00040020, 0x00000688, 0x00000009, 0x0000040C, 0x0004003B,
0x00000688, 0x0000118F, 0x00000009, 0x0004002B, 0x0000000C, 0x00000A0B,
0x00000000, 0x00040020, 0x00000288, 0x00000009, 0x0000000B, 0x0004002B,
0x0000000B, 0x00000A44, 0x000003FF, 0x0004002B, 0x0000000B, 0x00000A28,
0x0000000A, 0x0004002B, 0x0000000B, 0x00000AFE, 0x00001000, 0x0004002B,
0x0000000B, 0x00000A31, 0x0000000D, 0x0004002B, 0x0000000B, 0x00000AFB,
0x00000FFF, 0x0004002B, 0x0000000B, 0x00000A55, 0x00000019, 0x0004002B,
0x0000000B, 0x00000A37, 0x0000000F, 0x0005002C, 0x00000011, 0x0000073F,
0x00000A0A, 0x00000A16, 0x0005002C, 0x00000011, 0x00000740, 0x00000A16,
0x00000A0D, 0x0004002B, 0x0000000B, 0x00000A81, 0x000007FF, 0x0004002B,
0x0000000B, 0x00000926, 0x01000000, 0x0004002B, 0x0000000B, 0x00000A46,
0x00000014, 0x0004002B, 0x0000000B, 0x00000A52, 0x00000018, 0x0005002C,
0x00000011, 0x000008E3, 0x00000A46, 0x00000A52, 0x0004002B, 0x0000000B,
0x00000A5E, 0x0000001C, 0x00040017, 0x00000014, 0x0000000B, 0x00000003,
0x0004002B, 0x0000000B, 0x00000144, 0x000000FF, 0x0004002B, 0x0000000B,
0x00000B54, 0xC00FFC00, 0x00040020, 0x00000291, 0x00000001, 0x00000014,
0x0004003B, 0x00000291, 0x00000F48, 0x00000001, 0x00040020, 0x00000289,
0x00000001, 0x0000000B, 0x0005002C, 0x00000011, 0x0000072A, 0x00000A13,
0x00000A0A, 0x0003001D, 0x000007DC, 0x00000017, 0x0003001E, 0x000007B4,
0x000007DC, 0x00040020, 0x00000A32, 0x00000002, 0x000007B4, 0x0004003B,
0x00000A32, 0x00000C50, 0x00000002, 0x00040020, 0x00000294, 0x00000002,
0x00000017, 0x0003001D, 0x000007DD, 0x00000017, 0x0003001E, 0x000007B5,
0x000007DD, 0x00040020, 0x00000A33, 0x00000002, 0x000007B5, 0x0004003B,
0x00000A33, 0x00001592, 0x00000002, 0x0006002C, 0x00000014, 0x00000AC7,
0x00000A22, 0x00000A22, 0x00000A0D, 0x00030001, 0x00000017, 0x0000361D,
0x0005002C, 0x00000011, 0x0000074E, 0x00000A13, 0x00000A13, 0x0005002C,
0x00000011, 0x0000084A, 0x00000A37, 0x00000A37, 0x0005002C, 0x00000011,
0x00000739, 0x00000A10, 0x00000A10, 0x0007002C, 0x00000017, 0x0000072E,
0x000005FD, 0x000005FD, 0x000005FD, 0x000005FD, 0x0007002C, 0x00000017,
0x0000064B, 0x00000144, 0x00000144, 0x00000144, 0x00000144, 0x0007002C,
0x00000017, 0x000002ED, 0x00000A3A, 0x00000A3A, 0x00000A3A, 0x00000A3A,
0x0007002C, 0x00000017, 0x00000930, 0x00000B54, 0x00000B54, 0x00000B54,
0x00000B54, 0x0007002C, 0x00000017, 0x000003A1, 0x00000A44, 0x00000A44,
0x00000A44, 0x00000A44, 0x0007002C, 0x00000017, 0x000003C5, 0x00000A46,
0x00000A46, 0x00000A46, 0x00000A46, 0x0004002B, 0x0000000B, 0x00000A25,
0x00000009, 0x0007002C, 0x00000017, 0x000009CE, 0x000008A6, 0x000008A6,
0x000008A6, 0x000008A6, 0x0007002C, 0x00000017, 0x0000013D, 0x00000A22,
0x00000A22, 0x00000A22, 0x00000A22, 0x00050036, 0x00000008, 0x0000161F,
0x00000000, 0x00000502, 0x000200F8, 0x00003B06, 0x000300F7, 0x00004C7A,
0x00000000, 0x000300FB, 0x00000A0A, 0x00002E68, 0x000200F8, 0x00002E68,
0x00050041, 0x00000288, 0x000056E5, 0x0000118F, 0x00000A0B, 0x0004003D,
0x0000000B, 0x00003D0B, 0x000056E5, 0x00050041, 0x00000288, 0x000058AC,
0x0000118F, 0x00000A0E, 0x0004003D, 0x0000000B, 0x000051B7, 0x000058AC,
0x000500C7, 0x0000000B, 0x00004ADC, 0x00003D0B, 0x00000A44, 0x000500C7,
0x0000000B, 0x000055EF, 0x00003D0B, 0x00000AFE, 0x000500AB, 0x00000009,
0x0000500F, 0x000055EF, 0x00000A0A, 0x000500C2, 0x0000000B, 0x00002843,
0x00003D0B, 0x00000A31, 0x000500C7, 0x0000000B, 0x00005F72, 0x00002843,
0x00000AFB, 0x000500C2, 0x0000000B, 0x00004994, 0x00003D0B, 0x00000A55,
0x000500C7, 0x0000000B, 0x000023AA, 0x00004994, 0x00000A37, 0x00050050,
0x00000011, 0x0000226E, 0x000051B7, 0x000051B7, 0x000500C2, 0x00000011,
0x00002289, 0x0000226E, 0x0000073F, 0x000500C4, 0x00000011, 0x000057EB,
0x00000724, 0x00000740, 0x00050082, 0x00000011, 0x000048B0, 0x000057EB,
0x00000724, 0x000500C7, 0x00000011, 0x00004937, 0x00002289, 0x000048B0,
0x000500C4, 0x00000011, 0x00005784, 0x00004937, 0x0000074E, 0x00050084,
0x00000011, 0x000059EB, 0x00005784, 0x00000724, 0x000500C2, 0x0000000B,
0x00003213, 0x000051B7, 0x00000A19, 0x000500C7, 0x0000000B, 0x00003F4C,
0x00003213, 0x00000A81, 0x00050041, 0x00000288, 0x0000492C, 0x0000118F,
0x00000A11, 0x0004003D, 0x0000000B, 0x00005EAC, 0x0000492C, 0x00050041,
0x00000288, 0x000058AD, 0x0000118F, 0x00000A14, 0x0004003D, 0x0000000B,
0x000051B8, 0x000058AD, 0x000500C7, 0x0000000B, 0x00004ADD, 0x00005EAC,
0x00000A1F, 0x000500C7, 0x0000000B, 0x000055F0, 0x00005EAC, 0x00000A22,
0x000500AB, 0x00000009, 0x00005010, 0x000055F0, 0x00000A0A, 0x000500C2,
0x0000000B, 0x000028A2, 0x00005EAC, 0x00000A16, 0x000500C7, 0x0000000B,
0x000059FD, 0x000028A2, 0x00000A1F, 0x000500C7, 0x0000000B, 0x00005A4E,
0x00005EAC, 0x00000926, 0x000500AB, 0x00000009, 0x00004C75, 0x00005A4E,
0x00000A0A, 0x000500C7, 0x0000000B, 0x00001F43, 0x000051B8, 0x00000A44,
0x000500C4, 0x0000000B, 0x00003DA7, 0x00001F43, 0x00000A19, 0x000500C2,
0x0000000B, 0x0000583F, 0x000051B8, 0x00000A28, 0x000500C7, 0x0000000B,
0x00004BBE, 0x0000583F, 0x00000A44, 0x000500C4, 0x0000000B, 0x00006273,
0x00004BBE, 0x00000A19, 0x00050050, 0x00000011, 0x000028B6, 0x000051B8,
0x000051B8, 0x000500C2, 0x00000011, 0x00002891, 0x000028B6, 0x000008E3,
0x000500C7, 0x00000011, 0x00005B53, 0x00002891, 0x0000084A, 0x000500C4,
0x00000011, 0x00003F4F, 0x00005B53, 0x0000074E, 0x00050084, 0x00000011,
0x000059EC, 0x00003F4F, 0x00000724, 0x000500C2, 0x0000000B, 0x00003214,
0x000051B8, 0x00000A5E, 0x000500C7, 0x0000000B, 0x00003F4D, 0x00003214,
0x00000A1F, 0x00050041, 0x00000288, 0x0000492D, 0x0000118F, 0x00000A17,
0x0004003D, 0x0000000B, 0x00005EAD, 0x0000492D, 0x00050041, 0x00000289,
0x000056D1, 0x00000F48, 0x00000A0A, 0x0004003D, 0x0000000B, 0x00001BAD,
0x000056D1, 0x000500AE, 0x00000009, 0x00001CED, 0x00001BAD, 0x00003F4C,
0x000300F7, 0x00004427, 0x00000002, 0x000400FA, 0x00001CED, 0x000055E8,
0x00004427, 0x000200F8, 0x000055E8, 0x000200F9, 0x00004C7A, 0x000200F8,
0x00004427, 0x0004003D, 0x00000014, 0x0000392D, 0x00000F48, 0x0007004F,
0x00000011, 0x00004849, 0x0000392D, 0x0000392D, 0x00000000, 0x00000001,
0x000500C4, 0x00000011, 0x00002670, 0x00004849, 0x0000072A, 0x00050051,
0x0000000B, 0x00005FB2, 0x00002670, 0x00000000, 0x00050051, 0x0000000B,
0x00001BEE, 0x00002670, 0x00000001, 0x0007000C, 0x0000000B, 0x00005F7E,
0x00000001, 0x00000029, 0x00001BEE, 0x00000A0A, 0x00050050, 0x00000011,
0x000051EF, 0x00005FB2, 0x00005F7E, 0x00050080, 0x00000011, 0x0000522C,
0x000051EF, 0x000059EB, 0x000500B2, 0x00000009, 0x00003ECB, 0x00003F4D,
0x00000A13, 0x000300F7, 0x0000195B, 0x00000000, 0x000400FA, 0x00003ECB,
0x00002AEE, 0x00003AEF, 0x000200F8, 0x00003AEF, 0x000500AA, 0x00000009,
0x000034FE, 0x00003F4D, 0x00000A19, 0x000600A9, 0x0000000B, 0x000020F6,
0x000034FE, 0x00000A10, 0x00000A0A, 0x000200F9, 0x0000195B, 0x000200F8,
0x00002AEE, 0x000200F9, 0x0000195B, 0x000200F8, 0x0000195B, 0x000700F5,
0x0000000B, 0x000055FE, 0x00003F4D, 0x00002AEE, 0x000020F6, 0x00003AEF,
0x000500AE, 0x0000000F, 0x00005BE0, 0x00000739, 0x0000072D, 0x000600A9,
0x00000011, 0x00001E5B, 0x00005BE0, 0x00000724, 0x0000070F, 0x000500C4,
0x00000011, 0x00002AEA, 0x0000522C, 0x00001E5B, 0x00050050, 0x00000011,
0x0000605D, 0x000055FE, 0x000055FE, 0x000500C2, 0x00000011, 0x00002385,
0x0000605D, 0x00000718, 0x000500C7, 0x00000011, 0x00003EC8, 0x00002385,
0x00000724, 0x00050080, 0x00000011, 0x00004F30, 0x00002AEA, 0x00003EC8,
0x00050084, 0x00000011, 0x00005299, 0x00000A9F, 0x00000724, 0x000500C2,
0x00000011, 0x00003985, 0x00005299, 0x0000070F, 0x00050086, 0x00000011,
0x00004D57, 0x00004F30, 0x00003985, 0x00050051, 0x0000000B, 0x00004FA6,
0x00004D57, 0x00000001, 0x00050084, 0x0000000B, 0x00002B26, 0x00004FA6,
0x00004ADC, 0x00050051, 0x0000000B, 0x00006059, 0x00004D57, 0x00000000,
0x00050080, 0x0000000B, 0x00005420, 0x00002B26, 0x00006059, 0x00050080,
0x0000000B, 0x00002226, 0x00005F72, 0x00005420, 0x00050084, 0x00000011,
0x0000193B, 0x00004D57, 0x00003985, 0x00050082, 0x00000011, 0x000037C7,
0x00004F30, 0x0000193B, 0x000300F7, 0x00004944, 0x00000000, 0x000400FA,
0x0000500F, 0x00002E70, 0x00004944, 0x000200F8, 0x00002E70, 0x00050051,
0x0000000B, 0x00004259, 0x00003985, 0x00000000, 0x000500C2, 0x0000000B,
0x000033FB, 0x00004259, 0x00000A0D, 0x00050051, 0x0000000B, 0x000056BF,
0x000037C7, 0x00000000, 0x0004007C, 0x0000000C, 0x00003B5D, 0x000056BF,
0x000500AE, 0x00000009, 0x00003D78, 0x000056BF, 0x000033FB, 0x000300F7,
0x00005942, 0x00000000, 0x000400FA, 0x00003D78, 0x00005A15, 0x00005FF5,
0x000200F8, 0x00005FF5, 0x0004007C, 0x0000000C, 0x000050D5, 0x000033FB,
0x000200F9, 0x00005942, 0x000200F8, 0x00005A15, 0x0004007C, 0x0000000C,
0x000049C5, 0x000033FB, 0x0004007E, 0x0000000C, 0x0000432F, 0x000049C5,
0x000200F9, 0x00005942, 0x000200F8, 0x00005942, 0x000700F5, 0x0000000C,
0x0000273E, 0x0000432F, 0x00005A15, 0x000050D5, 0x00005FF5, 0x00050080,
0x0000000C, 0x00002ECF, 0x00003B5D, 0x0000273E, 0x0004007C, 0x0000000B,
0x0000452D, 0x00002ECF, 0x00060052, 0x00000011, 0x00005446, 0x0000452D,
0x000037C7, 0x00000000, 0x000200F9, 0x00004944, 0x000200F8, 0x00004944,
0x000700F5, 0x00000011, 0x000043D0, 0x000037C7, 0x0000195B, 0x00005446,
0x00005942, 0x00050051, 0x0000000B, 0x00005DD7, 0x00005299, 0x00000000,
0x00050051, 0x0000000B, 0x0000571F, 0x00005299, 0x00000001, 0x00050084,
0x0000000B, 0x00003372, 0x00005DD7, 0x0000571F, 0x00050084, 0x0000000B,
0x000038D7, 0x00002226, 0x00003372, 0x00050051, 0x0000000B, 0x00001A95,
0x000043D0, 0x00000001, 0x00050051, 0x0000000B, 0x00005BE6, 0x00003985,
0x00000000, 0x00050084, 0x0000000B, 0x00005966, 0x00001A95, 0x00005BE6,
0x00050051, 0x0000000B, 0x00001AE6, 0x000043D0, 0x00000000, 0x00050080,
0x0000000B, 0x000025E0, 0x00005966, 0x00001AE6, 0x000500C4, 0x0000000B,
0x00004AFF, 0x000025E0, 0x00000A0A, 0x00050080, 0x0000000B, 0x0000205B,
0x000038D7, 0x00004AFF, 0x000500C2, 0x0000000B, 0x0000251F, 0x0000205B,
0x00000A10, 0x000500AB, 0x00000009, 0x00002B9B, 0x00003F4D, 0x00000A10,
0x000300F7, 0x000033DC, 0x00000000, 0x000400FA, 0x00002B9B, 0x00004032,
0x000033DC, 0x000200F8, 0x00004032, 0x000500AB, 0x00000009, 0x00002959,
0x00003F4D, 0x00000A13, 0x000200F9, 0x000033DC, 0x000200F8, 0x000033DC,
0x000700F5, 0x00000009, 0x00002AAC, 0x00002B9B, 0x00004944, 0x00002959,
0x00004032, 0x000300F7, 0x00005570, 0x00000002, 0x000400FA, 0x00002AAC,
0x00002C6E, 0x00002F61, 0x000200F8, 0x00002F61, 0x00060041, 0x00000294,
0x00004852, 0x00000C50, 0x00000A0B, 0x0000251F, 0x0004003D, 0x00000017,
0x000033CA, 0x00004852, 0x00050051, 0x0000000B, 0x00004B22, 0x000033CA,
0x00000001, 0x00060052, 0x00000017, 0x00003BED, 0x00004B22, 0x0000361D,
0x00000000, 0x00050051, 0x0000000B, 0x00005109, 0x000033CA, 0x00000003,
0x00060052, 0x00000017, 0x00001E01, 0x00005109, 0x00003BED, 0x00000001,
0x00050080, 0x0000000B, 0x0000494A, 0x0000251F, 0x00000A0D, 0x00060041,
0x00000294, 0x0000189C, 0x00000C50, 0x00000A0B, 0x0000494A, 0x0004003D,
0x00000017, 0x000032E9, 0x0000189C, 0x00050051, 0x0000000B, 0x00004B23,
0x000032E9, 0x00000001, 0x00060052, 0x00000017, 0x00003BEE, 0x00004B23,
0x00001E01, 0x00000002, 0x00050051, 0x0000000B, 0x0000510A, 0x000032E9,
0x00000003, 0x00060052, 0x00000017, 0x00001E02, 0x0000510A, 0x00003BEE,
0x00000003, 0x00050080, 0x0000000B, 0x0000494B, 0x0000251F, 0x00000A10,
0x00060041, 0x00000294, 0x0000189D, 0x00000C50, 0x00000A0B, 0x0000494B,
0x0004003D, 0x00000017, 0x000032EA, 0x0000189D, 0x00050051, 0x0000000B,
0x00004B24, 0x000032EA, 0x00000001, 0x00060052, 0x00000017, 0x00003BEF,
0x00004B24, 0x0000361D, 0x00000000, 0x00050051, 0x0000000B, 0x0000510B,
0x000032EA, 0x00000003, 0x00060052, 0x00000017, 0x00001E03, 0x0000510B,
0x00003BEF, 0x00000001, 0x00050080, 0x0000000B, 0x0000494C, 0x0000251F,
0x00000A13, 0x00060041, 0x00000294, 0x0000189E, 0x00000C50, 0x00000A0B,
0x0000494C, 0x0004003D, 0x00000017, 0x000032EB, 0x0000189E, 0x00050051,
0x0000000B, 0x00004B25, 0x000032EB, 0x00000001, 0x00060052, 0x00000017,
0x00003BF0, 0x00004B25, 0x00001E03, 0x00000002, 0x00050051, 0x0000000B,
0x00005A04, 0x000032EB, 0x00000003, 0x00060052, 0x00000017, 0x00002450,
0x00005A04, 0x00003BF0, 0x00000003, 0x000200F9, 0x00005570, 0x000200F8,
0x00002C6E, 0x00060041, 0x00000294, 0x000051C8, 0x00000C50, 0x00000A0B,
0x0000251F, 0x0004003D, 0x00000017, 0x000033CB, 0x000051C8, 0x00050051,
0x0000000B, 0x00004B26, 0x000033CB, 0x00000000, 0x00060052, 0x00000017,
0x00003BF1, 0x00004B26, 0x0000361D, 0x00000000, 0x00050051, 0x0000000B,
0x0000510C, 0x000033CB, 0x00000002, 0x00060052, 0x00000017, 0x00001E04,
0x0000510C, 0x00003BF1, 0x00000001, 0x00050080, 0x0000000B, 0x0000494D,
0x0000251F, 0x00000A0D, 0x00060041, 0x00000294, 0x0000189F, 0x00000C50,
0x00000A0B, 0x0000494D, 0x0004003D, 0x00000017, 0x000032EC, 0x0000189F,
0x00050051, 0x0000000B, 0x00004B27, 0x000032EC, 0x00000000, 0x00060052,
0x00000017, 0x00003BF2, 0x00004B27, 0x00001E04, 0x00000002, 0x00050051,
0x0000000B, 0x0000510D, 0x000032EC, 0x00000002, 0x00060052, 0x00000017,
0x00001E05, 0x0000510D, 0x00003BF2, 0x00000003, 0x00050080, 0x0000000B,
0x0000494E, 0x0000251F, 0x00000A10, 0x00060041, 0x00000294, 0x000018A0,
0x00000C50, 0x00000A0B, 0x0000494E, 0x0004003D, 0x00000017, 0x000032ED,
0x000018A0, 0x00050051, 0x0000000B, 0x00004B28, 0x000032ED, 0x00000000,
0x00060052, 0x00000017, 0x00003BF3, 0x00004B28, 0x0000361D, 0x00000000,
0x00050051, 0x0000000B, 0x0000510E, 0x000032ED, 0x00000002, 0x00060052,
0x00000017, 0x00001E06, 0x0000510E, 0x00003BF3, 0x00000001, 0x00050080,
0x0000000B, 0x0000494F, 0x0000251F, 0x00000A13, 0x00060041, 0x00000294,
0x000018A1, 0x00000C50, 0x00000A0B, 0x0000494F, 0x0004003D, 0x00000017,
0x000032EE, 0x000018A1, 0x00050051, 0x0000000B, 0x00004B29, 0x000032EE,
0x00000000, 0x00060052, 0x00000017, 0x00003BF4, 0x00004B29, 0x00001E06,
0x00000002, 0x00050051, 0x0000000B, 0x00005A05, 0x000032EE, 0x00000002,
0x00060052, 0x00000017, 0x00002451, 0x00005A05, 0x00003BF4, 0x00000003,
0x000200F9, 0x00005570, 0x000200F8, 0x00005570, 0x000700F5, 0x00000017,
0x00002BCD, 0x00002451, 0x00002C6E, 0x00002450, 0x00002F61, 0x000700F5,
0x00000017, 0x0000370D, 0x00001E05, 0x00002C6E, 0x00001E02, 0x00002F61,
0x000300F7, 0x0000530F, 0x00000002, 0x000400FA, 0x00004C75, 0x0000577B,
0x0000530F, 0x000200F8, 0x0000577B, 0x000300F7, 0x000039F4, 0x00000000,
0x000F00FB, 0x000023AA, 0x000039F4, 0x00000000, 0x000055A0, 0x00000001,
0x000055A0, 0x00000002, 0x00002897, 0x00000003, 0x00002897, 0x0000000A,
0x00002897, 0x0000000C, 0x00002897, 0x000200F8, 0x00002897, 0x000500C7,
0x00000017, 0x00003BA9, 0x0000370D, 0x00000930, 0x000500C7, 0x00000017,
0x00005C0C, 0x0000370D, 0x000003A1, 0x000500C4, 0x00000017, 0x00006105,
0x00005C0C, 0x000003C5, 0x000500C5, 0x00000017, 0x00004655, 0x00003BA9,
0x00006105, 0x000500C2, 0x00000017, 0x00005A82, 0x0000370D, 0x000003C5,
0x000500C7, 0x00000017, 0x0000192A, 0x00005A82, 0x000003A1, 0x000500C5,
0x00000017, 0x00003CE5, 0x00004655, 0x0000192A, 0x000500C7, 0x00000017,
0x00004C3F, 0x00002BCD, 0x00000930, 0x000500C7, 0x00000017, 0x0000461A,
0x00002BCD, 0x000003A1, 0x000500C4, 0x00000017, 0x00006106, 0x0000461A,
0x000003C5, 0x000500C5, 0x00000017, 0x00004656, 0x00004C3F, 0x00006106,
0x000500C2, 0x00000017, 0x00005A83, 0x00002BCD, 0x000003C5, 0x000500C7,
0x00000017, 0x00001CE0, 0x00005A83, 0x000003A1, 0x000500C5, 0x00000017,
0x00001EBE, 0x00004656, 0x00001CE0, 0x000200F9, 0x000039F4, 0x000200F8,
0x000055A0, 0x000500C7, 0x00000017, 0x00004E95, 0x0000370D, 0x0000072E,
0x000500C7, 0x00000017, 0x00005C0D, 0x0000370D, 0x0000064B, 0x000500C4,
0x00000017, 0x00006107, 0x00005C0D, 0x000002ED, 0x000500C5, 0x00000017,
0x00004657, 0x00004E95, 0x00006107, 0x000500C2, 0x00000017, 0x00005A84,
0x0000370D, 0x000002ED, 0x000500C7, 0x00000017, 0x0000192B, 0x00005A84,
0x0000064B, 0x000500C5, 0x00000017, 0x00003CE6, 0x00004657, 0x0000192B,
0x000500C7, 0x00000017, 0x00004C40, 0x00002BCD, 0x0000072E, 0x000500C7,
0x00000017, 0x0000461B, 0x00002BCD, 0x0000064B, 0x000500C4, 0x00000017,
0x00006108, 0x0000461B, 0x000002ED, 0x000500C5, 0x00000017, 0x00004658,
0x00004C40, 0x00006108, 0x000500C2, 0x00000017, 0x00005A85, 0x00002BCD,
0x000002ED, 0x000500C7, 0x00000017, 0x00001CE1, 0x00005A85, 0x0000064B,
0x000500C5, 0x00000017, 0x00001EBF, 0x00004658, 0x00001CE1, 0x000200F9,
0x000039F4, 0x000200F8, 0x000039F4, 0x000900F5, 0x00000017, 0x00002BF3,
0x00002BCD, 0x0000577B, 0x00001EBF, 0x000055A0, 0x00001EBE, 0x00002897,
0x000900F5, 0x00000017, 0x0000358D, 0x0000370D, 0x0000577B, 0x00003CE6,
0x000055A0, 0x00003CE5, 0x00002897, 0x000200F9, 0x0000530F, 0x000200F8,
0x0000530F, 0x000700F5, 0x00000017, 0x000022F8, 0x00002BCD, 0x00005570,
0x00002BF3, 0x000039F4, 0x000700F5, 0x00000017, 0x000055F9, 0x0000370D,
0x00005570, 0x0000358D, 0x000039F4, 0x00050080, 0x00000011, 0x00001C97,
0x00002670, 0x000059EC, 0x000300F7, 0x000052F5, 0x00000002, 0x000400FA,
0x00005010, 0x0000294E, 0x0000537D, 0x000200F8, 0x0000537D, 0x0004007C,
0x00000012, 0x00002970, 0x00001C97, 0x00050051, 0x0000000C, 0x000042C2,
0x00002970, 0x00000000, 0x000500C3, 0x0000000C, 0x000024FD, 0x000042C2,
0x00000A1A, 0x00050051, 0x0000000C, 0x00002747, 0x00002970, 0x00000001,
0x000500C3, 0x0000000C, 0x0000405C, 0x00002747, 0x00000A1A, 0x000500C2,
0x0000000B, 0x00005B4D, 0x00003DA7, 0x00000A19, 0x0004007C, 0x0000000C,
0x000018AA, 0x00005B4D, 0x00050084, 0x0000000C, 0x00005347, 0x0000405C,
0x000018AA, 0x00050080, 0x0000000C, 0x00003F5E, 0x000024FD, 0x00005347,
0x000500C4, 0x0000000C, 0x00004A8E, 0x00003F5E, 0x00000A25, 0x000500C7,
0x0000000C, 0x00002AB6, 0x000042C2, 0x00000A20, 0x000500C7, 0x0000000C,
0x00003138, 0x00002747, 0x00000A35, 0x000500C4, 0x0000000C, 0x0000454D,
0x00003138, 0x00000A11, 0x00050080, 0x0000000C, 0x00004397, 0x00002AB6,
0x0000454D, 0x000500C4, 0x0000000C, 0x000018E7, 0x00004397, 0x00000A10,
0x000500C7, 0x0000000C, 0x000027B1, 0x000018E7, 0x000009DB, 0x000500C4,
0x0000000C, 0x00002F76, 0x000027B1, 0x00000A0E, 0x00050080, 0x0000000C,
0x00003C4B, 0x00004A8E, 0x00002F76, 0x000500C7, 0x0000000C, 0x00003397,
0x000018E7, 0x00000A38, 0x00050080, 0x0000000C, 0x00004D30, 0x00003C4B,
0x00003397, 0x000500C7, 0x0000000C, 0x000047B4, 0x00002747, 0x00000A0E,
0x000500C4, 0x0000000C, 0x0000544A, 0x000047B4, 0x00000A17, 0x00050080,
0x0000000C, 0x00004157, 0x00004D30, 0x0000544A, 0x000500C7, 0x0000000C,
0x00005022, 0x00004157, 0x0000040B, 0x000500C4, 0x0000000C, 0x00002416,
0x00005022, 0x00000A14, 0x000500C7, 0x0000000C, 0x00004A33, 0x00002747,
0x00000A3B, 0x000500C4, 0x0000000C, 0x00002F77, 0x00004A33, 0x00000A20,
0x00050080, 0x0000000C, 0x00004158, 0x00002416, 0x00002F77, 0x000500C7,
0x0000000C, 0x00004ADE, 0x00004157, 0x00000388, 0x000500C4, 0x0000000C,
0x0000544B, 0x00004ADE, 0x00000A11, 0x00050080, 0x0000000C, 0x00004144,
0x00004158, 0x0000544B, 0x000500C7, 0x0000000C, 0x00005083, 0x00002747,
0x00000A23, 0x000500C3, 0x0000000C, 0x000041BF, 0x00005083, 0x00000A11,
0x000500C3, 0x0000000C, 0x00001EEC, 0x000042C2, 0x00000A14, 0x00050080,
0x0000000C, 0x000035B6, 0x000041BF, 0x00001EEC, 0x000500C7, 0x0000000C,
0x00005453, 0x000035B6, 0x00000A14, 0x000500C4, 0x0000000C, 0x0000544C,
0x00005453, 0x00000A1D, 0x00050080, 0x0000000C, 0x00003C4C, 0x00004144,
0x0000544C, 0x000500C7, 0x0000000C, 0x00002E06, 0x00004157, 0x00000AC8,
0x00050080, 0x0000000C, 0x0000394F, 0x00003C4C, 0x00002E06, 0x0004007C,
0x0000000B, 0x0000566F, 0x0000394F, 0x000200F9, 0x000052F5, 0x000200F8,
0x0000294E, 0x00050051, 0x0000000B, 0x00004D9A, 0x00001C97, 0x00000000,
0x00050051, 0x0000000B, 0x00002C03, 0x00001C97, 0x00000001, 0x00060050,
0x00000014, 0x000020DE, 0x00004D9A, 0x00002C03, 0x000059FD, 0x0004007C,
0x00000016, 0x00004E9D, 0x000020DE, 0x00050051, 0x0000000C, 0x000028C6,
0x00004E9D, 0x00000001, 0x000500C3, 0x0000000C, 0x000024FE, 0x000028C6,
0x00000A17, 0x00050051, 0x0000000C, 0x00002748, 0x00004E9D, 0x00000002,
0x000500C3, 0x0000000C, 0x0000405D, 0x00002748, 0x00000A11, 0x000500C2,
0x0000000B, 0x00005B4E, 0x00006273, 0x00000A16, 0x0004007C, 0x0000000C,
0x000018AB, 0x00005B4E, 0x00050084, 0x0000000C, 0x00005321, 0x0000405D,
0x000018AB, 0x00050080, 0x0000000C, 0x00003B27, 0x000024FE, 0x00005321,
0x000500C2, 0x0000000B, 0x00002348, 0x00003DA7, 0x00000A19, 0x0004007C,
0x0000000C, 0x0000308B, 0x00002348, 0x00050084, 0x0000000C, 0x00002878,
0x00003B27, 0x0000308B, 0x00050051, 0x0000000C, 0x00006242, 0x00004E9D,
0x00000000, 0x000500C3, 0x0000000C, 0x00004FC7, 0x00006242, 0x00000A1A,
0x00050080, 0x0000000C, 0x000049FC, 0x00004FC7, 0x00002878, 0x000500C4,
0x0000000C, 0x0000225D, 0x000049FC, 0x00000A22, 0x000500C7, 0x0000000C,
0x00002CF6, 0x0000225D, 0x0000078B, 0x000500C4, 0x0000000C, 0x000049FA,
0x00002CF6, 0x00000A0E, 0x000500C7, 0x0000000C, 0x00004D38, 0x00006242,
0x00000A20, 0x000500C7, 0x0000000C, 0x00003139, 0x000028C6, 0x00000A1D,
0x000500C4, 0x0000000C, 0x0000454E, 0x00003139, 0x00000A11, 0x00050080,
0x0000000C, 0x0000434B, 0x00004D38, 0x0000454E, 0x000500C4, 0x0000000C,
0x00001B88, 0x0000434B, 0x00000A22, 0x000500C3, 0x0000000C, 0x00005DE3,
0x00001B88, 0x00000A1D, 0x000500C3, 0x0000000C, 0x00002215, 0x000028C6,
0x00000A14, 0x00050080, 0x0000000C, 0x000035A3, 0x00002215, 0x0000405D,
0x000500C7, 0x0000000C, 0x00005A0C, 0x000035A3, 0x00000A0E, 0x000500C3,
0x0000000C, 0x00004112, 0x00006242, 0x00000A14, 0x000500C4, 0x0000000C,
0x0000496A, 0x00005A0C, 0x00000A0E, 0x00050080, 0x0000000C, 0x000034BD,
0x00004112, 0x0000496A, 0x000500C7, 0x0000000C, 0x00004ADF, 0x000034BD,
0x00000A14, 0x000500C4, 0x0000000C, 0x0000544D, 0x00004ADF, 0x00000A0E,
0x00050080, 0x0000000C, 0x00003C4D, 0x00005A0C, 0x0000544D, 0x000500C7,
0x0000000C, 0x0000335E, 0x00005DE3, 0x000009DB, 0x00050080, 0x0000000C,
0x00004F70, 0x000049FA, 0x0000335E, 0x000500C4, 0x0000000C, 0x00005B31,
0x00004F70, 0x00000A0E, 0x000500C7, 0x0000000C, 0x00005AEA, 0x00005DE3,
0x00000A38, 0x00050080, 0x0000000C, 0x0000285C, 0x00005B31, 0x00005AEA,
0x000500C7, 0x0000000C, 0x000047B5, 0x00002748, 0x00000A14, 0x000500C4,
0x0000000C, 0x0000544E, 0x000047B5, 0x00000A22, 0x00050080, 0x0000000C,
0x00004159, 0x0000285C, 0x0000544E, 0x000500C7, 0x0000000C, 0x00004AE0,
0x000028C6, 0x00000A0E, 0x000500C4, 0x0000000C, 0x0000544F, 0x00004AE0,
0x00000A17, 0x00050080, 0x0000000C, 0x0000415A, 0x00004159, 0x0000544F,
0x000500C7, 0x0000000C, 0x00004FD6, 0x00003C4D, 0x00000A0E, 0x000500C4,
0x0000000C, 0x00002703, 0x00004FD6, 0x00000A14, 0x000500C3, 0x0000000C,
0x00003332, 0x0000415A, 0x00000A1D, 0x000500C7, 0x0000000C, 0x000036D6,
0x00003332, 0x00000A20, 0x00050080, 0x0000000C, 0x00003412, 0x00002703,
0x000036D6, 0x000500C4, 0x0000000C, 0x00005B32, 0x00003412, 0x00000A14,
0x000500C7, 0x0000000C, 0x00005AB1, 0x00003C4D, 0x00000A05, 0x00050080,
0x0000000C, 0x00002A9C, 0x00005B32, 0x00005AB1, 0x000500C4, 0x0000000C,
0x00005B33, 0x00002A9C, 0x00000A11, 0x000500C7, 0x0000000C, 0x00005AB2,
0x0000415A, 0x0000040B, 0x00050080, 0x0000000C, 0x00002A9D, 0x00005B33,
0x00005AB2, 0x000500C4, 0x0000000C, 0x00005B34, 0x00002A9D, 0x00000A14,
0x000500C7, 0x0000000C, 0x00005559, 0x0000415A, 0x00000AC8, 0x00050080,
0x0000000C, 0x00005EFA, 0x00005B34, 0x00005559, 0x0004007C, 0x0000000B,
0x00005670, 0x00005EFA, 0x000200F9, 0x000052F5, 0x000200F8, 0x000052F5,
0x000700F5, 0x0000000B, 0x00002C70, 0x00005670, 0x0000294E, 0x0000566F,
0x0000537D, 0x00050080, 0x0000000B, 0x00005088, 0x00002C70, 0x00005EAD,
0x000500C2, 0x0000000B, 0x000048F3, 0x00005088, 0x00000A16, 0x000500AA,
0x00000009, 0x00002EEA, 0x00004ADD, 0x00000A0D, 0x000500AA, 0x00000009,
0x00005776, 0x00004ADD, 0x00000A10, 0x000500A6, 0x00000009, 0x00005686,
0x00002EEA, 0x00005776, 0x000300F7, 0x00003463, 0x00000000, 0x000400FA,
0x00005686, 0x00002957, 0x00003463, 0x000200F8, 0x00002957, 0x000500C7,
0x00000017, 0x0000475F, 0x000055F9, 0x000009CE, 0x000500C4, 0x00000017,
0x000024D1, 0x0000475F, 0x0000013D, 0x000500C7, 0x00000017, 0x000050AC,
0x000055F9, 0x0000072E, 0x000500C2, 0x00000017, 0x0000448D, 0x000050AC,
0x0000013D, 0x000500C5, 0x00000017, 0x00003FF8, 0x000024D1, 0x0000448D,
0x000200F9, 0x00003463, 0x000200F8, 0x00003463, 0x000700F5, 0x00000017,
0x00005879, 0x000055F9, 0x000052F5, 0x00003FF8, 0x00002957, 0x000500AA,
0x00000009, 0x00004CB6, 0x00004ADD, 0x00000A13, 0x000500A6, 0x00000009,
0x00003B23, 0x00005776, 0x00004CB6, 0x000300F7, 0x00002C98, 0x00000000,
0x000400FA, 0x00003B23, 0x00002B38, 0x00002C98, 0x000200F8, 0x00002B38,
0x000500C4, 0x00000017, 0x00005E17, 0x00005879, 0x000002ED, 0x000500C2,
0x00000017, 0x00003BE7, 0x00005879, 0x000002ED, 0x000500C5, 0x00000017,
0x000029E8, 0x00005E17, 0x00003BE7, 0x000200F9, 0x00002C98, 0x000200F8,
0x00002C98, 0x000700F5, 0x00000017, 0x00004D37, 0x00005879, 0x00003463,
0x000029E8, 0x00002B38, 0x00060041, 0x00000294, 0x000060F9, 0x00001592,
0x00000A0B, 0x000048F3, 0x0003003E, 0x000060F9, 0x00004D37, 0x00050080,
0x0000000B, 0x000054B5, 0x000048F3, 0x00000A10, 0x000300F7, 0x00003A1A,
0x00000000, 0x000400FA, 0x00005686, 0x00002958, 0x00003A1A, 0x000200F8,
0x00002958, 0x000500C7, 0x00000017, 0x00004760, 0x000022F8, 0x000009CE,
0x000500C4, 0x00000017, 0x000024D2, 0x00004760, 0x0000013D, 0x000500C7,
0x00000017, 0x000050AD, 0x000022F8, 0x0000072E, 0x000500C2, 0x00000017,
0x0000448E, 0x000050AD, 0x0000013D, 0x000500C5, 0x00000017, 0x00003FF9,
0x000024D2, 0x0000448E, 0x000200F9, 0x00003A1A, 0x000200F8, 0x00003A1A,
0x000700F5, 0x00000017, 0x00002AAD, 0x000022F8, 0x00002C98, 0x00003FF9,
0x00002958, 0x000300F7, 0x00002C99, 0x00000000, 0x000400FA, 0x00003B23,
0x00002B39, 0x00002C99, 0x000200F8, 0x00002B39, 0x000500C4, 0x00000017,
0x00005E18, 0x00002AAD, 0x000002ED, 0x000500C2, 0x00000017, 0x00003BE8,
0x00002AAD, 0x000002ED, 0x000500C5, 0x00000017, 0x000029E9, 0x00005E18,
0x00003BE8, 0x000200F9, 0x00002C99, 0x000200F8, 0x00002C99, 0x000700F5,
0x00000017, 0x00004D39, 0x00002AAD, 0x00003A1A, 0x000029E9, 0x00002B39,
0x00060041, 0x00000294, 0x00001F75, 0x00001592, 0x00000A0B, 0x000054B5,
0x0003003E, 0x00001F75, 0x00004D39, 0x000200F9, 0x00004C7A, 0x000200F8,
0x00004C7A, 0x000100FD, 0x00010038,
};

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,779 @@
// Generated with `xb buildshaders`.
#if 0
; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 10
; Bound: 25271
; Schema: 0
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %5663 "main" %gl_GlobalInvocationID
OpExecutionMode %5663 LocalSize 8 8 1
OpMemberDecorate %_struct_1036 0 Offset 0
OpMemberDecorate %_struct_1036 1 Offset 4
OpMemberDecorate %_struct_1036 2 Offset 8
OpMemberDecorate %_struct_1036 3 Offset 12
OpMemberDecorate %_struct_1036 4 Offset 16
OpDecorate %_struct_1036 Block
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %_runtimearr_v4uint ArrayStride 16
OpMemberDecorate %_struct_1972 0 NonWritable
OpMemberDecorate %_struct_1972 0 Offset 0
OpDecorate %_struct_1972 BufferBlock
OpDecorate %3152 DescriptorSet 1
OpDecorate %3152 Binding 0
OpDecorate %_runtimearr_v4uint_0 ArrayStride 16
OpMemberDecorate %_struct_1973 0 NonReadable
OpMemberDecorate %_struct_1973 0 Offset 0
OpDecorate %_struct_1973 BufferBlock
OpDecorate %5522 DescriptorSet 0
OpDecorate %5522 Binding 0
OpDecorate %gl_WorkGroupSize BuiltIn WorkgroupSize
%void = OpTypeVoid
%1282 = OpTypeFunction %void
%bool = OpTypeBool
%v2bool = OpTypeVector %bool 2
%uint = OpTypeInt 32 0
%v2uint = OpTypeVector %uint 2
%v4uint = OpTypeVector %uint 4
%int = OpTypeInt 32 1
%v2int = OpTypeVector %int 2
%v3int = OpTypeVector %int 3
%uint_1 = OpConstant %uint 1
%uint_2 = OpConstant %uint 2
%uint_16711935 = OpConstant %uint 16711935
%uint_8 = OpConstant %uint 8
%uint_4278255360 = OpConstant %uint 4278255360
%uint_3 = OpConstant %uint 3
%uint_16 = OpConstant %uint 16
%uint_4 = OpConstant %uint 4
%1837 = OpConstantComposite %v2uint %uint_2 %uint_1
%uint_0 = OpConstant %uint 0
%1807 = OpConstantComposite %v2uint %uint_0 %uint_0
%1828 = OpConstantComposite %v2uint %uint_1 %uint_1
%1816 = OpConstantComposite %v2uint %uint_1 %uint_0
%uint_80 = OpConstant %uint 80
%2719 = OpConstantComposite %v2uint %uint_80 %uint_16
%int_5 = OpConstant %int 5
%uint_5 = OpConstant %uint 5
%uint_7 = OpConstant %uint 7
%int_7 = OpConstant %int 7
%int_14 = OpConstant %int 14
%int_2 = OpConstant %int 2
%int_n16 = OpConstant %int -16
%int_1 = OpConstant %int 1
%int_15 = OpConstant %int 15
%int_4 = OpConstant %int 4
%int_n512 = OpConstant %int -512
%int_3 = OpConstant %int 3
%int_16 = OpConstant %int 16
%int_448 = OpConstant %int 448
%int_8 = OpConstant %int 8
%int_6 = OpConstant %int 6
%int_63 = OpConstant %int 63
%int_268435455 = OpConstant %int 268435455
%int_n2 = OpConstant %int -2
%_struct_1036 = OpTypeStruct %uint %uint %uint %uint %uint
%_ptr_PushConstant__struct_1036 = OpTypePointer PushConstant %_struct_1036
%4495 = OpVariable %_ptr_PushConstant__struct_1036 PushConstant
%int_0 = OpConstant %int 0
%_ptr_PushConstant_uint = OpTypePointer PushConstant %uint
%uint_1023 = OpConstant %uint 1023
%uint_10 = OpConstant %uint 10
%uint_13 = OpConstant %uint 13
%uint_4095 = OpConstant %uint 4095
%uint_25 = OpConstant %uint 25
%uint_15 = OpConstant %uint 15
%1855 = OpConstantComposite %v2uint %uint_0 %uint_4
%1856 = OpConstantComposite %v2uint %uint_4 %uint_1
%uint_2047 = OpConstant %uint 2047
%uint_16777216 = OpConstant %uint 16777216
%uint_20 = OpConstant %uint 20
%uint_24 = OpConstant %uint 24
%2275 = OpConstantComposite %v2uint %uint_20 %uint_24
%uint_28 = OpConstant %uint 28
%v3uint = OpTypeVector %uint 3
%uint_4294901760 = OpConstant %uint 4294901760
%uint_65535 = OpConstant %uint 65535
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
%gl_GlobalInvocationID = OpVariable %_ptr_Input_v3uint Input
%1825 = OpConstantComposite %v2uint %uint_2 %uint_0
%_runtimearr_v4uint = OpTypeRuntimeArray %v4uint
%_struct_1972 = OpTypeStruct %_runtimearr_v4uint
%_ptr_Uniform__struct_1972 = OpTypePointer Uniform %_struct_1972
%3152 = OpVariable %_ptr_Uniform__struct_1972 Uniform
%_ptr_Uniform_v4uint = OpTypePointer Uniform %v4uint
%_runtimearr_v4uint_0 = OpTypeRuntimeArray %v4uint
%_struct_1973 = OpTypeStruct %_runtimearr_v4uint_0
%_ptr_Uniform__struct_1973 = OpTypePointer Uniform %_struct_1973
%5522 = OpVariable %_ptr_Uniform__struct_1973 Uniform
%gl_WorkGroupSize = OpConstantComposite %v3uint %uint_8 %uint_8 %uint_1
%1870 = OpConstantComposite %v2uint %uint_3 %uint_3
%2122 = OpConstantComposite %v2uint %uint_15 %uint_15
%uint_9 = OpConstant %uint 9
%1877 = OpConstantComposite %v4uint %uint_4294901760 %uint_4294901760 %uint_4294901760 %uint_4294901760
%850 = OpConstantComposite %v4uint %uint_65535 %uint_65535 %uint_65535 %uint_65535
%2510 = OpConstantComposite %v4uint %uint_16711935 %uint_16711935 %uint_16711935 %uint_16711935
%317 = OpConstantComposite %v4uint %uint_8 %uint_8 %uint_8 %uint_8
%1838 = OpConstantComposite %v4uint %uint_4278255360 %uint_4278255360 %uint_4278255360 %uint_4278255360
%749 = OpConstantComposite %v4uint %uint_16 %uint_16 %uint_16 %uint_16
%5663 = OpFunction %void None %1282
%15110 = OpLabel
OpSelectionMerge %19578 None
OpSwitch %uint_0 %11880
%11880 = OpLabel
%22245 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_0
%15627 = OpLoad %uint %22245
%22700 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_1
%20824 = OpLoad %uint %22700
%20561 = OpBitwiseAnd %uint %15627 %uint_1023
%19978 = OpShiftRightLogical %uint %15627 %uint_10
%8574 = OpBitwiseAnd %uint %19978 %uint_3
%21002 = OpShiftRightLogical %uint %15627 %uint_13
%8575 = OpBitwiseAnd %uint %21002 %uint_4095
%18836 = OpShiftRightLogical %uint %15627 %uint_25
%9130 = OpBitwiseAnd %uint %18836 %uint_15
%8814 = OpCompositeConstruct %v2uint %20824 %20824
%8841 = OpShiftRightLogical %v2uint %8814 %1855
%22507 = OpShiftLeftLogical %v2uint %1828 %1856
%18608 = OpISub %v2uint %22507 %1828
%18743 = OpBitwiseAnd %v2uint %8841 %18608
%22404 = OpShiftLeftLogical %v2uint %18743 %1870
%23019 = OpIMul %v2uint %22404 %1828
%12819 = OpShiftRightLogical %uint %20824 %uint_5
%16204 = OpBitwiseAnd %uint %12819 %uint_2047
%18732 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_2
%24236 = OpLoad %uint %18732
%22701 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_3
%20919 = OpLoad %uint %22701
%19164 = OpBitwiseAnd %uint %24236 %uint_7
%21999 = OpBitwiseAnd %uint %24236 %uint_8
%20495 = OpINotEqual %bool %21999 %uint_0
%10402 = OpShiftRightLogical %uint %24236 %uint_4
%23037 = OpBitwiseAnd %uint %10402 %uint_7
%23118 = OpBitwiseAnd %uint %24236 %uint_16777216
%19573 = OpINotEqual %bool %23118 %uint_0
%8003 = OpBitwiseAnd %uint %20919 %uint_1023
%15783 = OpShiftLeftLogical %uint %8003 %uint_5
%22591 = OpShiftRightLogical %uint %20919 %uint_10
%19390 = OpBitwiseAnd %uint %22591 %uint_1023
%25203 = OpShiftLeftLogical %uint %19390 %uint_5
%10422 = OpCompositeConstruct %v2uint %20919 %20919
%10385 = OpShiftRightLogical %v2uint %10422 %2275
%23379 = OpBitwiseAnd %v2uint %10385 %2122
%16207 = OpShiftLeftLogical %v2uint %23379 %1870
%23020 = OpIMul %v2uint %16207 %1828
%12820 = OpShiftRightLogical %uint %20919 %uint_28
%16205 = OpBitwiseAnd %uint %12820 %uint_7
%18656 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_4
%25270 = OpLoad %uint %18656
%14159 = OpLoad %v3uint %gl_GlobalInvocationID
%12672 = OpVectorShuffle %v2uint %14159 %14159 0 1
%12025 = OpShiftLeftLogical %v2uint %12672 %1825
%7640 = OpCompositeExtract %uint %12025 0
%11658 = OpShiftLeftLogical %uint %16204 %uint_3
%15379 = OpUGreaterThanEqual %bool %7640 %11658
OpSelectionMerge %12755 DontFlatten
OpBranchConditional %15379 %21992 %12755
%21992 = OpLabel
OpBranch %19578
%12755 = OpLabel
%7340 = OpCompositeExtract %uint %12025 1
%7992 = OpExtInst %uint %1 UMax %7340 %uint_0
%20975 = OpCompositeConstruct %v2uint %7640 %7992
%21036 = OpIAdd %v2uint %20975 %23019
%16075 = OpULessThanEqual %bool %16205 %uint_3
OpSelectionMerge %23776 None
OpBranchConditional %16075 %10990 %15087
%15087 = OpLabel
%13566 = OpIEqual %bool %16205 %uint_5
%8438 = OpSelect %uint %13566 %uint_2 %uint_0
OpBranch %23776
%10990 = OpLabel
OpBranch %23776
%23776 = OpLabel
%19300 = OpPhi %uint %16205 %10990 %8438 %15087
%16830 = OpCompositeConstruct %v2uint %8574 %8574
%11801 = OpUGreaterThanEqual %v2bool %16830 %1837
%19381 = OpSelect %v2uint %11801 %1828 %1807
%10986 = OpShiftLeftLogical %v2uint %21036 %19381
%24669 = OpCompositeConstruct %v2uint %19300 %19300
%9093 = OpShiftRightLogical %v2uint %24669 %1816
%16072 = OpBitwiseAnd %v2uint %9093 %1828
%20272 = OpIAdd %v2uint %10986 %16072
%21145 = OpIMul %v2uint %2719 %1828
%14725 = OpShiftRightLogical %v2uint %21145 %1816
%19799 = OpUDiv %v2uint %20272 %14725
%20390 = OpCompositeExtract %uint %19799 1
%11046 = OpIMul %uint %20390 %20561
%24665 = OpCompositeExtract %uint %19799 0
%21536 = OpIAdd %uint %11046 %24665
%8742 = OpIAdd %uint %8575 %21536
%22376 = OpIMul %v2uint %19799 %14725
%20715 = OpISub %v2uint %20272 %22376
%7303 = OpCompositeExtract %uint %21145 0
%22882 = OpCompositeExtract %uint %21145 1
%13170 = OpIMul %uint %7303 %22882
%14551 = OpIMul %uint %8742 %13170
%6805 = OpCompositeExtract %uint %20715 1
%23526 = OpCompositeExtract %uint %14725 0
%22886 = OpIMul %uint %6805 %23526
%6886 = OpCompositeExtract %uint %20715 0
%9696 = OpIAdd %uint %22886 %6886
%19199 = OpShiftLeftLogical %uint %9696 %uint_1
%6269 = OpIAdd %uint %14551 %19199
%24307 = OpShiftRightLogical %uint %6269 %uint_2
%19601 = OpAccessChain %_ptr_Uniform_v4uint %3152 %int_0 %24307
%12609 = OpLoad %v4uint %19601
%11687 = OpIAdd %uint %24307 %uint_1
%8660 = OpAccessChain %_ptr_Uniform_v4uint %3152 %int_0 %11687
%6578 = OpLoad %v4uint %8660
OpSelectionMerge %21263 DontFlatten
OpBranchConditional %19573 %15068 %21263
%15068 = OpLabel
%13701 = OpIEqual %bool %9130 %uint_5
%17015 = OpLogicalNot %bool %13701
OpSelectionMerge %15698 None
OpBranchConditional %17015 %16607 %15698
%16607 = OpLabel
%18778 = OpIEqual %bool %9130 %uint_7
OpBranch %15698
%15698 = OpLabel
%10924 = OpPhi %bool %13701 %15068 %18778 %16607
OpSelectionMerge %14836 DontFlatten
OpBranchConditional %10924 %8360 %14836
%8360 = OpLabel
%19441 = OpBitwiseAnd %v4uint %12609 %1877
%20970 = OpVectorShuffle %v4uint %12609 %12609 1 0 3 2
%7405 = OpBitwiseAnd %v4uint %20970 %850
%13888 = OpBitwiseOr %v4uint %19441 %7405
%21265 = OpBitwiseAnd %v4uint %6578 %1877
%15352 = OpVectorShuffle %v4uint %6578 %6578 1 0 3 2
%8355 = OpBitwiseAnd %v4uint %15352 %850
%8449 = OpBitwiseOr %v4uint %21265 %8355
OpBranch %14836
%14836 = OpLabel
%11251 = OpPhi %v4uint %6578 %15698 %8449 %8360
%13709 = OpPhi %v4uint %12609 %15698 %13888 %8360
OpBranch %21263
%21263 = OpLabel
%8952 = OpPhi %v4uint %6578 %23776 %11251 %14836
%22009 = OpPhi %v4uint %12609 %23776 %13709 %14836
%7319 = OpIAdd %v2uint %12025 %23020
OpSelectionMerge %21237 DontFlatten
OpBranchConditional %20495 %10574 %21373
%21373 = OpLabel
%10608 = OpBitcast %v2int %7319
%17090 = OpCompositeExtract %int %10608 0
%9469 = OpShiftRightArithmetic %int %17090 %int_5
%10055 = OpCompositeExtract %int %10608 1
%16476 = OpShiftRightArithmetic %int %10055 %int_5
%23373 = OpShiftRightLogical %uint %15783 %uint_5
%6314 = OpBitcast %int %23373
%21319 = OpIMul %int %16476 %6314
%16222 = OpIAdd %int %9469 %21319
%19086 = OpShiftLeftLogical %int %16222 %uint_10
%10934 = OpBitwiseAnd %int %17090 %int_7
%12600 = OpBitwiseAnd %int %10055 %int_14
%17741 = OpShiftLeftLogical %int %12600 %int_2
%17303 = OpIAdd %int %10934 %17741
%6375 = OpShiftLeftLogical %int %17303 %uint_3
%10161 = OpBitwiseAnd %int %6375 %int_n16
%12150 = OpShiftLeftLogical %int %10161 %int_1
%15435 = OpIAdd %int %19086 %12150
%13207 = OpBitwiseAnd %int %6375 %int_15
%19760 = OpIAdd %int %15435 %13207
%18356 = OpBitwiseAnd %int %10055 %int_1
%21578 = OpShiftLeftLogical %int %18356 %int_4
%16727 = OpIAdd %int %19760 %21578
%20514 = OpBitwiseAnd %int %16727 %int_n512
%9238 = OpShiftLeftLogical %int %20514 %int_3
%18995 = OpBitwiseAnd %int %10055 %int_16
%12151 = OpShiftLeftLogical %int %18995 %int_7
%16728 = OpIAdd %int %9238 %12151
%19165 = OpBitwiseAnd %int %16727 %int_448
%21579 = OpShiftLeftLogical %int %19165 %int_2
%16708 = OpIAdd %int %16728 %21579
%20611 = OpBitwiseAnd %int %10055 %int_8
%16831 = OpShiftRightArithmetic %int %20611 %int_2
%7916 = OpShiftRightArithmetic %int %17090 %int_3
%13750 = OpIAdd %int %16831 %7916
%21587 = OpBitwiseAnd %int %13750 %int_3
%21580 = OpShiftLeftLogical %int %21587 %int_6
%15436 = OpIAdd %int %16708 %21580
%11782 = OpBitwiseAnd %int %16727 %int_63
%14671 = OpIAdd %int %15436 %11782
%22127 = OpBitcast %uint %14671
OpBranch %21237
%10574 = OpLabel
%19866 = OpCompositeExtract %uint %7319 0
%11267 = OpCompositeExtract %uint %7319 1
%8414 = OpCompositeConstruct %v3uint %19866 %11267 %23037
%20125 = OpBitcast %v3int %8414
%10438 = OpCompositeExtract %int %20125 1
%9470 = OpShiftRightArithmetic %int %10438 %int_4
%10056 = OpCompositeExtract %int %20125 2
%16477 = OpShiftRightArithmetic %int %10056 %int_2
%23374 = OpShiftRightLogical %uint %25203 %uint_4
%6315 = OpBitcast %int %23374
%21281 = OpIMul %int %16477 %6315
%15143 = OpIAdd %int %9470 %21281
%9032 = OpShiftRightLogical %uint %15783 %uint_5
%12427 = OpBitcast %int %9032
%10360 = OpIMul %int %15143 %12427
%25154 = OpCompositeExtract %int %20125 0
%20423 = OpShiftRightArithmetic %int %25154 %int_5
%18940 = OpIAdd %int %20423 %10360
%8797 = OpShiftLeftLogical %int %18940 %uint_9
%11510 = OpBitwiseAnd %int %8797 %int_268435455
%18938 = OpShiftLeftLogical %int %11510 %int_1
%19768 = OpBitwiseAnd %int %25154 %int_7
%12601 = OpBitwiseAnd %int %10438 %int_6
%17742 = OpShiftLeftLogical %int %12601 %int_2
%17227 = OpIAdd %int %19768 %17742
%7048 = OpShiftLeftLogical %int %17227 %uint_9
%24035 = OpShiftRightArithmetic %int %7048 %int_6
%8725 = OpShiftRightArithmetic %int %10438 %int_3
%13731 = OpIAdd %int %8725 %16477
%23052 = OpBitwiseAnd %int %13731 %int_1
%16658 = OpShiftRightArithmetic %int %25154 %int_3
%18794 = OpShiftLeftLogical %int %23052 %int_1
%13501 = OpIAdd %int %16658 %18794
%19166 = OpBitwiseAnd %int %13501 %int_3
%21581 = OpShiftLeftLogical %int %19166 %int_1
%15437 = OpIAdd %int %23052 %21581
%13150 = OpBitwiseAnd %int %24035 %int_n16
%20336 = OpIAdd %int %18938 %13150
%23345 = OpShiftLeftLogical %int %20336 %int_1
%23274 = OpBitwiseAnd %int %24035 %int_15
%10332 = OpIAdd %int %23345 %23274
%18357 = OpBitwiseAnd %int %10056 %int_3
%21582 = OpShiftLeftLogical %int %18357 %uint_9
%16729 = OpIAdd %int %10332 %21582
%19167 = OpBitwiseAnd %int %10438 %int_1
%21583 = OpShiftLeftLogical %int %19167 %int_4
%16730 = OpIAdd %int %16729 %21583
%20438 = OpBitwiseAnd %int %15437 %int_1
%9987 = OpShiftLeftLogical %int %20438 %int_3
%13106 = OpShiftRightArithmetic %int %16730 %int_6
%14038 = OpBitwiseAnd %int %13106 %int_7
%13330 = OpIAdd %int %9987 %14038
%23346 = OpShiftLeftLogical %int %13330 %int_3
%23217 = OpBitwiseAnd %int %15437 %int_n2
%10908 = OpIAdd %int %23346 %23217
%23347 = OpShiftLeftLogical %int %10908 %int_2
%23218 = OpBitwiseAnd %int %16730 %int_n512
%10909 = OpIAdd %int %23347 %23218
%23348 = OpShiftLeftLogical %int %10909 %int_3
%21849 = OpBitwiseAnd %int %16730 %int_63
%24314 = OpIAdd %int %23348 %21849
%22128 = OpBitcast %uint %24314
OpBranch %21237
%21237 = OpLabel
%11376 = OpPhi %uint %22128 %10574 %22127 %21373
%20616 = OpIAdd %uint %11376 %25270
%20138 = OpShiftRightLogical %uint %20616 %uint_4
%19356 = OpIEqual %bool %19164 %uint_4
OpSelectionMerge %14780 None
OpBranchConditional %19356 %13279 %14780
%13279 = OpLabel
%7958 = OpVectorShuffle %v4uint %22009 %22009 1 0 3 2
OpBranch %14780
%14780 = OpLabel
%22898 = OpPhi %v4uint %22009 %21237 %7958 %13279
%6605 = OpSelect %uint %19356 %uint_2 %19164
%13412 = OpIEqual %bool %6605 %uint_1
%18370 = OpIEqual %bool %6605 %uint_2
%22150 = OpLogicalOr %bool %13412 %18370
OpSelectionMerge %13411 None
OpBranchConditional %22150 %10583 %13411
%10583 = OpLabel
%18271 = OpBitwiseAnd %v4uint %22898 %2510
%9425 = OpShiftLeftLogical %v4uint %18271 %317
%20652 = OpBitwiseAnd %v4uint %22898 %1838
%17549 = OpShiftRightLogical %v4uint %20652 %317
%16376 = OpBitwiseOr %v4uint %9425 %17549
OpBranch %13411
%13411 = OpLabel
%22649 = OpPhi %v4uint %22898 %14780 %16376 %10583
%19638 = OpIEqual %bool %6605 %uint_3
%15139 = OpLogicalOr %bool %18370 %19638
OpSelectionMerge %11416 None
OpBranchConditional %15139 %11064 %11416
%11064 = OpLabel
%24087 = OpShiftLeftLogical %v4uint %22649 %749
%15335 = OpShiftRightLogical %v4uint %22649 %749
%10728 = OpBitwiseOr %v4uint %24087 %15335
OpBranch %11416
%11416 = OpLabel
%19767 = OpPhi %v4uint %22649 %13411 %10728 %11064
%24825 = OpAccessChain %_ptr_Uniform_v4uint %5522 %int_0 %20138
OpStore %24825 %19767
%21685 = OpIAdd %uint %20138 %uint_2
OpSelectionMerge %16262 None
OpBranchConditional %19356 %13280 %16262
%13280 = OpLabel
%7959 = OpVectorShuffle %v4uint %8952 %8952 1 0 3 2
OpBranch %16262
%16262 = OpLabel
%10925 = OpPhi %v4uint %8952 %11416 %7959 %13280
OpSelectionMerge %14874 None
OpBranchConditional %22150 %10584 %14874
%10584 = OpLabel
%18272 = OpBitwiseAnd %v4uint %10925 %2510
%9426 = OpShiftLeftLogical %v4uint %18272 %317
%20653 = OpBitwiseAnd %v4uint %10925 %1838
%17550 = OpShiftRightLogical %v4uint %20653 %317
%16377 = OpBitwiseOr %v4uint %9426 %17550
OpBranch %14874
%14874 = OpLabel
%10926 = OpPhi %v4uint %10925 %16262 %16377 %10584
OpSelectionMerge %11417 None
OpBranchConditional %15139 %11065 %11417
%11065 = OpLabel
%24088 = OpShiftLeftLogical %v4uint %10926 %749
%15336 = OpShiftRightLogical %v4uint %10926 %749
%10729 = OpBitwiseOr %v4uint %24088 %15336
OpBranch %11417
%11417 = OpLabel
%19769 = OpPhi %v4uint %10926 %14874 %10729 %11065
%8053 = OpAccessChain %_ptr_Uniform_v4uint %5522 %int_0 %21685
OpStore %8053 %19769
OpBranch %19578
%19578 = OpLabel
OpReturn
OpFunctionEnd
#endif
const uint32_t resolve_fast_64bpp_1x2xmsaa_cs[] = {
0x07230203, 0x00010000, 0x0008000A, 0x000062B7, 0x00000000, 0x00020011,
0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E,
0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0006000F, 0x00000005,
0x0000161F, 0x6E69616D, 0x00000000, 0x00000F48, 0x00060010, 0x0000161F,
0x00000011, 0x00000008, 0x00000008, 0x00000001, 0x00050048, 0x0000040C,
0x00000000, 0x00000023, 0x00000000, 0x00050048, 0x0000040C, 0x00000001,
0x00000023, 0x00000004, 0x00050048, 0x0000040C, 0x00000002, 0x00000023,
0x00000008, 0x00050048, 0x0000040C, 0x00000003, 0x00000023, 0x0000000C,
0x00050048, 0x0000040C, 0x00000004, 0x00000023, 0x00000010, 0x00030047,
0x0000040C, 0x00000002, 0x00040047, 0x00000F48, 0x0000000B, 0x0000001C,
0x00040047, 0x000007DC, 0x00000006, 0x00000010, 0x00040048, 0x000007B4,
0x00000000, 0x00000018, 0x00050048, 0x000007B4, 0x00000000, 0x00000023,
0x00000000, 0x00030047, 0x000007B4, 0x00000003, 0x00040047, 0x00000C50,
0x00000022, 0x00000001, 0x00040047, 0x00000C50, 0x00000021, 0x00000000,
0x00040047, 0x000007DD, 0x00000006, 0x00000010, 0x00040048, 0x000007B5,
0x00000000, 0x00000019, 0x00050048, 0x000007B5, 0x00000000, 0x00000023,
0x00000000, 0x00030047, 0x000007B5, 0x00000003, 0x00040047, 0x00001592,
0x00000022, 0x00000000, 0x00040047, 0x00001592, 0x00000021, 0x00000000,
0x00040047, 0x00000AC7, 0x0000000B, 0x00000019, 0x00020013, 0x00000008,
0x00030021, 0x00000502, 0x00000008, 0x00020014, 0x00000009, 0x00040017,
0x0000000F, 0x00000009, 0x00000002, 0x00040015, 0x0000000B, 0x00000020,
0x00000000, 0x00040017, 0x00000011, 0x0000000B, 0x00000002, 0x00040017,
0x00000017, 0x0000000B, 0x00000004, 0x00040015, 0x0000000C, 0x00000020,
0x00000001, 0x00040017, 0x00000012, 0x0000000C, 0x00000002, 0x00040017,
0x00000016, 0x0000000C, 0x00000003, 0x0004002B, 0x0000000B, 0x00000A0D,
0x00000001, 0x0004002B, 0x0000000B, 0x00000A10, 0x00000002, 0x0004002B,
0x0000000B, 0x000008A6, 0x00FF00FF, 0x0004002B, 0x0000000B, 0x00000A22,
0x00000008, 0x0004002B, 0x0000000B, 0x000005FD, 0xFF00FF00, 0x0004002B,
0x0000000B, 0x00000A13, 0x00000003, 0x0004002B, 0x0000000B, 0x00000A3A,
0x00000010, 0x0004002B, 0x0000000B, 0x00000A16, 0x00000004, 0x0005002C,
0x00000011, 0x0000072D, 0x00000A10, 0x00000A0D, 0x0004002B, 0x0000000B,
0x00000A0A, 0x00000000, 0x0005002C, 0x00000011, 0x0000070F, 0x00000A0A,
0x00000A0A, 0x0005002C, 0x00000011, 0x00000724, 0x00000A0D, 0x00000A0D,
0x0005002C, 0x00000011, 0x00000718, 0x00000A0D, 0x00000A0A, 0x0004002B,
0x0000000B, 0x00000AFA, 0x00000050, 0x0005002C, 0x00000011, 0x00000A9F,
0x00000AFA, 0x00000A3A, 0x0004002B, 0x0000000C, 0x00000A1A, 0x00000005,
0x0004002B, 0x0000000B, 0x00000A19, 0x00000005, 0x0004002B, 0x0000000B,
0x00000A1F, 0x00000007, 0x0004002B, 0x0000000C, 0x00000A20, 0x00000007,
0x0004002B, 0x0000000C, 0x00000A35, 0x0000000E, 0x0004002B, 0x0000000C,
0x00000A11, 0x00000002, 0x0004002B, 0x0000000C, 0x000009DB, 0xFFFFFFF0,
0x0004002B, 0x0000000C, 0x00000A0E, 0x00000001, 0x0004002B, 0x0000000C,
0x00000A38, 0x0000000F, 0x0004002B, 0x0000000C, 0x00000A17, 0x00000004,
0x0004002B, 0x0000000C, 0x0000040B, 0xFFFFFE00, 0x0004002B, 0x0000000C,
0x00000A14, 0x00000003, 0x0004002B, 0x0000000C, 0x00000A3B, 0x00000010,
0x0004002B, 0x0000000C, 0x00000388, 0x000001C0, 0x0004002B, 0x0000000C,
0x00000A23, 0x00000008, 0x0004002B, 0x0000000C, 0x00000A1D, 0x00000006,
0x0004002B, 0x0000000C, 0x00000AC8, 0x0000003F, 0x0004002B, 0x0000000C,
0x0000078B, 0x0FFFFFFF, 0x0004002B, 0x0000000C, 0x00000A05, 0xFFFFFFFE,
0x0007001E, 0x0000040C, 0x0000000B, 0x0000000B, 0x0000000B, 0x0000000B,
0x0000000B, 0x00040020, 0x00000688, 0x00000009, 0x0000040C, 0x0004003B,
0x00000688, 0x0000118F, 0x00000009, 0x0004002B, 0x0000000C, 0x00000A0B,
0x00000000, 0x00040020, 0x00000288, 0x00000009, 0x0000000B, 0x0004002B,
0x0000000B, 0x00000A44, 0x000003FF, 0x0004002B, 0x0000000B, 0x00000A28,
0x0000000A, 0x0004002B, 0x0000000B, 0x00000A31, 0x0000000D, 0x0004002B,
0x0000000B, 0x00000AFB, 0x00000FFF, 0x0004002B, 0x0000000B, 0x00000A55,
0x00000019, 0x0004002B, 0x0000000B, 0x00000A37, 0x0000000F, 0x0005002C,
0x00000011, 0x0000073F, 0x00000A0A, 0x00000A16, 0x0005002C, 0x00000011,
0x00000740, 0x00000A16, 0x00000A0D, 0x0004002B, 0x0000000B, 0x00000A81,
0x000007FF, 0x0004002B, 0x0000000B, 0x00000926, 0x01000000, 0x0004002B,
0x0000000B, 0x00000A46, 0x00000014, 0x0004002B, 0x0000000B, 0x00000A52,
0x00000018, 0x0005002C, 0x00000011, 0x000008E3, 0x00000A46, 0x00000A52,
0x0004002B, 0x0000000B, 0x00000A5E, 0x0000001C, 0x00040017, 0x00000014,
0x0000000B, 0x00000003, 0x0004002B, 0x0000000B, 0x0000068D, 0xFFFF0000,
0x0004002B, 0x0000000B, 0x000001C1, 0x0000FFFF, 0x00040020, 0x00000291,
0x00000001, 0x00000014, 0x0004003B, 0x00000291, 0x00000F48, 0x00000001,
0x0005002C, 0x00000011, 0x00000721, 0x00000A10, 0x00000A0A, 0x0003001D,
0x000007DC, 0x00000017, 0x0003001E, 0x000007B4, 0x000007DC, 0x00040020,
0x00000A32, 0x00000002, 0x000007B4, 0x0004003B, 0x00000A32, 0x00000C50,
0x00000002, 0x00040020, 0x00000294, 0x00000002, 0x00000017, 0x0003001D,
0x000007DD, 0x00000017, 0x0003001E, 0x000007B5, 0x000007DD, 0x00040020,
0x00000A33, 0x00000002, 0x000007B5, 0x0004003B, 0x00000A33, 0x00001592,
0x00000002, 0x0006002C, 0x00000014, 0x00000AC7, 0x00000A22, 0x00000A22,
0x00000A0D, 0x0005002C, 0x00000011, 0x0000074E, 0x00000A13, 0x00000A13,
0x0005002C, 0x00000011, 0x0000084A, 0x00000A37, 0x00000A37, 0x0004002B,
0x0000000B, 0x00000A25, 0x00000009, 0x0007002C, 0x00000017, 0x00000755,
0x0000068D, 0x0000068D, 0x0000068D, 0x0000068D, 0x0007002C, 0x00000017,
0x00000352, 0x000001C1, 0x000001C1, 0x000001C1, 0x000001C1, 0x0007002C,
0x00000017, 0x000009CE, 0x000008A6, 0x000008A6, 0x000008A6, 0x000008A6,
0x0007002C, 0x00000017, 0x0000013D, 0x00000A22, 0x00000A22, 0x00000A22,
0x00000A22, 0x0007002C, 0x00000017, 0x0000072E, 0x000005FD, 0x000005FD,
0x000005FD, 0x000005FD, 0x0007002C, 0x00000017, 0x000002ED, 0x00000A3A,
0x00000A3A, 0x00000A3A, 0x00000A3A, 0x00050036, 0x00000008, 0x0000161F,
0x00000000, 0x00000502, 0x000200F8, 0x00003B06, 0x000300F7, 0x00004C7A,
0x00000000, 0x000300FB, 0x00000A0A, 0x00002E68, 0x000200F8, 0x00002E68,
0x00050041, 0x00000288, 0x000056E5, 0x0000118F, 0x00000A0B, 0x0004003D,
0x0000000B, 0x00003D0B, 0x000056E5, 0x00050041, 0x00000288, 0x000058AC,
0x0000118F, 0x00000A0E, 0x0004003D, 0x0000000B, 0x00005158, 0x000058AC,
0x000500C7, 0x0000000B, 0x00005051, 0x00003D0B, 0x00000A44, 0x000500C2,
0x0000000B, 0x00004E0A, 0x00003D0B, 0x00000A28, 0x000500C7, 0x0000000B,
0x0000217E, 0x00004E0A, 0x00000A13, 0x000500C2, 0x0000000B, 0x0000520A,
0x00003D0B, 0x00000A31, 0x000500C7, 0x0000000B, 0x0000217F, 0x0000520A,
0x00000AFB, 0x000500C2, 0x0000000B, 0x00004994, 0x00003D0B, 0x00000A55,
0x000500C7, 0x0000000B, 0x000023AA, 0x00004994, 0x00000A37, 0x00050050,
0x00000011, 0x0000226E, 0x00005158, 0x00005158, 0x000500C2, 0x00000011,
0x00002289, 0x0000226E, 0x0000073F, 0x000500C4, 0x00000011, 0x000057EB,
0x00000724, 0x00000740, 0x00050082, 0x00000011, 0x000048B0, 0x000057EB,
0x00000724, 0x000500C7, 0x00000011, 0x00004937, 0x00002289, 0x000048B0,
0x000500C4, 0x00000011, 0x00005784, 0x00004937, 0x0000074E, 0x00050084,
0x00000011, 0x000059EB, 0x00005784, 0x00000724, 0x000500C2, 0x0000000B,
0x00003213, 0x00005158, 0x00000A19, 0x000500C7, 0x0000000B, 0x00003F4C,
0x00003213, 0x00000A81, 0x00050041, 0x00000288, 0x0000492C, 0x0000118F,
0x00000A11, 0x0004003D, 0x0000000B, 0x00005EAC, 0x0000492C, 0x00050041,
0x00000288, 0x000058AD, 0x0000118F, 0x00000A14, 0x0004003D, 0x0000000B,
0x000051B7, 0x000058AD, 0x000500C7, 0x0000000B, 0x00004ADC, 0x00005EAC,
0x00000A1F, 0x000500C7, 0x0000000B, 0x000055EF, 0x00005EAC, 0x00000A22,
0x000500AB, 0x00000009, 0x0000500F, 0x000055EF, 0x00000A0A, 0x000500C2,
0x0000000B, 0x000028A2, 0x00005EAC, 0x00000A16, 0x000500C7, 0x0000000B,
0x000059FD, 0x000028A2, 0x00000A1F, 0x000500C7, 0x0000000B, 0x00005A4E,
0x00005EAC, 0x00000926, 0x000500AB, 0x00000009, 0x00004C75, 0x00005A4E,
0x00000A0A, 0x000500C7, 0x0000000B, 0x00001F43, 0x000051B7, 0x00000A44,
0x000500C4, 0x0000000B, 0x00003DA7, 0x00001F43, 0x00000A19, 0x000500C2,
0x0000000B, 0x0000583F, 0x000051B7, 0x00000A28, 0x000500C7, 0x0000000B,
0x00004BBE, 0x0000583F, 0x00000A44, 0x000500C4, 0x0000000B, 0x00006273,
0x00004BBE, 0x00000A19, 0x00050050, 0x00000011, 0x000028B6, 0x000051B7,
0x000051B7, 0x000500C2, 0x00000011, 0x00002891, 0x000028B6, 0x000008E3,
0x000500C7, 0x00000011, 0x00005B53, 0x00002891, 0x0000084A, 0x000500C4,
0x00000011, 0x00003F4F, 0x00005B53, 0x0000074E, 0x00050084, 0x00000011,
0x000059EC, 0x00003F4F, 0x00000724, 0x000500C2, 0x0000000B, 0x00003214,
0x000051B7, 0x00000A5E, 0x000500C7, 0x0000000B, 0x00003F4D, 0x00003214,
0x00000A1F, 0x00050041, 0x00000288, 0x000048E0, 0x0000118F, 0x00000A17,
0x0004003D, 0x0000000B, 0x000062B6, 0x000048E0, 0x0004003D, 0x00000014,
0x0000374F, 0x00000F48, 0x0007004F, 0x00000011, 0x00003180, 0x0000374F,
0x0000374F, 0x00000000, 0x00000001, 0x000500C4, 0x00000011, 0x00002EF9,
0x00003180, 0x00000721, 0x00050051, 0x0000000B, 0x00001DD8, 0x00002EF9,
0x00000000, 0x000500C4, 0x0000000B, 0x00002D8A, 0x00003F4C, 0x00000A13,
0x000500AE, 0x00000009, 0x00003C13, 0x00001DD8, 0x00002D8A, 0x000300F7,
0x000031D3, 0x00000002, 0x000400FA, 0x00003C13, 0x000055E8, 0x000031D3,
0x000200F8, 0x000055E8, 0x000200F9, 0x00004C7A, 0x000200F8, 0x000031D3,
0x00050051, 0x0000000B, 0x00001CAC, 0x00002EF9, 0x00000001, 0x0007000C,
0x0000000B, 0x00001F38, 0x00000001, 0x00000029, 0x00001CAC, 0x00000A0A,
0x00050050, 0x00000011, 0x000051EF, 0x00001DD8, 0x00001F38, 0x00050080,
0x00000011, 0x0000522C, 0x000051EF, 0x000059EB, 0x000500B2, 0x00000009,
0x00003ECB, 0x00003F4D, 0x00000A13, 0x000300F7, 0x00005CE0, 0x00000000,
0x000400FA, 0x00003ECB, 0x00002AEE, 0x00003AEF, 0x000200F8, 0x00003AEF,
0x000500AA, 0x00000009, 0x000034FE, 0x00003F4D, 0x00000A19, 0x000600A9,
0x0000000B, 0x000020F6, 0x000034FE, 0x00000A10, 0x00000A0A, 0x000200F9,
0x00005CE0, 0x000200F8, 0x00002AEE, 0x000200F9, 0x00005CE0, 0x000200F8,
0x00005CE0, 0x000700F5, 0x0000000B, 0x00004B64, 0x00003F4D, 0x00002AEE,
0x000020F6, 0x00003AEF, 0x00050050, 0x00000011, 0x000041BE, 0x0000217E,
0x0000217E, 0x000500AE, 0x0000000F, 0x00002E19, 0x000041BE, 0x0000072D,
0x000600A9, 0x00000011, 0x00004BB5, 0x00002E19, 0x00000724, 0x0000070F,
0x000500C4, 0x00000011, 0x00002AEA, 0x0000522C, 0x00004BB5, 0x00050050,
0x00000011, 0x0000605D, 0x00004B64, 0x00004B64, 0x000500C2, 0x00000011,
0x00002385, 0x0000605D, 0x00000718, 0x000500C7, 0x00000011, 0x00003EC8,
0x00002385, 0x00000724, 0x00050080, 0x00000011, 0x00004F30, 0x00002AEA,
0x00003EC8, 0x00050084, 0x00000011, 0x00005299, 0x00000A9F, 0x00000724,
0x000500C2, 0x00000011, 0x00003985, 0x00005299, 0x00000718, 0x00050086,
0x00000011, 0x00004D57, 0x00004F30, 0x00003985, 0x00050051, 0x0000000B,
0x00004FA6, 0x00004D57, 0x00000001, 0x00050084, 0x0000000B, 0x00002B26,
0x00004FA6, 0x00005051, 0x00050051, 0x0000000B, 0x00006059, 0x00004D57,
0x00000000, 0x00050080, 0x0000000B, 0x00005420, 0x00002B26, 0x00006059,
0x00050080, 0x0000000B, 0x00002226, 0x0000217F, 0x00005420, 0x00050084,
0x00000011, 0x00005768, 0x00004D57, 0x00003985, 0x00050082, 0x00000011,
0x000050EB, 0x00004F30, 0x00005768, 0x00050051, 0x0000000B, 0x00001C87,
0x00005299, 0x00000000, 0x00050051, 0x0000000B, 0x00005962, 0x00005299,
0x00000001, 0x00050084, 0x0000000B, 0x00003372, 0x00001C87, 0x00005962,
0x00050084, 0x0000000B, 0x000038D7, 0x00002226, 0x00003372, 0x00050051,
0x0000000B, 0x00001A95, 0x000050EB, 0x00000001, 0x00050051, 0x0000000B,
0x00005BE6, 0x00003985, 0x00000000, 0x00050084, 0x0000000B, 0x00005966,
0x00001A95, 0x00005BE6, 0x00050051, 0x0000000B, 0x00001AE6, 0x000050EB,
0x00000000, 0x00050080, 0x0000000B, 0x000025E0, 0x00005966, 0x00001AE6,
0x000500C4, 0x0000000B, 0x00004AFF, 0x000025E0, 0x00000A0D, 0x00050080,
0x0000000B, 0x0000187D, 0x000038D7, 0x00004AFF, 0x000500C2, 0x0000000B,
0x00005EF3, 0x0000187D, 0x00000A10, 0x00060041, 0x00000294, 0x00004C91,
0x00000C50, 0x00000A0B, 0x00005EF3, 0x0004003D, 0x00000017, 0x00003141,
0x00004C91, 0x00050080, 0x0000000B, 0x00002DA7, 0x00005EF3, 0x00000A0D,
0x00060041, 0x00000294, 0x000021D4, 0x00000C50, 0x00000A0B, 0x00002DA7,
0x0004003D, 0x00000017, 0x000019B2, 0x000021D4, 0x000300F7, 0x0000530F,
0x00000002, 0x000400FA, 0x00004C75, 0x00003ADC, 0x0000530F, 0x000200F8,
0x00003ADC, 0x000500AA, 0x00000009, 0x00003585, 0x000023AA, 0x00000A19,
0x000400A8, 0x00000009, 0x00004277, 0x00003585, 0x000300F7, 0x00003D52,
0x00000000, 0x000400FA, 0x00004277, 0x000040DF, 0x00003D52, 0x000200F8,
0x000040DF, 0x000500AA, 0x00000009, 0x0000495A, 0x000023AA, 0x00000A1F,
0x000200F9, 0x00003D52, 0x000200F8, 0x00003D52, 0x000700F5, 0x00000009,
0x00002AAC, 0x00003585, 0x00003ADC, 0x0000495A, 0x000040DF, 0x000300F7,
0x000039F4, 0x00000002, 0x000400FA, 0x00002AAC, 0x000020A8, 0x000039F4,
0x000200F8, 0x000020A8, 0x000500C7, 0x00000017, 0x00004BF1, 0x00003141,
0x00000755, 0x0009004F, 0x00000017, 0x000051EA, 0x00003141, 0x00003141,
0x00000001, 0x00000000, 0x00000003, 0x00000002, 0x000500C7, 0x00000017,
0x00001CED, 0x000051EA, 0x00000352, 0x000500C5, 0x00000017, 0x00003640,
0x00004BF1, 0x00001CED, 0x000500C7, 0x00000017, 0x00005311, 0x000019B2,
0x00000755, 0x0009004F, 0x00000017, 0x00003BF8, 0x000019B2, 0x000019B2,
0x00000001, 0x00000000, 0x00000003, 0x00000002, 0x000500C7, 0x00000017,
0x000020A3, 0x00003BF8, 0x00000352, 0x000500C5, 0x00000017, 0x00002101,
0x00005311, 0x000020A3, 0x000200F9, 0x000039F4, 0x000200F8, 0x000039F4,
0x000700F5, 0x00000017, 0x00002BF3, 0x000019B2, 0x00003D52, 0x00002101,
0x000020A8, 0x000700F5, 0x00000017, 0x0000358D, 0x00003141, 0x00003D52,
0x00003640, 0x000020A8, 0x000200F9, 0x0000530F, 0x000200F8, 0x0000530F,
0x000700F5, 0x00000017, 0x000022F8, 0x000019B2, 0x00005CE0, 0x00002BF3,
0x000039F4, 0x000700F5, 0x00000017, 0x000055F9, 0x00003141, 0x00005CE0,
0x0000358D, 0x000039F4, 0x00050080, 0x00000011, 0x00001C97, 0x00002EF9,
0x000059EC, 0x000300F7, 0x000052F5, 0x00000002, 0x000400FA, 0x0000500F,
0x0000294E, 0x0000537D, 0x000200F8, 0x0000537D, 0x0004007C, 0x00000012,
0x00002970, 0x00001C97, 0x00050051, 0x0000000C, 0x000042C2, 0x00002970,
0x00000000, 0x000500C3, 0x0000000C, 0x000024FD, 0x000042C2, 0x00000A1A,
0x00050051, 0x0000000C, 0x00002747, 0x00002970, 0x00000001, 0x000500C3,
0x0000000C, 0x0000405C, 0x00002747, 0x00000A1A, 0x000500C2, 0x0000000B,
0x00005B4D, 0x00003DA7, 0x00000A19, 0x0004007C, 0x0000000C, 0x000018AA,
0x00005B4D, 0x00050084, 0x0000000C, 0x00005347, 0x0000405C, 0x000018AA,
0x00050080, 0x0000000C, 0x00003F5E, 0x000024FD, 0x00005347, 0x000500C4,
0x0000000C, 0x00004A8E, 0x00003F5E, 0x00000A28, 0x000500C7, 0x0000000C,
0x00002AB6, 0x000042C2, 0x00000A20, 0x000500C7, 0x0000000C, 0x00003138,
0x00002747, 0x00000A35, 0x000500C4, 0x0000000C, 0x0000454D, 0x00003138,
0x00000A11, 0x00050080, 0x0000000C, 0x00004397, 0x00002AB6, 0x0000454D,
0x000500C4, 0x0000000C, 0x000018E7, 0x00004397, 0x00000A13, 0x000500C7,
0x0000000C, 0x000027B1, 0x000018E7, 0x000009DB, 0x000500C4, 0x0000000C,
0x00002F76, 0x000027B1, 0x00000A0E, 0x00050080, 0x0000000C, 0x00003C4B,
0x00004A8E, 0x00002F76, 0x000500C7, 0x0000000C, 0x00003397, 0x000018E7,
0x00000A38, 0x00050080, 0x0000000C, 0x00004D30, 0x00003C4B, 0x00003397,
0x000500C7, 0x0000000C, 0x000047B4, 0x00002747, 0x00000A0E, 0x000500C4,
0x0000000C, 0x0000544A, 0x000047B4, 0x00000A17, 0x00050080, 0x0000000C,
0x00004157, 0x00004D30, 0x0000544A, 0x000500C7, 0x0000000C, 0x00005022,
0x00004157, 0x0000040B, 0x000500C4, 0x0000000C, 0x00002416, 0x00005022,
0x00000A14, 0x000500C7, 0x0000000C, 0x00004A33, 0x00002747, 0x00000A3B,
0x000500C4, 0x0000000C, 0x00002F77, 0x00004A33, 0x00000A20, 0x00050080,
0x0000000C, 0x00004158, 0x00002416, 0x00002F77, 0x000500C7, 0x0000000C,
0x00004ADD, 0x00004157, 0x00000388, 0x000500C4, 0x0000000C, 0x0000544B,
0x00004ADD, 0x00000A11, 0x00050080, 0x0000000C, 0x00004144, 0x00004158,
0x0000544B, 0x000500C7, 0x0000000C, 0x00005083, 0x00002747, 0x00000A23,
0x000500C3, 0x0000000C, 0x000041BF, 0x00005083, 0x00000A11, 0x000500C3,
0x0000000C, 0x00001EEC, 0x000042C2, 0x00000A14, 0x00050080, 0x0000000C,
0x000035B6, 0x000041BF, 0x00001EEC, 0x000500C7, 0x0000000C, 0x00005453,
0x000035B6, 0x00000A14, 0x000500C4, 0x0000000C, 0x0000544C, 0x00005453,
0x00000A1D, 0x00050080, 0x0000000C, 0x00003C4C, 0x00004144, 0x0000544C,
0x000500C7, 0x0000000C, 0x00002E06, 0x00004157, 0x00000AC8, 0x00050080,
0x0000000C, 0x0000394F, 0x00003C4C, 0x00002E06, 0x0004007C, 0x0000000B,
0x0000566F, 0x0000394F, 0x000200F9, 0x000052F5, 0x000200F8, 0x0000294E,
0x00050051, 0x0000000B, 0x00004D9A, 0x00001C97, 0x00000000, 0x00050051,
0x0000000B, 0x00002C03, 0x00001C97, 0x00000001, 0x00060050, 0x00000014,
0x000020DE, 0x00004D9A, 0x00002C03, 0x000059FD, 0x0004007C, 0x00000016,
0x00004E9D, 0x000020DE, 0x00050051, 0x0000000C, 0x000028C6, 0x00004E9D,
0x00000001, 0x000500C3, 0x0000000C, 0x000024FE, 0x000028C6, 0x00000A17,
0x00050051, 0x0000000C, 0x00002748, 0x00004E9D, 0x00000002, 0x000500C3,
0x0000000C, 0x0000405D, 0x00002748, 0x00000A11, 0x000500C2, 0x0000000B,
0x00005B4E, 0x00006273, 0x00000A16, 0x0004007C, 0x0000000C, 0x000018AB,
0x00005B4E, 0x00050084, 0x0000000C, 0x00005321, 0x0000405D, 0x000018AB,
0x00050080, 0x0000000C, 0x00003B27, 0x000024FE, 0x00005321, 0x000500C2,
0x0000000B, 0x00002348, 0x00003DA7, 0x00000A19, 0x0004007C, 0x0000000C,
0x0000308B, 0x00002348, 0x00050084, 0x0000000C, 0x00002878, 0x00003B27,
0x0000308B, 0x00050051, 0x0000000C, 0x00006242, 0x00004E9D, 0x00000000,
0x000500C3, 0x0000000C, 0x00004FC7, 0x00006242, 0x00000A1A, 0x00050080,
0x0000000C, 0x000049FC, 0x00004FC7, 0x00002878, 0x000500C4, 0x0000000C,
0x0000225D, 0x000049FC, 0x00000A25, 0x000500C7, 0x0000000C, 0x00002CF6,
0x0000225D, 0x0000078B, 0x000500C4, 0x0000000C, 0x000049FA, 0x00002CF6,
0x00000A0E, 0x000500C7, 0x0000000C, 0x00004D38, 0x00006242, 0x00000A20,
0x000500C7, 0x0000000C, 0x00003139, 0x000028C6, 0x00000A1D, 0x000500C4,
0x0000000C, 0x0000454E, 0x00003139, 0x00000A11, 0x00050080, 0x0000000C,
0x0000434B, 0x00004D38, 0x0000454E, 0x000500C4, 0x0000000C, 0x00001B88,
0x0000434B, 0x00000A25, 0x000500C3, 0x0000000C, 0x00005DE3, 0x00001B88,
0x00000A1D, 0x000500C3, 0x0000000C, 0x00002215, 0x000028C6, 0x00000A14,
0x00050080, 0x0000000C, 0x000035A3, 0x00002215, 0x0000405D, 0x000500C7,
0x0000000C, 0x00005A0C, 0x000035A3, 0x00000A0E, 0x000500C3, 0x0000000C,
0x00004112, 0x00006242, 0x00000A14, 0x000500C4, 0x0000000C, 0x0000496A,
0x00005A0C, 0x00000A0E, 0x00050080, 0x0000000C, 0x000034BD, 0x00004112,
0x0000496A, 0x000500C7, 0x0000000C, 0x00004ADE, 0x000034BD, 0x00000A14,
0x000500C4, 0x0000000C, 0x0000544D, 0x00004ADE, 0x00000A0E, 0x00050080,
0x0000000C, 0x00003C4D, 0x00005A0C, 0x0000544D, 0x000500C7, 0x0000000C,
0x0000335E, 0x00005DE3, 0x000009DB, 0x00050080, 0x0000000C, 0x00004F70,
0x000049FA, 0x0000335E, 0x000500C4, 0x0000000C, 0x00005B31, 0x00004F70,
0x00000A0E, 0x000500C7, 0x0000000C, 0x00005AEA, 0x00005DE3, 0x00000A38,
0x00050080, 0x0000000C, 0x0000285C, 0x00005B31, 0x00005AEA, 0x000500C7,
0x0000000C, 0x000047B5, 0x00002748, 0x00000A14, 0x000500C4, 0x0000000C,
0x0000544E, 0x000047B5, 0x00000A25, 0x00050080, 0x0000000C, 0x00004159,
0x0000285C, 0x0000544E, 0x000500C7, 0x0000000C, 0x00004ADF, 0x000028C6,
0x00000A0E, 0x000500C4, 0x0000000C, 0x0000544F, 0x00004ADF, 0x00000A17,
0x00050080, 0x0000000C, 0x0000415A, 0x00004159, 0x0000544F, 0x000500C7,
0x0000000C, 0x00004FD6, 0x00003C4D, 0x00000A0E, 0x000500C4, 0x0000000C,
0x00002703, 0x00004FD6, 0x00000A14, 0x000500C3, 0x0000000C, 0x00003332,
0x0000415A, 0x00000A1D, 0x000500C7, 0x0000000C, 0x000036D6, 0x00003332,
0x00000A20, 0x00050080, 0x0000000C, 0x00003412, 0x00002703, 0x000036D6,
0x000500C4, 0x0000000C, 0x00005B32, 0x00003412, 0x00000A14, 0x000500C7,
0x0000000C, 0x00005AB1, 0x00003C4D, 0x00000A05, 0x00050080, 0x0000000C,
0x00002A9C, 0x00005B32, 0x00005AB1, 0x000500C4, 0x0000000C, 0x00005B33,
0x00002A9C, 0x00000A11, 0x000500C7, 0x0000000C, 0x00005AB2, 0x0000415A,
0x0000040B, 0x00050080, 0x0000000C, 0x00002A9D, 0x00005B33, 0x00005AB2,
0x000500C4, 0x0000000C, 0x00005B34, 0x00002A9D, 0x00000A14, 0x000500C7,
0x0000000C, 0x00005559, 0x0000415A, 0x00000AC8, 0x00050080, 0x0000000C,
0x00005EFA, 0x00005B34, 0x00005559, 0x0004007C, 0x0000000B, 0x00005670,
0x00005EFA, 0x000200F9, 0x000052F5, 0x000200F8, 0x000052F5, 0x000700F5,
0x0000000B, 0x00002C70, 0x00005670, 0x0000294E, 0x0000566F, 0x0000537D,
0x00050080, 0x0000000B, 0x00005088, 0x00002C70, 0x000062B6, 0x000500C2,
0x0000000B, 0x00004EAA, 0x00005088, 0x00000A16, 0x000500AA, 0x00000009,
0x00004B9C, 0x00004ADC, 0x00000A16, 0x000300F7, 0x000039BC, 0x00000000,
0x000400FA, 0x00004B9C, 0x000033DF, 0x000039BC, 0x000200F8, 0x000033DF,
0x0009004F, 0x00000017, 0x00001F16, 0x000055F9, 0x000055F9, 0x00000001,
0x00000000, 0x00000003, 0x00000002, 0x000200F9, 0x000039BC, 0x000200F8,
0x000039BC, 0x000700F5, 0x00000017, 0x00005972, 0x000055F9, 0x000052F5,
0x00001F16, 0x000033DF, 0x000600A9, 0x0000000B, 0x000019CD, 0x00004B9C,
0x00000A10, 0x00004ADC, 0x000500AA, 0x00000009, 0x00003464, 0x000019CD,
0x00000A0D, 0x000500AA, 0x00000009, 0x000047C2, 0x000019CD, 0x00000A10,
0x000500A6, 0x00000009, 0x00005686, 0x00003464, 0x000047C2, 0x000300F7,
0x00003463, 0x00000000, 0x000400FA, 0x00005686, 0x00002957, 0x00003463,
0x000200F8, 0x00002957, 0x000500C7, 0x00000017, 0x0000475F, 0x00005972,
0x000009CE, 0x000500C4, 0x00000017, 0x000024D1, 0x0000475F, 0x0000013D,
0x000500C7, 0x00000017, 0x000050AC, 0x00005972, 0x0000072E, 0x000500C2,
0x00000017, 0x0000448D, 0x000050AC, 0x0000013D, 0x000500C5, 0x00000017,
0x00003FF8, 0x000024D1, 0x0000448D, 0x000200F9, 0x00003463, 0x000200F8,
0x00003463, 0x000700F5, 0x00000017, 0x00005879, 0x00005972, 0x000039BC,
0x00003FF8, 0x00002957, 0x000500AA, 0x00000009, 0x00004CB6, 0x000019CD,
0x00000A13, 0x000500A6, 0x00000009, 0x00003B23, 0x000047C2, 0x00004CB6,
0x000300F7, 0x00002C98, 0x00000000, 0x000400FA, 0x00003B23, 0x00002B38,
0x00002C98, 0x000200F8, 0x00002B38, 0x000500C4, 0x00000017, 0x00005E17,
0x00005879, 0x000002ED, 0x000500C2, 0x00000017, 0x00003BE7, 0x00005879,
0x000002ED, 0x000500C5, 0x00000017, 0x000029E8, 0x00005E17, 0x00003BE7,
0x000200F9, 0x00002C98, 0x000200F8, 0x00002C98, 0x000700F5, 0x00000017,
0x00004D37, 0x00005879, 0x00003463, 0x000029E8, 0x00002B38, 0x00060041,
0x00000294, 0x000060F9, 0x00001592, 0x00000A0B, 0x00004EAA, 0x0003003E,
0x000060F9, 0x00004D37, 0x00050080, 0x0000000B, 0x000054B5, 0x00004EAA,
0x00000A10, 0x000300F7, 0x00003F86, 0x00000000, 0x000400FA, 0x00004B9C,
0x000033E0, 0x00003F86, 0x000200F8, 0x000033E0, 0x0009004F, 0x00000017,
0x00001F17, 0x000022F8, 0x000022F8, 0x00000001, 0x00000000, 0x00000003,
0x00000002, 0x000200F9, 0x00003F86, 0x000200F8, 0x00003F86, 0x000700F5,
0x00000017, 0x00002AAD, 0x000022F8, 0x00002C98, 0x00001F17, 0x000033E0,
0x000300F7, 0x00003A1A, 0x00000000, 0x000400FA, 0x00005686, 0x00002958,
0x00003A1A, 0x000200F8, 0x00002958, 0x000500C7, 0x00000017, 0x00004760,
0x00002AAD, 0x000009CE, 0x000500C4, 0x00000017, 0x000024D2, 0x00004760,
0x0000013D, 0x000500C7, 0x00000017, 0x000050AD, 0x00002AAD, 0x0000072E,
0x000500C2, 0x00000017, 0x0000448E, 0x000050AD, 0x0000013D, 0x000500C5,
0x00000017, 0x00003FF9, 0x000024D2, 0x0000448E, 0x000200F9, 0x00003A1A,
0x000200F8, 0x00003A1A, 0x000700F5, 0x00000017, 0x00002AAE, 0x00002AAD,
0x00003F86, 0x00003FF9, 0x00002958, 0x000300F7, 0x00002C99, 0x00000000,
0x000400FA, 0x00003B23, 0x00002B39, 0x00002C99, 0x000200F8, 0x00002B39,
0x000500C4, 0x00000017, 0x00005E18, 0x00002AAE, 0x000002ED, 0x000500C2,
0x00000017, 0x00003BE8, 0x00002AAE, 0x000002ED, 0x000500C5, 0x00000017,
0x000029E9, 0x00005E18, 0x00003BE8, 0x000200F9, 0x00002C99, 0x000200F8,
0x00002C99, 0x000700F5, 0x00000017, 0x00004D39, 0x00002AAE, 0x00003A1A,
0x000029E9, 0x00002B39, 0x00060041, 0x00000294, 0x00001F75, 0x00001592,
0x00000A0B, 0x000054B5, 0x0003003E, 0x00001F75, 0x00004D39, 0x000200F9,
0x00004C7A, 0x000200F8, 0x00004C7A, 0x000100FD, 0x00010038,
};

View File

@ -0,0 +1,927 @@
// Generated with `xb buildshaders`.
#if 0
; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 10
; Bound: 25204
; Schema: 0
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %5663 "main" %gl_GlobalInvocationID
OpExecutionMode %5663 LocalSize 8 8 1
OpMemberDecorate %_struct_1017 0 Offset 0
OpMemberDecorate %_struct_1017 1 Offset 4
OpMemberDecorate %_struct_1017 2 Offset 8
OpMemberDecorate %_struct_1017 3 Offset 12
OpDecorate %_struct_1017 Block
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %_runtimearr_v4uint ArrayStride 16
OpMemberDecorate %_struct_1972 0 NonWritable
OpMemberDecorate %_struct_1972 0 Offset 0
OpDecorate %_struct_1972 BufferBlock
OpDecorate %3152 DescriptorSet 1
OpDecorate %3152 Binding 0
OpDecorate %_runtimearr_v4uint_0 ArrayStride 16
OpMemberDecorate %_struct_1973 0 NonReadable
OpMemberDecorate %_struct_1973 0 Offset 0
OpDecorate %_struct_1973 BufferBlock
OpDecorate %5522 DescriptorSet 0
OpDecorate %5522 Binding 0
OpDecorate %gl_WorkGroupSize BuiltIn WorkgroupSize
%void = OpTypeVoid
%1282 = OpTypeFunction %void
%bool = OpTypeBool
%v2bool = OpTypeVector %bool 2
%uint = OpTypeInt 32 0
%v2uint = OpTypeVector %uint 2
%v4uint = OpTypeVector %uint 4
%int = OpTypeInt 32 1
%v2int = OpTypeVector %int 2
%v3int = OpTypeVector %int 3
%v3uint = OpTypeVector %uint 3
%uint_1 = OpConstant %uint 1
%uint_2 = OpConstant %uint 2
%uint_16711935 = OpConstant %uint 16711935
%uint_8 = OpConstant %uint 8
%uint_4278255360 = OpConstant %uint 4278255360
%uint_3 = OpConstant %uint 3
%uint_16 = OpConstant %uint 16
%uint_4 = OpConstant %uint 4
%1837 = OpConstantComposite %v2uint %uint_2 %uint_1
%uint_0 = OpConstant %uint 0
%1807 = OpConstantComposite %v2uint %uint_0 %uint_0
%1828 = OpConstantComposite %v2uint %uint_1 %uint_1
%1816 = OpConstantComposite %v2uint %uint_1 %uint_0
%uint_80 = OpConstant %uint 80
%2719 = OpConstantComposite %v2uint %uint_80 %uint_16
%int_5 = OpConstant %int 5
%uint_5 = OpConstant %uint 5
%uint_7 = OpConstant %uint 7
%int_7 = OpConstant %int 7
%int_14 = OpConstant %int 14
%int_2 = OpConstant %int 2
%int_n16 = OpConstant %int -16
%int_1 = OpConstant %int 1
%int_15 = OpConstant %int 15
%int_4 = OpConstant %int 4
%int_n512 = OpConstant %int -512
%int_3 = OpConstant %int 3
%int_16 = OpConstant %int 16
%int_448 = OpConstant %int 448
%int_8 = OpConstant %int 8
%int_6 = OpConstant %int 6
%int_63 = OpConstant %int 63
%int_268435455 = OpConstant %int 268435455
%int_n2 = OpConstant %int -2
%uint_32 = OpConstant %uint 32
%_struct_1017 = OpTypeStruct %uint %uint %uint %uint
%_ptr_PushConstant__struct_1017 = OpTypePointer PushConstant %_struct_1017
%4495 = OpVariable %_ptr_PushConstant__struct_1017 PushConstant
%int_0 = OpConstant %int 0
%_ptr_PushConstant_uint = OpTypePointer PushConstant %uint
%uint_1023 = OpConstant %uint 1023
%uint_10 = OpConstant %uint 10
%uint_13 = OpConstant %uint 13
%uint_4095 = OpConstant %uint 4095
%uint_25 = OpConstant %uint 25
%uint_15 = OpConstant %uint 15
%uint_29 = OpConstant %uint 29
%uint_27 = OpConstant %uint 27
%2398 = OpConstantComposite %v2uint %uint_27 %uint_29
%uint_1073741824 = OpConstant %uint 1073741824
%false = OpConstantFalse %bool
%1855 = OpConstantComposite %v2uint %uint_0 %uint_4
%1856 = OpConstantComposite %v2uint %uint_4 %uint_1
%uint_2047 = OpConstant %uint 2047
%uint_16777216 = OpConstant %uint 16777216
%uint_20 = OpConstant %uint 20
%uint_24 = OpConstant %uint 24
%2275 = OpConstantComposite %v2uint %uint_20 %uint_24
%uint_28 = OpConstant %uint 28
%uint_4294901760 = OpConstant %uint 4294901760
%uint_65535 = OpConstant %uint 65535
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
%gl_GlobalInvocationID = OpVariable %_ptr_Input_v3uint Input
%1825 = OpConstantComposite %v2uint %uint_2 %uint_0
%_runtimearr_v4uint = OpTypeRuntimeArray %v4uint
%_struct_1972 = OpTypeStruct %_runtimearr_v4uint
%_ptr_Uniform__struct_1972 = OpTypePointer Uniform %_struct_1972
%3152 = OpVariable %_ptr_Uniform__struct_1972 Uniform
%_ptr_Uniform_v4uint = OpTypePointer Uniform %v4uint
%_runtimearr_v4uint_0 = OpTypeRuntimeArray %v4uint
%_struct_1973 = OpTypeStruct %_runtimearr_v4uint_0
%_ptr_Uniform__struct_1973 = OpTypePointer Uniform %_struct_1973
%5522 = OpVariable %_ptr_Uniform__struct_1973 Uniform
%gl_WorkGroupSize = OpConstantComposite %v3uint %uint_8 %uint_8 %uint_1
%1870 = OpConstantComposite %v2uint %uint_3 %uint_3
%315 = OpConstantComposite %v2bool %false %false
%2122 = OpConstantComposite %v2uint %uint_15 %uint_15
%uint_9 = OpConstant %uint 9
%1877 = OpConstantComposite %v4uint %uint_4294901760 %uint_4294901760 %uint_4294901760 %uint_4294901760
%850 = OpConstantComposite %v4uint %uint_65535 %uint_65535 %uint_65535 %uint_65535
%2510 = OpConstantComposite %v4uint %uint_16711935 %uint_16711935 %uint_16711935 %uint_16711935
%317 = OpConstantComposite %v4uint %uint_8 %uint_8 %uint_8 %uint_8
%1838 = OpConstantComposite %v4uint %uint_4278255360 %uint_4278255360 %uint_4278255360 %uint_4278255360
%749 = OpConstantComposite %v4uint %uint_16 %uint_16 %uint_16 %uint_16
%5663 = OpFunction %void None %1282
%15110 = OpLabel
OpSelectionMerge %19578 None
OpSwitch %uint_0 %11880
%11880 = OpLabel
%22245 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_0
%15627 = OpLoad %uint %22245
%22700 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_1
%20824 = OpLoad %uint %22700
%20561 = OpBitwiseAnd %uint %15627 %uint_1023
%19978 = OpShiftRightLogical %uint %15627 %uint_10
%8574 = OpBitwiseAnd %uint %19978 %uint_3
%21002 = OpShiftRightLogical %uint %15627 %uint_13
%8575 = OpBitwiseAnd %uint %21002 %uint_4095
%18836 = OpShiftRightLogical %uint %15627 %uint_25
%9130 = OpBitwiseAnd %uint %18836 %uint_15
%8871 = OpCompositeConstruct %v2uint %20824 %20824
%9633 = OpShiftRightLogical %v2uint %8871 %2398
%23601 = OpBitwiseAnd %v2uint %9633 %1870
%24030 = OpBitwiseAnd %uint %15627 %uint_1073741824
%12295 = OpINotEqual %bool %24030 %uint_0
OpSelectionMerge %9847 None
OpBranchConditional %12295 %20545 %21992
%21992 = OpLabel
OpBranch %9847
%20545 = OpLabel
%23885 = OpUGreaterThan %v2bool %23601 %1828
OpBranch %9847
%9847 = OpLabel
%19067 = OpPhi %v2bool %23885 %20545 %315 %21992
%6303 = OpShiftRightLogical %v2uint %8871 %1855
%10897 = OpShiftLeftLogical %v2uint %1828 %1856
%18608 = OpISub %v2uint %10897 %1828
%18743 = OpBitwiseAnd %v2uint %6303 %18608
%22404 = OpShiftLeftLogical %v2uint %18743 %1870
%23019 = OpIMul %v2uint %22404 %23601
%13123 = OpShiftRightLogical %uint %20824 %uint_5
%14785 = OpBitwiseAnd %uint %13123 %uint_2047
%8858 = OpCompositeExtract %uint %23601 0
%22993 = OpIMul %uint %14785 %8858
%20036 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_2
%18628 = OpLoad %uint %20036
%22701 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_3
%20919 = OpLoad %uint %22701
%19164 = OpBitwiseAnd %uint %18628 %uint_7
%21999 = OpBitwiseAnd %uint %18628 %uint_8
%20495 = OpINotEqual %bool %21999 %uint_0
%10402 = OpShiftRightLogical %uint %18628 %uint_4
%23037 = OpBitwiseAnd %uint %10402 %uint_7
%23118 = OpBitwiseAnd %uint %18628 %uint_16777216
%19573 = OpINotEqual %bool %23118 %uint_0
%8003 = OpBitwiseAnd %uint %20919 %uint_1023
%15783 = OpShiftLeftLogical %uint %8003 %uint_5
%22591 = OpShiftRightLogical %uint %20919 %uint_10
%19390 = OpBitwiseAnd %uint %22591 %uint_1023
%25203 = OpShiftLeftLogical %uint %19390 %uint_5
%10422 = OpCompositeConstruct %v2uint %20919 %20919
%10385 = OpShiftRightLogical %v2uint %10422 %2275
%23379 = OpBitwiseAnd %v2uint %10385 %2122
%16207 = OpShiftLeftLogical %v2uint %23379 %1870
%23020 = OpIMul %v2uint %16207 %23601
%12743 = OpShiftRightLogical %uint %20919 %uint_28
%17238 = OpBitwiseAnd %uint %12743 %uint_7
%12737 = OpLoad %v3uint %gl_GlobalInvocationID
%14500 = OpVectorShuffle %v2uint %12737 %12737 0 1
%12025 = OpShiftLeftLogical %v2uint %14500 %1825
%7640 = OpCompositeExtract %uint %12025 0
%11658 = OpShiftLeftLogical %uint %22993 %uint_3
%15379 = OpUGreaterThanEqual %bool %7640 %11658
OpSelectionMerge %14025 DontFlatten
OpBranchConditional %15379 %21993 %14025
%21993 = OpLabel
OpBranch %19578
%14025 = OpLabel
%21557 = OpCompositeExtract %uint %12025 1
%12854 = OpCompositeExtract %bool %19067 1
%11443 = OpSelect %uint %12854 %uint_1 %uint_0
%6891 = OpExtInst %uint %1 UMax %21557 %11443
%14763 = OpCompositeConstruct %v2uint %7640 %6891
%21036 = OpIAdd %v2uint %14763 %23019
%16075 = OpULessThanEqual %bool %17238 %uint_3
OpSelectionMerge %23776 None
OpBranchConditional %16075 %10990 %15087
%15087 = OpLabel
%13566 = OpIEqual %bool %17238 %uint_5
%8438 = OpSelect %uint %13566 %uint_2 %uint_0
OpBranch %23776
%10990 = OpLabel
OpBranch %23776
%23776 = OpLabel
%19300 = OpPhi %uint %17238 %10990 %8438 %15087
%16830 = OpCompositeConstruct %v2uint %8574 %8574
%11801 = OpUGreaterThanEqual %v2bool %16830 %1837
%19381 = OpSelect %v2uint %11801 %1828 %1807
%10986 = OpShiftLeftLogical %v2uint %21036 %19381
%24669 = OpCompositeConstruct %v2uint %19300 %19300
%9093 = OpShiftRightLogical %v2uint %24669 %1816
%16072 = OpBitwiseAnd %v2uint %9093 %1828
%20272 = OpIAdd %v2uint %10986 %16072
%21145 = OpIMul %v2uint %2719 %23601
%14725 = OpShiftRightLogical %v2uint %21145 %1816
%19799 = OpUDiv %v2uint %20272 %14725
%20390 = OpCompositeExtract %uint %19799 1
%11046 = OpIMul %uint %20390 %20561
%24665 = OpCompositeExtract %uint %19799 0
%21536 = OpIAdd %uint %11046 %24665
%8742 = OpIAdd %uint %8575 %21536
%22376 = OpIMul %v2uint %19799 %14725
%20715 = OpISub %v2uint %20272 %22376
%7303 = OpCompositeExtract %uint %21145 0
%22882 = OpCompositeExtract %uint %21145 1
%13170 = OpIMul %uint %7303 %22882
%14551 = OpIMul %uint %8742 %13170
%6805 = OpCompositeExtract %uint %20715 1
%23526 = OpCompositeExtract %uint %14725 0
%22886 = OpIMul %uint %6805 %23526
%6886 = OpCompositeExtract %uint %20715 0
%9696 = OpIAdd %uint %22886 %6886
%19199 = OpShiftLeftLogical %uint %9696 %uint_1
%6269 = OpIAdd %uint %14551 %19199
%24307 = OpShiftRightLogical %uint %6269 %uint_2
%19601 = OpAccessChain %_ptr_Uniform_v4uint %3152 %int_0 %24307
%12609 = OpLoad %v4uint %19601
%11687 = OpIAdd %uint %24307 %uint_1
%24577 = OpAccessChain %_ptr_Uniform_v4uint %3152 %int_0 %11687
%16168 = OpLoad %v4uint %24577
%12971 = OpCompositeExtract %bool %19067 0
OpSelectionMerge %15698 None
OpBranchConditional %12971 %16607 %15698
%16607 = OpLabel
%18778 = OpIEqual %bool %7640 %uint_0
OpBranch %15698
%15698 = OpLabel
%10924 = OpPhi %bool %12971 %23776 %18778 %16607
OpSelectionMerge %21910 None
OpBranchConditional %10924 %9760 %21910
%9760 = OpLabel
%17290 = OpCompositeExtract %uint %12609 2
%21174 = OpCompositeInsert %v4uint %17290 %12609 0
%23044 = OpCompositeExtract %uint %12609 3
%9296 = OpCompositeInsert %v4uint %23044 %21174 1
OpBranch %21910
%21910 = OpLabel
%10925 = OpPhi %v4uint %12609 %15698 %9296 %9760
OpSelectionMerge %21263 DontFlatten
OpBranchConditional %19573 %15068 %21263
%15068 = OpLabel
%13701 = OpIEqual %bool %9130 %uint_5
%17015 = OpLogicalNot %bool %13701
OpSelectionMerge %15699 None
OpBranchConditional %17015 %16608 %15699
%16608 = OpLabel
%18779 = OpIEqual %bool %9130 %uint_7
OpBranch %15699
%15699 = OpLabel
%10926 = OpPhi %bool %13701 %15068 %18779 %16608
OpSelectionMerge %14836 DontFlatten
OpBranchConditional %10926 %8360 %14836
%8360 = OpLabel
%19441 = OpBitwiseAnd %v4uint %10925 %1877
%20970 = OpVectorShuffle %v4uint %10925 %10925 1 0 3 2
%7405 = OpBitwiseAnd %v4uint %20970 %850
%13888 = OpBitwiseOr %v4uint %19441 %7405
%21265 = OpBitwiseAnd %v4uint %16168 %1877
%15352 = OpVectorShuffle %v4uint %16168 %16168 1 0 3 2
%8355 = OpBitwiseAnd %v4uint %15352 %850
%8449 = OpBitwiseOr %v4uint %21265 %8355
OpBranch %14836
%14836 = OpLabel
%11251 = OpPhi %v4uint %16168 %15699 %8449 %8360
%13709 = OpPhi %v4uint %10925 %15699 %13888 %8360
OpBranch %21263
%21263 = OpLabel
%8952 = OpPhi %v4uint %16168 %21910 %11251 %14836
%18855 = OpPhi %v4uint %10925 %21910 %13709 %14836
%13755 = OpIAdd %v2uint %12025 %23020
%13244 = OpCompositeExtract %uint %13755 0
%9555 = OpCompositeExtract %uint %13755 1
%11053 = OpShiftRightLogical %uint %13244 %uint_1
%7832 = OpCompositeConstruct %v2uint %11053 %9555
%24920 = OpUDiv %v2uint %7832 %23601
%13932 = OpCompositeExtract %uint %24920 0
%19770 = OpShiftLeftLogical %uint %13932 %uint_1
%24251 = OpCompositeExtract %uint %24920 1
%21452 = OpCompositeConstruct %v3uint %19770 %24251 %23037
OpSelectionMerge %21313 DontFlatten
OpBranchConditional %20495 %22206 %10904
%10904 = OpLabel
%7339 = OpVectorShuffle %v2uint %21452 %21452 0 1
%22991 = OpBitcast %v2int %7339
%6403 = OpCompositeExtract %int %22991 0
%9469 = OpShiftRightArithmetic %int %6403 %int_5
%10055 = OpCompositeExtract %int %22991 1
%16476 = OpShiftRightArithmetic %int %10055 %int_5
%23373 = OpShiftRightLogical %uint %15783 %uint_5
%6314 = OpBitcast %int %23373
%21319 = OpIMul %int %16476 %6314
%16222 = OpIAdd %int %9469 %21319
%19086 = OpShiftLeftLogical %int %16222 %uint_10
%10934 = OpBitwiseAnd %int %6403 %int_7
%12600 = OpBitwiseAnd %int %10055 %int_14
%17741 = OpShiftLeftLogical %int %12600 %int_2
%17303 = OpIAdd %int %10934 %17741
%6375 = OpShiftLeftLogical %int %17303 %uint_3
%10161 = OpBitwiseAnd %int %6375 %int_n16
%12150 = OpShiftLeftLogical %int %10161 %int_1
%15435 = OpIAdd %int %19086 %12150
%13207 = OpBitwiseAnd %int %6375 %int_15
%19760 = OpIAdd %int %15435 %13207
%18356 = OpBitwiseAnd %int %10055 %int_1
%21578 = OpShiftLeftLogical %int %18356 %int_4
%16727 = OpIAdd %int %19760 %21578
%20514 = OpBitwiseAnd %int %16727 %int_n512
%9238 = OpShiftLeftLogical %int %20514 %int_3
%18995 = OpBitwiseAnd %int %10055 %int_16
%12151 = OpShiftLeftLogical %int %18995 %int_7
%16728 = OpIAdd %int %9238 %12151
%19165 = OpBitwiseAnd %int %16727 %int_448
%21579 = OpShiftLeftLogical %int %19165 %int_2
%16708 = OpIAdd %int %16728 %21579
%20611 = OpBitwiseAnd %int %10055 %int_8
%16831 = OpShiftRightArithmetic %int %20611 %int_2
%7916 = OpShiftRightArithmetic %int %6403 %int_3
%13750 = OpIAdd %int %16831 %7916
%21587 = OpBitwiseAnd %int %13750 %int_3
%21580 = OpShiftLeftLogical %int %21587 %int_6
%15436 = OpIAdd %int %16708 %21580
%11782 = OpBitwiseAnd %int %16727 %int_63
%14671 = OpIAdd %int %15436 %11782
%22127 = OpBitcast %uint %14671
OpBranch %21313
%22206 = OpLabel
%6573 = OpBitcast %v3int %21452
%17090 = OpCompositeExtract %int %6573 1
%9470 = OpShiftRightArithmetic %int %17090 %int_4
%10056 = OpCompositeExtract %int %6573 2
%16477 = OpShiftRightArithmetic %int %10056 %int_2
%23374 = OpShiftRightLogical %uint %25203 %uint_4
%6315 = OpBitcast %int %23374
%21281 = OpIMul %int %16477 %6315
%15143 = OpIAdd %int %9470 %21281
%9032 = OpShiftRightLogical %uint %15783 %uint_5
%12427 = OpBitcast %int %9032
%10360 = OpIMul %int %15143 %12427
%25154 = OpCompositeExtract %int %6573 0
%20423 = OpShiftRightArithmetic %int %25154 %int_5
%18940 = OpIAdd %int %20423 %10360
%8797 = OpShiftLeftLogical %int %18940 %uint_9
%11510 = OpBitwiseAnd %int %8797 %int_268435455
%18938 = OpShiftLeftLogical %int %11510 %int_1
%19768 = OpBitwiseAnd %int %25154 %int_7
%12601 = OpBitwiseAnd %int %17090 %int_6
%17742 = OpShiftLeftLogical %int %12601 %int_2
%17227 = OpIAdd %int %19768 %17742
%7048 = OpShiftLeftLogical %int %17227 %uint_9
%24035 = OpShiftRightArithmetic %int %7048 %int_6
%8725 = OpShiftRightArithmetic %int %17090 %int_3
%13731 = OpIAdd %int %8725 %16477
%23052 = OpBitwiseAnd %int %13731 %int_1
%16658 = OpShiftRightArithmetic %int %25154 %int_3
%18794 = OpShiftLeftLogical %int %23052 %int_1
%13501 = OpIAdd %int %16658 %18794
%19166 = OpBitwiseAnd %int %13501 %int_3
%21581 = OpShiftLeftLogical %int %19166 %int_1
%15437 = OpIAdd %int %23052 %21581
%13150 = OpBitwiseAnd %int %24035 %int_n16
%20336 = OpIAdd %int %18938 %13150
%23345 = OpShiftLeftLogical %int %20336 %int_1
%23274 = OpBitwiseAnd %int %24035 %int_15
%10332 = OpIAdd %int %23345 %23274
%18357 = OpBitwiseAnd %int %10056 %int_3
%21582 = OpShiftLeftLogical %int %18357 %uint_9
%16729 = OpIAdd %int %10332 %21582
%19167 = OpBitwiseAnd %int %17090 %int_1
%21583 = OpShiftLeftLogical %int %19167 %int_4
%16730 = OpIAdd %int %16729 %21583
%20438 = OpBitwiseAnd %int %15437 %int_1
%9987 = OpShiftLeftLogical %int %20438 %int_3
%13106 = OpShiftRightArithmetic %int %16730 %int_6
%14038 = OpBitwiseAnd %int %13106 %int_7
%13330 = OpIAdd %int %9987 %14038
%23346 = OpShiftLeftLogical %int %13330 %int_3
%23217 = OpBitwiseAnd %int %15437 %int_n2
%10908 = OpIAdd %int %23346 %23217
%23347 = OpShiftLeftLogical %int %10908 %int_2
%23218 = OpBitwiseAnd %int %16730 %int_n512
%10909 = OpIAdd %int %23347 %23218
%23348 = OpShiftLeftLogical %int %10909 %int_3
%21849 = OpBitwiseAnd %int %16730 %int_63
%24314 = OpIAdd %int %23348 %21849
%22128 = OpBitcast %uint %24314
OpBranch %21313
%21313 = OpLabel
%9468 = OpPhi %uint %22128 %22206 %22127 %10904
%16296 = OpIMul %v2uint %24920 %23601
%16261 = OpISub %v2uint %7832 %16296
%17551 = OpCompositeExtract %uint %23601 1
%23632 = OpIMul %uint %8858 %17551
%15520 = OpIMul %uint %9468 %23632
%16084 = OpCompositeExtract %uint %16261 0
%15890 = OpIMul %uint %16084 %17551
%6887 = OpCompositeExtract %uint %16261 1
%11045 = OpIAdd %uint %15890 %6887
%24733 = OpShiftLeftLogical %uint %11045 %uint_1
%23219 = OpBitwiseAnd %uint %13244 %uint_1
%9559 = OpIAdd %uint %24733 %23219
%17811 = OpShiftLeftLogical %uint %9559 %uint_3
%8264 = OpIAdd %uint %15520 %17811
%9676 = OpShiftRightLogical %uint %8264 %uint_4
%19356 = OpIEqual %bool %19164 %uint_4
OpSelectionMerge %14780 None
OpBranchConditional %19356 %13279 %14780
%13279 = OpLabel
%7958 = OpVectorShuffle %v4uint %18855 %18855 1 0 3 2
OpBranch %14780
%14780 = OpLabel
%22898 = OpPhi %v4uint %18855 %21313 %7958 %13279
%6605 = OpSelect %uint %19356 %uint_2 %19164
%13412 = OpIEqual %bool %6605 %uint_1
%18370 = OpIEqual %bool %6605 %uint_2
%22150 = OpLogicalOr %bool %13412 %18370
OpSelectionMerge %13411 None
OpBranchConditional %22150 %10583 %13411
%10583 = OpLabel
%18271 = OpBitwiseAnd %v4uint %22898 %2510
%9425 = OpShiftLeftLogical %v4uint %18271 %317
%20652 = OpBitwiseAnd %v4uint %22898 %1838
%17549 = OpShiftRightLogical %v4uint %20652 %317
%16376 = OpBitwiseOr %v4uint %9425 %17549
OpBranch %13411
%13411 = OpLabel
%22649 = OpPhi %v4uint %22898 %14780 %16376 %10583
%19638 = OpIEqual %bool %6605 %uint_3
%15139 = OpLogicalOr %bool %18370 %19638
OpSelectionMerge %11416 None
OpBranchConditional %15139 %11064 %11416
%11064 = OpLabel
%24087 = OpShiftLeftLogical %v4uint %22649 %749
%15335 = OpShiftRightLogical %v4uint %22649 %749
%10728 = OpBitwiseOr %v4uint %24087 %15335
OpBranch %11416
%11416 = OpLabel
%19767 = OpPhi %v4uint %22649 %13411 %10728 %11064
%6590 = OpAccessChain %_ptr_Uniform_v4uint %5522 %int_0 %9676
OpStore %6590 %19767
%23542 = OpUGreaterThan %bool %8858 %uint_1
OpSelectionMerge %19116 DontFlatten
OpBranchConditional %23542 %14554 %21994
%21994 = OpLabel
OpBranch %19116
%14554 = OpLabel
%13898 = OpShiftRightLogical %uint %7640 %uint_1
%7937 = OpUDiv %uint %13898 %8858
%16891 = OpIMul %uint %7937 %8858
%12657 = OpISub %uint %13898 %16891
%9511 = OpIAdd %uint %12657 %uint_1
%13375 = OpIEqual %bool %9511 %8858
OpSelectionMerge %9304 None
OpBranchConditional %13375 %7387 %21995
%21995 = OpLabel
OpBranch %9304
%7387 = OpLabel
%15254 = OpIMul %uint %uint_32 %8858
%21519 = OpShiftLeftLogical %uint %12657 %uint_4
%18756 = OpISub %uint %15254 %21519
OpBranch %9304
%9304 = OpLabel
%10540 = OpPhi %uint %18756 %7387 %uint_16 %21995
OpBranch %19116
%19116 = OpLabel
%10684 = OpPhi %uint %10540 %9304 %uint_32 %21994
%18731 = OpIMul %uint %10684 %17551
%19951 = OpShiftRightLogical %uint %18731 %uint_4
%23410 = OpIAdd %uint %9676 %19951
OpSelectionMerge %16262 None
OpBranchConditional %19356 %13280 %16262
%13280 = OpLabel
%7959 = OpVectorShuffle %v4uint %8952 %8952 1 0 3 2
OpBranch %16262
%16262 = OpLabel
%10927 = OpPhi %v4uint %8952 %19116 %7959 %13280
OpSelectionMerge %14874 None
OpBranchConditional %22150 %10584 %14874
%10584 = OpLabel
%18272 = OpBitwiseAnd %v4uint %10927 %2510
%9426 = OpShiftLeftLogical %v4uint %18272 %317
%20653 = OpBitwiseAnd %v4uint %10927 %1838
%17550 = OpShiftRightLogical %v4uint %20653 %317
%16377 = OpBitwiseOr %v4uint %9426 %17550
OpBranch %14874
%14874 = OpLabel
%10928 = OpPhi %v4uint %10927 %16262 %16377 %10584
OpSelectionMerge %11417 None
OpBranchConditional %15139 %11065 %11417
%11065 = OpLabel
%24088 = OpShiftLeftLogical %v4uint %10928 %749
%15336 = OpShiftRightLogical %v4uint %10928 %749
%10729 = OpBitwiseOr %v4uint %24088 %15336
OpBranch %11417
%11417 = OpLabel
%19769 = OpPhi %v4uint %10928 %14874 %10729 %11065
%8053 = OpAccessChain %_ptr_Uniform_v4uint %5522 %int_0 %23410
OpStore %8053 %19769
OpBranch %19578
%19578 = OpLabel
OpReturn
OpFunctionEnd
#endif
const uint32_t resolve_fast_64bpp_1x2xmsaa_scaled_cs[] = {
0x07230203, 0x00010000, 0x0008000A, 0x00006274, 0x00000000, 0x00020011,
0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E,
0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0006000F, 0x00000005,
0x0000161F, 0x6E69616D, 0x00000000, 0x00000F48, 0x00060010, 0x0000161F,
0x00000011, 0x00000008, 0x00000008, 0x00000001, 0x00050048, 0x000003F9,
0x00000000, 0x00000023, 0x00000000, 0x00050048, 0x000003F9, 0x00000001,
0x00000023, 0x00000004, 0x00050048, 0x000003F9, 0x00000002, 0x00000023,
0x00000008, 0x00050048, 0x000003F9, 0x00000003, 0x00000023, 0x0000000C,
0x00030047, 0x000003F9, 0x00000002, 0x00040047, 0x00000F48, 0x0000000B,
0x0000001C, 0x00040047, 0x000007DC, 0x00000006, 0x00000010, 0x00040048,
0x000007B4, 0x00000000, 0x00000018, 0x00050048, 0x000007B4, 0x00000000,
0x00000023, 0x00000000, 0x00030047, 0x000007B4, 0x00000003, 0x00040047,
0x00000C50, 0x00000022, 0x00000001, 0x00040047, 0x00000C50, 0x00000021,
0x00000000, 0x00040047, 0x000007DD, 0x00000006, 0x00000010, 0x00040048,
0x000007B5, 0x00000000, 0x00000019, 0x00050048, 0x000007B5, 0x00000000,
0x00000023, 0x00000000, 0x00030047, 0x000007B5, 0x00000003, 0x00040047,
0x00001592, 0x00000022, 0x00000000, 0x00040047, 0x00001592, 0x00000021,
0x00000000, 0x00040047, 0x00000AC7, 0x0000000B, 0x00000019, 0x00020013,
0x00000008, 0x00030021, 0x00000502, 0x00000008, 0x00020014, 0x00000009,
0x00040017, 0x0000000F, 0x00000009, 0x00000002, 0x00040015, 0x0000000B,
0x00000020, 0x00000000, 0x00040017, 0x00000011, 0x0000000B, 0x00000002,
0x00040017, 0x00000017, 0x0000000B, 0x00000004, 0x00040015, 0x0000000C,
0x00000020, 0x00000001, 0x00040017, 0x00000012, 0x0000000C, 0x00000002,
0x00040017, 0x00000016, 0x0000000C, 0x00000003, 0x00040017, 0x00000014,
0x0000000B, 0x00000003, 0x0004002B, 0x0000000B, 0x00000A0D, 0x00000001,
0x0004002B, 0x0000000B, 0x00000A10, 0x00000002, 0x0004002B, 0x0000000B,
0x000008A6, 0x00FF00FF, 0x0004002B, 0x0000000B, 0x00000A22, 0x00000008,
0x0004002B, 0x0000000B, 0x000005FD, 0xFF00FF00, 0x0004002B, 0x0000000B,
0x00000A13, 0x00000003, 0x0004002B, 0x0000000B, 0x00000A3A, 0x00000010,
0x0004002B, 0x0000000B, 0x00000A16, 0x00000004, 0x0005002C, 0x00000011,
0x0000072D, 0x00000A10, 0x00000A0D, 0x0004002B, 0x0000000B, 0x00000A0A,
0x00000000, 0x0005002C, 0x00000011, 0x0000070F, 0x00000A0A, 0x00000A0A,
0x0005002C, 0x00000011, 0x00000724, 0x00000A0D, 0x00000A0D, 0x0005002C,
0x00000011, 0x00000718, 0x00000A0D, 0x00000A0A, 0x0004002B, 0x0000000B,
0x00000AFA, 0x00000050, 0x0005002C, 0x00000011, 0x00000A9F, 0x00000AFA,
0x00000A3A, 0x0004002B, 0x0000000C, 0x00000A1A, 0x00000005, 0x0004002B,
0x0000000B, 0x00000A19, 0x00000005, 0x0004002B, 0x0000000B, 0x00000A1F,
0x00000007, 0x0004002B, 0x0000000C, 0x00000A20, 0x00000007, 0x0004002B,
0x0000000C, 0x00000A35, 0x0000000E, 0x0004002B, 0x0000000C, 0x00000A11,
0x00000002, 0x0004002B, 0x0000000C, 0x000009DB, 0xFFFFFFF0, 0x0004002B,
0x0000000C, 0x00000A0E, 0x00000001, 0x0004002B, 0x0000000C, 0x00000A38,
0x0000000F, 0x0004002B, 0x0000000C, 0x00000A17, 0x00000004, 0x0004002B,
0x0000000C, 0x0000040B, 0xFFFFFE00, 0x0004002B, 0x0000000C, 0x00000A14,
0x00000003, 0x0004002B, 0x0000000C, 0x00000A3B, 0x00000010, 0x0004002B,
0x0000000C, 0x00000388, 0x000001C0, 0x0004002B, 0x0000000C, 0x00000A23,
0x00000008, 0x0004002B, 0x0000000C, 0x00000A1D, 0x00000006, 0x0004002B,
0x0000000C, 0x00000AC8, 0x0000003F, 0x0004002B, 0x0000000C, 0x0000078B,
0x0FFFFFFF, 0x0004002B, 0x0000000C, 0x00000A05, 0xFFFFFFFE, 0x0004002B,
0x0000000B, 0x00000A6A, 0x00000020, 0x0006001E, 0x000003F9, 0x0000000B,
0x0000000B, 0x0000000B, 0x0000000B, 0x00040020, 0x00000676, 0x00000009,
0x000003F9, 0x0004003B, 0x00000676, 0x0000118F, 0x00000009, 0x0004002B,
0x0000000C, 0x00000A0B, 0x00000000, 0x00040020, 0x00000288, 0x00000009,
0x0000000B, 0x0004002B, 0x0000000B, 0x00000A44, 0x000003FF, 0x0004002B,
0x0000000B, 0x00000A28, 0x0000000A, 0x0004002B, 0x0000000B, 0x00000A31,
0x0000000D, 0x0004002B, 0x0000000B, 0x00000AFB, 0x00000FFF, 0x0004002B,
0x0000000B, 0x00000A55, 0x00000019, 0x0004002B, 0x0000000B, 0x00000A37,
0x0000000F, 0x0004002B, 0x0000000B, 0x00000A61, 0x0000001D, 0x0004002B,
0x0000000B, 0x00000A5B, 0x0000001B, 0x0005002C, 0x00000011, 0x0000095E,
0x00000A5B, 0x00000A61, 0x0004002B, 0x0000000B, 0x00000018, 0x40000000,
0x0003002A, 0x00000009, 0x00000787, 0x0005002C, 0x00000011, 0x0000073F,
0x00000A0A, 0x00000A16, 0x0005002C, 0x00000011, 0x00000740, 0x00000A16,
0x00000A0D, 0x0004002B, 0x0000000B, 0x00000A81, 0x000007FF, 0x0004002B,
0x0000000B, 0x00000926, 0x01000000, 0x0004002B, 0x0000000B, 0x00000A46,
0x00000014, 0x0004002B, 0x0000000B, 0x00000A52, 0x00000018, 0x0005002C,
0x00000011, 0x000008E3, 0x00000A46, 0x00000A52, 0x0004002B, 0x0000000B,
0x00000A5E, 0x0000001C, 0x0004002B, 0x0000000B, 0x0000068D, 0xFFFF0000,
0x0004002B, 0x0000000B, 0x000001C1, 0x0000FFFF, 0x00040020, 0x00000291,
0x00000001, 0x00000014, 0x0004003B, 0x00000291, 0x00000F48, 0x00000001,
0x0005002C, 0x00000011, 0x00000721, 0x00000A10, 0x00000A0A, 0x0003001D,
0x000007DC, 0x00000017, 0x0003001E, 0x000007B4, 0x000007DC, 0x00040020,
0x00000A32, 0x00000002, 0x000007B4, 0x0004003B, 0x00000A32, 0x00000C50,
0x00000002, 0x00040020, 0x00000294, 0x00000002, 0x00000017, 0x0003001D,
0x000007DD, 0x00000017, 0x0003001E, 0x000007B5, 0x000007DD, 0x00040020,
0x00000A33, 0x00000002, 0x000007B5, 0x0004003B, 0x00000A33, 0x00001592,
0x00000002, 0x0006002C, 0x00000014, 0x00000AC7, 0x00000A22, 0x00000A22,
0x00000A0D, 0x0005002C, 0x00000011, 0x0000074E, 0x00000A13, 0x00000A13,
0x0005002C, 0x0000000F, 0x0000013B, 0x00000787, 0x00000787, 0x0005002C,
0x00000011, 0x0000084A, 0x00000A37, 0x00000A37, 0x0004002B, 0x0000000B,
0x00000A25, 0x00000009, 0x0007002C, 0x00000017, 0x00000755, 0x0000068D,
0x0000068D, 0x0000068D, 0x0000068D, 0x0007002C, 0x00000017, 0x00000352,
0x000001C1, 0x000001C1, 0x000001C1, 0x000001C1, 0x0007002C, 0x00000017,
0x000009CE, 0x000008A6, 0x000008A6, 0x000008A6, 0x000008A6, 0x0007002C,
0x00000017, 0x0000013D, 0x00000A22, 0x00000A22, 0x00000A22, 0x00000A22,
0x0007002C, 0x00000017, 0x0000072E, 0x000005FD, 0x000005FD, 0x000005FD,
0x000005FD, 0x0007002C, 0x00000017, 0x000002ED, 0x00000A3A, 0x00000A3A,
0x00000A3A, 0x00000A3A, 0x00050036, 0x00000008, 0x0000161F, 0x00000000,
0x00000502, 0x000200F8, 0x00003B06, 0x000300F7, 0x00004C7A, 0x00000000,
0x000300FB, 0x00000A0A, 0x00002E68, 0x000200F8, 0x00002E68, 0x00050041,
0x00000288, 0x000056E5, 0x0000118F, 0x00000A0B, 0x0004003D, 0x0000000B,
0x00003D0B, 0x000056E5, 0x00050041, 0x00000288, 0x000058AC, 0x0000118F,
0x00000A0E, 0x0004003D, 0x0000000B, 0x00005158, 0x000058AC, 0x000500C7,
0x0000000B, 0x00005051, 0x00003D0B, 0x00000A44, 0x000500C2, 0x0000000B,
0x00004E0A, 0x00003D0B, 0x00000A28, 0x000500C7, 0x0000000B, 0x0000217E,
0x00004E0A, 0x00000A13, 0x000500C2, 0x0000000B, 0x0000520A, 0x00003D0B,
0x00000A31, 0x000500C7, 0x0000000B, 0x0000217F, 0x0000520A, 0x00000AFB,
0x000500C2, 0x0000000B, 0x00004994, 0x00003D0B, 0x00000A55, 0x000500C7,
0x0000000B, 0x000023AA, 0x00004994, 0x00000A37, 0x00050050, 0x00000011,
0x000022A7, 0x00005158, 0x00005158, 0x000500C2, 0x00000011, 0x000025A1,
0x000022A7, 0x0000095E, 0x000500C7, 0x00000011, 0x00005C31, 0x000025A1,
0x0000074E, 0x000500C7, 0x0000000B, 0x00005DDE, 0x00003D0B, 0x00000018,
0x000500AB, 0x00000009, 0x00003007, 0x00005DDE, 0x00000A0A, 0x000300F7,
0x00002677, 0x00000000, 0x000400FA, 0x00003007, 0x00005041, 0x000055E8,
0x000200F8, 0x000055E8, 0x000200F9, 0x00002677, 0x000200F8, 0x00005041,
0x000500AC, 0x0000000F, 0x00005D4D, 0x00005C31, 0x00000724, 0x000200F9,
0x00002677, 0x000200F8, 0x00002677, 0x000700F5, 0x0000000F, 0x00004A7B,
0x00005D4D, 0x00005041, 0x0000013B, 0x000055E8, 0x000500C2, 0x00000011,
0x0000189F, 0x000022A7, 0x0000073F, 0x000500C4, 0x00000011, 0x00002A91,
0x00000724, 0x00000740, 0x00050082, 0x00000011, 0x000048B0, 0x00002A91,
0x00000724, 0x000500C7, 0x00000011, 0x00004937, 0x0000189F, 0x000048B0,
0x000500C4, 0x00000011, 0x00005784, 0x00004937, 0x0000074E, 0x00050084,
0x00000011, 0x000059EB, 0x00005784, 0x00005C31, 0x000500C2, 0x0000000B,
0x00003343, 0x00005158, 0x00000A19, 0x000500C7, 0x0000000B, 0x000039C1,
0x00003343, 0x00000A81, 0x00050051, 0x0000000B, 0x0000229A, 0x00005C31,
0x00000000, 0x00050084, 0x0000000B, 0x000059D1, 0x000039C1, 0x0000229A,
0x00050041, 0x00000288, 0x00004E44, 0x0000118F, 0x00000A11, 0x0004003D,
0x0000000B, 0x000048C4, 0x00004E44, 0x00050041, 0x00000288, 0x000058AD,
0x0000118F, 0x00000A14, 0x0004003D, 0x0000000B, 0x000051B7, 0x000058AD,
0x000500C7, 0x0000000B, 0x00004ADC, 0x000048C4, 0x00000A1F, 0x000500C7,
0x0000000B, 0x000055EF, 0x000048C4, 0x00000A22, 0x000500AB, 0x00000009,
0x0000500F, 0x000055EF, 0x00000A0A, 0x000500C2, 0x0000000B, 0x000028A2,
0x000048C4, 0x00000A16, 0x000500C7, 0x0000000B, 0x000059FD, 0x000028A2,
0x00000A1F, 0x000500C7, 0x0000000B, 0x00005A4E, 0x000048C4, 0x00000926,
0x000500AB, 0x00000009, 0x00004C75, 0x00005A4E, 0x00000A0A, 0x000500C7,
0x0000000B, 0x00001F43, 0x000051B7, 0x00000A44, 0x000500C4, 0x0000000B,
0x00003DA7, 0x00001F43, 0x00000A19, 0x000500C2, 0x0000000B, 0x0000583F,
0x000051B7, 0x00000A28, 0x000500C7, 0x0000000B, 0x00004BBE, 0x0000583F,
0x00000A44, 0x000500C4, 0x0000000B, 0x00006273, 0x00004BBE, 0x00000A19,
0x00050050, 0x00000011, 0x000028B6, 0x000051B7, 0x000051B7, 0x000500C2,
0x00000011, 0x00002891, 0x000028B6, 0x000008E3, 0x000500C7, 0x00000011,
0x00005B53, 0x00002891, 0x0000084A, 0x000500C4, 0x00000011, 0x00003F4F,
0x00005B53, 0x0000074E, 0x00050084, 0x00000011, 0x000059EC, 0x00003F4F,
0x00005C31, 0x000500C2, 0x0000000B, 0x000031C7, 0x000051B7, 0x00000A5E,
0x000500C7, 0x0000000B, 0x00004356, 0x000031C7, 0x00000A1F, 0x0004003D,
0x00000014, 0x000031C1, 0x00000F48, 0x0007004F, 0x00000011, 0x000038A4,
0x000031C1, 0x000031C1, 0x00000000, 0x00000001, 0x000500C4, 0x00000011,
0x00002EF9, 0x000038A4, 0x00000721, 0x00050051, 0x0000000B, 0x00001DD8,
0x00002EF9, 0x00000000, 0x000500C4, 0x0000000B, 0x00002D8A, 0x000059D1,
0x00000A13, 0x000500AE, 0x00000009, 0x00003C13, 0x00001DD8, 0x00002D8A,
0x000300F7, 0x000036C9, 0x00000002, 0x000400FA, 0x00003C13, 0x000055E9,
0x000036C9, 0x000200F8, 0x000055E9, 0x000200F9, 0x00004C7A, 0x000200F8,
0x000036C9, 0x00050051, 0x0000000B, 0x00005435, 0x00002EF9, 0x00000001,
0x00050051, 0x00000009, 0x00003236, 0x00004A7B, 0x00000001, 0x000600A9,
0x0000000B, 0x00002CB3, 0x00003236, 0x00000A0D, 0x00000A0A, 0x0007000C,
0x0000000B, 0x00001AEB, 0x00000001, 0x00000029, 0x00005435, 0x00002CB3,
0x00050050, 0x00000011, 0x000039AB, 0x00001DD8, 0x00001AEB, 0x00050080,
0x00000011, 0x0000522C, 0x000039AB, 0x000059EB, 0x000500B2, 0x00000009,
0x00003ECB, 0x00004356, 0x00000A13, 0x000300F7, 0x00005CE0, 0x00000000,
0x000400FA, 0x00003ECB, 0x00002AEE, 0x00003AEF, 0x000200F8, 0x00003AEF,
0x000500AA, 0x00000009, 0x000034FE, 0x00004356, 0x00000A19, 0x000600A9,
0x0000000B, 0x000020F6, 0x000034FE, 0x00000A10, 0x00000A0A, 0x000200F9,
0x00005CE0, 0x000200F8, 0x00002AEE, 0x000200F9, 0x00005CE0, 0x000200F8,
0x00005CE0, 0x000700F5, 0x0000000B, 0x00004B64, 0x00004356, 0x00002AEE,
0x000020F6, 0x00003AEF, 0x00050050, 0x00000011, 0x000041BE, 0x0000217E,
0x0000217E, 0x000500AE, 0x0000000F, 0x00002E19, 0x000041BE, 0x0000072D,
0x000600A9, 0x00000011, 0x00004BB5, 0x00002E19, 0x00000724, 0x0000070F,
0x000500C4, 0x00000011, 0x00002AEA, 0x0000522C, 0x00004BB5, 0x00050050,
0x00000011, 0x0000605D, 0x00004B64, 0x00004B64, 0x000500C2, 0x00000011,
0x00002385, 0x0000605D, 0x00000718, 0x000500C7, 0x00000011, 0x00003EC8,
0x00002385, 0x00000724, 0x00050080, 0x00000011, 0x00004F30, 0x00002AEA,
0x00003EC8, 0x00050084, 0x00000011, 0x00005299, 0x00000A9F, 0x00005C31,
0x000500C2, 0x00000011, 0x00003985, 0x00005299, 0x00000718, 0x00050086,
0x00000011, 0x00004D57, 0x00004F30, 0x00003985, 0x00050051, 0x0000000B,
0x00004FA6, 0x00004D57, 0x00000001, 0x00050084, 0x0000000B, 0x00002B26,
0x00004FA6, 0x00005051, 0x00050051, 0x0000000B, 0x00006059, 0x00004D57,
0x00000000, 0x00050080, 0x0000000B, 0x00005420, 0x00002B26, 0x00006059,
0x00050080, 0x0000000B, 0x00002226, 0x0000217F, 0x00005420, 0x00050084,
0x00000011, 0x00005768, 0x00004D57, 0x00003985, 0x00050082, 0x00000011,
0x000050EB, 0x00004F30, 0x00005768, 0x00050051, 0x0000000B, 0x00001C87,
0x00005299, 0x00000000, 0x00050051, 0x0000000B, 0x00005962, 0x00005299,
0x00000001, 0x00050084, 0x0000000B, 0x00003372, 0x00001C87, 0x00005962,
0x00050084, 0x0000000B, 0x000038D7, 0x00002226, 0x00003372, 0x00050051,
0x0000000B, 0x00001A95, 0x000050EB, 0x00000001, 0x00050051, 0x0000000B,
0x00005BE6, 0x00003985, 0x00000000, 0x00050084, 0x0000000B, 0x00005966,
0x00001A95, 0x00005BE6, 0x00050051, 0x0000000B, 0x00001AE6, 0x000050EB,
0x00000000, 0x00050080, 0x0000000B, 0x000025E0, 0x00005966, 0x00001AE6,
0x000500C4, 0x0000000B, 0x00004AFF, 0x000025E0, 0x00000A0D, 0x00050080,
0x0000000B, 0x0000187D, 0x000038D7, 0x00004AFF, 0x000500C2, 0x0000000B,
0x00005EF3, 0x0000187D, 0x00000A10, 0x00060041, 0x00000294, 0x00004C91,
0x00000C50, 0x00000A0B, 0x00005EF3, 0x0004003D, 0x00000017, 0x00003141,
0x00004C91, 0x00050080, 0x0000000B, 0x00002DA7, 0x00005EF3, 0x00000A0D,
0x00060041, 0x00000294, 0x00006001, 0x00000C50, 0x00000A0B, 0x00002DA7,
0x0004003D, 0x00000017, 0x00003F28, 0x00006001, 0x00050051, 0x00000009,
0x000032AB, 0x00004A7B, 0x00000000, 0x000300F7, 0x00003D52, 0x00000000,
0x000400FA, 0x000032AB, 0x000040DF, 0x00003D52, 0x000200F8, 0x000040DF,
0x000500AA, 0x00000009, 0x0000495A, 0x00001DD8, 0x00000A0A, 0x000200F9,
0x00003D52, 0x000200F8, 0x00003D52, 0x000700F5, 0x00000009, 0x00002AAC,
0x000032AB, 0x00005CE0, 0x0000495A, 0x000040DF, 0x000300F7, 0x00005596,
0x00000000, 0x000400FA, 0x00002AAC, 0x00002620, 0x00005596, 0x000200F8,
0x00002620, 0x00050051, 0x0000000B, 0x0000438A, 0x00003141, 0x00000002,
0x00060052, 0x00000017, 0x000052B6, 0x0000438A, 0x00003141, 0x00000000,
0x00050051, 0x0000000B, 0x00005A04, 0x00003141, 0x00000003, 0x00060052,
0x00000017, 0x00002450, 0x00005A04, 0x000052B6, 0x00000001, 0x000200F9,
0x00005596, 0x000200F8, 0x00005596, 0x000700F5, 0x00000017, 0x00002AAD,
0x00003141, 0x00003D52, 0x00002450, 0x00002620, 0x000300F7, 0x0000530F,
0x00000002, 0x000400FA, 0x00004C75, 0x00003ADC, 0x0000530F, 0x000200F8,
0x00003ADC, 0x000500AA, 0x00000009, 0x00003585, 0x000023AA, 0x00000A19,
0x000400A8, 0x00000009, 0x00004277, 0x00003585, 0x000300F7, 0x00003D53,
0x00000000, 0x000400FA, 0x00004277, 0x000040E0, 0x00003D53, 0x000200F8,
0x000040E0, 0x000500AA, 0x00000009, 0x0000495B, 0x000023AA, 0x00000A1F,
0x000200F9, 0x00003D53, 0x000200F8, 0x00003D53, 0x000700F5, 0x00000009,
0x00002AAE, 0x00003585, 0x00003ADC, 0x0000495B, 0x000040E0, 0x000300F7,
0x000039F4, 0x00000002, 0x000400FA, 0x00002AAE, 0x000020A8, 0x000039F4,
0x000200F8, 0x000020A8, 0x000500C7, 0x00000017, 0x00004BF1, 0x00002AAD,
0x00000755, 0x0009004F, 0x00000017, 0x000051EA, 0x00002AAD, 0x00002AAD,
0x00000001, 0x00000000, 0x00000003, 0x00000002, 0x000500C7, 0x00000017,
0x00001CED, 0x000051EA, 0x00000352, 0x000500C5, 0x00000017, 0x00003640,
0x00004BF1, 0x00001CED, 0x000500C7, 0x00000017, 0x00005311, 0x00003F28,
0x00000755, 0x0009004F, 0x00000017, 0x00003BF8, 0x00003F28, 0x00003F28,
0x00000001, 0x00000000, 0x00000003, 0x00000002, 0x000500C7, 0x00000017,
0x000020A3, 0x00003BF8, 0x00000352, 0x000500C5, 0x00000017, 0x00002101,
0x00005311, 0x000020A3, 0x000200F9, 0x000039F4, 0x000200F8, 0x000039F4,
0x000700F5, 0x00000017, 0x00002BF3, 0x00003F28, 0x00003D53, 0x00002101,
0x000020A8, 0x000700F5, 0x00000017, 0x0000358D, 0x00002AAD, 0x00003D53,
0x00003640, 0x000020A8, 0x000200F9, 0x0000530F, 0x000200F8, 0x0000530F,
0x000700F5, 0x00000017, 0x000022F8, 0x00003F28, 0x00005596, 0x00002BF3,
0x000039F4, 0x000700F5, 0x00000017, 0x000049A7, 0x00002AAD, 0x00005596,
0x0000358D, 0x000039F4, 0x00050080, 0x00000011, 0x000035BB, 0x00002EF9,
0x000059EC, 0x00050051, 0x0000000B, 0x000033BC, 0x000035BB, 0x00000000,
0x00050051, 0x0000000B, 0x00002553, 0x000035BB, 0x00000001, 0x000500C2,
0x0000000B, 0x00002B2D, 0x000033BC, 0x00000A0D, 0x00050050, 0x00000011,
0x00001E98, 0x00002B2D, 0x00002553, 0x00050086, 0x00000011, 0x00006158,
0x00001E98, 0x00005C31, 0x00050051, 0x0000000B, 0x0000366C, 0x00006158,
0x00000000, 0x000500C4, 0x0000000B, 0x00004D3A, 0x0000366C, 0x00000A0D,
0x00050051, 0x0000000B, 0x00005EBB, 0x00006158, 0x00000001, 0x00060050,
0x00000014, 0x000053CC, 0x00004D3A, 0x00005EBB, 0x000059FD, 0x000300F7,
0x00005341, 0x00000002, 0x000400FA, 0x0000500F, 0x000056BE, 0x00002A98,
0x000200F8, 0x00002A98, 0x0007004F, 0x00000011, 0x00001CAB, 0x000053CC,
0x000053CC, 0x00000000, 0x00000001, 0x0004007C, 0x00000012, 0x000059CF,
0x00001CAB, 0x00050051, 0x0000000C, 0x00001903, 0x000059CF, 0x00000000,
0x000500C3, 0x0000000C, 0x000024FD, 0x00001903, 0x00000A1A, 0x00050051,
0x0000000C, 0x00002747, 0x000059CF, 0x00000001, 0x000500C3, 0x0000000C,
0x0000405C, 0x00002747, 0x00000A1A, 0x000500C2, 0x0000000B, 0x00005B4D,
0x00003DA7, 0x00000A19, 0x0004007C, 0x0000000C, 0x000018AA, 0x00005B4D,
0x00050084, 0x0000000C, 0x00005347, 0x0000405C, 0x000018AA, 0x00050080,
0x0000000C, 0x00003F5E, 0x000024FD, 0x00005347, 0x000500C4, 0x0000000C,
0x00004A8E, 0x00003F5E, 0x00000A28, 0x000500C7, 0x0000000C, 0x00002AB6,
0x00001903, 0x00000A20, 0x000500C7, 0x0000000C, 0x00003138, 0x00002747,
0x00000A35, 0x000500C4, 0x0000000C, 0x0000454D, 0x00003138, 0x00000A11,
0x00050080, 0x0000000C, 0x00004397, 0x00002AB6, 0x0000454D, 0x000500C4,
0x0000000C, 0x000018E7, 0x00004397, 0x00000A13, 0x000500C7, 0x0000000C,
0x000027B1, 0x000018E7, 0x000009DB, 0x000500C4, 0x0000000C, 0x00002F76,
0x000027B1, 0x00000A0E, 0x00050080, 0x0000000C, 0x00003C4B, 0x00004A8E,
0x00002F76, 0x000500C7, 0x0000000C, 0x00003397, 0x000018E7, 0x00000A38,
0x00050080, 0x0000000C, 0x00004D30, 0x00003C4B, 0x00003397, 0x000500C7,
0x0000000C, 0x000047B4, 0x00002747, 0x00000A0E, 0x000500C4, 0x0000000C,
0x0000544A, 0x000047B4, 0x00000A17, 0x00050080, 0x0000000C, 0x00004157,
0x00004D30, 0x0000544A, 0x000500C7, 0x0000000C, 0x00005022, 0x00004157,
0x0000040B, 0x000500C4, 0x0000000C, 0x00002416, 0x00005022, 0x00000A14,
0x000500C7, 0x0000000C, 0x00004A33, 0x00002747, 0x00000A3B, 0x000500C4,
0x0000000C, 0x00002F77, 0x00004A33, 0x00000A20, 0x00050080, 0x0000000C,
0x00004158, 0x00002416, 0x00002F77, 0x000500C7, 0x0000000C, 0x00004ADD,
0x00004157, 0x00000388, 0x000500C4, 0x0000000C, 0x0000544B, 0x00004ADD,
0x00000A11, 0x00050080, 0x0000000C, 0x00004144, 0x00004158, 0x0000544B,
0x000500C7, 0x0000000C, 0x00005083, 0x00002747, 0x00000A23, 0x000500C3,
0x0000000C, 0x000041BF, 0x00005083, 0x00000A11, 0x000500C3, 0x0000000C,
0x00001EEC, 0x00001903, 0x00000A14, 0x00050080, 0x0000000C, 0x000035B6,
0x000041BF, 0x00001EEC, 0x000500C7, 0x0000000C, 0x00005453, 0x000035B6,
0x00000A14, 0x000500C4, 0x0000000C, 0x0000544C, 0x00005453, 0x00000A1D,
0x00050080, 0x0000000C, 0x00003C4C, 0x00004144, 0x0000544C, 0x000500C7,
0x0000000C, 0x00002E06, 0x00004157, 0x00000AC8, 0x00050080, 0x0000000C,
0x0000394F, 0x00003C4C, 0x00002E06, 0x0004007C, 0x0000000B, 0x0000566F,
0x0000394F, 0x000200F9, 0x00005341, 0x000200F8, 0x000056BE, 0x0004007C,
0x00000016, 0x000019AD, 0x000053CC, 0x00050051, 0x0000000C, 0x000042C2,
0x000019AD, 0x00000001, 0x000500C3, 0x0000000C, 0x000024FE, 0x000042C2,
0x00000A17, 0x00050051, 0x0000000C, 0x00002748, 0x000019AD, 0x00000002,
0x000500C3, 0x0000000C, 0x0000405D, 0x00002748, 0x00000A11, 0x000500C2,
0x0000000B, 0x00005B4E, 0x00006273, 0x00000A16, 0x0004007C, 0x0000000C,
0x000018AB, 0x00005B4E, 0x00050084, 0x0000000C, 0x00005321, 0x0000405D,
0x000018AB, 0x00050080, 0x0000000C, 0x00003B27, 0x000024FE, 0x00005321,
0x000500C2, 0x0000000B, 0x00002348, 0x00003DA7, 0x00000A19, 0x0004007C,
0x0000000C, 0x0000308B, 0x00002348, 0x00050084, 0x0000000C, 0x00002878,
0x00003B27, 0x0000308B, 0x00050051, 0x0000000C, 0x00006242, 0x000019AD,
0x00000000, 0x000500C3, 0x0000000C, 0x00004FC7, 0x00006242, 0x00000A1A,
0x00050080, 0x0000000C, 0x000049FC, 0x00004FC7, 0x00002878, 0x000500C4,
0x0000000C, 0x0000225D, 0x000049FC, 0x00000A25, 0x000500C7, 0x0000000C,
0x00002CF6, 0x0000225D, 0x0000078B, 0x000500C4, 0x0000000C, 0x000049FA,
0x00002CF6, 0x00000A0E, 0x000500C7, 0x0000000C, 0x00004D38, 0x00006242,
0x00000A20, 0x000500C7, 0x0000000C, 0x00003139, 0x000042C2, 0x00000A1D,
0x000500C4, 0x0000000C, 0x0000454E, 0x00003139, 0x00000A11, 0x00050080,
0x0000000C, 0x0000434B, 0x00004D38, 0x0000454E, 0x000500C4, 0x0000000C,
0x00001B88, 0x0000434B, 0x00000A25, 0x000500C3, 0x0000000C, 0x00005DE3,
0x00001B88, 0x00000A1D, 0x000500C3, 0x0000000C, 0x00002215, 0x000042C2,
0x00000A14, 0x00050080, 0x0000000C, 0x000035A3, 0x00002215, 0x0000405D,
0x000500C7, 0x0000000C, 0x00005A0C, 0x000035A3, 0x00000A0E, 0x000500C3,
0x0000000C, 0x00004112, 0x00006242, 0x00000A14, 0x000500C4, 0x0000000C,
0x0000496A, 0x00005A0C, 0x00000A0E, 0x00050080, 0x0000000C, 0x000034BD,
0x00004112, 0x0000496A, 0x000500C7, 0x0000000C, 0x00004ADE, 0x000034BD,
0x00000A14, 0x000500C4, 0x0000000C, 0x0000544D, 0x00004ADE, 0x00000A0E,
0x00050080, 0x0000000C, 0x00003C4D, 0x00005A0C, 0x0000544D, 0x000500C7,
0x0000000C, 0x0000335E, 0x00005DE3, 0x000009DB, 0x00050080, 0x0000000C,
0x00004F70, 0x000049FA, 0x0000335E, 0x000500C4, 0x0000000C, 0x00005B31,
0x00004F70, 0x00000A0E, 0x000500C7, 0x0000000C, 0x00005AEA, 0x00005DE3,
0x00000A38, 0x00050080, 0x0000000C, 0x0000285C, 0x00005B31, 0x00005AEA,
0x000500C7, 0x0000000C, 0x000047B5, 0x00002748, 0x00000A14, 0x000500C4,
0x0000000C, 0x0000544E, 0x000047B5, 0x00000A25, 0x00050080, 0x0000000C,
0x00004159, 0x0000285C, 0x0000544E, 0x000500C7, 0x0000000C, 0x00004ADF,
0x000042C2, 0x00000A0E, 0x000500C4, 0x0000000C, 0x0000544F, 0x00004ADF,
0x00000A17, 0x00050080, 0x0000000C, 0x0000415A, 0x00004159, 0x0000544F,
0x000500C7, 0x0000000C, 0x00004FD6, 0x00003C4D, 0x00000A0E, 0x000500C4,
0x0000000C, 0x00002703, 0x00004FD6, 0x00000A14, 0x000500C3, 0x0000000C,
0x00003332, 0x0000415A, 0x00000A1D, 0x000500C7, 0x0000000C, 0x000036D6,
0x00003332, 0x00000A20, 0x00050080, 0x0000000C, 0x00003412, 0x00002703,
0x000036D6, 0x000500C4, 0x0000000C, 0x00005B32, 0x00003412, 0x00000A14,
0x000500C7, 0x0000000C, 0x00005AB1, 0x00003C4D, 0x00000A05, 0x00050080,
0x0000000C, 0x00002A9C, 0x00005B32, 0x00005AB1, 0x000500C4, 0x0000000C,
0x00005B33, 0x00002A9C, 0x00000A11, 0x000500C7, 0x0000000C, 0x00005AB2,
0x0000415A, 0x0000040B, 0x00050080, 0x0000000C, 0x00002A9D, 0x00005B33,
0x00005AB2, 0x000500C4, 0x0000000C, 0x00005B34, 0x00002A9D, 0x00000A14,
0x000500C7, 0x0000000C, 0x00005559, 0x0000415A, 0x00000AC8, 0x00050080,
0x0000000C, 0x00005EFA, 0x00005B34, 0x00005559, 0x0004007C, 0x0000000B,
0x00005670, 0x00005EFA, 0x000200F9, 0x00005341, 0x000200F8, 0x00005341,
0x000700F5, 0x0000000B, 0x000024FC, 0x00005670, 0x000056BE, 0x0000566F,
0x00002A98, 0x00050084, 0x00000011, 0x00003FA8, 0x00006158, 0x00005C31,
0x00050082, 0x00000011, 0x00003F85, 0x00001E98, 0x00003FA8, 0x00050051,
0x0000000B, 0x0000448F, 0x00005C31, 0x00000001, 0x00050084, 0x0000000B,
0x00005C50, 0x0000229A, 0x0000448F, 0x00050084, 0x0000000B, 0x00003CA0,
0x000024FC, 0x00005C50, 0x00050051, 0x0000000B, 0x00003ED4, 0x00003F85,
0x00000000, 0x00050084, 0x0000000B, 0x00003E12, 0x00003ED4, 0x0000448F,
0x00050051, 0x0000000B, 0x00001AE7, 0x00003F85, 0x00000001, 0x00050080,
0x0000000B, 0x00002B25, 0x00003E12, 0x00001AE7, 0x000500C4, 0x0000000B,
0x0000609D, 0x00002B25, 0x00000A0D, 0x000500C7, 0x0000000B, 0x00005AB3,
0x000033BC, 0x00000A0D, 0x00050080, 0x0000000B, 0x00002557, 0x0000609D,
0x00005AB3, 0x000500C4, 0x0000000B, 0x00004593, 0x00002557, 0x00000A13,
0x00050080, 0x0000000B, 0x00002048, 0x00003CA0, 0x00004593, 0x000500C2,
0x0000000B, 0x000025CC, 0x00002048, 0x00000A16, 0x000500AA, 0x00000009,
0x00004B9C, 0x00004ADC, 0x00000A16, 0x000300F7, 0x000039BC, 0x00000000,
0x000400FA, 0x00004B9C, 0x000033DF, 0x000039BC, 0x000200F8, 0x000033DF,
0x0009004F, 0x00000017, 0x00001F16, 0x000049A7, 0x000049A7, 0x00000001,
0x00000000, 0x00000003, 0x00000002, 0x000200F9, 0x000039BC, 0x000200F8,
0x000039BC, 0x000700F5, 0x00000017, 0x00005972, 0x000049A7, 0x00005341,
0x00001F16, 0x000033DF, 0x000600A9, 0x0000000B, 0x000019CD, 0x00004B9C,
0x00000A10, 0x00004ADC, 0x000500AA, 0x00000009, 0x00003464, 0x000019CD,
0x00000A0D, 0x000500AA, 0x00000009, 0x000047C2, 0x000019CD, 0x00000A10,
0x000500A6, 0x00000009, 0x00005686, 0x00003464, 0x000047C2, 0x000300F7,
0x00003463, 0x00000000, 0x000400FA, 0x00005686, 0x00002957, 0x00003463,
0x000200F8, 0x00002957, 0x000500C7, 0x00000017, 0x0000475F, 0x00005972,
0x000009CE, 0x000500C4, 0x00000017, 0x000024D1, 0x0000475F, 0x0000013D,
0x000500C7, 0x00000017, 0x000050AC, 0x00005972, 0x0000072E, 0x000500C2,
0x00000017, 0x0000448D, 0x000050AC, 0x0000013D, 0x000500C5, 0x00000017,
0x00003FF8, 0x000024D1, 0x0000448D, 0x000200F9, 0x00003463, 0x000200F8,
0x00003463, 0x000700F5, 0x00000017, 0x00005879, 0x00005972, 0x000039BC,
0x00003FF8, 0x00002957, 0x000500AA, 0x00000009, 0x00004CB6, 0x000019CD,
0x00000A13, 0x000500A6, 0x00000009, 0x00003B23, 0x000047C2, 0x00004CB6,
0x000300F7, 0x00002C98, 0x00000000, 0x000400FA, 0x00003B23, 0x00002B38,
0x00002C98, 0x000200F8, 0x00002B38, 0x000500C4, 0x00000017, 0x00005E17,
0x00005879, 0x000002ED, 0x000500C2, 0x00000017, 0x00003BE7, 0x00005879,
0x000002ED, 0x000500C5, 0x00000017, 0x000029E8, 0x00005E17, 0x00003BE7,
0x000200F9, 0x00002C98, 0x000200F8, 0x00002C98, 0x000700F5, 0x00000017,
0x00004D37, 0x00005879, 0x00003463, 0x000029E8, 0x00002B38, 0x00060041,
0x00000294, 0x000019BE, 0x00001592, 0x00000A0B, 0x000025CC, 0x0003003E,
0x000019BE, 0x00004D37, 0x000500AC, 0x00000009, 0x00005BF6, 0x0000229A,
0x00000A0D, 0x000300F7, 0x00004AAC, 0x00000002, 0x000400FA, 0x00005BF6,
0x000038DA, 0x000055EA, 0x000200F8, 0x000055EA, 0x000200F9, 0x00004AAC,
0x000200F8, 0x000038DA, 0x000500C2, 0x0000000B, 0x0000364A, 0x00001DD8,
0x00000A0D, 0x00050086, 0x0000000B, 0x00001F01, 0x0000364A, 0x0000229A,
0x00050084, 0x0000000B, 0x000041FB, 0x00001F01, 0x0000229A, 0x00050082,
0x0000000B, 0x00003171, 0x0000364A, 0x000041FB, 0x00050080, 0x0000000B,
0x00002527, 0x00003171, 0x00000A0D, 0x000500AA, 0x00000009, 0x0000343F,
0x00002527, 0x0000229A, 0x000300F7, 0x00002458, 0x00000000, 0x000400FA,
0x0000343F, 0x00001CDB, 0x000055EB, 0x000200F8, 0x000055EB, 0x000200F9,
0x00002458, 0x000200F8, 0x00001CDB, 0x00050084, 0x0000000B, 0x00003B96,
0x00000A6A, 0x0000229A, 0x000500C4, 0x0000000B, 0x0000540F, 0x00003171,
0x00000A16, 0x00050082, 0x0000000B, 0x00004944, 0x00003B96, 0x0000540F,
0x000200F9, 0x00002458, 0x000200F8, 0x00002458, 0x000700F5, 0x0000000B,
0x0000292C, 0x00004944, 0x00001CDB, 0x00000A3A, 0x000055EB, 0x000200F9,
0x00004AAC, 0x000200F8, 0x00004AAC, 0x000700F5, 0x0000000B, 0x000029BC,
0x0000292C, 0x00002458, 0x00000A6A, 0x000055EA, 0x00050084, 0x0000000B,
0x0000492B, 0x000029BC, 0x0000448F, 0x000500C2, 0x0000000B, 0x00004DEF,
0x0000492B, 0x00000A16, 0x00050080, 0x0000000B, 0x00005B72, 0x000025CC,
0x00004DEF, 0x000300F7, 0x00003F86, 0x00000000, 0x000400FA, 0x00004B9C,
0x000033E0, 0x00003F86, 0x000200F8, 0x000033E0, 0x0009004F, 0x00000017,
0x00001F17, 0x000022F8, 0x000022F8, 0x00000001, 0x00000000, 0x00000003,
0x00000002, 0x000200F9, 0x00003F86, 0x000200F8, 0x00003F86, 0x000700F5,
0x00000017, 0x00002AAF, 0x000022F8, 0x00004AAC, 0x00001F17, 0x000033E0,
0x000300F7, 0x00003A1A, 0x00000000, 0x000400FA, 0x00005686, 0x00002958,
0x00003A1A, 0x000200F8, 0x00002958, 0x000500C7, 0x00000017, 0x00004760,
0x00002AAF, 0x000009CE, 0x000500C4, 0x00000017, 0x000024D2, 0x00004760,
0x0000013D, 0x000500C7, 0x00000017, 0x000050AD, 0x00002AAF, 0x0000072E,
0x000500C2, 0x00000017, 0x0000448E, 0x000050AD, 0x0000013D, 0x000500C5,
0x00000017, 0x00003FF9, 0x000024D2, 0x0000448E, 0x000200F9, 0x00003A1A,
0x000200F8, 0x00003A1A, 0x000700F5, 0x00000017, 0x00002AB0, 0x00002AAF,
0x00003F86, 0x00003FF9, 0x00002958, 0x000300F7, 0x00002C99, 0x00000000,
0x000400FA, 0x00003B23, 0x00002B39, 0x00002C99, 0x000200F8, 0x00002B39,
0x000500C4, 0x00000017, 0x00005E18, 0x00002AB0, 0x000002ED, 0x000500C2,
0x00000017, 0x00003BE8, 0x00002AB0, 0x000002ED, 0x000500C5, 0x00000017,
0x000029E9, 0x00005E18, 0x00003BE8, 0x000200F9, 0x00002C99, 0x000200F8,
0x00002C99, 0x000700F5, 0x00000017, 0x00004D39, 0x00002AB0, 0x00003A1A,
0x000029E9, 0x00002B39, 0x00060041, 0x00000294, 0x00001F75, 0x00001592,
0x00000A0B, 0x00005B72, 0x0003003E, 0x00001F75, 0x00004D39, 0x000200F9,
0x00004C7A, 0x000200F8, 0x00004C7A, 0x000100FD, 0x00010038,
};

View File

@ -0,0 +1,822 @@
// Generated with `xb buildshaders`.
#if 0
; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 10
; Bound: 25271
; Schema: 0
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %5663 "main" %gl_GlobalInvocationID
OpExecutionMode %5663 LocalSize 8 8 1
OpMemberDecorate %_struct_1036 0 Offset 0
OpMemberDecorate %_struct_1036 1 Offset 4
OpMemberDecorate %_struct_1036 2 Offset 8
OpMemberDecorate %_struct_1036 3 Offset 12
OpMemberDecorate %_struct_1036 4 Offset 16
OpDecorate %_struct_1036 Block
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %_runtimearr_v2uint ArrayStride 8
OpMemberDecorate %_struct_1960 0 NonWritable
OpMemberDecorate %_struct_1960 0 Offset 0
OpDecorate %_struct_1960 BufferBlock
OpDecorate %3152 DescriptorSet 1
OpDecorate %3152 Binding 0
OpDecorate %_runtimearr_v4uint ArrayStride 16
OpMemberDecorate %_struct_1972 0 NonReadable
OpMemberDecorate %_struct_1972 0 Offset 0
OpDecorate %_struct_1972 BufferBlock
OpDecorate %5522 DescriptorSet 0
OpDecorate %5522 Binding 0
OpDecorate %gl_WorkGroupSize BuiltIn WorkgroupSize
%void = OpTypeVoid
%1282 = OpTypeFunction %void
%bool = OpTypeBool
%v2bool = OpTypeVector %bool 2
%uint = OpTypeInt 32 0
%v2uint = OpTypeVector %uint 2
%v4uint = OpTypeVector %uint 4
%int = OpTypeInt 32 1
%v2int = OpTypeVector %int 2
%v3int = OpTypeVector %int 3
%uint_1 = OpConstant %uint 1
%uint_2 = OpConstant %uint 2
%uint_16711935 = OpConstant %uint 16711935
%uint_8 = OpConstant %uint 8
%uint_4278255360 = OpConstant %uint 4278255360
%uint_3 = OpConstant %uint 3
%uint_16 = OpConstant %uint 16
%uint_4 = OpConstant %uint 4
%1837 = OpConstantComposite %v2uint %uint_2 %uint_1
%uint_0 = OpConstant %uint 0
%1807 = OpConstantComposite %v2uint %uint_0 %uint_0
%1828 = OpConstantComposite %v2uint %uint_1 %uint_1
%1816 = OpConstantComposite %v2uint %uint_1 %uint_0
%uint_80 = OpConstant %uint 80
%2719 = OpConstantComposite %v2uint %uint_80 %uint_16
%int_5 = OpConstant %int 5
%uint_5 = OpConstant %uint 5
%uint_7 = OpConstant %uint 7
%int_7 = OpConstant %int 7
%int_14 = OpConstant %int 14
%int_2 = OpConstant %int 2
%int_n16 = OpConstant %int -16
%int_1 = OpConstant %int 1
%int_15 = OpConstant %int 15
%int_4 = OpConstant %int 4
%int_n512 = OpConstant %int -512
%int_3 = OpConstant %int 3
%int_16 = OpConstant %int 16
%int_448 = OpConstant %int 448
%int_8 = OpConstant %int 8
%int_6 = OpConstant %int 6
%int_63 = OpConstant %int 63
%uint_6 = OpConstant %uint 6
%int_268435455 = OpConstant %int 268435455
%int_n2 = OpConstant %int -2
%_struct_1036 = OpTypeStruct %uint %uint %uint %uint %uint
%_ptr_PushConstant__struct_1036 = OpTypePointer PushConstant %_struct_1036
%4495 = OpVariable %_ptr_PushConstant__struct_1036 PushConstant
%int_0 = OpConstant %int 0
%_ptr_PushConstant_uint = OpTypePointer PushConstant %uint
%uint_1023 = OpConstant %uint 1023
%uint_10 = OpConstant %uint 10
%uint_13 = OpConstant %uint 13
%uint_4095 = OpConstant %uint 4095
%uint_25 = OpConstant %uint 25
%uint_15 = OpConstant %uint 15
%1855 = OpConstantComposite %v2uint %uint_0 %uint_4
%1856 = OpConstantComposite %v2uint %uint_4 %uint_1
%uint_2047 = OpConstant %uint 2047
%uint_16777216 = OpConstant %uint 16777216
%uint_20 = OpConstant %uint 20
%uint_24 = OpConstant %uint 24
%2275 = OpConstantComposite %v2uint %uint_20 %uint_24
%uint_28 = OpConstant %uint 28
%v3uint = OpTypeVector %uint 3
%uint_4294901760 = OpConstant %uint 4294901760
%uint_65535 = OpConstant %uint 65535
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
%gl_GlobalInvocationID = OpVariable %_ptr_Input_v3uint Input
%1825 = OpConstantComposite %v2uint %uint_2 %uint_0
%_runtimearr_v2uint = OpTypeRuntimeArray %v2uint
%_struct_1960 = OpTypeStruct %_runtimearr_v2uint
%_ptr_Uniform__struct_1960 = OpTypePointer Uniform %_struct_1960
%3152 = OpVariable %_ptr_Uniform__struct_1960 Uniform
%_ptr_Uniform_v2uint = OpTypePointer Uniform %v2uint
%_runtimearr_v4uint = OpTypeRuntimeArray %v4uint
%_struct_1972 = OpTypeStruct %_runtimearr_v4uint
%_ptr_Uniform__struct_1972 = OpTypePointer Uniform %_struct_1972
%5522 = OpVariable %_ptr_Uniform__struct_1972 Uniform
%_ptr_Uniform_v4uint = OpTypePointer Uniform %v4uint
%gl_WorkGroupSize = OpConstantComposite %v3uint %uint_8 %uint_8 %uint_1
%10264 = OpUndef %v4uint
%1870 = OpConstantComposite %v2uint %uint_3 %uint_3
%2122 = OpConstantComposite %v2uint %uint_15 %uint_15
%1849 = OpConstantComposite %v2uint %uint_2 %uint_2
%uint_9 = OpConstant %uint 9
%1877 = OpConstantComposite %v4uint %uint_4294901760 %uint_4294901760 %uint_4294901760 %uint_4294901760
%850 = OpConstantComposite %v4uint %uint_65535 %uint_65535 %uint_65535 %uint_65535
%2510 = OpConstantComposite %v4uint %uint_16711935 %uint_16711935 %uint_16711935 %uint_16711935
%317 = OpConstantComposite %v4uint %uint_8 %uint_8 %uint_8 %uint_8
%1838 = OpConstantComposite %v4uint %uint_4278255360 %uint_4278255360 %uint_4278255360 %uint_4278255360
%749 = OpConstantComposite %v4uint %uint_16 %uint_16 %uint_16 %uint_16
%5663 = OpFunction %void None %1282
%15110 = OpLabel
OpSelectionMerge %19578 None
OpSwitch %uint_0 %11880
%11880 = OpLabel
%22245 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_0
%15627 = OpLoad %uint %22245
%22700 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_1
%20824 = OpLoad %uint %22700
%20561 = OpBitwiseAnd %uint %15627 %uint_1023
%19978 = OpShiftRightLogical %uint %15627 %uint_13
%8574 = OpBitwiseAnd %uint %19978 %uint_4095
%18836 = OpShiftRightLogical %uint %15627 %uint_25
%9130 = OpBitwiseAnd %uint %18836 %uint_15
%8814 = OpCompositeConstruct %v2uint %20824 %20824
%8841 = OpShiftRightLogical %v2uint %8814 %1855
%22507 = OpShiftLeftLogical %v2uint %1828 %1856
%18608 = OpISub %v2uint %22507 %1828
%18743 = OpBitwiseAnd %v2uint %8841 %18608
%22404 = OpShiftLeftLogical %v2uint %18743 %1870
%23019 = OpIMul %v2uint %22404 %1828
%12819 = OpShiftRightLogical %uint %20824 %uint_5
%16204 = OpBitwiseAnd %uint %12819 %uint_2047
%18732 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_2
%24236 = OpLoad %uint %18732
%22701 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_3
%20919 = OpLoad %uint %22701
%19164 = OpBitwiseAnd %uint %24236 %uint_7
%21999 = OpBitwiseAnd %uint %24236 %uint_8
%20495 = OpINotEqual %bool %21999 %uint_0
%10402 = OpShiftRightLogical %uint %24236 %uint_4
%23037 = OpBitwiseAnd %uint %10402 %uint_7
%23118 = OpBitwiseAnd %uint %24236 %uint_16777216
%19573 = OpINotEqual %bool %23118 %uint_0
%8003 = OpBitwiseAnd %uint %20919 %uint_1023
%15783 = OpShiftLeftLogical %uint %8003 %uint_5
%22591 = OpShiftRightLogical %uint %20919 %uint_10
%19390 = OpBitwiseAnd %uint %22591 %uint_1023
%25203 = OpShiftLeftLogical %uint %19390 %uint_5
%10422 = OpCompositeConstruct %v2uint %20919 %20919
%10385 = OpShiftRightLogical %v2uint %10422 %2275
%23379 = OpBitwiseAnd %v2uint %10385 %2122
%16207 = OpShiftLeftLogical %v2uint %23379 %1870
%23020 = OpIMul %v2uint %16207 %1828
%12820 = OpShiftRightLogical %uint %20919 %uint_28
%16205 = OpBitwiseAnd %uint %12820 %uint_7
%18656 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_4
%25270 = OpLoad %uint %18656
%14159 = OpLoad %v3uint %gl_GlobalInvocationID
%12672 = OpVectorShuffle %v2uint %14159 %14159 0 1
%12025 = OpShiftLeftLogical %v2uint %12672 %1825
%7640 = OpCompositeExtract %uint %12025 0
%11658 = OpShiftLeftLogical %uint %16204 %uint_3
%15379 = OpUGreaterThanEqual %bool %7640 %11658
OpSelectionMerge %12755 DontFlatten
OpBranchConditional %15379 %21992 %12755
%21992 = OpLabel
OpBranch %19578
%12755 = OpLabel
%7340 = OpCompositeExtract %uint %12025 1
%7992 = OpExtInst %uint %1 UMax %7340 %uint_0
%20975 = OpCompositeConstruct %v2uint %7640 %7992
%21036 = OpIAdd %v2uint %20975 %23019
%16075 = OpULessThanEqual %bool %16205 %uint_3
OpSelectionMerge %6491 None
OpBranchConditional %16075 %10990 %15087
%15087 = OpLabel
%13566 = OpIEqual %bool %16205 %uint_5
%8438 = OpSelect %uint %13566 %uint_2 %uint_0
OpBranch %6491
%10990 = OpLabel
OpBranch %6491
%6491 = OpLabel
%22014 = OpPhi %uint %16205 %10990 %8438 %15087
%23520 = OpUGreaterThanEqual %v2bool %1849 %1837
%7771 = OpSelect %v2uint %23520 %1828 %1807
%10986 = OpShiftLeftLogical %v2uint %21036 %7771
%24669 = OpCompositeConstruct %v2uint %22014 %22014
%9093 = OpShiftRightLogical %v2uint %24669 %1816
%16072 = OpBitwiseAnd %v2uint %9093 %1828
%20272 = OpIAdd %v2uint %10986 %16072
%21145 = OpIMul %v2uint %2719 %1828
%14725 = OpShiftRightLogical %v2uint %21145 %1816
%19799 = OpUDiv %v2uint %20272 %14725
%20390 = OpCompositeExtract %uint %19799 1
%11046 = OpIMul %uint %20390 %20561
%24665 = OpCompositeExtract %uint %19799 0
%21536 = OpIAdd %uint %11046 %24665
%8742 = OpIAdd %uint %8574 %21536
%22376 = OpIMul %v2uint %19799 %14725
%20715 = OpISub %v2uint %20272 %22376
%7303 = OpCompositeExtract %uint %21145 0
%22882 = OpCompositeExtract %uint %21145 1
%13170 = OpIMul %uint %7303 %22882
%14551 = OpIMul %uint %8742 %13170
%6805 = OpCompositeExtract %uint %20715 1
%23526 = OpCompositeExtract %uint %14725 0
%22886 = OpIMul %uint %6805 %23526
%6886 = OpCompositeExtract %uint %20715 0
%9696 = OpIAdd %uint %22886 %6886
%19199 = OpShiftLeftLogical %uint %9696 %uint_1
%6269 = OpIAdd %uint %14551 %19199
%24307 = OpShiftRightLogical %uint %6269 %uint_1
%18708 = OpAccessChain %_ptr_Uniform_v2uint %3152 %int_0 %24307
%21063 = OpLoad %v2uint %18708
%19234 = OpCompositeExtract %uint %21063 0
%15341 = OpCompositeInsert %v4uint %19234 %10264 0
%20745 = OpCompositeExtract %uint %21063 1
%7681 = OpCompositeInsert %v4uint %20745 %15341 1
%18762 = OpIAdd %uint %24307 %uint_2
%6300 = OpAccessChain %_ptr_Uniform_v2uint %3152 %int_0 %18762
%13033 = OpLoad %v2uint %6300
%19235 = OpCompositeExtract %uint %13033 0
%15342 = OpCompositeInsert %v4uint %19235 %7681 2
%20746 = OpCompositeExtract %uint %13033 1
%7682 = OpCompositeInsert %v4uint %20746 %15342 3
%18763 = OpIAdd %uint %24307 %uint_4
%6301 = OpAccessChain %_ptr_Uniform_v2uint %3152 %int_0 %18763
%13034 = OpLoad %v2uint %6301
%19236 = OpCompositeExtract %uint %13034 0
%15343 = OpCompositeInsert %v4uint %19236 %10264 0
%20747 = OpCompositeExtract %uint %13034 1
%7683 = OpCompositeInsert %v4uint %20747 %15343 1
%18764 = OpIAdd %uint %24307 %uint_6
%6302 = OpAccessChain %_ptr_Uniform_v2uint %3152 %int_0 %18764
%13035 = OpLoad %v2uint %6302
%19237 = OpCompositeExtract %uint %13035 0
%15344 = OpCompositeInsert %v4uint %19237 %7683 2
%23006 = OpCompositeExtract %uint %13035 1
%9680 = OpCompositeInsert %v4uint %23006 %15344 3
OpSelectionMerge %21263 DontFlatten
OpBranchConditional %19573 %15068 %21263
%15068 = OpLabel
%13701 = OpIEqual %bool %9130 %uint_5
%17015 = OpLogicalNot %bool %13701
OpSelectionMerge %15698 None
OpBranchConditional %17015 %16607 %15698
%16607 = OpLabel
%18778 = OpIEqual %bool %9130 %uint_7
OpBranch %15698
%15698 = OpLabel
%10924 = OpPhi %bool %13701 %15068 %18778 %16607
OpSelectionMerge %14836 DontFlatten
OpBranchConditional %10924 %8360 %14836
%8360 = OpLabel
%19441 = OpBitwiseAnd %v4uint %7682 %1877
%20970 = OpVectorShuffle %v4uint %7682 %7682 1 0 3 2
%7405 = OpBitwiseAnd %v4uint %20970 %850
%13888 = OpBitwiseOr %v4uint %19441 %7405
%21265 = OpBitwiseAnd %v4uint %9680 %1877
%15352 = OpVectorShuffle %v4uint %9680 %9680 1 0 3 2
%8355 = OpBitwiseAnd %v4uint %15352 %850
%8449 = OpBitwiseOr %v4uint %21265 %8355
OpBranch %14836
%14836 = OpLabel
%11251 = OpPhi %v4uint %9680 %15698 %8449 %8360
%13709 = OpPhi %v4uint %7682 %15698 %13888 %8360
OpBranch %21263
%21263 = OpLabel
%8952 = OpPhi %v4uint %9680 %6491 %11251 %14836
%22009 = OpPhi %v4uint %7682 %6491 %13709 %14836
%7319 = OpIAdd %v2uint %12025 %23020
OpSelectionMerge %21237 DontFlatten
OpBranchConditional %20495 %10574 %21373
%21373 = OpLabel
%10608 = OpBitcast %v2int %7319
%17090 = OpCompositeExtract %int %10608 0
%9469 = OpShiftRightArithmetic %int %17090 %int_5
%10055 = OpCompositeExtract %int %10608 1
%16476 = OpShiftRightArithmetic %int %10055 %int_5
%23373 = OpShiftRightLogical %uint %15783 %uint_5
%6314 = OpBitcast %int %23373
%21319 = OpIMul %int %16476 %6314
%16222 = OpIAdd %int %9469 %21319
%19086 = OpShiftLeftLogical %int %16222 %uint_10
%10934 = OpBitwiseAnd %int %17090 %int_7
%12600 = OpBitwiseAnd %int %10055 %int_14
%17741 = OpShiftLeftLogical %int %12600 %int_2
%17303 = OpIAdd %int %10934 %17741
%6375 = OpShiftLeftLogical %int %17303 %uint_3
%10161 = OpBitwiseAnd %int %6375 %int_n16
%12150 = OpShiftLeftLogical %int %10161 %int_1
%15435 = OpIAdd %int %19086 %12150
%13207 = OpBitwiseAnd %int %6375 %int_15
%19760 = OpIAdd %int %15435 %13207
%18356 = OpBitwiseAnd %int %10055 %int_1
%21578 = OpShiftLeftLogical %int %18356 %int_4
%16727 = OpIAdd %int %19760 %21578
%20514 = OpBitwiseAnd %int %16727 %int_n512
%9238 = OpShiftLeftLogical %int %20514 %int_3
%18995 = OpBitwiseAnd %int %10055 %int_16
%12151 = OpShiftLeftLogical %int %18995 %int_7
%16728 = OpIAdd %int %9238 %12151
%19165 = OpBitwiseAnd %int %16727 %int_448
%21579 = OpShiftLeftLogical %int %19165 %int_2
%16708 = OpIAdd %int %16728 %21579
%20611 = OpBitwiseAnd %int %10055 %int_8
%16831 = OpShiftRightArithmetic %int %20611 %int_2
%7916 = OpShiftRightArithmetic %int %17090 %int_3
%13750 = OpIAdd %int %16831 %7916
%21587 = OpBitwiseAnd %int %13750 %int_3
%21580 = OpShiftLeftLogical %int %21587 %int_6
%15436 = OpIAdd %int %16708 %21580
%11782 = OpBitwiseAnd %int %16727 %int_63
%14671 = OpIAdd %int %15436 %11782
%22127 = OpBitcast %uint %14671
OpBranch %21237
%10574 = OpLabel
%19866 = OpCompositeExtract %uint %7319 0
%11267 = OpCompositeExtract %uint %7319 1
%8414 = OpCompositeConstruct %v3uint %19866 %11267 %23037
%20125 = OpBitcast %v3int %8414
%10438 = OpCompositeExtract %int %20125 1
%9470 = OpShiftRightArithmetic %int %10438 %int_4
%10056 = OpCompositeExtract %int %20125 2
%16477 = OpShiftRightArithmetic %int %10056 %int_2
%23374 = OpShiftRightLogical %uint %25203 %uint_4
%6315 = OpBitcast %int %23374
%21281 = OpIMul %int %16477 %6315
%15143 = OpIAdd %int %9470 %21281
%9032 = OpShiftRightLogical %uint %15783 %uint_5
%12427 = OpBitcast %int %9032
%10360 = OpIMul %int %15143 %12427
%25154 = OpCompositeExtract %int %20125 0
%20423 = OpShiftRightArithmetic %int %25154 %int_5
%18940 = OpIAdd %int %20423 %10360
%8797 = OpShiftLeftLogical %int %18940 %uint_9
%11510 = OpBitwiseAnd %int %8797 %int_268435455
%18938 = OpShiftLeftLogical %int %11510 %int_1
%19768 = OpBitwiseAnd %int %25154 %int_7
%12601 = OpBitwiseAnd %int %10438 %int_6
%17742 = OpShiftLeftLogical %int %12601 %int_2
%17227 = OpIAdd %int %19768 %17742
%7048 = OpShiftLeftLogical %int %17227 %uint_9
%24035 = OpShiftRightArithmetic %int %7048 %int_6
%8725 = OpShiftRightArithmetic %int %10438 %int_3
%13731 = OpIAdd %int %8725 %16477
%23052 = OpBitwiseAnd %int %13731 %int_1
%16658 = OpShiftRightArithmetic %int %25154 %int_3
%18794 = OpShiftLeftLogical %int %23052 %int_1
%13501 = OpIAdd %int %16658 %18794
%19166 = OpBitwiseAnd %int %13501 %int_3
%21581 = OpShiftLeftLogical %int %19166 %int_1
%15437 = OpIAdd %int %23052 %21581
%13150 = OpBitwiseAnd %int %24035 %int_n16
%20336 = OpIAdd %int %18938 %13150
%23345 = OpShiftLeftLogical %int %20336 %int_1
%23274 = OpBitwiseAnd %int %24035 %int_15
%10332 = OpIAdd %int %23345 %23274
%18357 = OpBitwiseAnd %int %10056 %int_3
%21582 = OpShiftLeftLogical %int %18357 %uint_9
%16729 = OpIAdd %int %10332 %21582
%19167 = OpBitwiseAnd %int %10438 %int_1
%21583 = OpShiftLeftLogical %int %19167 %int_4
%16730 = OpIAdd %int %16729 %21583
%20438 = OpBitwiseAnd %int %15437 %int_1
%9987 = OpShiftLeftLogical %int %20438 %int_3
%13106 = OpShiftRightArithmetic %int %16730 %int_6
%14038 = OpBitwiseAnd %int %13106 %int_7
%13330 = OpIAdd %int %9987 %14038
%23346 = OpShiftLeftLogical %int %13330 %int_3
%23217 = OpBitwiseAnd %int %15437 %int_n2
%10908 = OpIAdd %int %23346 %23217
%23347 = OpShiftLeftLogical %int %10908 %int_2
%23218 = OpBitwiseAnd %int %16730 %int_n512
%10909 = OpIAdd %int %23347 %23218
%23348 = OpShiftLeftLogical %int %10909 %int_3
%21849 = OpBitwiseAnd %int %16730 %int_63
%24314 = OpIAdd %int %23348 %21849
%22128 = OpBitcast %uint %24314
OpBranch %21237
%21237 = OpLabel
%11376 = OpPhi %uint %22128 %10574 %22127 %21373
%20616 = OpIAdd %uint %11376 %25270
%20138 = OpShiftRightLogical %uint %20616 %uint_4
%19356 = OpIEqual %bool %19164 %uint_4
OpSelectionMerge %14780 None
OpBranchConditional %19356 %13279 %14780
%13279 = OpLabel
%7958 = OpVectorShuffle %v4uint %22009 %22009 1 0 3 2
OpBranch %14780
%14780 = OpLabel
%22898 = OpPhi %v4uint %22009 %21237 %7958 %13279
%6605 = OpSelect %uint %19356 %uint_2 %19164
%13412 = OpIEqual %bool %6605 %uint_1
%18370 = OpIEqual %bool %6605 %uint_2
%22150 = OpLogicalOr %bool %13412 %18370
OpSelectionMerge %13411 None
OpBranchConditional %22150 %10583 %13411
%10583 = OpLabel
%18271 = OpBitwiseAnd %v4uint %22898 %2510
%9425 = OpShiftLeftLogical %v4uint %18271 %317
%20652 = OpBitwiseAnd %v4uint %22898 %1838
%17549 = OpShiftRightLogical %v4uint %20652 %317
%16376 = OpBitwiseOr %v4uint %9425 %17549
OpBranch %13411
%13411 = OpLabel
%22649 = OpPhi %v4uint %22898 %14780 %16376 %10583
%19638 = OpIEqual %bool %6605 %uint_3
%15139 = OpLogicalOr %bool %18370 %19638
OpSelectionMerge %11416 None
OpBranchConditional %15139 %11064 %11416
%11064 = OpLabel
%24087 = OpShiftLeftLogical %v4uint %22649 %749
%15335 = OpShiftRightLogical %v4uint %22649 %749
%10728 = OpBitwiseOr %v4uint %24087 %15335
OpBranch %11416
%11416 = OpLabel
%19767 = OpPhi %v4uint %22649 %13411 %10728 %11064
%24825 = OpAccessChain %_ptr_Uniform_v4uint %5522 %int_0 %20138
OpStore %24825 %19767
%21685 = OpIAdd %uint %20138 %uint_2
OpSelectionMerge %16262 None
OpBranchConditional %19356 %13280 %16262
%13280 = OpLabel
%7959 = OpVectorShuffle %v4uint %8952 %8952 1 0 3 2
OpBranch %16262
%16262 = OpLabel
%10925 = OpPhi %v4uint %8952 %11416 %7959 %13280
OpSelectionMerge %14874 None
OpBranchConditional %22150 %10584 %14874
%10584 = OpLabel
%18272 = OpBitwiseAnd %v4uint %10925 %2510
%9426 = OpShiftLeftLogical %v4uint %18272 %317
%20653 = OpBitwiseAnd %v4uint %10925 %1838
%17550 = OpShiftRightLogical %v4uint %20653 %317
%16377 = OpBitwiseOr %v4uint %9426 %17550
OpBranch %14874
%14874 = OpLabel
%10926 = OpPhi %v4uint %10925 %16262 %16377 %10584
OpSelectionMerge %11417 None
OpBranchConditional %15139 %11065 %11417
%11065 = OpLabel
%24088 = OpShiftLeftLogical %v4uint %10926 %749
%15336 = OpShiftRightLogical %v4uint %10926 %749
%10729 = OpBitwiseOr %v4uint %24088 %15336
OpBranch %11417
%11417 = OpLabel
%19769 = OpPhi %v4uint %10926 %14874 %10729 %11065
%8053 = OpAccessChain %_ptr_Uniform_v4uint %5522 %int_0 %21685
OpStore %8053 %19769
OpBranch %19578
%19578 = OpLabel
OpReturn
OpFunctionEnd
#endif
const uint32_t resolve_fast_64bpp_4xmsaa_cs[] = {
0x07230203, 0x00010000, 0x0008000A, 0x000062B7, 0x00000000, 0x00020011,
0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E,
0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0006000F, 0x00000005,
0x0000161F, 0x6E69616D, 0x00000000, 0x00000F48, 0x00060010, 0x0000161F,
0x00000011, 0x00000008, 0x00000008, 0x00000001, 0x00050048, 0x0000040C,
0x00000000, 0x00000023, 0x00000000, 0x00050048, 0x0000040C, 0x00000001,
0x00000023, 0x00000004, 0x00050048, 0x0000040C, 0x00000002, 0x00000023,
0x00000008, 0x00050048, 0x0000040C, 0x00000003, 0x00000023, 0x0000000C,
0x00050048, 0x0000040C, 0x00000004, 0x00000023, 0x00000010, 0x00030047,
0x0000040C, 0x00000002, 0x00040047, 0x00000F48, 0x0000000B, 0x0000001C,
0x00040047, 0x000007D6, 0x00000006, 0x00000008, 0x00040048, 0x000007A8,
0x00000000, 0x00000018, 0x00050048, 0x000007A8, 0x00000000, 0x00000023,
0x00000000, 0x00030047, 0x000007A8, 0x00000003, 0x00040047, 0x00000C50,
0x00000022, 0x00000001, 0x00040047, 0x00000C50, 0x00000021, 0x00000000,
0x00040047, 0x000007DC, 0x00000006, 0x00000010, 0x00040048, 0x000007B4,
0x00000000, 0x00000019, 0x00050048, 0x000007B4, 0x00000000, 0x00000023,
0x00000000, 0x00030047, 0x000007B4, 0x00000003, 0x00040047, 0x00001592,
0x00000022, 0x00000000, 0x00040047, 0x00001592, 0x00000021, 0x00000000,
0x00040047, 0x00000AC7, 0x0000000B, 0x00000019, 0x00020013, 0x00000008,
0x00030021, 0x00000502, 0x00000008, 0x00020014, 0x00000009, 0x00040017,
0x0000000F, 0x00000009, 0x00000002, 0x00040015, 0x0000000B, 0x00000020,
0x00000000, 0x00040017, 0x00000011, 0x0000000B, 0x00000002, 0x00040017,
0x00000017, 0x0000000B, 0x00000004, 0x00040015, 0x0000000C, 0x00000020,
0x00000001, 0x00040017, 0x00000012, 0x0000000C, 0x00000002, 0x00040017,
0x00000016, 0x0000000C, 0x00000003, 0x0004002B, 0x0000000B, 0x00000A0D,
0x00000001, 0x0004002B, 0x0000000B, 0x00000A10, 0x00000002, 0x0004002B,
0x0000000B, 0x000008A6, 0x00FF00FF, 0x0004002B, 0x0000000B, 0x00000A22,
0x00000008, 0x0004002B, 0x0000000B, 0x000005FD, 0xFF00FF00, 0x0004002B,
0x0000000B, 0x00000A13, 0x00000003, 0x0004002B, 0x0000000B, 0x00000A3A,
0x00000010, 0x0004002B, 0x0000000B, 0x00000A16, 0x00000004, 0x0005002C,
0x00000011, 0x0000072D, 0x00000A10, 0x00000A0D, 0x0004002B, 0x0000000B,
0x00000A0A, 0x00000000, 0x0005002C, 0x00000011, 0x0000070F, 0x00000A0A,
0x00000A0A, 0x0005002C, 0x00000011, 0x00000724, 0x00000A0D, 0x00000A0D,
0x0005002C, 0x00000011, 0x00000718, 0x00000A0D, 0x00000A0A, 0x0004002B,
0x0000000B, 0x00000AFA, 0x00000050, 0x0005002C, 0x00000011, 0x00000A9F,
0x00000AFA, 0x00000A3A, 0x0004002B, 0x0000000C, 0x00000A1A, 0x00000005,
0x0004002B, 0x0000000B, 0x00000A19, 0x00000005, 0x0004002B, 0x0000000B,
0x00000A1F, 0x00000007, 0x0004002B, 0x0000000C, 0x00000A20, 0x00000007,
0x0004002B, 0x0000000C, 0x00000A35, 0x0000000E, 0x0004002B, 0x0000000C,
0x00000A11, 0x00000002, 0x0004002B, 0x0000000C, 0x000009DB, 0xFFFFFFF0,
0x0004002B, 0x0000000C, 0x00000A0E, 0x00000001, 0x0004002B, 0x0000000C,
0x00000A38, 0x0000000F, 0x0004002B, 0x0000000C, 0x00000A17, 0x00000004,
0x0004002B, 0x0000000C, 0x0000040B, 0xFFFFFE00, 0x0004002B, 0x0000000C,
0x00000A14, 0x00000003, 0x0004002B, 0x0000000C, 0x00000A3B, 0x00000010,
0x0004002B, 0x0000000C, 0x00000388, 0x000001C0, 0x0004002B, 0x0000000C,
0x00000A23, 0x00000008, 0x0004002B, 0x0000000C, 0x00000A1D, 0x00000006,
0x0004002B, 0x0000000C, 0x00000AC8, 0x0000003F, 0x0004002B, 0x0000000B,
0x00000A1C, 0x00000006, 0x0004002B, 0x0000000C, 0x0000078B, 0x0FFFFFFF,
0x0004002B, 0x0000000C, 0x00000A05, 0xFFFFFFFE, 0x0007001E, 0x0000040C,
0x0000000B, 0x0000000B, 0x0000000B, 0x0000000B, 0x0000000B, 0x00040020,
0x00000688, 0x00000009, 0x0000040C, 0x0004003B, 0x00000688, 0x0000118F,
0x00000009, 0x0004002B, 0x0000000C, 0x00000A0B, 0x00000000, 0x00040020,
0x00000288, 0x00000009, 0x0000000B, 0x0004002B, 0x0000000B, 0x00000A44,
0x000003FF, 0x0004002B, 0x0000000B, 0x00000A28, 0x0000000A, 0x0004002B,
0x0000000B, 0x00000A31, 0x0000000D, 0x0004002B, 0x0000000B, 0x00000AFB,
0x00000FFF, 0x0004002B, 0x0000000B, 0x00000A55, 0x00000019, 0x0004002B,
0x0000000B, 0x00000A37, 0x0000000F, 0x0005002C, 0x00000011, 0x0000073F,
0x00000A0A, 0x00000A16, 0x0005002C, 0x00000011, 0x00000740, 0x00000A16,
0x00000A0D, 0x0004002B, 0x0000000B, 0x00000A81, 0x000007FF, 0x0004002B,
0x0000000B, 0x00000926, 0x01000000, 0x0004002B, 0x0000000B, 0x00000A46,
0x00000014, 0x0004002B, 0x0000000B, 0x00000A52, 0x00000018, 0x0005002C,
0x00000011, 0x000008E3, 0x00000A46, 0x00000A52, 0x0004002B, 0x0000000B,
0x00000A5E, 0x0000001C, 0x00040017, 0x00000014, 0x0000000B, 0x00000003,
0x0004002B, 0x0000000B, 0x0000068D, 0xFFFF0000, 0x0004002B, 0x0000000B,
0x000001C1, 0x0000FFFF, 0x00040020, 0x00000291, 0x00000001, 0x00000014,
0x0004003B, 0x00000291, 0x00000F48, 0x00000001, 0x0005002C, 0x00000011,
0x00000721, 0x00000A10, 0x00000A0A, 0x0003001D, 0x000007D6, 0x00000011,
0x0003001E, 0x000007A8, 0x000007D6, 0x00040020, 0x00000A25, 0x00000002,
0x000007A8, 0x0004003B, 0x00000A25, 0x00000C50, 0x00000002, 0x00040020,
0x0000028E, 0x00000002, 0x00000011, 0x0003001D, 0x000007DC, 0x00000017,
0x0003001E, 0x000007B4, 0x000007DC, 0x00040020, 0x00000A32, 0x00000002,
0x000007B4, 0x0004003B, 0x00000A32, 0x00001592, 0x00000002, 0x00040020,
0x00000294, 0x00000002, 0x00000017, 0x0006002C, 0x00000014, 0x00000AC7,
0x00000A22, 0x00000A22, 0x00000A0D, 0x00030001, 0x00000017, 0x00002818,
0x0005002C, 0x00000011, 0x0000074E, 0x00000A13, 0x00000A13, 0x0005002C,
0x00000011, 0x0000084A, 0x00000A37, 0x00000A37, 0x0005002C, 0x00000011,
0x00000739, 0x00000A10, 0x00000A10, 0x0004002B, 0x0000000B, 0x00000A26,
0x00000009, 0x0007002C, 0x00000017, 0x00000755, 0x0000068D, 0x0000068D,
0x0000068D, 0x0000068D, 0x0007002C, 0x00000017, 0x00000352, 0x000001C1,
0x000001C1, 0x000001C1, 0x000001C1, 0x0007002C, 0x00000017, 0x000009CE,
0x000008A6, 0x000008A6, 0x000008A6, 0x000008A6, 0x0007002C, 0x00000017,
0x0000013D, 0x00000A22, 0x00000A22, 0x00000A22, 0x00000A22, 0x0007002C,
0x00000017, 0x0000072E, 0x000005FD, 0x000005FD, 0x000005FD, 0x000005FD,
0x0007002C, 0x00000017, 0x000002ED, 0x00000A3A, 0x00000A3A, 0x00000A3A,
0x00000A3A, 0x00050036, 0x00000008, 0x0000161F, 0x00000000, 0x00000502,
0x000200F8, 0x00003B06, 0x000300F7, 0x00004C7A, 0x00000000, 0x000300FB,
0x00000A0A, 0x00002E68, 0x000200F8, 0x00002E68, 0x00050041, 0x00000288,
0x000056E5, 0x0000118F, 0x00000A0B, 0x0004003D, 0x0000000B, 0x00003D0B,
0x000056E5, 0x00050041, 0x00000288, 0x000058AC, 0x0000118F, 0x00000A0E,
0x0004003D, 0x0000000B, 0x00005158, 0x000058AC, 0x000500C7, 0x0000000B,
0x00005051, 0x00003D0B, 0x00000A44, 0x000500C2, 0x0000000B, 0x00004E0A,
0x00003D0B, 0x00000A31, 0x000500C7, 0x0000000B, 0x0000217E, 0x00004E0A,
0x00000AFB, 0x000500C2, 0x0000000B, 0x00004994, 0x00003D0B, 0x00000A55,
0x000500C7, 0x0000000B, 0x000023AA, 0x00004994, 0x00000A37, 0x00050050,
0x00000011, 0x0000226E, 0x00005158, 0x00005158, 0x000500C2, 0x00000011,
0x00002289, 0x0000226E, 0x0000073F, 0x000500C4, 0x00000011, 0x000057EB,
0x00000724, 0x00000740, 0x00050082, 0x00000011, 0x000048B0, 0x000057EB,
0x00000724, 0x000500C7, 0x00000011, 0x00004937, 0x00002289, 0x000048B0,
0x000500C4, 0x00000011, 0x00005784, 0x00004937, 0x0000074E, 0x00050084,
0x00000011, 0x000059EB, 0x00005784, 0x00000724, 0x000500C2, 0x0000000B,
0x00003213, 0x00005158, 0x00000A19, 0x000500C7, 0x0000000B, 0x00003F4C,
0x00003213, 0x00000A81, 0x00050041, 0x00000288, 0x0000492C, 0x0000118F,
0x00000A11, 0x0004003D, 0x0000000B, 0x00005EAC, 0x0000492C, 0x00050041,
0x00000288, 0x000058AD, 0x0000118F, 0x00000A14, 0x0004003D, 0x0000000B,
0x000051B7, 0x000058AD, 0x000500C7, 0x0000000B, 0x00004ADC, 0x00005EAC,
0x00000A1F, 0x000500C7, 0x0000000B, 0x000055EF, 0x00005EAC, 0x00000A22,
0x000500AB, 0x00000009, 0x0000500F, 0x000055EF, 0x00000A0A, 0x000500C2,
0x0000000B, 0x000028A2, 0x00005EAC, 0x00000A16, 0x000500C7, 0x0000000B,
0x000059FD, 0x000028A2, 0x00000A1F, 0x000500C7, 0x0000000B, 0x00005A4E,
0x00005EAC, 0x00000926, 0x000500AB, 0x00000009, 0x00004C75, 0x00005A4E,
0x00000A0A, 0x000500C7, 0x0000000B, 0x00001F43, 0x000051B7, 0x00000A44,
0x000500C4, 0x0000000B, 0x00003DA7, 0x00001F43, 0x00000A19, 0x000500C2,
0x0000000B, 0x0000583F, 0x000051B7, 0x00000A28, 0x000500C7, 0x0000000B,
0x00004BBE, 0x0000583F, 0x00000A44, 0x000500C4, 0x0000000B, 0x00006273,
0x00004BBE, 0x00000A19, 0x00050050, 0x00000011, 0x000028B6, 0x000051B7,
0x000051B7, 0x000500C2, 0x00000011, 0x00002891, 0x000028B6, 0x000008E3,
0x000500C7, 0x00000011, 0x00005B53, 0x00002891, 0x0000084A, 0x000500C4,
0x00000011, 0x00003F4F, 0x00005B53, 0x0000074E, 0x00050084, 0x00000011,
0x000059EC, 0x00003F4F, 0x00000724, 0x000500C2, 0x0000000B, 0x00003214,
0x000051B7, 0x00000A5E, 0x000500C7, 0x0000000B, 0x00003F4D, 0x00003214,
0x00000A1F, 0x00050041, 0x00000288, 0x000048E0, 0x0000118F, 0x00000A17,
0x0004003D, 0x0000000B, 0x000062B6, 0x000048E0, 0x0004003D, 0x00000014,
0x0000374F, 0x00000F48, 0x0007004F, 0x00000011, 0x00003180, 0x0000374F,
0x0000374F, 0x00000000, 0x00000001, 0x000500C4, 0x00000011, 0x00002EF9,
0x00003180, 0x00000721, 0x00050051, 0x0000000B, 0x00001DD8, 0x00002EF9,
0x00000000, 0x000500C4, 0x0000000B, 0x00002D8A, 0x00003F4C, 0x00000A13,
0x000500AE, 0x00000009, 0x00003C13, 0x00001DD8, 0x00002D8A, 0x000300F7,
0x000031D3, 0x00000002, 0x000400FA, 0x00003C13, 0x000055E8, 0x000031D3,
0x000200F8, 0x000055E8, 0x000200F9, 0x00004C7A, 0x000200F8, 0x000031D3,
0x00050051, 0x0000000B, 0x00001CAC, 0x00002EF9, 0x00000001, 0x0007000C,
0x0000000B, 0x00001F38, 0x00000001, 0x00000029, 0x00001CAC, 0x00000A0A,
0x00050050, 0x00000011, 0x000051EF, 0x00001DD8, 0x00001F38, 0x00050080,
0x00000011, 0x0000522C, 0x000051EF, 0x000059EB, 0x000500B2, 0x00000009,
0x00003ECB, 0x00003F4D, 0x00000A13, 0x000300F7, 0x0000195B, 0x00000000,
0x000400FA, 0x00003ECB, 0x00002AEE, 0x00003AEF, 0x000200F8, 0x00003AEF,
0x000500AA, 0x00000009, 0x000034FE, 0x00003F4D, 0x00000A19, 0x000600A9,
0x0000000B, 0x000020F6, 0x000034FE, 0x00000A10, 0x00000A0A, 0x000200F9,
0x0000195B, 0x000200F8, 0x00002AEE, 0x000200F9, 0x0000195B, 0x000200F8,
0x0000195B, 0x000700F5, 0x0000000B, 0x000055FE, 0x00003F4D, 0x00002AEE,
0x000020F6, 0x00003AEF, 0x000500AE, 0x0000000F, 0x00005BE0, 0x00000739,
0x0000072D, 0x000600A9, 0x00000011, 0x00001E5B, 0x00005BE0, 0x00000724,
0x0000070F, 0x000500C4, 0x00000011, 0x00002AEA, 0x0000522C, 0x00001E5B,
0x00050050, 0x00000011, 0x0000605D, 0x000055FE, 0x000055FE, 0x000500C2,
0x00000011, 0x00002385, 0x0000605D, 0x00000718, 0x000500C7, 0x00000011,
0x00003EC8, 0x00002385, 0x00000724, 0x00050080, 0x00000011, 0x00004F30,
0x00002AEA, 0x00003EC8, 0x00050084, 0x00000011, 0x00005299, 0x00000A9F,
0x00000724, 0x000500C2, 0x00000011, 0x00003985, 0x00005299, 0x00000718,
0x00050086, 0x00000011, 0x00004D57, 0x00004F30, 0x00003985, 0x00050051,
0x0000000B, 0x00004FA6, 0x00004D57, 0x00000001, 0x00050084, 0x0000000B,
0x00002B26, 0x00004FA6, 0x00005051, 0x00050051, 0x0000000B, 0x00006059,
0x00004D57, 0x00000000, 0x00050080, 0x0000000B, 0x00005420, 0x00002B26,
0x00006059, 0x00050080, 0x0000000B, 0x00002226, 0x0000217E, 0x00005420,
0x00050084, 0x00000011, 0x00005768, 0x00004D57, 0x00003985, 0x00050082,
0x00000011, 0x000050EB, 0x00004F30, 0x00005768, 0x00050051, 0x0000000B,
0x00001C87, 0x00005299, 0x00000000, 0x00050051, 0x0000000B, 0x00005962,
0x00005299, 0x00000001, 0x00050084, 0x0000000B, 0x00003372, 0x00001C87,
0x00005962, 0x00050084, 0x0000000B, 0x000038D7, 0x00002226, 0x00003372,
0x00050051, 0x0000000B, 0x00001A95, 0x000050EB, 0x00000001, 0x00050051,
0x0000000B, 0x00005BE6, 0x00003985, 0x00000000, 0x00050084, 0x0000000B,
0x00005966, 0x00001A95, 0x00005BE6, 0x00050051, 0x0000000B, 0x00001AE6,
0x000050EB, 0x00000000, 0x00050080, 0x0000000B, 0x000025E0, 0x00005966,
0x00001AE6, 0x000500C4, 0x0000000B, 0x00004AFF, 0x000025E0, 0x00000A0D,
0x00050080, 0x0000000B, 0x0000187D, 0x000038D7, 0x00004AFF, 0x000500C2,
0x0000000B, 0x00005EF3, 0x0000187D, 0x00000A0D, 0x00060041, 0x0000028E,
0x00004914, 0x00000C50, 0x00000A0B, 0x00005EF3, 0x0004003D, 0x00000011,
0x00005247, 0x00004914, 0x00050051, 0x0000000B, 0x00004B22, 0x00005247,
0x00000000, 0x00060052, 0x00000017, 0x00003BED, 0x00004B22, 0x00002818,
0x00000000, 0x00050051, 0x0000000B, 0x00005109, 0x00005247, 0x00000001,
0x00060052, 0x00000017, 0x00001E01, 0x00005109, 0x00003BED, 0x00000001,
0x00050080, 0x0000000B, 0x0000494A, 0x00005EF3, 0x00000A10, 0x00060041,
0x0000028E, 0x0000189C, 0x00000C50, 0x00000A0B, 0x0000494A, 0x0004003D,
0x00000011, 0x000032E9, 0x0000189C, 0x00050051, 0x0000000B, 0x00004B23,
0x000032E9, 0x00000000, 0x00060052, 0x00000017, 0x00003BEE, 0x00004B23,
0x00001E01, 0x00000002, 0x00050051, 0x0000000B, 0x0000510A, 0x000032E9,
0x00000001, 0x00060052, 0x00000017, 0x00001E02, 0x0000510A, 0x00003BEE,
0x00000003, 0x00050080, 0x0000000B, 0x0000494B, 0x00005EF3, 0x00000A16,
0x00060041, 0x0000028E, 0x0000189D, 0x00000C50, 0x00000A0B, 0x0000494B,
0x0004003D, 0x00000011, 0x000032EA, 0x0000189D, 0x00050051, 0x0000000B,
0x00004B24, 0x000032EA, 0x00000000, 0x00060052, 0x00000017, 0x00003BEF,
0x00004B24, 0x00002818, 0x00000000, 0x00050051, 0x0000000B, 0x0000510B,
0x000032EA, 0x00000001, 0x00060052, 0x00000017, 0x00001E03, 0x0000510B,
0x00003BEF, 0x00000001, 0x00050080, 0x0000000B, 0x0000494C, 0x00005EF3,
0x00000A1C, 0x00060041, 0x0000028E, 0x0000189E, 0x00000C50, 0x00000A0B,
0x0000494C, 0x0004003D, 0x00000011, 0x000032EB, 0x0000189E, 0x00050051,
0x0000000B, 0x00004B25, 0x000032EB, 0x00000000, 0x00060052, 0x00000017,
0x00003BF0, 0x00004B25, 0x00001E03, 0x00000002, 0x00050051, 0x0000000B,
0x000059DE, 0x000032EB, 0x00000001, 0x00060052, 0x00000017, 0x000025D0,
0x000059DE, 0x00003BF0, 0x00000003, 0x000300F7, 0x0000530F, 0x00000002,
0x000400FA, 0x00004C75, 0x00003ADC, 0x0000530F, 0x000200F8, 0x00003ADC,
0x000500AA, 0x00000009, 0x00003585, 0x000023AA, 0x00000A19, 0x000400A8,
0x00000009, 0x00004277, 0x00003585, 0x000300F7, 0x00003D52, 0x00000000,
0x000400FA, 0x00004277, 0x000040DF, 0x00003D52, 0x000200F8, 0x000040DF,
0x000500AA, 0x00000009, 0x0000495A, 0x000023AA, 0x00000A1F, 0x000200F9,
0x00003D52, 0x000200F8, 0x00003D52, 0x000700F5, 0x00000009, 0x00002AAC,
0x00003585, 0x00003ADC, 0x0000495A, 0x000040DF, 0x000300F7, 0x000039F4,
0x00000002, 0x000400FA, 0x00002AAC, 0x000020A8, 0x000039F4, 0x000200F8,
0x000020A8, 0x000500C7, 0x00000017, 0x00004BF1, 0x00001E02, 0x00000755,
0x0009004F, 0x00000017, 0x000051EA, 0x00001E02, 0x00001E02, 0x00000001,
0x00000000, 0x00000003, 0x00000002, 0x000500C7, 0x00000017, 0x00001CED,
0x000051EA, 0x00000352, 0x000500C5, 0x00000017, 0x00003640, 0x00004BF1,
0x00001CED, 0x000500C7, 0x00000017, 0x00005311, 0x000025D0, 0x00000755,
0x0009004F, 0x00000017, 0x00003BF8, 0x000025D0, 0x000025D0, 0x00000001,
0x00000000, 0x00000003, 0x00000002, 0x000500C7, 0x00000017, 0x000020A3,
0x00003BF8, 0x00000352, 0x000500C5, 0x00000017, 0x00002101, 0x00005311,
0x000020A3, 0x000200F9, 0x000039F4, 0x000200F8, 0x000039F4, 0x000700F5,
0x00000017, 0x00002BF3, 0x000025D0, 0x00003D52, 0x00002101, 0x000020A8,
0x000700F5, 0x00000017, 0x0000358D, 0x00001E02, 0x00003D52, 0x00003640,
0x000020A8, 0x000200F9, 0x0000530F, 0x000200F8, 0x0000530F, 0x000700F5,
0x00000017, 0x000022F8, 0x000025D0, 0x0000195B, 0x00002BF3, 0x000039F4,
0x000700F5, 0x00000017, 0x000055F9, 0x00001E02, 0x0000195B, 0x0000358D,
0x000039F4, 0x00050080, 0x00000011, 0x00001C97, 0x00002EF9, 0x000059EC,
0x000300F7, 0x000052F5, 0x00000002, 0x000400FA, 0x0000500F, 0x0000294E,
0x0000537D, 0x000200F8, 0x0000537D, 0x0004007C, 0x00000012, 0x00002970,
0x00001C97, 0x00050051, 0x0000000C, 0x000042C2, 0x00002970, 0x00000000,
0x000500C3, 0x0000000C, 0x000024FD, 0x000042C2, 0x00000A1A, 0x00050051,
0x0000000C, 0x00002747, 0x00002970, 0x00000001, 0x000500C3, 0x0000000C,
0x0000405C, 0x00002747, 0x00000A1A, 0x000500C2, 0x0000000B, 0x00005B4D,
0x00003DA7, 0x00000A19, 0x0004007C, 0x0000000C, 0x000018AA, 0x00005B4D,
0x00050084, 0x0000000C, 0x00005347, 0x0000405C, 0x000018AA, 0x00050080,
0x0000000C, 0x00003F5E, 0x000024FD, 0x00005347, 0x000500C4, 0x0000000C,
0x00004A8E, 0x00003F5E, 0x00000A28, 0x000500C7, 0x0000000C, 0x00002AB6,
0x000042C2, 0x00000A20, 0x000500C7, 0x0000000C, 0x00003138, 0x00002747,
0x00000A35, 0x000500C4, 0x0000000C, 0x0000454D, 0x00003138, 0x00000A11,
0x00050080, 0x0000000C, 0x00004397, 0x00002AB6, 0x0000454D, 0x000500C4,
0x0000000C, 0x000018E7, 0x00004397, 0x00000A13, 0x000500C7, 0x0000000C,
0x000027B1, 0x000018E7, 0x000009DB, 0x000500C4, 0x0000000C, 0x00002F76,
0x000027B1, 0x00000A0E, 0x00050080, 0x0000000C, 0x00003C4B, 0x00004A8E,
0x00002F76, 0x000500C7, 0x0000000C, 0x00003397, 0x000018E7, 0x00000A38,
0x00050080, 0x0000000C, 0x00004D30, 0x00003C4B, 0x00003397, 0x000500C7,
0x0000000C, 0x000047B4, 0x00002747, 0x00000A0E, 0x000500C4, 0x0000000C,
0x0000544A, 0x000047B4, 0x00000A17, 0x00050080, 0x0000000C, 0x00004157,
0x00004D30, 0x0000544A, 0x000500C7, 0x0000000C, 0x00005022, 0x00004157,
0x0000040B, 0x000500C4, 0x0000000C, 0x00002416, 0x00005022, 0x00000A14,
0x000500C7, 0x0000000C, 0x00004A33, 0x00002747, 0x00000A3B, 0x000500C4,
0x0000000C, 0x00002F77, 0x00004A33, 0x00000A20, 0x00050080, 0x0000000C,
0x00004158, 0x00002416, 0x00002F77, 0x000500C7, 0x0000000C, 0x00004ADD,
0x00004157, 0x00000388, 0x000500C4, 0x0000000C, 0x0000544B, 0x00004ADD,
0x00000A11, 0x00050080, 0x0000000C, 0x00004144, 0x00004158, 0x0000544B,
0x000500C7, 0x0000000C, 0x00005083, 0x00002747, 0x00000A23, 0x000500C3,
0x0000000C, 0x000041BF, 0x00005083, 0x00000A11, 0x000500C3, 0x0000000C,
0x00001EEC, 0x000042C2, 0x00000A14, 0x00050080, 0x0000000C, 0x000035B6,
0x000041BF, 0x00001EEC, 0x000500C7, 0x0000000C, 0x00005453, 0x000035B6,
0x00000A14, 0x000500C4, 0x0000000C, 0x0000544C, 0x00005453, 0x00000A1D,
0x00050080, 0x0000000C, 0x00003C4C, 0x00004144, 0x0000544C, 0x000500C7,
0x0000000C, 0x00002E06, 0x00004157, 0x00000AC8, 0x00050080, 0x0000000C,
0x0000394F, 0x00003C4C, 0x00002E06, 0x0004007C, 0x0000000B, 0x0000566F,
0x0000394F, 0x000200F9, 0x000052F5, 0x000200F8, 0x0000294E, 0x00050051,
0x0000000B, 0x00004D9A, 0x00001C97, 0x00000000, 0x00050051, 0x0000000B,
0x00002C03, 0x00001C97, 0x00000001, 0x00060050, 0x00000014, 0x000020DE,
0x00004D9A, 0x00002C03, 0x000059FD, 0x0004007C, 0x00000016, 0x00004E9D,
0x000020DE, 0x00050051, 0x0000000C, 0x000028C6, 0x00004E9D, 0x00000001,
0x000500C3, 0x0000000C, 0x000024FE, 0x000028C6, 0x00000A17, 0x00050051,
0x0000000C, 0x00002748, 0x00004E9D, 0x00000002, 0x000500C3, 0x0000000C,
0x0000405D, 0x00002748, 0x00000A11, 0x000500C2, 0x0000000B, 0x00005B4E,
0x00006273, 0x00000A16, 0x0004007C, 0x0000000C, 0x000018AB, 0x00005B4E,
0x00050084, 0x0000000C, 0x00005321, 0x0000405D, 0x000018AB, 0x00050080,
0x0000000C, 0x00003B27, 0x000024FE, 0x00005321, 0x000500C2, 0x0000000B,
0x00002348, 0x00003DA7, 0x00000A19, 0x0004007C, 0x0000000C, 0x0000308B,
0x00002348, 0x00050084, 0x0000000C, 0x00002878, 0x00003B27, 0x0000308B,
0x00050051, 0x0000000C, 0x00006242, 0x00004E9D, 0x00000000, 0x000500C3,
0x0000000C, 0x00004FC7, 0x00006242, 0x00000A1A, 0x00050080, 0x0000000C,
0x000049FC, 0x00004FC7, 0x00002878, 0x000500C4, 0x0000000C, 0x0000225D,
0x000049FC, 0x00000A26, 0x000500C7, 0x0000000C, 0x00002CF6, 0x0000225D,
0x0000078B, 0x000500C4, 0x0000000C, 0x000049FA, 0x00002CF6, 0x00000A0E,
0x000500C7, 0x0000000C, 0x00004D38, 0x00006242, 0x00000A20, 0x000500C7,
0x0000000C, 0x00003139, 0x000028C6, 0x00000A1D, 0x000500C4, 0x0000000C,
0x0000454E, 0x00003139, 0x00000A11, 0x00050080, 0x0000000C, 0x0000434B,
0x00004D38, 0x0000454E, 0x000500C4, 0x0000000C, 0x00001B88, 0x0000434B,
0x00000A26, 0x000500C3, 0x0000000C, 0x00005DE3, 0x00001B88, 0x00000A1D,
0x000500C3, 0x0000000C, 0x00002215, 0x000028C6, 0x00000A14, 0x00050080,
0x0000000C, 0x000035A3, 0x00002215, 0x0000405D, 0x000500C7, 0x0000000C,
0x00005A0C, 0x000035A3, 0x00000A0E, 0x000500C3, 0x0000000C, 0x00004112,
0x00006242, 0x00000A14, 0x000500C4, 0x0000000C, 0x0000496A, 0x00005A0C,
0x00000A0E, 0x00050080, 0x0000000C, 0x000034BD, 0x00004112, 0x0000496A,
0x000500C7, 0x0000000C, 0x00004ADE, 0x000034BD, 0x00000A14, 0x000500C4,
0x0000000C, 0x0000544D, 0x00004ADE, 0x00000A0E, 0x00050080, 0x0000000C,
0x00003C4D, 0x00005A0C, 0x0000544D, 0x000500C7, 0x0000000C, 0x0000335E,
0x00005DE3, 0x000009DB, 0x00050080, 0x0000000C, 0x00004F70, 0x000049FA,
0x0000335E, 0x000500C4, 0x0000000C, 0x00005B31, 0x00004F70, 0x00000A0E,
0x000500C7, 0x0000000C, 0x00005AEA, 0x00005DE3, 0x00000A38, 0x00050080,
0x0000000C, 0x0000285C, 0x00005B31, 0x00005AEA, 0x000500C7, 0x0000000C,
0x000047B5, 0x00002748, 0x00000A14, 0x000500C4, 0x0000000C, 0x0000544E,
0x000047B5, 0x00000A26, 0x00050080, 0x0000000C, 0x00004159, 0x0000285C,
0x0000544E, 0x000500C7, 0x0000000C, 0x00004ADF, 0x000028C6, 0x00000A0E,
0x000500C4, 0x0000000C, 0x0000544F, 0x00004ADF, 0x00000A17, 0x00050080,
0x0000000C, 0x0000415A, 0x00004159, 0x0000544F, 0x000500C7, 0x0000000C,
0x00004FD6, 0x00003C4D, 0x00000A0E, 0x000500C4, 0x0000000C, 0x00002703,
0x00004FD6, 0x00000A14, 0x000500C3, 0x0000000C, 0x00003332, 0x0000415A,
0x00000A1D, 0x000500C7, 0x0000000C, 0x000036D6, 0x00003332, 0x00000A20,
0x00050080, 0x0000000C, 0x00003412, 0x00002703, 0x000036D6, 0x000500C4,
0x0000000C, 0x00005B32, 0x00003412, 0x00000A14, 0x000500C7, 0x0000000C,
0x00005AB1, 0x00003C4D, 0x00000A05, 0x00050080, 0x0000000C, 0x00002A9C,
0x00005B32, 0x00005AB1, 0x000500C4, 0x0000000C, 0x00005B33, 0x00002A9C,
0x00000A11, 0x000500C7, 0x0000000C, 0x00005AB2, 0x0000415A, 0x0000040B,
0x00050080, 0x0000000C, 0x00002A9D, 0x00005B33, 0x00005AB2, 0x000500C4,
0x0000000C, 0x00005B34, 0x00002A9D, 0x00000A14, 0x000500C7, 0x0000000C,
0x00005559, 0x0000415A, 0x00000AC8, 0x00050080, 0x0000000C, 0x00005EFA,
0x00005B34, 0x00005559, 0x0004007C, 0x0000000B, 0x00005670, 0x00005EFA,
0x000200F9, 0x000052F5, 0x000200F8, 0x000052F5, 0x000700F5, 0x0000000B,
0x00002C70, 0x00005670, 0x0000294E, 0x0000566F, 0x0000537D, 0x00050080,
0x0000000B, 0x00005088, 0x00002C70, 0x000062B6, 0x000500C2, 0x0000000B,
0x00004EAA, 0x00005088, 0x00000A16, 0x000500AA, 0x00000009, 0x00004B9C,
0x00004ADC, 0x00000A16, 0x000300F7, 0x000039BC, 0x00000000, 0x000400FA,
0x00004B9C, 0x000033DF, 0x000039BC, 0x000200F8, 0x000033DF, 0x0009004F,
0x00000017, 0x00001F16, 0x000055F9, 0x000055F9, 0x00000001, 0x00000000,
0x00000003, 0x00000002, 0x000200F9, 0x000039BC, 0x000200F8, 0x000039BC,
0x000700F5, 0x00000017, 0x00005972, 0x000055F9, 0x000052F5, 0x00001F16,
0x000033DF, 0x000600A9, 0x0000000B, 0x000019CD, 0x00004B9C, 0x00000A10,
0x00004ADC, 0x000500AA, 0x00000009, 0x00003464, 0x000019CD, 0x00000A0D,
0x000500AA, 0x00000009, 0x000047C2, 0x000019CD, 0x00000A10, 0x000500A6,
0x00000009, 0x00005686, 0x00003464, 0x000047C2, 0x000300F7, 0x00003463,
0x00000000, 0x000400FA, 0x00005686, 0x00002957, 0x00003463, 0x000200F8,
0x00002957, 0x000500C7, 0x00000017, 0x0000475F, 0x00005972, 0x000009CE,
0x000500C4, 0x00000017, 0x000024D1, 0x0000475F, 0x0000013D, 0x000500C7,
0x00000017, 0x000050AC, 0x00005972, 0x0000072E, 0x000500C2, 0x00000017,
0x0000448D, 0x000050AC, 0x0000013D, 0x000500C5, 0x00000017, 0x00003FF8,
0x000024D1, 0x0000448D, 0x000200F9, 0x00003463, 0x000200F8, 0x00003463,
0x000700F5, 0x00000017, 0x00005879, 0x00005972, 0x000039BC, 0x00003FF8,
0x00002957, 0x000500AA, 0x00000009, 0x00004CB6, 0x000019CD, 0x00000A13,
0x000500A6, 0x00000009, 0x00003B23, 0x000047C2, 0x00004CB6, 0x000300F7,
0x00002C98, 0x00000000, 0x000400FA, 0x00003B23, 0x00002B38, 0x00002C98,
0x000200F8, 0x00002B38, 0x000500C4, 0x00000017, 0x00005E17, 0x00005879,
0x000002ED, 0x000500C2, 0x00000017, 0x00003BE7, 0x00005879, 0x000002ED,
0x000500C5, 0x00000017, 0x000029E8, 0x00005E17, 0x00003BE7, 0x000200F9,
0x00002C98, 0x000200F8, 0x00002C98, 0x000700F5, 0x00000017, 0x00004D37,
0x00005879, 0x00003463, 0x000029E8, 0x00002B38, 0x00060041, 0x00000294,
0x000060F9, 0x00001592, 0x00000A0B, 0x00004EAA, 0x0003003E, 0x000060F9,
0x00004D37, 0x00050080, 0x0000000B, 0x000054B5, 0x00004EAA, 0x00000A10,
0x000300F7, 0x00003F86, 0x00000000, 0x000400FA, 0x00004B9C, 0x000033E0,
0x00003F86, 0x000200F8, 0x000033E0, 0x0009004F, 0x00000017, 0x00001F17,
0x000022F8, 0x000022F8, 0x00000001, 0x00000000, 0x00000003, 0x00000002,
0x000200F9, 0x00003F86, 0x000200F8, 0x00003F86, 0x000700F5, 0x00000017,
0x00002AAD, 0x000022F8, 0x00002C98, 0x00001F17, 0x000033E0, 0x000300F7,
0x00003A1A, 0x00000000, 0x000400FA, 0x00005686, 0x00002958, 0x00003A1A,
0x000200F8, 0x00002958, 0x000500C7, 0x00000017, 0x00004760, 0x00002AAD,
0x000009CE, 0x000500C4, 0x00000017, 0x000024D2, 0x00004760, 0x0000013D,
0x000500C7, 0x00000017, 0x000050AD, 0x00002AAD, 0x0000072E, 0x000500C2,
0x00000017, 0x0000448E, 0x000050AD, 0x0000013D, 0x000500C5, 0x00000017,
0x00003FF9, 0x000024D2, 0x0000448E, 0x000200F9, 0x00003A1A, 0x000200F8,
0x00003A1A, 0x000700F5, 0x00000017, 0x00002AAE, 0x00002AAD, 0x00003F86,
0x00003FF9, 0x00002958, 0x000300F7, 0x00002C99, 0x00000000, 0x000400FA,
0x00003B23, 0x00002B39, 0x00002C99, 0x000200F8, 0x00002B39, 0x000500C4,
0x00000017, 0x00005E18, 0x00002AAE, 0x000002ED, 0x000500C2, 0x00000017,
0x00003BE8, 0x00002AAE, 0x000002ED, 0x000500C5, 0x00000017, 0x000029E9,
0x00005E18, 0x00003BE8, 0x000200F9, 0x00002C99, 0x000200F8, 0x00002C99,
0x000700F5, 0x00000017, 0x00004D39, 0x00002AAE, 0x00003A1A, 0x000029E9,
0x00002B39, 0x00060041, 0x00000294, 0x00001F75, 0x00001592, 0x00000A0B,
0x000054B5, 0x0003003E, 0x00001F75, 0x00004D39, 0x000200F9, 0x00004C7A,
0x000200F8, 0x00004C7A, 0x000100FD, 0x00010038,
};

View File

@ -0,0 +1,959 @@
// Generated with `xb buildshaders`.
#if 0
; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 10
; Bound: 25204
; Schema: 0
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %5663 "main" %gl_GlobalInvocationID
OpExecutionMode %5663 LocalSize 8 8 1
OpMemberDecorate %_struct_1017 0 Offset 0
OpMemberDecorate %_struct_1017 1 Offset 4
OpMemberDecorate %_struct_1017 2 Offset 8
OpMemberDecorate %_struct_1017 3 Offset 12
OpDecorate %_struct_1017 Block
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %_runtimearr_v2uint ArrayStride 8
OpMemberDecorate %_struct_1960 0 NonWritable
OpMemberDecorate %_struct_1960 0 Offset 0
OpDecorate %_struct_1960 BufferBlock
OpDecorate %3152 DescriptorSet 1
OpDecorate %3152 Binding 0
OpDecorate %_runtimearr_v4uint ArrayStride 16
OpMemberDecorate %_struct_1972 0 NonReadable
OpMemberDecorate %_struct_1972 0 Offset 0
OpDecorate %_struct_1972 BufferBlock
OpDecorate %5522 DescriptorSet 0
OpDecorate %5522 Binding 0
OpDecorate %gl_WorkGroupSize BuiltIn WorkgroupSize
%void = OpTypeVoid
%1282 = OpTypeFunction %void
%bool = OpTypeBool
%v2bool = OpTypeVector %bool 2
%uint = OpTypeInt 32 0
%v2uint = OpTypeVector %uint 2
%v4uint = OpTypeVector %uint 4
%int = OpTypeInt 32 1
%v2int = OpTypeVector %int 2
%v3int = OpTypeVector %int 3
%v3uint = OpTypeVector %uint 3
%uint_1 = OpConstant %uint 1
%uint_2 = OpConstant %uint 2
%uint_16711935 = OpConstant %uint 16711935
%uint_8 = OpConstant %uint 8
%uint_4278255360 = OpConstant %uint 4278255360
%uint_3 = OpConstant %uint 3
%uint_16 = OpConstant %uint 16
%uint_4 = OpConstant %uint 4
%1837 = OpConstantComposite %v2uint %uint_2 %uint_1
%uint_0 = OpConstant %uint 0
%1807 = OpConstantComposite %v2uint %uint_0 %uint_0
%1828 = OpConstantComposite %v2uint %uint_1 %uint_1
%1816 = OpConstantComposite %v2uint %uint_1 %uint_0
%uint_80 = OpConstant %uint 80
%2719 = OpConstantComposite %v2uint %uint_80 %uint_16
%int_5 = OpConstant %int 5
%uint_5 = OpConstant %uint 5
%uint_7 = OpConstant %uint 7
%int_7 = OpConstant %int 7
%int_14 = OpConstant %int 14
%int_2 = OpConstant %int 2
%int_n16 = OpConstant %int -16
%int_1 = OpConstant %int 1
%int_15 = OpConstant %int 15
%int_4 = OpConstant %int 4
%int_n512 = OpConstant %int -512
%int_3 = OpConstant %int 3
%int_16 = OpConstant %int 16
%int_448 = OpConstant %int 448
%int_8 = OpConstant %int 8
%int_6 = OpConstant %int 6
%int_63 = OpConstant %int 63
%uint_6 = OpConstant %uint 6
%int_268435455 = OpConstant %int 268435455
%int_n2 = OpConstant %int -2
%uint_32 = OpConstant %uint 32
%_struct_1017 = OpTypeStruct %uint %uint %uint %uint
%_ptr_PushConstant__struct_1017 = OpTypePointer PushConstant %_struct_1017
%4495 = OpVariable %_ptr_PushConstant__struct_1017 PushConstant
%int_0 = OpConstant %int 0
%_ptr_PushConstant_uint = OpTypePointer PushConstant %uint
%uint_1023 = OpConstant %uint 1023
%uint_10 = OpConstant %uint 10
%uint_13 = OpConstant %uint 13
%uint_4095 = OpConstant %uint 4095
%uint_25 = OpConstant %uint 25
%uint_15 = OpConstant %uint 15
%uint_29 = OpConstant %uint 29
%uint_27 = OpConstant %uint 27
%2398 = OpConstantComposite %v2uint %uint_27 %uint_29
%uint_1073741824 = OpConstant %uint 1073741824
%false = OpConstantFalse %bool
%1855 = OpConstantComposite %v2uint %uint_0 %uint_4
%1856 = OpConstantComposite %v2uint %uint_4 %uint_1
%uint_2047 = OpConstant %uint 2047
%uint_16777216 = OpConstant %uint 16777216
%uint_20 = OpConstant %uint 20
%uint_24 = OpConstant %uint 24
%2275 = OpConstantComposite %v2uint %uint_20 %uint_24
%uint_28 = OpConstant %uint 28
%uint_4294901760 = OpConstant %uint 4294901760
%uint_65535 = OpConstant %uint 65535
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
%gl_GlobalInvocationID = OpVariable %_ptr_Input_v3uint Input
%1825 = OpConstantComposite %v2uint %uint_2 %uint_0
%_runtimearr_v2uint = OpTypeRuntimeArray %v2uint
%_struct_1960 = OpTypeStruct %_runtimearr_v2uint
%_ptr_Uniform__struct_1960 = OpTypePointer Uniform %_struct_1960
%3152 = OpVariable %_ptr_Uniform__struct_1960 Uniform
%_ptr_Uniform_v2uint = OpTypePointer Uniform %v2uint
%_runtimearr_v4uint = OpTypeRuntimeArray %v4uint
%_struct_1972 = OpTypeStruct %_runtimearr_v4uint
%_ptr_Uniform__struct_1972 = OpTypePointer Uniform %_struct_1972
%5522 = OpVariable %_ptr_Uniform__struct_1972 Uniform
%_ptr_Uniform_v4uint = OpTypePointer Uniform %v4uint
%gl_WorkGroupSize = OpConstantComposite %v3uint %uint_8 %uint_8 %uint_1
%10264 = OpUndef %v4uint
%1870 = OpConstantComposite %v2uint %uint_3 %uint_3
%315 = OpConstantComposite %v2bool %false %false
%2122 = OpConstantComposite %v2uint %uint_15 %uint_15
%1849 = OpConstantComposite %v2uint %uint_2 %uint_2
%uint_9 = OpConstant %uint 9
%1877 = OpConstantComposite %v4uint %uint_4294901760 %uint_4294901760 %uint_4294901760 %uint_4294901760
%850 = OpConstantComposite %v4uint %uint_65535 %uint_65535 %uint_65535 %uint_65535
%2510 = OpConstantComposite %v4uint %uint_16711935 %uint_16711935 %uint_16711935 %uint_16711935
%317 = OpConstantComposite %v4uint %uint_8 %uint_8 %uint_8 %uint_8
%1838 = OpConstantComposite %v4uint %uint_4278255360 %uint_4278255360 %uint_4278255360 %uint_4278255360
%749 = OpConstantComposite %v4uint %uint_16 %uint_16 %uint_16 %uint_16
%5663 = OpFunction %void None %1282
%15110 = OpLabel
OpSelectionMerge %19578 None
OpSwitch %uint_0 %11880
%11880 = OpLabel
%22245 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_0
%15627 = OpLoad %uint %22245
%22700 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_1
%20824 = OpLoad %uint %22700
%20561 = OpBitwiseAnd %uint %15627 %uint_1023
%19978 = OpShiftRightLogical %uint %15627 %uint_13
%8574 = OpBitwiseAnd %uint %19978 %uint_4095
%18836 = OpShiftRightLogical %uint %15627 %uint_25
%9130 = OpBitwiseAnd %uint %18836 %uint_15
%8871 = OpCompositeConstruct %v2uint %20824 %20824
%9633 = OpShiftRightLogical %v2uint %8871 %2398
%23601 = OpBitwiseAnd %v2uint %9633 %1870
%24030 = OpBitwiseAnd %uint %15627 %uint_1073741824
%12295 = OpINotEqual %bool %24030 %uint_0
OpSelectionMerge %9847 None
OpBranchConditional %12295 %20545 %21992
%21992 = OpLabel
OpBranch %9847
%20545 = OpLabel
%23885 = OpUGreaterThan %v2bool %23601 %1828
OpBranch %9847
%9847 = OpLabel
%19067 = OpPhi %v2bool %23885 %20545 %315 %21992
%6303 = OpShiftRightLogical %v2uint %8871 %1855
%10897 = OpShiftLeftLogical %v2uint %1828 %1856
%18608 = OpISub %v2uint %10897 %1828
%18743 = OpBitwiseAnd %v2uint %6303 %18608
%22404 = OpShiftLeftLogical %v2uint %18743 %1870
%23019 = OpIMul %v2uint %22404 %23601
%13123 = OpShiftRightLogical %uint %20824 %uint_5
%14785 = OpBitwiseAnd %uint %13123 %uint_2047
%8858 = OpCompositeExtract %uint %23601 0
%22993 = OpIMul %uint %14785 %8858
%20036 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_2
%18628 = OpLoad %uint %20036
%22701 = OpAccessChain %_ptr_PushConstant_uint %4495 %int_3
%20919 = OpLoad %uint %22701
%19164 = OpBitwiseAnd %uint %18628 %uint_7
%21999 = OpBitwiseAnd %uint %18628 %uint_8
%20495 = OpINotEqual %bool %21999 %uint_0
%10402 = OpShiftRightLogical %uint %18628 %uint_4
%23037 = OpBitwiseAnd %uint %10402 %uint_7
%23118 = OpBitwiseAnd %uint %18628 %uint_16777216
%19573 = OpINotEqual %bool %23118 %uint_0
%8003 = OpBitwiseAnd %uint %20919 %uint_1023
%15783 = OpShiftLeftLogical %uint %8003 %uint_5
%22591 = OpShiftRightLogical %uint %20919 %uint_10
%19390 = OpBitwiseAnd %uint %22591 %uint_1023
%25203 = OpShiftLeftLogical %uint %19390 %uint_5
%10422 = OpCompositeConstruct %v2uint %20919 %20919
%10385 = OpShiftRightLogical %v2uint %10422 %2275
%23379 = OpBitwiseAnd %v2uint %10385 %2122
%16207 = OpShiftLeftLogical %v2uint %23379 %1870
%23020 = OpIMul %v2uint %16207 %23601
%12743 = OpShiftRightLogical %uint %20919 %uint_28
%17238 = OpBitwiseAnd %uint %12743 %uint_7
%12737 = OpLoad %v3uint %gl_GlobalInvocationID
%14500 = OpVectorShuffle %v2uint %12737 %12737 0 1
%12025 = OpShiftLeftLogical %v2uint %14500 %1825
%7640 = OpCompositeExtract %uint %12025 0
%11658 = OpShiftLeftLogical %uint %22993 %uint_3
%15379 = OpUGreaterThanEqual %bool %7640 %11658
OpSelectionMerge %14025 DontFlatten
OpBranchConditional %15379 %21993 %14025
%21993 = OpLabel
OpBranch %19578
%14025 = OpLabel
%21557 = OpCompositeExtract %uint %12025 1
%12854 = OpCompositeExtract %bool %19067 1
%11443 = OpSelect %uint %12854 %uint_1 %uint_0
%6891 = OpExtInst %uint %1 UMax %21557 %11443
%14763 = OpCompositeConstruct %v2uint %7640 %6891
%21036 = OpIAdd %v2uint %14763 %23019
%16075 = OpULessThanEqual %bool %17238 %uint_3
OpSelectionMerge %6491 None
OpBranchConditional %16075 %10990 %15087
%15087 = OpLabel
%13566 = OpIEqual %bool %17238 %uint_5
%8438 = OpSelect %uint %13566 %uint_2 %uint_0
OpBranch %6491
%10990 = OpLabel
OpBranch %6491
%6491 = OpLabel
%22014 = OpPhi %uint %17238 %10990 %8438 %15087
%23520 = OpUGreaterThanEqual %v2bool %1849 %1837
%7771 = OpSelect %v2uint %23520 %1828 %1807
%10986 = OpShiftLeftLogical %v2uint %21036 %7771
%24669 = OpCompositeConstruct %v2uint %22014 %22014
%9093 = OpShiftRightLogical %v2uint %24669 %1816
%16072 = OpBitwiseAnd %v2uint %9093 %1828
%20272 = OpIAdd %v2uint %10986 %16072
%21145 = OpIMul %v2uint %2719 %23601
%14725 = OpShiftRightLogical %v2uint %21145 %1816
%19799 = OpUDiv %v2uint %20272 %14725
%20390 = OpCompositeExtract %uint %19799 1
%11046 = OpIMul %uint %20390 %20561
%24665 = OpCompositeExtract %uint %19799 0
%21536 = OpIAdd %uint %11046 %24665
%8742 = OpIAdd %uint %8574 %21536
%22376 = OpIMul %v2uint %19799 %14725
%20715 = OpISub %v2uint %20272 %22376
%7303 = OpCompositeExtract %uint %21145 0
%22882 = OpCompositeExtract %uint %21145 1
%13170 = OpIMul %uint %7303 %22882
%14551 = OpIMul %uint %8742 %13170
%6805 = OpCompositeExtract %uint %20715 1
%23526 = OpCompositeExtract %uint %14725 0
%22886 = OpIMul %uint %6805 %23526
%6886 = OpCompositeExtract %uint %20715 0
%9696 = OpIAdd %uint %22886 %6886
%19199 = OpShiftLeftLogical %uint %9696 %uint_1
%6573 = OpIAdd %uint %14551 %19199
%25073 = OpShiftRightLogical %uint %6573 %uint_1
%23835 = OpCompositeExtract %bool %19067 0
OpSelectionMerge %14216 None
OpBranchConditional %23835 %16607 %14216
%16607 = OpLabel
%18778 = OpIEqual %bool %7640 %uint_0
OpBranch %14216
%14216 = OpLabel
%22176 = OpPhi %bool %23835 %6491 %18778 %16607
%12381 = OpSelect %uint %22176 %uint_1 %uint_0
%24957 = OpIMul %uint %12381 %uint_2
%24428 = OpIAdd %uint %25073 %24957
%14340 = OpAccessChain %_ptr_Uniform_v2uint %3152 %int_0 %24428
%13033 = OpLoad %v2uint %14340
%19234 = OpCompositeExtract %uint %13033 0
%15341 = OpCompositeInsert %v4uint %19234 %10264 0
%20745 = OpCompositeExtract %uint %13033 1
%7681 = OpCompositeInsert %v4uint %20745 %15341 1
%18762 = OpIAdd %uint %25073 %uint_2
%6300 = OpAccessChain %_ptr_Uniform_v2uint %3152 %int_0 %18762
%13034 = OpLoad %v2uint %6300
%19235 = OpCompositeExtract %uint %13034 0
%15342 = OpCompositeInsert %v4uint %19235 %7681 2
%20746 = OpCompositeExtract %uint %13034 1
%7682 = OpCompositeInsert %v4uint %20746 %15342 3
%18763 = OpIAdd %uint %25073 %uint_4
%6301 = OpAccessChain %_ptr_Uniform_v2uint %3152 %int_0 %18763
%13035 = OpLoad %v2uint %6301
%19236 = OpCompositeExtract %uint %13035 0
%15343 = OpCompositeInsert %v4uint %19236 %10264 0
%20747 = OpCompositeExtract %uint %13035 1
%7683 = OpCompositeInsert %v4uint %20747 %15343 1
%18764 = OpIAdd %uint %25073 %uint_6
%6302 = OpAccessChain %_ptr_Uniform_v2uint %3152 %int_0 %18764
%13036 = OpLoad %v2uint %6302
%19237 = OpCompositeExtract %uint %13036 0
%15344 = OpCompositeInsert %v4uint %19237 %7683 2
%23006 = OpCompositeExtract %uint %13036 1
%9680 = OpCompositeInsert %v4uint %23006 %15344 3
OpSelectionMerge %21263 DontFlatten
OpBranchConditional %19573 %15068 %21263
%15068 = OpLabel
%13701 = OpIEqual %bool %9130 %uint_5
%17015 = OpLogicalNot %bool %13701
OpSelectionMerge %15698 None
OpBranchConditional %17015 %16608 %15698
%16608 = OpLabel
%18779 = OpIEqual %bool %9130 %uint_7
OpBranch %15698
%15698 = OpLabel
%10924 = OpPhi %bool %13701 %15068 %18779 %16608
OpSelectionMerge %14836 DontFlatten
OpBranchConditional %10924 %8360 %14836
%8360 = OpLabel
%19441 = OpBitwiseAnd %v4uint %7682 %1877
%20970 = OpVectorShuffle %v4uint %7682 %7682 1 0 3 2
%7405 = OpBitwiseAnd %v4uint %20970 %850
%13888 = OpBitwiseOr %v4uint %19441 %7405
%21265 = OpBitwiseAnd %v4uint %9680 %1877
%15352 = OpVectorShuffle %v4uint %9680 %9680 1 0 3 2
%8355 = OpBitwiseAnd %v4uint %15352 %850
%8449 = OpBitwiseOr %v4uint %21265 %8355
OpBranch %14836
%14836 = OpLabel
%11251 = OpPhi %v4uint %9680 %15698 %8449 %8360
%13709 = OpPhi %v4uint %7682 %15698 %13888 %8360
OpBranch %21263
%21263 = OpLabel
%8952 = OpPhi %v4uint %9680 %14216 %11251 %14836
%18855 = OpPhi %v4uint %7682 %14216 %13709 %14836
%13755 = OpIAdd %v2uint %12025 %23020
%13244 = OpCompositeExtract %uint %13755 0
%9555 = OpCompositeExtract %uint %13755 1
%11053 = OpShiftRightLogical %uint %13244 %uint_1
%7832 = OpCompositeConstruct %v2uint %11053 %9555
%24920 = OpUDiv %v2uint %7832 %23601
%13932 = OpCompositeExtract %uint %24920 0
%19770 = OpShiftLeftLogical %uint %13932 %uint_1
%24251 = OpCompositeExtract %uint %24920 1
%21452 = OpCompositeConstruct %v3uint %19770 %24251 %23037
OpSelectionMerge %21313 DontFlatten
OpBranchConditional %20495 %22206 %10904
%10904 = OpLabel
%7339 = OpVectorShuffle %v2uint %21452 %21452 0 1
%22991 = OpBitcast %v2int %7339
%6403 = OpCompositeExtract %int %22991 0
%9469 = OpShiftRightArithmetic %int %6403 %int_5
%10055 = OpCompositeExtract %int %22991 1
%16476 = OpShiftRightArithmetic %int %10055 %int_5
%23373 = OpShiftRightLogical %uint %15783 %uint_5
%6314 = OpBitcast %int %23373
%21319 = OpIMul %int %16476 %6314
%16222 = OpIAdd %int %9469 %21319
%19086 = OpShiftLeftLogical %int %16222 %uint_10
%10934 = OpBitwiseAnd %int %6403 %int_7
%12600 = OpBitwiseAnd %int %10055 %int_14
%17741 = OpShiftLeftLogical %int %12600 %int_2
%17303 = OpIAdd %int %10934 %17741
%6375 = OpShiftLeftLogical %int %17303 %uint_3
%10161 = OpBitwiseAnd %int %6375 %int_n16
%12150 = OpShiftLeftLogical %int %10161 %int_1
%15435 = OpIAdd %int %19086 %12150
%13207 = OpBitwiseAnd %int %6375 %int_15
%19760 = OpIAdd %int %15435 %13207
%18356 = OpBitwiseAnd %int %10055 %int_1
%21578 = OpShiftLeftLogical %int %18356 %int_4
%16727 = OpIAdd %int %19760 %21578
%20514 = OpBitwiseAnd %int %16727 %int_n512
%9238 = OpShiftLeftLogical %int %20514 %int_3
%18995 = OpBitwiseAnd %int %10055 %int_16
%12151 = OpShiftLeftLogical %int %18995 %int_7
%16728 = OpIAdd %int %9238 %12151
%19165 = OpBitwiseAnd %int %16727 %int_448
%21579 = OpShiftLeftLogical %int %19165 %int_2
%16708 = OpIAdd %int %16728 %21579
%20611 = OpBitwiseAnd %int %10055 %int_8
%16831 = OpShiftRightArithmetic %int %20611 %int_2
%7916 = OpShiftRightArithmetic %int %6403 %int_3
%13750 = OpIAdd %int %16831 %7916
%21587 = OpBitwiseAnd %int %13750 %int_3
%21580 = OpShiftLeftLogical %int %21587 %int_6
%15436 = OpIAdd %int %16708 %21580
%11782 = OpBitwiseAnd %int %16727 %int_63
%14671 = OpIAdd %int %15436 %11782
%22127 = OpBitcast %uint %14671
OpBranch %21313
%22206 = OpLabel
%6574 = OpBitcast %v3int %21452
%17090 = OpCompositeExtract %int %6574 1
%9470 = OpShiftRightArithmetic %int %17090 %int_4
%10056 = OpCompositeExtract %int %6574 2
%16477 = OpShiftRightArithmetic %int %10056 %int_2
%23374 = OpShiftRightLogical %uint %25203 %uint_4
%6315 = OpBitcast %int %23374
%21281 = OpIMul %int %16477 %6315
%15143 = OpIAdd %int %9470 %21281
%9032 = OpShiftRightLogical %uint %15783 %uint_5
%12427 = OpBitcast %int %9032
%10360 = OpIMul %int %15143 %12427
%25154 = OpCompositeExtract %int %6574 0
%20423 = OpShiftRightArithmetic %int %25154 %int_5
%18940 = OpIAdd %int %20423 %10360
%8797 = OpShiftLeftLogical %int %18940 %uint_9
%11510 = OpBitwiseAnd %int %8797 %int_268435455
%18938 = OpShiftLeftLogical %int %11510 %int_1
%19768 = OpBitwiseAnd %int %25154 %int_7
%12601 = OpBitwiseAnd %int %17090 %int_6
%17742 = OpShiftLeftLogical %int %12601 %int_2
%17227 = OpIAdd %int %19768 %17742
%7048 = OpShiftLeftLogical %int %17227 %uint_9
%24035 = OpShiftRightArithmetic %int %7048 %int_6
%8725 = OpShiftRightArithmetic %int %17090 %int_3
%13731 = OpIAdd %int %8725 %16477
%23052 = OpBitwiseAnd %int %13731 %int_1
%16658 = OpShiftRightArithmetic %int %25154 %int_3
%18794 = OpShiftLeftLogical %int %23052 %int_1
%13501 = OpIAdd %int %16658 %18794
%19166 = OpBitwiseAnd %int %13501 %int_3
%21581 = OpShiftLeftLogical %int %19166 %int_1
%15437 = OpIAdd %int %23052 %21581
%13150 = OpBitwiseAnd %int %24035 %int_n16
%20336 = OpIAdd %int %18938 %13150
%23345 = OpShiftLeftLogical %int %20336 %int_1
%23274 = OpBitwiseAnd %int %24035 %int_15
%10332 = OpIAdd %int %23345 %23274
%18357 = OpBitwiseAnd %int %10056 %int_3
%21582 = OpShiftLeftLogical %int %18357 %uint_9
%16729 = OpIAdd %int %10332 %21582
%19167 = OpBitwiseAnd %int %17090 %int_1
%21583 = OpShiftLeftLogical %int %19167 %int_4
%16730 = OpIAdd %int %16729 %21583
%20438 = OpBitwiseAnd %int %15437 %int_1
%9987 = OpShiftLeftLogical %int %20438 %int_3
%13106 = OpShiftRightArithmetic %int %16730 %int_6
%14038 = OpBitwiseAnd %int %13106 %int_7
%13330 = OpIAdd %int %9987 %14038
%23346 = OpShiftLeftLogical %int %13330 %int_3
%23217 = OpBitwiseAnd %int %15437 %int_n2
%10908 = OpIAdd %int %23346 %23217
%23347 = OpShiftLeftLogical %int %10908 %int_2
%23218 = OpBitwiseAnd %int %16730 %int_n512
%10909 = OpIAdd %int %23347 %23218
%23348 = OpShiftLeftLogical %int %10909 %int_3
%21849 = OpBitwiseAnd %int %16730 %int_63
%24314 = OpIAdd %int %23348 %21849
%22128 = OpBitcast %uint %24314
OpBranch %21313
%21313 = OpLabel
%9468 = OpPhi %uint %22128 %22206 %22127 %10904
%16296 = OpIMul %v2uint %24920 %23601
%16261 = OpISub %v2uint %7832 %16296
%17551 = OpCompositeExtract %uint %23601 1
%23632 = OpIMul %uint %8858 %17551
%15520 = OpIMul %uint %9468 %23632
%16084 = OpCompositeExtract %uint %16261 0
%15890 = OpIMul %uint %16084 %17551
%6887 = OpCompositeExtract %uint %16261 1
%11045 = OpIAdd %uint %15890 %6887
%24733 = OpShiftLeftLogical %uint %11045 %uint_1
%23219 = OpBitwiseAnd %uint %13244 %uint_1
%9559 = OpIAdd %uint %24733 %23219
%17811 = OpShiftLeftLogical %uint %9559 %uint_3
%8264 = OpIAdd %uint %15520 %17811
%9676 = OpShiftRightLogical %uint %8264 %uint_4
%19356 = OpIEqual %bool %19164 %uint_4
OpSelectionMerge %14780 None
OpBranchConditional %19356 %13279 %14780
%13279 = OpLabel
%7958 = OpVectorShuffle %v4uint %18855 %18855 1 0 3 2
OpBranch %14780
%14780 = OpLabel
%22898 = OpPhi %v4uint %18855 %21313 %7958 %13279
%6605 = OpSelect %uint %19356 %uint_2 %19164
%13412 = OpIEqual %bool %6605 %uint_1
%18370 = OpIEqual %bool %6605 %uint_2
%22150 = OpLogicalOr %bool %13412 %18370
OpSelectionMerge %13411 None
OpBranchConditional %22150 %10583 %13411
%10583 = OpLabel
%18271 = OpBitwiseAnd %v4uint %22898 %2510
%9425 = OpShiftLeftLogical %v4uint %18271 %317
%20652 = OpBitwiseAnd %v4uint %22898 %1838
%17549 = OpShiftRightLogical %v4uint %20652 %317
%16376 = OpBitwiseOr %v4uint %9425 %17549
OpBranch %13411
%13411 = OpLabel
%22649 = OpPhi %v4uint %22898 %14780 %16376 %10583
%19638 = OpIEqual %bool %6605 %uint_3
%15139 = OpLogicalOr %bool %18370 %19638
OpSelectionMerge %11416 None
OpBranchConditional %15139 %11064 %11416
%11064 = OpLabel
%24087 = OpShiftLeftLogical %v4uint %22649 %749
%15335 = OpShiftRightLogical %v4uint %22649 %749
%10728 = OpBitwiseOr %v4uint %24087 %15335
OpBranch %11416
%11416 = OpLabel
%19767 = OpPhi %v4uint %22649 %13411 %10728 %11064
%6590 = OpAccessChain %_ptr_Uniform_v4uint %5522 %int_0 %9676
OpStore %6590 %19767
%23542 = OpUGreaterThan %bool %8858 %uint_1
OpSelectionMerge %19116 DontFlatten
OpBranchConditional %23542 %14554 %21994
%21994 = OpLabel
OpBranch %19116
%14554 = OpLabel
%13898 = OpShiftRightLogical %uint %7640 %uint_1
%7937 = OpUDiv %uint %13898 %8858
%16891 = OpIMul %uint %7937 %8858
%12657 = OpISub %uint %13898 %16891
%9511 = OpIAdd %uint %12657 %uint_1
%13375 = OpIEqual %bool %9511 %8858
OpSelectionMerge %9304 None
OpBranchConditional %13375 %7387 %21995
%21995 = OpLabel
OpBranch %9304
%7387 = OpLabel
%15254 = OpIMul %uint %uint_32 %8858
%21519 = OpShiftLeftLogical %uint %12657 %uint_4
%18756 = OpISub %uint %15254 %21519
OpBranch %9304
%9304 = OpLabel
%10540 = OpPhi %uint %18756 %7387 %uint_16 %21995
OpBranch %19116
%19116 = OpLabel
%10684 = OpPhi %uint %10540 %9304 %uint_32 %21994
%18731 = OpIMul %uint %10684 %17551
%19951 = OpShiftRightLogical %uint %18731 %uint_4
%23410 = OpIAdd %uint %9676 %19951
OpSelectionMerge %16262 None
OpBranchConditional %19356 %13280 %16262
%13280 = OpLabel
%7959 = OpVectorShuffle %v4uint %8952 %8952 1 0 3 2
OpBranch %16262
%16262 = OpLabel
%10925 = OpPhi %v4uint %8952 %19116 %7959 %13280
OpSelectionMerge %14874 None
OpBranchConditional %22150 %10584 %14874
%10584 = OpLabel
%18272 = OpBitwiseAnd %v4uint %10925 %2510
%9426 = OpShiftLeftLogical %v4uint %18272 %317
%20653 = OpBitwiseAnd %v4uint %10925 %1838
%17550 = OpShiftRightLogical %v4uint %20653 %317
%16377 = OpBitwiseOr %v4uint %9426 %17550
OpBranch %14874
%14874 = OpLabel
%10926 = OpPhi %v4uint %10925 %16262 %16377 %10584
OpSelectionMerge %11417 None
OpBranchConditional %15139 %11065 %11417
%11065 = OpLabel
%24088 = OpShiftLeftLogical %v4uint %10926 %749
%15336 = OpShiftRightLogical %v4uint %10926 %749
%10729 = OpBitwiseOr %v4uint %24088 %15336
OpBranch %11417
%11417 = OpLabel
%19769 = OpPhi %v4uint %10926 %14874 %10729 %11065
%8053 = OpAccessChain %_ptr_Uniform_v4uint %5522 %int_0 %23410
OpStore %8053 %19769
OpBranch %19578
%19578 = OpLabel
OpReturn
OpFunctionEnd
#endif
const uint32_t resolve_fast_64bpp_4xmsaa_scaled_cs[] = {
0x07230203, 0x00010000, 0x0008000A, 0x00006274, 0x00000000, 0x00020011,
0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E,
0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0006000F, 0x00000005,
0x0000161F, 0x6E69616D, 0x00000000, 0x00000F48, 0x00060010, 0x0000161F,
0x00000011, 0x00000008, 0x00000008, 0x00000001, 0x00050048, 0x000003F9,
0x00000000, 0x00000023, 0x00000000, 0x00050048, 0x000003F9, 0x00000001,
0x00000023, 0x00000004, 0x00050048, 0x000003F9, 0x00000002, 0x00000023,
0x00000008, 0x00050048, 0x000003F9, 0x00000003, 0x00000023, 0x0000000C,
0x00030047, 0x000003F9, 0x00000002, 0x00040047, 0x00000F48, 0x0000000B,
0x0000001C, 0x00040047, 0x000007D6, 0x00000006, 0x00000008, 0x00040048,
0x000007A8, 0x00000000, 0x00000018, 0x00050048, 0x000007A8, 0x00000000,
0x00000023, 0x00000000, 0x00030047, 0x000007A8, 0x00000003, 0x00040047,
0x00000C50, 0x00000022, 0x00000001, 0x00040047, 0x00000C50, 0x00000021,
0x00000000, 0x00040047, 0x000007DC, 0x00000006, 0x00000010, 0x00040048,
0x000007B4, 0x00000000, 0x00000019, 0x00050048, 0x000007B4, 0x00000000,
0x00000023, 0x00000000, 0x00030047, 0x000007B4, 0x00000003, 0x00040047,
0x00001592, 0x00000022, 0x00000000, 0x00040047, 0x00001592, 0x00000021,
0x00000000, 0x00040047, 0x00000AC7, 0x0000000B, 0x00000019, 0x00020013,
0x00000008, 0x00030021, 0x00000502, 0x00000008, 0x00020014, 0x00000009,
0x00040017, 0x0000000F, 0x00000009, 0x00000002, 0x00040015, 0x0000000B,
0x00000020, 0x00000000, 0x00040017, 0x00000011, 0x0000000B, 0x00000002,
0x00040017, 0x00000017, 0x0000000B, 0x00000004, 0x00040015, 0x0000000C,
0x00000020, 0x00000001, 0x00040017, 0x00000012, 0x0000000C, 0x00000002,
0x00040017, 0x00000016, 0x0000000C, 0x00000003, 0x00040017, 0x00000014,
0x0000000B, 0x00000003, 0x0004002B, 0x0000000B, 0x00000A0D, 0x00000001,
0x0004002B, 0x0000000B, 0x00000A10, 0x00000002, 0x0004002B, 0x0000000B,
0x000008A6, 0x00FF00FF, 0x0004002B, 0x0000000B, 0x00000A22, 0x00000008,
0x0004002B, 0x0000000B, 0x000005FD, 0xFF00FF00, 0x0004002B, 0x0000000B,
0x00000A13, 0x00000003, 0x0004002B, 0x0000000B, 0x00000A3A, 0x00000010,
0x0004002B, 0x0000000B, 0x00000A16, 0x00000004, 0x0005002C, 0x00000011,
0x0000072D, 0x00000A10, 0x00000A0D, 0x0004002B, 0x0000000B, 0x00000A0A,
0x00000000, 0x0005002C, 0x00000011, 0x0000070F, 0x00000A0A, 0x00000A0A,
0x0005002C, 0x00000011, 0x00000724, 0x00000A0D, 0x00000A0D, 0x0005002C,
0x00000011, 0x00000718, 0x00000A0D, 0x00000A0A, 0x0004002B, 0x0000000B,
0x00000AFA, 0x00000050, 0x0005002C, 0x00000011, 0x00000A9F, 0x00000AFA,
0x00000A3A, 0x0004002B, 0x0000000C, 0x00000A1A, 0x00000005, 0x0004002B,
0x0000000B, 0x00000A19, 0x00000005, 0x0004002B, 0x0000000B, 0x00000A1F,
0x00000007, 0x0004002B, 0x0000000C, 0x00000A20, 0x00000007, 0x0004002B,
0x0000000C, 0x00000A35, 0x0000000E, 0x0004002B, 0x0000000C, 0x00000A11,
0x00000002, 0x0004002B, 0x0000000C, 0x000009DB, 0xFFFFFFF0, 0x0004002B,
0x0000000C, 0x00000A0E, 0x00000001, 0x0004002B, 0x0000000C, 0x00000A38,
0x0000000F, 0x0004002B, 0x0000000C, 0x00000A17, 0x00000004, 0x0004002B,
0x0000000C, 0x0000040B, 0xFFFFFE00, 0x0004002B, 0x0000000C, 0x00000A14,
0x00000003, 0x0004002B, 0x0000000C, 0x00000A3B, 0x00000010, 0x0004002B,
0x0000000C, 0x00000388, 0x000001C0, 0x0004002B, 0x0000000C, 0x00000A23,
0x00000008, 0x0004002B, 0x0000000C, 0x00000A1D, 0x00000006, 0x0004002B,
0x0000000C, 0x00000AC8, 0x0000003F, 0x0004002B, 0x0000000B, 0x00000A1C,
0x00000006, 0x0004002B, 0x0000000C, 0x0000078B, 0x0FFFFFFF, 0x0004002B,
0x0000000C, 0x00000A05, 0xFFFFFFFE, 0x0004002B, 0x0000000B, 0x00000A6A,
0x00000020, 0x0006001E, 0x000003F9, 0x0000000B, 0x0000000B, 0x0000000B,
0x0000000B, 0x00040020, 0x00000676, 0x00000009, 0x000003F9, 0x0004003B,
0x00000676, 0x0000118F, 0x00000009, 0x0004002B, 0x0000000C, 0x00000A0B,
0x00000000, 0x00040020, 0x00000288, 0x00000009, 0x0000000B, 0x0004002B,
0x0000000B, 0x00000A44, 0x000003FF, 0x0004002B, 0x0000000B, 0x00000A28,
0x0000000A, 0x0004002B, 0x0000000B, 0x00000A31, 0x0000000D, 0x0004002B,
0x0000000B, 0x00000AFB, 0x00000FFF, 0x0004002B, 0x0000000B, 0x00000A55,
0x00000019, 0x0004002B, 0x0000000B, 0x00000A37, 0x0000000F, 0x0004002B,
0x0000000B, 0x00000A61, 0x0000001D, 0x0004002B, 0x0000000B, 0x00000A5B,
0x0000001B, 0x0005002C, 0x00000011, 0x0000095E, 0x00000A5B, 0x00000A61,
0x0004002B, 0x0000000B, 0x00000018, 0x40000000, 0x0003002A, 0x00000009,
0x00000787, 0x0005002C, 0x00000011, 0x0000073F, 0x00000A0A, 0x00000A16,
0x0005002C, 0x00000011, 0x00000740, 0x00000A16, 0x00000A0D, 0x0004002B,
0x0000000B, 0x00000A81, 0x000007FF, 0x0004002B, 0x0000000B, 0x00000926,
0x01000000, 0x0004002B, 0x0000000B, 0x00000A46, 0x00000014, 0x0004002B,
0x0000000B, 0x00000A52, 0x00000018, 0x0005002C, 0x00000011, 0x000008E3,
0x00000A46, 0x00000A52, 0x0004002B, 0x0000000B, 0x00000A5E, 0x0000001C,
0x0004002B, 0x0000000B, 0x0000068D, 0xFFFF0000, 0x0004002B, 0x0000000B,
0x000001C1, 0x0000FFFF, 0x00040020, 0x00000291, 0x00000001, 0x00000014,
0x0004003B, 0x00000291, 0x00000F48, 0x00000001, 0x0005002C, 0x00000011,
0x00000721, 0x00000A10, 0x00000A0A, 0x0003001D, 0x000007D6, 0x00000011,
0x0003001E, 0x000007A8, 0x000007D6, 0x00040020, 0x00000A25, 0x00000002,
0x000007A8, 0x0004003B, 0x00000A25, 0x00000C50, 0x00000002, 0x00040020,
0x0000028E, 0x00000002, 0x00000011, 0x0003001D, 0x000007DC, 0x00000017,
0x0003001E, 0x000007B4, 0x000007DC, 0x00040020, 0x00000A32, 0x00000002,
0x000007B4, 0x0004003B, 0x00000A32, 0x00001592, 0x00000002, 0x00040020,
0x00000294, 0x00000002, 0x00000017, 0x0006002C, 0x00000014, 0x00000AC7,
0x00000A22, 0x00000A22, 0x00000A0D, 0x00030001, 0x00000017, 0x00002818,
0x0005002C, 0x00000011, 0x0000074E, 0x00000A13, 0x00000A13, 0x0005002C,
0x0000000F, 0x0000013B, 0x00000787, 0x00000787, 0x0005002C, 0x00000011,
0x0000084A, 0x00000A37, 0x00000A37, 0x0005002C, 0x00000011, 0x00000739,
0x00000A10, 0x00000A10, 0x0004002B, 0x0000000B, 0x00000A26, 0x00000009,
0x0007002C, 0x00000017, 0x00000755, 0x0000068D, 0x0000068D, 0x0000068D,
0x0000068D, 0x0007002C, 0x00000017, 0x00000352, 0x000001C1, 0x000001C1,
0x000001C1, 0x000001C1, 0x0007002C, 0x00000017, 0x000009CE, 0x000008A6,
0x000008A6, 0x000008A6, 0x000008A6, 0x0007002C, 0x00000017, 0x0000013D,
0x00000A22, 0x00000A22, 0x00000A22, 0x00000A22, 0x0007002C, 0x00000017,
0x0000072E, 0x000005FD, 0x000005FD, 0x000005FD, 0x000005FD, 0x0007002C,
0x00000017, 0x000002ED, 0x00000A3A, 0x00000A3A, 0x00000A3A, 0x00000A3A,
0x00050036, 0x00000008, 0x0000161F, 0x00000000, 0x00000502, 0x000200F8,
0x00003B06, 0x000300F7, 0x00004C7A, 0x00000000, 0x000300FB, 0x00000A0A,
0x00002E68, 0x000200F8, 0x00002E68, 0x00050041, 0x00000288, 0x000056E5,
0x0000118F, 0x00000A0B, 0x0004003D, 0x0000000B, 0x00003D0B, 0x000056E5,
0x00050041, 0x00000288, 0x000058AC, 0x0000118F, 0x00000A0E, 0x0004003D,
0x0000000B, 0x00005158, 0x000058AC, 0x000500C7, 0x0000000B, 0x00005051,
0x00003D0B, 0x00000A44, 0x000500C2, 0x0000000B, 0x00004E0A, 0x00003D0B,
0x00000A31, 0x000500C7, 0x0000000B, 0x0000217E, 0x00004E0A, 0x00000AFB,
0x000500C2, 0x0000000B, 0x00004994, 0x00003D0B, 0x00000A55, 0x000500C7,
0x0000000B, 0x000023AA, 0x00004994, 0x00000A37, 0x00050050, 0x00000011,
0x000022A7, 0x00005158, 0x00005158, 0x000500C2, 0x00000011, 0x000025A1,
0x000022A7, 0x0000095E, 0x000500C7, 0x00000011, 0x00005C31, 0x000025A1,
0x0000074E, 0x000500C7, 0x0000000B, 0x00005DDE, 0x00003D0B, 0x00000018,
0x000500AB, 0x00000009, 0x00003007, 0x00005DDE, 0x00000A0A, 0x000300F7,
0x00002677, 0x00000000, 0x000400FA, 0x00003007, 0x00005041, 0x000055E8,
0x000200F8, 0x000055E8, 0x000200F9, 0x00002677, 0x000200F8, 0x00005041,
0x000500AC, 0x0000000F, 0x00005D4D, 0x00005C31, 0x00000724, 0x000200F9,
0x00002677, 0x000200F8, 0x00002677, 0x000700F5, 0x0000000F, 0x00004A7B,
0x00005D4D, 0x00005041, 0x0000013B, 0x000055E8, 0x000500C2, 0x00000011,
0x0000189F, 0x000022A7, 0x0000073F, 0x000500C4, 0x00000011, 0x00002A91,
0x00000724, 0x00000740, 0x00050082, 0x00000011, 0x000048B0, 0x00002A91,
0x00000724, 0x000500C7, 0x00000011, 0x00004937, 0x0000189F, 0x000048B0,
0x000500C4, 0x00000011, 0x00005784, 0x00004937, 0x0000074E, 0x00050084,
0x00000011, 0x000059EB, 0x00005784, 0x00005C31, 0x000500C2, 0x0000000B,
0x00003343, 0x00005158, 0x00000A19, 0x000500C7, 0x0000000B, 0x000039C1,
0x00003343, 0x00000A81, 0x00050051, 0x0000000B, 0x0000229A, 0x00005C31,
0x00000000, 0x00050084, 0x0000000B, 0x000059D1, 0x000039C1, 0x0000229A,
0x00050041, 0x00000288, 0x00004E44, 0x0000118F, 0x00000A11, 0x0004003D,
0x0000000B, 0x000048C4, 0x00004E44, 0x00050041, 0x00000288, 0x000058AD,
0x0000118F, 0x00000A14, 0x0004003D, 0x0000000B, 0x000051B7, 0x000058AD,
0x000500C7, 0x0000000B, 0x00004ADC, 0x000048C4, 0x00000A1F, 0x000500C7,
0x0000000B, 0x000055EF, 0x000048C4, 0x00000A22, 0x000500AB, 0x00000009,
0x0000500F, 0x000055EF, 0x00000A0A, 0x000500C2, 0x0000000B, 0x000028A2,
0x000048C4, 0x00000A16, 0x000500C7, 0x0000000B, 0x000059FD, 0x000028A2,
0x00000A1F, 0x000500C7, 0x0000000B, 0x00005A4E, 0x000048C4, 0x00000926,
0x000500AB, 0x00000009, 0x00004C75, 0x00005A4E, 0x00000A0A, 0x000500C7,
0x0000000B, 0x00001F43, 0x000051B7, 0x00000A44, 0x000500C4, 0x0000000B,
0x00003DA7, 0x00001F43, 0x00000A19, 0x000500C2, 0x0000000B, 0x0000583F,
0x000051B7, 0x00000A28, 0x000500C7, 0x0000000B, 0x00004BBE, 0x0000583F,
0x00000A44, 0x000500C4, 0x0000000B, 0x00006273, 0x00004BBE, 0x00000A19,
0x00050050, 0x00000011, 0x000028B6, 0x000051B7, 0x000051B7, 0x000500C2,
0x00000011, 0x00002891, 0x000028B6, 0x000008E3, 0x000500C7, 0x00000011,
0x00005B53, 0x00002891, 0x0000084A, 0x000500C4, 0x00000011, 0x00003F4F,
0x00005B53, 0x0000074E, 0x00050084, 0x00000011, 0x000059EC, 0x00003F4F,
0x00005C31, 0x000500C2, 0x0000000B, 0x000031C7, 0x000051B7, 0x00000A5E,
0x000500C7, 0x0000000B, 0x00004356, 0x000031C7, 0x00000A1F, 0x0004003D,
0x00000014, 0x000031C1, 0x00000F48, 0x0007004F, 0x00000011, 0x000038A4,
0x000031C1, 0x000031C1, 0x00000000, 0x00000001, 0x000500C4, 0x00000011,
0x00002EF9, 0x000038A4, 0x00000721, 0x00050051, 0x0000000B, 0x00001DD8,
0x00002EF9, 0x00000000, 0x000500C4, 0x0000000B, 0x00002D8A, 0x000059D1,
0x00000A13, 0x000500AE, 0x00000009, 0x00003C13, 0x00001DD8, 0x00002D8A,
0x000300F7, 0x000036C9, 0x00000002, 0x000400FA, 0x00003C13, 0x000055E9,
0x000036C9, 0x000200F8, 0x000055E9, 0x000200F9, 0x00004C7A, 0x000200F8,
0x000036C9, 0x00050051, 0x0000000B, 0x00005435, 0x00002EF9, 0x00000001,
0x00050051, 0x00000009, 0x00003236, 0x00004A7B, 0x00000001, 0x000600A9,
0x0000000B, 0x00002CB3, 0x00003236, 0x00000A0D, 0x00000A0A, 0x0007000C,
0x0000000B, 0x00001AEB, 0x00000001, 0x00000029, 0x00005435, 0x00002CB3,
0x00050050, 0x00000011, 0x000039AB, 0x00001DD8, 0x00001AEB, 0x00050080,
0x00000011, 0x0000522C, 0x000039AB, 0x000059EB, 0x000500B2, 0x00000009,
0x00003ECB, 0x00004356, 0x00000A13, 0x000300F7, 0x0000195B, 0x00000000,
0x000400FA, 0x00003ECB, 0x00002AEE, 0x00003AEF, 0x000200F8, 0x00003AEF,
0x000500AA, 0x00000009, 0x000034FE, 0x00004356, 0x00000A19, 0x000600A9,
0x0000000B, 0x000020F6, 0x000034FE, 0x00000A10, 0x00000A0A, 0x000200F9,
0x0000195B, 0x000200F8, 0x00002AEE, 0x000200F9, 0x0000195B, 0x000200F8,
0x0000195B, 0x000700F5, 0x0000000B, 0x000055FE, 0x00004356, 0x00002AEE,
0x000020F6, 0x00003AEF, 0x000500AE, 0x0000000F, 0x00005BE0, 0x00000739,
0x0000072D, 0x000600A9, 0x00000011, 0x00001E5B, 0x00005BE0, 0x00000724,
0x0000070F, 0x000500C4, 0x00000011, 0x00002AEA, 0x0000522C, 0x00001E5B,
0x00050050, 0x00000011, 0x0000605D, 0x000055FE, 0x000055FE, 0x000500C2,
0x00000011, 0x00002385, 0x0000605D, 0x00000718, 0x000500C7, 0x00000011,
0x00003EC8, 0x00002385, 0x00000724, 0x00050080, 0x00000011, 0x00004F30,
0x00002AEA, 0x00003EC8, 0x00050084, 0x00000011, 0x00005299, 0x00000A9F,
0x00005C31, 0x000500C2, 0x00000011, 0x00003985, 0x00005299, 0x00000718,
0x00050086, 0x00000011, 0x00004D57, 0x00004F30, 0x00003985, 0x00050051,
0x0000000B, 0x00004FA6, 0x00004D57, 0x00000001, 0x00050084, 0x0000000B,
0x00002B26, 0x00004FA6, 0x00005051, 0x00050051, 0x0000000B, 0x00006059,
0x00004D57, 0x00000000, 0x00050080, 0x0000000B, 0x00005420, 0x00002B26,
0x00006059, 0x00050080, 0x0000000B, 0x00002226, 0x0000217E, 0x00005420,
0x00050084, 0x00000011, 0x00005768, 0x00004D57, 0x00003985, 0x00050082,
0x00000011, 0x000050EB, 0x00004F30, 0x00005768, 0x00050051, 0x0000000B,
0x00001C87, 0x00005299, 0x00000000, 0x00050051, 0x0000000B, 0x00005962,
0x00005299, 0x00000001, 0x00050084, 0x0000000B, 0x00003372, 0x00001C87,
0x00005962, 0x00050084, 0x0000000B, 0x000038D7, 0x00002226, 0x00003372,
0x00050051, 0x0000000B, 0x00001A95, 0x000050EB, 0x00000001, 0x00050051,
0x0000000B, 0x00005BE6, 0x00003985, 0x00000000, 0x00050084, 0x0000000B,
0x00005966, 0x00001A95, 0x00005BE6, 0x00050051, 0x0000000B, 0x00001AE6,
0x000050EB, 0x00000000, 0x00050080, 0x0000000B, 0x000025E0, 0x00005966,
0x00001AE6, 0x000500C4, 0x0000000B, 0x00004AFF, 0x000025E0, 0x00000A0D,
0x00050080, 0x0000000B, 0x000019AD, 0x000038D7, 0x00004AFF, 0x000500C2,
0x0000000B, 0x000061F1, 0x000019AD, 0x00000A0D, 0x00050051, 0x00000009,
0x00005D1B, 0x00004A7B, 0x00000000, 0x000300F7, 0x00003788, 0x00000000,
0x000400FA, 0x00005D1B, 0x000040DF, 0x00003788, 0x000200F8, 0x000040DF,
0x000500AA, 0x00000009, 0x0000495A, 0x00001DD8, 0x00000A0A, 0x000200F9,
0x00003788, 0x000200F8, 0x00003788, 0x000700F5, 0x00000009, 0x000056A0,
0x00005D1B, 0x0000195B, 0x0000495A, 0x000040DF, 0x000600A9, 0x0000000B,
0x0000305D, 0x000056A0, 0x00000A0D, 0x00000A0A, 0x00050084, 0x0000000B,
0x0000617D, 0x0000305D, 0x00000A10, 0x00050080, 0x0000000B, 0x00005F6C,
0x000061F1, 0x0000617D, 0x00060041, 0x0000028E, 0x00003804, 0x00000C50,
0x00000A0B, 0x00005F6C, 0x0004003D, 0x00000011, 0x000032E9, 0x00003804,
0x00050051, 0x0000000B, 0x00004B22, 0x000032E9, 0x00000000, 0x00060052,
0x00000017, 0x00003BED, 0x00004B22, 0x00002818, 0x00000000, 0x00050051,
0x0000000B, 0x00005109, 0x000032E9, 0x00000001, 0x00060052, 0x00000017,
0x00001E01, 0x00005109, 0x00003BED, 0x00000001, 0x00050080, 0x0000000B,
0x0000494A, 0x000061F1, 0x00000A10, 0x00060041, 0x0000028E, 0x0000189C,
0x00000C50, 0x00000A0B, 0x0000494A, 0x0004003D, 0x00000011, 0x000032EA,
0x0000189C, 0x00050051, 0x0000000B, 0x00004B23, 0x000032EA, 0x00000000,
0x00060052, 0x00000017, 0x00003BEE, 0x00004B23, 0x00001E01, 0x00000002,
0x00050051, 0x0000000B, 0x0000510A, 0x000032EA, 0x00000001, 0x00060052,
0x00000017, 0x00001E02, 0x0000510A, 0x00003BEE, 0x00000003, 0x00050080,
0x0000000B, 0x0000494B, 0x000061F1, 0x00000A16, 0x00060041, 0x0000028E,
0x0000189D, 0x00000C50, 0x00000A0B, 0x0000494B, 0x0004003D, 0x00000011,
0x000032EB, 0x0000189D, 0x00050051, 0x0000000B, 0x00004B24, 0x000032EB,
0x00000000, 0x00060052, 0x00000017, 0x00003BEF, 0x00004B24, 0x00002818,
0x00000000, 0x00050051, 0x0000000B, 0x0000510B, 0x000032EB, 0x00000001,
0x00060052, 0x00000017, 0x00001E03, 0x0000510B, 0x00003BEF, 0x00000001,
0x00050080, 0x0000000B, 0x0000494C, 0x000061F1, 0x00000A1C, 0x00060041,
0x0000028E, 0x0000189E, 0x00000C50, 0x00000A0B, 0x0000494C, 0x0004003D,
0x00000011, 0x000032EC, 0x0000189E, 0x00050051, 0x0000000B, 0x00004B25,
0x000032EC, 0x00000000, 0x00060052, 0x00000017, 0x00003BF0, 0x00004B25,
0x00001E03, 0x00000002, 0x00050051, 0x0000000B, 0x000059DE, 0x000032EC,
0x00000001, 0x00060052, 0x00000017, 0x000025D0, 0x000059DE, 0x00003BF0,
0x00000003, 0x000300F7, 0x0000530F, 0x00000002, 0x000400FA, 0x00004C75,
0x00003ADC, 0x0000530F, 0x000200F8, 0x00003ADC, 0x000500AA, 0x00000009,
0x00003585, 0x000023AA, 0x00000A19, 0x000400A8, 0x00000009, 0x00004277,
0x00003585, 0x000300F7, 0x00003D52, 0x00000000, 0x000400FA, 0x00004277,
0x000040E0, 0x00003D52, 0x000200F8, 0x000040E0, 0x000500AA, 0x00000009,
0x0000495B, 0x000023AA, 0x00000A1F, 0x000200F9, 0x00003D52, 0x000200F8,
0x00003D52, 0x000700F5, 0x00000009, 0x00002AAC, 0x00003585, 0x00003ADC,
0x0000495B, 0x000040E0, 0x000300F7, 0x000039F4, 0x00000002, 0x000400FA,
0x00002AAC, 0x000020A8, 0x000039F4, 0x000200F8, 0x000020A8, 0x000500C7,
0x00000017, 0x00004BF1, 0x00001E02, 0x00000755, 0x0009004F, 0x00000017,
0x000051EA, 0x00001E02, 0x00001E02, 0x00000001, 0x00000000, 0x00000003,
0x00000002, 0x000500C7, 0x00000017, 0x00001CED, 0x000051EA, 0x00000352,
0x000500C5, 0x00000017, 0x00003640, 0x00004BF1, 0x00001CED, 0x000500C7,
0x00000017, 0x00005311, 0x000025D0, 0x00000755, 0x0009004F, 0x00000017,
0x00003BF8, 0x000025D0, 0x000025D0, 0x00000001, 0x00000000, 0x00000003,
0x00000002, 0x000500C7, 0x00000017, 0x000020A3, 0x00003BF8, 0x00000352,
0x000500C5, 0x00000017, 0x00002101, 0x00005311, 0x000020A3, 0x000200F9,
0x000039F4, 0x000200F8, 0x000039F4, 0x000700F5, 0x00000017, 0x00002BF3,
0x000025D0, 0x00003D52, 0x00002101, 0x000020A8, 0x000700F5, 0x00000017,
0x0000358D, 0x00001E02, 0x00003D52, 0x00003640, 0x000020A8, 0x000200F9,
0x0000530F, 0x000200F8, 0x0000530F, 0x000700F5, 0x00000017, 0x000022F8,
0x000025D0, 0x00003788, 0x00002BF3, 0x000039F4, 0x000700F5, 0x00000017,
0x000049A7, 0x00001E02, 0x00003788, 0x0000358D, 0x000039F4, 0x00050080,
0x00000011, 0x000035BB, 0x00002EF9, 0x000059EC, 0x00050051, 0x0000000B,
0x000033BC, 0x000035BB, 0x00000000, 0x00050051, 0x0000000B, 0x00002553,
0x000035BB, 0x00000001, 0x000500C2, 0x0000000B, 0x00002B2D, 0x000033BC,
0x00000A0D, 0x00050050, 0x00000011, 0x00001E98, 0x00002B2D, 0x00002553,
0x00050086, 0x00000011, 0x00006158, 0x00001E98, 0x00005C31, 0x00050051,
0x0000000B, 0x0000366C, 0x00006158, 0x00000000, 0x000500C4, 0x0000000B,
0x00004D3A, 0x0000366C, 0x00000A0D, 0x00050051, 0x0000000B, 0x00005EBB,
0x00006158, 0x00000001, 0x00060050, 0x00000014, 0x000053CC, 0x00004D3A,
0x00005EBB, 0x000059FD, 0x000300F7, 0x00005341, 0x00000002, 0x000400FA,
0x0000500F, 0x000056BE, 0x00002A98, 0x000200F8, 0x00002A98, 0x0007004F,
0x00000011, 0x00001CAB, 0x000053CC, 0x000053CC, 0x00000000, 0x00000001,
0x0004007C, 0x00000012, 0x000059CF, 0x00001CAB, 0x00050051, 0x0000000C,
0x00001903, 0x000059CF, 0x00000000, 0x000500C3, 0x0000000C, 0x000024FD,
0x00001903, 0x00000A1A, 0x00050051, 0x0000000C, 0x00002747, 0x000059CF,
0x00000001, 0x000500C3, 0x0000000C, 0x0000405C, 0x00002747, 0x00000A1A,
0x000500C2, 0x0000000B, 0x00005B4D, 0x00003DA7, 0x00000A19, 0x0004007C,
0x0000000C, 0x000018AA, 0x00005B4D, 0x00050084, 0x0000000C, 0x00005347,
0x0000405C, 0x000018AA, 0x00050080, 0x0000000C, 0x00003F5E, 0x000024FD,
0x00005347, 0x000500C4, 0x0000000C, 0x00004A8E, 0x00003F5E, 0x00000A28,
0x000500C7, 0x0000000C, 0x00002AB6, 0x00001903, 0x00000A20, 0x000500C7,
0x0000000C, 0x00003138, 0x00002747, 0x00000A35, 0x000500C4, 0x0000000C,
0x0000454D, 0x00003138, 0x00000A11, 0x00050080, 0x0000000C, 0x00004397,
0x00002AB6, 0x0000454D, 0x000500C4, 0x0000000C, 0x000018E7, 0x00004397,
0x00000A13, 0x000500C7, 0x0000000C, 0x000027B1, 0x000018E7, 0x000009DB,
0x000500C4, 0x0000000C, 0x00002F76, 0x000027B1, 0x00000A0E, 0x00050080,
0x0000000C, 0x00003C4B, 0x00004A8E, 0x00002F76, 0x000500C7, 0x0000000C,
0x00003397, 0x000018E7, 0x00000A38, 0x00050080, 0x0000000C, 0x00004D30,
0x00003C4B, 0x00003397, 0x000500C7, 0x0000000C, 0x000047B4, 0x00002747,
0x00000A0E, 0x000500C4, 0x0000000C, 0x0000544A, 0x000047B4, 0x00000A17,
0x00050080, 0x0000000C, 0x00004157, 0x00004D30, 0x0000544A, 0x000500C7,
0x0000000C, 0x00005022, 0x00004157, 0x0000040B, 0x000500C4, 0x0000000C,
0x00002416, 0x00005022, 0x00000A14, 0x000500C7, 0x0000000C, 0x00004A33,
0x00002747, 0x00000A3B, 0x000500C4, 0x0000000C, 0x00002F77, 0x00004A33,
0x00000A20, 0x00050080, 0x0000000C, 0x00004158, 0x00002416, 0x00002F77,
0x000500C7, 0x0000000C, 0x00004ADD, 0x00004157, 0x00000388, 0x000500C4,
0x0000000C, 0x0000544B, 0x00004ADD, 0x00000A11, 0x00050080, 0x0000000C,
0x00004144, 0x00004158, 0x0000544B, 0x000500C7, 0x0000000C, 0x00005083,
0x00002747, 0x00000A23, 0x000500C3, 0x0000000C, 0x000041BF, 0x00005083,
0x00000A11, 0x000500C3, 0x0000000C, 0x00001EEC, 0x00001903, 0x00000A14,
0x00050080, 0x0000000C, 0x000035B6, 0x000041BF, 0x00001EEC, 0x000500C7,
0x0000000C, 0x00005453, 0x000035B6, 0x00000A14, 0x000500C4, 0x0000000C,
0x0000544C, 0x00005453, 0x00000A1D, 0x00050080, 0x0000000C, 0x00003C4C,
0x00004144, 0x0000544C, 0x000500C7, 0x0000000C, 0x00002E06, 0x00004157,
0x00000AC8, 0x00050080, 0x0000000C, 0x0000394F, 0x00003C4C, 0x00002E06,
0x0004007C, 0x0000000B, 0x0000566F, 0x0000394F, 0x000200F9, 0x00005341,
0x000200F8, 0x000056BE, 0x0004007C, 0x00000016, 0x000019AE, 0x000053CC,
0x00050051, 0x0000000C, 0x000042C2, 0x000019AE, 0x00000001, 0x000500C3,
0x0000000C, 0x000024FE, 0x000042C2, 0x00000A17, 0x00050051, 0x0000000C,
0x00002748, 0x000019AE, 0x00000002, 0x000500C3, 0x0000000C, 0x0000405D,
0x00002748, 0x00000A11, 0x000500C2, 0x0000000B, 0x00005B4E, 0x00006273,
0x00000A16, 0x0004007C, 0x0000000C, 0x000018AB, 0x00005B4E, 0x00050084,
0x0000000C, 0x00005321, 0x0000405D, 0x000018AB, 0x00050080, 0x0000000C,
0x00003B27, 0x000024FE, 0x00005321, 0x000500C2, 0x0000000B, 0x00002348,
0x00003DA7, 0x00000A19, 0x0004007C, 0x0000000C, 0x0000308B, 0x00002348,
0x00050084, 0x0000000C, 0x00002878, 0x00003B27, 0x0000308B, 0x00050051,
0x0000000C, 0x00006242, 0x000019AE, 0x00000000, 0x000500C3, 0x0000000C,
0x00004FC7, 0x00006242, 0x00000A1A, 0x00050080, 0x0000000C, 0x000049FC,
0x00004FC7, 0x00002878, 0x000500C4, 0x0000000C, 0x0000225D, 0x000049FC,
0x00000A26, 0x000500C7, 0x0000000C, 0x00002CF6, 0x0000225D, 0x0000078B,
0x000500C4, 0x0000000C, 0x000049FA, 0x00002CF6, 0x00000A0E, 0x000500C7,
0x0000000C, 0x00004D38, 0x00006242, 0x00000A20, 0x000500C7, 0x0000000C,
0x00003139, 0x000042C2, 0x00000A1D, 0x000500C4, 0x0000000C, 0x0000454E,
0x00003139, 0x00000A11, 0x00050080, 0x0000000C, 0x0000434B, 0x00004D38,
0x0000454E, 0x000500C4, 0x0000000C, 0x00001B88, 0x0000434B, 0x00000A26,
0x000500C3, 0x0000000C, 0x00005DE3, 0x00001B88, 0x00000A1D, 0x000500C3,
0x0000000C, 0x00002215, 0x000042C2, 0x00000A14, 0x00050080, 0x0000000C,
0x000035A3, 0x00002215, 0x0000405D, 0x000500C7, 0x0000000C, 0x00005A0C,
0x000035A3, 0x00000A0E, 0x000500C3, 0x0000000C, 0x00004112, 0x00006242,
0x00000A14, 0x000500C4, 0x0000000C, 0x0000496A, 0x00005A0C, 0x00000A0E,
0x00050080, 0x0000000C, 0x000034BD, 0x00004112, 0x0000496A, 0x000500C7,
0x0000000C, 0x00004ADE, 0x000034BD, 0x00000A14, 0x000500C4, 0x0000000C,
0x0000544D, 0x00004ADE, 0x00000A0E, 0x00050080, 0x0000000C, 0x00003C4D,
0x00005A0C, 0x0000544D, 0x000500C7, 0x0000000C, 0x0000335E, 0x00005DE3,
0x000009DB, 0x00050080, 0x0000000C, 0x00004F70, 0x000049FA, 0x0000335E,
0x000500C4, 0x0000000C, 0x00005B31, 0x00004F70, 0x00000A0E, 0x000500C7,
0x0000000C, 0x00005AEA, 0x00005DE3, 0x00000A38, 0x00050080, 0x0000000C,
0x0000285C, 0x00005B31, 0x00005AEA, 0x000500C7, 0x0000000C, 0x000047B5,
0x00002748, 0x00000A14, 0x000500C4, 0x0000000C, 0x0000544E, 0x000047B5,
0x00000A26, 0x00050080, 0x0000000C, 0x00004159, 0x0000285C, 0x0000544E,
0x000500C7, 0x0000000C, 0x00004ADF, 0x000042C2, 0x00000A0E, 0x000500C4,
0x0000000C, 0x0000544F, 0x00004ADF, 0x00000A17, 0x00050080, 0x0000000C,
0x0000415A, 0x00004159, 0x0000544F, 0x000500C7, 0x0000000C, 0x00004FD6,
0x00003C4D, 0x00000A0E, 0x000500C4, 0x0000000C, 0x00002703, 0x00004FD6,
0x00000A14, 0x000500C3, 0x0000000C, 0x00003332, 0x0000415A, 0x00000A1D,
0x000500C7, 0x0000000C, 0x000036D6, 0x00003332, 0x00000A20, 0x00050080,
0x0000000C, 0x00003412, 0x00002703, 0x000036D6, 0x000500C4, 0x0000000C,
0x00005B32, 0x00003412, 0x00000A14, 0x000500C7, 0x0000000C, 0x00005AB1,
0x00003C4D, 0x00000A05, 0x00050080, 0x0000000C, 0x00002A9C, 0x00005B32,
0x00005AB1, 0x000500C4, 0x0000000C, 0x00005B33, 0x00002A9C, 0x00000A11,
0x000500C7, 0x0000000C, 0x00005AB2, 0x0000415A, 0x0000040B, 0x00050080,
0x0000000C, 0x00002A9D, 0x00005B33, 0x00005AB2, 0x000500C4, 0x0000000C,
0x00005B34, 0x00002A9D, 0x00000A14, 0x000500C7, 0x0000000C, 0x00005559,
0x0000415A, 0x00000AC8, 0x00050080, 0x0000000C, 0x00005EFA, 0x00005B34,
0x00005559, 0x0004007C, 0x0000000B, 0x00005670, 0x00005EFA, 0x000200F9,
0x00005341, 0x000200F8, 0x00005341, 0x000700F5, 0x0000000B, 0x000024FC,
0x00005670, 0x000056BE, 0x0000566F, 0x00002A98, 0x00050084, 0x00000011,
0x00003FA8, 0x00006158, 0x00005C31, 0x00050082, 0x00000011, 0x00003F85,
0x00001E98, 0x00003FA8, 0x00050051, 0x0000000B, 0x0000448F, 0x00005C31,
0x00000001, 0x00050084, 0x0000000B, 0x00005C50, 0x0000229A, 0x0000448F,
0x00050084, 0x0000000B, 0x00003CA0, 0x000024FC, 0x00005C50, 0x00050051,
0x0000000B, 0x00003ED4, 0x00003F85, 0x00000000, 0x00050084, 0x0000000B,
0x00003E12, 0x00003ED4, 0x0000448F, 0x00050051, 0x0000000B, 0x00001AE7,
0x00003F85, 0x00000001, 0x00050080, 0x0000000B, 0x00002B25, 0x00003E12,
0x00001AE7, 0x000500C4, 0x0000000B, 0x0000609D, 0x00002B25, 0x00000A0D,
0x000500C7, 0x0000000B, 0x00005AB3, 0x000033BC, 0x00000A0D, 0x00050080,
0x0000000B, 0x00002557, 0x0000609D, 0x00005AB3, 0x000500C4, 0x0000000B,
0x00004593, 0x00002557, 0x00000A13, 0x00050080, 0x0000000B, 0x00002048,
0x00003CA0, 0x00004593, 0x000500C2, 0x0000000B, 0x000025CC, 0x00002048,
0x00000A16, 0x000500AA, 0x00000009, 0x00004B9C, 0x00004ADC, 0x00000A16,
0x000300F7, 0x000039BC, 0x00000000, 0x000400FA, 0x00004B9C, 0x000033DF,
0x000039BC, 0x000200F8, 0x000033DF, 0x0009004F, 0x00000017, 0x00001F16,
0x000049A7, 0x000049A7, 0x00000001, 0x00000000, 0x00000003, 0x00000002,
0x000200F9, 0x000039BC, 0x000200F8, 0x000039BC, 0x000700F5, 0x00000017,
0x00005972, 0x000049A7, 0x00005341, 0x00001F16, 0x000033DF, 0x000600A9,
0x0000000B, 0x000019CD, 0x00004B9C, 0x00000A10, 0x00004ADC, 0x000500AA,
0x00000009, 0x00003464, 0x000019CD, 0x00000A0D, 0x000500AA, 0x00000009,
0x000047C2, 0x000019CD, 0x00000A10, 0x000500A6, 0x00000009, 0x00005686,
0x00003464, 0x000047C2, 0x000300F7, 0x00003463, 0x00000000, 0x000400FA,
0x00005686, 0x00002957, 0x00003463, 0x000200F8, 0x00002957, 0x000500C7,
0x00000017, 0x0000475F, 0x00005972, 0x000009CE, 0x000500C4, 0x00000017,
0x000024D1, 0x0000475F, 0x0000013D, 0x000500C7, 0x00000017, 0x000050AC,
0x00005972, 0x0000072E, 0x000500C2, 0x00000017, 0x0000448D, 0x000050AC,
0x0000013D, 0x000500C5, 0x00000017, 0x00003FF8, 0x000024D1, 0x0000448D,
0x000200F9, 0x00003463, 0x000200F8, 0x00003463, 0x000700F5, 0x00000017,
0x00005879, 0x00005972, 0x000039BC, 0x00003FF8, 0x00002957, 0x000500AA,
0x00000009, 0x00004CB6, 0x000019CD, 0x00000A13, 0x000500A6, 0x00000009,
0x00003B23, 0x000047C2, 0x00004CB6, 0x000300F7, 0x00002C98, 0x00000000,
0x000400FA, 0x00003B23, 0x00002B38, 0x00002C98, 0x000200F8, 0x00002B38,
0x000500C4, 0x00000017, 0x00005E17, 0x00005879, 0x000002ED, 0x000500C2,
0x00000017, 0x00003BE7, 0x00005879, 0x000002ED, 0x000500C5, 0x00000017,
0x000029E8, 0x00005E17, 0x00003BE7, 0x000200F9, 0x00002C98, 0x000200F8,
0x00002C98, 0x000700F5, 0x00000017, 0x00004D37, 0x00005879, 0x00003463,
0x000029E8, 0x00002B38, 0x00060041, 0x00000294, 0x000019BE, 0x00001592,
0x00000A0B, 0x000025CC, 0x0003003E, 0x000019BE, 0x00004D37, 0x000500AC,
0x00000009, 0x00005BF6, 0x0000229A, 0x00000A0D, 0x000300F7, 0x00004AAC,
0x00000002, 0x000400FA, 0x00005BF6, 0x000038DA, 0x000055EA, 0x000200F8,
0x000055EA, 0x000200F9, 0x00004AAC, 0x000200F8, 0x000038DA, 0x000500C2,
0x0000000B, 0x0000364A, 0x00001DD8, 0x00000A0D, 0x00050086, 0x0000000B,
0x00001F01, 0x0000364A, 0x0000229A, 0x00050084, 0x0000000B, 0x000041FB,
0x00001F01, 0x0000229A, 0x00050082, 0x0000000B, 0x00003171, 0x0000364A,
0x000041FB, 0x00050080, 0x0000000B, 0x00002527, 0x00003171, 0x00000A0D,
0x000500AA, 0x00000009, 0x0000343F, 0x00002527, 0x0000229A, 0x000300F7,
0x00002458, 0x00000000, 0x000400FA, 0x0000343F, 0x00001CDB, 0x000055EB,
0x000200F8, 0x000055EB, 0x000200F9, 0x00002458, 0x000200F8, 0x00001CDB,
0x00050084, 0x0000000B, 0x00003B96, 0x00000A6A, 0x0000229A, 0x000500C4,
0x0000000B, 0x0000540F, 0x00003171, 0x00000A16, 0x00050082, 0x0000000B,
0x00004944, 0x00003B96, 0x0000540F, 0x000200F9, 0x00002458, 0x000200F8,
0x00002458, 0x000700F5, 0x0000000B, 0x0000292C, 0x00004944, 0x00001CDB,
0x00000A3A, 0x000055EB, 0x000200F9, 0x00004AAC, 0x000200F8, 0x00004AAC,
0x000700F5, 0x0000000B, 0x000029BC, 0x0000292C, 0x00002458, 0x00000A6A,
0x000055EA, 0x00050084, 0x0000000B, 0x0000492B, 0x000029BC, 0x0000448F,
0x000500C2, 0x0000000B, 0x00004DEF, 0x0000492B, 0x00000A16, 0x00050080,
0x0000000B, 0x00005B72, 0x000025CC, 0x00004DEF, 0x000300F7, 0x00003F86,
0x00000000, 0x000400FA, 0x00004B9C, 0x000033E0, 0x00003F86, 0x000200F8,
0x000033E0, 0x0009004F, 0x00000017, 0x00001F17, 0x000022F8, 0x000022F8,
0x00000001, 0x00000000, 0x00000003, 0x00000002, 0x000200F9, 0x00003F86,
0x000200F8, 0x00003F86, 0x000700F5, 0x00000017, 0x00002AAD, 0x000022F8,
0x00004AAC, 0x00001F17, 0x000033E0, 0x000300F7, 0x00003A1A, 0x00000000,
0x000400FA, 0x00005686, 0x00002958, 0x00003A1A, 0x000200F8, 0x00002958,
0x000500C7, 0x00000017, 0x00004760, 0x00002AAD, 0x000009CE, 0x000500C4,
0x00000017, 0x000024D2, 0x00004760, 0x0000013D, 0x000500C7, 0x00000017,
0x000050AD, 0x00002AAD, 0x0000072E, 0x000500C2, 0x00000017, 0x0000448E,
0x000050AD, 0x0000013D, 0x000500C5, 0x00000017, 0x00003FF9, 0x000024D2,
0x0000448E, 0x000200F9, 0x00003A1A, 0x000200F8, 0x00003A1A, 0x000700F5,
0x00000017, 0x00002AAE, 0x00002AAD, 0x00003F86, 0x00003FF9, 0x00002958,
0x000300F7, 0x00002C99, 0x00000000, 0x000400FA, 0x00003B23, 0x00002B39,
0x00002C99, 0x000200F8, 0x00002B39, 0x000500C4, 0x00000017, 0x00005E18,
0x00002AAE, 0x000002ED, 0x000500C2, 0x00000017, 0x00003BE8, 0x00002AAE,
0x000002ED, 0x000500C5, 0x00000017, 0x000029E9, 0x00005E18, 0x00003BE8,
0x000200F9, 0x00002C99, 0x000200F8, 0x00002C99, 0x000700F5, 0x00000017,
0x00004D39, 0x00002AAE, 0x00003A1A, 0x000029E9, 0x00002B39, 0x00060041,
0x00000294, 0x00001F75, 0x00001592, 0x00000A0B, 0x00005B72, 0x0003003E,
0x00001F75, 0x00004D39, 0x000200F9, 0x00004C7A, 0x000200F8, 0x00004C7A,
0x000100FD, 0x00010038,
};

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -24,8 +24,9 @@ xesl_uint2 XeHostDepthStoreRectUnscaledOrigin(uint rect_constant) {
return ((xesl_uint_x2(rect_constant) >> xesl_uint2(0u, 10u)) & 0x3FFu) << 3u;
}
uint XeHostDepthStoreRectUnscaledWidthDiv8Minus1(uint rect_constant) {
return (rect_constant >> 20u) & 0x3FFu;
uint XeHostDepthStoreRectUnscaledWidthDiv8(uint rect_constant) {
// The width divided by 8 minus 1 is stored.
return ((rect_constant >> 20u) & 0x3FFu) + 1u;
}
xesl_uint2 XeHostDepthStoreRTResolutionScale(uint rt_constant) {

View File

@ -33,7 +33,7 @@ xesl_entry_inputs_end_code_begin_compute
// Group height can't cross resolve granularity, Y overflow check not needed.
xesl_dont_flatten
if (xesl_GlobalInvocationID.x >=
(XeHostDepthStoreRectUnscaledWidthDiv8Minus1(rect_constant) *
(XeHostDepthStoreRectUnscaledWidthDiv8(rect_constant) *
resolution_scale.x)) {
return;
}

View File

@ -33,7 +33,7 @@ xesl_entry_inputs_end_code_begin_compute
// Group height can't cross resolve granularity, Y overflow check not needed.
xesl_dont_flatten
if (xesl_GlobalInvocationID.x >=
(XeHostDepthStoreRectUnscaledWidthDiv8Minus1(rect_constant) *
(XeHostDepthStoreRectUnscaledWidthDiv8(rect_constant) *
resolution_scale.x)) {
return;
}

View File

@ -33,7 +33,7 @@ xesl_entry_inputs_end_code_begin_compute
// Group height can't cross resolve granularity, Y overflow check not needed.
xesl_dont_flatten
if ((xesl_GlobalInvocationID.x >> 1u) >=
(XeHostDepthStoreRectUnscaledWidthDiv8Minus1(rect_constant) *
(XeHostDepthStoreRectUnscaledWidthDiv8(rect_constant) *
resolution_scale.x)) {
return;
}

View File

@ -1,726 +0,0 @@
#ifndef XENIA_GPU_D3D12_SHADERS_RESOLVE_HLSLI_
#define XENIA_GPU_D3D12_SHADERS_RESOLVE_HLSLI_
#include "edram.xesli"
#include "pixel_formats.xesli"
#include "texture_address.xesli"
cbuffer XeResolveConstants : register(b0) {
#ifdef XE_RESOLVE_CLEAR
uint2 xe_resolve_clear_value;
#endif
// xe::gpu::draw_util::ResolveEdramInfo.
uint xe_resolve_edram_info;
// xe::gpu::draw_util::ResolveCoordinateInfo.
uint xe_resolve_coordinate_info;
#ifndef XE_RESOLVE_CLEAR
// Sanitized RB_COPY_DEST_INFO.
uint xe_resolve_dest_info;
// xe::gpu::draw_util::ResolveCopyDestCoordinateInfo.
uint xe_resolve_dest_coordinate_info;
#ifndef XE_RESOLVE_RESOLUTION_SCALED
uint xe_resolve_dest_base;
#endif
#endif
};
uint XeResolveEdramPitchTiles() {
return xe_resolve_edram_info & ((1u << 10u) - 1u);
}
uint XeResolveEdramMsaaSamples() {
return (xe_resolve_edram_info >> 10u) & ((1u << 2u) - 1u);
}
// Always false for non-one-to-one resolve.
bool XeResolveEdramIsDepth() {
return (xe_resolve_edram_info & (1u << 12u)) != 0u;
}
uint XeResolveEdramBaseTiles() {
return (xe_resolve_edram_info >> 13u) & ((1u << 12u) - 1u);
}
uint XeResolveEdramFormat() {
return (xe_resolve_edram_info >> 25u) & ((1u << 4u) - 1u);
}
uint XeResolveEdramFormatIntsLog2() {
return (xe_resolve_edram_info >> 29u) & 1u;
}
bool XeResolveEdramFormatIs64bpp() {
return XeResolveEdramFormatIntsLog2() != 0u;
}
uint XeResolveEdramPixelStrideInts() {
return 1u << (XeResolveEdramFormatIntsLog2() +
uint(XeResolveEdramMsaaSamples() >= kXenosMsaaSamples_4X));
}
uint2 XeResolveResolutionScale() {
#ifdef XE_RESOLVE_RESOLUTION_SCALED
return (xe_resolve_coordinate_info.xx >> uint2(27u, 29u)) & 3u;
#else
return uint2(1u, 1u);
#endif
}
uint XeResolveResolutionScaleArea() {
uint2 scale = XeResolveResolutionScale();
return scale.x * scale.y;
}
bool2 XeResolveDuplicateSecondHostPixel() {
#ifdef XE_RESOLVE_RESOLUTION_SCALED
bool2 duplicate;
if ((xe_resolve_edram_info & (1u << 30u)) != 0u) {
duplicate = XeResolveResolutionScale() > uint2(1u, 1u);
} else {
duplicate = bool2(false, false);
}
return duplicate;
#else
return false;
#endif
}
// Within 160x32 guest pixels, total value relative to the source EDRAM base,
// & 31 of * 8 relative to the destination texture base.
uint2 XeResolveUnscaledOffsetDiv8() {
return (xe_resolve_coordinate_info >> uint2(0u, 4u)) &
((1u << uint2(4u, 1u)) - 1u);
}
uint2 XeResolveScaledOffsetDiv8() {
return XeResolveUnscaledOffsetDiv8() * XeResolveResolutionScale();
}
uint2 XeResolveScaledOffset() {
return XeResolveScaledOffsetDiv8() << 3u;
}
uint2 XeResolveUnscaledSizeDiv8() {
return (xe_resolve_coordinate_info >> uint2(5u, 16u)) & ((1u << 11u) - 1u);
}
uint2 XeResolveScaledSizeDiv8() {
return XeResolveUnscaledSizeDiv8() * XeResolveResolutionScale();
}
uint2 XeResolveScaledSize() {
return XeResolveScaledSizeDiv8() << 3u;
}
#ifndef XE_RESOLVE_CLEAR
uint XeResolveDestEndian128() {
return xe_resolve_dest_info & ((1u << 3u) - 1u);
}
bool XeResolveDestIsArray() {
return (xe_resolve_dest_info & (1u << 3u)) != 0u;
}
uint XeResolveDestSlice() {
return (xe_resolve_dest_info >> 4u) & ((1u << 3u) - 1u);
}
uint XeResolveDestFormat() {
return (xe_resolve_dest_info >> 7u) & ((1u << 6u) - 1u);
}
int XeResolveDestExpBias() {
return int(xe_resolve_dest_info) << (32 - (16 + 6)) >> (32 - 6);
}
float XeResolveDestExpBiasFactor() {
return asfloat((XeResolveDestExpBias() << 23) + asint(1.0f));
}
bool XeResolveDestSwap() {
return (xe_resolve_dest_info & (1u << 24u)) != 0u;
}
uint XeResolveDestRowPitchAlignedDiv32() {
return xe_resolve_dest_coordinate_info & ((1u << 10u) - 1u);
}
uint XeResolveDestRowPitchAligned() {
return XeResolveDestRowPitchAlignedDiv32() << 5u;
}
uint XeResolveDestSlicePitchAlignedDiv32() {
return (xe_resolve_dest_coordinate_info >> 10u) & ((1u << 10u) - 1u);
}
uint XeResolveDestSlicePitchAligned() {
return XeResolveDestSlicePitchAlignedDiv32() << 5u;
}
uint2 XeResolveDestUnscaledXYOffsetDiv8() {
return (xe_resolve_dest_coordinate_info.xx >> uint2(20u, 24u)) &
((1u << 4u) - 1u);
}
uint XeResolveDestPixelAddress(uint2 p, uint bpp_log2) {
uint2 resolution_scale = XeResolveResolutionScale();
p += (XeResolveDestUnscaledXYOffsetDiv8() << 3u) * resolution_scale;
uint address;
uint row_pitch = XeResolveDestRowPitchAligned();
#ifdef XE_RESOLVE_RESOLUTION_SCALED
address = XeTextureScaledTiledOffset(XeResolveDestIsArray(),
uint3(p, XeResolveDestSlice()),
row_pitch,
XeResolveDestSlicePitchAligned(),
bpp_log2, resolution_scale);
#else
[branch] if (XeResolveDestIsArray()) {
address = uint(XeTextureTiledOffset3D(
int3(p, XeResolveDestSlice()), row_pitch,
XeResolveDestSlicePitchAligned(), bpp_log2));
} else {
address = uint(XeTextureTiledOffset2D(int2(p), row_pitch, bpp_log2));
}
address += xe_resolve_dest_base;
#endif
return address;
}
// Offset of the beginning of the odd R32G32/R32G32B32A32 store address from
// the address of the even store.
uint XeResolveDestRightConsecutiveBlocksOffset(uint x, uint bpp_log2) {
#ifdef XE_RESOLVE_RESOLUTION_SCALED
return XeTextureScaledRightSubUnitOffsetInConsecutivePair(
x, bpp_log2, XeResolveResolutionScale());
#else
return XeTextureTiledOddConsecutiveBlocksOffset(bpp_log2);
#endif
}
#define kXenosCopySampleSelect_0 0u
#define kXenosCopySampleSelect_1 1u
#define kXenosCopySampleSelect_2 2u
#define kXenosCopySampleSelect_3 3u
#define kXenosCopySampleSelect_01 4u
#define kXenosCopySampleSelect_23 5u
#define kXenosCopySampleSelect_0123 6u
uint XeResolveSampleSelect() {
return (xe_resolve_dest_coordinate_info >> 28u) & ((1u << 3u) - 1u);
}
uint XeResolveFirstSampleIndex() {
uint sample_select = XeResolveSampleSelect();
uint sample_index;
if (sample_select <= kXenosCopySampleSelect_3) {
sample_index = sample_select;
} else if (sample_select == kXenosCopySampleSelect_23) {
sample_index = 2u;
} else {
sample_index = 0u;
}
return sample_index;
}
// Offset to the first sample to participate in averaging (or the sample to be
// copied if not averaging).
uint XeResolveColorCopySourcePixelAddressIntsYDuplicating(uint2 pixel_index) {
return
XeEdramOffsetInts(
uint2(pixel_index.x,
max(pixel_index.y,
uint(XeResolveDuplicateSecondHostPixel().y))) +
XeResolveScaledOffset(),
XeResolveEdramBaseTiles(), XeResolveEdramPitchTiles(),
XeResolveEdramMsaaSamples(), false, XeResolveEdramFormatIntsLog2(),
XeResolveFirstSampleIndex(), XeResolveResolutionScale());
}
// Not using arrays for multi-pixel functions because they are compiled to
// indexable temps by FXC.
void XeResolveUnpack32bpp2Samples(uint2 packed, uint format,
out float4 sample_0, out float4 sample_1) {
switch (format) {
case kXenosColorRenderTargetFormat_8_8_8_8:
case kXenosColorRenderTargetFormat_8_8_8_8_GAMMA:
sample_0 = XeUnpackR8G8B8A8UNorm(packed.x);
sample_1 = XeUnpackR8G8B8A8UNorm(packed.y);
break;
case kXenosColorRenderTargetFormat_2_10_10_10:
case kXenosColorRenderTargetFormat_2_10_10_10_AS_10_10_10_10:
sample_0 = XeUnpackR10G10B10A2UNorm(packed.x);
sample_1 = XeUnpackR10G10B10A2UNorm(packed.y);
break;
case kXenosColorRenderTargetFormat_2_10_10_10_FLOAT:
case kXenosColorRenderTargetFormat_2_10_10_10_FLOAT_AS_16_16_16_16:
sample_0 = XeUnpackR10G10B10A2Float(packed.x);
sample_1 = XeUnpackR10G10B10A2Float(packed.y);
break;
case kXenosColorRenderTargetFormat_16_16:
sample_0 = float4(XeUnpackR16G16Edram(packed.x), 0.0f, 0.0f);
sample_1 = float4(XeUnpackR16G16Edram(packed.y), 0.0f, 0.0f);
break;
case kXenosColorRenderTargetFormat_16_16_FLOAT:
sample_0 = float4(f16tof32(packed.x >> uint2(0u, 16u)), 0.0f, 0.0f);
sample_1 = float4(f16tof32(packed.y >> uint2(0u, 16u)), 0.0f, 0.0f);
break;
default:
// Treat as 32_FLOAT.
sample_0 = float2(asfloat(packed.x), 0.0f).xyyy;
sample_1 = float2(asfloat(packed.y), 0.0f).xyyy;
break;
}
}
void XeResolveUnpack32bpp4Samples(uint4 packed, uint format,
out float4 sample_0, out float4 sample_1,
out float4 sample_2, out float4 sample_3) {
switch (format) {
case kXenosColorRenderTargetFormat_8_8_8_8:
case kXenosColorRenderTargetFormat_8_8_8_8_GAMMA:
sample_0 = XeUnpackR8G8B8A8UNorm(packed.x);
sample_1 = XeUnpackR8G8B8A8UNorm(packed.y);
sample_2 = XeUnpackR8G8B8A8UNorm(packed.z);
sample_3 = XeUnpackR8G8B8A8UNorm(packed.w);
break;
case kXenosColorRenderTargetFormat_2_10_10_10:
case kXenosColorRenderTargetFormat_2_10_10_10_AS_10_10_10_10:
sample_0 = XeUnpackR10G10B10A2UNorm(packed.x);
sample_1 = XeUnpackR10G10B10A2UNorm(packed.y);
sample_2 = XeUnpackR10G10B10A2UNorm(packed.z);
sample_3 = XeUnpackR10G10B10A2UNorm(packed.w);
break;
case kXenosColorRenderTargetFormat_2_10_10_10_FLOAT:
case kXenosColorRenderTargetFormat_2_10_10_10_FLOAT_AS_16_16_16_16:
sample_0 = XeUnpackR10G10B10A2Float(packed.x);
sample_1 = XeUnpackR10G10B10A2Float(packed.y);
sample_2 = XeUnpackR10G10B10A2Float(packed.z);
sample_3 = XeUnpackR10G10B10A2Float(packed.w);
break;
case kXenosColorRenderTargetFormat_16_16:
sample_0 = float4(XeUnpackR16G16Edram(packed.x), 0.0f, 0.0f);
sample_1 = float4(XeUnpackR16G16Edram(packed.y), 0.0f, 0.0f);
sample_2 = float4(XeUnpackR16G16Edram(packed.z), 0.0f, 0.0f);
sample_3 = float4(XeUnpackR16G16Edram(packed.w), 0.0f, 0.0f);
break;
case kXenosColorRenderTargetFormat_16_16_FLOAT:
sample_0 = float4(f16tof32(packed.x >> uint2(0u, 16u)), 0.0f, 0.0f);
sample_1 = float4(f16tof32(packed.y >> uint2(0u, 16u)), 0.0f, 0.0f);
sample_2 = float4(f16tof32(packed.z >> uint2(0u, 16u)), 0.0f, 0.0f);
sample_3 = float4(f16tof32(packed.w >> uint2(0u, 16u)), 0.0f, 0.0f);
break;
default:
// Treat as 32_FLOAT.
sample_0 = float2(asfloat(packed.x), 0.0f).xyyy;
sample_1 = float2(asfloat(packed.y), 0.0f).xyyy;
sample_2 = float2(asfloat(packed.z), 0.0f).xyyy;
sample_3 = float2(asfloat(packed.w), 0.0f).xyyy;
break;
}
}
void XeResolveUnpack32bpp8RedSamples(uint4 packed_0123, uint4 packed_4567,
uint format, bool swap,
out float4 samples_0123,
out float4 samples_4567) {
switch (format) {
case kXenosColorRenderTargetFormat_8_8_8_8:
case kXenosColorRenderTargetFormat_8_8_8_8_GAMMA: {
uint shift = swap ? 16u : 0u;
samples_0123 = XeUnpackR8UNormX4(packed_0123 >> shift);
samples_4567 = XeUnpackR8UNormX4(packed_4567 >> shift);
} break;
case kXenosColorRenderTargetFormat_2_10_10_10:
case kXenosColorRenderTargetFormat_2_10_10_10_AS_10_10_10_10: {
uint shift = swap ? 20u : 0u;
samples_0123 = XeUnpackR10UNormX4(packed_0123 >> shift);
samples_4567 = XeUnpackR10UNormX4(packed_4567 >> shift);
} break;
case kXenosColorRenderTargetFormat_2_10_10_10_FLOAT:
case kXenosColorRenderTargetFormat_2_10_10_10_FLOAT_AS_16_16_16_16: {
uint shift = swap ? 20u : 0u;
samples_0123 = XeUnpackR10FloatX4(packed_0123 >> shift);
samples_4567 = XeUnpackR10FloatX4(packed_4567 >> shift);
} break;
case kXenosColorRenderTargetFormat_16_16:
samples_0123 = XeUnpackR16EdramX4(packed_0123);
samples_4567 = XeUnpackR16EdramX4(packed_4567);
break;
case kXenosColorRenderTargetFormat_16_16_FLOAT:
samples_0123 = f16tof32(packed_0123);
samples_4567 = f16tof32(packed_4567);
break;
default:
// Treat as 32_FLOAT.
samples_0123 = asfloat(packed_0123);
samples_4567 = asfloat(packed_4567);
break;
}
}
void XeResolveUnpack64bpp2Samples(uint4 packed, uint format,
out float4 sample_0, out float4 sample_1) {
switch (format) {
case kXenosColorRenderTargetFormat_16_16_16_16:
sample_0 = XeUnpackR16G16B16A16Edram(packed.xy);
sample_1 = XeUnpackR16G16B16A16Edram(packed.zw);
break;
case kXenosColorRenderTargetFormat_16_16_16_16_FLOAT:
sample_0 = f16tof32(packed.xxyy >> uint2(0u, 16u).xyxy);
sample_1 = f16tof32(packed.zzww >> uint2(0u, 16u).xyxy);
break;
default:
// Treat as 32_32_FLOAT.
sample_0 = float4(asfloat(packed.xy), 0.0f, 0.0f);
sample_1 = float4(asfloat(packed.zw), 0.0f, 0.0f);
break;
}
}
void XeResolveUnpack64bpp4Samples(uint4 packed_01, uint4 packed_23,
uint format, out float4 sample_0,
out float4 sample_1, out float4 sample_2,
out float4 sample_3) {
switch (format) {
case kXenosColorRenderTargetFormat_16_16_16_16:
sample_0 = XeUnpackR16G16B16A16Edram(packed_01.xy);
sample_1 = XeUnpackR16G16B16A16Edram(packed_01.zw);
sample_2 = XeUnpackR16G16B16A16Edram(packed_23.xy);
sample_3 = XeUnpackR16G16B16A16Edram(packed_23.zw);
break;
case kXenosColorRenderTargetFormat_16_16_16_16_FLOAT:
sample_0 = f16tof32(packed_01.xxyy >> uint2(0u, 16u).xyxy);
sample_1 = f16tof32(packed_01.zzww >> uint2(0u, 16u).xyxy);
sample_2 = f16tof32(packed_23.xxyy >> uint2(0u, 16u).xyxy);
sample_3 = f16tof32(packed_23.zzww >> uint2(0u, 16u).xyxy);
break;
default:
// Treat as 32_32_FLOAT.
sample_0 = float4(asfloat(packed_01.xy), 0.0f, 0.0f);
sample_1 = float4(asfloat(packed_01.zw), 0.0f, 0.0f);
sample_2 = float4(asfloat(packed_23.xy), 0.0f, 0.0f);
sample_3 = float4(asfloat(packed_23.zw), 0.0f, 0.0f);
break;
}
}
void XeResolveUnpack64bpp8RedUnswappedSamples(
uint4 packed_0123, uint4 packed_4567, uint format,
out float4 samples_0123, out float4 samples_4567) {
switch (format) {
case kXenosColorRenderTargetFormat_16_16_16_16:
samples_0123 = XeUnpackR16EdramX4(packed_0123);
samples_4567 = XeUnpackR16EdramX4(packed_4567);
break;
case kXenosColorRenderTargetFormat_16_16_16_16_FLOAT:
samples_0123 = f16tof32(packed_0123);
samples_4567 = f16tof32(packed_4567);
break;
default:
// Treat as 32_32_FLOAT.
samples_0123 = asfloat(packed_0123);
samples_4567 = asfloat(packed_4567);
break;
}
}
void XeResolveLoad2RGBAUnswappedPixelSamplesFromRaw(
ByteAddressBuffer source, uint sample_address_bytes,
uint pixel_stride_bytes, uint format_ints_log2, uint format,
out float4 pixel_0, out float4 pixel_1) {
[branch] if (format_ints_log2) {
uint4 packed;
[branch] if (pixel_stride_bytes == 8u) {
packed = source.Load4(sample_address_bytes);
} else {
packed.xy = source.Load2(sample_address_bytes);
packed.zw = source.Load2(sample_address_bytes + pixel_stride_bytes);
}
XeResolveUnpack64bpp2Samples(packed, format, pixel_0, pixel_1);
} else {
uint2 packed;
[branch] if (pixel_stride_bytes == 4u) {
packed = source.Load2(sample_address_bytes);
} else {
packed.x = source.Load(sample_address_bytes);
packed.y = source.Load(sample_address_bytes + pixel_stride_bytes);
}
XeResolveUnpack32bpp2Samples(packed, format, pixel_0, pixel_1);
}
}
void XeResolveLoad4RGBAUnswappedPixelSamplesFromRaw(
ByteAddressBuffer source, uint sample_address_bytes,
uint pixel_stride_bytes, uint format_ints_log2, uint format,
out float4 pixel_0, out float4 pixel_1, out float4 pixel_2,
out float4 pixel_3) {
[branch] if (format_ints_log2) {
uint4 packed_01, packed_23;
[branch] if (pixel_stride_bytes == 8u) {
packed_01 = source.Load4(sample_address_bytes);
packed_23 = source.Load4(sample_address_bytes + 16u);
} else {
packed_01.xy = source.Load2(sample_address_bytes);
packed_01.zw = source.Load2(sample_address_bytes + pixel_stride_bytes);
packed_23.xy =
source.Load2(sample_address_bytes + 2u * pixel_stride_bytes);
packed_23.zw =
source.Load2(sample_address_bytes + 3u * pixel_stride_bytes);
}
XeResolveUnpack64bpp4Samples(packed_01, packed_23, format, pixel_0,
pixel_1, pixel_2, pixel_3);
} else {
uint4 packed;
[branch] if (pixel_stride_bytes == 4u) {
packed = source.Load4(sample_address_bytes);
} else {
packed.x = source.Load(sample_address_bytes);
packed.y = source.Load(sample_address_bytes + pixel_stride_bytes);
packed.z = source.Load(sample_address_bytes + 2u * pixel_stride_bytes);
packed.w = source.Load(sample_address_bytes + 3u * pixel_stride_bytes);
}
XeResolveUnpack32bpp4Samples(packed, format, pixel_0, pixel_1, pixel_2,
pixel_3);
}
}
// For red/blue swapping for 64bpp, pre-add 4 to sample_address_bytes.
void XeResolveLoad8RedPixelSamplesFromRaw(
ByteAddressBuffer source, uint sample_address_bytes,
uint pixel_stride_bytes, uint format_ints_log2, uint format,
bool swap_32bpp, out float4 pixels_0123, out float4 pixels_4567) {
uint4 packed_0123, packed_4567;
[branch] if (pixel_stride_bytes == 4u) {
packed_0123 = source.Load4(sample_address_bytes);
packed_4567 = source.Load4(sample_address_bytes + 16u);
} else {
packed_0123.x = source.Load(sample_address_bytes);
packed_0123.y = source.Load(sample_address_bytes + pixel_stride_bytes);
packed_0123.z =
source.Load(sample_address_bytes + 2u * pixel_stride_bytes);
packed_0123.w =
source.Load(sample_address_bytes + 3u * pixel_stride_bytes);
packed_4567.x =
source.Load(sample_address_bytes + 4u * pixel_stride_bytes);
packed_4567.y =
source.Load(sample_address_bytes + 5u * pixel_stride_bytes);
packed_4567.z =
source.Load(sample_address_bytes + 6u * pixel_stride_bytes);
packed_4567.w =
source.Load(sample_address_bytes + 7u * pixel_stride_bytes);
}
[branch] if (format_ints_log2) {
XeResolveUnpack64bpp8RedUnswappedSamples(packed_0123, packed_4567, format,
pixels_0123, pixels_4567);
} else {
XeResolveUnpack32bpp8RedSamples(packed_0123, packed_4567, format,
swap_32bpp, pixels_0123, pixels_4567);
}
}
void XeResolveLoad2RGBAColors(ByteAddressBuffer source, uint address_ints,
out float4 pixel_0, out float4 pixel_1) {
uint format_ints_log2 = XeResolveEdramFormatIntsLog2();
uint pixel_stride_bytes = XeResolveEdramPixelStrideInts() << 2u;
uint address_bytes = address_ints << 2u;
uint format = XeResolveEdramFormat();
XeResolveLoad2RGBAUnswappedPixelSamplesFromRaw(source, address_bytes,
pixel_stride_bytes,
format_ints_log2, format,
pixel_0, pixel_1);
uint sample_select = XeResolveSampleSelect();
float exp_bias = XeResolveDestExpBiasFactor();
[branch] if (sample_select >= kXenosCopySampleSelect_01) {
uint tile_row_stride = 320u * XeResolveResolutionScale().x;
// TODO(Triang3l): Gamma-correct resolve for 8_8_8_8_GAMMA.
exp_bias *= 0.5f;
float4 msaa_resolve_pixel_0, msaa_resolve_pixel_1;
XeResolveLoad2RGBAUnswappedPixelSamplesFromRaw(
source, address_bytes + tile_row_stride, pixel_stride_bytes,
format_ints_log2, format, msaa_resolve_pixel_0, msaa_resolve_pixel_1);
pixel_0 += msaa_resolve_pixel_0;
pixel_1 += msaa_resolve_pixel_1;
[branch] if (sample_select >= kXenosCopySampleSelect_0123) {
exp_bias *= 0.5f;
XeResolveLoad2RGBAUnswappedPixelSamplesFromRaw(
source, address_bytes + (4u << format_ints_log2),
pixel_stride_bytes, format_ints_log2, format, msaa_resolve_pixel_0,
msaa_resolve_pixel_1);
pixel_0 += msaa_resolve_pixel_0;
pixel_1 += msaa_resolve_pixel_1;
XeResolveLoad2RGBAUnswappedPixelSamplesFromRaw(
source,
address_bytes + (tile_row_stride + (4u << format_ints_log2)),
pixel_stride_bytes, format_ints_log2, format, msaa_resolve_pixel_0,
msaa_resolve_pixel_1);
pixel_0 += msaa_resolve_pixel_0;
pixel_1 += msaa_resolve_pixel_1;
}
}
pixel_0 *= exp_bias;
pixel_1 *= exp_bias;
[branch] if (XeResolveDestSwap()) {
pixel_0 = pixel_0.bgra;
pixel_1 = pixel_1.bgra;
}
}
void XeResolveLoad4RGBAColors(ByteAddressBuffer source, uint address_ints,
out float4 pixel_0, out float4 pixel_1,
out float4 pixel_2, out float4 pixel_3) {
uint format_ints_log2 = XeResolveEdramFormatIntsLog2();
uint pixel_stride_bytes = XeResolveEdramPixelStrideInts() << 2u;
uint address_bytes = address_ints << 2u;
uint format = XeResolveEdramFormat();
XeResolveLoad4RGBAUnswappedPixelSamplesFromRaw(source, address_bytes,
pixel_stride_bytes,
format_ints_log2, format,
pixel_0, pixel_1, pixel_2,
pixel_3);
uint sample_select = XeResolveSampleSelect();
float exp_bias = XeResolveDestExpBiasFactor();
[branch] if (sample_select >= kXenosCopySampleSelect_01) {
uint tile_row_stride = 320u * XeResolveResolutionScale().x;
// TODO(Triang3l): Gamma-correct resolve for 8_8_8_8_GAMMA.
exp_bias *= 0.5f;
float4 msaa_resolve_pixel_0;
float4 msaa_resolve_pixel_1;
float4 msaa_resolve_pixel_2;
float4 msaa_resolve_pixel_3;
XeResolveLoad4RGBAUnswappedPixelSamplesFromRaw(
source,
address_bytes + tile_row_stride, pixel_stride_bytes, format_ints_log2,
format, msaa_resolve_pixel_0, msaa_resolve_pixel_1,
msaa_resolve_pixel_2, msaa_resolve_pixel_3);
pixel_0 += msaa_resolve_pixel_0;
pixel_1 += msaa_resolve_pixel_1;
pixel_2 += msaa_resolve_pixel_2;
pixel_3 += msaa_resolve_pixel_3;
[branch] if (sample_select >= kXenosCopySampleSelect_0123) {
exp_bias *= 0.5f;
XeResolveLoad4RGBAUnswappedPixelSamplesFromRaw(
source, address_bytes + (4u << format_ints_log2),
pixel_stride_bytes, format_ints_log2, format, msaa_resolve_pixel_0,
msaa_resolve_pixel_1, msaa_resolve_pixel_2, msaa_resolve_pixel_3);
pixel_0 += msaa_resolve_pixel_0;
pixel_1 += msaa_resolve_pixel_1;
pixel_2 += msaa_resolve_pixel_2;
pixel_3 += msaa_resolve_pixel_3;
XeResolveLoad4RGBAUnswappedPixelSamplesFromRaw(
source,
address_bytes + (tile_row_stride + (4u << format_ints_log2)),
pixel_stride_bytes, format_ints_log2, format, msaa_resolve_pixel_0,
msaa_resolve_pixel_1, msaa_resolve_pixel_2, msaa_resolve_pixel_3);
pixel_0 += msaa_resolve_pixel_0;
pixel_1 += msaa_resolve_pixel_1;
pixel_2 += msaa_resolve_pixel_2;
pixel_3 += msaa_resolve_pixel_3;
}
}
pixel_0 *= exp_bias;
pixel_1 *= exp_bias;
pixel_2 *= exp_bias;
pixel_3 *= exp_bias;
[branch] if (XeResolveDestSwap()) {
pixel_0 = pixel_0.bgra;
pixel_1 = pixel_1.bgra;
pixel_2 = pixel_2.bgra;
pixel_3 = pixel_3.bgra;
}
}
void XeResolveLoad8RedColors(ByteAddressBuffer source, uint address_ints,
out float4 pixels_0123, out float4 pixels_4567) {
uint format_ints_log2 = XeResolveEdramFormatIntsLog2();
uint pixel_stride_bytes = XeResolveEdramPixelStrideInts() << 2u;
uint address_bytes = address_ints << 2u;
uint format = XeResolveEdramFormat();
bool swap = XeResolveDestSwap();
[branch] if (format_ints_log2 && swap) {
// Likely want to load the blue part from the right half.
address_bytes += 4u;
}
XeResolveLoad8RedPixelSamplesFromRaw(source, address_bytes,
pixel_stride_bytes, format_ints_log2,
format, swap, pixels_0123,
pixels_4567);
uint sample_select = XeResolveSampleSelect();
float exp_bias = XeResolveDestExpBiasFactor();
[branch] if (sample_select >= kXenosCopySampleSelect_01) {
uint tile_row_stride = 320u * XeResolveResolutionScale().x;
// TODO(Triang3l): Gamma-correct resolve for 8_8_8_8_GAMMA.
exp_bias *= 0.5f;
float4 msaa_resolve_pixels_0123, msaa_resolve_pixels_4567;
XeResolveLoad8RedPixelSamplesFromRaw(
source, address_bytes + tile_row_stride, pixel_stride_bytes,
format_ints_log2, format, swap, msaa_resolve_pixels_0123,
msaa_resolve_pixels_4567);
pixels_0123 += msaa_resolve_pixels_0123;
pixels_4567 += msaa_resolve_pixels_4567;
[branch] if (sample_select >= kXenosCopySampleSelect_0123) {
exp_bias *= 0.5f;
XeResolveLoad8RedPixelSamplesFromRaw(
source, address_bytes + (4u << format_ints_log2),
pixel_stride_bytes, format_ints_log2, format, swap,
msaa_resolve_pixels_0123, msaa_resolve_pixels_4567);
pixels_0123 += msaa_resolve_pixels_0123;
pixels_4567 += msaa_resolve_pixels_4567;
XeResolveLoad8RedPixelSamplesFromRaw(
source,
address_bytes + (tile_row_stride + (4u << format_ints_log2)),
pixel_stride_bytes, format_ints_log2, format, swap,
msaa_resolve_pixels_0123, msaa_resolve_pixels_4567);
pixels_0123 += msaa_resolve_pixels_0123;
pixels_4567 += msaa_resolve_pixels_4567;
}
}
pixels_0123 *= exp_bias;
pixels_4567 *= exp_bias;
}
uint4 XeResolveSwapRedBlue_8_8_8_8(uint4 pixels) {
return (pixels & ~0xFF00FFu) | ((pixels & 0xFFu) << 16u) |
((pixels >> 16u) & 0xFFu);
}
uint4 XeResolveSwapRedBlue_2_10_10_10(uint4 pixels) {
return (pixels & ~0x3FF003FF) | ((pixels & 0x3FFu) << 20u) |
((pixels >> 20u) & 0x3FFu);
}
void XeResolveSwap8PixelsRedBlue32bpp(inout uint4 pixels_0123,
inout uint4 pixels_4567) {
[branch] if (XeResolveDestSwap()) {
switch (XeResolveEdramFormat()) {
case kXenosColorRenderTargetFormat_8_8_8_8:
case kXenosColorRenderTargetFormat_8_8_8_8_GAMMA:
pixels_0123 = XeResolveSwapRedBlue_8_8_8_8(pixels_0123);
pixels_4567 = XeResolveSwapRedBlue_8_8_8_8(pixels_4567);
break;
case kXenosColorRenderTargetFormat_2_10_10_10:
case kXenosColorRenderTargetFormat_2_10_10_10_FLOAT:
case kXenosColorRenderTargetFormat_2_10_10_10_AS_10_10_10_10:
case kXenosColorRenderTargetFormat_2_10_10_10_FLOAT_AS_16_16_16_16:
pixels_0123 = XeResolveSwapRedBlue_2_10_10_10(pixels_0123);
pixels_4567 = XeResolveSwapRedBlue_2_10_10_10(pixels_4567);
break;
}
}
}
void XeResolveSwap4PixelsRedBlue64bpp(inout uint4 pixels_01,
inout uint4 pixels_23) {
[branch] if (XeResolveDestSwap()) {
uint format = XeResolveEdramFormat();
[branch] if (format == kXenosColorRenderTargetFormat_16_16_16_16 ||
format == kXenosColorRenderTargetFormat_16_16_16_16_FLOAT) {
pixels_01 = (pixels_01 & ~0xFFFFu) | (pixels_01.yxwz & 0xFFFFu);
pixels_23 = (pixels_23 & ~0xFFFFu) | (pixels_23.yxwz & 0xFFFFu);
}
}
}
#endif
#endif // XENIA_GPU_D3D12_SHADERS_RESOLVE_HLSLI_

View File

@ -0,0 +1,818 @@
/**
******************************************************************************
* Xenia : Xbox 360 Emulator Research Project *
******************************************************************************
* Copyright 2022 Ben Vanik. All rights reserved. *
* Released under the BSD license - see LICENSE in the root for more details. *
******************************************************************************
*/
#ifndef XENIA_GPU_SHADERS_RESOLVE_XESLI_
#define XENIA_GPU_SHADERS_RESOLVE_XESLI_
#include "edram.xesli"
#include "pixel_formats.xesli"
#include "texture_address.xesli"
#define kXenosCopySampleSelect_0 0u
#define kXenosCopySampleSelect_1 1u
#define kXenosCopySampleSelect_2 2u
#define kXenosCopySampleSelect_3 3u
#define kXenosCopySampleSelect_01 4u
#define kXenosCopySampleSelect_23 5u
#define kXenosCopySampleSelect_0123 6u
xesl_pushConstants_begin(b0, space0)
#ifdef XE_RESOLVE_CLEAR
xesl_uint2 xe_resolve_clear_value;
#endif
// xe::gpu::draw_util::ResolveEdramInfo.
uint xe_resolve_edram_info;
// xe::gpu::draw_util::ResolveCoordinateInfo.
uint xe_resolve_coordinate_info;
#ifndef XE_RESOLVE_CLEAR
// Sanitized RB_COPY_DEST_INFO.
uint xe_resolve_dest_info;
// xe::gpu::draw_util::ResolveCopyDestCoordinateInfo.
uint xe_resolve_dest_coordinate_info;
#ifndef XE_RESOLVE_RESOLUTION_SCALED
uint xe_resolve_dest_base;
#endif
#endif
xesl_pushConstants_end
#define XE_RESOLVE_PUSH_CONSTANTS_BINDING xesl_pushConstants_binding(buffer(0))
#ifndef XE_RESOLVE_CLEAR
#ifdef XE_RESOLVE_SOURCE_IS_UINT_VECTOR_BUFFER
xesl_uintVectorBuffer_declare(xe_resolve_source, set=1, binding=0, t0,
space0)
#define XE_RESOLVE_SOURCE_BINDING \
xesl_uintVectorBuffer_binding(xe_resolve_source, buffer(2))
#else
xesl_typedStorageBuffer_declare(XE_RESOLVE_SOURCE_TYPE, xe_resolve_source,
set=1, binding=0, t0, space0)
#define XE_RESOLVE_SOURCE_BINDING \
xesl_typedStorageBuffer_binding(XE_RESOLVE_SOURCE_TYPE, \
xe_resolve_source, buffer(2))
#endif
#endif
struct XeResolveInfo {
uint edram_pitch_tiles;
uint edram_msaa_samples;
// Always false for non-one-to-one resolve.
bool edram_is_depth;
uint edram_base_tiles;
uint edram_format;
uint edram_format_ints_log2;
xesl_uint2 resolution_scale;
xesl_bool2 duplicate_second_host_pixel;
xesl_uint2 edram_offset_scaled;
uint width_div_8_scaled;
#ifdef XE_RESOLVE_CLEAR
xesl_uint2 clear_value;
#else
uint dest_endian_128;
bool dest_is_array;
uint dest_slice;
uint dest_format;
float dest_exp_bias_factor;
bool dest_swap;
uint dest_row_pitch_aligned;
uint dest_slice_pitch_aligned;
xesl_uint2 dest_xy_offset_scaled;
uint sample_select;
uint dest_base;
#endif // XE_RESOLVE_CLEAR
};
XeResolveInfo XeResolveGetInfo(xesl_function_param_pushConstants) {
XeResolveInfo resolve_info;
uint edram_info = xesl_pushConstant(xe_resolve_edram_info);
uint coordinate_info = xesl_pushConstant(xe_resolve_coordinate_info);
resolve_info.edram_pitch_tiles = edram_info & ((1u << 10u) - 1u);
resolve_info.edram_msaa_samples = (edram_info >> 10u) & ((1u << 2u) - 1u);
resolve_info.edram_is_depth = (edram_info & (1u << 12u)) != 0u;
resolve_info.edram_base_tiles = (edram_info >> 13u) & ((1u << 12u) - 1u);
resolve_info.edram_format = (edram_info >> 25u) & ((1u << 4u) - 1u);
resolve_info.edram_format_ints_log2 = (edram_info >> 29u) & 1u;
#ifdef XE_RESOLVE_RESOLUTION_SCALED
resolve_info.resolution_scale =
(xesl_uint_x2(coordinate_info) >> xesl_uint2(27u, 29u)) & 3u;
if ((edram_info & (1u << 30u)) != 0u) {
resolve_info.duplicate_second_host_pixel =
xesl_greaterThan(resolve_info.resolution_scale, xesl_uint_x2(1u));
} else {
resolve_info.duplicate_second_host_pixel = xesl_bool_x2(false);
}
#else
resolve_info.resolution_scale = xesl_uint_x2(1u);
resolve_info.duplicate_second_host_pixel = xesl_bool_x2(false);
#endif
resolve_info.edram_offset_scaled =
(((xesl_uint_x2(coordinate_info) >> xesl_uint2(0u, 4u)) &
((xesl_uint_x2(1u) << xesl_uint2(4u, 1u)) - 1u)) <<
3u) *
resolve_info.resolution_scale;
resolve_info.width_div_8_scaled =
((coordinate_info >> 5u) & ((1u << 11u) - 1u)) *
resolve_info.resolution_scale.x;
#ifdef XE_RESOLVE_CLEAR
resolve_info.clear_value = xesl_pushConstant(xe_resolve_clear_value);
#else
uint dest_info = xesl_pushConstant(xe_resolve_dest_info);
uint dest_coordinate_info =
xesl_pushConstant(xe_resolve_dest_coordinate_info);
resolve_info.dest_endian_128 = dest_info & ((1u << 3u) - 1u);
resolve_info.dest_is_array = (dest_info & (1u << 3u)) != 0u;
resolve_info.dest_slice = (dest_info >> 4u) & ((1u << 3u) - 1u);
resolve_info.dest_format = (dest_info >> 7u) & ((1u << 6u) - 1u);
resolve_info.dest_exp_bias_factor = xesl_intBitsToFloat(
(int(dest_info) << (32 - (16 + 6)) >> (32 - 6) << 23) +
xesl_floatBitsToInt(1.0f));
resolve_info.dest_swap = (dest_info & (1u << 24u)) != 0u;
resolve_info.dest_row_pitch_aligned =
(dest_coordinate_info & ((1u << 10u) - 1u)) << 5u;
resolve_info.dest_slice_pitch_aligned =
((dest_coordinate_info >> 10u) & ((1u << 10u) - 1u)) << 5u;
resolve_info.dest_xy_offset_scaled =
(((xesl_uint_x2(dest_coordinate_info) >> xesl_uint2(20u, 24u)) &
((1u << 4u) - 1u)) <<
3u) *
resolve_info.resolution_scale;
resolve_info.sample_select =
(dest_coordinate_info >> 28u) & ((1u << 3u) - 1u);
#ifndef XE_RESOLVE_RESOLUTION_SCALED
resolve_info.dest_base = xesl_pushConstant(xe_resolve_dest_base);
#else
resolve_info.dest_base = 0;
#endif
#endif // XE_RESOLVE_CLEAR
return resolve_info;
}
uint XeResolveEdramPixelStrideInts(XeResolveInfo resolve_info) {
return 1u << (resolve_info.edram_format_ints_log2 +
uint(resolve_info.edram_msaa_samples >= kXenosMsaaSamples_4X));
}
#ifndef XE_RESOLVE_CLEAR
uint XeResolveDestPixelAddress(XeResolveInfo resolve_info, xesl_uint2 p,
uint bpp_log2) {
p += resolve_info.dest_xy_offset_scaled;
uint address;
#ifdef XE_RESOLVE_RESOLUTION_SCALED
address = XeTextureScaledTiledOffset(
resolve_info.dest_is_array, xesl_uint3(p, resolve_info.dest_slice),
resolve_info.dest_row_pitch_aligned,
resolve_info.dest_slice_pitch_aligned, bpp_log2,
resolve_info.resolution_scale);
#else
xesl_dont_flatten if (resolve_info.dest_is_array) {
address = uint(XeTextureTiledOffset3D(
xesl_int3(xesl_uint3(p, resolve_info.dest_slice)),
resolve_info.dest_row_pitch_aligned,
resolve_info.dest_slice_pitch_aligned, bpp_log2));
} else {
address = uint(XeTextureTiledOffset2D(
xesl_int2(p), resolve_info.dest_row_pitch_aligned, bpp_log2));
}
address += resolve_info.dest_base;
#endif
return address;
}
// Offset of the beginning of the odd R32G32/R32G32B32A32 store address from
// the address of the even store.
uint XeResolveDestRightConsecutiveBlocksOffset(uint x, uint bpp_log2,
xesl_uint2 resolution_scale) {
#ifdef XE_RESOLVE_RESOLUTION_SCALED
return XeTextureScaledRightSubUnitOffsetInConsecutivePair(
x, bpp_log2, resolution_scale);
#else
return XeTextureTiledOddConsecutiveBlocksOffset(bpp_log2);
#endif
}
#define kXenosCopySampleSelect_0 0u
#define kXenosCopySampleSelect_1 1u
#define kXenosCopySampleSelect_2 2u
#define kXenosCopySampleSelect_3 3u
#define kXenosCopySampleSelect_01 4u
#define kXenosCopySampleSelect_23 5u
#define kXenosCopySampleSelect_0123 6u
uint XeResolveFirstSampleIndex(uint sample_select) {
uint sample_index;
if (sample_select <= kXenosCopySampleSelect_3) {
sample_index = sample_select;
} else if (sample_select == kXenosCopySampleSelect_23) {
sample_index = 2u;
} else {
sample_index = 0u;
}
return sample_index;
}
// Offset to the first sample to participate in averaging (or the sample to be
// copied if not averaging).
uint XeResolveColorCopySourcePixelAddressIntsYDuplicating(
XeResolveInfo resolve_info, xesl_uint2 pixel_index) {
return XeEdramOffsetInts(
xesl_uint2(pixel_index.x,
max(pixel_index.y,
uint(resolve_info.duplicate_second_host_pixel.y))) +
resolve_info.edram_offset_scaled,
resolve_info.edram_base_tiles, resolve_info.edram_pitch_tiles,
resolve_info.edram_msaa_samples, false,
resolve_info.edram_format_ints_log2,
XeResolveFirstSampleIndex(resolve_info.sample_select),
resolve_info.resolution_scale);
}
// Not using arrays for multi-pixel function arguments because they are
// compiled into indexable temps by FXC.
void XeResolveUnpack32bpp2Samples(
xesl_uint2 packed, uint format,
xesl_function_param_out(xesl_float4, sample_0),
xesl_function_param_out(xesl_float4, sample_1)) {
switch (format) {
case kXenosColorRenderTargetFormat_8_8_8_8:
case kXenosColorRenderTargetFormat_8_8_8_8_GAMMA:
sample_0 = XeUnpackR8G8B8A8UNorm(packed.x);
sample_1 = XeUnpackR8G8B8A8UNorm(packed.y);
break;
case kXenosColorRenderTargetFormat_2_10_10_10:
case kXenosColorRenderTargetFormat_2_10_10_10_AS_10_10_10_10:
sample_0 = XeUnpackR10G10B10A2UNorm(packed.x);
sample_1 = XeUnpackR10G10B10A2UNorm(packed.y);
break;
case kXenosColorRenderTargetFormat_2_10_10_10_FLOAT:
case kXenosColorRenderTargetFormat_2_10_10_10_FLOAT_AS_16_16_16_16:
sample_0 = XeUnpackR10G10B10A2Float(packed.x);
sample_1 = XeUnpackR10G10B10A2Float(packed.y);
break;
case kXenosColorRenderTargetFormat_16_16:
sample_0 = xesl_float4(XeUnpackR16G16Edram(packed.x), 0.0f, 0.0f);
sample_1 = xesl_float4(XeUnpackR16G16Edram(packed.y), 0.0f, 0.0f);
break;
case kXenosColorRenderTargetFormat_16_16_FLOAT:
sample_0 = xesl_float4(xesl_unpackHalf2x16(packed.x), 0.0f, 0.0f);
sample_1 = xesl_float4(xesl_unpackHalf2x16(packed.y), 0.0f, 0.0f);
break;
default:
// Treat as 32_FLOAT.
sample_0 = xesl_float2(xesl_uintBitsToFloat(packed.x), 0.0f).xyyy;
sample_1 = xesl_float2(xesl_uintBitsToFloat(packed.y), 0.0f).xyyy;
break;
}
}
void XeResolveUnpack32bpp4Samples(
xesl_uint4 packed, uint format,
xesl_function_param_out(xesl_float4, sample_0),
xesl_function_param_out(xesl_float4, sample_1),
xesl_function_param_out(xesl_float4, sample_2),
xesl_function_param_out(xesl_float4, sample_3)) {
switch (format) {
case kXenosColorRenderTargetFormat_8_8_8_8:
case kXenosColorRenderTargetFormat_8_8_8_8_GAMMA:
sample_0 = XeUnpackR8G8B8A8UNorm(packed.x);
sample_1 = XeUnpackR8G8B8A8UNorm(packed.y);
sample_2 = XeUnpackR8G8B8A8UNorm(packed.z);
sample_3 = XeUnpackR8G8B8A8UNorm(packed.w);
break;
case kXenosColorRenderTargetFormat_2_10_10_10:
case kXenosColorRenderTargetFormat_2_10_10_10_AS_10_10_10_10:
sample_0 = XeUnpackR10G10B10A2UNorm(packed.x);
sample_1 = XeUnpackR10G10B10A2UNorm(packed.y);
sample_2 = XeUnpackR10G10B10A2UNorm(packed.z);
sample_3 = XeUnpackR10G10B10A2UNorm(packed.w);
break;
case kXenosColorRenderTargetFormat_2_10_10_10_FLOAT:
case kXenosColorRenderTargetFormat_2_10_10_10_FLOAT_AS_16_16_16_16:
sample_0 = XeUnpackR10G10B10A2Float(packed.x);
sample_1 = XeUnpackR10G10B10A2Float(packed.y);
sample_2 = XeUnpackR10G10B10A2Float(packed.z);
sample_3 = XeUnpackR10G10B10A2Float(packed.w);
break;
case kXenosColorRenderTargetFormat_16_16:
sample_0 = xesl_float4(XeUnpackR16G16Edram(packed.x), 0.0f, 0.0f);
sample_1 = xesl_float4(XeUnpackR16G16Edram(packed.y), 0.0f, 0.0f);
sample_2 = xesl_float4(XeUnpackR16G16Edram(packed.z), 0.0f, 0.0f);
sample_3 = xesl_float4(XeUnpackR16G16Edram(packed.w), 0.0f, 0.0f);
break;
case kXenosColorRenderTargetFormat_16_16_FLOAT:
sample_0 = xesl_float4(xesl_unpackHalf2x16(packed.x), 0.0f, 0.0f);
sample_1 = xesl_float4(xesl_unpackHalf2x16(packed.y), 0.0f, 0.0f);
sample_2 = xesl_float4(xesl_unpackHalf2x16(packed.z), 0.0f, 0.0f);
sample_3 = xesl_float4(xesl_unpackHalf2x16(packed.w), 0.0f, 0.0f);
break;
default:
// Treat as 32_FLOAT.
sample_0 = xesl_float2(xesl_uintBitsToFloat(packed.x), 0.0f).xyyy;
sample_1 = xesl_float2(xesl_uintBitsToFloat(packed.y), 0.0f).xyyy;
sample_2 = xesl_float2(xesl_uintBitsToFloat(packed.z), 0.0f).xyyy;
sample_3 = xesl_float2(xesl_uintBitsToFloat(packed.w), 0.0f).xyyy;
break;
}
}
void XeResolveUnpack32bpp8RedSamples(
xesl_uint4 packed_0123, xesl_uint4 packed_4567, uint format, bool swap,
xesl_function_param_out(xesl_float4, samples_0123),
xesl_function_param_out(xesl_float4, samples_4567)) {
switch (format) {
case kXenosColorRenderTargetFormat_8_8_8_8:
case kXenosColorRenderTargetFormat_8_8_8_8_GAMMA: {
uint shift = swap ? 16u : 0u;
samples_0123 = XeUnpackR8UNormX4(packed_0123 >> shift);
samples_4567 = XeUnpackR8UNormX4(packed_4567 >> shift);
} break;
case kXenosColorRenderTargetFormat_2_10_10_10:
case kXenosColorRenderTargetFormat_2_10_10_10_AS_10_10_10_10: {
uint shift = swap ? 20u : 0u;
samples_0123 = XeUnpackR10UNormX4(packed_0123 >> shift);
samples_4567 = XeUnpackR10UNormX4(packed_4567 >> shift);
} break;
case kXenosColorRenderTargetFormat_2_10_10_10_FLOAT:
case kXenosColorRenderTargetFormat_2_10_10_10_FLOAT_AS_16_16_16_16: {
uint shift = swap ? 20u : 0u;
samples_0123 = XeUnpackR10FloatX4(packed_0123 >> shift);
samples_4567 = XeUnpackR10FloatX4(packed_4567 >> shift);
} break;
case kXenosColorRenderTargetFormat_16_16:
samples_0123 = XeUnpackR16EdramX4(packed_0123);
samples_4567 = XeUnpackR16EdramX4(packed_4567);
break;
case kXenosColorRenderTargetFormat_16_16_FLOAT:
samples_0123.x = xesl_unpackHalf2x16(packed_0123.x).x;
samples_0123.y = xesl_unpackHalf2x16(packed_0123.y).x;
samples_0123.z = xesl_unpackHalf2x16(packed_0123.z).x;
samples_0123.w = xesl_unpackHalf2x16(packed_0123.w).x;
samples_4567.x = xesl_unpackHalf2x16(packed_4567.x).x;
samples_4567.y = xesl_unpackHalf2x16(packed_4567.y).x;
samples_4567.z = xesl_unpackHalf2x16(packed_4567.z).x;
samples_4567.w = xesl_unpackHalf2x16(packed_4567.w).x;
break;
default:
// Treat as 32_FLOAT.
samples_0123 = xesl_uintBitsToFloat(packed_0123);
samples_4567 = xesl_uintBitsToFloat(packed_4567);
break;
}
}
void XeResolveUnpack64bpp2Samples(
xesl_uint4 packed, uint format,
xesl_function_param_out(xesl_float4, sample_0),
xesl_function_param_out(xesl_float4, sample_1)) {
switch (format) {
case kXenosColorRenderTargetFormat_16_16_16_16:
sample_0 = XeUnpackR16G16B16A16Edram(packed.xy);
sample_1 = XeUnpackR16G16B16A16Edram(packed.zw);
break;
case kXenosColorRenderTargetFormat_16_16_16_16_FLOAT:
sample_0.xy = xesl_unpackHalf2x16(packed.x);
sample_0.zw = xesl_unpackHalf2x16(packed.y);
sample_1.xy = xesl_unpackHalf2x16(packed.z);
sample_1.zw = xesl_unpackHalf2x16(packed.w);
break;
default:
// Treat as 32_32_FLOAT.
sample_0 = xesl_float4(xesl_uintBitsToFloat(packed.xy), 0.0f, 0.0f);
sample_1 = xesl_float4(xesl_uintBitsToFloat(packed.zw), 0.0f, 0.0f);
break;
}
}
void XeResolveUnpack64bpp4Samples(
xesl_uint4 packed_01, xesl_uint4 packed_23, uint format,
xesl_function_param_out(xesl_float4, sample_0),
xesl_function_param_out(xesl_float4, sample_1),
xesl_function_param_out(xesl_float4, sample_2),
xesl_function_param_out(xesl_float4, sample_3)) {
switch (format) {
case kXenosColorRenderTargetFormat_16_16_16_16:
sample_0 = XeUnpackR16G16B16A16Edram(packed_01.xy);
sample_1 = XeUnpackR16G16B16A16Edram(packed_01.zw);
sample_2 = XeUnpackR16G16B16A16Edram(packed_23.xy);
sample_3 = XeUnpackR16G16B16A16Edram(packed_23.zw);
break;
case kXenosColorRenderTargetFormat_16_16_16_16_FLOAT:
sample_0.xy = xesl_unpackHalf2x16(packed_01.x);
sample_0.zw = xesl_unpackHalf2x16(packed_01.y);
sample_1.xy = xesl_unpackHalf2x16(packed_01.z);
sample_1.zw = xesl_unpackHalf2x16(packed_01.w);
sample_2.xy = xesl_unpackHalf2x16(packed_23.x);
sample_2.zw = xesl_unpackHalf2x16(packed_23.y);
sample_3.xy = xesl_unpackHalf2x16(packed_23.z);
sample_3.zw = xesl_unpackHalf2x16(packed_23.w);
break;
default:
// Treat as 32_32_FLOAT.
sample_0 = xesl_float4(xesl_uintBitsToFloat(packed_01.xy), 0.0f, 0.0f);
sample_1 = xesl_float4(xesl_uintBitsToFloat(packed_01.zw), 0.0f, 0.0f);
sample_2 = xesl_float4(xesl_uintBitsToFloat(packed_23.xy), 0.0f, 0.0f);
sample_3 = xesl_float4(xesl_uintBitsToFloat(packed_23.zw), 0.0f, 0.0f);
break;
}
}
void XeResolveUnpack64bpp8RedUnswappedSamples(
xesl_uint4 packed_0123, xesl_uint4 packed_4567, uint format,
xesl_function_param_out(xesl_float4, samples_0123),
xesl_function_param_out(xesl_float4, samples_4567)) {
switch (format) {
case kXenosColorRenderTargetFormat_16_16_16_16:
samples_0123 = XeUnpackR16EdramX4(packed_0123);
samples_4567 = XeUnpackR16EdramX4(packed_4567);
break;
case kXenosColorRenderTargetFormat_16_16_16_16_FLOAT:
samples_0123.x = xesl_unpackHalf2x16(packed_0123.x).x;
samples_0123.y = xesl_unpackHalf2x16(packed_0123.y).x;
samples_0123.z = xesl_unpackHalf2x16(packed_0123.z).x;
samples_0123.w = xesl_unpackHalf2x16(packed_0123.w).x;
samples_4567.x = xesl_unpackHalf2x16(packed_4567.x).x;
samples_4567.y = xesl_unpackHalf2x16(packed_4567.y).x;
samples_4567.z = xesl_unpackHalf2x16(packed_4567.z).x;
samples_4567.w = xesl_unpackHalf2x16(packed_4567.w).x;
break;
default:
// Treat as 32_32_FLOAT.
samples_0123 = xesl_uintBitsToFloat(packed_0123);
samples_4567 = xesl_uintBitsToFloat(packed_4567);
break;
}
}
#ifdef XE_RESOLVE_SOURCE_IS_UINT_VECTOR_BUFFER
void XeResolveLoad2RGBAUnswappedPixelSamplesFromRaw(
xesl_function_param_uintVectorBuffer(xe_resolve_source)
xesl_function_param_next_after_uintVectorBuffer
uint sample_address_ints, uint pixel_stride_ints, uint format_ints_log2,
uint format, xesl_function_param_out(xesl_float4, pixel_0),
xesl_function_param_out(xesl_float4, pixel_1)) {
xesl_dont_flatten if (format_ints_log2 != 0u) {
xesl_uint4 packed;
xesl_dont_flatten if (pixel_stride_ints == 2u) {
packed = xesl_uintVectorBufferLoad4(
xe_resolve_source, sample_address_ints);
} else {
packed.xy = xesl_uintVectorBufferLoad2(
xe_resolve_source, sample_address_ints);
packed.zw = xesl_uintVectorBufferLoad2(
xe_resolve_source, sample_address_ints + pixel_stride_ints);
}
XeResolveUnpack64bpp2Samples(packed, format, pixel_0, pixel_1);
} else {
xesl_uint2 packed;
xesl_dont_flatten if (pixel_stride_ints == 1u) {
packed = xesl_uintVectorBufferLoad2(
xe_resolve_source, sample_address_ints);
} else {
packed.x = xesl_uintVectorBufferLoad1(
xe_resolve_source, sample_address_ints);
packed.y = xesl_uintVectorBufferLoad1(
xe_resolve_source, sample_address_ints + pixel_stride_ints);
}
XeResolveUnpack32bpp2Samples(packed, format, pixel_0, pixel_1);
}
}
void XeResolveLoad4RGBAUnswappedPixelSamplesFromRaw(
xesl_function_param_uintVectorBuffer(xe_resolve_source)
xesl_function_param_next_after_uintVectorBuffer
uint sample_address_ints, uint pixel_stride_ints, uint format_ints_log2,
uint format, xesl_function_param_out(xesl_float4, pixel_0),
xesl_function_param_out(xesl_float4, pixel_1),
xesl_function_param_out(xesl_float4, pixel_2),
xesl_function_param_out(xesl_float4, pixel_3)) {
xesl_dont_flatten if (format_ints_log2 != 0u) {
xesl_uint4 packed_01, packed_23;
xesl_dont_flatten if (pixel_stride_ints == 2u) {
packed_01 = xesl_uintVectorBufferLoad4(
xe_resolve_source, sample_address_ints);
packed_23 = xesl_uintVectorBufferLoad4(
xe_resolve_source, sample_address_ints + 4u);
} else {
packed_01.xy = xesl_uintVectorBufferLoad2(
xe_resolve_source, sample_address_ints);
packed_01.zw = xesl_uintVectorBufferLoad2(
xe_resolve_source, sample_address_ints + pixel_stride_ints);
packed_23.xy = xesl_uintVectorBufferLoad2(
xe_resolve_source, sample_address_ints + 2u * pixel_stride_ints);
packed_23.zw = xesl_uintVectorBufferLoad2(
xe_resolve_source, sample_address_ints + 3u * pixel_stride_ints);
}
XeResolveUnpack64bpp4Samples(packed_01, packed_23, format, pixel_0,
pixel_1, pixel_2, pixel_3);
} else {
xesl_uint4 packed;
xesl_dont_flatten if (pixel_stride_ints == 1u) {
packed = xesl_uintVectorBufferLoad4(
xe_resolve_source, sample_address_ints);
} else {
packed.x = xesl_uintVectorBufferLoad1(
xe_resolve_source, sample_address_ints);
packed.y = xesl_uintVectorBufferLoad1(
xe_resolve_source, sample_address_ints + pixel_stride_ints);
packed.z = xesl_uintVectorBufferLoad1(
xe_resolve_source, sample_address_ints + 2u * pixel_stride_ints);
packed.w = xesl_uintVectorBufferLoad1(
xe_resolve_source, sample_address_ints + 3u * pixel_stride_ints);
}
XeResolveUnpack32bpp4Samples(packed, format, pixel_0, pixel_1, pixel_2,
pixel_3);
}
}
// For red/blue swapping for 64bpp, pre-add 1 to sample_address_ints.
void XeResolveLoad8RedPixelSamplesFromRaw(
xesl_function_param_uintVectorBuffer(xe_resolve_source)
xesl_function_param_next_after_uintVectorBuffer
uint sample_address_ints, uint pixel_stride_ints, uint format_ints_log2,
uint format, bool swap_32bpp,
xesl_function_param_out(xesl_float4, pixels_0123),
xesl_function_param_out(xesl_float4, pixels_4567)) {
xesl_uint4 packed_0123, packed_4567;
xesl_dont_flatten if (pixel_stride_ints == 1u) {
packed_0123 = xesl_uintVectorBufferLoad4(
xe_resolve_source, sample_address_ints);
packed_4567 = xesl_uintVectorBufferLoad4(
xe_resolve_source, sample_address_ints + 4u);
} else {
packed_0123.x = xesl_uintVectorBufferLoad1(
xe_resolve_source, sample_address_ints);
packed_0123.y = xesl_uintVectorBufferLoad1(
xe_resolve_source, sample_address_ints + pixel_stride_ints);
packed_0123.z = xesl_uintVectorBufferLoad1(
xe_resolve_source, sample_address_ints + 2u * pixel_stride_ints);
packed_0123.w = xesl_uintVectorBufferLoad1(
xe_resolve_source, sample_address_ints + 3u * pixel_stride_ints);
packed_4567.x = xesl_uintVectorBufferLoad1(
xe_resolve_source, sample_address_ints + 4u * pixel_stride_ints);
packed_4567.y = xesl_uintVectorBufferLoad1(
xe_resolve_source, sample_address_ints + 5u * pixel_stride_ints);
packed_4567.z = xesl_uintVectorBufferLoad1(
xe_resolve_source, sample_address_ints + 6u * pixel_stride_ints);
packed_4567.w = xesl_uintVectorBufferLoad1(
xe_resolve_source, sample_address_ints + 7u * pixel_stride_ints);
}
xesl_dont_flatten if (format_ints_log2 != 0u) {
XeResolveUnpack64bpp8RedUnswappedSamples(packed_0123, packed_4567,
format, pixels_0123,
pixels_4567);
} else {
XeResolveUnpack32bpp8RedSamples(packed_0123, packed_4567, format,
swap_32bpp, pixels_0123, pixels_4567);
}
}
void XeResolveLoad2RGBAColors(
xesl_function_param_uintVectorBuffer(xe_resolve_source)
xesl_function_param_next_after_uintVectorBuffer
XeResolveInfo resolve_info, uint address_ints,
xesl_function_param_out(xesl_float4, pixel_0),
xesl_function_param_out(xesl_float4, pixel_1)) {
uint pixel_stride_ints = XeResolveEdramPixelStrideInts(resolve_info);
XeResolveLoad2RGBAUnswappedPixelSamplesFromRaw(
xesl_function_call_uintVectorBuffer(xe_resolve_source)
xesl_function_call_next_after_uintVectorBuffer
address_ints, pixel_stride_ints, resolve_info.edram_format_ints_log2,
resolve_info.edram_format, pixel_0, pixel_1);
float exp_bias = resolve_info.dest_exp_bias_factor;
xesl_dont_flatten
if (resolve_info.sample_select >= kXenosCopySampleSelect_01) {
uint tile_row_stride_ints = 80u * resolve_info.resolution_scale.x;
// TODO(Triang3l): Gamma-correct resolve for 8_8_8_8_GAMMA.
exp_bias *= 0.5f;
xesl_float4 msaa_resolve_pixel_0, msaa_resolve_pixel_1;
XeResolveLoad2RGBAUnswappedPixelSamplesFromRaw(
xesl_function_call_uintVectorBuffer(xe_resolve_source)
xesl_function_call_next_after_uintVectorBuffer
address_ints + tile_row_stride_ints, pixel_stride_ints,
resolve_info.edram_format_ints_log2, resolve_info.edram_format,
msaa_resolve_pixel_0, msaa_resolve_pixel_1);
pixel_0 += msaa_resolve_pixel_0;
pixel_1 += msaa_resolve_pixel_1;
xesl_dont_flatten
if (resolve_info.sample_select >= kXenosCopySampleSelect_0123) {
uint sample_stride_ints = 1u << resolve_info.edram_format_ints_log2;
exp_bias *= 0.5f;
XeResolveLoad2RGBAUnswappedPixelSamplesFromRaw(
xesl_function_call_uintVectorBuffer(xe_resolve_source)
xesl_function_call_next_after_uintVectorBuffer
address_ints + sample_stride_ints, pixel_stride_ints,
resolve_info.edram_format_ints_log2, resolve_info.edram_format,
msaa_resolve_pixel_0, msaa_resolve_pixel_1);
pixel_0 += msaa_resolve_pixel_0;
pixel_1 += msaa_resolve_pixel_1;
XeResolveLoad2RGBAUnswappedPixelSamplesFromRaw(
xesl_function_call_uintVectorBuffer(xe_resolve_source)
xesl_function_call_next_after_uintVectorBuffer
address_ints + tile_row_stride_ints + sample_stride_ints,
pixel_stride_ints, resolve_info.edram_format_ints_log2,
resolve_info.edram_format, msaa_resolve_pixel_0,
msaa_resolve_pixel_1);
pixel_0 += msaa_resolve_pixel_0;
pixel_1 += msaa_resolve_pixel_1;
}
}
pixel_0 *= exp_bias;
pixel_1 *= exp_bias;
xesl_dont_flatten if (resolve_info.dest_swap) {
pixel_0 = pixel_0.bgra;
pixel_1 = pixel_1.bgra;
}
}
void XeResolveLoad4RGBAColors(
xesl_function_param_uintVectorBuffer(xe_resolve_source)
xesl_function_param_next_after_uintVectorBuffer
XeResolveInfo resolve_info, uint address_ints,
xesl_function_param_out(xesl_float4, pixel_0),
xesl_function_param_out(xesl_float4, pixel_1),
xesl_function_param_out(xesl_float4, pixel_2),
xesl_function_param_out(xesl_float4, pixel_3)) {
uint pixel_stride_ints = XeResolveEdramPixelStrideInts(resolve_info);
XeResolveLoad4RGBAUnswappedPixelSamplesFromRaw(
xesl_function_call_uintVectorBuffer(xe_resolve_source)
xesl_function_call_next_after_uintVectorBuffer
address_ints, pixel_stride_ints, resolve_info.edram_format_ints_log2,
resolve_info.edram_format, pixel_0, pixel_1, pixel_2, pixel_3);
float exp_bias = resolve_info.dest_exp_bias_factor;
xesl_dont_flatten
if (resolve_info.sample_select >= kXenosCopySampleSelect_01) {
uint tile_row_stride_ints = 80u * resolve_info.resolution_scale.x;
// TODO(Triang3l): Gamma-correct resolve for 8_8_8_8_GAMMA.
exp_bias *= 0.5f;
xesl_float4 msaa_resolve_pixel_0;
xesl_float4 msaa_resolve_pixel_1;
xesl_float4 msaa_resolve_pixel_2;
xesl_float4 msaa_resolve_pixel_3;
XeResolveLoad4RGBAUnswappedPixelSamplesFromRaw(
xesl_function_call_uintVectorBuffer(xe_resolve_source)
xesl_function_call_next_after_uintVectorBuffer
address_ints + tile_row_stride_ints, pixel_stride_ints,
resolve_info.edram_format_ints_log2, resolve_info.edram_format,
msaa_resolve_pixel_0, msaa_resolve_pixel_1, msaa_resolve_pixel_2,
msaa_resolve_pixel_3);
pixel_0 += msaa_resolve_pixel_0;
pixel_1 += msaa_resolve_pixel_1;
pixel_2 += msaa_resolve_pixel_2;
pixel_3 += msaa_resolve_pixel_3;
xesl_dont_flatten
if (resolve_info.sample_select >= kXenosCopySampleSelect_0123) {
uint sample_stride_ints = 1u << resolve_info.edram_format_ints_log2;
exp_bias *= 0.5f;
XeResolveLoad4RGBAUnswappedPixelSamplesFromRaw(
xesl_function_call_uintVectorBuffer(xe_resolve_source)
xesl_function_call_next_after_uintVectorBuffer
address_ints + sample_stride_ints, pixel_stride_ints,
resolve_info.edram_format_ints_log2, resolve_info.edram_format,
msaa_resolve_pixel_0, msaa_resolve_pixel_1, msaa_resolve_pixel_2,
msaa_resolve_pixel_3);
pixel_0 += msaa_resolve_pixel_0;
pixel_1 += msaa_resolve_pixel_1;
pixel_2 += msaa_resolve_pixel_2;
pixel_3 += msaa_resolve_pixel_3;
XeResolveLoad4RGBAUnswappedPixelSamplesFromRaw(
xesl_function_call_uintVectorBuffer(xe_resolve_source)
xesl_function_call_next_after_uintVectorBuffer
address_ints + tile_row_stride_ints + sample_stride_ints,
pixel_stride_ints, resolve_info.edram_format_ints_log2,
resolve_info.edram_format, msaa_resolve_pixel_0,
msaa_resolve_pixel_1, msaa_resolve_pixel_2, msaa_resolve_pixel_3);
pixel_0 += msaa_resolve_pixel_0;
pixel_1 += msaa_resolve_pixel_1;
pixel_2 += msaa_resolve_pixel_2;
pixel_3 += msaa_resolve_pixel_3;
}
}
pixel_0 *= exp_bias;
pixel_1 *= exp_bias;
pixel_2 *= exp_bias;
pixel_3 *= exp_bias;
xesl_dont_flatten if (resolve_info.dest_swap) {
pixel_0 = pixel_0.bgra;
pixel_1 = pixel_1.bgra;
pixel_2 = pixel_2.bgra;
pixel_3 = pixel_3.bgra;
}
}
void XeResolveLoad8RedColors(
xesl_function_param_uintVectorBuffer(xe_resolve_source)
xesl_function_param_next_after_uintVectorBuffer
XeResolveInfo resolve_info, uint address_ints,
xesl_function_param_out(xesl_float4, pixels_0123),
xesl_function_param_out(xesl_float4, pixels_4567)) {
uint pixel_stride_ints = XeResolveEdramPixelStrideInts(resolve_info);
if (resolve_info.dest_swap) {
// Likely want to load the blue part from the right half for 64bpp.
address_ints += resolve_info.edram_format_ints_log2;
}
XeResolveLoad8RedPixelSamplesFromRaw(
xesl_function_call_uintVectorBuffer(xe_resolve_source)
xesl_function_call_next_after_uintVectorBuffer
address_ints, pixel_stride_ints, resolve_info.edram_format_ints_log2,
resolve_info.edram_format, resolve_info.dest_swap, pixels_0123,
pixels_4567);
float exp_bias = resolve_info.dest_exp_bias_factor;
xesl_dont_flatten
if (resolve_info.sample_select >= kXenosCopySampleSelect_01) {
uint tile_row_stride_ints = 80u * resolve_info.resolution_scale.x;
// TODO(Triang3l): Gamma-correct resolve for 8_8_8_8_GAMMA.
exp_bias *= 0.5f;
xesl_float4 msaa_resolve_pixels_0123, msaa_resolve_pixels_4567;
XeResolveLoad8RedPixelSamplesFromRaw(
xesl_function_call_uintVectorBuffer(xe_resolve_source)
xesl_function_call_next_after_uintVectorBuffer
address_ints + tile_row_stride_ints, pixel_stride_ints,
resolve_info.edram_format_ints_log2, resolve_info.edram_format,
resolve_info.dest_swap, msaa_resolve_pixels_0123,
msaa_resolve_pixels_4567);
pixels_0123 += msaa_resolve_pixels_0123;
pixels_4567 += msaa_resolve_pixels_4567;
xesl_dont_flatten
if (resolve_info.sample_select >= kXenosCopySampleSelect_0123) {
uint sample_stride_ints = 1u << resolve_info.edram_format_ints_log2;
exp_bias *= 0.5f;
XeResolveLoad8RedPixelSamplesFromRaw(
xesl_function_call_uintVectorBuffer(xe_resolve_source)
xesl_function_call_next_after_uintVectorBuffer
address_ints + sample_stride_ints, pixel_stride_ints,
resolve_info.edram_format_ints_log2, resolve_info.edram_format,
resolve_info.dest_swap, msaa_resolve_pixels_0123,
msaa_resolve_pixels_4567);
pixels_0123 += msaa_resolve_pixels_0123;
pixels_4567 += msaa_resolve_pixels_4567;
XeResolveLoad8RedPixelSamplesFromRaw(
xesl_function_call_uintVectorBuffer(xe_resolve_source)
xesl_function_call_next_after_uintVectorBuffer
address_ints + tile_row_stride_ints + sample_stride_ints,
pixel_stride_ints, resolve_info.edram_format_ints_log2,
resolve_info.edram_format, resolve_info.dest_swap,
msaa_resolve_pixels_0123, msaa_resolve_pixels_4567);
pixels_0123 += msaa_resolve_pixels_0123;
pixels_4567 += msaa_resolve_pixels_4567;
}
}
pixels_0123 *= exp_bias;
pixels_4567 *= exp_bias;
}
#endif // XE_RESOLVE_SOURCE_IS_UINT_VECTOR_BUFFER
xesl_uint4 XeResolveSwapRedBlue_8_8_8_8(xesl_uint4 pixels) {
return (pixels & ~0xFF00FFu) | ((pixels & 0xFFu) << 16u) |
((pixels >> 16u) & 0xFFu);
}
xesl_uint4 XeResolveSwapRedBlue_2_10_10_10(xesl_uint4 pixels) {
return (pixels & ~0x3FF003FF) | ((pixels & 0x3FFu) << 20u) |
((pixels >> 20u) & 0x3FFu);
}
void XeResolveSwap8PixelsRedBlue32bpp(
XeResolveInfo resolve_info,
xesl_function_param_inout(xesl_uint4, pixels_0123),
xesl_function_param_inout(xesl_uint4, pixels_4567)) {
xesl_dont_flatten if (resolve_info.dest_swap) {
switch (resolve_info.edram_format) {
case kXenosColorRenderTargetFormat_8_8_8_8:
case kXenosColorRenderTargetFormat_8_8_8_8_GAMMA:
pixels_0123 = XeResolveSwapRedBlue_8_8_8_8(pixels_0123);
pixels_4567 = XeResolveSwapRedBlue_8_8_8_8(pixels_4567);
break;
case kXenosColorRenderTargetFormat_2_10_10_10:
case kXenosColorRenderTargetFormat_2_10_10_10_FLOAT:
case kXenosColorRenderTargetFormat_2_10_10_10_AS_10_10_10_10:
case kXenosColorRenderTargetFormat_2_10_10_10_FLOAT_AS_16_16_16_16:
pixels_0123 = XeResolveSwapRedBlue_2_10_10_10(pixels_0123);
pixels_4567 = XeResolveSwapRedBlue_2_10_10_10(pixels_4567);
break;
}
}
}
void XeResolveSwap4PixelsRedBlue64bpp(
XeResolveInfo resolve_info,
xesl_function_param_inout(xesl_uint4, pixels_01),
xesl_function_param_inout(xesl_uint4, pixels_23)) {
xesl_dont_flatten if (resolve_info.dest_swap) {
xesl_dont_flatten
if (resolve_info.edram_format ==
kXenosColorRenderTargetFormat_16_16_16_16 ||
resolve_info.edram_format ==
kXenosColorRenderTargetFormat_16_16_16_16_FLOAT) {
pixels_01 = (pixels_01 & ~0xFFFFu) | (pixels_01.yxwz & 0xFFFFu);
pixels_23 = (pixels_23 & ~0xFFFFu) | (pixels_23.yxwz & 0xFFFFu);
}
}
}
#endif
#endif // XENIA_GPU_SHADERS_RESOLVE_XESLI_

View File

@ -1 +0,0 @@
#include "resolve_clear_32bpp.hlsli"

View File

@ -0,0 +1 @@
#include "resolve_clear_32bpp.xesli"

View File

@ -1,27 +0,0 @@
#define XE_RESOLVE_CLEAR
#include "resolve.hlsli"
RWBuffer<uint4> xe_resolve_dest : register(u0);
[numthreads(8, 8, 1)]
void main(uint3 xe_thread_id : SV_DispatchThreadID) {
// 1 thread = 8 host samples (same as resolve granularity at 1x1 scale).
uint2 extent_scale =
uint2(XeResolveEdramMsaaSamples() >= uint2(kXenosMsaaSamples_4X,
kXenosMsaaSamples_2X));
// Group height can't cross resolve granularity, Y overflow check not needed.
[branch] if (xe_thread_id.x >=
(XeResolveScaledSizeDiv8().x << extent_scale.x)) {
return;
}
uint address_int4s =
XeEdramOffsetInts(
(xe_thread_id.xy << uint2(3u, 0u)) +
(XeResolveScaledOffset() << extent_scale),
XeResolveEdramBaseTiles(), XeResolveEdramPitchTiles(),
kXenosMsaaSamples_1X, XeResolveEdramIsDepth(), 0u, 0u,
XeResolveResolutionScale())
>> 2u;
xe_resolve_dest[address_int4s] = xe_resolve_clear_value.xxxx;
xe_resolve_dest[address_int4s + 1u] = xe_resolve_clear_value.xxxx;
}

View File

@ -0,0 +1,50 @@
/**
******************************************************************************
* Xenia : Xbox 360 Emulator Research Project *
******************************************************************************
* Copyright 2022 Ben Vanik. All rights reserved. *
* Released under the BSD license - see LICENSE in the root for more details. *
******************************************************************************
*/
#define XE_RESOLVE_CLEAR
#include "resolve.xesli"
xesl_writeTypedStorageBuffer_declare(xesl_uint4, xe_resolve_dest, set=0,
binding=0, u0, space0)
#define xesl_localSize_x 8
#define xesl_localSize_y 8
#define xesl_localSize_z 1
xesl_entry_bindings_begin_compute
XE_RESOLVE_PUSH_CONSTANTS_BINDING
xesl_entry_binding_next
xesl_writeTypedStorageBuffer_binding(xesl_uint4, xe_resolve_dest,
buffer(1))
xesl_entry_bindings_end_inputs_begin_compute
xesl_entry_input_globalInvocationID
xesl_entry_inputs_end_code_begin_compute
// 1 thread = 8 host samples (same as the resolve granularity at 1x1 scale).
XeResolveInfo resolve_info =
XeResolveGetInfo(xesl_function_call_pushConstants);
xesl_uint2 extent_scale = xesl_uint2(xesl_greaterThanEqual(
xesl_uint_x2(resolve_info.edram_msaa_samples),
xesl_uint2(kXenosMsaaSamples_4X, kXenosMsaaSamples_2X)));
// Group height can't cross resolve granularity, Y overflow check not needed.
xesl_dont_flatten
if (xesl_GlobalInvocationID.x >=
resolve_info.width_div_8_scaled << extent_scale.x) {
return;
}
uint address_int4s =
XeEdramOffsetInts(
(xesl_GlobalInvocationID.xy << xesl_uint2(3u, 0u)) +
(resolve_info.edram_offset_scaled << extent_scale),
resolve_info.edram_base_tiles, resolve_info.edram_pitch_tiles,
kXenosMsaaSamples_1X, resolve_info.edram_is_depth, 0u, 0u,
resolve_info.resolution_scale)
>> 2u;
xesl_writeTypedStorageBufferStore(xe_resolve_dest, address_int4s,
resolve_info.clear_value.xxxx);
xesl_writeTypedStorageBufferStore(xe_resolve_dest, address_int4s + 1u,
resolve_info.clear_value.xxxx);
xesl_entry_code_end_compute

View File

@ -1,2 +1,2 @@
#define XE_RESOLVE_RESOLUTION_SCALED
#include "resolve_clear_64bpp.hlsli"
#include "resolve_clear_32bpp.xesli"

View File

@ -1 +0,0 @@
#include "resolve_clear_64bpp.hlsli"

View File

@ -0,0 +1 @@
#include "resolve_clear_64bpp.xesli"

View File

@ -1,28 +0,0 @@
#define XE_RESOLVE_CLEAR
#include "resolve.hlsli"
RWBuffer<uint4> xe_resolve_dest : register(u0);
[numthreads(8, 8, 1)]
void main(uint3 xe_thread_id : SV_DispatchThreadID) {
// 1 thread = 8 host samples (same as resolve granularity at 1x1 scale).
uint2 extent_scale =
uint2(XeResolveEdramMsaaSamples() >= uint2(kXenosMsaaSamples_4X,
kXenosMsaaSamples_2X));
// Group height can't cross resolve granularity, Y overflow check not needed.
[branch] if (xe_thread_id.x >=
(XeResolveScaledSizeDiv8().x << extent_scale.x)) {
return;
}
uint address_int4s =
XeEdramOffsetInts(
(xe_thread_id.xy << uint2(3u, 0u)) +
(XeResolveScaledOffset() << extent_scale),
XeResolveEdramBaseTiles(), XeResolveEdramPitchTiles(),
kXenosMsaaSamples_1X, false, 1u, 0u, XeResolveResolutionScale())
>> 2u;
uint i;
[unroll] for (i = 0u; i < 4u; ++i) {
xe_resolve_dest[address_int4s + i] = xe_resolve_clear_value.xyxy;
}
}

View File

@ -0,0 +1,50 @@
/**
******************************************************************************
* Xenia : Xbox 360 Emulator Research Project *
******************************************************************************
* Copyright 2022 Ben Vanik. All rights reserved. *
* Released under the BSD license - see LICENSE in the root for more details. *
******************************************************************************
*/
#define XE_RESOLVE_CLEAR
#include "resolve.xesli"
xesl_writeTypedStorageBuffer_declare(xesl_uint4, xe_resolve_dest, set=0,
binding=0, u0, space0)
#define xesl_localSize_x 8
#define xesl_localSize_y 8
#define xesl_localSize_z 1
xesl_entry_bindings_begin_compute
XE_RESOLVE_PUSH_CONSTANTS_BINDING
xesl_entry_binding_next
xesl_writeTypedStorageBuffer_binding(xesl_uint4, xe_resolve_dest,
buffer(1))
xesl_entry_bindings_end_inputs_begin_compute
xesl_entry_input_globalInvocationID
xesl_entry_inputs_end_code_begin_compute
// 1 thread = 8 host samples (same as the resolve granularity at 1x1 scale).
XeResolveInfo resolve_info =
XeResolveGetInfo(xesl_function_call_pushConstants);
xesl_uint2 extent_scale = xesl_uint2(xesl_greaterThanEqual(
xesl_uint_x2(resolve_info.edram_msaa_samples),
xesl_uint2(kXenosMsaaSamples_4X, kXenosMsaaSamples_2X)));
// Group height can't cross resolve granularity, Y overflow check not needed.
xesl_dont_flatten
if (xesl_GlobalInvocationID.x >=
resolve_info.width_div_8_scaled << extent_scale.x) {
return;
}
uint address_int4s =
XeEdramOffsetInts(
(xesl_GlobalInvocationID.xy << xesl_uint2(3u, 0u)) +
(resolve_info.edram_offset_scaled << extent_scale),
resolve_info.edram_base_tiles, resolve_info.edram_pitch_tiles,
kXenosMsaaSamples_1X, false, 1u, 0u, resolve_info.resolution_scale)
>> 2u;
uint i;
xesl_unroll for (i = 0u; i < 4u; ++i) {
xesl_writeTypedStorageBufferStore(xe_resolve_dest, address_int4s + i,
resolve_info.clear_value.xyxy);
}
xesl_entry_code_end_compute

View File

@ -1,2 +1,2 @@
#define XE_RESOLVE_RESOLUTION_SCALED
#include "resolve_full_128bpp.hlsli"
#include "resolve_clear_64bpp.xesli"

View File

@ -1 +0,0 @@
#include "resolve_fast_32bpp_1x2xmsaa.hlsli"

View File

@ -0,0 +1 @@
#include "resolve_fast_32bpp_1x2xmsaa.xesli"

View File

@ -1,36 +0,0 @@
#include "endian.xesli"
#include "resolve.hlsli"
RWBuffer<uint4> xe_resolve_dest : register(u0);
Buffer<uint4> xe_resolve_source : register(t0);
[numthreads(8, 8, 1)]
void main(uint3 xe_thread_id : SV_DispatchThreadID) {
// 1 thread = 8 host pixels.
uint2 pixel_index = xe_thread_id.xy << uint2(3u, 0u);
// Group height can't cross resolve granularity, Y overflow check not needed.
[branch] if (pixel_index.x >= XeResolveScaledSize().x) {
return;
}
bool2 duplicate_second = XeResolveDuplicateSecondHostPixel();
uint source_address_int4s =
XeEdramOffsetInts(
uint2(pixel_index.x, max(pixel_index.y, uint(duplicate_second.y))) +
XeResolveScaledOffset(),
XeResolveEdramBaseTiles(), XeResolveEdramPitchTiles(),
XeResolveEdramMsaaSamples(), XeResolveEdramIsDepth(), 0u,
XeResolveFirstSampleIndex(), XeResolveResolutionScale())
>> 2u;
uint4 pixels_0123 = xe_resolve_source[source_address_int4s];
uint4 pixels_4567 = xe_resolve_source[source_address_int4s + 1u];
if (duplicate_second.x && pixel_index.x == 0u) {
pixels_0123.x = pixels_0123.y;
}
XeResolveSwap8PixelsRedBlue32bpp(pixels_0123, pixels_4567);
uint endian = XeResolveDestEndian128();
uint dest_address = XeResolveDestPixelAddress(pixel_index, 2u) >> 4u;
xe_resolve_dest[dest_address] = XeEndianSwap32(pixels_0123, endian);
dest_address +=
XeResolveDestRightConsecutiveBlocksOffset(pixel_index.x, 2u) >> 4u;
xe_resolve_dest[dest_address] = XeEndianSwap32(pixels_4567, endian);
}

View File

@ -0,0 +1,67 @@
/**
******************************************************************************
* Xenia : Xbox 360 Emulator Research Project *
******************************************************************************
* Copyright 2022 Ben Vanik. All rights reserved. *
* Released under the BSD license - see LICENSE in the root for more details. *
******************************************************************************
*/
#include "endian.xesli"
#define XE_RESOLVE_SOURCE_TYPE xesl_uint4
#include "resolve.xesli"
xesl_writeTypedStorageBuffer_declare(xesl_uint4, xe_resolve_dest, set=0,
binding=0, u0, space0)
#define xesl_localSize_x 8
#define xesl_localSize_y 8
#define xesl_localSize_z 1
xesl_entry_bindings_begin_compute
XE_RESOLVE_PUSH_CONSTANTS_BINDING
xesl_entry_binding_next
xesl_writeTypedStorageBuffer_binding(xesl_uint4, xe_resolve_dest,
buffer(1))
xesl_entry_binding_next
XE_RESOLVE_SOURCE_BINDING
xesl_entry_bindings_end_inputs_begin_compute
xesl_entry_input_globalInvocationID
xesl_entry_inputs_end_code_begin_compute
// 1 thread = 8 host pixels.
XeResolveInfo resolve_info =
XeResolveGetInfo(xesl_function_call_pushConstants);
// Group height can't cross resolve granularity, Y overflow check not needed.
xesl_dont_flatten
if (xesl_GlobalInvocationID.x >= resolve_info.width_div_8_scaled) {
return;
}
xesl_uint2 pixel_index = xesl_GlobalInvocationID.xy << xesl_uint2(3u, 0u);
uint source_address_int4s =
XeEdramOffsetInts(
xesl_uint2(pixel_index.x,
max(pixel_index.y,
uint(resolve_info.duplicate_second_host_pixel.y))) +
resolve_info.edram_offset_scaled,
resolve_info.edram_base_tiles, resolve_info.edram_pitch_tiles,
resolve_info.edram_msaa_samples, resolve_info.edram_is_depth, 0u,
XeResolveFirstSampleIndex(resolve_info.sample_select),
resolve_info.resolution_scale)
>> 2u;
xesl_uint4 pixels_0123 =
xesl_typedStorageBufferLoad(xe_resolve_source, source_address_int4s);
xesl_uint4 pixels_4567 =
xesl_typedStorageBufferLoad(xe_resolve_source, source_address_int4s + 1u);
if (resolve_info.duplicate_second_host_pixel.x && pixel_index.x == 0u) {
pixels_0123.x = pixels_0123.y;
}
XeResolveSwap8PixelsRedBlue32bpp(resolve_info, pixels_0123, pixels_4567);
uint dest_address =
XeResolveDestPixelAddress(resolve_info, pixel_index, 2u) >> 4u;
xesl_writeTypedStorageBufferStore(
xe_resolve_dest, dest_address,
XeEndianSwap32(pixels_0123, resolve_info.dest_endian_128));
dest_address += XeResolveDestRightConsecutiveBlocksOffset(
pixel_index.x, 2u, resolve_info.resolution_scale) >> 4u;
xesl_writeTypedStorageBufferStore(
xe_resolve_dest, dest_address,
XeEndianSwap32(pixels_4567, resolve_info.dest_endian_128));
xesl_entry_code_end_compute

View File

@ -1,2 +0,0 @@
#define XE_RESOLVE_RESOLUTION_SCALED
#include "resolve_fast_32bpp_1x2xmsaa.hlsli"

View File

@ -0,0 +1,2 @@
#define XE_RESOLVE_RESOLUTION_SCALED
#include "resolve_fast_32bpp_1x2xmsaa.xesli"

View File

@ -1 +0,0 @@
#include "resolve_fast_32bpp_4xmsaa.hlsli"

View File

@ -0,0 +1 @@
#include "resolve_fast_32bpp_4xmsaa.xesli"

View File

@ -1,48 +0,0 @@
#include "endian.xesli"
#include "resolve.hlsli"
RWBuffer<uint4> xe_resolve_dest : register(u0);
Buffer<uint4> xe_resolve_source : register(t0);
[numthreads(8, 8, 1)]
void main(uint3 xe_thread_id : SV_DispatchThreadID) {
// 1 thread = 8 host pixels.
uint2 pixel_index = xe_thread_id.xy << uint2(3u, 0u);
// Group height can't cross resolve granularity, Y overflow check not needed.
[branch] if (pixel_index.x >= XeResolveScaledSize().x) {
return;
}
bool2 duplicate_second = XeResolveDuplicateSecondHostPixel();
uint source_address_int4s =
XeEdramOffsetInts(
uint2(pixel_index.x, max(pixel_index.y, uint(duplicate_second.y))) +
XeResolveScaledOffset(),
XeResolveEdramBaseTiles(), XeResolveEdramPitchTiles(),
kXenosMsaaSamples_4X, XeResolveEdramIsDepth(), 0u,
XeResolveFirstSampleIndex(), XeResolveResolutionScale())
>> 2u;
uint4 pixels_0123, pixels_4567;
uint sample_select = XeResolveSampleSelect();
[branch] if (sample_select != kXenosCopySampleSelect_2 &&
sample_select != kXenosCopySampleSelect_3) {
pixels_0123.xy = xe_resolve_source[source_address_int4s].xz;
pixels_0123.zw = xe_resolve_source[source_address_int4s + 1u].xz;
pixels_4567.xy = xe_resolve_source[source_address_int4s + 2u].xz;
pixels_4567.zw = xe_resolve_source[source_address_int4s + 3u].xz;
} else {
pixels_0123.xy = xe_resolve_source[source_address_int4s].yw;
pixels_0123.zw = xe_resolve_source[source_address_int4s + 1u].yw;
pixels_4567.xy = xe_resolve_source[source_address_int4s + 2u].yw;
pixels_4567.zw = xe_resolve_source[source_address_int4s + 3u].yw;
}
if (duplicate_second.x && pixel_index.x == 0u) {
pixels_0123.x = pixels_0123.y;
}
XeResolveSwap8PixelsRedBlue32bpp(pixels_0123, pixels_4567);
uint endian = XeResolveDestEndian128();
uint dest_address = XeResolveDestPixelAddress(pixel_index, 2u) >> 4u;
xe_resolve_dest[dest_address] = XeEndianSwap32(pixels_0123, endian);
dest_address +=
XeResolveDestRightConsecutiveBlocksOffset(pixel_index.x, 2u) >> 4u;
xe_resolve_dest[dest_address] = XeEndianSwap32(pixels_4567, endian);
}

View File

@ -0,0 +1,85 @@
/**
******************************************************************************
* Xenia : Xbox 360 Emulator Research Project *
******************************************************************************
* Copyright 2022 Ben Vanik. All rights reserved. *
* Released under the BSD license - see LICENSE in the root for more details. *
******************************************************************************
*/
#include "endian.xesli"
#define XE_RESOLVE_SOURCE_TYPE xesl_uint4
#include "resolve.xesli"
xesl_writeTypedStorageBuffer_declare(xesl_uint4, xe_resolve_dest, set=0,
binding=0, u0, space0)
#define xesl_localSize_x 8
#define xesl_localSize_y 8
#define xesl_localSize_z 1
xesl_entry_bindings_begin_compute
XE_RESOLVE_PUSH_CONSTANTS_BINDING
xesl_entry_binding_next
xesl_writeTypedStorageBuffer_binding(xesl_uint4, xe_resolve_dest,
buffer(1))
xesl_entry_binding_next
XE_RESOLVE_SOURCE_BINDING
xesl_entry_bindings_end_inputs_begin_compute
xesl_entry_input_globalInvocationID
xesl_entry_inputs_end_code_begin_compute
// 1 thread = 8 host pixels.
XeResolveInfo resolve_info =
XeResolveGetInfo(xesl_function_call_pushConstants);
// Group height can't cross resolve granularity, Y overflow check not needed.
xesl_dont_flatten
if (xesl_GlobalInvocationID.x >= resolve_info.width_div_8_scaled) {
return;
}
xesl_uint2 pixel_index = xesl_GlobalInvocationID.xy << xesl_uint2(3u, 0u);
uint source_address_int4s =
XeEdramOffsetInts(
xesl_uint2(pixel_index.x,
max(pixel_index.y,
uint(resolve_info.duplicate_second_host_pixel.y))) +
resolve_info.edram_offset_scaled,
resolve_info.edram_base_tiles, resolve_info.edram_pitch_tiles,
kXenosMsaaSamples_4X, resolve_info.edram_is_depth, 0u,
XeResolveFirstSampleIndex(resolve_info.sample_select),
resolve_info.resolution_scale)
>> 2u;
xesl_uint4 pixels_0123, pixels_4567;
xesl_dont_flatten
if (resolve_info.sample_select != kXenosCopySampleSelect_2 &&
resolve_info.sample_select != kXenosCopySampleSelect_3) {
pixels_0123.xy = xesl_typedStorageBufferLoad(
xe_resolve_source, source_address_int4s).xz;
pixels_0123.zw = xesl_typedStorageBufferLoad(
xe_resolve_source, source_address_int4s + 1u).xz;
pixels_4567.xy = xesl_typedStorageBufferLoad(
xe_resolve_source, source_address_int4s + 2u).xz;
pixels_4567.zw = xesl_typedStorageBufferLoad(
xe_resolve_source, source_address_int4s + 3u).xz;
} else {
pixels_0123.xy = xesl_typedStorageBufferLoad(
xe_resolve_source, source_address_int4s).yw;
pixels_0123.zw = xesl_typedStorageBufferLoad(
xe_resolve_source, source_address_int4s + 1u).yw;
pixels_4567.xy = xesl_typedStorageBufferLoad(
xe_resolve_source, source_address_int4s + 2u).yw;
pixels_4567.zw = xesl_typedStorageBufferLoad(
xe_resolve_source, source_address_int4s + 3u).yw;
}
if (resolve_info.duplicate_second_host_pixel.x && pixel_index.x == 0u) {
pixels_0123.x = pixels_0123.y;
}
XeResolveSwap8PixelsRedBlue32bpp(resolve_info, pixels_0123, pixels_4567);
uint dest_address =
XeResolveDestPixelAddress(resolve_info, pixel_index, 2u) >> 4u;
xesl_writeTypedStorageBufferStore(
xe_resolve_dest, dest_address,
XeEndianSwap32(pixels_0123, resolve_info.dest_endian_128));
dest_address += XeResolveDestRightConsecutiveBlocksOffset(
pixel_index.x, 2u, resolve_info.resolution_scale) >> 4u;
xesl_writeTypedStorageBufferStore(
xe_resolve_dest, dest_address,
XeEndianSwap32(pixels_4567, resolve_info.dest_endian_128));
xesl_entry_code_end_compute

View File

@ -1,2 +0,0 @@
#define XE_RESOLVE_RESOLUTION_SCALED
#include "resolve_fast_32bpp_4xmsaa.hlsli"

View File

@ -0,0 +1,2 @@
#define XE_RESOLVE_RESOLUTION_SCALED
#include "resolve_fast_32bpp_4xmsaa.xesli"

View File

@ -1 +0,0 @@
#include "resolve_fast_64bpp_1x2xmsaa.hlsli"

View File

@ -0,0 +1 @@
#include "resolve_fast_64bpp_1x2xmsaa.xesli"

View File

@ -1,36 +0,0 @@
#include "endian.xesli"
#include "resolve.hlsli"
RWBuffer<uint4> xe_resolve_dest : register(u0);
Buffer<uint4> xe_resolve_source : register(t0);
[numthreads(8, 8, 1)]
void main(uint3 xe_thread_id : SV_DispatchThreadID) {
// 1 thread = 4 host pixels.
uint2 pixel_index = xe_thread_id.xy << uint2(2u, 0u);
// Group height can't cross resolve granularity, Y overflow check not needed.
[branch] if (pixel_index.x >= XeResolveScaledSize().x) {
return;
}
bool2 duplicate_second = XeResolveDuplicateSecondHostPixel();
uint source_address_int4s =
XeEdramOffsetInts(
uint2(pixel_index.x, max(pixel_index.y, uint(duplicate_second.y))) +
XeResolveScaledOffset(),
XeResolveEdramBaseTiles(), XeResolveEdramPitchTiles(),
XeResolveEdramMsaaSamples(), false, 1u, XeResolveFirstSampleIndex(),
XeResolveResolutionScale())
>> 2u;
uint4 pixels_01 = xe_resolve_source[source_address_int4s];
uint4 pixels_23 = xe_resolve_source[source_address_int4s + 1u];
if (duplicate_second.x && pixel_index.x == 0u) {
pixels_01.xy = pixels_01.zw;
}
XeResolveSwap4PixelsRedBlue64bpp(pixels_01, pixels_23);
uint endian = XeResolveDestEndian128();
uint dest_address = XeResolveDestPixelAddress(pixel_index, 3u) >> 4u;
xe_resolve_dest[dest_address] = XeEndianSwap64(pixels_01, endian);
dest_address +=
XeResolveDestRightConsecutiveBlocksOffset(pixel_index.x, 3u) >> 4u;
xe_resolve_dest[dest_address] = XeEndianSwap64(pixels_23, endian);
}

View File

@ -0,0 +1,67 @@
/**
******************************************************************************
* Xenia : Xbox 360 Emulator Research Project *
******************************************************************************
* Copyright 2022 Ben Vanik. All rights reserved. *
* Released under the BSD license - see LICENSE in the root for more details. *
******************************************************************************
*/
#include "endian.xesli"
#define XE_RESOLVE_SOURCE_TYPE xesl_uint4
#include "resolve.xesli"
xesl_writeTypedStorageBuffer_declare(xesl_uint4, xe_resolve_dest, set=0,
binding=0, u0, space0)
#define xesl_localSize_x 8
#define xesl_localSize_y 8
#define xesl_localSize_z 1
xesl_entry_bindings_begin_compute
XE_RESOLVE_PUSH_CONSTANTS_BINDING
xesl_entry_binding_next
xesl_writeTypedStorageBuffer_binding(xesl_uint4, xe_resolve_dest,
buffer(1))
xesl_entry_binding_next
XE_RESOLVE_SOURCE_BINDING
xesl_entry_bindings_end_inputs_begin_compute
xesl_entry_input_globalInvocationID
xesl_entry_inputs_end_code_begin_compute
// 1 thread = 4 host pixels.
XeResolveInfo resolve_info =
XeResolveGetInfo(xesl_function_call_pushConstants);
xesl_uint2 pixel_index = xesl_GlobalInvocationID.xy << xesl_uint2(2u, 0u);
// Group height can't cross resolve granularity, Y overflow check not needed.
xesl_dont_flatten
if (pixel_index.x >= resolve_info.width_div_8_scaled << 3u) {
return;
}
uint source_address_int4s =
XeEdramOffsetInts(
xesl_uint2(pixel_index.x,
max(pixel_index.y,
uint(resolve_info.duplicate_second_host_pixel.y))) +
resolve_info.edram_offset_scaled,
resolve_info.edram_base_tiles, resolve_info.edram_pitch_tiles,
resolve_info.edram_msaa_samples, false, 1u,
XeResolveFirstSampleIndex(resolve_info.sample_select),
resolve_info.resolution_scale)
>> 2u;
xesl_uint4 pixels_01 =
xesl_typedStorageBufferLoad(xe_resolve_source, source_address_int4s);
xesl_uint4 pixels_23 =
xesl_typedStorageBufferLoad(xe_resolve_source, source_address_int4s + 1u);
if (resolve_info.duplicate_second_host_pixel.x && pixel_index.x == 0u) {
pixels_01.xy = pixels_01.zw;
}
XeResolveSwap4PixelsRedBlue64bpp(resolve_info, pixels_01, pixels_23);
uint dest_address =
XeResolveDestPixelAddress(resolve_info, pixel_index, 3u) >> 4u;
xesl_writeTypedStorageBufferStore(
xe_resolve_dest, dest_address,
XeEndianSwap64(pixels_01, resolve_info.dest_endian_128));
dest_address += XeResolveDestRightConsecutiveBlocksOffset(
pixel_index.x, 3u, resolve_info.resolution_scale) >> 4u;
xesl_writeTypedStorageBufferStore(
xe_resolve_dest, dest_address,
XeEndianSwap64(pixels_23, resolve_info.dest_endian_128));
xesl_entry_code_end_compute

View File

@ -1,2 +0,0 @@
#define XE_RESOLVE_RESOLUTION_SCALED
#include "resolve_fast_64bpp_1x2xmsaa.hlsli"

View File

@ -0,0 +1,2 @@
#define XE_RESOLVE_RESOLUTION_SCALED
#include "resolve_fast_64bpp_1x2xmsaa.xesli"

View File

@ -1 +0,0 @@
#include "resolve_fast_64bpp_4xmsaa.hlsli"

View File

@ -0,0 +1 @@
#include "resolve_fast_64bpp_4xmsaa.xesli"

View File

@ -1,38 +0,0 @@
#include "endian.xesli"
#include "resolve.hlsli"
RWBuffer<uint4> xe_resolve_dest : register(u0);
Buffer<uint2> xe_resolve_source : register(t0);
[numthreads(8, 8, 1)]
void main(uint3 xe_thread_id : SV_DispatchThreadID) {
// 1 thread = 4 host pixels.
uint2 pixel_index = xe_thread_id.xy << uint2(2u, 0u);
// Group height can't cross resolve granularity, Y overflow check not needed.
[branch] if (pixel_index.x >= XeResolveScaledSize().x) {
return;
}
bool2 duplicate_second = XeResolveDuplicateSecondHostPixel();
uint source_address_int2s =
XeEdramOffsetInts(
uint2(pixel_index.x, max(pixel_index.y, uint(duplicate_second.y))) +
XeResolveScaledOffset(),
XeResolveEdramBaseTiles(), XeResolveEdramPitchTiles(),
kXenosMsaaSamples_4X, false, 1u, XeResolveFirstSampleIndex(),
XeResolveResolutionScale())
>> 1u;
uint4 pixels_01, pixels_23;
pixels_01.xy = xe_resolve_source[
source_address_int2s +
uint(duplicate_second.x && pixel_index.x == 0u) * 2u];
pixels_01.zw = xe_resolve_source[source_address_int2s + 2u];
pixels_23.xy = xe_resolve_source[source_address_int2s + 4u];
pixels_23.zw = xe_resolve_source[source_address_int2s + 6u];
XeResolveSwap4PixelsRedBlue64bpp(pixels_01, pixels_23);
uint endian = XeResolveDestEndian128();
uint dest_address = XeResolveDestPixelAddress(pixel_index, 3u) >> 4u;
xe_resolve_dest[dest_address] = XeEndianSwap64(pixels_01, endian);
dest_address +=
XeResolveDestRightConsecutiveBlocksOffset(pixel_index.x, 3u) >> 4u;
xe_resolve_dest[dest_address] = XeEndianSwap64(pixels_23, endian);
}

View File

@ -0,0 +1,72 @@
/**
******************************************************************************
* Xenia : Xbox 360 Emulator Research Project *
******************************************************************************
* Copyright 2022 Ben Vanik. All rights reserved. *
* Released under the BSD license - see LICENSE in the root for more details. *
******************************************************************************
*/
#include "endian.xesli"
#define XE_RESOLVE_SOURCE_TYPE xesl_uint2
#include "resolve.xesli"
xesl_writeTypedStorageBuffer_declare(xesl_uint4, xe_resolve_dest, set=0,
binding=0, u0, space0)
#define xesl_localSize_x 8
#define xesl_localSize_y 8
#define xesl_localSize_z 1
xesl_entry_bindings_begin_compute
XE_RESOLVE_PUSH_CONSTANTS_BINDING
xesl_entry_binding_next
xesl_writeTypedStorageBuffer_binding(xesl_uint4, xe_resolve_dest,
buffer(1))
xesl_entry_binding_next
XE_RESOLVE_SOURCE_BINDING
xesl_entry_bindings_end_inputs_begin_compute
xesl_entry_input_globalInvocationID
xesl_entry_inputs_end_code_begin_compute
// 1 thread = 4 host pixels.
XeResolveInfo resolve_info =
XeResolveGetInfo(xesl_function_call_pushConstants);
xesl_uint2 pixel_index = xesl_GlobalInvocationID.xy << xesl_uint2(2u, 0u);
// Group height can't cross resolve granularity, Y overflow check not needed.
xesl_dont_flatten
if (pixel_index.x >= resolve_info.width_div_8_scaled << 3u) {
return;
}
uint source_address_int2s =
XeEdramOffsetInts(
xesl_uint2(pixel_index.x,
max(pixel_index.y,
uint(resolve_info.duplicate_second_host_pixel.y))) +
resolve_info.edram_offset_scaled,
resolve_info.edram_base_tiles, resolve_info.edram_pitch_tiles,
kXenosMsaaSamples_4X, false, 1u,
XeResolveFirstSampleIndex(resolve_info.sample_select),
resolve_info.resolution_scale)
>> 1u;
xesl_uint4 pixels_01, pixels_23;
pixels_01.xy = xesl_typedStorageBufferLoad(
xe_resolve_source,
source_address_int2s +
uint(resolve_info.duplicate_second_host_pixel.x &&
pixel_index.x == 0u) * 2u);
pixels_01.zw =
xesl_typedStorageBufferLoad(xe_resolve_source, source_address_int2s + 2u);
pixels_23.xy =
xesl_typedStorageBufferLoad(xe_resolve_source, source_address_int2s + 4u);
pixels_23.zw =
xesl_typedStorageBufferLoad(xe_resolve_source, source_address_int2s + 6u);
XeResolveSwap4PixelsRedBlue64bpp(resolve_info, pixels_01, pixels_23);
uint dest_address =
XeResolveDestPixelAddress(resolve_info, pixel_index, 3u) >> 4u;
xesl_writeTypedStorageBufferStore(
xe_resolve_dest, dest_address,
XeEndianSwap64(pixels_01, resolve_info.dest_endian_128));
dest_address += XeResolveDestRightConsecutiveBlocksOffset(
pixel_index.x, 3u, resolve_info.resolution_scale) >> 4u;
xesl_writeTypedStorageBufferStore(
xe_resolve_dest, dest_address,
XeEndianSwap64(pixels_23, resolve_info.dest_endian_128));
xesl_entry_code_end_compute

View File

@ -1,2 +0,0 @@
#define XE_RESOLVE_RESOLUTION_SCALED
#include "resolve_fast_64bpp_4xmsaa.hlsli"

View File

@ -0,0 +1,2 @@
#define XE_RESOLVE_RESOLUTION_SCALED
#include "resolve_fast_64bpp_4xmsaa.xesli"

View File

@ -1 +0,0 @@
#include "resolve_full_128bpp.hlsli"

View File

@ -0,0 +1 @@
#include "resolve_full_128bpp.xesli"

View File

@ -1,30 +0,0 @@
#include "endian.xesli"
#include "resolve.hlsli"
RWBuffer<uint4> xe_resolve_dest : register(u0);
ByteAddressBuffer xe_resolve_source : register(t0);
[numthreads(8, 8, 1)]
void main(uint3 xe_thread_id : SV_DispatchThreadID) {
// 1 thread = 2 host pixels.
uint2 pixel_index = xe_thread_id.xy << uint2(1u, 0u);
// Group height can't cross resolve granularity, Y overflow check not needed.
[branch] if (pixel_index.x >= XeResolveScaledSize().x) {
return;
}
float4 pixel_0, pixel_1;
XeResolveLoad2RGBAColors(
xe_resolve_source,
XeResolveColorCopySourcePixelAddressIntsYDuplicating(pixel_index),
pixel_0, pixel_1);
if (XeResolveDuplicateSecondHostPixel().x && pixel_index.x == 0u) {
pixel_0 = pixel_1;
}
// Only 32_32_32_32_FLOAT color format is 128bpp.
uint endian = XeResolveDestEndian128();
uint dest_address = XeResolveDestPixelAddress(pixel_index, 4u) >> 4u;
xe_resolve_dest[dest_address] = XeEndianSwap128(asuint(pixel_0), endian);
dest_address +=
XeResolveDestRightConsecutiveBlocksOffset(pixel_index.x, 4u) >> 4u;
xe_resolve_dest[dest_address] = XeEndianSwap128(asuint(pixel_1), endian);
}

View File

@ -0,0 +1,62 @@
/**
******************************************************************************
* Xenia : Xbox 360 Emulator Research Project *
******************************************************************************
* Copyright 2022 Ben Vanik. All rights reserved. *
* Released under the BSD license - see LICENSE in the root for more details. *
******************************************************************************
*/
#include "endian.xesli"
#define XE_RESOLVE_SOURCE_IS_UINT_VECTOR_BUFFER
#include "resolve.xesli"
xesl_writeTypedStorageBuffer_declare(xesl_uint4, xe_resolve_dest, set=0,
binding=0, u0, space0)
#define xesl_localSize_x 8
#define xesl_localSize_y 8
#define xesl_localSize_z 1
xesl_entry_bindings_begin_compute
XE_RESOLVE_PUSH_CONSTANTS_BINDING
xesl_entry_binding_next
xesl_writeTypedStorageBuffer_binding(xesl_uint4, xe_resolve_dest,
buffer(1))
xesl_entry_binding_next
XE_RESOLVE_SOURCE_BINDING
xesl_entry_bindings_end_inputs_begin_compute
xesl_entry_input_globalInvocationID
xesl_entry_inputs_end_code_begin_compute
// 1 thread = 2 host pixels.
XeResolveInfo resolve_info =
XeResolveGetInfo(xesl_function_call_pushConstants);
xesl_uint2 pixel_index = xesl_GlobalInvocationID.xy << xesl_uint2(1u, 0u);
// Group height can't cross resolve granularity, Y overflow check not needed.
xesl_dont_flatten
if (pixel_index.x >= resolve_info.width_div_8_scaled << 3u) {
return;
}
xesl_float4 pixel_0, pixel_1;
XeResolveLoad2RGBAColors(
xesl_function_call_uintVectorBuffer(xe_resolve_source)
xesl_function_call_next_after_uintVectorBuffer
resolve_info,
XeResolveColorCopySourcePixelAddressIntsYDuplicating(resolve_info,
pixel_index),
pixel_0, pixel_1);
if (resolve_info.duplicate_second_host_pixel.x && pixel_index.x == 0u) {
pixel_0 = pixel_1;
}
// Only 32_32_32_32_FLOAT color format is 128bpp.
uint dest_address =
XeResolveDestPixelAddress(resolve_info, pixel_index, 4u) >> 4u;
xesl_writeTypedStorageBufferStore(
xe_resolve_dest, dest_address,
XeEndianSwap128(xesl_floatBitsToUint(pixel_0),
resolve_info.dest_endian_128));
dest_address += XeResolveDestRightConsecutiveBlocksOffset(
pixel_index.x, 4u, resolve_info.resolution_scale) >> 4u;
xesl_writeTypedStorageBufferStore(
xe_resolve_dest, dest_address,
XeEndianSwap128(xesl_floatBitsToUint(pixel_1),
resolve_info.dest_endian_128));
xesl_entry_code_end_compute

View File

@ -1,2 +1,2 @@
#define XE_RESOLVE_RESOLUTION_SCALED
#include "resolve_clear_32bpp.hlsli"
#include "resolve_full_128bpp.xesli"

View File

@ -1 +0,0 @@
#include "resolve_full_16bpp.hlsli"

View File

@ -0,0 +1 @@
#include "resolve_full_16bpp.xesli"

View File

@ -1,28 +0,0 @@
#include "endian.xesli"
#include "pixel_formats.xesli"
#include "resolve.hlsli"
RWBuffer<uint2> xe_resolve_dest : register(u0);
ByteAddressBuffer xe_resolve_source : register(t0);
[numthreads(8, 8, 1)]
void main(uint3 xe_thread_id : SV_DispatchThreadID) {
// 1 thread = 4 host pixels.
uint2 pixel_index = xe_thread_id.xy << uint2(2u, 0u);
// Group height can't cross resolve granularity, Y overflow check not needed.
[branch] if (pixel_index.x >= XeResolveScaledSize().x) {
return;
}
float4 pixel_0, pixel_1, pixel_2, pixel_3;
XeResolveLoad4RGBAColors(
xe_resolve_source,
XeResolveColorCopySourcePixelAddressIntsYDuplicating(pixel_index),
pixel_0, pixel_1, pixel_2, pixel_3);
if (XeResolveDuplicateSecondHostPixel().x && pixel_index.x == 0u) {
pixel_0 = pixel_1;
}
xe_resolve_dest[XeResolveDestPixelAddress(pixel_index, 1u) >> 3u] =
XeEndianSwap16(XePack16bpp4PixelsInUInt2(pixel_0, pixel_1, pixel_2,
pixel_3, XeResolveDestFormat()),
XeResolveDestEndian128());
}

View File

@ -0,0 +1,57 @@
/**
******************************************************************************
* Xenia : Xbox 360 Emulator Research Project *
******************************************************************************
* Copyright 2022 Ben Vanik. All rights reserved. *
* Released under the BSD license - see LICENSE in the root for more details. *
******************************************************************************
*/
#include "endian.xesli"
#include "pixel_formats.xesli"
#define XE_RESOLVE_SOURCE_IS_UINT_VECTOR_BUFFER
#include "resolve.xesli"
xesl_writeTypedStorageBuffer_declare(xesl_uint2, xe_resolve_dest, set=0,
binding=0, u0, space0)
#define xesl_localSize_x 8
#define xesl_localSize_y 8
#define xesl_localSize_z 1
xesl_entry_bindings_begin_compute
XE_RESOLVE_PUSH_CONSTANTS_BINDING
xesl_entry_binding_next
xesl_writeTypedStorageBuffer_binding(xesl_uint2, xe_resolve_dest,
buffer(1))
xesl_entry_binding_next
XE_RESOLVE_SOURCE_BINDING
xesl_entry_bindings_end_inputs_begin_compute
xesl_entry_input_globalInvocationID
xesl_entry_inputs_end_code_begin_compute
// 1 thread = 4 host pixels.
XeResolveInfo resolve_info =
XeResolveGetInfo(xesl_function_call_pushConstants);
xesl_uint2 pixel_index = xesl_GlobalInvocationID.xy << xesl_uint2(2u, 0u);
// Group height can't cross resolve granularity, Y overflow check not needed.
xesl_dont_flatten
if (pixel_index.x >= resolve_info.width_div_8_scaled << 3u) {
return;
}
xesl_float4 pixel_0, pixel_1, pixel_2, pixel_3;
XeResolveLoad4RGBAColors(
xesl_function_call_uintVectorBuffer(xe_resolve_source)
xesl_function_call_next_after_uintVectorBuffer
resolve_info,
XeResolveColorCopySourcePixelAddressIntsYDuplicating(resolve_info,
pixel_index),
pixel_0, pixel_1, pixel_2, pixel_3);
if (resolve_info.duplicate_second_host_pixel.x && pixel_index.x == 0u) {
pixel_0 = pixel_1;
}
xesl_writeTypedStorageBufferStore(
xe_resolve_dest,
XeResolveDestPixelAddress(resolve_info, pixel_index, 1u) >> 3u,
XeEndianSwap16(XePack16bpp4PixelsInUInt2(pixel_0, pixel_1, pixel_2,
pixel_3,
resolve_info.dest_format),
resolve_info.dest_endian_128));
xesl_entry_code_end_compute

Some files were not shown because too many files have changed in this diff Show More