diff --git a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r16_snorm_float_cs.h b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r16_snorm_float_cs.h new file mode 100644 index 000000000..964ed04f8 --- /dev/null +++ b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r16_snorm_float_cs.h @@ -0,0 +1,1030 @@ +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 +// +// +// Buffer Definitions: +// +// cbuffer xe_texture_load_constants +// { +// +// uint xe_texture_load_is_tiled_3d_endian_scale;// Offset: 0 Size: 4 +// uint xe_texture_load_guest_offset; // Offset: 4 Size: 4 +// uint xe_texture_load_guest_pitch_aligned;// Offset: 8 Size: 4 +// uint xe_texture_load_guest_z_stride_block_rows_aligned;// Offset: 12 Size: 4 +// uint3 xe_texture_load_size_blocks; // Offset: 16 Size: 12 +// uint xe_texture_load_host_offset; // Offset: 28 Size: 4 +// uint xe_texture_load_host_pitch; // Offset: 32 Size: 4 +// uint xe_texture_load_height_texels;// Offset: 36 Size: 4 [unused] +// +// } +// +// +// Resource Bindings: +// +// Name Type Format Dim ID HLSL Bind Count +// ------------------------------ ---------- ------- ----------- ------- -------------- ------ +// xe_texture_load_source texture uint4 buf T0 t0 1 +// xe_texture_load_dest UAV uint4 buf U0 u0 1 +// xe_texture_load_constants cbuffer NA NA CB0 cb0 1 +// +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Input +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Output +cs_5_1 +dcl_globalFlags refactoringAllowed +dcl_constantbuffer CB0[0:0][3], immediateIndexed, space=0 +dcl_resource_buffer (uint,uint,uint,uint) T0[0:0], space=0 +dcl_uav_typed_buffer (uint,uint,uint,uint) U0[0:0], space=0 +dcl_input vThreadID.xyz +dcl_temps 5 +dcl_thread_group 2, 32, 1 +ishl r0.x, vThreadID.x, l(4) +mov r0.y, vThreadID.y +uge r0.yz, r0.xxyx, CB0[0][1].xxyx +or r0.y, r0.z, r0.y +if_nz r0.y + ret +endif +ishl r0.y, r0.x, l(1) +imad r0.z, vThreadID.z, CB0[0][1].y, vThreadID.y +imad r0.z, r0.z, CB0[0][2].x, r0.y +iadd r0.z, r0.z, CB0[0][1].w +and r0.w, CB0[0][0].x, l(1) +if_nz r0.w + and r1.x, CB0[0][0].x, l(2) + if_nz r1.x + ishr r1.xyz, vThreadID.yzyy, l(4, 2, 3, 0) + ushr r2.xy, CB0[0][0].wzww, l(4, 5, 0, 0) + imad r1.x, r1.y, r2.x, r1.x + ibfe r1.w, l(27), l(1), vThreadID.x + imad r1.x, r1.x, r2.y, r1.w + ishl r1.w, vThreadID.y, l(9) + ishr r1.w, r1.w, l(6) + iadd r1.y, r1.y, r1.z + and r1.zw, r1.yyyw, l(0, 0, 1, 48) + ishr r2.x, r0.x, l(3) + bfi r1.y, l(1), l(1), r1.y, l(0) + iadd r1.y, r1.y, r2.x + bfi r1.y, l(2), l(1), r1.y, l(0) + iadd r1.y, r1.y, r1.z + bfi r1.xz, l(21, 0, 21, 0), l(9, 0, 12, 0), r1.xxxx, l(0, 0, 0, 0) + imad r1.xz, r1.wwww, l(2, 0, 16, 0), r1.xxzx + bfi r1.xz, l(2, 0, 2, 0), l(7, 0, 10, 0), vThreadID.zzzz, r1.xxzx + bfi r1.w, l(1), l(4), vThreadID.y, l(0) + ubfe r2.x, l(3), l(6), r1.x + and r2.y, r1.y, l(4) + bfi r1.y, l(2), l(8), r1.y, l(0) + imad r1.y, r2.x, l(32), r1.y + imad r1.y, r2.y, l(4), r1.y + bfi r1.xz, l(5, 0, 5, 0), l(0, 0, 3, 0), r1.wwww, r1.xxzx + bfi r1.y, l(9), l(3), r1.y, r1.z + bfi r1.x, l(6), l(0), r1.x, r1.y + else + ibfe r1.y, l(27), l(1), vThreadID.x + ishr r1.zw, vThreadID.yyyy, l(0, 0, 5, 2) + ushr r2.x, CB0[0][0].z, l(5) + imad r1.y, r1.z, r2.x, r1.y + bfi r2.xyz, l(4, 4, 4, 0), l(4, 7, 6, 0), vThreadID.yyyy, l(0, 0, 0, 0) + bfi r2.xyz, l(24, 24, 24, 0), l(8, 11, 10, 0), r1.yyyy, r2.xyzx + ishl r1.y, vThreadID.y, l(7) + and r1.y, r1.y, l(2048) + bfi r1.y, l(12), l(0), r1.y, r2.y + and r1.z, r2.z, l(1792) + iadd r1.y, r1.y, r1.z + and r1.z, r1.w, l(2) + ishr r0.x, r0.x, l(3) + iadd r0.x, r0.x, r1.z + bfi r0.x, l(2), l(6), r0.x, l(0) + iadd r0.x, r1.y, r0.x + bfi r1.x, l(6), l(0), r2.x, r0.x + endif +else + imad r0.x, vThreadID.z, CB0[0][0].w, vThreadID.y + imad r1.x, r0.x, CB0[0][0].z, r0.y +endif +iadd r0.x, r1.x, CB0[0][0].y +ushr r0.xz, r0.xxzx, l(4, 0, 4, 0) +ubfe r0.y, l(2), l(2), CB0[0][0].x +ld r1.xyzw, r0.xxxx, T0[0].xyzw +ieq r0.y, r0.y, l(1) +if_nz r0.y + ishl r2.xyzw, r1.xyzw, l(8, 8, 8, 8) + and r2.xyzw, r2.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) + ushr r3.xyzw, r1.xyzw, l(8, 8, 8, 8) + and r3.xyzw, r3.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) + iadd r1.xyzw, r2.xyzw, r3.xyzw +endif +ibfe r2.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r1.xyzw +itof r2.xyzw, r2.xyzw +mul r2.xyzw, r2.xyzw, l(0.000031, 0.000031, 0.000031, 0.000031) +max r2.xyzw, r2.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000) +ishr r1.xyzw, r1.xyzw, l(16, 16, 16, 16) +itof r1.xyzw, r1.xyzw +mul r1.xyzw, r1.xyzw, l(0.000031, 0.000031, 0.000031, 0.000031) +max r1.xyzw, r1.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000) +f32tof16 r2.xyzw, r2.xyzw +f32tof16 r1.xyzw, r1.xyzw +imad r1.xyzw, r1.xyzw, l(0x00010000, 0x00010000, 0x00010000, 0x00010000), r2.xyzw +store_uav_typed U0[0].xyzw, r0.zzzz, r1.xyzw +iadd r1.x, r0.z, l(1) +if_nz r0.w + mov r0.w, l(64) +else + mov r0.w, l(16) +endif +ushr r0.w, r0.w, l(4) +iadd r0.x, r0.w, r0.x +ld r2.xyzw, r0.xxxx, T0[0].xyzw +if_nz r0.y + ishl r3.xyzw, r2.xyzw, l(8, 8, 8, 8) + and r3.xyzw, r3.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) + ushr r4.xyzw, r2.xyzw, l(8, 8, 8, 8) + and r4.xyzw, r4.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) + iadd r2.xyzw, r3.xyzw, r4.xyzw +endif +ibfe r3.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r2.xyzw +itof r3.xyzw, r3.xyzw +mul r3.xyzw, r3.xyzw, l(0.000031, 0.000031, 0.000031, 0.000031) +max r3.xyzw, r3.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000) +ishr r2.xyzw, r2.xyzw, l(16, 16, 16, 16) +itof r2.xyzw, r2.xyzw +mul r2.xyzw, r2.xyzw, l(0.000031, 0.000031, 0.000031, 0.000031) +max r2.xyzw, r2.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000) +f32tof16 r3.xyzw, r3.xyzw +f32tof16 r2.xyzw, r2.xyzw +imad r2.xyzw, r2.xyzw, l(0x00010000, 0x00010000, 0x00010000, 0x00010000), r3.xyzw +store_uav_typed U0[0].xyzw, r1.xxxx, r2.xyzw +ret +// Approximately 117 instruction slots used +#endif + +const BYTE texture_load_r16_snorm_float_cs[] = +{ + 68, 88, 66, 67, 18, 137, + 159, 251, 176, 85, 139, 88, + 42, 171, 60, 212, 145, 226, + 210, 158, 1, 0, 0, 0, + 12, 20, 0, 0, 5, 0, + 0, 0, 52, 0, 0, 0, + 32, 4, 0, 0, 48, 4, + 0, 0, 64, 4, 0, 0, + 112, 19, 0, 0, 82, 68, + 69, 70, 228, 3, 0, 0, + 1, 0, 0, 0, 252, 0, + 0, 0, 3, 0, 0, 0, + 60, 0, 0, 0, 1, 5, + 83, 67, 0, 5, 0, 0, + 185, 3, 0, 0, 19, 19, + 68, 37, 60, 0, 0, 0, + 24, 0, 0, 0, 40, 0, + 0, 0, 40, 0, 0, 0, + 36, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 0, 0, + 180, 0, 0, 0, 2, 0, + 0, 0, 4, 0, 0, 0, + 1, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 1, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 203, 0, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 1, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 1, 0, + 0, 0, 12, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 224, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 120, 101, 95, 116, 101, 120, + 116, 117, 114, 101, 95, 108, + 111, 97, 100, 95, 115, 111, + 117, 114, 99, 101, 0, 120, + 101, 95, 116, 101, 120, 116, + 117, 114, 101, 95, 108, 111, + 97, 100, 95, 100, 101, 115, + 116, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 99, 111, 110, 115, 116, 97, + 110, 116, 115, 0, 171, 171, + 224, 0, 0, 0, 8, 0, + 0, 0, 20, 1, 0, 0, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 84, 2, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 168, 2, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 2, 0, + 0, 0, 132, 2, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 197, 2, 0, 0, + 8, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 132, 2, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 233, 2, 0, 0, 12, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 27, 3, + 0, 0, 16, 0, 0, 0, + 12, 0, 0, 0, 2, 0, + 0, 0, 64, 3, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 100, 3, 0, 0, + 28, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 132, 2, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 128, 3, 0, 0, 32, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 155, 3, + 0, 0, 36, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 132, 2, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 105, 115, 95, 116, 105, 108, + 101, 100, 95, 51, 100, 95, + 101, 110, 100, 105, 97, 110, + 95, 115, 99, 97, 108, 101, + 0, 100, 119, 111, 114, 100, + 0, 171, 0, 0, 19, 0, + 1, 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, 125, 2, + 0, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 103, 117, 101, 115, 116, 95, + 111, 102, 102, 115, 101, 116, + 0, 120, 101, 95, 116, 101, + 120, 116, 117, 114, 101, 95, + 108, 111, 97, 100, 95, 103, + 117, 101, 115, 116, 95, 112, + 105, 116, 99, 104, 95, 97, + 108, 105, 103, 110, 101, 100, + 0, 120, 101, 95, 116, 101, + 120, 116, 117, 114, 101, 95, + 108, 111, 97, 100, 95, 103, + 117, 101, 115, 116, 95, 122, + 95, 115, 116, 114, 105, 100, + 101, 95, 98, 108, 111, 99, + 107, 95, 114, 111, 119, 115, + 95, 97, 108, 105, 103, 110, + 101, 100, 0, 120, 101, 95, + 116, 101, 120, 116, 117, 114, + 101, 95, 108, 111, 97, 100, + 95, 115, 105, 122, 101, 95, + 98, 108, 111, 99, 107, 115, + 0, 117, 105, 110, 116, 51, + 0, 171, 171, 171, 1, 0, + 19, 0, 1, 0, 3, 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, + 55, 3, 0, 0, 120, 101, + 95, 116, 101, 120, 116, 117, + 114, 101, 95, 108, 111, 97, + 100, 95, 104, 111, 115, 116, + 95, 111, 102, 102, 115, 101, + 116, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 104, 111, 115, 116, 95, 112, + 105, 116, 99, 104, 0, 120, + 101, 95, 116, 101, 120, 116, + 117, 114, 101, 95, 108, 111, + 97, 100, 95, 104, 101, 105, + 103, 104, 116, 95, 116, 101, + 120, 101, 108, 115, 0, 77, + 105, 99, 114, 111, 115, 111, + 102, 116, 32, 40, 82, 41, + 32, 72, 76, 83, 76, 32, + 83, 104, 97, 100, 101, 114, + 32, 67, 111, 109, 112, 105, + 108, 101, 114, 32, 49, 48, + 46, 49, 0, 171, 171, 171, + 73, 83, 71, 78, 8, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 79, 83, + 71, 78, 8, 0, 0, 0, + 0, 0, 0, 0, 8, 0, + 0, 0, 83, 72, 69, 88, + 40, 15, 0, 0, 81, 0, + 5, 0, 202, 3, 0, 0, + 106, 8, 0, 1, 89, 0, + 0, 7, 70, 142, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 88, 8, 0, 7, + 70, 126, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 68, + 0, 0, 0, 0, 0, 0, + 156, 8, 0, 7, 70, 238, + 49, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 68, 68, 0, 0, + 0, 0, 0, 0, 95, 0, + 0, 2, 114, 0, 2, 0, + 104, 0, 0, 2, 5, 0, + 0, 0, 155, 0, 0, 4, + 2, 0, 0, 0, 32, 0, + 0, 0, 1, 0, 0, 0, + 41, 0, 0, 6, 18, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 2, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 54, 0, 0, 4, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 2, 0, 80, 0, + 0, 9, 98, 0, 16, 0, + 0, 0, 0, 0, 6, 1, + 16, 0, 0, 0, 0, 0, + 6, 129, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 60, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 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, 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, 35, 0, 0, 9, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 2, 0, + 26, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 26, 0, + 2, 0, 35, 0, 0, 11, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 9, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 58, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 9, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 31, 0, + 4, 3, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 0, + 0, 9, 18, 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, + 2, 0, 0, 0, 31, 0, + 4, 3, 10, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 0, 9, 114, 0, 16, 0, + 1, 0, 0, 0, 150, 5, + 2, 0, 2, 64, 0, 0, + 4, 0, 0, 0, 2, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 85, 0, + 0, 12, 50, 0, 16, 0, + 2, 0, 0, 0, 182, 143, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 4, 0, 0, 0, 5, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 35, 0, + 0, 9, 18, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 139, 0, + 0, 8, 130, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 27, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 10, 0, 2, 0, + 35, 0, 0, 9, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 41, 0, 0, 6, 130, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 2, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 0, 0, 10, + 194, 0, 16, 0, 1, 0, + 0, 0, 86, 13, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 48, 0, 0, 0, + 42, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 140, 0, + 0, 11, 34, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 140, 0, + 0, 11, 34, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 140, 0, + 0, 20, 82, 0, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 21, 0, 0, 0, + 0, 0, 0, 0, 21, 0, + 0, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 9, 0, + 0, 0, 0, 0, 0, 0, + 12, 0, 0, 0, 0, 0, + 0, 0, 6, 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, + 35, 0, 0, 12, 82, 0, + 16, 0, 1, 0, 0, 0, + 246, 15, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 6, 2, + 16, 0, 1, 0, 0, 0, + 140, 0, 0, 16, 82, 0, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 7, 0, 0, 0, 0, 0, + 0, 0, 10, 0, 0, 0, + 0, 0, 0, 0, 166, 10, + 2, 0, 6, 2, 16, 0, + 1, 0, 0, 0, 140, 0, + 0, 10, 130, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 26, 0, 2, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 138, 0, 0, 9, + 18, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 140, 0, 0, 11, 34, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 35, 0, 0, 9, + 34, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 32, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 35, 0, 0, 9, + 34, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 140, 0, 0, 17, + 82, 0, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 5, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 246, 15, 16, 0, 1, 0, + 0, 0, 6, 2, 16, 0, + 1, 0, 0, 0, 140, 0, + 0, 11, 34, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 140, 0, 0, 11, 18, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 18, 0, 0, 1, + 139, 0, 0, 8, 34, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 27, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 10, 0, + 2, 0, 42, 0, 0, 9, + 194, 0, 16, 0, 1, 0, + 0, 0, 86, 5, 2, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 2, 0, + 0, 0, 85, 0, 0, 9, + 18, 0, 16, 0, 2, 0, + 0, 0, 42, 128, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 35, 0, 0, 9, + 34, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 140, 0, 0, 19, + 114, 0, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 4, 0, 0, 0, 4, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 4, 0, 0, 0, + 7, 0, 0, 0, 6, 0, + 0, 0, 0, 0, 0, 0, + 86, 5, 2, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 140, 0, 0, 17, 114, 0, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 24, 0, + 0, 0, 24, 0, 0, 0, + 24, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 8, 0, 0, 0, 11, 0, + 0, 0, 10, 0, 0, 0, + 0, 0, 0, 0, 86, 5, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 41, 0, 0, 6, + 34, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 2, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 1, 0, 0, 7, + 34, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 0, 8, 0, 0, + 140, 0, 0, 11, 34, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 12, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 0, 0, 7, + 66, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 0, 7, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 0, + 0, 7, 66, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 42, 0, 0, 7, + 18, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 3, 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, + 1, 0, 0, 0, 140, 0, + 0, 11, 18, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 18, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 140, 0, + 0, 11, 18, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 21, 0, 0, 1, 18, 0, + 0, 1, 35, 0, 0, 9, + 18, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 2, 0, + 58, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 26, 0, + 2, 0, 35, 0, 0, 11, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 42, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 21, 0, + 0, 1, 30, 0, 0, 9, + 18, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 26, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 85, 0, 0, 10, + 82, 0, 16, 0, 0, 0, + 0, 0, 6, 2, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 138, 0, 0, 11, 34, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 45, 0, 0, 8, + 242, 0, 16, 0, 1, 0, + 0, 0, 6, 0, 16, 0, + 0, 0, 0, 0, 70, 126, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 32, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 31, 0, 4, 3, + 26, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 10, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 85, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 30, 0, 0, 7, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 21, 0, + 0, 1, 139, 0, 0, 15, + 242, 0, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 43, 0, 0, 5, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 56, 0, + 0, 10, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 0, 1, + 0, 56, 0, 1, 0, 56, + 0, 1, 0, 56, 0, 1, + 0, 56, 52, 0, 0, 10, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 128, 191, + 0, 0, 128, 191, 0, 0, + 128, 191, 0, 0, 128, 191, + 42, 0, 0, 10, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 43, 0, + 0, 5, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 56, 0, 0, 10, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 0, 1, 0, 56, 0, 1, + 0, 56, 0, 1, 0, 56, + 0, 1, 0, 56, 52, 0, + 0, 10, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 128, 191, 0, 0, 128, 191, + 0, 0, 128, 191, 0, 0, + 128, 191, 130, 0, 0, 5, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 130, 0, + 0, 5, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 35, 0, 0, 12, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 70, 14, + 16, 0, 2, 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, 1, 0, + 0, 0, 30, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 31, 0, 4, 3, 58, 0, + 16, 0, 0, 0, 0, 0, + 54, 0, 0, 5, 130, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 64, 0, + 0, 0, 18, 0, 0, 1, + 54, 0, 0, 5, 130, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 21, 0, 0, 1, + 85, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 4, 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, 45, 0, 0, 8, + 242, 0, 16, 0, 2, 0, + 0, 0, 6, 0, 16, 0, + 0, 0, 0, 0, 70, 126, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 31, 0, + 4, 3, 26, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 85, 0, 0, 10, 242, 0, + 16, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 30, 0, 0, 7, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 4, 0, 0, 0, + 21, 0, 0, 1, 139, 0, + 0, 15, 242, 0, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 43, 0, + 0, 5, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 56, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 1, 0, 56, 0, 1, + 0, 56, 0, 1, 0, 56, + 0, 1, 0, 56, 52, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 128, 191, 0, 0, 128, 191, + 0, 0, 128, 191, 0, 0, + 128, 191, 42, 0, 0, 10, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 43, 0, 0, 5, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 56, 0, 0, 10, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 1, 0, 56, + 0, 1, 0, 56, 0, 1, + 0, 56, 0, 1, 0, 56, + 52, 0, 0, 10, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 128, 191, 0, 0, + 128, 191, 0, 0, 128, 191, + 0, 0, 128, 191, 130, 0, + 0, 5, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 130, 0, 0, 5, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 35, 0, 0, 12, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 164, 0, 0, 8, + 242, 224, 33, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 6, 0, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 62, 0, + 0, 1, 83, 84, 65, 84, + 148, 0, 0, 0, 117, 0, + 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 8, 0, 0, 0, + 38, 0, 0, 0, 19, 0, + 0, 0, 5, 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, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 4, 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 +}; diff --git a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r16_snorm_float_scaled_cs.h b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r16_snorm_float_scaled_cs.h new file mode 100644 index 000000000..612766d46 --- /dev/null +++ b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r16_snorm_float_scaled_cs.h @@ -0,0 +1,1123 @@ +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 +// +// +// Buffer Definitions: +// +// cbuffer xe_texture_load_constants +// { +// +// uint xe_texture_load_is_tiled_3d_endian_scale;// Offset: 0 Size: 4 +// uint xe_texture_load_guest_offset; // Offset: 4 Size: 4 +// uint xe_texture_load_guest_pitch_aligned;// Offset: 8 Size: 4 +// uint xe_texture_load_guest_z_stride_block_rows_aligned;// Offset: 12 Size: 4 +// uint3 xe_texture_load_size_blocks; // Offset: 16 Size: 12 +// uint xe_texture_load_host_offset; // Offset: 28 Size: 4 +// uint xe_texture_load_host_pitch; // Offset: 32 Size: 4 +// uint xe_texture_load_height_texels;// Offset: 36 Size: 4 [unused] +// +// } +// +// +// Resource Bindings: +// +// Name Type Format Dim ID HLSL Bind Count +// ------------------------------ ---------- ------- ----------- ------- -------------- ------ +// xe_texture_load_source texture uint4 buf T0 t0 1 +// xe_texture_load_dest UAV uint4 buf U0 u0 1 +// xe_texture_load_constants cbuffer NA NA CB0 cb0 1 +// +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Input +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Output +cs_5_1 +dcl_globalFlags refactoringAllowed +dcl_constantbuffer CB0[0:0][3], immediateIndexed, space=0 +dcl_resource_buffer (uint,uint,uint,uint) T0[0:0], space=0 +dcl_uav_typed_buffer (uint,uint,uint,uint) U0[0:0], space=0 +dcl_input vThreadID.xyz +dcl_temps 6 +dcl_thread_group 2, 32, 1 +ishl r0.x, vThreadID.x, l(4) +mov r0.y, vThreadID.y +uge r0.yz, r0.xxyx, CB0[0][1].xxyx +or r0.y, r0.z, r0.y +if_nz r0.y + ret +endif +ishl r0.y, r0.x, l(1) +imad r0.z, vThreadID.z, CB0[0][1].y, vThreadID.y +imad r0.y, r0.z, CB0[0][2].x, r0.y +iadd r0.y, r0.y, CB0[0][1].w +and r0.z, CB0[0][0].x, l(2) +ubfe r1.xyz, l(2, 2, 2, 0), l(4, 6, 2, 0), CB0[0][0].xxxx +ushr r2.x, r0.x, l(3) +mov r2.y, vThreadID.y +udiv r0.xw, null, r2.xxxy, r1.xxxy +if_nz r0.z + ishr r2.zw, r0.wwww, l(0, 0, 4, 3) + ishr r0.z, vThreadID.z, l(2) + ushr r3.xy, CB0[0][0].wzww, l(4, 5, 0, 0) + imad r1.w, r0.z, r3.x, r2.z + ibfe r3.xz, l(27, 0, 29, 0), l(2, 0, 0, 0), r0.xxxx + imad r1.w, r1.w, r3.y, r3.x + ishl r2.z, r0.w, l(9) + ishr r2.z, r2.z, l(6) + and r2.z, r2.z, l(48) + iadd r0.z, r0.z, r2.w + bfi r2.w, l(1), l(1), r0.z, l(0) + iadd r2.w, r2.w, r3.z + bfi r2.w, l(2), l(1), r2.w, l(0) + bfi r0.z, l(1), l(0), r0.z, r2.w + bfi r3.xy, l(21, 21, 0, 0), l(9, 12, 0, 0), r1.wwww, l(0, 0, 0, 0) + imad r2.zw, r2.zzzz, l(0, 0, 2, 16), r3.xxxy + bfi r2.zw, l(0, 0, 2, 2), l(0, 0, 7, 10), vThreadID.zzzz, r2.zzzw + bfi r1.w, l(1), l(4), r0.w, l(0) + ubfe r3.x, l(3), l(6), r2.z + and r3.y, r0.z, l(6) + bfi r0.z, l(1), l(8), r0.z, l(0) + imad r0.z, r3.x, l(32), r0.z + imad r0.z, r3.y, l(4), r0.z + bfi r2.zw, l(0, 0, 5, 5), l(0, 0, 0, 3), r1.wwww, r2.zzzw + bfi r0.z, l(9), l(3), r0.z, r2.w + bfi r0.z, l(6), l(0), r2.z, r0.z +else + ibfe r2.zw, l(0, 0, 27, 29), l(0, 0, 2, 0), r0.xxxx + ishr r3.xy, r0.wwww, l(5, 2, 0, 0) + ushr r1.w, CB0[0][0].z, l(5) + imad r1.w, r3.x, r1.w, r2.z + bfi r3.xzw, l(4, 0, 4, 4), l(4, 0, 7, 6), r0.wwww, l(0, 0, 0, 0) + bfi r3.xzw, l(24, 0, 24, 24), l(8, 0, 11, 10), r1.wwww, r3.xxzw + ishl r1.w, r0.w, l(7) + and r1.w, r1.w, l(2048) + bfi r1.w, l(12), l(0), r1.w, r3.z + and r2.z, r3.w, l(1792) + iadd r1.w, r1.w, r2.z + and r2.z, r3.y, l(2) + iadd r2.z, r2.w, r2.z + bfi r2.z, l(2), l(6), r2.z, l(0) + iadd r1.w, r1.w, r2.z + bfi r0.z, l(6), l(0), r3.x, r1.w +endif +imad r0.xw, -r0.xxxw, r1.xxxy, r2.xxxy +imul null, r1.w, r1.y, r1.x +imad r0.x, r0.x, r1.y, r0.w +ishl r0.x, r0.x, l(4) +imad r0.x, r0.z, r1.w, r0.x +iadd r0.x, r0.x, CB0[0][0].y +ushr r0.xy, r0.xyxx, l(4, 4, 0, 0) +ld r3.xyzw, r0.xxxx, T0[0].xyzw +ieq r0.z, r1.z, l(1) +if_nz r0.z + ishl r4.xyzw, r3.xyzw, l(8, 8, 8, 8) + and r4.xyzw, r4.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) + ushr r5.xyzw, r3.xyzw, l(8, 8, 8, 8) + and r5.xyzw, r5.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) + iadd r3.xyzw, r4.xyzw, r5.xyzw +endif +ibfe r4.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r3.xyzw +itof r4.xyzw, r4.xyzw +mul r4.xyzw, r4.xyzw, l(0.000031, 0.000031, 0.000031, 0.000031) +max r4.xyzw, r4.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000) +ishr r3.xyzw, r3.xyzw, l(16, 16, 16, 16) +itof r3.xyzw, r3.xyzw +mul r3.xyzw, r3.xyzw, l(0.000031, 0.000031, 0.000031, 0.000031) +max r3.xyzw, r3.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000) +f32tof16 r4.xyzw, r4.xyzw +f32tof16 r3.xyzw, r3.xyzw +imad r3.xyzw, r3.xyzw, l(0x00010000, 0x00010000, 0x00010000, 0x00010000), r4.xyzw +store_uav_typed U0[0].xyzw, r0.yyyy, r3.xyzw +iadd r0.w, r0.y, l(1) +ult r1.z, l(1), r1.x +if_nz r1.z + udiv r1.z, null, r2.x, r1.x + imad r1.z, -r1.z, r1.x, r2.x + iadd r1.w, r1.z, l(1) + ieq r1.w, r1.x, r1.w + if_nz r1.w + ishl r1.x, r1.x, l(6) + ishl r1.z, r1.z, l(4) + iadd r1.x, -r1.z, r1.x + else + mov r1.x, l(16) + endif +else + mov r1.x, l(64) +endif +imul null, r1.x, r1.y, r1.x +ushr r1.x, r1.x, l(4) +iadd r0.x, r0.x, r1.x +ld r1.xyzw, r0.xxxx, T0[0].xyzw +if_nz r0.z + ishl r2.xyzw, r1.xyzw, l(8, 8, 8, 8) + and r2.xyzw, r2.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) + ushr r3.xyzw, r1.xyzw, l(8, 8, 8, 8) + and r3.xyzw, r3.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) + iadd r1.xyzw, r2.xyzw, r3.xyzw +endif +ibfe r2.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r1.xyzw +itof r2.xyzw, r2.xyzw +mul r2.xyzw, r2.xyzw, l(0.000031, 0.000031, 0.000031, 0.000031) +max r2.xyzw, r2.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000) +ishr r1.xyzw, r1.xyzw, l(16, 16, 16, 16) +itof r1.xyzw, r1.xyzw +mul r1.xyzw, r1.xyzw, l(0.000031, 0.000031, 0.000031, 0.000031) +max r1.xyzw, r1.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000) +f32tof16 r2.xyzw, r2.xyzw +f32tof16 r1.xyzw, r1.xyzw +imad r1.xyzw, r1.xyzw, l(0x00010000, 0x00010000, 0x00010000, 0x00010000), r2.xyzw +store_uav_typed U0[0].xyzw, r0.wwww, r1.xyzw +ret +// Approximately 130 instruction slots used +#endif + +const BYTE texture_load_r16_snorm_float_scaled_cs[] = +{ + 68, 88, 66, 67, 178, 183, + 93, 91, 40, 72, 164, 231, + 152, 39, 172, 195, 143, 247, + 13, 122, 1, 0, 0, 0, + 240, 21, 0, 0, 5, 0, + 0, 0, 52, 0, 0, 0, + 32, 4, 0, 0, 48, 4, + 0, 0, 64, 4, 0, 0, + 84, 21, 0, 0, 82, 68, + 69, 70, 228, 3, 0, 0, + 1, 0, 0, 0, 252, 0, + 0, 0, 3, 0, 0, 0, + 60, 0, 0, 0, 1, 5, + 83, 67, 0, 5, 0, 0, + 185, 3, 0, 0, 19, 19, + 68, 37, 60, 0, 0, 0, + 24, 0, 0, 0, 40, 0, + 0, 0, 40, 0, 0, 0, + 36, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 0, 0, + 180, 0, 0, 0, 2, 0, + 0, 0, 4, 0, 0, 0, + 1, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 1, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 203, 0, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 1, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 1, 0, + 0, 0, 12, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 224, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 120, 101, 95, 116, 101, 120, + 116, 117, 114, 101, 95, 108, + 111, 97, 100, 95, 115, 111, + 117, 114, 99, 101, 0, 120, + 101, 95, 116, 101, 120, 116, + 117, 114, 101, 95, 108, 111, + 97, 100, 95, 100, 101, 115, + 116, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 99, 111, 110, 115, 116, 97, + 110, 116, 115, 0, 171, 171, + 224, 0, 0, 0, 8, 0, + 0, 0, 20, 1, 0, 0, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 84, 2, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 168, 2, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 2, 0, + 0, 0, 132, 2, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 197, 2, 0, 0, + 8, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 132, 2, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 233, 2, 0, 0, 12, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 27, 3, + 0, 0, 16, 0, 0, 0, + 12, 0, 0, 0, 2, 0, + 0, 0, 64, 3, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 100, 3, 0, 0, + 28, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 132, 2, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 128, 3, 0, 0, 32, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 155, 3, + 0, 0, 36, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 132, 2, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 105, 115, 95, 116, 105, 108, + 101, 100, 95, 51, 100, 95, + 101, 110, 100, 105, 97, 110, + 95, 115, 99, 97, 108, 101, + 0, 100, 119, 111, 114, 100, + 0, 171, 0, 0, 19, 0, + 1, 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, 125, 2, + 0, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 103, 117, 101, 115, 116, 95, + 111, 102, 102, 115, 101, 116, + 0, 120, 101, 95, 116, 101, + 120, 116, 117, 114, 101, 95, + 108, 111, 97, 100, 95, 103, + 117, 101, 115, 116, 95, 112, + 105, 116, 99, 104, 95, 97, + 108, 105, 103, 110, 101, 100, + 0, 120, 101, 95, 116, 101, + 120, 116, 117, 114, 101, 95, + 108, 111, 97, 100, 95, 103, + 117, 101, 115, 116, 95, 122, + 95, 115, 116, 114, 105, 100, + 101, 95, 98, 108, 111, 99, + 107, 95, 114, 111, 119, 115, + 95, 97, 108, 105, 103, 110, + 101, 100, 0, 120, 101, 95, + 116, 101, 120, 116, 117, 114, + 101, 95, 108, 111, 97, 100, + 95, 115, 105, 122, 101, 95, + 98, 108, 111, 99, 107, 115, + 0, 117, 105, 110, 116, 51, + 0, 171, 171, 171, 1, 0, + 19, 0, 1, 0, 3, 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, + 55, 3, 0, 0, 120, 101, + 95, 116, 101, 120, 116, 117, + 114, 101, 95, 108, 111, 97, + 100, 95, 104, 111, 115, 116, + 95, 111, 102, 102, 115, 101, + 116, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 104, 111, 115, 116, 95, 112, + 105, 116, 99, 104, 0, 120, + 101, 95, 116, 101, 120, 116, + 117, 114, 101, 95, 108, 111, + 97, 100, 95, 104, 101, 105, + 103, 104, 116, 95, 116, 101, + 120, 101, 108, 115, 0, 77, + 105, 99, 114, 111, 115, 111, + 102, 116, 32, 40, 82, 41, + 32, 72, 76, 83, 76, 32, + 83, 104, 97, 100, 101, 114, + 32, 67, 111, 109, 112, 105, + 108, 101, 114, 32, 49, 48, + 46, 49, 0, 171, 171, 171, + 73, 83, 71, 78, 8, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 79, 83, + 71, 78, 8, 0, 0, 0, + 0, 0, 0, 0, 8, 0, + 0, 0, 83, 72, 69, 88, + 12, 17, 0, 0, 81, 0, + 5, 0, 67, 4, 0, 0, + 106, 8, 0, 1, 89, 0, + 0, 7, 70, 142, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 88, 8, 0, 7, + 70, 126, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 68, + 0, 0, 0, 0, 0, 0, + 156, 8, 0, 7, 70, 238, + 49, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 68, 68, 0, 0, + 0, 0, 0, 0, 95, 0, + 0, 2, 114, 0, 2, 0, + 104, 0, 0, 2, 6, 0, + 0, 0, 155, 0, 0, 4, + 2, 0, 0, 0, 32, 0, + 0, 0, 1, 0, 0, 0, + 41, 0, 0, 6, 18, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 2, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 54, 0, 0, 4, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 2, 0, 80, 0, + 0, 9, 98, 0, 16, 0, + 0, 0, 0, 0, 6, 1, + 16, 0, 0, 0, 0, 0, + 6, 129, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 60, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 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, 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, 35, 0, 0, 9, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 2, 0, + 26, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 26, 0, + 2, 0, 35, 0, 0, 11, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 9, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 58, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 9, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 138, 0, + 0, 17, 114, 0, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 2, 0, 0, 0, + 2, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 4, 0, + 0, 0, 6, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 6, 128, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 85, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 54, 0, + 0, 4, 34, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 2, 0, 78, 0, 0, 8, + 146, 0, 16, 0, 0, 0, + 0, 0, 0, 208, 0, 0, + 6, 4, 16, 0, 2, 0, + 0, 0, 6, 4, 16, 0, + 1, 0, 0, 0, 31, 0, + 4, 3, 42, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 10, 194, 0, 16, 0, + 2, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 3, 0, + 0, 0, 42, 0, 0, 6, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 2, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 85, 0, 0, 12, + 50, 0, 16, 0, 3, 0, + 0, 0, 182, 143, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 4, 0, + 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 35, 0, 0, 9, + 130, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 139, 0, 0, 15, + 82, 0, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 27, 0, 0, 0, 0, 0, + 0, 0, 29, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 6, 0, 16, 0, 0, 0, + 0, 0, 35, 0, 0, 9, + 130, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 3, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 1, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 48, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 140, 0, 0, 11, 130, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 3, 0, 0, 0, + 140, 0, 0, 11, 130, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 140, 0, 0, 11, + 66, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 140, 0, + 0, 20, 50, 0, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 21, 0, 0, 0, + 21, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 9, 0, + 0, 0, 12, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 246, 15, 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, + 35, 0, 0, 12, 194, 0, + 16, 0, 2, 0, 0, 0, + 166, 10, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 16, 0, 0, 0, 6, 4, + 16, 0, 3, 0, 0, 0, + 140, 0, 0, 16, 194, 0, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 10, 0, 0, 0, 166, 10, + 2, 0, 166, 14, 16, 0, + 2, 0, 0, 0, 140, 0, + 0, 11, 130, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 138, 0, 0, 9, 18, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 0, 0, 7, 34, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 140, 0, + 0, 11, 66, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 35, 0, 0, 9, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 32, 0, 0, 0, 42, 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, 1, 64, 0, 0, + 4, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 140, 0, 0, 17, 194, 0, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 246, 15, + 16, 0, 1, 0, 0, 0, + 166, 14, 16, 0, 2, 0, + 0, 0, 140, 0, 0, 11, + 66, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 9, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 140, 0, + 0, 11, 66, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 18, 0, 0, 1, 139, 0, + 0, 15, 194, 0, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 27, 0, + 0, 0, 29, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 6, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 10, 50, 0, 16, 0, + 3, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 5, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 85, 0, 0, 9, + 130, 0, 16, 0, 1, 0, + 0, 0, 42, 128, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 35, 0, 0, 9, + 130, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 140, 0, 0, 20, + 210, 0, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 6, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 140, 0, + 0, 17, 210, 0, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 24, 0, 0, 0, + 0, 0, 0, 0, 24, 0, + 0, 0, 24, 0, 0, 0, + 2, 64, 0, 0, 8, 0, + 0, 0, 0, 0, 0, 0, + 11, 0, 0, 0, 10, 0, + 0, 0, 246, 15, 16, 0, + 1, 0, 0, 0, 6, 14, + 16, 0, 3, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 1, 0, + 0, 7, 130, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 0, 8, + 0, 0, 140, 0, 0, 11, + 130, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 12, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 3, 0, 0, 0, 1, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 0, 7, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 140, 0, 0, 11, + 66, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 140, 0, 0, 11, + 66, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 21, 0, + 0, 1, 35, 0, 0, 10, + 146, 0, 16, 0, 0, 0, + 0, 0, 6, 12, 16, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 6, 4, 16, 0, + 1, 0, 0, 0, 6, 4, + 16, 0, 2, 0, 0, 0, + 38, 0, 0, 8, 0, 208, + 0, 0, 130, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 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, 26, 0, + 16, 0, 1, 0, 0, 0, + 58, 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, 4, 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, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 9, 18, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 26, 128, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 85, 0, 0, 10, 50, 0, + 16, 0, 0, 0, 0, 0, + 70, 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, 45, 0, + 0, 8, 242, 0, 16, 0, + 3, 0, 0, 0, 6, 0, + 16, 0, 0, 0, 0, 0, + 70, 126, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 32, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 31, 0, + 4, 3, 42, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 10, 242, 0, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 85, 0, 0, 10, 242, 0, + 16, 0, 5, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 5, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 2, 64, 0, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 30, 0, 0, 7, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 21, 0, 0, 1, 139, 0, + 0, 15, 242, 0, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 43, 0, + 0, 5, 242, 0, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 4, 0, 0, 0, + 56, 0, 0, 10, 242, 0, + 16, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 0, 1, 0, 56, 0, 1, + 0, 56, 0, 1, 0, 56, + 0, 1, 0, 56, 52, 0, + 0, 10, 242, 0, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 128, 191, 0, 0, 128, 191, + 0, 0, 128, 191, 0, 0, + 128, 191, 42, 0, 0, 10, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 43, 0, 0, 5, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 56, 0, 0, 10, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 0, 1, 0, 56, + 0, 1, 0, 56, 0, 1, + 0, 56, 0, 1, 0, 56, + 52, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 128, 191, 0, 0, + 128, 191, 0, 0, 128, 191, + 0, 0, 128, 191, 130, 0, + 0, 5, 242, 0, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 4, 0, 0, 0, + 130, 0, 0, 5, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 35, 0, 0, 12, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 70, 14, 16, 0, 4, 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, + 3, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 79, 0, 0, 7, + 66, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 31, 0, 4, 3, 42, 0, + 16, 0, 1, 0, 0, 0, + 78, 0, 0, 8, 66, 0, + 16, 0, 1, 0, 0, 0, + 0, 208, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 35, 0, 0, 10, + 66, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 128, + 65, 0, 0, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 32, 0, + 0, 7, 130, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 31, 0, 4, 3, + 58, 0, 16, 0, 1, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 30, 0, + 0, 8, 18, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 128, 65, 0, 0, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 18, 0, 0, 1, 54, 0, + 0, 5, 18, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 21, 0, 0, 1, 18, 0, + 0, 1, 54, 0, 0, 5, + 18, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 64, 0, 0, 0, 21, 0, + 0, 1, 38, 0, 0, 8, + 0, 208, 0, 0, 18, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 85, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 30, 0, 0, 7, + 18, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 45, 0, 0, 8, 242, 0, + 16, 0, 1, 0, 0, 0, + 6, 0, 16, 0, 0, 0, + 0, 0, 70, 126, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 31, 0, 4, 3, + 42, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 10, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 85, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 30, 0, 0, 7, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 21, 0, + 0, 1, 139, 0, 0, 15, + 242, 0, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 43, 0, 0, 5, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 56, 0, + 0, 10, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 0, 1, + 0, 56, 0, 1, 0, 56, + 0, 1, 0, 56, 0, 1, + 0, 56, 52, 0, 0, 10, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 128, 191, + 0, 0, 128, 191, 0, 0, + 128, 191, 0, 0, 128, 191, + 42, 0, 0, 10, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 43, 0, + 0, 5, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 56, 0, 0, 10, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 0, 1, 0, 56, 0, 1, + 0, 56, 0, 1, 0, 56, + 0, 1, 0, 56, 52, 0, + 0, 10, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 128, 191, 0, 0, 128, 191, + 0, 0, 128, 191, 0, 0, + 128, 191, 130, 0, 0, 5, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 130, 0, + 0, 5, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 35, 0, 0, 12, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 70, 14, + 16, 0, 2, 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, 1, 0, + 0, 0, 62, 0, 0, 1, + 83, 84, 65, 84, 148, 0, + 0, 0, 130, 0, 0, 0, + 6, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 8, 0, 0, 0, 46, 0, + 0, 0, 22, 0, 0, 0, + 5, 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, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 4, 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 +}; diff --git a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r16_unorm_float_cs.h b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r16_unorm_float_cs.h new file mode 100644 index 000000000..aac826ac1 --- /dev/null +++ b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r16_unorm_float_cs.h @@ -0,0 +1,992 @@ +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 +// +// +// Buffer Definitions: +// +// cbuffer xe_texture_load_constants +// { +// +// uint xe_texture_load_is_tiled_3d_endian_scale;// Offset: 0 Size: 4 +// uint xe_texture_load_guest_offset; // Offset: 4 Size: 4 +// uint xe_texture_load_guest_pitch_aligned;// Offset: 8 Size: 4 +// uint xe_texture_load_guest_z_stride_block_rows_aligned;// Offset: 12 Size: 4 +// uint3 xe_texture_load_size_blocks; // Offset: 16 Size: 12 +// uint xe_texture_load_host_offset; // Offset: 28 Size: 4 +// uint xe_texture_load_host_pitch; // Offset: 32 Size: 4 +// uint xe_texture_load_height_texels;// Offset: 36 Size: 4 [unused] +// +// } +// +// +// Resource Bindings: +// +// Name Type Format Dim ID HLSL Bind Count +// ------------------------------ ---------- ------- ----------- ------- -------------- ------ +// xe_texture_load_source texture uint4 buf T0 t0 1 +// xe_texture_load_dest UAV uint4 buf U0 u0 1 +// xe_texture_load_constants cbuffer NA NA CB0 cb0 1 +// +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Input +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Output +cs_5_1 +dcl_globalFlags refactoringAllowed +dcl_constantbuffer CB0[0:0][3], immediateIndexed, space=0 +dcl_resource_buffer (uint,uint,uint,uint) T0[0:0], space=0 +dcl_uav_typed_buffer (uint,uint,uint,uint) U0[0:0], space=0 +dcl_input vThreadID.xyz +dcl_temps 5 +dcl_thread_group 2, 32, 1 +ishl r0.x, vThreadID.x, l(4) +mov r0.y, vThreadID.y +uge r0.yz, r0.xxyx, CB0[0][1].xxyx +or r0.y, r0.z, r0.y +if_nz r0.y + ret +endif +ishl r0.y, r0.x, l(1) +imad r0.z, vThreadID.z, CB0[0][1].y, vThreadID.y +imad r0.z, r0.z, CB0[0][2].x, r0.y +iadd r0.z, r0.z, CB0[0][1].w +and r0.w, CB0[0][0].x, l(1) +if_nz r0.w + and r1.x, CB0[0][0].x, l(2) + if_nz r1.x + ishr r1.xyz, vThreadID.yzyy, l(4, 2, 3, 0) + ushr r2.xy, CB0[0][0].wzww, l(4, 5, 0, 0) + imad r1.x, r1.y, r2.x, r1.x + ibfe r1.w, l(27), l(1), vThreadID.x + imad r1.x, r1.x, r2.y, r1.w + ishl r1.w, vThreadID.y, l(9) + ishr r1.w, r1.w, l(6) + iadd r1.y, r1.y, r1.z + and r1.zw, r1.yyyw, l(0, 0, 1, 48) + ishr r2.x, r0.x, l(3) + bfi r1.y, l(1), l(1), r1.y, l(0) + iadd r1.y, r1.y, r2.x + bfi r1.y, l(2), l(1), r1.y, l(0) + iadd r1.y, r1.y, r1.z + bfi r1.xz, l(21, 0, 21, 0), l(9, 0, 12, 0), r1.xxxx, l(0, 0, 0, 0) + imad r1.xz, r1.wwww, l(2, 0, 16, 0), r1.xxzx + bfi r1.xz, l(2, 0, 2, 0), l(7, 0, 10, 0), vThreadID.zzzz, r1.xxzx + bfi r1.w, l(1), l(4), vThreadID.y, l(0) + ubfe r2.x, l(3), l(6), r1.x + and r2.y, r1.y, l(4) + bfi r1.y, l(2), l(8), r1.y, l(0) + imad r1.y, r2.x, l(32), r1.y + imad r1.y, r2.y, l(4), r1.y + bfi r1.xz, l(5, 0, 5, 0), l(0, 0, 3, 0), r1.wwww, r1.xxzx + bfi r1.y, l(9), l(3), r1.y, r1.z + bfi r1.x, l(6), l(0), r1.x, r1.y + else + ibfe r1.y, l(27), l(1), vThreadID.x + ishr r1.zw, vThreadID.yyyy, l(0, 0, 5, 2) + ushr r2.x, CB0[0][0].z, l(5) + imad r1.y, r1.z, r2.x, r1.y + bfi r2.xyz, l(4, 4, 4, 0), l(4, 7, 6, 0), vThreadID.yyyy, l(0, 0, 0, 0) + bfi r2.xyz, l(24, 24, 24, 0), l(8, 11, 10, 0), r1.yyyy, r2.xyzx + ishl r1.y, vThreadID.y, l(7) + and r1.y, r1.y, l(2048) + bfi r1.y, l(12), l(0), r1.y, r2.y + and r1.z, r2.z, l(1792) + iadd r1.y, r1.y, r1.z + and r1.z, r1.w, l(2) + ishr r0.x, r0.x, l(3) + iadd r0.x, r0.x, r1.z + bfi r0.x, l(2), l(6), r0.x, l(0) + iadd r0.x, r1.y, r0.x + bfi r1.x, l(6), l(0), r2.x, r0.x + endif +else + imad r0.x, vThreadID.z, CB0[0][0].w, vThreadID.y + imad r1.x, r0.x, CB0[0][0].z, r0.y +endif +iadd r0.x, r1.x, CB0[0][0].y +ushr r0.xz, r0.xxzx, l(4, 0, 4, 0) +ubfe r0.y, l(2), l(2), CB0[0][0].x +ld r1.xyzw, r0.xxxx, T0[0].xyzw +ieq r0.y, r0.y, l(1) +if_nz r0.y + ishl r2.xyzw, r1.xyzw, l(8, 8, 8, 8) + and r2.xyzw, r2.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) + ushr r3.xyzw, r1.xyzw, l(8, 8, 8, 8) + and r3.xyzw, r3.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) + iadd r1.xyzw, r2.xyzw, r3.xyzw +endif +and r2.xyzw, r1.xyzw, l(0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff) +utof r2.xyzw, r2.xyzw +mul r2.xyzw, r2.xyzw, l(0.000015, 0.000015, 0.000015, 0.000015) +ushr r1.xyzw, r1.xyzw, l(16, 16, 16, 16) +utof r1.xyzw, r1.xyzw +mul r1.xyzw, r1.xyzw, l(0.000015, 0.000015, 0.000015, 0.000015) +f32tof16 r2.xyzw, r2.xyzw +f32tof16 r1.xyzw, r1.xyzw +imad r1.xyzw, r1.xyzw, l(0x00010000, 0x00010000, 0x00010000, 0x00010000), r2.xyzw +store_uav_typed U0[0].xyzw, r0.zzzz, r1.xyzw +iadd r1.x, r0.z, l(1) +if_nz r0.w + mov r0.w, l(64) +else + mov r0.w, l(16) +endif +ushr r0.w, r0.w, l(4) +iadd r0.x, r0.w, r0.x +ld r2.xyzw, r0.xxxx, T0[0].xyzw +if_nz r0.y + ishl r3.xyzw, r2.xyzw, l(8, 8, 8, 8) + and r3.xyzw, r3.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) + ushr r4.xyzw, r2.xyzw, l(8, 8, 8, 8) + and r4.xyzw, r4.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) + iadd r2.xyzw, r3.xyzw, r4.xyzw +endif +and r3.xyzw, r2.xyzw, l(0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff) +utof r3.xyzw, r3.xyzw +mul r3.xyzw, r3.xyzw, l(0.000015, 0.000015, 0.000015, 0.000015) +ushr r2.xyzw, r2.xyzw, l(16, 16, 16, 16) +utof r2.xyzw, r2.xyzw +mul r2.xyzw, r2.xyzw, l(0.000015, 0.000015, 0.000015, 0.000015) +f32tof16 r3.xyzw, r3.xyzw +f32tof16 r2.xyzw, r2.xyzw +imad r2.xyzw, r2.xyzw, l(0x00010000, 0x00010000, 0x00010000, 0x00010000), r3.xyzw +store_uav_typed U0[0].xyzw, r1.xxxx, r2.xyzw +ret +// Approximately 113 instruction slots used +#endif + +const BYTE texture_load_r16_unorm_float_cs[] = +{ + 68, 88, 66, 67, 123, 10, + 201, 118, 4, 125, 207, 228, + 231, 50, 233, 244, 245, 16, + 251, 18, 1, 0, 0, 0, + 68, 19, 0, 0, 5, 0, + 0, 0, 52, 0, 0, 0, + 32, 4, 0, 0, 48, 4, + 0, 0, 64, 4, 0, 0, + 168, 18, 0, 0, 82, 68, + 69, 70, 228, 3, 0, 0, + 1, 0, 0, 0, 252, 0, + 0, 0, 3, 0, 0, 0, + 60, 0, 0, 0, 1, 5, + 83, 67, 0, 5, 0, 0, + 185, 3, 0, 0, 19, 19, + 68, 37, 60, 0, 0, 0, + 24, 0, 0, 0, 40, 0, + 0, 0, 40, 0, 0, 0, + 36, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 0, 0, + 180, 0, 0, 0, 2, 0, + 0, 0, 4, 0, 0, 0, + 1, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 1, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 203, 0, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 1, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 1, 0, + 0, 0, 12, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 224, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 120, 101, 95, 116, 101, 120, + 116, 117, 114, 101, 95, 108, + 111, 97, 100, 95, 115, 111, + 117, 114, 99, 101, 0, 120, + 101, 95, 116, 101, 120, 116, + 117, 114, 101, 95, 108, 111, + 97, 100, 95, 100, 101, 115, + 116, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 99, 111, 110, 115, 116, 97, + 110, 116, 115, 0, 171, 171, + 224, 0, 0, 0, 8, 0, + 0, 0, 20, 1, 0, 0, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 84, 2, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 168, 2, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 2, 0, + 0, 0, 132, 2, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 197, 2, 0, 0, + 8, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 132, 2, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 233, 2, 0, 0, 12, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 27, 3, + 0, 0, 16, 0, 0, 0, + 12, 0, 0, 0, 2, 0, + 0, 0, 64, 3, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 100, 3, 0, 0, + 28, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 132, 2, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 128, 3, 0, 0, 32, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 155, 3, + 0, 0, 36, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 132, 2, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 105, 115, 95, 116, 105, 108, + 101, 100, 95, 51, 100, 95, + 101, 110, 100, 105, 97, 110, + 95, 115, 99, 97, 108, 101, + 0, 100, 119, 111, 114, 100, + 0, 171, 0, 0, 19, 0, + 1, 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, 125, 2, + 0, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 103, 117, 101, 115, 116, 95, + 111, 102, 102, 115, 101, 116, + 0, 120, 101, 95, 116, 101, + 120, 116, 117, 114, 101, 95, + 108, 111, 97, 100, 95, 103, + 117, 101, 115, 116, 95, 112, + 105, 116, 99, 104, 95, 97, + 108, 105, 103, 110, 101, 100, + 0, 120, 101, 95, 116, 101, + 120, 116, 117, 114, 101, 95, + 108, 111, 97, 100, 95, 103, + 117, 101, 115, 116, 95, 122, + 95, 115, 116, 114, 105, 100, + 101, 95, 98, 108, 111, 99, + 107, 95, 114, 111, 119, 115, + 95, 97, 108, 105, 103, 110, + 101, 100, 0, 120, 101, 95, + 116, 101, 120, 116, 117, 114, + 101, 95, 108, 111, 97, 100, + 95, 115, 105, 122, 101, 95, + 98, 108, 111, 99, 107, 115, + 0, 117, 105, 110, 116, 51, + 0, 171, 171, 171, 1, 0, + 19, 0, 1, 0, 3, 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, + 55, 3, 0, 0, 120, 101, + 95, 116, 101, 120, 116, 117, + 114, 101, 95, 108, 111, 97, + 100, 95, 104, 111, 115, 116, + 95, 111, 102, 102, 115, 101, + 116, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 104, 111, 115, 116, 95, 112, + 105, 116, 99, 104, 0, 120, + 101, 95, 116, 101, 120, 116, + 117, 114, 101, 95, 108, 111, + 97, 100, 95, 104, 101, 105, + 103, 104, 116, 95, 116, 101, + 120, 101, 108, 115, 0, 77, + 105, 99, 114, 111, 115, 111, + 102, 116, 32, 40, 82, 41, + 32, 72, 76, 83, 76, 32, + 83, 104, 97, 100, 101, 114, + 32, 67, 111, 109, 112, 105, + 108, 101, 114, 32, 49, 48, + 46, 49, 0, 171, 171, 171, + 73, 83, 71, 78, 8, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 79, 83, + 71, 78, 8, 0, 0, 0, + 0, 0, 0, 0, 8, 0, + 0, 0, 83, 72, 69, 88, + 96, 14, 0, 0, 81, 0, + 5, 0, 152, 3, 0, 0, + 106, 8, 0, 1, 89, 0, + 0, 7, 70, 142, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 88, 8, 0, 7, + 70, 126, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 68, + 0, 0, 0, 0, 0, 0, + 156, 8, 0, 7, 70, 238, + 49, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 68, 68, 0, 0, + 0, 0, 0, 0, 95, 0, + 0, 2, 114, 0, 2, 0, + 104, 0, 0, 2, 5, 0, + 0, 0, 155, 0, 0, 4, + 2, 0, 0, 0, 32, 0, + 0, 0, 1, 0, 0, 0, + 41, 0, 0, 6, 18, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 2, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 54, 0, 0, 4, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 2, 0, 80, 0, + 0, 9, 98, 0, 16, 0, + 0, 0, 0, 0, 6, 1, + 16, 0, 0, 0, 0, 0, + 6, 129, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 60, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 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, 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, 35, 0, 0, 9, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 2, 0, + 26, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 26, 0, + 2, 0, 35, 0, 0, 11, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 9, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 58, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 9, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 31, 0, + 4, 3, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 0, + 0, 9, 18, 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, + 2, 0, 0, 0, 31, 0, + 4, 3, 10, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 0, 9, 114, 0, 16, 0, + 1, 0, 0, 0, 150, 5, + 2, 0, 2, 64, 0, 0, + 4, 0, 0, 0, 2, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 85, 0, + 0, 12, 50, 0, 16, 0, + 2, 0, 0, 0, 182, 143, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 4, 0, 0, 0, 5, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 35, 0, + 0, 9, 18, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 139, 0, + 0, 8, 130, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 27, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 10, 0, 2, 0, + 35, 0, 0, 9, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 41, 0, 0, 6, 130, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 2, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 0, 0, 10, + 194, 0, 16, 0, 1, 0, + 0, 0, 86, 13, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 48, 0, 0, 0, + 42, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 140, 0, + 0, 11, 34, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 140, 0, + 0, 11, 34, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 140, 0, + 0, 20, 82, 0, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 21, 0, 0, 0, + 0, 0, 0, 0, 21, 0, + 0, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 9, 0, + 0, 0, 0, 0, 0, 0, + 12, 0, 0, 0, 0, 0, + 0, 0, 6, 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, + 35, 0, 0, 12, 82, 0, + 16, 0, 1, 0, 0, 0, + 246, 15, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 6, 2, + 16, 0, 1, 0, 0, 0, + 140, 0, 0, 16, 82, 0, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 7, 0, 0, 0, 0, 0, + 0, 0, 10, 0, 0, 0, + 0, 0, 0, 0, 166, 10, + 2, 0, 6, 2, 16, 0, + 1, 0, 0, 0, 140, 0, + 0, 10, 130, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 26, 0, 2, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 138, 0, 0, 9, + 18, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 140, 0, 0, 11, 34, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 35, 0, 0, 9, + 34, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 32, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 35, 0, 0, 9, + 34, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 140, 0, 0, 17, + 82, 0, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 5, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 246, 15, 16, 0, 1, 0, + 0, 0, 6, 2, 16, 0, + 1, 0, 0, 0, 140, 0, + 0, 11, 34, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 140, 0, 0, 11, 18, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 18, 0, 0, 1, + 139, 0, 0, 8, 34, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 27, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 10, 0, + 2, 0, 42, 0, 0, 9, + 194, 0, 16, 0, 1, 0, + 0, 0, 86, 5, 2, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 2, 0, + 0, 0, 85, 0, 0, 9, + 18, 0, 16, 0, 2, 0, + 0, 0, 42, 128, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 35, 0, 0, 9, + 34, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 140, 0, 0, 19, + 114, 0, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 4, 0, 0, 0, 4, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 4, 0, 0, 0, + 7, 0, 0, 0, 6, 0, + 0, 0, 0, 0, 0, 0, + 86, 5, 2, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 140, 0, 0, 17, 114, 0, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 24, 0, + 0, 0, 24, 0, 0, 0, + 24, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 8, 0, 0, 0, 11, 0, + 0, 0, 10, 0, 0, 0, + 0, 0, 0, 0, 86, 5, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 41, 0, 0, 6, + 34, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 2, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 1, 0, 0, 7, + 34, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 0, 8, 0, 0, + 140, 0, 0, 11, 34, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 12, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 0, 0, 7, + 66, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 0, 7, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 0, + 0, 7, 66, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 42, 0, 0, 7, + 18, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 3, 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, + 1, 0, 0, 0, 140, 0, + 0, 11, 18, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 18, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 140, 0, + 0, 11, 18, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 21, 0, 0, 1, 18, 0, + 0, 1, 35, 0, 0, 9, + 18, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 2, 0, + 58, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 26, 0, + 2, 0, 35, 0, 0, 11, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 42, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 21, 0, + 0, 1, 30, 0, 0, 9, + 18, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 26, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 85, 0, 0, 10, + 82, 0, 16, 0, 0, 0, + 0, 0, 6, 2, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 138, 0, 0, 11, 34, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 45, 0, 0, 8, + 242, 0, 16, 0, 1, 0, + 0, 0, 6, 0, 16, 0, + 0, 0, 0, 0, 70, 126, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 32, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 31, 0, 4, 3, + 26, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 10, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 85, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 30, 0, 0, 7, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 21, 0, + 0, 1, 1, 0, 0, 10, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 255, 255, 0, 0, + 255, 255, 0, 0, 255, 255, + 0, 0, 255, 255, 0, 0, + 86, 0, 0, 5, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 56, 0, 0, 10, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 128, 0, 128, 55, + 128, 0, 128, 55, 128, 0, + 128, 55, 128, 0, 128, 55, + 85, 0, 0, 10, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 86, 0, + 0, 5, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 56, 0, 0, 10, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 128, 0, 128, 55, 128, 0, + 128, 55, 128, 0, 128, 55, + 128, 0, 128, 55, 130, 0, + 0, 5, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 130, 0, 0, 5, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 35, 0, 0, 12, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 70, 14, 16, 0, 2, 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, + 1, 0, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 31, 0, 4, 3, + 58, 0, 16, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 64, 0, 0, 0, 18, 0, + 0, 1, 54, 0, 0, 5, + 130, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 21, 0, + 0, 1, 85, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 4, 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, 45, 0, + 0, 8, 242, 0, 16, 0, + 2, 0, 0, 0, 6, 0, + 16, 0, 0, 0, 0, 0, + 70, 126, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 31, 0, 4, 3, 26, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 85, 0, 0, 10, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 30, 0, + 0, 7, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 21, 0, 0, 1, + 1, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 255, 255, 0, 0, 255, 255, + 0, 0, 255, 255, 0, 0, + 255, 255, 0, 0, 86, 0, + 0, 5, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 56, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 128, 0, 128, 55, 128, 0, + 128, 55, 128, 0, 128, 55, + 128, 0, 128, 55, 85, 0, + 0, 10, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 86, 0, 0, 5, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 56, 0, + 0, 10, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 128, 0, + 128, 55, 128, 0, 128, 55, + 128, 0, 128, 55, 128, 0, + 128, 55, 130, 0, 0, 5, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 130, 0, + 0, 5, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 35, 0, 0, 12, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 164, 0, 0, 8, 242, 224, + 33, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 62, 0, 0, 1, + 83, 84, 65, 84, 148, 0, + 0, 0, 113, 0, 0, 0, + 5, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 4, 0, 0, 0, 36, 0, + 0, 0, 23, 0, 0, 0, + 5, 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, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 4, 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 +}; diff --git a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r16_unorm_float_scaled_cs.h b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r16_unorm_float_scaled_cs.h new file mode 100644 index 000000000..bd87d79bf --- /dev/null +++ b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r16_unorm_float_scaled_cs.h @@ -0,0 +1,1086 @@ +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 +// +// +// Buffer Definitions: +// +// cbuffer xe_texture_load_constants +// { +// +// uint xe_texture_load_is_tiled_3d_endian_scale;// Offset: 0 Size: 4 +// uint xe_texture_load_guest_offset; // Offset: 4 Size: 4 +// uint xe_texture_load_guest_pitch_aligned;// Offset: 8 Size: 4 +// uint xe_texture_load_guest_z_stride_block_rows_aligned;// Offset: 12 Size: 4 +// uint3 xe_texture_load_size_blocks; // Offset: 16 Size: 12 +// uint xe_texture_load_host_offset; // Offset: 28 Size: 4 +// uint xe_texture_load_host_pitch; // Offset: 32 Size: 4 +// uint xe_texture_load_height_texels;// Offset: 36 Size: 4 [unused] +// +// } +// +// +// Resource Bindings: +// +// Name Type Format Dim ID HLSL Bind Count +// ------------------------------ ---------- ------- ----------- ------- -------------- ------ +// xe_texture_load_source texture uint4 buf T0 t0 1 +// xe_texture_load_dest UAV uint4 buf U0 u0 1 +// xe_texture_load_constants cbuffer NA NA CB0 cb0 1 +// +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Input +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Output +cs_5_1 +dcl_globalFlags refactoringAllowed +dcl_constantbuffer CB0[0:0][3], immediateIndexed, space=0 +dcl_resource_buffer (uint,uint,uint,uint) T0[0:0], space=0 +dcl_uav_typed_buffer (uint,uint,uint,uint) U0[0:0], space=0 +dcl_input vThreadID.xyz +dcl_temps 6 +dcl_thread_group 2, 32, 1 +ishl r0.x, vThreadID.x, l(4) +mov r0.y, vThreadID.y +uge r0.yz, r0.xxyx, CB0[0][1].xxyx +or r0.y, r0.z, r0.y +if_nz r0.y + ret +endif +ishl r0.y, r0.x, l(1) +imad r0.z, vThreadID.z, CB0[0][1].y, vThreadID.y +imad r0.y, r0.z, CB0[0][2].x, r0.y +iadd r0.y, r0.y, CB0[0][1].w +and r0.z, CB0[0][0].x, l(2) +ubfe r1.xyz, l(2, 2, 2, 0), l(4, 6, 2, 0), CB0[0][0].xxxx +ushr r2.x, r0.x, l(3) +mov r2.y, vThreadID.y +udiv r0.xw, null, r2.xxxy, r1.xxxy +if_nz r0.z + ishr r2.zw, r0.wwww, l(0, 0, 4, 3) + ishr r0.z, vThreadID.z, l(2) + ushr r3.xy, CB0[0][0].wzww, l(4, 5, 0, 0) + imad r1.w, r0.z, r3.x, r2.z + ibfe r3.xz, l(27, 0, 29, 0), l(2, 0, 0, 0), r0.xxxx + imad r1.w, r1.w, r3.y, r3.x + ishl r2.z, r0.w, l(9) + ishr r2.z, r2.z, l(6) + and r2.z, r2.z, l(48) + iadd r0.z, r0.z, r2.w + bfi r2.w, l(1), l(1), r0.z, l(0) + iadd r2.w, r2.w, r3.z + bfi r2.w, l(2), l(1), r2.w, l(0) + bfi r0.z, l(1), l(0), r0.z, r2.w + bfi r3.xy, l(21, 21, 0, 0), l(9, 12, 0, 0), r1.wwww, l(0, 0, 0, 0) + imad r2.zw, r2.zzzz, l(0, 0, 2, 16), r3.xxxy + bfi r2.zw, l(0, 0, 2, 2), l(0, 0, 7, 10), vThreadID.zzzz, r2.zzzw + bfi r1.w, l(1), l(4), r0.w, l(0) + ubfe r3.x, l(3), l(6), r2.z + and r3.y, r0.z, l(6) + bfi r0.z, l(1), l(8), r0.z, l(0) + imad r0.z, r3.x, l(32), r0.z + imad r0.z, r3.y, l(4), r0.z + bfi r2.zw, l(0, 0, 5, 5), l(0, 0, 0, 3), r1.wwww, r2.zzzw + bfi r0.z, l(9), l(3), r0.z, r2.w + bfi r0.z, l(6), l(0), r2.z, r0.z +else + ibfe r2.zw, l(0, 0, 27, 29), l(0, 0, 2, 0), r0.xxxx + ishr r3.xy, r0.wwww, l(5, 2, 0, 0) + ushr r1.w, CB0[0][0].z, l(5) + imad r1.w, r3.x, r1.w, r2.z + bfi r3.xzw, l(4, 0, 4, 4), l(4, 0, 7, 6), r0.wwww, l(0, 0, 0, 0) + bfi r3.xzw, l(24, 0, 24, 24), l(8, 0, 11, 10), r1.wwww, r3.xxzw + ishl r1.w, r0.w, l(7) + and r1.w, r1.w, l(2048) + bfi r1.w, l(12), l(0), r1.w, r3.z + and r2.z, r3.w, l(1792) + iadd r1.w, r1.w, r2.z + and r2.z, r3.y, l(2) + iadd r2.z, r2.w, r2.z + bfi r2.z, l(2), l(6), r2.z, l(0) + iadd r1.w, r1.w, r2.z + bfi r0.z, l(6), l(0), r3.x, r1.w +endif +imad r0.xw, -r0.xxxw, r1.xxxy, r2.xxxy +imul null, r1.w, r1.y, r1.x +imad r0.x, r0.x, r1.y, r0.w +ishl r0.x, r0.x, l(4) +imad r0.x, r0.z, r1.w, r0.x +iadd r0.x, r0.x, CB0[0][0].y +ushr r0.xy, r0.xyxx, l(4, 4, 0, 0) +ld r3.xyzw, r0.xxxx, T0[0].xyzw +ieq r0.z, r1.z, l(1) +if_nz r0.z + ishl r4.xyzw, r3.xyzw, l(8, 8, 8, 8) + and r4.xyzw, r4.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) + ushr r5.xyzw, r3.xyzw, l(8, 8, 8, 8) + and r5.xyzw, r5.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) + iadd r3.xyzw, r4.xyzw, r5.xyzw +endif +and r4.xyzw, r3.xyzw, l(0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff) +utof r4.xyzw, r4.xyzw +mul r4.xyzw, r4.xyzw, l(0.000015, 0.000015, 0.000015, 0.000015) +ushr r3.xyzw, r3.xyzw, l(16, 16, 16, 16) +utof r3.xyzw, r3.xyzw +mul r3.xyzw, r3.xyzw, l(0.000015, 0.000015, 0.000015, 0.000015) +f32tof16 r4.xyzw, r4.xyzw +f32tof16 r3.xyzw, r3.xyzw +imad r3.xyzw, r3.xyzw, l(0x00010000, 0x00010000, 0x00010000, 0x00010000), r4.xyzw +store_uav_typed U0[0].xyzw, r0.yyyy, r3.xyzw +iadd r0.w, r0.y, l(1) +ult r1.z, l(1), r1.x +if_nz r1.z + udiv r1.z, null, r2.x, r1.x + imad r1.z, -r1.z, r1.x, r2.x + iadd r1.w, r1.z, l(1) + ieq r1.w, r1.x, r1.w + if_nz r1.w + ishl r1.x, r1.x, l(6) + ishl r1.z, r1.z, l(4) + iadd r1.x, -r1.z, r1.x + else + mov r1.x, l(16) + endif +else + mov r1.x, l(64) +endif +imul null, r1.x, r1.y, r1.x +ushr r1.x, r1.x, l(4) +iadd r0.x, r0.x, r1.x +ld r1.xyzw, r0.xxxx, T0[0].xyzw +if_nz r0.z + ishl r2.xyzw, r1.xyzw, l(8, 8, 8, 8) + and r2.xyzw, r2.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) + ushr r3.xyzw, r1.xyzw, l(8, 8, 8, 8) + and r3.xyzw, r3.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) + iadd r1.xyzw, r2.xyzw, r3.xyzw +endif +and r2.xyzw, r1.xyzw, l(0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff) +utof r2.xyzw, r2.xyzw +mul r2.xyzw, r2.xyzw, l(0.000015, 0.000015, 0.000015, 0.000015) +ushr r1.xyzw, r1.xyzw, l(16, 16, 16, 16) +utof r1.xyzw, r1.xyzw +mul r1.xyzw, r1.xyzw, l(0.000015, 0.000015, 0.000015, 0.000015) +f32tof16 r2.xyzw, r2.xyzw +f32tof16 r1.xyzw, r1.xyzw +imad r1.xyzw, r1.xyzw, l(0x00010000, 0x00010000, 0x00010000, 0x00010000), r2.xyzw +store_uav_typed U0[0].xyzw, r0.wwww, r1.xyzw +ret +// Approximately 126 instruction slots used +#endif + +const BYTE texture_load_r16_unorm_float_scaled_cs[] = +{ + 68, 88, 66, 67, 6, 80, + 139, 179, 86, 27, 112, 216, + 5, 182, 37, 135, 137, 109, + 109, 7, 1, 0, 0, 0, + 40, 21, 0, 0, 5, 0, + 0, 0, 52, 0, 0, 0, + 32, 4, 0, 0, 48, 4, + 0, 0, 64, 4, 0, 0, + 140, 20, 0, 0, 82, 68, + 69, 70, 228, 3, 0, 0, + 1, 0, 0, 0, 252, 0, + 0, 0, 3, 0, 0, 0, + 60, 0, 0, 0, 1, 5, + 83, 67, 0, 5, 0, 0, + 185, 3, 0, 0, 19, 19, + 68, 37, 60, 0, 0, 0, + 24, 0, 0, 0, 40, 0, + 0, 0, 40, 0, 0, 0, + 36, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 0, 0, + 180, 0, 0, 0, 2, 0, + 0, 0, 4, 0, 0, 0, + 1, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 1, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 203, 0, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 1, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 1, 0, + 0, 0, 12, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 224, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 120, 101, 95, 116, 101, 120, + 116, 117, 114, 101, 95, 108, + 111, 97, 100, 95, 115, 111, + 117, 114, 99, 101, 0, 120, + 101, 95, 116, 101, 120, 116, + 117, 114, 101, 95, 108, 111, + 97, 100, 95, 100, 101, 115, + 116, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 99, 111, 110, 115, 116, 97, + 110, 116, 115, 0, 171, 171, + 224, 0, 0, 0, 8, 0, + 0, 0, 20, 1, 0, 0, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 84, 2, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 168, 2, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 2, 0, + 0, 0, 132, 2, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 197, 2, 0, 0, + 8, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 132, 2, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 233, 2, 0, 0, 12, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 27, 3, + 0, 0, 16, 0, 0, 0, + 12, 0, 0, 0, 2, 0, + 0, 0, 64, 3, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 100, 3, 0, 0, + 28, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 132, 2, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 128, 3, 0, 0, 32, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 155, 3, + 0, 0, 36, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 132, 2, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 105, 115, 95, 116, 105, 108, + 101, 100, 95, 51, 100, 95, + 101, 110, 100, 105, 97, 110, + 95, 115, 99, 97, 108, 101, + 0, 100, 119, 111, 114, 100, + 0, 171, 0, 0, 19, 0, + 1, 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, 125, 2, + 0, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 103, 117, 101, 115, 116, 95, + 111, 102, 102, 115, 101, 116, + 0, 120, 101, 95, 116, 101, + 120, 116, 117, 114, 101, 95, + 108, 111, 97, 100, 95, 103, + 117, 101, 115, 116, 95, 112, + 105, 116, 99, 104, 95, 97, + 108, 105, 103, 110, 101, 100, + 0, 120, 101, 95, 116, 101, + 120, 116, 117, 114, 101, 95, + 108, 111, 97, 100, 95, 103, + 117, 101, 115, 116, 95, 122, + 95, 115, 116, 114, 105, 100, + 101, 95, 98, 108, 111, 99, + 107, 95, 114, 111, 119, 115, + 95, 97, 108, 105, 103, 110, + 101, 100, 0, 120, 101, 95, + 116, 101, 120, 116, 117, 114, + 101, 95, 108, 111, 97, 100, + 95, 115, 105, 122, 101, 95, + 98, 108, 111, 99, 107, 115, + 0, 117, 105, 110, 116, 51, + 0, 171, 171, 171, 1, 0, + 19, 0, 1, 0, 3, 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, + 55, 3, 0, 0, 120, 101, + 95, 116, 101, 120, 116, 117, + 114, 101, 95, 108, 111, 97, + 100, 95, 104, 111, 115, 116, + 95, 111, 102, 102, 115, 101, + 116, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 104, 111, 115, 116, 95, 112, + 105, 116, 99, 104, 0, 120, + 101, 95, 116, 101, 120, 116, + 117, 114, 101, 95, 108, 111, + 97, 100, 95, 104, 101, 105, + 103, 104, 116, 95, 116, 101, + 120, 101, 108, 115, 0, 77, + 105, 99, 114, 111, 115, 111, + 102, 116, 32, 40, 82, 41, + 32, 72, 76, 83, 76, 32, + 83, 104, 97, 100, 101, 114, + 32, 67, 111, 109, 112, 105, + 108, 101, 114, 32, 49, 48, + 46, 49, 0, 171, 171, 171, + 73, 83, 71, 78, 8, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 79, 83, + 71, 78, 8, 0, 0, 0, + 0, 0, 0, 0, 8, 0, + 0, 0, 83, 72, 69, 88, + 68, 16, 0, 0, 81, 0, + 5, 0, 17, 4, 0, 0, + 106, 8, 0, 1, 89, 0, + 0, 7, 70, 142, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 88, 8, 0, 7, + 70, 126, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 68, + 0, 0, 0, 0, 0, 0, + 156, 8, 0, 7, 70, 238, + 49, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 68, 68, 0, 0, + 0, 0, 0, 0, 95, 0, + 0, 2, 114, 0, 2, 0, + 104, 0, 0, 2, 6, 0, + 0, 0, 155, 0, 0, 4, + 2, 0, 0, 0, 32, 0, + 0, 0, 1, 0, 0, 0, + 41, 0, 0, 6, 18, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 2, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 54, 0, 0, 4, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 2, 0, 80, 0, + 0, 9, 98, 0, 16, 0, + 0, 0, 0, 0, 6, 1, + 16, 0, 0, 0, 0, 0, + 6, 129, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 60, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 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, 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, 35, 0, 0, 9, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 2, 0, + 26, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 26, 0, + 2, 0, 35, 0, 0, 11, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 9, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 58, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 9, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 138, 0, + 0, 17, 114, 0, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 2, 0, 0, 0, + 2, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 4, 0, + 0, 0, 6, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 6, 128, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 85, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 54, 0, + 0, 4, 34, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 2, 0, 78, 0, 0, 8, + 146, 0, 16, 0, 0, 0, + 0, 0, 0, 208, 0, 0, + 6, 4, 16, 0, 2, 0, + 0, 0, 6, 4, 16, 0, + 1, 0, 0, 0, 31, 0, + 4, 3, 42, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 10, 194, 0, 16, 0, + 2, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 3, 0, + 0, 0, 42, 0, 0, 6, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 2, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 85, 0, 0, 12, + 50, 0, 16, 0, 3, 0, + 0, 0, 182, 143, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 4, 0, + 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 35, 0, 0, 9, + 130, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 139, 0, 0, 15, + 82, 0, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 27, 0, 0, 0, 0, 0, + 0, 0, 29, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 6, 0, 16, 0, 0, 0, + 0, 0, 35, 0, 0, 9, + 130, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 3, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 1, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 48, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 140, 0, 0, 11, 130, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 3, 0, 0, 0, + 140, 0, 0, 11, 130, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 140, 0, 0, 11, + 66, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 140, 0, + 0, 20, 50, 0, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 21, 0, 0, 0, + 21, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 9, 0, + 0, 0, 12, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 246, 15, 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, + 35, 0, 0, 12, 194, 0, + 16, 0, 2, 0, 0, 0, + 166, 10, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 16, 0, 0, 0, 6, 4, + 16, 0, 3, 0, 0, 0, + 140, 0, 0, 16, 194, 0, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 10, 0, 0, 0, 166, 10, + 2, 0, 166, 14, 16, 0, + 2, 0, 0, 0, 140, 0, + 0, 11, 130, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 138, 0, 0, 9, 18, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 0, 0, 7, 34, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 140, 0, + 0, 11, 66, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 35, 0, 0, 9, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 32, 0, 0, 0, 42, 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, 1, 64, 0, 0, + 4, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 140, 0, 0, 17, 194, 0, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 246, 15, + 16, 0, 1, 0, 0, 0, + 166, 14, 16, 0, 2, 0, + 0, 0, 140, 0, 0, 11, + 66, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 9, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 140, 0, + 0, 11, 66, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 18, 0, 0, 1, 139, 0, + 0, 15, 194, 0, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 27, 0, + 0, 0, 29, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 6, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 10, 50, 0, 16, 0, + 3, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 5, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 85, 0, 0, 9, + 130, 0, 16, 0, 1, 0, + 0, 0, 42, 128, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 35, 0, 0, 9, + 130, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 140, 0, 0, 20, + 210, 0, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 6, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 140, 0, + 0, 17, 210, 0, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 24, 0, 0, 0, + 0, 0, 0, 0, 24, 0, + 0, 0, 24, 0, 0, 0, + 2, 64, 0, 0, 8, 0, + 0, 0, 0, 0, 0, 0, + 11, 0, 0, 0, 10, 0, + 0, 0, 246, 15, 16, 0, + 1, 0, 0, 0, 6, 14, + 16, 0, 3, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 1, 0, + 0, 7, 130, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 0, 8, + 0, 0, 140, 0, 0, 11, + 130, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 12, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 3, 0, 0, 0, 1, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 0, 7, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 140, 0, 0, 11, + 66, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 140, 0, 0, 11, + 66, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 21, 0, + 0, 1, 35, 0, 0, 10, + 146, 0, 16, 0, 0, 0, + 0, 0, 6, 12, 16, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 6, 4, 16, 0, + 1, 0, 0, 0, 6, 4, + 16, 0, 2, 0, 0, 0, + 38, 0, 0, 8, 0, 208, + 0, 0, 130, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 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, 26, 0, + 16, 0, 1, 0, 0, 0, + 58, 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, 4, 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, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 9, 18, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 26, 128, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 85, 0, 0, 10, 50, 0, + 16, 0, 0, 0, 0, 0, + 70, 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, 45, 0, + 0, 8, 242, 0, 16, 0, + 3, 0, 0, 0, 6, 0, + 16, 0, 0, 0, 0, 0, + 70, 126, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 32, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 31, 0, + 4, 3, 42, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 10, 242, 0, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 85, 0, 0, 10, 242, 0, + 16, 0, 5, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 5, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 2, 64, 0, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 30, 0, 0, 7, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 21, 0, 0, 1, 1, 0, + 0, 10, 242, 0, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 255, 255, + 0, 0, 255, 255, 0, 0, + 255, 255, 0, 0, 255, 255, + 0, 0, 86, 0, 0, 5, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 56, 0, + 0, 10, 242, 0, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 128, 0, + 128, 55, 128, 0, 128, 55, + 128, 0, 128, 55, 128, 0, + 128, 55, 85, 0, 0, 10, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 86, 0, 0, 5, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 56, 0, 0, 10, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 128, 0, 128, 55, + 128, 0, 128, 55, 128, 0, + 128, 55, 128, 0, 128, 55, + 130, 0, 0, 5, 242, 0, + 16, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 130, 0, 0, 5, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 35, 0, + 0, 12, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 70, 14, 16, 0, + 4, 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, 3, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 79, 0, + 0, 7, 66, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 31, 0, 4, 3, + 42, 0, 16, 0, 1, 0, + 0, 0, 78, 0, 0, 8, + 66, 0, 16, 0, 1, 0, + 0, 0, 0, 208, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 35, 0, + 0, 10, 66, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 128, 65, 0, 0, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 32, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 31, 0, + 4, 3, 58, 0, 16, 0, + 1, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 30, 0, 0, 8, 18, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 128, 65, 0, + 0, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 18, 0, 0, 1, + 54, 0, 0, 5, 18, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 21, 0, 0, 1, + 18, 0, 0, 1, 54, 0, + 0, 5, 18, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 64, 0, 0, 0, + 21, 0, 0, 1, 38, 0, + 0, 8, 0, 208, 0, 0, + 18, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 85, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 45, 0, 0, 8, + 242, 0, 16, 0, 1, 0, + 0, 0, 6, 0, 16, 0, + 0, 0, 0, 0, 70, 126, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 31, 0, + 4, 3, 42, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 10, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 85, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 30, 0, 0, 7, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 21, 0, 0, 1, 1, 0, + 0, 10, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 255, 255, + 0, 0, 255, 255, 0, 0, + 255, 255, 0, 0, 255, 255, + 0, 0, 86, 0, 0, 5, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 56, 0, + 0, 10, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 128, 0, + 128, 55, 128, 0, 128, 55, + 128, 0, 128, 55, 128, 0, + 128, 55, 85, 0, 0, 10, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 86, 0, 0, 5, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 56, 0, 0, 10, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 128, 0, 128, 55, + 128, 0, 128, 55, 128, 0, + 128, 55, 128, 0, 128, 55, + 130, 0, 0, 5, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 130, 0, 0, 5, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 35, 0, + 0, 12, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 70, 14, 16, 0, + 2, 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, 1, 0, 0, 0, + 62, 0, 0, 1, 83, 84, + 65, 84, 148, 0, 0, 0, + 126, 0, 0, 0, 6, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 4, 0, + 0, 0, 44, 0, 0, 0, + 26, 0, 0, 0, 5, 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, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 4, 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 +}; diff --git a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_rg16_snorm_float_cs.h b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_rg16_snorm_float_cs.h new file mode 100644 index 000000000..57d961279 --- /dev/null +++ b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_rg16_snorm_float_cs.h @@ -0,0 +1,1113 @@ +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 +// +// +// Buffer Definitions: +// +// cbuffer xe_texture_load_constants +// { +// +// uint xe_texture_load_is_tiled_3d_endian_scale;// Offset: 0 Size: 4 +// uint xe_texture_load_guest_offset; // Offset: 4 Size: 4 +// uint xe_texture_load_guest_pitch_aligned;// Offset: 8 Size: 4 +// uint xe_texture_load_guest_z_stride_block_rows_aligned;// Offset: 12 Size: 4 +// uint3 xe_texture_load_size_blocks; // Offset: 16 Size: 12 +// uint xe_texture_load_host_offset; // Offset: 28 Size: 4 +// uint xe_texture_load_host_pitch; // Offset: 32 Size: 4 +// uint xe_texture_load_height_texels;// Offset: 36 Size: 4 [unused] +// +// } +// +// +// Resource Bindings: +// +// Name Type Format Dim ID HLSL Bind Count +// ------------------------------ ---------- ------- ----------- ------- -------------- ------ +// xe_texture_load_source texture uint4 buf T0 t0 1 +// xe_texture_load_dest UAV uint4 buf U0 u0 1 +// xe_texture_load_constants cbuffer NA NA CB0 cb0 1 +// +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Input +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Output +cs_5_1 +dcl_globalFlags refactoringAllowed +dcl_constantbuffer CB0[0:0][3], immediateIndexed, space=0 +dcl_resource_buffer (uint,uint,uint,uint) T0[0:0], space=0 +dcl_uav_typed_buffer (uint,uint,uint,uint) U0[0:0], space=0 +dcl_input vThreadID.xyz +dcl_temps 5 +dcl_thread_group 4, 32, 1 +ishl r0.x, vThreadID.x, l(3) +mov r0.y, vThreadID.y +uge r0.yz, r0.xxyx, CB0[0][1].xxyx +or r0.y, r0.z, r0.y +if_nz r0.y + ret +endif +ishl r0.x, r0.x, l(2) +imad r0.y, vThreadID.z, CB0[0][1].y, vThreadID.y +imad r0.y, r0.y, CB0[0][2].x, r0.x +iadd r0.y, r0.y, CB0[0][1].w +and r0.z, CB0[0][0].x, l(1) +if_nz r0.z + and r0.w, CB0[0][0].x, l(2) + if_nz r0.w + ishr r1.xyz, vThreadID.yzyy, l(4, 2, 3, 0) + ushr r2.xy, CB0[0][0].wzww, l(4, 5, 0, 0) + imad r0.w, r1.y, r2.x, r1.x + ibfe r1.xw, l(27, 0, 0, 29), l(2, 0, 0, 0), vThreadID.xxxx + imad r0.w, r0.w, r2.y, r1.x + ishl r1.x, vThreadID.y, l(10) + ishr r1.x, r1.x, l(6) + and r1.x, r1.x, l(96) + iadd r1.y, r1.y, r1.z + bfi r1.z, l(1), l(1), r1.y, l(0) + iadd r1.z, r1.z, r1.w + bfi r1.z, l(2), l(1), r1.z, l(0) + bfi r1.y, l(1), l(0), r1.y, r1.z + bfi r1.zw, l(0, 0, 20, 20), l(0, 0, 10, 13), r0.wwww, l(0, 0, 0, 0) + imad r1.xz, r1.xxxx, l(2, 0, 16, 0), r1.zzwz + bfi r1.xz, l(2, 0, 2, 0), l(8, 0, 11, 0), vThreadID.zzzz, r1.xxzx + bfi r0.w, l(1), l(4), vThreadID.y, l(0) + ubfe r1.w, l(3), l(6), r1.x + and r2.x, r1.y, l(6) + bfi r1.y, l(1), l(8), r1.y, l(0) + imad r1.y, r1.w, l(32), r1.y + imad r1.y, r2.x, l(4), r1.y + bfi r1.xz, l(6, 0, 6, 0), l(0, 0, 3, 0), r0.wwww, r1.xxzx + bfi r0.w, l(9), l(3), r1.y, r1.z + bfi r0.w, l(6), l(0), r1.x, r0.w + else + ibfe r1.xy, l(27, 29, 0, 0), l(2, 0, 0, 0), vThreadID.xxxx + ishr r1.zw, vThreadID.yyyy, l(0, 0, 5, 2) + ushr r2.x, CB0[0][0].z, l(5) + imad r1.x, r1.z, r2.x, r1.x + ishl r2.xy, vThreadID.yyyy, l(5, 7, 0, 0) + and r2.xy, r2.xyxx, l(448, 2048, 0, 0) + bfi r1.z, l(23), l(9), r1.x, r2.x + bfi r2.z, l(1), l(4), vThreadID.y, l(0) + iadd r1.z, r1.z, r2.z + ishl r2.xw, r2.xxxx, l(3, 0, 0, 2) + bfi r2.xw, l(23, 0, 0, 23), l(12, 0, 0, 11), r1.xxxx, r2.xxxw + imad r2.xz, r2.zzzz, l(8, 0, 4, 0), r2.xxwx + bfi r1.x, l(12), l(0), r2.y, r2.x + and r2.x, r2.z, l(1792) + iadd r1.x, r1.x, r2.x + and r1.w, r1.w, l(2) + iadd r1.y, r1.y, r1.w + bfi r1.y, l(2), l(6), r1.y, l(0) + iadd r1.x, r1.x, r1.y + bfi r0.w, l(6), l(0), r1.z, r1.x + endif +else + imad r1.x, vThreadID.z, CB0[0][0].w, vThreadID.y + imad r0.w, r1.x, CB0[0][0].z, r0.x +endif +iadd r0.x, r0.w, CB0[0][0].y +ushr r0.xy, r0.xyxx, l(4, 4, 0, 0) +ubfe r0.w, l(2), l(2), CB0[0][0].x +ld r1.xyzw, r0.xxxx, T0[0].xyzw +ieq r2.xyz, r0.wwww, l(1, 2, 3, 0) +or r2.xy, r2.yzyy, r2.xyxx +if_nz r2.x + ishl r3.xyzw, r1.xyzw, l(8, 8, 8, 8) + and r3.xyzw, r3.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) + ushr r4.xyzw, r1.xyzw, l(8, 8, 8, 8) + and r4.xyzw, r4.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) + iadd r1.xyzw, r3.xyzw, r4.xyzw +endif +if_nz r2.y + ushr r3.xyzw, r1.xyzw, l(16, 16, 16, 16) + bfi r1.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r1.xyzw, r3.xyzw +endif +ibfe r3.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r1.xyzw +itof r3.xyzw, r3.xyzw +mul r3.xyzw, r3.xyzw, l(0.000031, 0.000031, 0.000031, 0.000031) +max r3.xyzw, r3.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000) +ishr r1.xyzw, r1.xyzw, l(16, 16, 16, 16) +itof r1.xyzw, r1.xyzw +mul r1.xyzw, r1.xyzw, l(0.000031, 0.000031, 0.000031, 0.000031) +max r1.xyzw, r1.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000) +f32tof16 r3.xyzw, r3.xyzw +f32tof16 r1.xyzw, r1.xyzw +imad r1.xyzw, r1.xyzw, l(0x00010000, 0x00010000, 0x00010000, 0x00010000), r3.xyzw +store_uav_typed U0[0].xyzw, r0.yyyy, r1.xyzw +iadd r0.w, r0.y, l(1) +if_nz r0.z + mov r0.z, l(32) +else + mov r0.z, l(16) +endif +ushr r0.z, r0.z, l(4) +iadd r0.x, r0.z, r0.x +ld r1.xyzw, r0.xxxx, T0[0].xyzw +if_nz r2.x + ishl r3.xyzw, r1.xyzw, l(8, 8, 8, 8) + and r3.xyzw, r3.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) + ushr r4.xyzw, r1.xyzw, l(8, 8, 8, 8) + and r4.xyzw, r4.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) + iadd r1.xyzw, r3.xyzw, r4.xyzw +endif +if_nz r2.y + ushr r2.xyzw, r1.xyzw, l(16, 16, 16, 16) + bfi r1.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r1.xyzw, r2.xyzw +endif +ibfe r2.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r1.xyzw +itof r2.xyzw, r2.xyzw +mul r2.xyzw, r2.xyzw, l(0.000031, 0.000031, 0.000031, 0.000031) +max r2.xyzw, r2.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000) +ishr r1.xyzw, r1.xyzw, l(16, 16, 16, 16) +itof r1.xyzw, r1.xyzw +mul r1.xyzw, r1.xyzw, l(0.000031, 0.000031, 0.000031, 0.000031) +max r1.xyzw, r1.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000) +f32tof16 r2.xyzw, r2.xyzw +f32tof16 r1.xyzw, r1.xyzw +imad r1.xyzw, r1.xyzw, l(0x00010000, 0x00010000, 0x00010000, 0x00010000), r2.xyzw +store_uav_typed U0[0].xyzw, r0.wwww, r1.xyzw +ret +// Approximately 128 instruction slots used +#endif + +const BYTE texture_load_rg16_snorm_float_cs[] = +{ + 68, 88, 66, 67, 231, 56, + 59, 12, 252, 47, 13, 143, + 214, 32, 101, 220, 14, 202, + 71, 49, 1, 0, 0, 0, + 188, 21, 0, 0, 5, 0, + 0, 0, 52, 0, 0, 0, + 32, 4, 0, 0, 48, 4, + 0, 0, 64, 4, 0, 0, + 32, 21, 0, 0, 82, 68, + 69, 70, 228, 3, 0, 0, + 1, 0, 0, 0, 252, 0, + 0, 0, 3, 0, 0, 0, + 60, 0, 0, 0, 1, 5, + 83, 67, 0, 5, 0, 0, + 185, 3, 0, 0, 19, 19, + 68, 37, 60, 0, 0, 0, + 24, 0, 0, 0, 40, 0, + 0, 0, 40, 0, 0, 0, + 36, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 0, 0, + 180, 0, 0, 0, 2, 0, + 0, 0, 4, 0, 0, 0, + 1, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 1, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 203, 0, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 1, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 1, 0, + 0, 0, 12, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 224, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 120, 101, 95, 116, 101, 120, + 116, 117, 114, 101, 95, 108, + 111, 97, 100, 95, 115, 111, + 117, 114, 99, 101, 0, 120, + 101, 95, 116, 101, 120, 116, + 117, 114, 101, 95, 108, 111, + 97, 100, 95, 100, 101, 115, + 116, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 99, 111, 110, 115, 116, 97, + 110, 116, 115, 0, 171, 171, + 224, 0, 0, 0, 8, 0, + 0, 0, 20, 1, 0, 0, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 84, 2, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 168, 2, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 2, 0, + 0, 0, 132, 2, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 197, 2, 0, 0, + 8, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 132, 2, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 233, 2, 0, 0, 12, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 27, 3, + 0, 0, 16, 0, 0, 0, + 12, 0, 0, 0, 2, 0, + 0, 0, 64, 3, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 100, 3, 0, 0, + 28, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 132, 2, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 128, 3, 0, 0, 32, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 155, 3, + 0, 0, 36, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 132, 2, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 105, 115, 95, 116, 105, 108, + 101, 100, 95, 51, 100, 95, + 101, 110, 100, 105, 97, 110, + 95, 115, 99, 97, 108, 101, + 0, 100, 119, 111, 114, 100, + 0, 171, 0, 0, 19, 0, + 1, 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, 125, 2, + 0, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 103, 117, 101, 115, 116, 95, + 111, 102, 102, 115, 101, 116, + 0, 120, 101, 95, 116, 101, + 120, 116, 117, 114, 101, 95, + 108, 111, 97, 100, 95, 103, + 117, 101, 115, 116, 95, 112, + 105, 116, 99, 104, 95, 97, + 108, 105, 103, 110, 101, 100, + 0, 120, 101, 95, 116, 101, + 120, 116, 117, 114, 101, 95, + 108, 111, 97, 100, 95, 103, + 117, 101, 115, 116, 95, 122, + 95, 115, 116, 114, 105, 100, + 101, 95, 98, 108, 111, 99, + 107, 95, 114, 111, 119, 115, + 95, 97, 108, 105, 103, 110, + 101, 100, 0, 120, 101, 95, + 116, 101, 120, 116, 117, 114, + 101, 95, 108, 111, 97, 100, + 95, 115, 105, 122, 101, 95, + 98, 108, 111, 99, 107, 115, + 0, 117, 105, 110, 116, 51, + 0, 171, 171, 171, 1, 0, + 19, 0, 1, 0, 3, 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, + 55, 3, 0, 0, 120, 101, + 95, 116, 101, 120, 116, 117, + 114, 101, 95, 108, 111, 97, + 100, 95, 104, 111, 115, 116, + 95, 111, 102, 102, 115, 101, + 116, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 104, 111, 115, 116, 95, 112, + 105, 116, 99, 104, 0, 120, + 101, 95, 116, 101, 120, 116, + 117, 114, 101, 95, 108, 111, + 97, 100, 95, 104, 101, 105, + 103, 104, 116, 95, 116, 101, + 120, 101, 108, 115, 0, 77, + 105, 99, 114, 111, 115, 111, + 102, 116, 32, 40, 82, 41, + 32, 72, 76, 83, 76, 32, + 83, 104, 97, 100, 101, 114, + 32, 67, 111, 109, 112, 105, + 108, 101, 114, 32, 49, 48, + 46, 49, 0, 171, 171, 171, + 73, 83, 71, 78, 8, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 79, 83, + 71, 78, 8, 0, 0, 0, + 0, 0, 0, 0, 8, 0, + 0, 0, 83, 72, 69, 88, + 216, 16, 0, 0, 81, 0, + 5, 0, 54, 4, 0, 0, + 106, 8, 0, 1, 89, 0, + 0, 7, 70, 142, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 88, 8, 0, 7, + 70, 126, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 68, + 0, 0, 0, 0, 0, 0, + 156, 8, 0, 7, 70, 238, + 49, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 68, 68, 0, 0, + 0, 0, 0, 0, 95, 0, + 0, 2, 114, 0, 2, 0, + 104, 0, 0, 2, 5, 0, + 0, 0, 155, 0, 0, 4, + 4, 0, 0, 0, 32, 0, + 0, 0, 1, 0, 0, 0, + 41, 0, 0, 6, 18, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 2, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 54, 0, 0, 4, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 2, 0, 80, 0, + 0, 9, 98, 0, 16, 0, + 0, 0, 0, 0, 6, 1, + 16, 0, 0, 0, 0, 0, + 6, 129, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 60, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 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, 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, 35, 0, 0, 9, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 2, 0, + 26, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 26, 0, + 2, 0, 35, 0, 0, 11, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 9, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 58, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 9, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 31, 0, + 4, 3, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 0, + 0, 9, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 31, 0, + 4, 3, 58, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 9, 114, 0, 16, 0, + 1, 0, 0, 0, 150, 5, + 2, 0, 2, 64, 0, 0, + 4, 0, 0, 0, 2, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 85, 0, + 0, 12, 50, 0, 16, 0, + 2, 0, 0, 0, 182, 143, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 4, 0, 0, 0, 5, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 35, 0, + 0, 9, 130, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 139, 0, + 0, 14, 146, 0, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 29, 0, 0, 0, + 2, 64, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 6, 0, 2, 0, + 35, 0, 0, 9, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 41, 0, 0, 6, 18, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 2, 0, 1, 64, + 0, 0, 10, 0, 0, 0, + 42, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 1, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 96, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 140, 0, 0, 11, 66, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 140, 0, 0, 11, 66, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 140, 0, 0, 11, + 34, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 140, 0, + 0, 20, 194, 0, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 20, 0, + 0, 0, 20, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 10, 0, 0, 0, 13, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 35, 0, 0, 12, 82, 0, + 16, 0, 1, 0, 0, 0, + 6, 0, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 166, 11, + 16, 0, 1, 0, 0, 0, + 140, 0, 0, 16, 82, 0, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 8, 0, 0, 0, 0, 0, + 0, 0, 11, 0, 0, 0, + 0, 0, 0, 0, 166, 10, + 2, 0, 6, 2, 16, 0, + 1, 0, 0, 0, 140, 0, + 0, 10, 130, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 26, 0, 2, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 138, 0, 0, 9, + 130, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 0, 0, 7, + 18, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 140, 0, 0, 11, 34, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 35, 0, 0, 9, + 34, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 32, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 35, 0, 0, 9, + 34, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 140, 0, 0, 17, + 82, 0, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 6, 0, 0, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 6, 2, 16, 0, + 1, 0, 0, 0, 140, 0, + 0, 11, 130, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 140, 0, 0, 11, 130, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 18, 0, 0, 1, + 139, 0, 0, 14, 50, 0, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 27, 0, + 0, 0, 29, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6, 0, + 2, 0, 42, 0, 0, 9, + 194, 0, 16, 0, 1, 0, + 0, 0, 86, 5, 2, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 2, 0, + 0, 0, 85, 0, 0, 9, + 18, 0, 16, 0, 2, 0, + 0, 0, 42, 128, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 35, 0, 0, 9, + 18, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 41, 0, 0, 9, + 50, 0, 16, 0, 2, 0, + 0, 0, 86, 5, 2, 0, + 2, 64, 0, 0, 5, 0, + 0, 0, 7, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 10, + 50, 0, 16, 0, 2, 0, + 0, 0, 70, 0, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 192, 1, 0, 0, + 0, 8, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 140, 0, 0, 11, 66, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 23, 0, + 0, 0, 1, 64, 0, 0, + 9, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 140, 0, 0, 10, + 66, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 26, 0, 2, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 41, 0, + 0, 10, 146, 0, 16, 0, + 2, 0, 0, 0, 6, 0, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 140, 0, 0, 17, + 146, 0, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 23, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 23, 0, 0, 0, 2, 64, + 0, 0, 12, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 11, 0, 0, 0, + 6, 0, 16, 0, 1, 0, + 0, 0, 6, 12, 16, 0, + 2, 0, 0, 0, 35, 0, + 0, 12, 82, 0, 16, 0, + 2, 0, 0, 0, 166, 10, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 8, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 6, 3, 16, 0, + 2, 0, 0, 0, 140, 0, + 0, 11, 18, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 12, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 0, 7, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 1, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 140, 0, + 0, 11, 34, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 140, 0, + 0, 11, 130, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 21, 0, 0, 1, 18, 0, + 0, 1, 35, 0, 0, 9, + 18, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 2, 0, + 58, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 26, 0, + 2, 0, 35, 0, 0, 11, + 130, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 42, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 21, 0, + 0, 1, 30, 0, 0, 9, + 18, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 26, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 85, 0, 0, 10, + 50, 0, 16, 0, 0, 0, + 0, 0, 70, 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, + 138, 0, 0, 11, 130, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 45, 0, 0, 8, + 242, 0, 16, 0, 1, 0, + 0, 0, 6, 0, 16, 0, + 0, 0, 0, 0, 70, 126, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 32, 0, + 0, 10, 114, 0, 16, 0, + 2, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 1, 0, + 0, 0, 2, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 60, 0, 0, 7, + 50, 0, 16, 0, 2, 0, + 0, 0, 150, 5, 16, 0, + 2, 0, 0, 0, 70, 0, + 16, 0, 2, 0, 0, 0, + 31, 0, 4, 3, 10, 0, + 16, 0, 2, 0, 0, 0, + 41, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 85, 0, 0, 10, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 30, 0, + 0, 7, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 21, 0, 0, 1, + 31, 0, 4, 3, 26, 0, + 16, 0, 2, 0, 0, 0, + 85, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 140, 0, + 0, 17, 242, 0, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 2, 64, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 21, 0, 0, 1, 139, 0, + 0, 15, 242, 0, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 43, 0, + 0, 5, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 56, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 1, 0, 56, 0, 1, + 0, 56, 0, 1, 0, 56, + 0, 1, 0, 56, 52, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 128, 191, 0, 0, 128, 191, + 0, 0, 128, 191, 0, 0, + 128, 191, 42, 0, 0, 10, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 43, 0, 0, 5, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 56, 0, 0, 10, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 0, 1, 0, 56, + 0, 1, 0, 56, 0, 1, + 0, 56, 0, 1, 0, 56, + 52, 0, 0, 10, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 128, 191, 0, 0, + 128, 191, 0, 0, 128, 191, + 0, 0, 128, 191, 130, 0, + 0, 5, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 130, 0, 0, 5, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 35, 0, 0, 12, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 70, 14, 16, 0, 3, 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, + 1, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 31, 0, 4, 3, + 42, 0, 16, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 66, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 32, 0, 0, 0, 18, 0, + 0, 1, 54, 0, 0, 5, + 66, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 21, 0, + 0, 1, 85, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 30, 0, 0, 7, 18, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 45, 0, + 0, 8, 242, 0, 16, 0, + 1, 0, 0, 0, 6, 0, + 16, 0, 0, 0, 0, 0, + 70, 126, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 31, 0, 4, 3, 10, 0, + 16, 0, 2, 0, 0, 0, + 41, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 85, 0, 0, 10, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 30, 0, + 0, 7, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 21, 0, 0, 1, + 31, 0, 4, 3, 26, 0, + 16, 0, 2, 0, 0, 0, + 85, 0, 0, 10, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 140, 0, + 0, 17, 242, 0, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 2, 64, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 21, 0, 0, 1, 139, 0, + 0, 15, 242, 0, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 43, 0, + 0, 5, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 56, 0, 0, 10, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 0, 1, 0, 56, 0, 1, + 0, 56, 0, 1, 0, 56, + 0, 1, 0, 56, 52, 0, + 0, 10, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 128, 191, 0, 0, 128, 191, + 0, 0, 128, 191, 0, 0, + 128, 191, 42, 0, 0, 10, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 43, 0, 0, 5, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 56, 0, 0, 10, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 0, 1, 0, 56, + 0, 1, 0, 56, 0, 1, + 0, 56, 0, 1, 0, 56, + 52, 0, 0, 10, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 128, 191, 0, 0, + 128, 191, 0, 0, 128, 191, + 0, 0, 128, 191, 130, 0, + 0, 5, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 130, 0, 0, 5, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 35, 0, 0, 12, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 70, 14, 16, 0, 2, 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, + 1, 0, 0, 0, 62, 0, + 0, 1, 83, 84, 65, 84, + 148, 0, 0, 0, 128, 0, + 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 8, 0, 0, 0, + 38, 0, 0, 0, 22, 0, + 0, 0, 5, 0, 0, 0, + 8, 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, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 4, 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 +}; diff --git a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_rg16_snorm_float_scaled_cs.h b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_rg16_snorm_float_scaled_cs.h new file mode 100644 index 000000000..835921af9 --- /dev/null +++ b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_rg16_snorm_float_scaled_cs.h @@ -0,0 +1,1244 @@ +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 +// +// +// Buffer Definitions: +// +// cbuffer xe_texture_load_constants +// { +// +// uint xe_texture_load_is_tiled_3d_endian_scale;// Offset: 0 Size: 4 +// uint xe_texture_load_guest_offset; // Offset: 4 Size: 4 +// uint xe_texture_load_guest_pitch_aligned;// Offset: 8 Size: 4 +// uint xe_texture_load_guest_z_stride_block_rows_aligned;// Offset: 12 Size: 4 +// uint3 xe_texture_load_size_blocks; // Offset: 16 Size: 12 +// uint xe_texture_load_host_offset; // Offset: 28 Size: 4 +// uint xe_texture_load_host_pitch; // Offset: 32 Size: 4 +// uint xe_texture_load_height_texels;// Offset: 36 Size: 4 [unused] +// +// } +// +// +// Resource Bindings: +// +// Name Type Format Dim ID HLSL Bind Count +// ------------------------------ ---------- ------- ----------- ------- -------------- ------ +// xe_texture_load_source texture uint4 buf T0 t0 1 +// xe_texture_load_dest UAV uint4 buf U0 u0 1 +// xe_texture_load_constants cbuffer NA NA CB0 cb0 1 +// +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Input +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Output +cs_5_1 +dcl_globalFlags refactoringAllowed +dcl_constantbuffer CB0[0:0][3], immediateIndexed, space=0 +dcl_resource_buffer (uint,uint,uint,uint) T0[0:0], space=0 +dcl_uav_typed_buffer (uint,uint,uint,uint) U0[0:0], space=0 +dcl_input vThreadID.xyz +dcl_temps 6 +dcl_thread_group 4, 32, 1 +ishl r0.x, vThreadID.x, l(3) +mov r0.y, vThreadID.y +uge r0.yz, r0.xxyx, CB0[0][1].xxyx +or r0.y, r0.z, r0.y +if_nz r0.y + ret +endif +ishl r0.y, r0.x, l(2) +imad r0.z, vThreadID.z, CB0[0][1].y, vThreadID.y +imad r0.y, r0.z, CB0[0][2].x, r0.y +iadd r0.y, r0.y, CB0[0][1].w +and r0.z, CB0[0][0].x, l(2) +ubfe r1.xyz, l(2, 2, 2, 0), l(4, 6, 2, 0), CB0[0][0].xxxx +ushr r2.x, r0.x, l(2) +mov r2.y, vThreadID.y +udiv r0.xw, null, r2.xxxy, r1.xxxy +ishl r1.w, r0.x, l(2) +if_nz r0.z + ishr r2.zw, r0.wwww, l(0, 0, 4, 3) + ishr r0.z, vThreadID.z, l(2) + ushr r3.xy, CB0[0][0].wzww, l(4, 5, 0, 0) + imad r2.z, r0.z, r3.x, r2.z + ibfe r3.xz, l(27, 0, 29, 0), l(3, 0, 1, 0), r0.xxxx + imad r2.z, r2.z, r3.y, r3.x + ishl r3.x, r0.w, l(10) + and r3.x, r3.x, l(6144) + bfi r3.x, l(3), l(8), r1.w, r3.x + ishr r3.x, r3.x, l(6) + iadd r0.z, r0.z, r2.w + bfi r2.w, l(1), l(1), r0.z, l(0) + iadd r2.w, r2.w, r3.z + bfi r2.w, l(2), l(1), r2.w, l(0) + bfi r0.z, l(1), l(0), r0.z, r2.w + bfi r2.zw, l(0, 0, 20, 20), l(0, 0, 10, 13), r2.zzzz, l(0, 0, 0, 0) + imad r2.zw, r3.xxxx, l(0, 0, 2, 16), r2.zzzw + bfi r2.zw, l(0, 0, 2, 2), l(0, 0, 8, 11), vThreadID.zzzz, r2.zzzw + bfi r3.x, l(1), l(4), r0.w, l(0) + ubfe r3.y, l(3), l(6), r2.z + and r3.z, r0.z, l(6) + bfi r0.z, l(1), l(8), r0.z, l(0) + imad r0.z, r3.y, l(32), r0.z + imad r0.z, r3.z, l(4), r0.z + bfi r2.zw, l(0, 0, 5, 5), l(0, 0, 0, 3), r3.xxxx, r2.zzzw + bfi r0.z, l(9), l(3), r0.z, r2.w + bfi r0.z, l(6), l(0), r2.z, r0.z +else + ibfe r2.zw, l(0, 0, 27, 29), l(0, 0, 3, 1), r0.xxxx + ishr r3.xy, r0.wwww, l(5, 2, 0, 0) + ushr r3.z, CB0[0][0].z, l(5) + imad r2.z, r3.x, r3.z, r2.z + ishl r3.xz, r0.wwww, l(5, 0, 7, 0) + and r3.xz, r3.xxzx, l(448, 0, 2048, 0) + bfi r3.w, l(3), l(3), r1.w, r3.x + bfi r3.w, l(23), l(9), r2.z, r3.w + bfi r4.x, l(1), l(4), r0.w, l(0) + iadd r3.w, r3.w, r4.x + ishl r4.yz, r3.xxxx, l(0, 3, 2, 0) + bfi r4.yz, l(0, 3, 3, 0), l(0, 6, 5, 0), r1.wwww, r4.yyzy + bfi r4.yz, l(0, 23, 23, 0), l(0, 12, 11, 0), r2.zzzz, r4.yyzy + imad r4.xy, r4.xxxx, l(8, 4, 0, 0), r4.yzyy + bfi r1.w, l(12), l(0), r3.z, r4.x + and r2.z, r4.y, l(1792) + iadd r1.w, r1.w, r2.z + and r2.z, r3.y, l(2) + iadd r2.z, r2.w, r2.z + bfi r2.z, l(2), l(6), r2.z, l(0) + iadd r1.w, r1.w, r2.z + bfi r0.z, l(6), l(0), r3.w, r1.w +endif +imad r0.xw, -r0.xxxw, r1.xxxy, r2.xxxy +imul null, r1.w, r1.y, r1.x +imad r0.x, r0.x, r1.y, r0.w +ishl r0.x, r0.x, l(4) +imad r0.x, r0.z, r1.w, r0.x +iadd r0.x, r0.x, CB0[0][0].y +ushr r0.xy, r0.xyxx, l(4, 4, 0, 0) +ld r3.xyzw, r0.xxxx, T0[0].xyzw +ieq r2.yzw, r1.zzzz, l(0, 1, 2, 3) +or r0.zw, r2.zzzw, r2.yyyz +if_nz r0.z + ishl r4.xyzw, r3.xyzw, l(8, 8, 8, 8) + and r4.xyzw, r4.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) + ushr r5.xyzw, r3.xyzw, l(8, 8, 8, 8) + and r5.xyzw, r5.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) + iadd r3.xyzw, r4.xyzw, r5.xyzw +endif +if_nz r0.w + ushr r4.xyzw, r3.xyzw, l(16, 16, 16, 16) + bfi r3.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r3.xyzw, r4.xyzw +endif +ibfe r4.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r3.xyzw +itof r4.xyzw, r4.xyzw +mul r4.xyzw, r4.xyzw, l(0.000031, 0.000031, 0.000031, 0.000031) +max r4.xyzw, r4.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000) +ishr r3.xyzw, r3.xyzw, l(16, 16, 16, 16) +itof r3.xyzw, r3.xyzw +mul r3.xyzw, r3.xyzw, l(0.000031, 0.000031, 0.000031, 0.000031) +max r3.xyzw, r3.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000) +f32tof16 r4.xyzw, r4.xyzw +f32tof16 r3.xyzw, r3.xyzw +imad r3.xyzw, r3.xyzw, l(0x00010000, 0x00010000, 0x00010000, 0x00010000), r4.xyzw +store_uav_typed U0[0].xyzw, r0.yyyy, r3.xyzw +iadd r1.z, r0.y, l(1) +ult r1.w, l(1), r1.x +if_nz r1.w + udiv r1.w, null, r2.x, r1.x + imad r1.w, -r1.w, r1.x, r2.x + iadd r2.x, r1.w, l(1) + ieq r2.x, r1.x, r2.x + if_nz r2.x + ishl r1.x, r1.x, l(5) + ishl r1.w, r1.w, l(4) + iadd r1.x, -r1.w, r1.x + else + mov r1.x, l(16) + endif +else + mov r1.x, l(32) +endif +imul null, r1.x, r1.y, r1.x +ushr r1.x, r1.x, l(4) +iadd r0.x, r0.x, r1.x +ld r2.xyzw, r0.xxxx, T0[0].xyzw +if_nz r0.z + ishl r3.xyzw, r2.xyzw, l(8, 8, 8, 8) + and r3.xyzw, r3.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) + ushr r4.xyzw, r2.xyzw, l(8, 8, 8, 8) + and r4.xyzw, r4.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) + iadd r2.xyzw, r3.xyzw, r4.xyzw +endif +if_nz r0.w + ushr r3.xyzw, r2.xyzw, l(16, 16, 16, 16) + bfi r2.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r2.xyzw, r3.xyzw +endif +ibfe r3.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r2.xyzw +itof r3.xyzw, r3.xyzw +mul r3.xyzw, r3.xyzw, l(0.000031, 0.000031, 0.000031, 0.000031) +max r3.xyzw, r3.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000) +ishr r2.xyzw, r2.xyzw, l(16, 16, 16, 16) +itof r2.xyzw, r2.xyzw +mul r2.xyzw, r2.xyzw, l(0.000031, 0.000031, 0.000031, 0.000031) +max r2.xyzw, r2.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000) +f32tof16 r3.xyzw, r3.xyzw +f32tof16 r2.xyzw, r2.xyzw +imad r2.xyzw, r2.xyzw, l(0x00010000, 0x00010000, 0x00010000, 0x00010000), r3.xyzw +store_uav_typed U0[0].xyzw, r1.zzzz, r2.xyzw +ret +// Approximately 147 instruction slots used +#endif + +const BYTE texture_load_rg16_snorm_float_scaled_cs[] = +{ + 68, 88, 66, 67, 152, 129, + 166, 226, 241, 111, 243, 244, + 129, 73, 55, 225, 107, 245, + 56, 28, 1, 0, 0, 0, + 92, 24, 0, 0, 5, 0, + 0, 0, 52, 0, 0, 0, + 32, 4, 0, 0, 48, 4, + 0, 0, 64, 4, 0, 0, + 192, 23, 0, 0, 82, 68, + 69, 70, 228, 3, 0, 0, + 1, 0, 0, 0, 252, 0, + 0, 0, 3, 0, 0, 0, + 60, 0, 0, 0, 1, 5, + 83, 67, 0, 5, 0, 0, + 185, 3, 0, 0, 19, 19, + 68, 37, 60, 0, 0, 0, + 24, 0, 0, 0, 40, 0, + 0, 0, 40, 0, 0, 0, + 36, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 0, 0, + 180, 0, 0, 0, 2, 0, + 0, 0, 4, 0, 0, 0, + 1, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 1, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 203, 0, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 1, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 1, 0, + 0, 0, 12, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 224, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 120, 101, 95, 116, 101, 120, + 116, 117, 114, 101, 95, 108, + 111, 97, 100, 95, 115, 111, + 117, 114, 99, 101, 0, 120, + 101, 95, 116, 101, 120, 116, + 117, 114, 101, 95, 108, 111, + 97, 100, 95, 100, 101, 115, + 116, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 99, 111, 110, 115, 116, 97, + 110, 116, 115, 0, 171, 171, + 224, 0, 0, 0, 8, 0, + 0, 0, 20, 1, 0, 0, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 84, 2, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 168, 2, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 2, 0, + 0, 0, 132, 2, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 197, 2, 0, 0, + 8, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 132, 2, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 233, 2, 0, 0, 12, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 27, 3, + 0, 0, 16, 0, 0, 0, + 12, 0, 0, 0, 2, 0, + 0, 0, 64, 3, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 100, 3, 0, 0, + 28, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 132, 2, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 128, 3, 0, 0, 32, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 155, 3, + 0, 0, 36, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 132, 2, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 105, 115, 95, 116, 105, 108, + 101, 100, 95, 51, 100, 95, + 101, 110, 100, 105, 97, 110, + 95, 115, 99, 97, 108, 101, + 0, 100, 119, 111, 114, 100, + 0, 171, 0, 0, 19, 0, + 1, 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, 125, 2, + 0, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 103, 117, 101, 115, 116, 95, + 111, 102, 102, 115, 101, 116, + 0, 120, 101, 95, 116, 101, + 120, 116, 117, 114, 101, 95, + 108, 111, 97, 100, 95, 103, + 117, 101, 115, 116, 95, 112, + 105, 116, 99, 104, 95, 97, + 108, 105, 103, 110, 101, 100, + 0, 120, 101, 95, 116, 101, + 120, 116, 117, 114, 101, 95, + 108, 111, 97, 100, 95, 103, + 117, 101, 115, 116, 95, 122, + 95, 115, 116, 114, 105, 100, + 101, 95, 98, 108, 111, 99, + 107, 95, 114, 111, 119, 115, + 95, 97, 108, 105, 103, 110, + 101, 100, 0, 120, 101, 95, + 116, 101, 120, 116, 117, 114, + 101, 95, 108, 111, 97, 100, + 95, 115, 105, 122, 101, 95, + 98, 108, 111, 99, 107, 115, + 0, 117, 105, 110, 116, 51, + 0, 171, 171, 171, 1, 0, + 19, 0, 1, 0, 3, 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, + 55, 3, 0, 0, 120, 101, + 95, 116, 101, 120, 116, 117, + 114, 101, 95, 108, 111, 97, + 100, 95, 104, 111, 115, 116, + 95, 111, 102, 102, 115, 101, + 116, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 104, 111, 115, 116, 95, 112, + 105, 116, 99, 104, 0, 120, + 101, 95, 116, 101, 120, 116, + 117, 114, 101, 95, 108, 111, + 97, 100, 95, 104, 101, 105, + 103, 104, 116, 95, 116, 101, + 120, 101, 108, 115, 0, 77, + 105, 99, 114, 111, 115, 111, + 102, 116, 32, 40, 82, 41, + 32, 72, 76, 83, 76, 32, + 83, 104, 97, 100, 101, 114, + 32, 67, 111, 109, 112, 105, + 108, 101, 114, 32, 49, 48, + 46, 49, 0, 171, 171, 171, + 73, 83, 71, 78, 8, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 79, 83, + 71, 78, 8, 0, 0, 0, + 0, 0, 0, 0, 8, 0, + 0, 0, 83, 72, 69, 88, + 120, 19, 0, 0, 81, 0, + 5, 0, 222, 4, 0, 0, + 106, 8, 0, 1, 89, 0, + 0, 7, 70, 142, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 88, 8, 0, 7, + 70, 126, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 68, + 0, 0, 0, 0, 0, 0, + 156, 8, 0, 7, 70, 238, + 49, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 68, 68, 0, 0, + 0, 0, 0, 0, 95, 0, + 0, 2, 114, 0, 2, 0, + 104, 0, 0, 2, 6, 0, + 0, 0, 155, 0, 0, 4, + 4, 0, 0, 0, 32, 0, + 0, 0, 1, 0, 0, 0, + 41, 0, 0, 6, 18, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 2, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 54, 0, 0, 4, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 2, 0, 80, 0, + 0, 9, 98, 0, 16, 0, + 0, 0, 0, 0, 6, 1, + 16, 0, 0, 0, 0, 0, + 6, 129, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 60, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 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, 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, 35, 0, 0, 9, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 2, 0, + 26, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 26, 0, + 2, 0, 35, 0, 0, 11, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 9, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 58, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 9, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 138, 0, + 0, 17, 114, 0, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 2, 0, 0, 0, + 2, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 4, 0, + 0, 0, 6, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 6, 128, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 85, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 54, 0, + 0, 4, 34, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 2, 0, 78, 0, 0, 8, + 146, 0, 16, 0, 0, 0, + 0, 0, 0, 208, 0, 0, + 6, 4, 16, 0, 2, 0, + 0, 0, 6, 4, 16, 0, + 1, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 31, 0, 4, 3, + 42, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 10, + 194, 0, 16, 0, 2, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 3, 0, 0, 0, + 42, 0, 0, 6, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 2, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 85, 0, 0, 12, 50, 0, + 16, 0, 3, 0, 0, 0, + 182, 143, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 4, 0, 0, 0, + 5, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 35, 0, 0, 9, 66, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 139, 0, 0, 15, 82, 0, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 27, 0, + 0, 0, 0, 0, 0, 0, + 29, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 6, 0, + 16, 0, 0, 0, 0, 0, + 35, 0, 0, 9, 66, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 10, 0, 0, 0, 1, 0, + 0, 7, 18, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 0, 24, + 0, 0, 140, 0, 0, 11, + 18, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 18, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 140, 0, 0, 11, 130, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 3, 0, 0, 0, + 140, 0, 0, 11, 130, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 140, 0, 0, 11, + 66, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 140, 0, + 0, 20, 194, 0, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 20, 0, + 0, 0, 20, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 10, 0, 0, 0, 13, 0, + 0, 0, 166, 10, 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, + 35, 0, 0, 12, 194, 0, + 16, 0, 2, 0, 0, 0, + 6, 0, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 16, 0, 0, 0, 166, 14, + 16, 0, 2, 0, 0, 0, + 140, 0, 0, 16, 194, 0, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 11, 0, 0, 0, 166, 10, + 2, 0, 166, 14, 16, 0, + 2, 0, 0, 0, 140, 0, + 0, 11, 18, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 138, 0, 0, 9, 34, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 0, 0, 7, 66, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 140, 0, + 0, 11, 66, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 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, 1, 64, 0, 0, + 32, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 35, 0, 0, 9, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 140, 0, 0, 17, 194, 0, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 6, 0, + 16, 0, 3, 0, 0, 0, + 166, 14, 16, 0, 2, 0, + 0, 0, 140, 0, 0, 11, + 66, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 9, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 140, 0, + 0, 11, 66, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 18, 0, 0, 1, 139, 0, + 0, 15, 194, 0, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 27, 0, + 0, 0, 29, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 6, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 10, 50, 0, 16, 0, + 3, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 5, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 85, 0, 0, 9, + 66, 0, 16, 0, 3, 0, + 0, 0, 42, 128, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 35, 0, 0, 9, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 41, 0, 0, 10, + 82, 0, 16, 0, 3, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 10, 82, 0, + 16, 0, 3, 0, 0, 0, + 6, 2, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 192, 1, 0, 0, 0, 0, + 0, 0, 0, 8, 0, 0, + 0, 0, 0, 0, 140, 0, + 0, 11, 130, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 140, 0, 0, 11, 130, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 23, 0, + 0, 0, 1, 64, 0, 0, + 9, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 3, 0, + 0, 0, 140, 0, 0, 11, + 18, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 3, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 41, 0, 0, 10, + 98, 0, 16, 0, 4, 0, + 0, 0, 6, 0, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 140, 0, 0, 17, 98, 0, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 246, 15, + 16, 0, 1, 0, 0, 0, + 86, 6, 16, 0, 4, 0, + 0, 0, 140, 0, 0, 17, + 98, 0, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 23, 0, + 0, 0, 23, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 12, 0, 0, 0, 11, 0, + 0, 0, 0, 0, 0, 0, + 166, 10, 16, 0, 2, 0, + 0, 0, 86, 6, 16, 0, + 4, 0, 0, 0, 35, 0, + 0, 12, 50, 0, 16, 0, + 4, 0, 0, 0, 6, 0, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 8, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 150, 5, 16, 0, + 4, 0, 0, 0, 140, 0, + 0, 11, 130, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 12, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 0, 7, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 140, 0, + 0, 11, 66, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 140, 0, + 0, 11, 66, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 21, 0, 0, 1, 35, 0, + 0, 10, 146, 0, 16, 0, + 0, 0, 0, 0, 6, 12, + 16, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 6, 4, + 16, 0, 1, 0, 0, 0, + 6, 4, 16, 0, 2, 0, + 0, 0, 38, 0, 0, 8, + 0, 208, 0, 0, 130, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 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, + 26, 0, 16, 0, 1, 0, + 0, 0, 58, 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, 4, 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, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 9, + 18, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 26, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 85, 0, 0, 10, + 50, 0, 16, 0, 0, 0, + 0, 0, 70, 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, + 45, 0, 0, 8, 242, 0, + 16, 0, 3, 0, 0, 0, + 6, 0, 16, 0, 0, 0, + 0, 0, 70, 126, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 32, 0, 0, 10, + 226, 0, 16, 0, 2, 0, + 0, 0, 166, 10, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 2, 0, + 0, 0, 3, 0, 0, 0, + 60, 0, 0, 7, 194, 0, + 16, 0, 0, 0, 0, 0, + 166, 14, 16, 0, 2, 0, + 0, 0, 86, 9, 16, 0, + 2, 0, 0, 0, 31, 0, + 4, 3, 42, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 10, 242, 0, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 85, 0, 0, 10, 242, 0, + 16, 0, 5, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 5, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 2, 64, 0, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 30, 0, 0, 7, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 21, 0, 0, 1, 31, 0, + 4, 3, 58, 0, 16, 0, + 0, 0, 0, 0, 85, 0, + 0, 10, 242, 0, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 140, 0, 0, 17, + 242, 0, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 21, 0, + 0, 1, 139, 0, 0, 15, + 242, 0, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 43, 0, 0, 5, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 56, 0, + 0, 10, 242, 0, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 0, 1, + 0, 56, 0, 1, 0, 56, + 0, 1, 0, 56, 0, 1, + 0, 56, 52, 0, 0, 10, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 128, 191, + 0, 0, 128, 191, 0, 0, + 128, 191, 0, 0, 128, 191, + 42, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 43, 0, + 0, 5, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 56, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 1, 0, 56, 0, 1, + 0, 56, 0, 1, 0, 56, + 0, 1, 0, 56, 52, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 128, 191, 0, 0, 128, 191, + 0, 0, 128, 191, 0, 0, + 128, 191, 130, 0, 0, 5, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 130, 0, + 0, 5, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 35, 0, 0, 12, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 70, 14, + 16, 0, 4, 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, 3, 0, + 0, 0, 30, 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, + 79, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 31, 0, + 4, 3, 58, 0, 16, 0, + 1, 0, 0, 0, 78, 0, + 0, 8, 130, 0, 16, 0, + 1, 0, 0, 0, 0, 208, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 35, 0, 0, 10, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 128, 65, 0, + 0, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 32, 0, 0, 7, + 18, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 31, 0, 4, 3, 10, 0, + 16, 0, 2, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 30, 0, 0, 8, + 18, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 128, + 65, 0, 0, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 18, 0, + 0, 1, 54, 0, 0, 5, + 18, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 21, 0, + 0, 1, 18, 0, 0, 1, + 54, 0, 0, 5, 18, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 32, 0, + 0, 0, 21, 0, 0, 1, + 38, 0, 0, 8, 0, 208, + 0, 0, 18, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 85, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 30, 0, 0, 7, 18, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 45, 0, + 0, 8, 242, 0, 16, 0, + 2, 0, 0, 0, 6, 0, + 16, 0, 0, 0, 0, 0, + 70, 126, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 31, 0, 4, 3, 42, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 85, 0, 0, 10, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 30, 0, + 0, 7, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 21, 0, 0, 1, + 31, 0, 4, 3, 58, 0, + 16, 0, 0, 0, 0, 0, + 85, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 140, 0, + 0, 17, 242, 0, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 2, 64, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 21, 0, 0, 1, 139, 0, + 0, 15, 242, 0, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 43, 0, + 0, 5, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 56, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 1, 0, 56, 0, 1, + 0, 56, 0, 1, 0, 56, + 0, 1, 0, 56, 52, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 128, 191, 0, 0, 128, 191, + 0, 0, 128, 191, 0, 0, + 128, 191, 42, 0, 0, 10, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 43, 0, 0, 5, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 56, 0, 0, 10, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 1, 0, 56, + 0, 1, 0, 56, 0, 1, + 0, 56, 0, 1, 0, 56, + 52, 0, 0, 10, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 128, 191, 0, 0, + 128, 191, 0, 0, 128, 191, + 0, 0, 128, 191, 130, 0, + 0, 5, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 130, 0, 0, 5, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 35, 0, 0, 12, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 164, 0, 0, 8, + 242, 224, 33, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 166, 10, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 62, 0, + 0, 1, 83, 84, 65, 84, + 148, 0, 0, 0, 147, 0, + 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 8, 0, 0, 0, + 50, 0, 0, 0, 25, 0, + 0, 0, 5, 0, 0, 0, + 8, 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, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 4, 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 +}; diff --git a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_rg16_unorm_float_cs.h b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_rg16_unorm_float_cs.h new file mode 100644 index 000000000..3499456e4 --- /dev/null +++ b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_rg16_unorm_float_cs.h @@ -0,0 +1,1075 @@ +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 +// +// +// Buffer Definitions: +// +// cbuffer xe_texture_load_constants +// { +// +// uint xe_texture_load_is_tiled_3d_endian_scale;// Offset: 0 Size: 4 +// uint xe_texture_load_guest_offset; // Offset: 4 Size: 4 +// uint xe_texture_load_guest_pitch_aligned;// Offset: 8 Size: 4 +// uint xe_texture_load_guest_z_stride_block_rows_aligned;// Offset: 12 Size: 4 +// uint3 xe_texture_load_size_blocks; // Offset: 16 Size: 12 +// uint xe_texture_load_host_offset; // Offset: 28 Size: 4 +// uint xe_texture_load_host_pitch; // Offset: 32 Size: 4 +// uint xe_texture_load_height_texels;// Offset: 36 Size: 4 [unused] +// +// } +// +// +// Resource Bindings: +// +// Name Type Format Dim ID HLSL Bind Count +// ------------------------------ ---------- ------- ----------- ------- -------------- ------ +// xe_texture_load_source texture uint4 buf T0 t0 1 +// xe_texture_load_dest UAV uint4 buf U0 u0 1 +// xe_texture_load_constants cbuffer NA NA CB0 cb0 1 +// +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Input +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Output +cs_5_1 +dcl_globalFlags refactoringAllowed +dcl_constantbuffer CB0[0:0][3], immediateIndexed, space=0 +dcl_resource_buffer (uint,uint,uint,uint) T0[0:0], space=0 +dcl_uav_typed_buffer (uint,uint,uint,uint) U0[0:0], space=0 +dcl_input vThreadID.xyz +dcl_temps 5 +dcl_thread_group 4, 32, 1 +ishl r0.x, vThreadID.x, l(3) +mov r0.y, vThreadID.y +uge r0.yz, r0.xxyx, CB0[0][1].xxyx +or r0.y, r0.z, r0.y +if_nz r0.y + ret +endif +ishl r0.x, r0.x, l(2) +imad r0.y, vThreadID.z, CB0[0][1].y, vThreadID.y +imad r0.y, r0.y, CB0[0][2].x, r0.x +iadd r0.y, r0.y, CB0[0][1].w +and r0.z, CB0[0][0].x, l(1) +if_nz r0.z + and r0.w, CB0[0][0].x, l(2) + if_nz r0.w + ishr r1.xyz, vThreadID.yzyy, l(4, 2, 3, 0) + ushr r2.xy, CB0[0][0].wzww, l(4, 5, 0, 0) + imad r0.w, r1.y, r2.x, r1.x + ibfe r1.xw, l(27, 0, 0, 29), l(2, 0, 0, 0), vThreadID.xxxx + imad r0.w, r0.w, r2.y, r1.x + ishl r1.x, vThreadID.y, l(10) + ishr r1.x, r1.x, l(6) + and r1.x, r1.x, l(96) + iadd r1.y, r1.y, r1.z + bfi r1.z, l(1), l(1), r1.y, l(0) + iadd r1.z, r1.z, r1.w + bfi r1.z, l(2), l(1), r1.z, l(0) + bfi r1.y, l(1), l(0), r1.y, r1.z + bfi r1.zw, l(0, 0, 20, 20), l(0, 0, 10, 13), r0.wwww, l(0, 0, 0, 0) + imad r1.xz, r1.xxxx, l(2, 0, 16, 0), r1.zzwz + bfi r1.xz, l(2, 0, 2, 0), l(8, 0, 11, 0), vThreadID.zzzz, r1.xxzx + bfi r0.w, l(1), l(4), vThreadID.y, l(0) + ubfe r1.w, l(3), l(6), r1.x + and r2.x, r1.y, l(6) + bfi r1.y, l(1), l(8), r1.y, l(0) + imad r1.y, r1.w, l(32), r1.y + imad r1.y, r2.x, l(4), r1.y + bfi r1.xz, l(6, 0, 6, 0), l(0, 0, 3, 0), r0.wwww, r1.xxzx + bfi r0.w, l(9), l(3), r1.y, r1.z + bfi r0.w, l(6), l(0), r1.x, r0.w + else + ibfe r1.xy, l(27, 29, 0, 0), l(2, 0, 0, 0), vThreadID.xxxx + ishr r1.zw, vThreadID.yyyy, l(0, 0, 5, 2) + ushr r2.x, CB0[0][0].z, l(5) + imad r1.x, r1.z, r2.x, r1.x + ishl r2.xy, vThreadID.yyyy, l(5, 7, 0, 0) + and r2.xy, r2.xyxx, l(448, 2048, 0, 0) + bfi r1.z, l(23), l(9), r1.x, r2.x + bfi r2.z, l(1), l(4), vThreadID.y, l(0) + iadd r1.z, r1.z, r2.z + ishl r2.xw, r2.xxxx, l(3, 0, 0, 2) + bfi r2.xw, l(23, 0, 0, 23), l(12, 0, 0, 11), r1.xxxx, r2.xxxw + imad r2.xz, r2.zzzz, l(8, 0, 4, 0), r2.xxwx + bfi r1.x, l(12), l(0), r2.y, r2.x + and r2.x, r2.z, l(1792) + iadd r1.x, r1.x, r2.x + and r1.w, r1.w, l(2) + iadd r1.y, r1.y, r1.w + bfi r1.y, l(2), l(6), r1.y, l(0) + iadd r1.x, r1.x, r1.y + bfi r0.w, l(6), l(0), r1.z, r1.x + endif +else + imad r1.x, vThreadID.z, CB0[0][0].w, vThreadID.y + imad r0.w, r1.x, CB0[0][0].z, r0.x +endif +iadd r0.x, r0.w, CB0[0][0].y +ushr r0.xy, r0.xyxx, l(4, 4, 0, 0) +ubfe r0.w, l(2), l(2), CB0[0][0].x +ld r1.xyzw, r0.xxxx, T0[0].xyzw +ieq r2.xyz, r0.wwww, l(1, 2, 3, 0) +or r2.xy, r2.yzyy, r2.xyxx +if_nz r2.x + ishl r3.xyzw, r1.xyzw, l(8, 8, 8, 8) + and r3.xyzw, r3.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) + ushr r4.xyzw, r1.xyzw, l(8, 8, 8, 8) + and r4.xyzw, r4.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) + iadd r1.xyzw, r3.xyzw, r4.xyzw +endif +if_nz r2.y + ushr r3.xyzw, r1.xyzw, l(16, 16, 16, 16) + bfi r1.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r1.xyzw, r3.xyzw +endif +and r3.xyzw, r1.xyzw, l(0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff) +utof r3.xyzw, r3.xyzw +mul r3.xyzw, r3.xyzw, l(0.000015, 0.000015, 0.000015, 0.000015) +ushr r1.xyzw, r1.xyzw, l(16, 16, 16, 16) +utof r1.xyzw, r1.xyzw +mul r1.xyzw, r1.xyzw, l(0.000015, 0.000015, 0.000015, 0.000015) +f32tof16 r3.xyzw, r3.xyzw +f32tof16 r1.xyzw, r1.xyzw +imad r1.xyzw, r1.xyzw, l(0x00010000, 0x00010000, 0x00010000, 0x00010000), r3.xyzw +store_uav_typed U0[0].xyzw, r0.yyyy, r1.xyzw +iadd r0.w, r0.y, l(1) +if_nz r0.z + mov r0.z, l(32) +else + mov r0.z, l(16) +endif +ushr r0.z, r0.z, l(4) +iadd r0.x, r0.z, r0.x +ld r1.xyzw, r0.xxxx, T0[0].xyzw +if_nz r2.x + ishl r3.xyzw, r1.xyzw, l(8, 8, 8, 8) + and r3.xyzw, r3.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) + ushr r4.xyzw, r1.xyzw, l(8, 8, 8, 8) + and r4.xyzw, r4.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) + iadd r1.xyzw, r3.xyzw, r4.xyzw +endif +if_nz r2.y + ushr r2.xyzw, r1.xyzw, l(16, 16, 16, 16) + bfi r1.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r1.xyzw, r2.xyzw +endif +and r2.xyzw, r1.xyzw, l(0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff) +utof r2.xyzw, r2.xyzw +mul r2.xyzw, r2.xyzw, l(0.000015, 0.000015, 0.000015, 0.000015) +ushr r1.xyzw, r1.xyzw, l(16, 16, 16, 16) +utof r1.xyzw, r1.xyzw +mul r1.xyzw, r1.xyzw, l(0.000015, 0.000015, 0.000015, 0.000015) +f32tof16 r2.xyzw, r2.xyzw +f32tof16 r1.xyzw, r1.xyzw +imad r1.xyzw, r1.xyzw, l(0x00010000, 0x00010000, 0x00010000, 0x00010000), r2.xyzw +store_uav_typed U0[0].xyzw, r0.wwww, r1.xyzw +ret +// Approximately 124 instruction slots used +#endif + +const BYTE texture_load_rg16_unorm_float_cs[] = +{ + 68, 88, 66, 67, 13, 253, + 225, 12, 56, 92, 114, 251, + 228, 67, 136, 178, 253, 146, + 17, 217, 1, 0, 0, 0, + 244, 20, 0, 0, 5, 0, + 0, 0, 52, 0, 0, 0, + 32, 4, 0, 0, 48, 4, + 0, 0, 64, 4, 0, 0, + 88, 20, 0, 0, 82, 68, + 69, 70, 228, 3, 0, 0, + 1, 0, 0, 0, 252, 0, + 0, 0, 3, 0, 0, 0, + 60, 0, 0, 0, 1, 5, + 83, 67, 0, 5, 0, 0, + 185, 3, 0, 0, 19, 19, + 68, 37, 60, 0, 0, 0, + 24, 0, 0, 0, 40, 0, + 0, 0, 40, 0, 0, 0, + 36, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 0, 0, + 180, 0, 0, 0, 2, 0, + 0, 0, 4, 0, 0, 0, + 1, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 1, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 203, 0, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 1, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 1, 0, + 0, 0, 12, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 224, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 120, 101, 95, 116, 101, 120, + 116, 117, 114, 101, 95, 108, + 111, 97, 100, 95, 115, 111, + 117, 114, 99, 101, 0, 120, + 101, 95, 116, 101, 120, 116, + 117, 114, 101, 95, 108, 111, + 97, 100, 95, 100, 101, 115, + 116, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 99, 111, 110, 115, 116, 97, + 110, 116, 115, 0, 171, 171, + 224, 0, 0, 0, 8, 0, + 0, 0, 20, 1, 0, 0, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 84, 2, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 168, 2, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 2, 0, + 0, 0, 132, 2, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 197, 2, 0, 0, + 8, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 132, 2, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 233, 2, 0, 0, 12, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 27, 3, + 0, 0, 16, 0, 0, 0, + 12, 0, 0, 0, 2, 0, + 0, 0, 64, 3, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 100, 3, 0, 0, + 28, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 132, 2, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 128, 3, 0, 0, 32, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 155, 3, + 0, 0, 36, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 132, 2, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 105, 115, 95, 116, 105, 108, + 101, 100, 95, 51, 100, 95, + 101, 110, 100, 105, 97, 110, + 95, 115, 99, 97, 108, 101, + 0, 100, 119, 111, 114, 100, + 0, 171, 0, 0, 19, 0, + 1, 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, 125, 2, + 0, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 103, 117, 101, 115, 116, 95, + 111, 102, 102, 115, 101, 116, + 0, 120, 101, 95, 116, 101, + 120, 116, 117, 114, 101, 95, + 108, 111, 97, 100, 95, 103, + 117, 101, 115, 116, 95, 112, + 105, 116, 99, 104, 95, 97, + 108, 105, 103, 110, 101, 100, + 0, 120, 101, 95, 116, 101, + 120, 116, 117, 114, 101, 95, + 108, 111, 97, 100, 95, 103, + 117, 101, 115, 116, 95, 122, + 95, 115, 116, 114, 105, 100, + 101, 95, 98, 108, 111, 99, + 107, 95, 114, 111, 119, 115, + 95, 97, 108, 105, 103, 110, + 101, 100, 0, 120, 101, 95, + 116, 101, 120, 116, 117, 114, + 101, 95, 108, 111, 97, 100, + 95, 115, 105, 122, 101, 95, + 98, 108, 111, 99, 107, 115, + 0, 117, 105, 110, 116, 51, + 0, 171, 171, 171, 1, 0, + 19, 0, 1, 0, 3, 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, + 55, 3, 0, 0, 120, 101, + 95, 116, 101, 120, 116, 117, + 114, 101, 95, 108, 111, 97, + 100, 95, 104, 111, 115, 116, + 95, 111, 102, 102, 115, 101, + 116, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 104, 111, 115, 116, 95, 112, + 105, 116, 99, 104, 0, 120, + 101, 95, 116, 101, 120, 116, + 117, 114, 101, 95, 108, 111, + 97, 100, 95, 104, 101, 105, + 103, 104, 116, 95, 116, 101, + 120, 101, 108, 115, 0, 77, + 105, 99, 114, 111, 115, 111, + 102, 116, 32, 40, 82, 41, + 32, 72, 76, 83, 76, 32, + 83, 104, 97, 100, 101, 114, + 32, 67, 111, 109, 112, 105, + 108, 101, 114, 32, 49, 48, + 46, 49, 0, 171, 171, 171, + 73, 83, 71, 78, 8, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 79, 83, + 71, 78, 8, 0, 0, 0, + 0, 0, 0, 0, 8, 0, + 0, 0, 83, 72, 69, 88, + 16, 16, 0, 0, 81, 0, + 5, 0, 4, 4, 0, 0, + 106, 8, 0, 1, 89, 0, + 0, 7, 70, 142, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 88, 8, 0, 7, + 70, 126, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 68, + 0, 0, 0, 0, 0, 0, + 156, 8, 0, 7, 70, 238, + 49, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 68, 68, 0, 0, + 0, 0, 0, 0, 95, 0, + 0, 2, 114, 0, 2, 0, + 104, 0, 0, 2, 5, 0, + 0, 0, 155, 0, 0, 4, + 4, 0, 0, 0, 32, 0, + 0, 0, 1, 0, 0, 0, + 41, 0, 0, 6, 18, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 2, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 54, 0, 0, 4, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 2, 0, 80, 0, + 0, 9, 98, 0, 16, 0, + 0, 0, 0, 0, 6, 1, + 16, 0, 0, 0, 0, 0, + 6, 129, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 60, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 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, 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, 35, 0, 0, 9, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 2, 0, + 26, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 26, 0, + 2, 0, 35, 0, 0, 11, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 9, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 58, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 9, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 31, 0, + 4, 3, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 0, + 0, 9, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 31, 0, + 4, 3, 58, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 9, 114, 0, 16, 0, + 1, 0, 0, 0, 150, 5, + 2, 0, 2, 64, 0, 0, + 4, 0, 0, 0, 2, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 85, 0, + 0, 12, 50, 0, 16, 0, + 2, 0, 0, 0, 182, 143, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 4, 0, 0, 0, 5, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 35, 0, + 0, 9, 130, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 139, 0, + 0, 14, 146, 0, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 29, 0, 0, 0, + 2, 64, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 6, 0, 2, 0, + 35, 0, 0, 9, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 41, 0, 0, 6, 18, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 2, 0, 1, 64, + 0, 0, 10, 0, 0, 0, + 42, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 1, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 96, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 140, 0, 0, 11, 66, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 140, 0, 0, 11, 66, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 140, 0, 0, 11, + 34, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 140, 0, + 0, 20, 194, 0, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 20, 0, + 0, 0, 20, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 10, 0, 0, 0, 13, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 35, 0, 0, 12, 82, 0, + 16, 0, 1, 0, 0, 0, + 6, 0, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 166, 11, + 16, 0, 1, 0, 0, 0, + 140, 0, 0, 16, 82, 0, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 8, 0, 0, 0, 0, 0, + 0, 0, 11, 0, 0, 0, + 0, 0, 0, 0, 166, 10, + 2, 0, 6, 2, 16, 0, + 1, 0, 0, 0, 140, 0, + 0, 10, 130, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 26, 0, 2, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 138, 0, 0, 9, + 130, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 0, 0, 7, + 18, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 140, 0, 0, 11, 34, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 35, 0, 0, 9, + 34, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 32, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 35, 0, 0, 9, + 34, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 140, 0, 0, 17, + 82, 0, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 6, 0, 0, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 6, 2, 16, 0, + 1, 0, 0, 0, 140, 0, + 0, 11, 130, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 140, 0, 0, 11, 130, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 18, 0, 0, 1, + 139, 0, 0, 14, 50, 0, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 27, 0, + 0, 0, 29, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6, 0, + 2, 0, 42, 0, 0, 9, + 194, 0, 16, 0, 1, 0, + 0, 0, 86, 5, 2, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 2, 0, + 0, 0, 85, 0, 0, 9, + 18, 0, 16, 0, 2, 0, + 0, 0, 42, 128, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 35, 0, 0, 9, + 18, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 41, 0, 0, 9, + 50, 0, 16, 0, 2, 0, + 0, 0, 86, 5, 2, 0, + 2, 64, 0, 0, 5, 0, + 0, 0, 7, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 10, + 50, 0, 16, 0, 2, 0, + 0, 0, 70, 0, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 192, 1, 0, 0, + 0, 8, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 140, 0, 0, 11, 66, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 23, 0, + 0, 0, 1, 64, 0, 0, + 9, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 140, 0, 0, 10, + 66, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 26, 0, 2, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 41, 0, + 0, 10, 146, 0, 16, 0, + 2, 0, 0, 0, 6, 0, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 140, 0, 0, 17, + 146, 0, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 23, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 23, 0, 0, 0, 2, 64, + 0, 0, 12, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 11, 0, 0, 0, + 6, 0, 16, 0, 1, 0, + 0, 0, 6, 12, 16, 0, + 2, 0, 0, 0, 35, 0, + 0, 12, 82, 0, 16, 0, + 2, 0, 0, 0, 166, 10, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 8, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 6, 3, 16, 0, + 2, 0, 0, 0, 140, 0, + 0, 11, 18, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 12, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 0, 7, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 1, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 140, 0, + 0, 11, 34, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 140, 0, + 0, 11, 130, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 21, 0, 0, 1, 18, 0, + 0, 1, 35, 0, 0, 9, + 18, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 2, 0, + 58, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 26, 0, + 2, 0, 35, 0, 0, 11, + 130, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 42, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 21, 0, + 0, 1, 30, 0, 0, 9, + 18, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 26, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 85, 0, 0, 10, + 50, 0, 16, 0, 0, 0, + 0, 0, 70, 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, + 138, 0, 0, 11, 130, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 45, 0, 0, 8, + 242, 0, 16, 0, 1, 0, + 0, 0, 6, 0, 16, 0, + 0, 0, 0, 0, 70, 126, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 32, 0, + 0, 10, 114, 0, 16, 0, + 2, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 1, 0, + 0, 0, 2, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 60, 0, 0, 7, + 50, 0, 16, 0, 2, 0, + 0, 0, 150, 5, 16, 0, + 2, 0, 0, 0, 70, 0, + 16, 0, 2, 0, 0, 0, + 31, 0, 4, 3, 10, 0, + 16, 0, 2, 0, 0, 0, + 41, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 85, 0, 0, 10, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 30, 0, + 0, 7, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 21, 0, 0, 1, + 31, 0, 4, 3, 26, 0, + 16, 0, 2, 0, 0, 0, + 85, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 140, 0, + 0, 17, 242, 0, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 2, 64, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 21, 0, 0, 1, 1, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 255, 255, + 0, 0, 255, 255, 0, 0, + 255, 255, 0, 0, 255, 255, + 0, 0, 86, 0, 0, 5, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 56, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 128, 0, + 128, 55, 128, 0, 128, 55, + 128, 0, 128, 55, 128, 0, + 128, 55, 85, 0, 0, 10, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 86, 0, 0, 5, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 56, 0, 0, 10, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 128, 0, 128, 55, + 128, 0, 128, 55, 128, 0, + 128, 55, 128, 0, 128, 55, + 130, 0, 0, 5, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 130, 0, 0, 5, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 35, 0, + 0, 12, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 70, 14, 16, 0, + 3, 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, 1, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 31, 0, + 4, 3, 42, 0, 16, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 66, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 32, 0, 0, 0, + 18, 0, 0, 1, 54, 0, + 0, 5, 66, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 21, 0, 0, 1, 85, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 30, 0, 0, 7, + 18, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 45, 0, 0, 8, 242, 0, + 16, 0, 1, 0, 0, 0, + 6, 0, 16, 0, 0, 0, + 0, 0, 70, 126, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 31, 0, 4, 3, + 10, 0, 16, 0, 2, 0, + 0, 0, 41, 0, 0, 10, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 85, 0, + 0, 10, 242, 0, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 30, 0, 0, 7, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 21, 0, + 0, 1, 31, 0, 4, 3, + 26, 0, 16, 0, 2, 0, + 0, 0, 85, 0, 0, 10, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 140, 0, 0, 17, 242, 0, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 2, 64, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 21, 0, 0, 1, + 1, 0, 0, 10, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 255, 255, 0, 0, 255, 255, + 0, 0, 255, 255, 0, 0, + 255, 255, 0, 0, 86, 0, + 0, 5, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 56, 0, 0, 10, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 128, 0, 128, 55, 128, 0, + 128, 55, 128, 0, 128, 55, + 128, 0, 128, 55, 85, 0, + 0, 10, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 86, 0, 0, 5, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 56, 0, + 0, 10, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 128, 0, + 128, 55, 128, 0, 128, 55, + 128, 0, 128, 55, 128, 0, + 128, 55, 130, 0, 0, 5, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 130, 0, + 0, 5, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 35, 0, 0, 12, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 70, 14, + 16, 0, 2, 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, 1, 0, + 0, 0, 62, 0, 0, 1, + 83, 84, 65, 84, 148, 0, + 0, 0, 124, 0, 0, 0, + 5, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 4, 0, 0, 0, 36, 0, + 0, 0, 26, 0, 0, 0, + 5, 0, 0, 0, 8, 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, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 4, 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 +}; diff --git a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_rg16_unorm_float_scaled_cs.h b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_rg16_unorm_float_scaled_cs.h new file mode 100644 index 000000000..8609050e3 --- /dev/null +++ b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_rg16_unorm_float_scaled_cs.h @@ -0,0 +1,1206 @@ +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 +// +// +// Buffer Definitions: +// +// cbuffer xe_texture_load_constants +// { +// +// uint xe_texture_load_is_tiled_3d_endian_scale;// Offset: 0 Size: 4 +// uint xe_texture_load_guest_offset; // Offset: 4 Size: 4 +// uint xe_texture_load_guest_pitch_aligned;// Offset: 8 Size: 4 +// uint xe_texture_load_guest_z_stride_block_rows_aligned;// Offset: 12 Size: 4 +// uint3 xe_texture_load_size_blocks; // Offset: 16 Size: 12 +// uint xe_texture_load_host_offset; // Offset: 28 Size: 4 +// uint xe_texture_load_host_pitch; // Offset: 32 Size: 4 +// uint xe_texture_load_height_texels;// Offset: 36 Size: 4 [unused] +// +// } +// +// +// Resource Bindings: +// +// Name Type Format Dim ID HLSL Bind Count +// ------------------------------ ---------- ------- ----------- ------- -------------- ------ +// xe_texture_load_source texture uint4 buf T0 t0 1 +// xe_texture_load_dest UAV uint4 buf U0 u0 1 +// xe_texture_load_constants cbuffer NA NA CB0 cb0 1 +// +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Input +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Output +cs_5_1 +dcl_globalFlags refactoringAllowed +dcl_constantbuffer CB0[0:0][3], immediateIndexed, space=0 +dcl_resource_buffer (uint,uint,uint,uint) T0[0:0], space=0 +dcl_uav_typed_buffer (uint,uint,uint,uint) U0[0:0], space=0 +dcl_input vThreadID.xyz +dcl_temps 6 +dcl_thread_group 4, 32, 1 +ishl r0.x, vThreadID.x, l(3) +mov r0.y, vThreadID.y +uge r0.yz, r0.xxyx, CB0[0][1].xxyx +or r0.y, r0.z, r0.y +if_nz r0.y + ret +endif +ishl r0.y, r0.x, l(2) +imad r0.z, vThreadID.z, CB0[0][1].y, vThreadID.y +imad r0.y, r0.z, CB0[0][2].x, r0.y +iadd r0.y, r0.y, CB0[0][1].w +and r0.z, CB0[0][0].x, l(2) +ubfe r1.xyz, l(2, 2, 2, 0), l(4, 6, 2, 0), CB0[0][0].xxxx +ushr r2.x, r0.x, l(2) +mov r2.y, vThreadID.y +udiv r0.xw, null, r2.xxxy, r1.xxxy +ishl r1.w, r0.x, l(2) +if_nz r0.z + ishr r2.zw, r0.wwww, l(0, 0, 4, 3) + ishr r0.z, vThreadID.z, l(2) + ushr r3.xy, CB0[0][0].wzww, l(4, 5, 0, 0) + imad r2.z, r0.z, r3.x, r2.z + ibfe r3.xz, l(27, 0, 29, 0), l(3, 0, 1, 0), r0.xxxx + imad r2.z, r2.z, r3.y, r3.x + ishl r3.x, r0.w, l(10) + and r3.x, r3.x, l(6144) + bfi r3.x, l(3), l(8), r1.w, r3.x + ishr r3.x, r3.x, l(6) + iadd r0.z, r0.z, r2.w + bfi r2.w, l(1), l(1), r0.z, l(0) + iadd r2.w, r2.w, r3.z + bfi r2.w, l(2), l(1), r2.w, l(0) + bfi r0.z, l(1), l(0), r0.z, r2.w + bfi r2.zw, l(0, 0, 20, 20), l(0, 0, 10, 13), r2.zzzz, l(0, 0, 0, 0) + imad r2.zw, r3.xxxx, l(0, 0, 2, 16), r2.zzzw + bfi r2.zw, l(0, 0, 2, 2), l(0, 0, 8, 11), vThreadID.zzzz, r2.zzzw + bfi r3.x, l(1), l(4), r0.w, l(0) + ubfe r3.y, l(3), l(6), r2.z + and r3.z, r0.z, l(6) + bfi r0.z, l(1), l(8), r0.z, l(0) + imad r0.z, r3.y, l(32), r0.z + imad r0.z, r3.z, l(4), r0.z + bfi r2.zw, l(0, 0, 5, 5), l(0, 0, 0, 3), r3.xxxx, r2.zzzw + bfi r0.z, l(9), l(3), r0.z, r2.w + bfi r0.z, l(6), l(0), r2.z, r0.z +else + ibfe r2.zw, l(0, 0, 27, 29), l(0, 0, 3, 1), r0.xxxx + ishr r3.xy, r0.wwww, l(5, 2, 0, 0) + ushr r3.z, CB0[0][0].z, l(5) + imad r2.z, r3.x, r3.z, r2.z + ishl r3.xz, r0.wwww, l(5, 0, 7, 0) + and r3.xz, r3.xxzx, l(448, 0, 2048, 0) + bfi r3.w, l(3), l(3), r1.w, r3.x + bfi r3.w, l(23), l(9), r2.z, r3.w + bfi r4.x, l(1), l(4), r0.w, l(0) + iadd r3.w, r3.w, r4.x + ishl r4.yz, r3.xxxx, l(0, 3, 2, 0) + bfi r4.yz, l(0, 3, 3, 0), l(0, 6, 5, 0), r1.wwww, r4.yyzy + bfi r4.yz, l(0, 23, 23, 0), l(0, 12, 11, 0), r2.zzzz, r4.yyzy + imad r4.xy, r4.xxxx, l(8, 4, 0, 0), r4.yzyy + bfi r1.w, l(12), l(0), r3.z, r4.x + and r2.z, r4.y, l(1792) + iadd r1.w, r1.w, r2.z + and r2.z, r3.y, l(2) + iadd r2.z, r2.w, r2.z + bfi r2.z, l(2), l(6), r2.z, l(0) + iadd r1.w, r1.w, r2.z + bfi r0.z, l(6), l(0), r3.w, r1.w +endif +imad r0.xw, -r0.xxxw, r1.xxxy, r2.xxxy +imul null, r1.w, r1.y, r1.x +imad r0.x, r0.x, r1.y, r0.w +ishl r0.x, r0.x, l(4) +imad r0.x, r0.z, r1.w, r0.x +iadd r0.x, r0.x, CB0[0][0].y +ushr r0.xy, r0.xyxx, l(4, 4, 0, 0) +ld r3.xyzw, r0.xxxx, T0[0].xyzw +ieq r2.yzw, r1.zzzz, l(0, 1, 2, 3) +or r0.zw, r2.zzzw, r2.yyyz +if_nz r0.z + ishl r4.xyzw, r3.xyzw, l(8, 8, 8, 8) + and r4.xyzw, r4.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) + ushr r5.xyzw, r3.xyzw, l(8, 8, 8, 8) + and r5.xyzw, r5.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) + iadd r3.xyzw, r4.xyzw, r5.xyzw +endif +if_nz r0.w + ushr r4.xyzw, r3.xyzw, l(16, 16, 16, 16) + bfi r3.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r3.xyzw, r4.xyzw +endif +and r4.xyzw, r3.xyzw, l(0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff) +utof r4.xyzw, r4.xyzw +mul r4.xyzw, r4.xyzw, l(0.000015, 0.000015, 0.000015, 0.000015) +ushr r3.xyzw, r3.xyzw, l(16, 16, 16, 16) +utof r3.xyzw, r3.xyzw +mul r3.xyzw, r3.xyzw, l(0.000015, 0.000015, 0.000015, 0.000015) +f32tof16 r4.xyzw, r4.xyzw +f32tof16 r3.xyzw, r3.xyzw +imad r3.xyzw, r3.xyzw, l(0x00010000, 0x00010000, 0x00010000, 0x00010000), r4.xyzw +store_uav_typed U0[0].xyzw, r0.yyyy, r3.xyzw +iadd r1.z, r0.y, l(1) +ult r1.w, l(1), r1.x +if_nz r1.w + udiv r1.w, null, r2.x, r1.x + imad r1.w, -r1.w, r1.x, r2.x + iadd r2.x, r1.w, l(1) + ieq r2.x, r1.x, r2.x + if_nz r2.x + ishl r1.x, r1.x, l(5) + ishl r1.w, r1.w, l(4) + iadd r1.x, -r1.w, r1.x + else + mov r1.x, l(16) + endif +else + mov r1.x, l(32) +endif +imul null, r1.x, r1.y, r1.x +ushr r1.x, r1.x, l(4) +iadd r0.x, r0.x, r1.x +ld r2.xyzw, r0.xxxx, T0[0].xyzw +if_nz r0.z + ishl r3.xyzw, r2.xyzw, l(8, 8, 8, 8) + and r3.xyzw, r3.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) + ushr r4.xyzw, r2.xyzw, l(8, 8, 8, 8) + and r4.xyzw, r4.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) + iadd r2.xyzw, r3.xyzw, r4.xyzw +endif +if_nz r0.w + ushr r3.xyzw, r2.xyzw, l(16, 16, 16, 16) + bfi r2.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r2.xyzw, r3.xyzw +endif +and r3.xyzw, r2.xyzw, l(0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff) +utof r3.xyzw, r3.xyzw +mul r3.xyzw, r3.xyzw, l(0.000015, 0.000015, 0.000015, 0.000015) +ushr r2.xyzw, r2.xyzw, l(16, 16, 16, 16) +utof r2.xyzw, r2.xyzw +mul r2.xyzw, r2.xyzw, l(0.000015, 0.000015, 0.000015, 0.000015) +f32tof16 r3.xyzw, r3.xyzw +f32tof16 r2.xyzw, r2.xyzw +imad r2.xyzw, r2.xyzw, l(0x00010000, 0x00010000, 0x00010000, 0x00010000), r3.xyzw +store_uav_typed U0[0].xyzw, r1.zzzz, r2.xyzw +ret +// Approximately 143 instruction slots used +#endif + +const BYTE texture_load_rg16_unorm_float_scaled_cs[] = +{ + 68, 88, 66, 67, 111, 114, + 173, 77, 92, 85, 73, 156, + 233, 137, 94, 95, 130, 248, + 237, 12, 1, 0, 0, 0, + 148, 23, 0, 0, 5, 0, + 0, 0, 52, 0, 0, 0, + 32, 4, 0, 0, 48, 4, + 0, 0, 64, 4, 0, 0, + 248, 22, 0, 0, 82, 68, + 69, 70, 228, 3, 0, 0, + 1, 0, 0, 0, 252, 0, + 0, 0, 3, 0, 0, 0, + 60, 0, 0, 0, 1, 5, + 83, 67, 0, 5, 0, 0, + 185, 3, 0, 0, 19, 19, + 68, 37, 60, 0, 0, 0, + 24, 0, 0, 0, 40, 0, + 0, 0, 40, 0, 0, 0, + 36, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 0, 0, + 180, 0, 0, 0, 2, 0, + 0, 0, 4, 0, 0, 0, + 1, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 1, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 203, 0, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 1, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 1, 0, + 0, 0, 12, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 224, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 120, 101, 95, 116, 101, 120, + 116, 117, 114, 101, 95, 108, + 111, 97, 100, 95, 115, 111, + 117, 114, 99, 101, 0, 120, + 101, 95, 116, 101, 120, 116, + 117, 114, 101, 95, 108, 111, + 97, 100, 95, 100, 101, 115, + 116, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 99, 111, 110, 115, 116, 97, + 110, 116, 115, 0, 171, 171, + 224, 0, 0, 0, 8, 0, + 0, 0, 20, 1, 0, 0, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 84, 2, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 168, 2, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 2, 0, + 0, 0, 132, 2, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 197, 2, 0, 0, + 8, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 132, 2, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 233, 2, 0, 0, 12, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 27, 3, + 0, 0, 16, 0, 0, 0, + 12, 0, 0, 0, 2, 0, + 0, 0, 64, 3, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 100, 3, 0, 0, + 28, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 132, 2, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 128, 3, 0, 0, 32, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 155, 3, + 0, 0, 36, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 132, 2, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 105, 115, 95, 116, 105, 108, + 101, 100, 95, 51, 100, 95, + 101, 110, 100, 105, 97, 110, + 95, 115, 99, 97, 108, 101, + 0, 100, 119, 111, 114, 100, + 0, 171, 0, 0, 19, 0, + 1, 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, 125, 2, + 0, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 103, 117, 101, 115, 116, 95, + 111, 102, 102, 115, 101, 116, + 0, 120, 101, 95, 116, 101, + 120, 116, 117, 114, 101, 95, + 108, 111, 97, 100, 95, 103, + 117, 101, 115, 116, 95, 112, + 105, 116, 99, 104, 95, 97, + 108, 105, 103, 110, 101, 100, + 0, 120, 101, 95, 116, 101, + 120, 116, 117, 114, 101, 95, + 108, 111, 97, 100, 95, 103, + 117, 101, 115, 116, 95, 122, + 95, 115, 116, 114, 105, 100, + 101, 95, 98, 108, 111, 99, + 107, 95, 114, 111, 119, 115, + 95, 97, 108, 105, 103, 110, + 101, 100, 0, 120, 101, 95, + 116, 101, 120, 116, 117, 114, + 101, 95, 108, 111, 97, 100, + 95, 115, 105, 122, 101, 95, + 98, 108, 111, 99, 107, 115, + 0, 117, 105, 110, 116, 51, + 0, 171, 171, 171, 1, 0, + 19, 0, 1, 0, 3, 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, + 55, 3, 0, 0, 120, 101, + 95, 116, 101, 120, 116, 117, + 114, 101, 95, 108, 111, 97, + 100, 95, 104, 111, 115, 116, + 95, 111, 102, 102, 115, 101, + 116, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 104, 111, 115, 116, 95, 112, + 105, 116, 99, 104, 0, 120, + 101, 95, 116, 101, 120, 116, + 117, 114, 101, 95, 108, 111, + 97, 100, 95, 104, 101, 105, + 103, 104, 116, 95, 116, 101, + 120, 101, 108, 115, 0, 77, + 105, 99, 114, 111, 115, 111, + 102, 116, 32, 40, 82, 41, + 32, 72, 76, 83, 76, 32, + 83, 104, 97, 100, 101, 114, + 32, 67, 111, 109, 112, 105, + 108, 101, 114, 32, 49, 48, + 46, 49, 0, 171, 171, 171, + 73, 83, 71, 78, 8, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 79, 83, + 71, 78, 8, 0, 0, 0, + 0, 0, 0, 0, 8, 0, + 0, 0, 83, 72, 69, 88, + 176, 18, 0, 0, 81, 0, + 5, 0, 172, 4, 0, 0, + 106, 8, 0, 1, 89, 0, + 0, 7, 70, 142, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 88, 8, 0, 7, + 70, 126, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 68, + 0, 0, 0, 0, 0, 0, + 156, 8, 0, 7, 70, 238, + 49, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 68, 68, 0, 0, + 0, 0, 0, 0, 95, 0, + 0, 2, 114, 0, 2, 0, + 104, 0, 0, 2, 6, 0, + 0, 0, 155, 0, 0, 4, + 4, 0, 0, 0, 32, 0, + 0, 0, 1, 0, 0, 0, + 41, 0, 0, 6, 18, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 2, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 54, 0, 0, 4, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 2, 0, 80, 0, + 0, 9, 98, 0, 16, 0, + 0, 0, 0, 0, 6, 1, + 16, 0, 0, 0, 0, 0, + 6, 129, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 60, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 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, 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, 35, 0, 0, 9, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 2, 0, + 26, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 26, 0, + 2, 0, 35, 0, 0, 11, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 9, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 58, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 9, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 138, 0, + 0, 17, 114, 0, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 2, 0, 0, 0, + 2, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 4, 0, + 0, 0, 6, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 6, 128, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 85, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 54, 0, + 0, 4, 34, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 2, 0, 78, 0, 0, 8, + 146, 0, 16, 0, 0, 0, + 0, 0, 0, 208, 0, 0, + 6, 4, 16, 0, 2, 0, + 0, 0, 6, 4, 16, 0, + 1, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 31, 0, 4, 3, + 42, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 10, + 194, 0, 16, 0, 2, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 3, 0, 0, 0, + 42, 0, 0, 6, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 2, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 85, 0, 0, 12, 50, 0, + 16, 0, 3, 0, 0, 0, + 182, 143, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 4, 0, 0, 0, + 5, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 35, 0, 0, 9, 66, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 139, 0, 0, 15, 82, 0, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 27, 0, + 0, 0, 0, 0, 0, 0, + 29, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 6, 0, + 16, 0, 0, 0, 0, 0, + 35, 0, 0, 9, 66, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 10, 0, 0, 0, 1, 0, + 0, 7, 18, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 0, 24, + 0, 0, 140, 0, 0, 11, + 18, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 18, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 140, 0, 0, 11, 130, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 3, 0, 0, 0, + 140, 0, 0, 11, 130, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 140, 0, 0, 11, + 66, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 140, 0, + 0, 20, 194, 0, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 20, 0, + 0, 0, 20, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 10, 0, 0, 0, 13, 0, + 0, 0, 166, 10, 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, + 35, 0, 0, 12, 194, 0, + 16, 0, 2, 0, 0, 0, + 6, 0, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 16, 0, 0, 0, 166, 14, + 16, 0, 2, 0, 0, 0, + 140, 0, 0, 16, 194, 0, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 11, 0, 0, 0, 166, 10, + 2, 0, 166, 14, 16, 0, + 2, 0, 0, 0, 140, 0, + 0, 11, 18, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 138, 0, 0, 9, 34, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 0, 0, 7, 66, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 140, 0, + 0, 11, 66, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 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, 1, 64, 0, 0, + 32, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 35, 0, 0, 9, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 140, 0, 0, 17, 194, 0, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 6, 0, + 16, 0, 3, 0, 0, 0, + 166, 14, 16, 0, 2, 0, + 0, 0, 140, 0, 0, 11, + 66, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 9, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 140, 0, + 0, 11, 66, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 18, 0, 0, 1, 139, 0, + 0, 15, 194, 0, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 27, 0, + 0, 0, 29, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 6, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 10, 50, 0, 16, 0, + 3, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 5, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 85, 0, 0, 9, + 66, 0, 16, 0, 3, 0, + 0, 0, 42, 128, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 35, 0, 0, 9, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 41, 0, 0, 10, + 82, 0, 16, 0, 3, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 10, 82, 0, + 16, 0, 3, 0, 0, 0, + 6, 2, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 192, 1, 0, 0, 0, 0, + 0, 0, 0, 8, 0, 0, + 0, 0, 0, 0, 140, 0, + 0, 11, 130, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 140, 0, 0, 11, 130, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 23, 0, + 0, 0, 1, 64, 0, 0, + 9, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 3, 0, + 0, 0, 140, 0, 0, 11, + 18, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 3, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 41, 0, 0, 10, + 98, 0, 16, 0, 4, 0, + 0, 0, 6, 0, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 140, 0, 0, 17, 98, 0, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 246, 15, + 16, 0, 1, 0, 0, 0, + 86, 6, 16, 0, 4, 0, + 0, 0, 140, 0, 0, 17, + 98, 0, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 23, 0, + 0, 0, 23, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 12, 0, 0, 0, 11, 0, + 0, 0, 0, 0, 0, 0, + 166, 10, 16, 0, 2, 0, + 0, 0, 86, 6, 16, 0, + 4, 0, 0, 0, 35, 0, + 0, 12, 50, 0, 16, 0, + 4, 0, 0, 0, 6, 0, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 8, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 150, 5, 16, 0, + 4, 0, 0, 0, 140, 0, + 0, 11, 130, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 12, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 0, 7, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 140, 0, + 0, 11, 66, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 140, 0, + 0, 11, 66, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 21, 0, 0, 1, 35, 0, + 0, 10, 146, 0, 16, 0, + 0, 0, 0, 0, 6, 12, + 16, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 6, 4, + 16, 0, 1, 0, 0, 0, + 6, 4, 16, 0, 2, 0, + 0, 0, 38, 0, 0, 8, + 0, 208, 0, 0, 130, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 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, + 26, 0, 16, 0, 1, 0, + 0, 0, 58, 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, 4, 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, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 9, + 18, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 26, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 85, 0, 0, 10, + 50, 0, 16, 0, 0, 0, + 0, 0, 70, 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, + 45, 0, 0, 8, 242, 0, + 16, 0, 3, 0, 0, 0, + 6, 0, 16, 0, 0, 0, + 0, 0, 70, 126, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 32, 0, 0, 10, + 226, 0, 16, 0, 2, 0, + 0, 0, 166, 10, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 2, 0, + 0, 0, 3, 0, 0, 0, + 60, 0, 0, 7, 194, 0, + 16, 0, 0, 0, 0, 0, + 166, 14, 16, 0, 2, 0, + 0, 0, 86, 9, 16, 0, + 2, 0, 0, 0, 31, 0, + 4, 3, 42, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 10, 242, 0, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 85, 0, 0, 10, 242, 0, + 16, 0, 5, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 5, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 2, 64, 0, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 30, 0, 0, 7, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 21, 0, 0, 1, 31, 0, + 4, 3, 58, 0, 16, 0, + 0, 0, 0, 0, 85, 0, + 0, 10, 242, 0, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 140, 0, 0, 17, + 242, 0, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 21, 0, + 0, 1, 1, 0, 0, 10, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 255, 255, 0, 0, + 255, 255, 0, 0, 255, 255, + 0, 0, 255, 255, 0, 0, + 86, 0, 0, 5, 242, 0, + 16, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 56, 0, 0, 10, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 128, 0, 128, 55, + 128, 0, 128, 55, 128, 0, + 128, 55, 128, 0, 128, 55, + 85, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 86, 0, + 0, 5, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 56, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 128, 0, 128, 55, 128, 0, + 128, 55, 128, 0, 128, 55, + 128, 0, 128, 55, 130, 0, + 0, 5, 242, 0, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 4, 0, 0, 0, + 130, 0, 0, 5, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 35, 0, 0, 12, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 70, 14, 16, 0, 4, 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, + 3, 0, 0, 0, 30, 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, 79, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 31, 0, 4, 3, 58, 0, + 16, 0, 1, 0, 0, 0, + 78, 0, 0, 8, 130, 0, + 16, 0, 1, 0, 0, 0, + 0, 208, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 35, 0, 0, 10, + 130, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 128, + 65, 0, 0, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 30, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 32, 0, + 0, 7, 18, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 31, 0, 4, 3, + 10, 0, 16, 0, 2, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 30, 0, + 0, 8, 18, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 128, 65, 0, 0, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 18, 0, 0, 1, 54, 0, + 0, 5, 18, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 21, 0, 0, 1, 18, 0, + 0, 1, 54, 0, 0, 5, + 18, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 32, 0, 0, 0, 21, 0, + 0, 1, 38, 0, 0, 8, + 0, 208, 0, 0, 18, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 85, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 30, 0, 0, 7, + 18, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 45, 0, 0, 8, 242, 0, + 16, 0, 2, 0, 0, 0, + 6, 0, 16, 0, 0, 0, + 0, 0, 70, 126, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 31, 0, 4, 3, + 42, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 10, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 85, 0, + 0, 10, 242, 0, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 30, 0, 0, 7, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 21, 0, + 0, 1, 31, 0, 4, 3, + 58, 0, 16, 0, 0, 0, + 0, 0, 85, 0, 0, 10, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 140, 0, 0, 17, 242, 0, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 2, 64, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 21, 0, 0, 1, + 1, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 255, 255, 0, 0, 255, 255, + 0, 0, 255, 255, 0, 0, + 255, 255, 0, 0, 86, 0, + 0, 5, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 56, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 128, 0, 128, 55, 128, 0, + 128, 55, 128, 0, 128, 55, + 128, 0, 128, 55, 85, 0, + 0, 10, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 86, 0, 0, 5, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 56, 0, + 0, 10, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 128, 0, + 128, 55, 128, 0, 128, 55, + 128, 0, 128, 55, 128, 0, + 128, 55, 130, 0, 0, 5, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 130, 0, + 0, 5, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 35, 0, 0, 12, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 164, 0, 0, 8, 242, 224, + 33, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 166, 10, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 62, 0, 0, 1, + 83, 84, 65, 84, 148, 0, + 0, 0, 143, 0, 0, 0, + 6, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 4, 0, 0, 0, 48, 0, + 0, 0, 29, 0, 0, 0, + 5, 0, 0, 0, 8, 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, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 4, 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 +}; diff --git a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_rgba16_snorm_float_cs.h b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_rgba16_snorm_float_cs.h new file mode 100644 index 000000000..996fc5ed5 --- /dev/null +++ b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_rgba16_snorm_float_cs.h @@ -0,0 +1,1142 @@ +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 +// +// +// Buffer Definitions: +// +// cbuffer xe_texture_load_constants +// { +// +// uint xe_texture_load_is_tiled_3d_endian_scale;// Offset: 0 Size: 4 +// uint xe_texture_load_guest_offset; // Offset: 4 Size: 4 +// uint xe_texture_load_guest_pitch_aligned;// Offset: 8 Size: 4 +// uint xe_texture_load_guest_z_stride_block_rows_aligned;// Offset: 12 Size: 4 +// uint3 xe_texture_load_size_blocks; // Offset: 16 Size: 12 +// uint xe_texture_load_host_offset; // Offset: 28 Size: 4 +// uint xe_texture_load_host_pitch; // Offset: 32 Size: 4 +// uint xe_texture_load_height_texels;// Offset: 36 Size: 4 [unused] +// +// } +// +// +// Resource Bindings: +// +// Name Type Format Dim ID HLSL Bind Count +// ------------------------------ ---------- ------- ----------- ------- -------------- ------ +// xe_texture_load_source texture uint4 buf T0 t0 1 +// xe_texture_load_dest UAV uint4 buf U0 u0 1 +// xe_texture_load_constants cbuffer NA NA CB0 cb0 1 +// +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Input +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Output +cs_5_1 +dcl_globalFlags refactoringAllowed +dcl_constantbuffer CB0[0:0][3], immediateIndexed, space=0 +dcl_resource_buffer (uint,uint,uint,uint) T0[0:0], space=0 +dcl_uav_typed_buffer (uint,uint,uint,uint) U0[0:0], space=0 +dcl_input vThreadID.xyz +dcl_temps 5 +dcl_thread_group 8, 32, 1 +ishl r0.x, vThreadID.x, l(2) +mov r0.y, vThreadID.y +uge r0.yz, r0.xxyx, CB0[0][1].xxyx +or r0.y, r0.z, r0.y +if_nz r0.y + ret +endif +ishl r0.y, r0.x, l(3) +imad r0.z, vThreadID.z, CB0[0][1].y, vThreadID.y +imad r0.z, r0.z, CB0[0][2].x, r0.y +iadd r0.z, r0.z, CB0[0][1].w +and r0.w, CB0[0][0].x, l(1) +if_nz r0.w + and r1.x, CB0[0][0].x, l(2) + if_nz r1.x + ishr r1.xyz, vThreadID.yzyy, l(4, 2, 3, 0) + ushr r2.xy, CB0[0][0].wzww, l(4, 5, 0, 0) + imad r1.x, r1.y, r2.x, r1.x + ibfe r2.xz, l(27, 0, 29, 0), l(3, 0, 1, 0), vThreadID.xxxx + imad r1.x, r1.x, r2.y, r2.x + ishl r1.w, vThreadID.y, l(11) + and r1.w, r1.w, l(0x00003000) + bfi r1.w, l(3), l(9), r0.x, r1.w + ishr r1.w, r1.w, l(6) + iadd r1.y, r1.y, r1.z + bfi r1.z, l(1), l(1), r1.y, l(0) + iadd r1.z, r1.z, r2.z + bfi r1.z, l(2), l(1), r1.z, l(0) + bfi r1.y, l(1), l(0), r1.y, r1.z + bfi r1.xz, l(19, 0, 19, 0), l(11, 0, 14, 0), r1.xxxx, l(0, 0, 0, 0) + imad r1.xz, r1.wwww, l(2, 0, 16, 0), r1.xxzx + bfi r1.xz, l(2, 0, 2, 0), l(9, 0, 12, 0), vThreadID.zzzz, r1.xxzx + bfi r1.w, l(1), l(4), vThreadID.y, l(0) + ubfe r2.x, l(3), l(6), r1.x + and r2.y, r1.y, l(6) + bfi r1.y, l(1), l(8), r1.y, l(0) + imad r1.y, r2.x, l(32), r1.y + imad r1.y, r2.y, l(4), r1.y + bfi r1.xz, l(6, 0, 6, 0), l(0, 0, 3, 0), r1.wwww, r1.xxzx + bfi r1.y, l(9), l(3), r1.y, r1.z + bfi r1.x, l(6), l(0), r1.x, r1.y + else + ibfe r1.yz, l(0, 27, 29, 0), l(0, 3, 1, 0), vThreadID.xxxx + ishr r2.xy, vThreadID.yyyy, l(5, 2, 0, 0) + ushr r1.w, CB0[0][0].z, l(5) + imad r1.y, r2.x, r1.w, r1.y + ishl r2.xz, vThreadID.yyyy, l(6, 0, 7, 0) + and r2.xz, r2.xxzx, l(896, 0, 2048, 0) + bfi r1.w, l(3), l(4), r0.x, r2.x + bfi r1.w, l(22), l(10), r1.y, r1.w + bfi r2.w, l(1), l(4), vThreadID.y, l(0) + iadd r1.w, r1.w, r2.w + ishl r3.xy, r2.xxxx, l(3, 2, 0, 0) + bfi r3.xy, l(3, 3, 0, 0), l(7, 6, 0, 0), r0.xxxx, r3.xyxx + bfi r3.xy, l(22, 22, 0, 0), l(13, 12, 0, 0), r1.yyyy, r3.xyxx + imad r2.xw, r2.wwww, l(8, 0, 0, 4), r3.xxxy + bfi r0.x, l(12), l(0), r2.z, r2.x + and r1.y, r2.w, l(1792) + iadd r0.x, r0.x, r1.y + and r1.y, r2.y, l(2) + iadd r1.y, r1.z, r1.y + bfi r1.y, l(2), l(6), r1.y, l(0) + iadd r0.x, r0.x, r1.y + bfi r1.x, l(6), l(0), r1.w, r0.x + endif +else + imad r0.x, vThreadID.z, CB0[0][0].w, vThreadID.y + imad r1.x, r0.x, CB0[0][0].z, r0.y +endif +iadd r0.x, r1.x, CB0[0][0].y +ushr r0.xz, r0.xxzx, l(4, 0, 4, 0) +ubfe r0.y, l(2), l(2), CB0[0][0].x +ld r1.xyzw, r0.xxxx, T0[0].xyzw +ieq r2.xyz, r0.yyyy, l(1, 2, 3, 0) +or r2.xy, r2.yzyy, r2.xyxx +if_nz r2.x + ishl r3.xyzw, r1.xyzw, l(8, 8, 8, 8) + and r3.xyzw, r3.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) + ushr r4.xyzw, r1.xyzw, l(8, 8, 8, 8) + and r4.xyzw, r4.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) + iadd r1.xyzw, r3.xyzw, r4.xyzw +endif +if_nz r2.y + ushr r3.xyzw, r1.xyzw, l(16, 16, 16, 16) + bfi r1.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r1.xyzw, r3.xyzw +endif +ibfe r3.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r1.xyzw +itof r3.xyzw, r3.xyzw +mul r3.xyzw, r3.xyzw, l(0.000031, 0.000031, 0.000031, 0.000031) +max r3.xyzw, r3.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000) +ishr r1.xyzw, r1.xyzw, l(16, 16, 16, 16) +itof r1.xyzw, r1.xyzw +mul r1.xyzw, r1.xyzw, l(0.000031, 0.000031, 0.000031, 0.000031) +max r1.xyzw, r1.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000) +f32tof16 r3.xyzw, r3.xyzw +f32tof16 r1.xyzw, r1.xyzw +imad r1.xyzw, r1.xyzw, l(0x00010000, 0x00010000, 0x00010000, 0x00010000), r3.xyzw +store_uav_typed U0[0].xyzw, r0.zzzz, r1.xyzw +iadd r0.y, r0.z, l(1) +if_nz r0.w + mov r0.w, l(32) +else + mov r0.w, l(16) +endif +ushr r0.w, r0.w, l(4) +iadd r0.x, r0.w, r0.x +ld r1.xyzw, r0.xxxx, T0[0].xyzw +if_nz r2.x + ishl r3.xyzw, r1.xyzw, l(8, 8, 8, 8) + and r3.xyzw, r3.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) + ushr r4.xyzw, r1.xyzw, l(8, 8, 8, 8) + and r4.xyzw, r4.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) + iadd r1.xyzw, r3.xyzw, r4.xyzw +endif +if_nz r2.y + ushr r2.xyzw, r1.xyzw, l(16, 16, 16, 16) + bfi r1.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r1.xyzw, r2.xyzw +endif +ibfe r2.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r1.xyzw +itof r2.xyzw, r2.xyzw +mul r2.xyzw, r2.xyzw, l(0.000031, 0.000031, 0.000031, 0.000031) +max r2.xyzw, r2.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000) +ishr r1.xyzw, r1.xyzw, l(16, 16, 16, 16) +itof r1.xyzw, r1.xyzw +mul r1.xyzw, r1.xyzw, l(0.000031, 0.000031, 0.000031, 0.000031) +max r1.xyzw, r1.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000) +f32tof16 r2.xyzw, r2.xyzw +f32tof16 r1.xyzw, r1.xyzw +imad r1.xyzw, r1.xyzw, l(0x00010000, 0x00010000, 0x00010000, 0x00010000), r2.xyzw +store_uav_typed U0[0].xyzw, r0.yyyy, r1.xyzw +ret +// Approximately 131 instruction slots used +#endif + +const BYTE texture_load_rgba16_snorm_float_cs[] = +{ + 68, 88, 66, 67, 130, 84, + 147, 165, 41, 150, 201, 188, + 240, 11, 180, 52, 244, 252, + 250, 246, 1, 0, 0, 0, + 88, 22, 0, 0, 5, 0, + 0, 0, 52, 0, 0, 0, + 32, 4, 0, 0, 48, 4, + 0, 0, 64, 4, 0, 0, + 188, 21, 0, 0, 82, 68, + 69, 70, 228, 3, 0, 0, + 1, 0, 0, 0, 252, 0, + 0, 0, 3, 0, 0, 0, + 60, 0, 0, 0, 1, 5, + 83, 67, 0, 5, 0, 0, + 185, 3, 0, 0, 19, 19, + 68, 37, 60, 0, 0, 0, + 24, 0, 0, 0, 40, 0, + 0, 0, 40, 0, 0, 0, + 36, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 0, 0, + 180, 0, 0, 0, 2, 0, + 0, 0, 4, 0, 0, 0, + 1, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 1, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 203, 0, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 1, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 1, 0, + 0, 0, 12, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 224, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 120, 101, 95, 116, 101, 120, + 116, 117, 114, 101, 95, 108, + 111, 97, 100, 95, 115, 111, + 117, 114, 99, 101, 0, 120, + 101, 95, 116, 101, 120, 116, + 117, 114, 101, 95, 108, 111, + 97, 100, 95, 100, 101, 115, + 116, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 99, 111, 110, 115, 116, 97, + 110, 116, 115, 0, 171, 171, + 224, 0, 0, 0, 8, 0, + 0, 0, 20, 1, 0, 0, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 84, 2, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 168, 2, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 2, 0, + 0, 0, 132, 2, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 197, 2, 0, 0, + 8, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 132, 2, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 233, 2, 0, 0, 12, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 27, 3, + 0, 0, 16, 0, 0, 0, + 12, 0, 0, 0, 2, 0, + 0, 0, 64, 3, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 100, 3, 0, 0, + 28, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 132, 2, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 128, 3, 0, 0, 32, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 155, 3, + 0, 0, 36, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 132, 2, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 105, 115, 95, 116, 105, 108, + 101, 100, 95, 51, 100, 95, + 101, 110, 100, 105, 97, 110, + 95, 115, 99, 97, 108, 101, + 0, 100, 119, 111, 114, 100, + 0, 171, 0, 0, 19, 0, + 1, 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, 125, 2, + 0, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 103, 117, 101, 115, 116, 95, + 111, 102, 102, 115, 101, 116, + 0, 120, 101, 95, 116, 101, + 120, 116, 117, 114, 101, 95, + 108, 111, 97, 100, 95, 103, + 117, 101, 115, 116, 95, 112, + 105, 116, 99, 104, 95, 97, + 108, 105, 103, 110, 101, 100, + 0, 120, 101, 95, 116, 101, + 120, 116, 117, 114, 101, 95, + 108, 111, 97, 100, 95, 103, + 117, 101, 115, 116, 95, 122, + 95, 115, 116, 114, 105, 100, + 101, 95, 98, 108, 111, 99, + 107, 95, 114, 111, 119, 115, + 95, 97, 108, 105, 103, 110, + 101, 100, 0, 120, 101, 95, + 116, 101, 120, 116, 117, 114, + 101, 95, 108, 111, 97, 100, + 95, 115, 105, 122, 101, 95, + 98, 108, 111, 99, 107, 115, + 0, 117, 105, 110, 116, 51, + 0, 171, 171, 171, 1, 0, + 19, 0, 1, 0, 3, 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, + 55, 3, 0, 0, 120, 101, + 95, 116, 101, 120, 116, 117, + 114, 101, 95, 108, 111, 97, + 100, 95, 104, 111, 115, 116, + 95, 111, 102, 102, 115, 101, + 116, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 104, 111, 115, 116, 95, 112, + 105, 116, 99, 104, 0, 120, + 101, 95, 116, 101, 120, 116, + 117, 114, 101, 95, 108, 111, + 97, 100, 95, 104, 101, 105, + 103, 104, 116, 95, 116, 101, + 120, 101, 108, 115, 0, 77, + 105, 99, 114, 111, 115, 111, + 102, 116, 32, 40, 82, 41, + 32, 72, 76, 83, 76, 32, + 83, 104, 97, 100, 101, 114, + 32, 67, 111, 109, 112, 105, + 108, 101, 114, 32, 49, 48, + 46, 49, 0, 171, 171, 171, + 73, 83, 71, 78, 8, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 79, 83, + 71, 78, 8, 0, 0, 0, + 0, 0, 0, 0, 8, 0, + 0, 0, 83, 72, 69, 88, + 116, 17, 0, 0, 81, 0, + 5, 0, 93, 4, 0, 0, + 106, 8, 0, 1, 89, 0, + 0, 7, 70, 142, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 88, 8, 0, 7, + 70, 126, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 68, + 0, 0, 0, 0, 0, 0, + 156, 8, 0, 7, 70, 238, + 49, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 68, 68, 0, 0, + 0, 0, 0, 0, 95, 0, + 0, 2, 114, 0, 2, 0, + 104, 0, 0, 2, 5, 0, + 0, 0, 155, 0, 0, 4, + 8, 0, 0, 0, 32, 0, + 0, 0, 1, 0, 0, 0, + 41, 0, 0, 6, 18, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 2, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 54, 0, 0, 4, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 2, 0, 80, 0, + 0, 9, 98, 0, 16, 0, + 0, 0, 0, 0, 6, 1, + 16, 0, 0, 0, 0, 0, + 6, 129, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 60, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 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, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 35, 0, 0, 9, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 2, 0, + 26, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 26, 0, + 2, 0, 35, 0, 0, 11, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 9, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 58, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 9, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 31, 0, + 4, 3, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 0, + 0, 9, 18, 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, + 2, 0, 0, 0, 31, 0, + 4, 3, 10, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 0, 9, 114, 0, 16, 0, + 1, 0, 0, 0, 150, 5, + 2, 0, 2, 64, 0, 0, + 4, 0, 0, 0, 2, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 85, 0, + 0, 12, 50, 0, 16, 0, + 2, 0, 0, 0, 182, 143, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 4, 0, 0, 0, 5, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 35, 0, + 0, 9, 18, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 139, 0, + 0, 14, 82, 0, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 29, 0, + 0, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 6, 0, 2, 0, + 35, 0, 0, 9, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 41, 0, 0, 6, 130, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 2, 0, 1, 64, + 0, 0, 11, 0, 0, 0, + 1, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 0, 48, 0, 0, 140, 0, + 0, 11, 130, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 9, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 140, 0, 0, 11, + 66, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 140, 0, 0, 11, + 66, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 140, 0, + 0, 11, 34, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 140, 0, 0, 20, 82, 0, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 19, 0, + 0, 0, 0, 0, 0, 0, + 19, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 11, 0, 0, 0, 0, 0, + 0, 0, 14, 0, 0, 0, + 0, 0, 0, 0, 6, 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, 35, 0, 0, 12, + 82, 0, 16, 0, 1, 0, + 0, 0, 246, 15, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 6, 2, 16, 0, 1, 0, + 0, 0, 140, 0, 0, 16, + 82, 0, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 9, 0, 0, 0, + 0, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 0, 0, + 166, 10, 2, 0, 6, 2, + 16, 0, 1, 0, 0, 0, + 140, 0, 0, 10, 130, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 26, 0, + 2, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 138, 0, + 0, 9, 18, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 140, 0, 0, 11, + 34, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 35, 0, + 0, 9, 34, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 32, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 35, 0, + 0, 9, 34, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 140, 0, + 0, 17, 82, 0, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 246, 15, 16, 0, + 1, 0, 0, 0, 6, 2, + 16, 0, 1, 0, 0, 0, + 140, 0, 0, 11, 34, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 9, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 140, 0, 0, 11, + 18, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 18, 0, + 0, 1, 139, 0, 0, 14, + 98, 0, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 27, 0, + 0, 0, 29, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 6, 0, 2, 0, 42, 0, + 0, 9, 50, 0, 16, 0, + 2, 0, 0, 0, 86, 5, + 2, 0, 2, 64, 0, 0, + 5, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 85, 0, + 0, 9, 130, 0, 16, 0, + 1, 0, 0, 0, 42, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 35, 0, + 0, 9, 34, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 41, 0, + 0, 9, 82, 0, 16, 0, + 2, 0, 0, 0, 86, 5, + 2, 0, 2, 64, 0, 0, + 6, 0, 0, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 10, 82, 0, 16, 0, + 2, 0, 0, 0, 6, 2, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 128, 3, + 0, 0, 0, 0, 0, 0, + 0, 8, 0, 0, 0, 0, + 0, 0, 140, 0, 0, 11, + 130, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 140, 0, + 0, 11, 130, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 22, 0, 0, 0, + 1, 64, 0, 0, 10, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 140, 0, 0, 10, 130, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 26, 0, + 2, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 41, 0, 0, 10, + 50, 0, 16, 0, 3, 0, + 0, 0, 6, 0, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 3, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 140, 0, 0, 17, 50, 0, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 7, 0, 0, 0, 6, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6, 0, + 16, 0, 0, 0, 0, 0, + 70, 0, 16, 0, 3, 0, + 0, 0, 140, 0, 0, 17, + 50, 0, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 22, 0, 0, 0, 22, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 13, 0, 0, 0, + 12, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 86, 5, 16, 0, 1, 0, + 0, 0, 70, 0, 16, 0, + 3, 0, 0, 0, 35, 0, + 0, 12, 146, 0, 16, 0, + 2, 0, 0, 0, 246, 15, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 8, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 6, 4, 16, 0, + 3, 0, 0, 0, 140, 0, + 0, 11, 18, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 12, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 0, 0, 7, 34, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 0, 7, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 0, 0, 7, + 34, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 140, 0, + 0, 11, 34, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 18, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 140, 0, + 0, 11, 18, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 21, 0, 0, 1, 18, 0, + 0, 1, 35, 0, 0, 9, + 18, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 2, 0, + 58, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 26, 0, + 2, 0, 35, 0, 0, 11, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 42, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 21, 0, + 0, 1, 30, 0, 0, 9, + 18, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 26, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 85, 0, 0, 10, + 82, 0, 16, 0, 0, 0, + 0, 0, 6, 2, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 138, 0, 0, 11, 34, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 45, 0, 0, 8, + 242, 0, 16, 0, 1, 0, + 0, 0, 6, 0, 16, 0, + 0, 0, 0, 0, 70, 126, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 32, 0, + 0, 10, 114, 0, 16, 0, + 2, 0, 0, 0, 86, 5, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 1, 0, + 0, 0, 2, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 60, 0, 0, 7, + 50, 0, 16, 0, 2, 0, + 0, 0, 150, 5, 16, 0, + 2, 0, 0, 0, 70, 0, + 16, 0, 2, 0, 0, 0, + 31, 0, 4, 3, 10, 0, + 16, 0, 2, 0, 0, 0, + 41, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 85, 0, 0, 10, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 30, 0, + 0, 7, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 21, 0, 0, 1, + 31, 0, 4, 3, 26, 0, + 16, 0, 2, 0, 0, 0, + 85, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 140, 0, + 0, 17, 242, 0, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 2, 64, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 21, 0, 0, 1, 139, 0, + 0, 15, 242, 0, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 43, 0, + 0, 5, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 56, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 1, 0, 56, 0, 1, + 0, 56, 0, 1, 0, 56, + 0, 1, 0, 56, 52, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 128, 191, 0, 0, 128, 191, + 0, 0, 128, 191, 0, 0, + 128, 191, 42, 0, 0, 10, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 43, 0, 0, 5, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 56, 0, 0, 10, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 0, 1, 0, 56, + 0, 1, 0, 56, 0, 1, + 0, 56, 0, 1, 0, 56, + 52, 0, 0, 10, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 128, 191, 0, 0, + 128, 191, 0, 0, 128, 191, + 0, 0, 128, 191, 130, 0, + 0, 5, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 130, 0, 0, 5, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 35, 0, 0, 12, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 70, 14, 16, 0, 3, 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, + 1, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 31, 0, 4, 3, + 58, 0, 16, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 32, 0, 0, 0, 18, 0, + 0, 1, 54, 0, 0, 5, + 130, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 21, 0, + 0, 1, 85, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 4, 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, 45, 0, + 0, 8, 242, 0, 16, 0, + 1, 0, 0, 0, 6, 0, + 16, 0, 0, 0, 0, 0, + 70, 126, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 31, 0, 4, 3, 10, 0, + 16, 0, 2, 0, 0, 0, + 41, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 85, 0, 0, 10, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 30, 0, + 0, 7, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 21, 0, 0, 1, + 31, 0, 4, 3, 26, 0, + 16, 0, 2, 0, 0, 0, + 85, 0, 0, 10, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 140, 0, + 0, 17, 242, 0, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 2, 64, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 21, 0, 0, 1, 139, 0, + 0, 15, 242, 0, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 43, 0, + 0, 5, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 56, 0, 0, 10, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 0, 1, 0, 56, 0, 1, + 0, 56, 0, 1, 0, 56, + 0, 1, 0, 56, 52, 0, + 0, 10, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 128, 191, 0, 0, 128, 191, + 0, 0, 128, 191, 0, 0, + 128, 191, 42, 0, 0, 10, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 43, 0, 0, 5, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 56, 0, 0, 10, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 0, 1, 0, 56, + 0, 1, 0, 56, 0, 1, + 0, 56, 0, 1, 0, 56, + 52, 0, 0, 10, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 128, 191, 0, 0, + 128, 191, 0, 0, 128, 191, + 0, 0, 128, 191, 130, 0, + 0, 5, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 130, 0, 0, 5, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 35, 0, 0, 12, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 70, 14, 16, 0, 2, 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, + 1, 0, 0, 0, 62, 0, + 0, 1, 83, 84, 65, 84, + 148, 0, 0, 0, 131, 0, + 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 8, 0, 0, 0, + 38, 0, 0, 0, 22, 0, + 0, 0, 5, 0, 0, 0, + 8, 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, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 4, 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 +}; diff --git a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_rgba16_snorm_float_scaled_cs.h b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_rgba16_snorm_float_scaled_cs.h new file mode 100644 index 000000000..5af148885 --- /dev/null +++ b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_rgba16_snorm_float_scaled_cs.h @@ -0,0 +1,1244 @@ +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 +// +// +// Buffer Definitions: +// +// cbuffer xe_texture_load_constants +// { +// +// uint xe_texture_load_is_tiled_3d_endian_scale;// Offset: 0 Size: 4 +// uint xe_texture_load_guest_offset; // Offset: 4 Size: 4 +// uint xe_texture_load_guest_pitch_aligned;// Offset: 8 Size: 4 +// uint xe_texture_load_guest_z_stride_block_rows_aligned;// Offset: 12 Size: 4 +// uint3 xe_texture_load_size_blocks; // Offset: 16 Size: 12 +// uint xe_texture_load_host_offset; // Offset: 28 Size: 4 +// uint xe_texture_load_host_pitch; // Offset: 32 Size: 4 +// uint xe_texture_load_height_texels;// Offset: 36 Size: 4 [unused] +// +// } +// +// +// Resource Bindings: +// +// Name Type Format Dim ID HLSL Bind Count +// ------------------------------ ---------- ------- ----------- ------- -------------- ------ +// xe_texture_load_source texture uint4 buf T0 t0 1 +// xe_texture_load_dest UAV uint4 buf U0 u0 1 +// xe_texture_load_constants cbuffer NA NA CB0 cb0 1 +// +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Input +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Output +cs_5_1 +dcl_globalFlags refactoringAllowed +dcl_constantbuffer CB0[0:0][3], immediateIndexed, space=0 +dcl_resource_buffer (uint,uint,uint,uint) T0[0:0], space=0 +dcl_uav_typed_buffer (uint,uint,uint,uint) U0[0:0], space=0 +dcl_input vThreadID.xyz +dcl_temps 6 +dcl_thread_group 8, 32, 1 +ishl r0.x, vThreadID.x, l(2) +mov r0.y, vThreadID.y +uge r0.yz, r0.xxyx, CB0[0][1].xxyx +or r0.y, r0.z, r0.y +if_nz r0.y + ret +endif +ishl r0.y, r0.x, l(3) +imad r0.z, vThreadID.z, CB0[0][1].y, vThreadID.y +imad r0.y, r0.z, CB0[0][2].x, r0.y +iadd r0.y, r0.y, CB0[0][1].w +and r0.z, CB0[0][0].x, l(2) +ubfe r1.xyz, l(2, 2, 2, 0), l(4, 6, 2, 0), CB0[0][0].xxxx +ushr r2.x, r0.x, l(1) +mov r2.y, vThreadID.y +udiv r0.xw, null, r2.xxxy, r1.xxxy +ishl r1.w, r0.x, l(1) +if_nz r0.z + ishr r2.zw, r0.wwww, l(0, 0, 4, 3) + ishr r0.z, vThreadID.z, l(2) + ushr r3.xy, CB0[0][0].wzww, l(4, 5, 0, 0) + imad r2.z, r0.z, r3.x, r2.z + ibfe r3.xz, l(27, 0, 29, 0), l(4, 0, 2, 0), r0.xxxx + imad r2.z, r2.z, r3.y, r3.x + ishl r3.x, r0.w, l(11) + and r3.x, r3.x, l(0x00003000) + bfi r3.x, l(3), l(9), r1.w, r3.x + ishr r3.x, r3.x, l(6) + iadd r0.z, r0.z, r2.w + bfi r2.w, l(1), l(1), r0.z, l(0) + iadd r2.w, r2.w, r3.z + bfi r2.w, l(2), l(1), r2.w, l(0) + bfi r0.z, l(1), l(0), r0.z, r2.w + bfi r2.zw, l(0, 0, 19, 19), l(0, 0, 11, 14), r2.zzzz, l(0, 0, 0, 0) + imad r2.zw, r3.xxxx, l(0, 0, 2, 16), r2.zzzw + bfi r2.zw, l(0, 0, 2, 2), l(0, 0, 9, 12), vThreadID.zzzz, r2.zzzw + bfi r3.x, l(1), l(4), r0.w, l(0) + ubfe r3.y, l(3), l(6), r2.z + and r3.z, r0.z, l(6) + bfi r0.z, l(1), l(8), r0.z, l(0) + imad r0.z, r3.y, l(32), r0.z + imad r0.z, r3.z, l(4), r0.z + bfi r2.zw, l(0, 0, 5, 5), l(0, 0, 0, 3), r3.xxxx, r2.zzzw + bfi r0.z, l(9), l(3), r0.z, r2.w + bfi r0.z, l(6), l(0), r2.z, r0.z +else + ibfe r2.zw, l(0, 0, 27, 29), l(0, 0, 4, 2), r0.xxxx + ishr r3.xy, r0.wwww, l(5, 2, 0, 0) + ushr r3.z, CB0[0][0].z, l(5) + imad r2.z, r3.x, r3.z, r2.z + ishl r3.xz, r0.wwww, l(6, 0, 7, 0) + and r3.xz, r3.xxzx, l(896, 0, 2048, 0) + bfi r3.w, l(3), l(4), r1.w, r3.x + bfi r3.w, l(22), l(10), r2.z, r3.w + bfi r4.x, l(1), l(4), r0.w, l(0) + iadd r3.w, r3.w, r4.x + ishl r4.yz, r3.xxxx, l(0, 3, 2, 0) + bfi r4.yz, l(0, 3, 3, 0), l(0, 7, 6, 0), r1.wwww, r4.yyzy + bfi r4.yz, l(0, 22, 22, 0), l(0, 13, 12, 0), r2.zzzz, r4.yyzy + imad r4.xy, r4.xxxx, l(8, 4, 0, 0), r4.yzyy + bfi r1.w, l(12), l(0), r3.z, r4.x + and r2.z, r4.y, l(1792) + iadd r1.w, r1.w, r2.z + and r2.z, r3.y, l(2) + iadd r2.z, r2.w, r2.z + bfi r2.z, l(2), l(6), r2.z, l(0) + iadd r1.w, r1.w, r2.z + bfi r0.z, l(6), l(0), r3.w, r1.w +endif +imad r0.xw, -r0.xxxw, r1.xxxy, r2.xxxy +imul null, r1.w, r1.y, r1.x +imad r0.x, r0.x, r1.y, r0.w +ishl r0.x, r0.x, l(4) +imad r0.x, r0.z, r1.w, r0.x +iadd r0.x, r0.x, CB0[0][0].y +ushr r0.xy, r0.xyxx, l(4, 4, 0, 0) +ld r3.xyzw, r0.xxxx, T0[0].xyzw +ieq r2.yzw, r1.zzzz, l(0, 1, 2, 3) +or r0.zw, r2.zzzw, r2.yyyz +if_nz r0.z + ishl r4.xyzw, r3.xyzw, l(8, 8, 8, 8) + and r4.xyzw, r4.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) + ushr r5.xyzw, r3.xyzw, l(8, 8, 8, 8) + and r5.xyzw, r5.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) + iadd r3.xyzw, r4.xyzw, r5.xyzw +endif +if_nz r0.w + ushr r4.xyzw, r3.xyzw, l(16, 16, 16, 16) + bfi r3.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r3.xyzw, r4.xyzw +endif +ibfe r4.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r3.xyzw +itof r4.xyzw, r4.xyzw +mul r4.xyzw, r4.xyzw, l(0.000031, 0.000031, 0.000031, 0.000031) +max r4.xyzw, r4.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000) +ishr r3.xyzw, r3.xyzw, l(16, 16, 16, 16) +itof r3.xyzw, r3.xyzw +mul r3.xyzw, r3.xyzw, l(0.000031, 0.000031, 0.000031, 0.000031) +max r3.xyzw, r3.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000) +f32tof16 r4.xyzw, r4.xyzw +f32tof16 r3.xyzw, r3.xyzw +imad r3.xyzw, r3.xyzw, l(0x00010000, 0x00010000, 0x00010000, 0x00010000), r4.xyzw +store_uav_typed U0[0].xyzw, r0.yyyy, r3.xyzw +iadd r1.z, r0.y, l(1) +ult r1.w, l(1), r1.x +if_nz r1.w + udiv r1.w, null, r2.x, r1.x + imad r1.w, -r1.w, r1.x, r2.x + iadd r2.x, r1.w, l(1) + ieq r2.x, r1.x, r2.x + if_nz r2.x + ishl r1.x, r1.x, l(5) + ishl r1.w, r1.w, l(4) + iadd r1.x, -r1.w, r1.x + else + mov r1.x, l(16) + endif +else + mov r1.x, l(32) +endif +imul null, r1.x, r1.y, r1.x +ushr r1.x, r1.x, l(4) +iadd r0.x, r0.x, r1.x +ld r2.xyzw, r0.xxxx, T0[0].xyzw +if_nz r0.z + ishl r3.xyzw, r2.xyzw, l(8, 8, 8, 8) + and r3.xyzw, r3.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) + ushr r4.xyzw, r2.xyzw, l(8, 8, 8, 8) + and r4.xyzw, r4.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) + iadd r2.xyzw, r3.xyzw, r4.xyzw +endif +if_nz r0.w + ushr r3.xyzw, r2.xyzw, l(16, 16, 16, 16) + bfi r2.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r2.xyzw, r3.xyzw +endif +ibfe r3.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r2.xyzw +itof r3.xyzw, r3.xyzw +mul r3.xyzw, r3.xyzw, l(0.000031, 0.000031, 0.000031, 0.000031) +max r3.xyzw, r3.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000) +ishr r2.xyzw, r2.xyzw, l(16, 16, 16, 16) +itof r2.xyzw, r2.xyzw +mul r2.xyzw, r2.xyzw, l(0.000031, 0.000031, 0.000031, 0.000031) +max r2.xyzw, r2.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000) +f32tof16 r3.xyzw, r3.xyzw +f32tof16 r2.xyzw, r2.xyzw +imad r2.xyzw, r2.xyzw, l(0x00010000, 0x00010000, 0x00010000, 0x00010000), r3.xyzw +store_uav_typed U0[0].xyzw, r1.zzzz, r2.xyzw +ret +// Approximately 147 instruction slots used +#endif + +const BYTE texture_load_rgba16_snorm_float_scaled_cs[] = +{ + 68, 88, 66, 67, 216, 73, + 96, 144, 35, 222, 144, 90, + 206, 71, 120, 215, 76, 200, + 160, 161, 1, 0, 0, 0, + 92, 24, 0, 0, 5, 0, + 0, 0, 52, 0, 0, 0, + 32, 4, 0, 0, 48, 4, + 0, 0, 64, 4, 0, 0, + 192, 23, 0, 0, 82, 68, + 69, 70, 228, 3, 0, 0, + 1, 0, 0, 0, 252, 0, + 0, 0, 3, 0, 0, 0, + 60, 0, 0, 0, 1, 5, + 83, 67, 0, 5, 0, 0, + 185, 3, 0, 0, 19, 19, + 68, 37, 60, 0, 0, 0, + 24, 0, 0, 0, 40, 0, + 0, 0, 40, 0, 0, 0, + 36, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 0, 0, + 180, 0, 0, 0, 2, 0, + 0, 0, 4, 0, 0, 0, + 1, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 1, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 203, 0, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 1, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 1, 0, + 0, 0, 12, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 224, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 120, 101, 95, 116, 101, 120, + 116, 117, 114, 101, 95, 108, + 111, 97, 100, 95, 115, 111, + 117, 114, 99, 101, 0, 120, + 101, 95, 116, 101, 120, 116, + 117, 114, 101, 95, 108, 111, + 97, 100, 95, 100, 101, 115, + 116, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 99, 111, 110, 115, 116, 97, + 110, 116, 115, 0, 171, 171, + 224, 0, 0, 0, 8, 0, + 0, 0, 20, 1, 0, 0, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 84, 2, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 168, 2, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 2, 0, + 0, 0, 132, 2, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 197, 2, 0, 0, + 8, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 132, 2, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 233, 2, 0, 0, 12, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 27, 3, + 0, 0, 16, 0, 0, 0, + 12, 0, 0, 0, 2, 0, + 0, 0, 64, 3, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 100, 3, 0, 0, + 28, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 132, 2, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 128, 3, 0, 0, 32, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 155, 3, + 0, 0, 36, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 132, 2, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 105, 115, 95, 116, 105, 108, + 101, 100, 95, 51, 100, 95, + 101, 110, 100, 105, 97, 110, + 95, 115, 99, 97, 108, 101, + 0, 100, 119, 111, 114, 100, + 0, 171, 0, 0, 19, 0, + 1, 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, 125, 2, + 0, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 103, 117, 101, 115, 116, 95, + 111, 102, 102, 115, 101, 116, + 0, 120, 101, 95, 116, 101, + 120, 116, 117, 114, 101, 95, + 108, 111, 97, 100, 95, 103, + 117, 101, 115, 116, 95, 112, + 105, 116, 99, 104, 95, 97, + 108, 105, 103, 110, 101, 100, + 0, 120, 101, 95, 116, 101, + 120, 116, 117, 114, 101, 95, + 108, 111, 97, 100, 95, 103, + 117, 101, 115, 116, 95, 122, + 95, 115, 116, 114, 105, 100, + 101, 95, 98, 108, 111, 99, + 107, 95, 114, 111, 119, 115, + 95, 97, 108, 105, 103, 110, + 101, 100, 0, 120, 101, 95, + 116, 101, 120, 116, 117, 114, + 101, 95, 108, 111, 97, 100, + 95, 115, 105, 122, 101, 95, + 98, 108, 111, 99, 107, 115, + 0, 117, 105, 110, 116, 51, + 0, 171, 171, 171, 1, 0, + 19, 0, 1, 0, 3, 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, + 55, 3, 0, 0, 120, 101, + 95, 116, 101, 120, 116, 117, + 114, 101, 95, 108, 111, 97, + 100, 95, 104, 111, 115, 116, + 95, 111, 102, 102, 115, 101, + 116, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 104, 111, 115, 116, 95, 112, + 105, 116, 99, 104, 0, 120, + 101, 95, 116, 101, 120, 116, + 117, 114, 101, 95, 108, 111, + 97, 100, 95, 104, 101, 105, + 103, 104, 116, 95, 116, 101, + 120, 101, 108, 115, 0, 77, + 105, 99, 114, 111, 115, 111, + 102, 116, 32, 40, 82, 41, + 32, 72, 76, 83, 76, 32, + 83, 104, 97, 100, 101, 114, + 32, 67, 111, 109, 112, 105, + 108, 101, 114, 32, 49, 48, + 46, 49, 0, 171, 171, 171, + 73, 83, 71, 78, 8, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 79, 83, + 71, 78, 8, 0, 0, 0, + 0, 0, 0, 0, 8, 0, + 0, 0, 83, 72, 69, 88, + 120, 19, 0, 0, 81, 0, + 5, 0, 222, 4, 0, 0, + 106, 8, 0, 1, 89, 0, + 0, 7, 70, 142, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 88, 8, 0, 7, + 70, 126, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 68, + 0, 0, 0, 0, 0, 0, + 156, 8, 0, 7, 70, 238, + 49, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 68, 68, 0, 0, + 0, 0, 0, 0, 95, 0, + 0, 2, 114, 0, 2, 0, + 104, 0, 0, 2, 6, 0, + 0, 0, 155, 0, 0, 4, + 8, 0, 0, 0, 32, 0, + 0, 0, 1, 0, 0, 0, + 41, 0, 0, 6, 18, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 2, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 54, 0, 0, 4, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 2, 0, 80, 0, + 0, 9, 98, 0, 16, 0, + 0, 0, 0, 0, 6, 1, + 16, 0, 0, 0, 0, 0, + 6, 129, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 60, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 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, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 35, 0, 0, 9, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 2, 0, + 26, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 26, 0, + 2, 0, 35, 0, 0, 11, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 9, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 58, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 9, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 138, 0, + 0, 17, 114, 0, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 2, 0, 0, 0, + 2, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 4, 0, + 0, 0, 6, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 6, 128, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 85, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 54, 0, + 0, 4, 34, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 2, 0, 78, 0, 0, 8, + 146, 0, 16, 0, 0, 0, + 0, 0, 0, 208, 0, 0, + 6, 4, 16, 0, 2, 0, + 0, 0, 6, 4, 16, 0, + 1, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 31, 0, 4, 3, + 42, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 10, + 194, 0, 16, 0, 2, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 3, 0, 0, 0, + 42, 0, 0, 6, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 2, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 85, 0, 0, 12, 50, 0, + 16, 0, 3, 0, 0, 0, + 182, 143, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 4, 0, 0, 0, + 5, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 35, 0, 0, 9, 66, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 139, 0, 0, 15, 82, 0, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 27, 0, + 0, 0, 0, 0, 0, 0, + 29, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 6, 0, + 16, 0, 0, 0, 0, 0, + 35, 0, 0, 9, 66, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 11, 0, 0, 0, 1, 0, + 0, 7, 18, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 0, 48, + 0, 0, 140, 0, 0, 11, + 18, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 18, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 140, 0, 0, 11, 130, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 3, 0, 0, 0, + 140, 0, 0, 11, 130, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 140, 0, 0, 11, + 66, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 140, 0, + 0, 20, 194, 0, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 19, 0, + 0, 0, 19, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 11, 0, 0, 0, 14, 0, + 0, 0, 166, 10, 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, + 35, 0, 0, 12, 194, 0, + 16, 0, 2, 0, 0, 0, + 6, 0, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 16, 0, 0, 0, 166, 14, + 16, 0, 2, 0, 0, 0, + 140, 0, 0, 16, 194, 0, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 9, 0, 0, 0, + 12, 0, 0, 0, 166, 10, + 2, 0, 166, 14, 16, 0, + 2, 0, 0, 0, 140, 0, + 0, 11, 18, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 138, 0, 0, 9, 34, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 0, 0, 7, 66, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 140, 0, + 0, 11, 66, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 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, 1, 64, 0, 0, + 32, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 35, 0, 0, 9, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 140, 0, 0, 17, 194, 0, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 6, 0, + 16, 0, 3, 0, 0, 0, + 166, 14, 16, 0, 2, 0, + 0, 0, 140, 0, 0, 11, + 66, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 9, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 140, 0, + 0, 11, 66, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 18, 0, 0, 1, 139, 0, + 0, 15, 194, 0, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 27, 0, + 0, 0, 29, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 2, 0, + 0, 0, 6, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 10, 50, 0, 16, 0, + 3, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 5, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 85, 0, 0, 9, + 66, 0, 16, 0, 3, 0, + 0, 0, 42, 128, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 35, 0, 0, 9, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 41, 0, 0, 10, + 82, 0, 16, 0, 3, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 10, 82, 0, + 16, 0, 3, 0, 0, 0, + 6, 2, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 128, 3, 0, 0, 0, 0, + 0, 0, 0, 8, 0, 0, + 0, 0, 0, 0, 140, 0, + 0, 11, 130, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 140, 0, 0, 11, 130, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 22, 0, + 0, 0, 1, 64, 0, 0, + 10, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 3, 0, + 0, 0, 140, 0, 0, 11, + 18, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 3, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 41, 0, 0, 10, + 98, 0, 16, 0, 4, 0, + 0, 0, 6, 0, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 140, 0, 0, 17, 98, 0, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 246, 15, + 16, 0, 1, 0, 0, 0, + 86, 6, 16, 0, 4, 0, + 0, 0, 140, 0, 0, 17, + 98, 0, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 22, 0, + 0, 0, 22, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 13, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 0, 0, + 166, 10, 16, 0, 2, 0, + 0, 0, 86, 6, 16, 0, + 4, 0, 0, 0, 35, 0, + 0, 12, 50, 0, 16, 0, + 4, 0, 0, 0, 6, 0, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 8, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 150, 5, 16, 0, + 4, 0, 0, 0, 140, 0, + 0, 11, 130, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 12, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 0, 7, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 140, 0, + 0, 11, 66, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 140, 0, + 0, 11, 66, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 21, 0, 0, 1, 35, 0, + 0, 10, 146, 0, 16, 0, + 0, 0, 0, 0, 6, 12, + 16, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 6, 4, + 16, 0, 1, 0, 0, 0, + 6, 4, 16, 0, 2, 0, + 0, 0, 38, 0, 0, 8, + 0, 208, 0, 0, 130, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 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, + 26, 0, 16, 0, 1, 0, + 0, 0, 58, 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, 4, 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, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 9, + 18, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 26, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 85, 0, 0, 10, + 50, 0, 16, 0, 0, 0, + 0, 0, 70, 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, + 45, 0, 0, 8, 242, 0, + 16, 0, 3, 0, 0, 0, + 6, 0, 16, 0, 0, 0, + 0, 0, 70, 126, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 32, 0, 0, 10, + 226, 0, 16, 0, 2, 0, + 0, 0, 166, 10, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 2, 0, + 0, 0, 3, 0, 0, 0, + 60, 0, 0, 7, 194, 0, + 16, 0, 0, 0, 0, 0, + 166, 14, 16, 0, 2, 0, + 0, 0, 86, 9, 16, 0, + 2, 0, 0, 0, 31, 0, + 4, 3, 42, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 10, 242, 0, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 85, 0, 0, 10, 242, 0, + 16, 0, 5, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 5, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 2, 64, 0, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 30, 0, 0, 7, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 21, 0, 0, 1, 31, 0, + 4, 3, 58, 0, 16, 0, + 0, 0, 0, 0, 85, 0, + 0, 10, 242, 0, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 140, 0, 0, 17, + 242, 0, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 21, 0, + 0, 1, 139, 0, 0, 15, + 242, 0, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 43, 0, 0, 5, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 56, 0, + 0, 10, 242, 0, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 0, 1, + 0, 56, 0, 1, 0, 56, + 0, 1, 0, 56, 0, 1, + 0, 56, 52, 0, 0, 10, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 128, 191, + 0, 0, 128, 191, 0, 0, + 128, 191, 0, 0, 128, 191, + 42, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 43, 0, + 0, 5, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 56, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 1, 0, 56, 0, 1, + 0, 56, 0, 1, 0, 56, + 0, 1, 0, 56, 52, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 128, 191, 0, 0, 128, 191, + 0, 0, 128, 191, 0, 0, + 128, 191, 130, 0, 0, 5, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 130, 0, + 0, 5, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 35, 0, 0, 12, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 70, 14, + 16, 0, 4, 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, 3, 0, + 0, 0, 30, 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, + 79, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 31, 0, + 4, 3, 58, 0, 16, 0, + 1, 0, 0, 0, 78, 0, + 0, 8, 130, 0, 16, 0, + 1, 0, 0, 0, 0, 208, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 35, 0, 0, 10, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 128, 65, 0, + 0, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 32, 0, 0, 7, + 18, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 31, 0, 4, 3, 10, 0, + 16, 0, 2, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 30, 0, 0, 8, + 18, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 128, + 65, 0, 0, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 18, 0, + 0, 1, 54, 0, 0, 5, + 18, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 21, 0, + 0, 1, 18, 0, 0, 1, + 54, 0, 0, 5, 18, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 32, 0, + 0, 0, 21, 0, 0, 1, + 38, 0, 0, 8, 0, 208, + 0, 0, 18, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 85, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 30, 0, 0, 7, 18, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 45, 0, + 0, 8, 242, 0, 16, 0, + 2, 0, 0, 0, 6, 0, + 16, 0, 0, 0, 0, 0, + 70, 126, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 31, 0, 4, 3, 42, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 85, 0, 0, 10, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 30, 0, + 0, 7, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 21, 0, 0, 1, + 31, 0, 4, 3, 58, 0, + 16, 0, 0, 0, 0, 0, + 85, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 140, 0, + 0, 17, 242, 0, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 2, 64, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 21, 0, 0, 1, 139, 0, + 0, 15, 242, 0, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 43, 0, + 0, 5, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 56, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 1, 0, 56, 0, 1, + 0, 56, 0, 1, 0, 56, + 0, 1, 0, 56, 52, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 128, 191, 0, 0, 128, 191, + 0, 0, 128, 191, 0, 0, + 128, 191, 42, 0, 0, 10, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 43, 0, 0, 5, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 56, 0, 0, 10, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 1, 0, 56, + 0, 1, 0, 56, 0, 1, + 0, 56, 0, 1, 0, 56, + 52, 0, 0, 10, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 128, 191, 0, 0, + 128, 191, 0, 0, 128, 191, + 0, 0, 128, 191, 130, 0, + 0, 5, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 130, 0, 0, 5, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 35, 0, 0, 12, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 164, 0, 0, 8, + 242, 224, 33, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 166, 10, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 62, 0, + 0, 1, 83, 84, 65, 84, + 148, 0, 0, 0, 147, 0, + 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 8, 0, 0, 0, + 50, 0, 0, 0, 25, 0, + 0, 0, 5, 0, 0, 0, + 8, 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, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 4, 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 +}; diff --git a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_rgba16_unorm_float_cs.h b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_rgba16_unorm_float_cs.h new file mode 100644 index 000000000..73368816c --- /dev/null +++ b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_rgba16_unorm_float_cs.h @@ -0,0 +1,1104 @@ +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 +// +// +// Buffer Definitions: +// +// cbuffer xe_texture_load_constants +// { +// +// uint xe_texture_load_is_tiled_3d_endian_scale;// Offset: 0 Size: 4 +// uint xe_texture_load_guest_offset; // Offset: 4 Size: 4 +// uint xe_texture_load_guest_pitch_aligned;// Offset: 8 Size: 4 +// uint xe_texture_load_guest_z_stride_block_rows_aligned;// Offset: 12 Size: 4 +// uint3 xe_texture_load_size_blocks; // Offset: 16 Size: 12 +// uint xe_texture_load_host_offset; // Offset: 28 Size: 4 +// uint xe_texture_load_host_pitch; // Offset: 32 Size: 4 +// uint xe_texture_load_height_texels;// Offset: 36 Size: 4 [unused] +// +// } +// +// +// Resource Bindings: +// +// Name Type Format Dim ID HLSL Bind Count +// ------------------------------ ---------- ------- ----------- ------- -------------- ------ +// xe_texture_load_source texture uint4 buf T0 t0 1 +// xe_texture_load_dest UAV uint4 buf U0 u0 1 +// xe_texture_load_constants cbuffer NA NA CB0 cb0 1 +// +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Input +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Output +cs_5_1 +dcl_globalFlags refactoringAllowed +dcl_constantbuffer CB0[0:0][3], immediateIndexed, space=0 +dcl_resource_buffer (uint,uint,uint,uint) T0[0:0], space=0 +dcl_uav_typed_buffer (uint,uint,uint,uint) U0[0:0], space=0 +dcl_input vThreadID.xyz +dcl_temps 5 +dcl_thread_group 8, 32, 1 +ishl r0.x, vThreadID.x, l(2) +mov r0.y, vThreadID.y +uge r0.yz, r0.xxyx, CB0[0][1].xxyx +or r0.y, r0.z, r0.y +if_nz r0.y + ret +endif +ishl r0.y, r0.x, l(3) +imad r0.z, vThreadID.z, CB0[0][1].y, vThreadID.y +imad r0.z, r0.z, CB0[0][2].x, r0.y +iadd r0.z, r0.z, CB0[0][1].w +and r0.w, CB0[0][0].x, l(1) +if_nz r0.w + and r1.x, CB0[0][0].x, l(2) + if_nz r1.x + ishr r1.xyz, vThreadID.yzyy, l(4, 2, 3, 0) + ushr r2.xy, CB0[0][0].wzww, l(4, 5, 0, 0) + imad r1.x, r1.y, r2.x, r1.x + ibfe r2.xz, l(27, 0, 29, 0), l(3, 0, 1, 0), vThreadID.xxxx + imad r1.x, r1.x, r2.y, r2.x + ishl r1.w, vThreadID.y, l(11) + and r1.w, r1.w, l(0x00003000) + bfi r1.w, l(3), l(9), r0.x, r1.w + ishr r1.w, r1.w, l(6) + iadd r1.y, r1.y, r1.z + bfi r1.z, l(1), l(1), r1.y, l(0) + iadd r1.z, r1.z, r2.z + bfi r1.z, l(2), l(1), r1.z, l(0) + bfi r1.y, l(1), l(0), r1.y, r1.z + bfi r1.xz, l(19, 0, 19, 0), l(11, 0, 14, 0), r1.xxxx, l(0, 0, 0, 0) + imad r1.xz, r1.wwww, l(2, 0, 16, 0), r1.xxzx + bfi r1.xz, l(2, 0, 2, 0), l(9, 0, 12, 0), vThreadID.zzzz, r1.xxzx + bfi r1.w, l(1), l(4), vThreadID.y, l(0) + ubfe r2.x, l(3), l(6), r1.x + and r2.y, r1.y, l(6) + bfi r1.y, l(1), l(8), r1.y, l(0) + imad r1.y, r2.x, l(32), r1.y + imad r1.y, r2.y, l(4), r1.y + bfi r1.xz, l(6, 0, 6, 0), l(0, 0, 3, 0), r1.wwww, r1.xxzx + bfi r1.y, l(9), l(3), r1.y, r1.z + bfi r1.x, l(6), l(0), r1.x, r1.y + else + ibfe r1.yz, l(0, 27, 29, 0), l(0, 3, 1, 0), vThreadID.xxxx + ishr r2.xy, vThreadID.yyyy, l(5, 2, 0, 0) + ushr r1.w, CB0[0][0].z, l(5) + imad r1.y, r2.x, r1.w, r1.y + ishl r2.xz, vThreadID.yyyy, l(6, 0, 7, 0) + and r2.xz, r2.xxzx, l(896, 0, 2048, 0) + bfi r1.w, l(3), l(4), r0.x, r2.x + bfi r1.w, l(22), l(10), r1.y, r1.w + bfi r2.w, l(1), l(4), vThreadID.y, l(0) + iadd r1.w, r1.w, r2.w + ishl r3.xy, r2.xxxx, l(3, 2, 0, 0) + bfi r3.xy, l(3, 3, 0, 0), l(7, 6, 0, 0), r0.xxxx, r3.xyxx + bfi r3.xy, l(22, 22, 0, 0), l(13, 12, 0, 0), r1.yyyy, r3.xyxx + imad r2.xw, r2.wwww, l(8, 0, 0, 4), r3.xxxy + bfi r0.x, l(12), l(0), r2.z, r2.x + and r1.y, r2.w, l(1792) + iadd r0.x, r0.x, r1.y + and r1.y, r2.y, l(2) + iadd r1.y, r1.z, r1.y + bfi r1.y, l(2), l(6), r1.y, l(0) + iadd r0.x, r0.x, r1.y + bfi r1.x, l(6), l(0), r1.w, r0.x + endif +else + imad r0.x, vThreadID.z, CB0[0][0].w, vThreadID.y + imad r1.x, r0.x, CB0[0][0].z, r0.y +endif +iadd r0.x, r1.x, CB0[0][0].y +ushr r0.xz, r0.xxzx, l(4, 0, 4, 0) +ubfe r0.y, l(2), l(2), CB0[0][0].x +ld r1.xyzw, r0.xxxx, T0[0].xyzw +ieq r2.xyz, r0.yyyy, l(1, 2, 3, 0) +or r2.xy, r2.yzyy, r2.xyxx +if_nz r2.x + ishl r3.xyzw, r1.xyzw, l(8, 8, 8, 8) + and r3.xyzw, r3.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) + ushr r4.xyzw, r1.xyzw, l(8, 8, 8, 8) + and r4.xyzw, r4.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) + iadd r1.xyzw, r3.xyzw, r4.xyzw +endif +if_nz r2.y + ushr r3.xyzw, r1.xyzw, l(16, 16, 16, 16) + bfi r1.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r1.xyzw, r3.xyzw +endif +and r3.xyzw, r1.xyzw, l(0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff) +utof r3.xyzw, r3.xyzw +mul r3.xyzw, r3.xyzw, l(0.000015, 0.000015, 0.000015, 0.000015) +ushr r1.xyzw, r1.xyzw, l(16, 16, 16, 16) +utof r1.xyzw, r1.xyzw +mul r1.xyzw, r1.xyzw, l(0.000015, 0.000015, 0.000015, 0.000015) +f32tof16 r3.xyzw, r3.xyzw +f32tof16 r1.xyzw, r1.xyzw +imad r1.xyzw, r1.xyzw, l(0x00010000, 0x00010000, 0x00010000, 0x00010000), r3.xyzw +store_uav_typed U0[0].xyzw, r0.zzzz, r1.xyzw +iadd r0.y, r0.z, l(1) +if_nz r0.w + mov r0.w, l(32) +else + mov r0.w, l(16) +endif +ushr r0.w, r0.w, l(4) +iadd r0.x, r0.w, r0.x +ld r1.xyzw, r0.xxxx, T0[0].xyzw +if_nz r2.x + ishl r3.xyzw, r1.xyzw, l(8, 8, 8, 8) + and r3.xyzw, r3.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) + ushr r4.xyzw, r1.xyzw, l(8, 8, 8, 8) + and r4.xyzw, r4.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) + iadd r1.xyzw, r3.xyzw, r4.xyzw +endif +if_nz r2.y + ushr r2.xyzw, r1.xyzw, l(16, 16, 16, 16) + bfi r1.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r1.xyzw, r2.xyzw +endif +and r2.xyzw, r1.xyzw, l(0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff) +utof r2.xyzw, r2.xyzw +mul r2.xyzw, r2.xyzw, l(0.000015, 0.000015, 0.000015, 0.000015) +ushr r1.xyzw, r1.xyzw, l(16, 16, 16, 16) +utof r1.xyzw, r1.xyzw +mul r1.xyzw, r1.xyzw, l(0.000015, 0.000015, 0.000015, 0.000015) +f32tof16 r2.xyzw, r2.xyzw +f32tof16 r1.xyzw, r1.xyzw +imad r1.xyzw, r1.xyzw, l(0x00010000, 0x00010000, 0x00010000, 0x00010000), r2.xyzw +store_uav_typed U0[0].xyzw, r0.yyyy, r1.xyzw +ret +// Approximately 127 instruction slots used +#endif + +const BYTE texture_load_rgba16_unorm_float_cs[] = +{ + 68, 88, 66, 67, 147, 28, + 136, 178, 186, 243, 81, 210, + 67, 134, 132, 64, 208, 151, + 255, 0, 1, 0, 0, 0, + 144, 21, 0, 0, 5, 0, + 0, 0, 52, 0, 0, 0, + 32, 4, 0, 0, 48, 4, + 0, 0, 64, 4, 0, 0, + 244, 20, 0, 0, 82, 68, + 69, 70, 228, 3, 0, 0, + 1, 0, 0, 0, 252, 0, + 0, 0, 3, 0, 0, 0, + 60, 0, 0, 0, 1, 5, + 83, 67, 0, 5, 0, 0, + 185, 3, 0, 0, 19, 19, + 68, 37, 60, 0, 0, 0, + 24, 0, 0, 0, 40, 0, + 0, 0, 40, 0, 0, 0, + 36, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 0, 0, + 180, 0, 0, 0, 2, 0, + 0, 0, 4, 0, 0, 0, + 1, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 1, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 203, 0, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 1, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 1, 0, + 0, 0, 12, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 224, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 120, 101, 95, 116, 101, 120, + 116, 117, 114, 101, 95, 108, + 111, 97, 100, 95, 115, 111, + 117, 114, 99, 101, 0, 120, + 101, 95, 116, 101, 120, 116, + 117, 114, 101, 95, 108, 111, + 97, 100, 95, 100, 101, 115, + 116, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 99, 111, 110, 115, 116, 97, + 110, 116, 115, 0, 171, 171, + 224, 0, 0, 0, 8, 0, + 0, 0, 20, 1, 0, 0, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 84, 2, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 168, 2, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 2, 0, + 0, 0, 132, 2, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 197, 2, 0, 0, + 8, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 132, 2, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 233, 2, 0, 0, 12, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 27, 3, + 0, 0, 16, 0, 0, 0, + 12, 0, 0, 0, 2, 0, + 0, 0, 64, 3, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 100, 3, 0, 0, + 28, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 132, 2, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 128, 3, 0, 0, 32, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 155, 3, + 0, 0, 36, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 132, 2, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 105, 115, 95, 116, 105, 108, + 101, 100, 95, 51, 100, 95, + 101, 110, 100, 105, 97, 110, + 95, 115, 99, 97, 108, 101, + 0, 100, 119, 111, 114, 100, + 0, 171, 0, 0, 19, 0, + 1, 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, 125, 2, + 0, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 103, 117, 101, 115, 116, 95, + 111, 102, 102, 115, 101, 116, + 0, 120, 101, 95, 116, 101, + 120, 116, 117, 114, 101, 95, + 108, 111, 97, 100, 95, 103, + 117, 101, 115, 116, 95, 112, + 105, 116, 99, 104, 95, 97, + 108, 105, 103, 110, 101, 100, + 0, 120, 101, 95, 116, 101, + 120, 116, 117, 114, 101, 95, + 108, 111, 97, 100, 95, 103, + 117, 101, 115, 116, 95, 122, + 95, 115, 116, 114, 105, 100, + 101, 95, 98, 108, 111, 99, + 107, 95, 114, 111, 119, 115, + 95, 97, 108, 105, 103, 110, + 101, 100, 0, 120, 101, 95, + 116, 101, 120, 116, 117, 114, + 101, 95, 108, 111, 97, 100, + 95, 115, 105, 122, 101, 95, + 98, 108, 111, 99, 107, 115, + 0, 117, 105, 110, 116, 51, + 0, 171, 171, 171, 1, 0, + 19, 0, 1, 0, 3, 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, + 55, 3, 0, 0, 120, 101, + 95, 116, 101, 120, 116, 117, + 114, 101, 95, 108, 111, 97, + 100, 95, 104, 111, 115, 116, + 95, 111, 102, 102, 115, 101, + 116, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 104, 111, 115, 116, 95, 112, + 105, 116, 99, 104, 0, 120, + 101, 95, 116, 101, 120, 116, + 117, 114, 101, 95, 108, 111, + 97, 100, 95, 104, 101, 105, + 103, 104, 116, 95, 116, 101, + 120, 101, 108, 115, 0, 77, + 105, 99, 114, 111, 115, 111, + 102, 116, 32, 40, 82, 41, + 32, 72, 76, 83, 76, 32, + 83, 104, 97, 100, 101, 114, + 32, 67, 111, 109, 112, 105, + 108, 101, 114, 32, 49, 48, + 46, 49, 0, 171, 171, 171, + 73, 83, 71, 78, 8, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 79, 83, + 71, 78, 8, 0, 0, 0, + 0, 0, 0, 0, 8, 0, + 0, 0, 83, 72, 69, 88, + 172, 16, 0, 0, 81, 0, + 5, 0, 43, 4, 0, 0, + 106, 8, 0, 1, 89, 0, + 0, 7, 70, 142, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 88, 8, 0, 7, + 70, 126, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 68, + 0, 0, 0, 0, 0, 0, + 156, 8, 0, 7, 70, 238, + 49, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 68, 68, 0, 0, + 0, 0, 0, 0, 95, 0, + 0, 2, 114, 0, 2, 0, + 104, 0, 0, 2, 5, 0, + 0, 0, 155, 0, 0, 4, + 8, 0, 0, 0, 32, 0, + 0, 0, 1, 0, 0, 0, + 41, 0, 0, 6, 18, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 2, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 54, 0, 0, 4, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 2, 0, 80, 0, + 0, 9, 98, 0, 16, 0, + 0, 0, 0, 0, 6, 1, + 16, 0, 0, 0, 0, 0, + 6, 129, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 60, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 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, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 35, 0, 0, 9, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 2, 0, + 26, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 26, 0, + 2, 0, 35, 0, 0, 11, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 9, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 58, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 9, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 31, 0, + 4, 3, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 0, + 0, 9, 18, 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, + 2, 0, 0, 0, 31, 0, + 4, 3, 10, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 0, 9, 114, 0, 16, 0, + 1, 0, 0, 0, 150, 5, + 2, 0, 2, 64, 0, 0, + 4, 0, 0, 0, 2, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 85, 0, + 0, 12, 50, 0, 16, 0, + 2, 0, 0, 0, 182, 143, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 4, 0, 0, 0, 5, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 35, 0, + 0, 9, 18, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 139, 0, + 0, 14, 82, 0, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 29, 0, + 0, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 6, 0, 2, 0, + 35, 0, 0, 9, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 41, 0, 0, 6, 130, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 2, 0, 1, 64, + 0, 0, 11, 0, 0, 0, + 1, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 0, 48, 0, 0, 140, 0, + 0, 11, 130, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 9, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 140, 0, 0, 11, + 66, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 140, 0, 0, 11, + 66, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 140, 0, + 0, 11, 34, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 140, 0, 0, 20, 82, 0, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 19, 0, + 0, 0, 0, 0, 0, 0, + 19, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 11, 0, 0, 0, 0, 0, + 0, 0, 14, 0, 0, 0, + 0, 0, 0, 0, 6, 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, 35, 0, 0, 12, + 82, 0, 16, 0, 1, 0, + 0, 0, 246, 15, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 6, 2, 16, 0, 1, 0, + 0, 0, 140, 0, 0, 16, + 82, 0, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 9, 0, 0, 0, + 0, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 0, 0, + 166, 10, 2, 0, 6, 2, + 16, 0, 1, 0, 0, 0, + 140, 0, 0, 10, 130, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 26, 0, + 2, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 138, 0, + 0, 9, 18, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 140, 0, 0, 11, + 34, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 35, 0, + 0, 9, 34, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 32, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 35, 0, + 0, 9, 34, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 140, 0, + 0, 17, 82, 0, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 246, 15, 16, 0, + 1, 0, 0, 0, 6, 2, + 16, 0, 1, 0, 0, 0, + 140, 0, 0, 11, 34, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 9, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 140, 0, 0, 11, + 18, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 18, 0, + 0, 1, 139, 0, 0, 14, + 98, 0, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 27, 0, + 0, 0, 29, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 6, 0, 2, 0, 42, 0, + 0, 9, 50, 0, 16, 0, + 2, 0, 0, 0, 86, 5, + 2, 0, 2, 64, 0, 0, + 5, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 85, 0, + 0, 9, 130, 0, 16, 0, + 1, 0, 0, 0, 42, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 35, 0, + 0, 9, 34, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 41, 0, + 0, 9, 82, 0, 16, 0, + 2, 0, 0, 0, 86, 5, + 2, 0, 2, 64, 0, 0, + 6, 0, 0, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 10, 82, 0, 16, 0, + 2, 0, 0, 0, 6, 2, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 128, 3, + 0, 0, 0, 0, 0, 0, + 0, 8, 0, 0, 0, 0, + 0, 0, 140, 0, 0, 11, + 130, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 140, 0, + 0, 11, 130, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 22, 0, 0, 0, + 1, 64, 0, 0, 10, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 140, 0, 0, 10, 130, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 26, 0, + 2, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 41, 0, 0, 10, + 50, 0, 16, 0, 3, 0, + 0, 0, 6, 0, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 3, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 140, 0, 0, 17, 50, 0, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 7, 0, 0, 0, 6, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6, 0, + 16, 0, 0, 0, 0, 0, + 70, 0, 16, 0, 3, 0, + 0, 0, 140, 0, 0, 17, + 50, 0, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 22, 0, 0, 0, 22, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 13, 0, 0, 0, + 12, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 86, 5, 16, 0, 1, 0, + 0, 0, 70, 0, 16, 0, + 3, 0, 0, 0, 35, 0, + 0, 12, 146, 0, 16, 0, + 2, 0, 0, 0, 246, 15, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 8, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 6, 4, 16, 0, + 3, 0, 0, 0, 140, 0, + 0, 11, 18, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 12, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 0, 0, 7, 34, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 0, 7, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 0, 0, 7, + 34, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 140, 0, + 0, 11, 34, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 18, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 140, 0, + 0, 11, 18, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 21, 0, 0, 1, 18, 0, + 0, 1, 35, 0, 0, 9, + 18, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 2, 0, + 58, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 26, 0, + 2, 0, 35, 0, 0, 11, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 42, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 21, 0, + 0, 1, 30, 0, 0, 9, + 18, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 26, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 85, 0, 0, 10, + 82, 0, 16, 0, 0, 0, + 0, 0, 6, 2, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 138, 0, 0, 11, 34, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 45, 0, 0, 8, + 242, 0, 16, 0, 1, 0, + 0, 0, 6, 0, 16, 0, + 0, 0, 0, 0, 70, 126, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 32, 0, + 0, 10, 114, 0, 16, 0, + 2, 0, 0, 0, 86, 5, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 1, 0, + 0, 0, 2, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 60, 0, 0, 7, + 50, 0, 16, 0, 2, 0, + 0, 0, 150, 5, 16, 0, + 2, 0, 0, 0, 70, 0, + 16, 0, 2, 0, 0, 0, + 31, 0, 4, 3, 10, 0, + 16, 0, 2, 0, 0, 0, + 41, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 85, 0, 0, 10, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 30, 0, + 0, 7, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 21, 0, 0, 1, + 31, 0, 4, 3, 26, 0, + 16, 0, 2, 0, 0, 0, + 85, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 140, 0, + 0, 17, 242, 0, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 2, 64, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 21, 0, 0, 1, 1, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 255, 255, + 0, 0, 255, 255, 0, 0, + 255, 255, 0, 0, 255, 255, + 0, 0, 86, 0, 0, 5, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 56, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 128, 0, + 128, 55, 128, 0, 128, 55, + 128, 0, 128, 55, 128, 0, + 128, 55, 85, 0, 0, 10, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 86, 0, 0, 5, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 56, 0, 0, 10, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 128, 0, 128, 55, + 128, 0, 128, 55, 128, 0, + 128, 55, 128, 0, 128, 55, + 130, 0, 0, 5, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 130, 0, 0, 5, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 35, 0, + 0, 12, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 70, 14, 16, 0, + 3, 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, 1, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 31, 0, + 4, 3, 58, 0, 16, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 32, 0, 0, 0, + 18, 0, 0, 1, 54, 0, + 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 21, 0, 0, 1, 85, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 4, 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, + 45, 0, 0, 8, 242, 0, + 16, 0, 1, 0, 0, 0, + 6, 0, 16, 0, 0, 0, + 0, 0, 70, 126, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 31, 0, 4, 3, + 10, 0, 16, 0, 2, 0, + 0, 0, 41, 0, 0, 10, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 85, 0, + 0, 10, 242, 0, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 30, 0, 0, 7, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 21, 0, + 0, 1, 31, 0, 4, 3, + 26, 0, 16, 0, 2, 0, + 0, 0, 85, 0, 0, 10, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 140, 0, 0, 17, 242, 0, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 2, 64, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 21, 0, 0, 1, + 1, 0, 0, 10, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 255, 255, 0, 0, 255, 255, + 0, 0, 255, 255, 0, 0, + 255, 255, 0, 0, 86, 0, + 0, 5, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 56, 0, 0, 10, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 128, 0, 128, 55, 128, 0, + 128, 55, 128, 0, 128, 55, + 128, 0, 128, 55, 85, 0, + 0, 10, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 86, 0, 0, 5, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 56, 0, + 0, 10, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 128, 0, + 128, 55, 128, 0, 128, 55, + 128, 0, 128, 55, 128, 0, + 128, 55, 130, 0, 0, 5, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 130, 0, + 0, 5, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 35, 0, 0, 12, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 70, 14, + 16, 0, 2, 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, 1, 0, + 0, 0, 62, 0, 0, 1, + 83, 84, 65, 84, 148, 0, + 0, 0, 127, 0, 0, 0, + 5, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 4, 0, 0, 0, 36, 0, + 0, 0, 26, 0, 0, 0, + 5, 0, 0, 0, 8, 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, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 4, 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 +}; diff --git a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_rgba16_unorm_float_scaled_cs.h b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_rgba16_unorm_float_scaled_cs.h new file mode 100644 index 000000000..af3616713 --- /dev/null +++ b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_rgba16_unorm_float_scaled_cs.h @@ -0,0 +1,1206 @@ +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 +// +// +// Buffer Definitions: +// +// cbuffer xe_texture_load_constants +// { +// +// uint xe_texture_load_is_tiled_3d_endian_scale;// Offset: 0 Size: 4 +// uint xe_texture_load_guest_offset; // Offset: 4 Size: 4 +// uint xe_texture_load_guest_pitch_aligned;// Offset: 8 Size: 4 +// uint xe_texture_load_guest_z_stride_block_rows_aligned;// Offset: 12 Size: 4 +// uint3 xe_texture_load_size_blocks; // Offset: 16 Size: 12 +// uint xe_texture_load_host_offset; // Offset: 28 Size: 4 +// uint xe_texture_load_host_pitch; // Offset: 32 Size: 4 +// uint xe_texture_load_height_texels;// Offset: 36 Size: 4 [unused] +// +// } +// +// +// Resource Bindings: +// +// Name Type Format Dim ID HLSL Bind Count +// ------------------------------ ---------- ------- ----------- ------- -------------- ------ +// xe_texture_load_source texture uint4 buf T0 t0 1 +// xe_texture_load_dest UAV uint4 buf U0 u0 1 +// xe_texture_load_constants cbuffer NA NA CB0 cb0 1 +// +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Input +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Output +cs_5_1 +dcl_globalFlags refactoringAllowed +dcl_constantbuffer CB0[0:0][3], immediateIndexed, space=0 +dcl_resource_buffer (uint,uint,uint,uint) T0[0:0], space=0 +dcl_uav_typed_buffer (uint,uint,uint,uint) U0[0:0], space=0 +dcl_input vThreadID.xyz +dcl_temps 6 +dcl_thread_group 8, 32, 1 +ishl r0.x, vThreadID.x, l(2) +mov r0.y, vThreadID.y +uge r0.yz, r0.xxyx, CB0[0][1].xxyx +or r0.y, r0.z, r0.y +if_nz r0.y + ret +endif +ishl r0.y, r0.x, l(3) +imad r0.z, vThreadID.z, CB0[0][1].y, vThreadID.y +imad r0.y, r0.z, CB0[0][2].x, r0.y +iadd r0.y, r0.y, CB0[0][1].w +and r0.z, CB0[0][0].x, l(2) +ubfe r1.xyz, l(2, 2, 2, 0), l(4, 6, 2, 0), CB0[0][0].xxxx +ushr r2.x, r0.x, l(1) +mov r2.y, vThreadID.y +udiv r0.xw, null, r2.xxxy, r1.xxxy +ishl r1.w, r0.x, l(1) +if_nz r0.z + ishr r2.zw, r0.wwww, l(0, 0, 4, 3) + ishr r0.z, vThreadID.z, l(2) + ushr r3.xy, CB0[0][0].wzww, l(4, 5, 0, 0) + imad r2.z, r0.z, r3.x, r2.z + ibfe r3.xz, l(27, 0, 29, 0), l(4, 0, 2, 0), r0.xxxx + imad r2.z, r2.z, r3.y, r3.x + ishl r3.x, r0.w, l(11) + and r3.x, r3.x, l(0x00003000) + bfi r3.x, l(3), l(9), r1.w, r3.x + ishr r3.x, r3.x, l(6) + iadd r0.z, r0.z, r2.w + bfi r2.w, l(1), l(1), r0.z, l(0) + iadd r2.w, r2.w, r3.z + bfi r2.w, l(2), l(1), r2.w, l(0) + bfi r0.z, l(1), l(0), r0.z, r2.w + bfi r2.zw, l(0, 0, 19, 19), l(0, 0, 11, 14), r2.zzzz, l(0, 0, 0, 0) + imad r2.zw, r3.xxxx, l(0, 0, 2, 16), r2.zzzw + bfi r2.zw, l(0, 0, 2, 2), l(0, 0, 9, 12), vThreadID.zzzz, r2.zzzw + bfi r3.x, l(1), l(4), r0.w, l(0) + ubfe r3.y, l(3), l(6), r2.z + and r3.z, r0.z, l(6) + bfi r0.z, l(1), l(8), r0.z, l(0) + imad r0.z, r3.y, l(32), r0.z + imad r0.z, r3.z, l(4), r0.z + bfi r2.zw, l(0, 0, 5, 5), l(0, 0, 0, 3), r3.xxxx, r2.zzzw + bfi r0.z, l(9), l(3), r0.z, r2.w + bfi r0.z, l(6), l(0), r2.z, r0.z +else + ibfe r2.zw, l(0, 0, 27, 29), l(0, 0, 4, 2), r0.xxxx + ishr r3.xy, r0.wwww, l(5, 2, 0, 0) + ushr r3.z, CB0[0][0].z, l(5) + imad r2.z, r3.x, r3.z, r2.z + ishl r3.xz, r0.wwww, l(6, 0, 7, 0) + and r3.xz, r3.xxzx, l(896, 0, 2048, 0) + bfi r3.w, l(3), l(4), r1.w, r3.x + bfi r3.w, l(22), l(10), r2.z, r3.w + bfi r4.x, l(1), l(4), r0.w, l(0) + iadd r3.w, r3.w, r4.x + ishl r4.yz, r3.xxxx, l(0, 3, 2, 0) + bfi r4.yz, l(0, 3, 3, 0), l(0, 7, 6, 0), r1.wwww, r4.yyzy + bfi r4.yz, l(0, 22, 22, 0), l(0, 13, 12, 0), r2.zzzz, r4.yyzy + imad r4.xy, r4.xxxx, l(8, 4, 0, 0), r4.yzyy + bfi r1.w, l(12), l(0), r3.z, r4.x + and r2.z, r4.y, l(1792) + iadd r1.w, r1.w, r2.z + and r2.z, r3.y, l(2) + iadd r2.z, r2.w, r2.z + bfi r2.z, l(2), l(6), r2.z, l(0) + iadd r1.w, r1.w, r2.z + bfi r0.z, l(6), l(0), r3.w, r1.w +endif +imad r0.xw, -r0.xxxw, r1.xxxy, r2.xxxy +imul null, r1.w, r1.y, r1.x +imad r0.x, r0.x, r1.y, r0.w +ishl r0.x, r0.x, l(4) +imad r0.x, r0.z, r1.w, r0.x +iadd r0.x, r0.x, CB0[0][0].y +ushr r0.xy, r0.xyxx, l(4, 4, 0, 0) +ld r3.xyzw, r0.xxxx, T0[0].xyzw +ieq r2.yzw, r1.zzzz, l(0, 1, 2, 3) +or r0.zw, r2.zzzw, r2.yyyz +if_nz r0.z + ishl r4.xyzw, r3.xyzw, l(8, 8, 8, 8) + and r4.xyzw, r4.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) + ushr r5.xyzw, r3.xyzw, l(8, 8, 8, 8) + and r5.xyzw, r5.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) + iadd r3.xyzw, r4.xyzw, r5.xyzw +endif +if_nz r0.w + ushr r4.xyzw, r3.xyzw, l(16, 16, 16, 16) + bfi r3.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r3.xyzw, r4.xyzw +endif +and r4.xyzw, r3.xyzw, l(0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff) +utof r4.xyzw, r4.xyzw +mul r4.xyzw, r4.xyzw, l(0.000015, 0.000015, 0.000015, 0.000015) +ushr r3.xyzw, r3.xyzw, l(16, 16, 16, 16) +utof r3.xyzw, r3.xyzw +mul r3.xyzw, r3.xyzw, l(0.000015, 0.000015, 0.000015, 0.000015) +f32tof16 r4.xyzw, r4.xyzw +f32tof16 r3.xyzw, r3.xyzw +imad r3.xyzw, r3.xyzw, l(0x00010000, 0x00010000, 0x00010000, 0x00010000), r4.xyzw +store_uav_typed U0[0].xyzw, r0.yyyy, r3.xyzw +iadd r1.z, r0.y, l(1) +ult r1.w, l(1), r1.x +if_nz r1.w + udiv r1.w, null, r2.x, r1.x + imad r1.w, -r1.w, r1.x, r2.x + iadd r2.x, r1.w, l(1) + ieq r2.x, r1.x, r2.x + if_nz r2.x + ishl r1.x, r1.x, l(5) + ishl r1.w, r1.w, l(4) + iadd r1.x, -r1.w, r1.x + else + mov r1.x, l(16) + endif +else + mov r1.x, l(32) +endif +imul null, r1.x, r1.y, r1.x +ushr r1.x, r1.x, l(4) +iadd r0.x, r0.x, r1.x +ld r2.xyzw, r0.xxxx, T0[0].xyzw +if_nz r0.z + ishl r3.xyzw, r2.xyzw, l(8, 8, 8, 8) + and r3.xyzw, r3.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) + ushr r4.xyzw, r2.xyzw, l(8, 8, 8, 8) + and r4.xyzw, r4.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) + iadd r2.xyzw, r3.xyzw, r4.xyzw +endif +if_nz r0.w + ushr r3.xyzw, r2.xyzw, l(16, 16, 16, 16) + bfi r2.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r2.xyzw, r3.xyzw +endif +and r3.xyzw, r2.xyzw, l(0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff) +utof r3.xyzw, r3.xyzw +mul r3.xyzw, r3.xyzw, l(0.000015, 0.000015, 0.000015, 0.000015) +ushr r2.xyzw, r2.xyzw, l(16, 16, 16, 16) +utof r2.xyzw, r2.xyzw +mul r2.xyzw, r2.xyzw, l(0.000015, 0.000015, 0.000015, 0.000015) +f32tof16 r3.xyzw, r3.xyzw +f32tof16 r2.xyzw, r2.xyzw +imad r2.xyzw, r2.xyzw, l(0x00010000, 0x00010000, 0x00010000, 0x00010000), r3.xyzw +store_uav_typed U0[0].xyzw, r1.zzzz, r2.xyzw +ret +// Approximately 143 instruction slots used +#endif + +const BYTE texture_load_rgba16_unorm_float_scaled_cs[] = +{ + 68, 88, 66, 67, 78, 163, + 84, 208, 189, 134, 83, 8, + 242, 151, 68, 185, 146, 223, + 239, 209, 1, 0, 0, 0, + 148, 23, 0, 0, 5, 0, + 0, 0, 52, 0, 0, 0, + 32, 4, 0, 0, 48, 4, + 0, 0, 64, 4, 0, 0, + 248, 22, 0, 0, 82, 68, + 69, 70, 228, 3, 0, 0, + 1, 0, 0, 0, 252, 0, + 0, 0, 3, 0, 0, 0, + 60, 0, 0, 0, 1, 5, + 83, 67, 0, 5, 0, 0, + 185, 3, 0, 0, 19, 19, + 68, 37, 60, 0, 0, 0, + 24, 0, 0, 0, 40, 0, + 0, 0, 40, 0, 0, 0, + 36, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 0, 0, + 180, 0, 0, 0, 2, 0, + 0, 0, 4, 0, 0, 0, + 1, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 1, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 203, 0, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 1, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 1, 0, + 0, 0, 12, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 224, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 120, 101, 95, 116, 101, 120, + 116, 117, 114, 101, 95, 108, + 111, 97, 100, 95, 115, 111, + 117, 114, 99, 101, 0, 120, + 101, 95, 116, 101, 120, 116, + 117, 114, 101, 95, 108, 111, + 97, 100, 95, 100, 101, 115, + 116, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 99, 111, 110, 115, 116, 97, + 110, 116, 115, 0, 171, 171, + 224, 0, 0, 0, 8, 0, + 0, 0, 20, 1, 0, 0, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 84, 2, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 168, 2, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 2, 0, + 0, 0, 132, 2, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 197, 2, 0, 0, + 8, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 132, 2, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 233, 2, 0, 0, 12, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 27, 3, + 0, 0, 16, 0, 0, 0, + 12, 0, 0, 0, 2, 0, + 0, 0, 64, 3, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 100, 3, 0, 0, + 28, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 132, 2, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 128, 3, 0, 0, 32, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 155, 3, + 0, 0, 36, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 132, 2, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 105, 115, 95, 116, 105, 108, + 101, 100, 95, 51, 100, 95, + 101, 110, 100, 105, 97, 110, + 95, 115, 99, 97, 108, 101, + 0, 100, 119, 111, 114, 100, + 0, 171, 0, 0, 19, 0, + 1, 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, 125, 2, + 0, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 103, 117, 101, 115, 116, 95, + 111, 102, 102, 115, 101, 116, + 0, 120, 101, 95, 116, 101, + 120, 116, 117, 114, 101, 95, + 108, 111, 97, 100, 95, 103, + 117, 101, 115, 116, 95, 112, + 105, 116, 99, 104, 95, 97, + 108, 105, 103, 110, 101, 100, + 0, 120, 101, 95, 116, 101, + 120, 116, 117, 114, 101, 95, + 108, 111, 97, 100, 95, 103, + 117, 101, 115, 116, 95, 122, + 95, 115, 116, 114, 105, 100, + 101, 95, 98, 108, 111, 99, + 107, 95, 114, 111, 119, 115, + 95, 97, 108, 105, 103, 110, + 101, 100, 0, 120, 101, 95, + 116, 101, 120, 116, 117, 114, + 101, 95, 108, 111, 97, 100, + 95, 115, 105, 122, 101, 95, + 98, 108, 111, 99, 107, 115, + 0, 117, 105, 110, 116, 51, + 0, 171, 171, 171, 1, 0, + 19, 0, 1, 0, 3, 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, + 55, 3, 0, 0, 120, 101, + 95, 116, 101, 120, 116, 117, + 114, 101, 95, 108, 111, 97, + 100, 95, 104, 111, 115, 116, + 95, 111, 102, 102, 115, 101, + 116, 0, 120, 101, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 108, 111, 97, 100, 95, + 104, 111, 115, 116, 95, 112, + 105, 116, 99, 104, 0, 120, + 101, 95, 116, 101, 120, 116, + 117, 114, 101, 95, 108, 111, + 97, 100, 95, 104, 101, 105, + 103, 104, 116, 95, 116, 101, + 120, 101, 108, 115, 0, 77, + 105, 99, 114, 111, 115, 111, + 102, 116, 32, 40, 82, 41, + 32, 72, 76, 83, 76, 32, + 83, 104, 97, 100, 101, 114, + 32, 67, 111, 109, 112, 105, + 108, 101, 114, 32, 49, 48, + 46, 49, 0, 171, 171, 171, + 73, 83, 71, 78, 8, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 79, 83, + 71, 78, 8, 0, 0, 0, + 0, 0, 0, 0, 8, 0, + 0, 0, 83, 72, 69, 88, + 176, 18, 0, 0, 81, 0, + 5, 0, 172, 4, 0, 0, + 106, 8, 0, 1, 89, 0, + 0, 7, 70, 142, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 88, 8, 0, 7, + 70, 126, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 68, + 0, 0, 0, 0, 0, 0, + 156, 8, 0, 7, 70, 238, + 49, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 68, 68, 0, 0, + 0, 0, 0, 0, 95, 0, + 0, 2, 114, 0, 2, 0, + 104, 0, 0, 2, 6, 0, + 0, 0, 155, 0, 0, 4, + 8, 0, 0, 0, 32, 0, + 0, 0, 1, 0, 0, 0, + 41, 0, 0, 6, 18, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 2, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 54, 0, 0, 4, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 2, 0, 80, 0, + 0, 9, 98, 0, 16, 0, + 0, 0, 0, 0, 6, 1, + 16, 0, 0, 0, 0, 0, + 6, 129, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 60, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 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, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 35, 0, 0, 9, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 2, 0, + 26, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 26, 0, + 2, 0, 35, 0, 0, 11, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 9, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 58, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 9, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 138, 0, + 0, 17, 114, 0, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 2, 0, 0, 0, + 2, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 4, 0, + 0, 0, 6, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 6, 128, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 85, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 54, 0, + 0, 4, 34, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 2, 0, 78, 0, 0, 8, + 146, 0, 16, 0, 0, 0, + 0, 0, 0, 208, 0, 0, + 6, 4, 16, 0, 2, 0, + 0, 0, 6, 4, 16, 0, + 1, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 31, 0, 4, 3, + 42, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 10, + 194, 0, 16, 0, 2, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 3, 0, 0, 0, + 42, 0, 0, 6, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 2, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 85, 0, 0, 12, 50, 0, + 16, 0, 3, 0, 0, 0, + 182, 143, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 4, 0, 0, 0, + 5, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 35, 0, 0, 9, 66, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 139, 0, 0, 15, 82, 0, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 27, 0, + 0, 0, 0, 0, 0, 0, + 29, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 6, 0, + 16, 0, 0, 0, 0, 0, + 35, 0, 0, 9, 66, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 11, 0, 0, 0, 1, 0, + 0, 7, 18, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 0, 48, + 0, 0, 140, 0, 0, 11, + 18, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 18, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 140, 0, 0, 11, 130, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 3, 0, 0, 0, + 140, 0, 0, 11, 130, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 140, 0, 0, 11, + 66, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 140, 0, + 0, 20, 194, 0, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 19, 0, + 0, 0, 19, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 11, 0, 0, 0, 14, 0, + 0, 0, 166, 10, 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, + 35, 0, 0, 12, 194, 0, + 16, 0, 2, 0, 0, 0, + 6, 0, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 16, 0, 0, 0, 166, 14, + 16, 0, 2, 0, 0, 0, + 140, 0, 0, 16, 194, 0, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 9, 0, 0, 0, + 12, 0, 0, 0, 166, 10, + 2, 0, 166, 14, 16, 0, + 2, 0, 0, 0, 140, 0, + 0, 11, 18, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 138, 0, 0, 9, 34, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 0, 0, 7, 66, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 140, 0, + 0, 11, 66, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 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, 1, 64, 0, 0, + 32, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 35, 0, 0, 9, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 140, 0, 0, 17, 194, 0, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 6, 0, + 16, 0, 3, 0, 0, 0, + 166, 14, 16, 0, 2, 0, + 0, 0, 140, 0, 0, 11, + 66, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 9, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 140, 0, + 0, 11, 66, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 18, 0, 0, 1, 139, 0, + 0, 15, 194, 0, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 27, 0, + 0, 0, 29, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 2, 0, + 0, 0, 6, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 10, 50, 0, 16, 0, + 3, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 5, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 85, 0, 0, 9, + 66, 0, 16, 0, 3, 0, + 0, 0, 42, 128, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 35, 0, 0, 9, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 41, 0, 0, 10, + 82, 0, 16, 0, 3, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 10, 82, 0, + 16, 0, 3, 0, 0, 0, + 6, 2, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 128, 3, 0, 0, 0, 0, + 0, 0, 0, 8, 0, 0, + 0, 0, 0, 0, 140, 0, + 0, 11, 130, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 140, 0, 0, 11, 130, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 22, 0, + 0, 0, 1, 64, 0, 0, + 10, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 3, 0, + 0, 0, 140, 0, 0, 11, + 18, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 3, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 41, 0, 0, 10, + 98, 0, 16, 0, 4, 0, + 0, 0, 6, 0, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 140, 0, 0, 17, 98, 0, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 246, 15, + 16, 0, 1, 0, 0, 0, + 86, 6, 16, 0, 4, 0, + 0, 0, 140, 0, 0, 17, + 98, 0, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 22, 0, + 0, 0, 22, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 13, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 0, 0, + 166, 10, 16, 0, 2, 0, + 0, 0, 86, 6, 16, 0, + 4, 0, 0, 0, 35, 0, + 0, 12, 50, 0, 16, 0, + 4, 0, 0, 0, 6, 0, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 8, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 150, 5, 16, 0, + 4, 0, 0, 0, 140, 0, + 0, 11, 130, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 12, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 0, 7, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 140, 0, + 0, 11, 66, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 140, 0, + 0, 11, 66, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 21, 0, 0, 1, 35, 0, + 0, 10, 146, 0, 16, 0, + 0, 0, 0, 0, 6, 12, + 16, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 6, 4, + 16, 0, 1, 0, 0, 0, + 6, 4, 16, 0, 2, 0, + 0, 0, 38, 0, 0, 8, + 0, 208, 0, 0, 130, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 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, + 26, 0, 16, 0, 1, 0, + 0, 0, 58, 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, 4, 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, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 9, + 18, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 26, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 85, 0, 0, 10, + 50, 0, 16, 0, 0, 0, + 0, 0, 70, 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, + 45, 0, 0, 8, 242, 0, + 16, 0, 3, 0, 0, 0, + 6, 0, 16, 0, 0, 0, + 0, 0, 70, 126, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 32, 0, 0, 10, + 226, 0, 16, 0, 2, 0, + 0, 0, 166, 10, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 2, 0, + 0, 0, 3, 0, 0, 0, + 60, 0, 0, 7, 194, 0, + 16, 0, 0, 0, 0, 0, + 166, 14, 16, 0, 2, 0, + 0, 0, 86, 9, 16, 0, + 2, 0, 0, 0, 31, 0, + 4, 3, 42, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 10, 242, 0, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 85, 0, 0, 10, 242, 0, + 16, 0, 5, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 5, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 2, 64, 0, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 30, 0, 0, 7, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 21, 0, 0, 1, 31, 0, + 4, 3, 58, 0, 16, 0, + 0, 0, 0, 0, 85, 0, + 0, 10, 242, 0, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 140, 0, 0, 17, + 242, 0, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 21, 0, + 0, 1, 1, 0, 0, 10, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 255, 255, 0, 0, + 255, 255, 0, 0, 255, 255, + 0, 0, 255, 255, 0, 0, + 86, 0, 0, 5, 242, 0, + 16, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 56, 0, 0, 10, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 128, 0, 128, 55, + 128, 0, 128, 55, 128, 0, + 128, 55, 128, 0, 128, 55, + 85, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 86, 0, + 0, 5, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 56, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 128, 0, 128, 55, 128, 0, + 128, 55, 128, 0, 128, 55, + 128, 0, 128, 55, 130, 0, + 0, 5, 242, 0, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 4, 0, 0, 0, + 130, 0, 0, 5, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 35, 0, 0, 12, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 70, 14, 16, 0, 4, 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, + 3, 0, 0, 0, 30, 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, 79, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 31, 0, 4, 3, 58, 0, + 16, 0, 1, 0, 0, 0, + 78, 0, 0, 8, 130, 0, + 16, 0, 1, 0, 0, 0, + 0, 208, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 35, 0, 0, 10, + 130, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 128, + 65, 0, 0, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 30, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 32, 0, + 0, 7, 18, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 31, 0, 4, 3, + 10, 0, 16, 0, 2, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 30, 0, + 0, 8, 18, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 128, 65, 0, 0, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 18, 0, 0, 1, 54, 0, + 0, 5, 18, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 21, 0, 0, 1, 18, 0, + 0, 1, 54, 0, 0, 5, + 18, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 32, 0, 0, 0, 21, 0, + 0, 1, 38, 0, 0, 8, + 0, 208, 0, 0, 18, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 85, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 30, 0, 0, 7, + 18, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 45, 0, 0, 8, 242, 0, + 16, 0, 2, 0, 0, 0, + 6, 0, 16, 0, 0, 0, + 0, 0, 70, 126, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 31, 0, 4, 3, + 42, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 10, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 85, 0, + 0, 10, 242, 0, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 30, 0, 0, 7, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 21, 0, + 0, 1, 31, 0, 4, 3, + 58, 0, 16, 0, 0, 0, + 0, 0, 85, 0, 0, 10, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 140, 0, 0, 17, 242, 0, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 2, 64, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 21, 0, 0, 1, + 1, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 255, 255, 0, 0, 255, 255, + 0, 0, 255, 255, 0, 0, + 255, 255, 0, 0, 86, 0, + 0, 5, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 56, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 128, 0, 128, 55, 128, 0, + 128, 55, 128, 0, 128, 55, + 128, 0, 128, 55, 85, 0, + 0, 10, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 86, 0, 0, 5, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 56, 0, + 0, 10, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 128, 0, + 128, 55, 128, 0, 128, 55, + 128, 0, 128, 55, 128, 0, + 128, 55, 130, 0, 0, 5, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 130, 0, + 0, 5, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 35, 0, 0, 12, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 164, 0, 0, 8, 242, 224, + 33, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 166, 10, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 62, 0, 0, 1, + 83, 84, 65, 84, 148, 0, + 0, 0, 143, 0, 0, 0, + 6, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 4, 0, 0, 0, 48, 0, + 0, 0, 29, 0, 0, 0, + 5, 0, 0, 0, 8, 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, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 4, 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 +}; diff --git a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_r16_snorm_float_cs.h b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_r16_snorm_float_cs.h new file mode 100644 index 000000000..221d7a916 --- /dev/null +++ b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_r16_snorm_float_cs.h @@ -0,0 +1,664 @@ +// Generated with `xb buildshaders`. +#if 0 +; SPIR-V +; Version: 1.0 +; Generator: Khronos Glslang Reference Front End; 10 +; Bound: 25179 +; Schema: 0 + OpCapability Shader + %1 = OpExtInstImport "GLSL.std.450" + OpMemoryModel Logical GLSL450 + OpEntryPoint GLCompute %5663 "main" %gl_GlobalInvocationID + OpExecutionMode %5663 LocalSize 2 32 1 + OpMemberDecorate %_struct_1161 0 Offset 0 + OpMemberDecorate %_struct_1161 1 Offset 4 + OpMemberDecorate %_struct_1161 2 Offset 8 + OpMemberDecorate %_struct_1161 3 Offset 12 + OpMemberDecorate %_struct_1161 4 Offset 16 + OpMemberDecorate %_struct_1161 5 Offset 28 + OpMemberDecorate %_struct_1161 6 Offset 32 + OpMemberDecorate %_struct_1161 7 Offset 36 + OpDecorate %_struct_1161 Block + OpDecorate %5245 DescriptorSet 2 + OpDecorate %5245 Binding 0 + 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 %5134 DescriptorSet 0 + OpDecorate %5134 Binding 0 + OpDecorate %_runtimearr_v4uint_0 ArrayStride 16 + OpMemberDecorate %_struct_1973 0 NonWritable + OpMemberDecorate %_struct_1973 0 Offset 0 + OpDecorate %_struct_1973 BufferBlock + OpDecorate %4218 DescriptorSet 1 + OpDecorate %4218 Binding 0 + OpDecorate %gl_WorkGroupSize BuiltIn WorkgroupSize + %void = OpTypeVoid + %1282 = OpTypeFunction %void + %uint = OpTypeInt 32 0 + %v4uint = OpTypeVector %uint 4 + %int = OpTypeInt 32 1 + %v2int = OpTypeVector %int 2 + %v3int = OpTypeVector %int 3 + %bool = OpTypeBool + %v3uint = OpTypeVector %uint 3 + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 + %float_n1 = OpConstant %float -1 + %1284 = OpConstantComposite %v4float %float_n1 %float_n1 %float_n1 %float_n1 + %v4int = OpTypeVector %int 4 + %int_16 = OpConstant %int 16 +%float_3_05185094en05 = OpConstant %float 3.05185094e-05 + %uint_0 = OpConstant %uint 0 + %v2float = OpTypeVector %float 2 + %uint_1 = OpConstant %uint 1 + %uint_2 = OpConstant %uint 2 + %uint_3 = OpConstant %uint 3 +%uint_16711935 = OpConstant %uint 16711935 + %uint_8 = OpConstant %uint 8 +%uint_4278255360 = OpConstant %uint 4278255360 + %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_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 + %uint_64 = OpConstant %uint 64 +%_struct_1161 = OpTypeStruct %uint %uint %uint %uint %v3uint %uint %uint %uint +%_ptr_Uniform__struct_1161 = OpTypePointer Uniform %_struct_1161 + %5245 = OpVariable %_ptr_Uniform__struct_1161 Uniform + %int_0 = OpConstant %int 0 +%_ptr_Uniform_uint = OpTypePointer Uniform %uint +%_ptr_Uniform_v3uint = OpTypePointer Uniform %v3uint + %v2uint = OpTypeVector %uint 2 +%_ptr_Input_v3uint = OpTypePointer Input %v3uint +%gl_GlobalInvocationID = OpVariable %_ptr_Input_v3uint Input + %2612 = OpConstantComposite %v3uint %uint_4 %uint_0 %uint_0 + %v2bool = OpTypeVector %bool 2 +%_runtimearr_v4uint = OpTypeRuntimeArray %v4uint +%_struct_1972 = OpTypeStruct %_runtimearr_v4uint +%_ptr_Uniform__struct_1972 = OpTypePointer Uniform %_struct_1972 + %5134 = OpVariable %_ptr_Uniform__struct_1972 Uniform +%_runtimearr_v4uint_0 = OpTypeRuntimeArray %v4uint +%_struct_1973 = OpTypeStruct %_runtimearr_v4uint_0 +%_ptr_Uniform__struct_1973 = OpTypePointer Uniform %_struct_1973 + %4218 = OpVariable %_ptr_Uniform__struct_1973 Uniform +%_ptr_Uniform_v4uint = OpTypePointer Uniform %v4uint +%gl_WorkGroupSize = OpConstantComposite %v3uint %uint_2 %uint_32 %uint_1 + %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 + %770 = OpConstantComposite %v4int %int_16 %int_16 %int_16 %int_16 + %uint_16 = OpConstant %uint 16 + %5663 = OpFunction %void None %1282 + %15110 = OpLabel + OpSelectionMerge %19578 None + OpSwitch %uint_0 %15137 + %15137 = OpLabel + %12591 = OpLoad %v3uint %gl_GlobalInvocationID + %10229 = OpShiftLeftLogical %v3uint %12591 %2612 + %25178 = OpAccessChain %_ptr_Uniform_v3uint %5245 %int_4 + %22965 = OpLoad %v3uint %25178 + %18835 = OpVectorShuffle %v2uint %10229 %10229 0 1 + %6626 = OpVectorShuffle %v2uint %22965 %22965 0 1 + %17032 = OpUGreaterThanEqual %v2bool %18835 %6626 + %24679 = OpAny %bool %17032 + OpSelectionMerge %6282 DontFlatten + OpBranchConditional %24679 %21992 %6282 + %21992 = OpLabel + OpBranch %19578 + %6282 = OpLabel + %6795 = OpBitcast %v3int %10229 + %18792 = OpAccessChain %_ptr_Uniform_uint %5245 %int_6 + %9788 = OpLoad %uint %18792 + %20376 = OpCompositeExtract %uint %22965 1 + %14692 = OpCompositeExtract %int %6795 0 + %22810 = OpIMul %int %14692 %int_2 + %6362 = OpCompositeExtract %int %6795 2 + %14505 = OpBitcast %int %20376 + %11279 = OpIMul %int %6362 %14505 + %17598 = OpCompositeExtract %int %6795 1 + %22228 = OpIAdd %int %11279 %17598 + %22405 = OpBitcast %int %9788 + %24535 = OpIMul %int %22228 %22405 + %7061 = OpIAdd %int %22810 %24535 + %19270 = OpBitcast %uint %7061 + %19460 = OpAccessChain %_ptr_Uniform_uint %5245 %int_5 + %22875 = OpLoad %uint %19460 + %8517 = OpIAdd %uint %19270 %22875 + %21670 = OpShiftRightLogical %uint %8517 %uint_4 + %20950 = OpAccessChain %_ptr_Uniform_uint %5245 %int_0 + %21411 = OpLoad %uint %20950 + %6381 = OpBitwiseAnd %uint %21411 %uint_1 + %10467 = OpINotEqual %bool %6381 %uint_0 + OpSelectionMerge %23266 DontFlatten + OpBranchConditional %10467 %10108 %10765 + %10108 = OpLabel + %23508 = OpBitwiseAnd %uint %21411 %uint_2 + %16300 = OpINotEqual %bool %23508 %uint_0 + OpSelectionMerge %7691 DontFlatten + OpBranchConditional %16300 %12129 %25128 + %12129 = OpLabel + %18210 = OpAccessChain %_ptr_Uniform_uint %5245 %int_2 + %15627 = OpLoad %uint %18210 + %22624 = OpAccessChain %_ptr_Uniform_uint %5245 %int_3 + %21535 = OpLoad %uint %22624 + %14923 = OpShiftRightArithmetic %int %17598 %int_4 + %18773 = OpShiftRightArithmetic %int %6362 %int_2 + %18759 = OpShiftRightLogical %uint %21535 %uint_4 + %6314 = OpBitcast %int %18759 + %21281 = OpIMul %int %18773 %6314 + %15143 = OpIAdd %int %14923 %21281 + %9032 = OpShiftRightLogical %uint %15627 %uint_5 + %14593 = OpBitcast %int %9032 + %8436 = OpIMul %int %15143 %14593 + %12986 = OpShiftRightArithmetic %int %14692 %int_5 + %24558 = OpIAdd %int %12986 %8436 + %8797 = OpShiftLeftLogical %int %24558 %uint_7 + %11510 = OpBitwiseAnd %int %8797 %int_268435455 + %18938 = OpShiftLeftLogical %int %11510 %int_1 + %19768 = OpBitwiseAnd %int %14692 %int_7 + %12600 = OpBitwiseAnd %int %17598 %int_6 + %17741 = OpShiftLeftLogical %int %12600 %int_2 + %17227 = OpIAdd %int %19768 %17741 + %7048 = OpShiftLeftLogical %int %17227 %uint_7 + %24035 = OpShiftRightArithmetic %int %7048 %int_6 + %8725 = OpShiftRightArithmetic %int %17598 %int_3 + %13731 = OpIAdd %int %8725 %18773 + %23052 = OpBitwiseAnd %int %13731 %int_1 + %16658 = OpShiftRightArithmetic %int %14692 %int_3 + %18794 = OpShiftLeftLogical %int %23052 %int_1 + %13501 = OpIAdd %int %16658 %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 %6362 %int_3 + %21579 = OpShiftLeftLogical %int %18356 %uint_7 + %16727 = OpIAdd %int %10332 %21579 + %19166 = OpBitwiseAnd %int %17598 %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 + %24224 = OpBitwiseAnd %int %16728 %int_63 + %21741 = OpIAdd %int %23348 %24224 + OpBranch %7691 + %25128 = OpLabel + %6796 = OpBitcast %v2int %18835 + %18793 = OpAccessChain %_ptr_Uniform_uint %5245 %int_2 + %11954 = OpLoad %uint %18793 + %18756 = OpCompositeExtract %int %6796 0 + %19701 = OpShiftRightArithmetic %int %18756 %int_5 + %10055 = OpCompositeExtract %int %6796 1 + %16476 = OpShiftRightArithmetic %int %10055 %int_5 + %23373 = OpShiftRightLogical %uint %11954 %uint_5 + %6315 = OpBitcast %int %23373 + %21319 = OpIMul %int %16476 %6315 + %16222 = OpIAdd %int %19701 %21319 + %19086 = OpShiftLeftLogical %int %16222 %uint_8 + %10934 = OpBitwiseAnd %int %18756 %int_7 + %12601 = OpBitwiseAnd %int %10055 %int_14 + %17742 = OpShiftLeftLogical %int %12601 %int_2 + %17303 = OpIAdd %int %10934 %17742 + %6375 = OpShiftLeftLogical %int %17303 %uint_1 + %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 %10055 %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 %10055 %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 %10055 %int_8 + %16831 = OpShiftRightArithmetic %int %20611 %int_2 + %7916 = OpShiftRightArithmetic %int %18756 %int_3 + %13750 = OpIAdd %int %16831 %7916 + %21587 = OpBitwiseAnd %int %13750 %int_3 + %21583 = OpShiftLeftLogical %int %21587 %int_6 + %15437 = OpIAdd %int %16708 %21583 + %14157 = OpBitwiseAnd %int %16729 %int_63 + %12098 = OpIAdd %int %15437 %14157 + OpBranch %7691 + %7691 = OpLabel + %10540 = OpPhi %int %21741 %12129 %12098 %25128 + OpBranch %23266 + %10765 = OpLabel + %20632 = OpAccessChain %_ptr_Uniform_uint %5245 %int_2 + %15628 = OpLoad %uint %20632 + %21275 = OpAccessChain %_ptr_Uniform_uint %5245 %int_3 + %13550 = OpLoad %uint %21275 + %15070 = OpBitcast %int %13550 + %18927 = OpIMul %int %6362 %15070 + %8334 = OpIAdd %int %18927 %17598 + %8952 = OpBitcast %int %15628 + %7839 = OpIMul %int %8334 %8952 + %7984 = OpIAdd %int %22810 %7839 + OpBranch %23266 + %23266 = OpLabel + %19748 = OpPhi %int %10540 %7691 %7984 %10765 + %24922 = OpAccessChain %_ptr_Uniform_uint %5245 %int_1 + %7502 = OpLoad %uint %24922 + %15686 = OpBitcast %int %7502 + %15579 = OpIAdd %int %15686 %19748 + %18556 = OpBitcast %uint %15579 + %21493 = OpShiftRightLogical %uint %18556 %uint_4 + %14997 = OpShiftRightLogical %uint %21411 %uint_2 + %8394 = OpBitwiseAnd %uint %14997 %uint_3 + %20727 = OpAccessChain %_ptr_Uniform_v4uint %4218 %int_0 %21493 + %9605 = OpLoad %v4uint %20727 + %21106 = OpIEqual %bool %8394 %uint_1 + OpSelectionMerge %12537 None + OpBranchConditional %21106 %10583 %12537 + %10583 = OpLabel + %18271 = OpBitwiseAnd %v4uint %9605 %2510 + %9425 = OpShiftLeftLogical %v4uint %18271 %317 + %20652 = OpBitwiseAnd %v4uint %9605 %1838 + %17549 = OpShiftRightLogical %v4uint %20652 %317 + %16376 = OpBitwiseOr %v4uint %9425 %17549 + OpBranch %12537 + %12537 = OpLabel + %12106 = OpPhi %v4uint %9605 %23266 %16376 %10583 + %15375 = OpBitcast %v4int %12106 + %16910 = OpShiftLeftLogical %v4int %15375 %770 + %16536 = OpShiftRightArithmetic %v4int %16910 %770 + %10903 = OpConvertSToF %v4float %16536 + %20413 = OpVectorTimesScalar %v4float %10903 %float_3_05185094en05 + %23989 = OpExtInst %v4float %1 FMax %1284 %20413 + %14338 = OpShiftRightArithmetic %v4int %15375 %770 + %6607 = OpConvertSToF %v4float %14338 + %18247 = OpVectorTimesScalar %v4float %6607 %float_3_05185094en05 + %24070 = OpExtInst %v4float %1 FMax %1284 %18247 + %24330 = OpCompositeExtract %float %23989 0 + %14319 = OpCompositeExtract %float %24070 0 + %19232 = OpCompositeConstruct %v2float %24330 %14319 + %8561 = OpExtInst %uint %1 PackHalf2x16 %19232 + %23487 = OpCompositeExtract %float %23989 1 + %14759 = OpCompositeExtract %float %24070 1 + %19233 = OpCompositeConstruct %v2float %23487 %14759 + %8562 = OpExtInst %uint %1 PackHalf2x16 %19233 + %23488 = OpCompositeExtract %float %23989 2 + %14760 = OpCompositeExtract %float %24070 2 + %19234 = OpCompositeConstruct %v2float %23488 %14760 + %8563 = OpExtInst %uint %1 PackHalf2x16 %19234 + %23489 = OpCompositeExtract %float %23989 3 + %14761 = OpCompositeExtract %float %24070 3 + %19213 = OpCompositeConstruct %v2float %23489 %14761 + %8430 = OpExtInst %uint %1 PackHalf2x16 %19213 + %15035 = OpCompositeConstruct %v4uint %8561 %8562 %8563 %8430 + %17859 = OpAccessChain %_ptr_Uniform_v4uint %5134 %int_0 %21670 + OpStore %17859 %15035 + %15044 = OpIAdd %uint %21670 %int_1 + %18776 = OpSelect %uint %10467 %uint_64 %uint_16 + %11803 = OpShiftRightLogical %uint %18776 %uint_4 + %13947 = OpIAdd %uint %21493 %11803 + %22298 = OpAccessChain %_ptr_Uniform_v4uint %4218 %int_0 %13947 + %6578 = OpLoad %v4uint %22298 + OpSelectionMerge %12538 None + OpBranchConditional %21106 %10584 %12538 + %10584 = OpLabel + %18272 = OpBitwiseAnd %v4uint %6578 %2510 + %9426 = OpShiftLeftLogical %v4uint %18272 %317 + %20653 = OpBitwiseAnd %v4uint %6578 %1838 + %17550 = OpShiftRightLogical %v4uint %20653 %317 + %16377 = OpBitwiseOr %v4uint %9426 %17550 + OpBranch %12538 + %12538 = OpLabel + %12107 = OpPhi %v4uint %6578 %12537 %16377 %10584 + %15376 = OpBitcast %v4int %12107 + %16911 = OpShiftLeftLogical %v4int %15376 %770 + %16537 = OpShiftRightArithmetic %v4int %16911 %770 + %10904 = OpConvertSToF %v4float %16537 + %20414 = OpVectorTimesScalar %v4float %10904 %float_3_05185094en05 + %23990 = OpExtInst %v4float %1 FMax %1284 %20414 + %14339 = OpShiftRightArithmetic %v4int %15376 %770 + %6608 = OpConvertSToF %v4float %14339 + %18248 = OpVectorTimesScalar %v4float %6608 %float_3_05185094en05 + %24071 = OpExtInst %v4float %1 FMax %1284 %18248 + %24331 = OpCompositeExtract %float %23990 0 + %14320 = OpCompositeExtract %float %24071 0 + %19235 = OpCompositeConstruct %v2float %24331 %14320 + %8564 = OpExtInst %uint %1 PackHalf2x16 %19235 + %23490 = OpCompositeExtract %float %23990 1 + %14762 = OpCompositeExtract %float %24071 1 + %19236 = OpCompositeConstruct %v2float %23490 %14762 + %8565 = OpExtInst %uint %1 PackHalf2x16 %19236 + %23491 = OpCompositeExtract %float %23990 2 + %14763 = OpCompositeExtract %float %24071 2 + %19237 = OpCompositeConstruct %v2float %23491 %14763 + %8566 = OpExtInst %uint %1 PackHalf2x16 %19237 + %23492 = OpCompositeExtract %float %23990 3 + %14764 = OpCompositeExtract %float %24071 3 + %19214 = OpCompositeConstruct %v2float %23492 %14764 + %8431 = OpExtInst %uint %1 PackHalf2x16 %19214 + %15036 = OpCompositeConstruct %v4uint %8564 %8565 %8566 %8431 + %20158 = OpAccessChain %_ptr_Uniform_v4uint %5134 %int_0 %15044 + OpStore %20158 %15036 + OpBranch %19578 + %19578 = OpLabel + OpReturn + OpFunctionEnd +#endif + +const uint32_t texture_load_r16_snorm_float_cs[] = { + 0x07230203, 0x00010000, 0x0008000A, 0x0000625B, 0x00000000, 0x00020011, + 0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E, + 0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0006000F, 0x00000005, + 0x0000161F, 0x6E69616D, 0x00000000, 0x00000F48, 0x00060010, 0x0000161F, + 0x00000011, 0x00000002, 0x00000020, 0x00000001, 0x00050048, 0x00000489, + 0x00000000, 0x00000023, 0x00000000, 0x00050048, 0x00000489, 0x00000001, + 0x00000023, 0x00000004, 0x00050048, 0x00000489, 0x00000002, 0x00000023, + 0x00000008, 0x00050048, 0x00000489, 0x00000003, 0x00000023, 0x0000000C, + 0x00050048, 0x00000489, 0x00000004, 0x00000023, 0x00000010, 0x00050048, + 0x00000489, 0x00000005, 0x00000023, 0x0000001C, 0x00050048, 0x00000489, + 0x00000006, 0x00000023, 0x00000020, 0x00050048, 0x00000489, 0x00000007, + 0x00000023, 0x00000024, 0x00030047, 0x00000489, 0x00000002, 0x00040047, + 0x0000147D, 0x00000022, 0x00000002, 0x00040047, 0x0000147D, 0x00000021, + 0x00000000, 0x00040047, 0x00000F48, 0x0000000B, 0x0000001C, 0x00040047, + 0x000007DC, 0x00000006, 0x00000010, 0x00040048, 0x000007B4, 0x00000000, + 0x00000019, 0x00050048, 0x000007B4, 0x00000000, 0x00000023, 0x00000000, + 0x00030047, 0x000007B4, 0x00000003, 0x00040047, 0x0000140E, 0x00000022, + 0x00000000, 0x00040047, 0x0000140E, 0x00000021, 0x00000000, 0x00040047, + 0x000007DD, 0x00000006, 0x00000010, 0x00040048, 0x000007B5, 0x00000000, + 0x00000018, 0x00050048, 0x000007B5, 0x00000000, 0x00000023, 0x00000000, + 0x00030047, 0x000007B5, 0x00000003, 0x00040047, 0x0000107A, 0x00000022, + 0x00000001, 0x00040047, 0x0000107A, 0x00000021, 0x00000000, 0x00040047, + 0x00000BB1, 0x0000000B, 0x00000019, 0x00020013, 0x00000008, 0x00030021, + 0x00000502, 0x00000008, 0x00040015, 0x0000000B, 0x00000020, 0x00000000, + 0x00040017, 0x00000017, 0x0000000B, 0x00000004, 0x00040015, 0x0000000C, + 0x00000020, 0x00000001, 0x00040017, 0x00000012, 0x0000000C, 0x00000002, + 0x00040017, 0x00000016, 0x0000000C, 0x00000003, 0x00020014, 0x00000009, + 0x00040017, 0x00000014, 0x0000000B, 0x00000003, 0x00030016, 0x0000000D, + 0x00000020, 0x00040017, 0x0000001D, 0x0000000D, 0x00000004, 0x0004002B, + 0x0000000D, 0x00000341, 0xBF800000, 0x0007002C, 0x0000001D, 0x00000504, + 0x00000341, 0x00000341, 0x00000341, 0x00000341, 0x00040017, 0x0000001A, + 0x0000000C, 0x00000004, 0x0004002B, 0x0000000C, 0x00000A3B, 0x00000010, + 0x0004002B, 0x0000000D, 0x00000A38, 0x38000100, 0x0004002B, 0x0000000B, + 0x00000A0A, 0x00000000, 0x00040017, 0x00000013, 0x0000000D, 0x00000002, + 0x0004002B, 0x0000000B, 0x00000A0D, 0x00000001, 0x0004002B, 0x0000000B, + 0x00000A10, 0x00000002, 0x0004002B, 0x0000000B, 0x00000A13, 0x00000003, + 0x0004002B, 0x0000000B, 0x000008A6, 0x00FF00FF, 0x0004002B, 0x0000000B, + 0x00000A22, 0x00000008, 0x0004002B, 0x0000000B, 0x000005FD, 0xFF00FF00, + 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, 0x00000A39, 0x0000000F, + 0x0004002B, 0x0000000C, 0x00000A17, 0x00000004, 0x0004002B, 0x0000000C, + 0x0000040B, 0xFFFFFE00, 0x0004002B, 0x0000000C, 0x00000A14, 0x00000003, + 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, 0x0004002B, 0x0000000B, 0x00000ACA, 0x00000040, + 0x000A001E, 0x00000489, 0x0000000B, 0x0000000B, 0x0000000B, 0x0000000B, + 0x00000014, 0x0000000B, 0x0000000B, 0x0000000B, 0x00040020, 0x00000706, + 0x00000002, 0x00000489, 0x0004003B, 0x00000706, 0x0000147D, 0x00000002, + 0x0004002B, 0x0000000C, 0x00000A0B, 0x00000000, 0x00040020, 0x00000288, + 0x00000002, 0x0000000B, 0x00040020, 0x00000291, 0x00000002, 0x00000014, + 0x00040017, 0x00000011, 0x0000000B, 0x00000002, 0x00040020, 0x00000292, + 0x00000001, 0x00000014, 0x0004003B, 0x00000292, 0x00000F48, 0x00000001, + 0x0006002C, 0x00000014, 0x00000A34, 0x00000A16, 0x00000A0A, 0x00000A0A, + 0x00040017, 0x0000000F, 0x00000009, 0x00000002, 0x0003001D, 0x000007DC, + 0x00000017, 0x0003001E, 0x000007B4, 0x000007DC, 0x00040020, 0x00000A31, + 0x00000002, 0x000007B4, 0x0004003B, 0x00000A31, 0x0000140E, 0x00000002, + 0x0003001D, 0x000007DD, 0x00000017, 0x0003001E, 0x000007B5, 0x000007DD, + 0x00040020, 0x00000A32, 0x00000002, 0x000007B5, 0x0004003B, 0x00000A32, + 0x0000107A, 0x00000002, 0x00040020, 0x00000294, 0x00000002, 0x00000017, + 0x0006002C, 0x00000014, 0x00000BB1, 0x00000A10, 0x00000A6A, 0x00000A0D, + 0x0007002C, 0x00000017, 0x000009CE, 0x000008A6, 0x000008A6, 0x000008A6, + 0x000008A6, 0x0007002C, 0x00000017, 0x0000013D, 0x00000A22, 0x00000A22, + 0x00000A22, 0x00000A22, 0x0007002C, 0x00000017, 0x0000072E, 0x000005FD, + 0x000005FD, 0x000005FD, 0x000005FD, 0x0007002C, 0x0000001A, 0x00000302, + 0x00000A3B, 0x00000A3B, 0x00000A3B, 0x00000A3B, 0x0004002B, 0x0000000B, + 0x00000A3A, 0x00000010, 0x00050036, 0x00000008, 0x0000161F, 0x00000000, + 0x00000502, 0x000200F8, 0x00003B06, 0x000300F7, 0x00004C7A, 0x00000000, + 0x000300FB, 0x00000A0A, 0x00003B21, 0x000200F8, 0x00003B21, 0x0004003D, + 0x00000014, 0x0000312F, 0x00000F48, 0x000500C4, 0x00000014, 0x000027F5, + 0x0000312F, 0x00000A34, 0x00050041, 0x00000291, 0x0000625A, 0x0000147D, + 0x00000A17, 0x0004003D, 0x00000014, 0x000059B5, 0x0000625A, 0x0007004F, + 0x00000011, 0x00004993, 0x000027F5, 0x000027F5, 0x00000000, 0x00000001, + 0x0007004F, 0x00000011, 0x000019E2, 0x000059B5, 0x000059B5, 0x00000000, + 0x00000001, 0x000500AE, 0x0000000F, 0x00004288, 0x00004993, 0x000019E2, + 0x0004009A, 0x00000009, 0x00006067, 0x00004288, 0x000300F7, 0x0000188A, + 0x00000002, 0x000400FA, 0x00006067, 0x000055E8, 0x0000188A, 0x000200F8, + 0x000055E8, 0x000200F9, 0x00004C7A, 0x000200F8, 0x0000188A, 0x0004007C, + 0x00000016, 0x00001A8B, 0x000027F5, 0x00050041, 0x00000288, 0x00004968, + 0x0000147D, 0x00000A1D, 0x0004003D, 0x0000000B, 0x0000263C, 0x00004968, + 0x00050051, 0x0000000B, 0x00004F98, 0x000059B5, 0x00000001, 0x00050051, + 0x0000000C, 0x00003964, 0x00001A8B, 0x00000000, 0x00050084, 0x0000000C, + 0x0000591A, 0x00003964, 0x00000A11, 0x00050051, 0x0000000C, 0x000018DA, + 0x00001A8B, 0x00000002, 0x0004007C, 0x0000000C, 0x000038A9, 0x00004F98, + 0x00050084, 0x0000000C, 0x00002C0F, 0x000018DA, 0x000038A9, 0x00050051, + 0x0000000C, 0x000044BE, 0x00001A8B, 0x00000001, 0x00050080, 0x0000000C, + 0x000056D4, 0x00002C0F, 0x000044BE, 0x0004007C, 0x0000000C, 0x00005785, + 0x0000263C, 0x00050084, 0x0000000C, 0x00005FD7, 0x000056D4, 0x00005785, + 0x00050080, 0x0000000C, 0x00001B95, 0x0000591A, 0x00005FD7, 0x0004007C, + 0x0000000B, 0x00004B46, 0x00001B95, 0x00050041, 0x00000288, 0x00004C04, + 0x0000147D, 0x00000A1A, 0x0004003D, 0x0000000B, 0x0000595B, 0x00004C04, + 0x00050080, 0x0000000B, 0x00002145, 0x00004B46, 0x0000595B, 0x000500C2, + 0x0000000B, 0x000054A6, 0x00002145, 0x00000A16, 0x00050041, 0x00000288, + 0x000051D6, 0x0000147D, 0x00000A0B, 0x0004003D, 0x0000000B, 0x000053A3, + 0x000051D6, 0x000500C7, 0x0000000B, 0x000018ED, 0x000053A3, 0x00000A0D, + 0x000500AB, 0x00000009, 0x000028E3, 0x000018ED, 0x00000A0A, 0x000300F7, + 0x00005AE2, 0x00000002, 0x000400FA, 0x000028E3, 0x0000277C, 0x00002A0D, + 0x000200F8, 0x0000277C, 0x000500C7, 0x0000000B, 0x00005BD4, 0x000053A3, + 0x00000A10, 0x000500AB, 0x00000009, 0x00003FAC, 0x00005BD4, 0x00000A0A, + 0x000300F7, 0x00001E0B, 0x00000002, 0x000400FA, 0x00003FAC, 0x00002F61, + 0x00006228, 0x000200F8, 0x00002F61, 0x00050041, 0x00000288, 0x00004722, + 0x0000147D, 0x00000A11, 0x0004003D, 0x0000000B, 0x00003D0B, 0x00004722, + 0x00050041, 0x00000288, 0x00005860, 0x0000147D, 0x00000A14, 0x0004003D, + 0x0000000B, 0x0000541F, 0x00005860, 0x000500C3, 0x0000000C, 0x00003A4B, + 0x000044BE, 0x00000A17, 0x000500C3, 0x0000000C, 0x00004955, 0x000018DA, + 0x00000A11, 0x000500C2, 0x0000000B, 0x00004947, 0x0000541F, 0x00000A16, + 0x0004007C, 0x0000000C, 0x000018AA, 0x00004947, 0x00050084, 0x0000000C, + 0x00005321, 0x00004955, 0x000018AA, 0x00050080, 0x0000000C, 0x00003B27, + 0x00003A4B, 0x00005321, 0x000500C2, 0x0000000B, 0x00002348, 0x00003D0B, + 0x00000A19, 0x0004007C, 0x0000000C, 0x00003901, 0x00002348, 0x00050084, + 0x0000000C, 0x000020F4, 0x00003B27, 0x00003901, 0x000500C3, 0x0000000C, + 0x000032BA, 0x00003964, 0x00000A1A, 0x00050080, 0x0000000C, 0x00005FEE, + 0x000032BA, 0x000020F4, 0x000500C4, 0x0000000C, 0x0000225D, 0x00005FEE, + 0x00000A1F, 0x000500C7, 0x0000000C, 0x00002CF6, 0x0000225D, 0x0000078B, + 0x000500C4, 0x0000000C, 0x000049FA, 0x00002CF6, 0x00000A0E, 0x000500C7, + 0x0000000C, 0x00004D38, 0x00003964, 0x00000A20, 0x000500C7, 0x0000000C, + 0x00003138, 0x000044BE, 0x00000A1D, 0x000500C4, 0x0000000C, 0x0000454D, + 0x00003138, 0x00000A11, 0x00050080, 0x0000000C, 0x0000434B, 0x00004D38, + 0x0000454D, 0x000500C4, 0x0000000C, 0x00001B88, 0x0000434B, 0x00000A1F, + 0x000500C3, 0x0000000C, 0x00005DE3, 0x00001B88, 0x00000A1D, 0x000500C3, + 0x0000000C, 0x00002215, 0x000044BE, 0x00000A14, 0x00050080, 0x0000000C, + 0x000035A3, 0x00002215, 0x00004955, 0x000500C7, 0x0000000C, 0x00005A0C, + 0x000035A3, 0x00000A0E, 0x000500C3, 0x0000000C, 0x00004112, 0x00003964, + 0x00000A14, 0x000500C4, 0x0000000C, 0x0000496A, 0x00005A0C, 0x00000A0E, + 0x00050080, 0x0000000C, 0x000034BD, 0x00004112, 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, 0x00000A39, 0x00050080, 0x0000000C, + 0x0000285C, 0x00005B31, 0x00005AEA, 0x000500C7, 0x0000000C, 0x000047B4, + 0x000018DA, 0x00000A14, 0x000500C4, 0x0000000C, 0x0000544B, 0x000047B4, + 0x00000A1F, 0x00050080, 0x0000000C, 0x00004157, 0x0000285C, 0x0000544B, + 0x000500C7, 0x0000000C, 0x00004ADE, 0x000044BE, 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, 0x00005EA0, + 0x00004158, 0x00000AC8, 0x00050080, 0x0000000C, 0x000054ED, 0x00005B34, + 0x00005EA0, 0x000200F9, 0x00001E0B, 0x000200F8, 0x00006228, 0x0004007C, + 0x00000012, 0x00001A8C, 0x00004993, 0x00050041, 0x00000288, 0x00004969, + 0x0000147D, 0x00000A11, 0x0004003D, 0x0000000B, 0x00002EB2, 0x00004969, + 0x00050051, 0x0000000C, 0x00004944, 0x00001A8C, 0x00000000, 0x000500C3, + 0x0000000C, 0x00004CF5, 0x00004944, 0x00000A1A, 0x00050051, 0x0000000C, + 0x00002747, 0x00001A8C, 0x00000001, 0x000500C3, 0x0000000C, 0x0000405C, + 0x00002747, 0x00000A1A, 0x000500C2, 0x0000000B, 0x00005B4D, 0x00002EB2, + 0x00000A19, 0x0004007C, 0x0000000C, 0x000018AB, 0x00005B4D, 0x00050084, + 0x0000000C, 0x00005347, 0x0000405C, 0x000018AB, 0x00050080, 0x0000000C, + 0x00003F5E, 0x00004CF5, 0x00005347, 0x000500C4, 0x0000000C, 0x00004A8E, + 0x00003F5E, 0x00000A22, 0x000500C7, 0x0000000C, 0x00002AB6, 0x00004944, + 0x00000A20, 0x000500C7, 0x0000000C, 0x00003139, 0x00002747, 0x00000A35, + 0x000500C4, 0x0000000C, 0x0000454E, 0x00003139, 0x00000A11, 0x00050080, + 0x0000000C, 0x00004397, 0x00002AB6, 0x0000454E, 0x000500C4, 0x0000000C, + 0x000018E7, 0x00004397, 0x00000A0D, 0x000500C7, 0x0000000C, 0x000027B1, + 0x000018E7, 0x000009DB, 0x000500C4, 0x0000000C, 0x00002F76, 0x000027B1, + 0x00000A0E, 0x00050080, 0x0000000C, 0x00003C4C, 0x00004A8E, 0x00002F76, + 0x000500C7, 0x0000000C, 0x00003397, 0x000018E7, 0x00000A39, 0x00050080, + 0x0000000C, 0x00004D30, 0x00003C4C, 0x00003397, 0x000500C7, 0x0000000C, + 0x000047B5, 0x00002747, 0x00000A0E, 0x000500C4, 0x0000000C, 0x0000544D, + 0x000047B5, 0x00000A17, 0x00050080, 0x0000000C, 0x00004159, 0x00004D30, + 0x0000544D, 0x000500C7, 0x0000000C, 0x00005022, 0x00004159, 0x0000040B, + 0x000500C4, 0x0000000C, 0x00002416, 0x00005022, 0x00000A14, 0x000500C7, + 0x0000000C, 0x00004A33, 0x00002747, 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, 0x00002747, 0x00000A23, 0x000500C3, 0x0000000C, + 0x000041BF, 0x00005083, 0x00000A11, 0x000500C3, 0x0000000C, 0x00001EEC, + 0x00004944, 0x00000A14, 0x00050080, 0x0000000C, 0x000035B6, 0x000041BF, + 0x00001EEC, 0x000500C7, 0x0000000C, 0x00005453, 0x000035B6, 0x00000A14, + 0x000500C4, 0x0000000C, 0x0000544F, 0x00005453, 0x00000A1D, 0x00050080, + 0x0000000C, 0x00003C4D, 0x00004144, 0x0000544F, 0x000500C7, 0x0000000C, + 0x0000374D, 0x00004159, 0x00000AC8, 0x00050080, 0x0000000C, 0x00002F42, + 0x00003C4D, 0x0000374D, 0x000200F9, 0x00001E0B, 0x000200F8, 0x00001E0B, + 0x000700F5, 0x0000000C, 0x0000292C, 0x000054ED, 0x00002F61, 0x00002F42, + 0x00006228, 0x000200F9, 0x00005AE2, 0x000200F8, 0x00002A0D, 0x00050041, + 0x00000288, 0x00005098, 0x0000147D, 0x00000A11, 0x0004003D, 0x0000000B, + 0x00003D0C, 0x00005098, 0x00050041, 0x00000288, 0x0000531B, 0x0000147D, + 0x00000A14, 0x0004003D, 0x0000000B, 0x000034EE, 0x0000531B, 0x0004007C, + 0x0000000C, 0x00003ADE, 0x000034EE, 0x00050084, 0x0000000C, 0x000049EF, + 0x000018DA, 0x00003ADE, 0x00050080, 0x0000000C, 0x0000208E, 0x000049EF, + 0x000044BE, 0x0004007C, 0x0000000C, 0x000022F8, 0x00003D0C, 0x00050084, + 0x0000000C, 0x00001E9F, 0x0000208E, 0x000022F8, 0x00050080, 0x0000000C, + 0x00001F30, 0x0000591A, 0x00001E9F, 0x000200F9, 0x00005AE2, 0x000200F8, + 0x00005AE2, 0x000700F5, 0x0000000C, 0x00004D24, 0x0000292C, 0x00001E0B, + 0x00001F30, 0x00002A0D, 0x00050041, 0x00000288, 0x0000615A, 0x0000147D, + 0x00000A0E, 0x0004003D, 0x0000000B, 0x00001D4E, 0x0000615A, 0x0004007C, + 0x0000000C, 0x00003D46, 0x00001D4E, 0x00050080, 0x0000000C, 0x00003CDB, + 0x00003D46, 0x00004D24, 0x0004007C, 0x0000000B, 0x0000487C, 0x00003CDB, + 0x000500C2, 0x0000000B, 0x000053F5, 0x0000487C, 0x00000A16, 0x000500C2, + 0x0000000B, 0x00003A95, 0x000053A3, 0x00000A10, 0x000500C7, 0x0000000B, + 0x000020CA, 0x00003A95, 0x00000A13, 0x00060041, 0x00000294, 0x000050F7, + 0x0000107A, 0x00000A0B, 0x000053F5, 0x0004003D, 0x00000017, 0x00002585, + 0x000050F7, 0x000500AA, 0x00000009, 0x00005272, 0x000020CA, 0x00000A0D, + 0x000300F7, 0x000030F9, 0x00000000, 0x000400FA, 0x00005272, 0x00002957, + 0x000030F9, 0x000200F8, 0x00002957, 0x000500C7, 0x00000017, 0x0000475F, + 0x00002585, 0x000009CE, 0x000500C4, 0x00000017, 0x000024D1, 0x0000475F, + 0x0000013D, 0x000500C7, 0x00000017, 0x000050AC, 0x00002585, 0x0000072E, + 0x000500C2, 0x00000017, 0x0000448D, 0x000050AC, 0x0000013D, 0x000500C5, + 0x00000017, 0x00003FF8, 0x000024D1, 0x0000448D, 0x000200F9, 0x000030F9, + 0x000200F8, 0x000030F9, 0x000700F5, 0x00000017, 0x00002F4A, 0x00002585, + 0x00005AE2, 0x00003FF8, 0x00002957, 0x0004007C, 0x0000001A, 0x00003C0F, + 0x00002F4A, 0x000500C4, 0x0000001A, 0x0000420E, 0x00003C0F, 0x00000302, + 0x000500C3, 0x0000001A, 0x00004098, 0x0000420E, 0x00000302, 0x0004006F, + 0x0000001D, 0x00002A97, 0x00004098, 0x0005008E, 0x0000001D, 0x00004FBD, + 0x00002A97, 0x00000A38, 0x0007000C, 0x0000001D, 0x00005DB5, 0x00000001, + 0x00000028, 0x00000504, 0x00004FBD, 0x000500C3, 0x0000001A, 0x00003802, + 0x00003C0F, 0x00000302, 0x0004006F, 0x0000001D, 0x000019CF, 0x00003802, + 0x0005008E, 0x0000001D, 0x00004747, 0x000019CF, 0x00000A38, 0x0007000C, + 0x0000001D, 0x00005E06, 0x00000001, 0x00000028, 0x00000504, 0x00004747, + 0x00050051, 0x0000000D, 0x00005F0A, 0x00005DB5, 0x00000000, 0x00050051, + 0x0000000D, 0x000037EF, 0x00005E06, 0x00000000, 0x00050050, 0x00000013, + 0x00004B20, 0x00005F0A, 0x000037EF, 0x0006000C, 0x0000000B, 0x00002171, + 0x00000001, 0x0000003A, 0x00004B20, 0x00050051, 0x0000000D, 0x00005BBF, + 0x00005DB5, 0x00000001, 0x00050051, 0x0000000D, 0x000039A7, 0x00005E06, + 0x00000001, 0x00050050, 0x00000013, 0x00004B21, 0x00005BBF, 0x000039A7, + 0x0006000C, 0x0000000B, 0x00002172, 0x00000001, 0x0000003A, 0x00004B21, + 0x00050051, 0x0000000D, 0x00005BC0, 0x00005DB5, 0x00000002, 0x00050051, + 0x0000000D, 0x000039A8, 0x00005E06, 0x00000002, 0x00050050, 0x00000013, + 0x00004B22, 0x00005BC0, 0x000039A8, 0x0006000C, 0x0000000B, 0x00002173, + 0x00000001, 0x0000003A, 0x00004B22, 0x00050051, 0x0000000D, 0x00005BC1, + 0x00005DB5, 0x00000003, 0x00050051, 0x0000000D, 0x000039A9, 0x00005E06, + 0x00000003, 0x00050050, 0x00000013, 0x00004B0D, 0x00005BC1, 0x000039A9, + 0x0006000C, 0x0000000B, 0x000020EE, 0x00000001, 0x0000003A, 0x00004B0D, + 0x00070050, 0x00000017, 0x00003ABB, 0x00002171, 0x00002172, 0x00002173, + 0x000020EE, 0x00060041, 0x00000294, 0x000045C3, 0x0000140E, 0x00000A0B, + 0x000054A6, 0x0003003E, 0x000045C3, 0x00003ABB, 0x00050080, 0x0000000B, + 0x00003AC4, 0x000054A6, 0x00000A0E, 0x000600A9, 0x0000000B, 0x00004958, + 0x000028E3, 0x00000ACA, 0x00000A3A, 0x000500C2, 0x0000000B, 0x00002E1B, + 0x00004958, 0x00000A16, 0x00050080, 0x0000000B, 0x0000367B, 0x000053F5, + 0x00002E1B, 0x00060041, 0x00000294, 0x0000571A, 0x0000107A, 0x00000A0B, + 0x0000367B, 0x0004003D, 0x00000017, 0x000019B2, 0x0000571A, 0x000300F7, + 0x000030FA, 0x00000000, 0x000400FA, 0x00005272, 0x00002958, 0x000030FA, + 0x000200F8, 0x00002958, 0x000500C7, 0x00000017, 0x00004760, 0x000019B2, + 0x000009CE, 0x000500C4, 0x00000017, 0x000024D2, 0x00004760, 0x0000013D, + 0x000500C7, 0x00000017, 0x000050AD, 0x000019B2, 0x0000072E, 0x000500C2, + 0x00000017, 0x0000448E, 0x000050AD, 0x0000013D, 0x000500C5, 0x00000017, + 0x00003FF9, 0x000024D2, 0x0000448E, 0x000200F9, 0x000030FA, 0x000200F8, + 0x000030FA, 0x000700F5, 0x00000017, 0x00002F4B, 0x000019B2, 0x000030F9, + 0x00003FF9, 0x00002958, 0x0004007C, 0x0000001A, 0x00003C10, 0x00002F4B, + 0x000500C4, 0x0000001A, 0x0000420F, 0x00003C10, 0x00000302, 0x000500C3, + 0x0000001A, 0x00004099, 0x0000420F, 0x00000302, 0x0004006F, 0x0000001D, + 0x00002A98, 0x00004099, 0x0005008E, 0x0000001D, 0x00004FBE, 0x00002A98, + 0x00000A38, 0x0007000C, 0x0000001D, 0x00005DB6, 0x00000001, 0x00000028, + 0x00000504, 0x00004FBE, 0x000500C3, 0x0000001A, 0x00003803, 0x00003C10, + 0x00000302, 0x0004006F, 0x0000001D, 0x000019D0, 0x00003803, 0x0005008E, + 0x0000001D, 0x00004748, 0x000019D0, 0x00000A38, 0x0007000C, 0x0000001D, + 0x00005E07, 0x00000001, 0x00000028, 0x00000504, 0x00004748, 0x00050051, + 0x0000000D, 0x00005F0B, 0x00005DB6, 0x00000000, 0x00050051, 0x0000000D, + 0x000037F0, 0x00005E07, 0x00000000, 0x00050050, 0x00000013, 0x00004B23, + 0x00005F0B, 0x000037F0, 0x0006000C, 0x0000000B, 0x00002174, 0x00000001, + 0x0000003A, 0x00004B23, 0x00050051, 0x0000000D, 0x00005BC2, 0x00005DB6, + 0x00000001, 0x00050051, 0x0000000D, 0x000039AA, 0x00005E07, 0x00000001, + 0x00050050, 0x00000013, 0x00004B24, 0x00005BC2, 0x000039AA, 0x0006000C, + 0x0000000B, 0x00002175, 0x00000001, 0x0000003A, 0x00004B24, 0x00050051, + 0x0000000D, 0x00005BC3, 0x00005DB6, 0x00000002, 0x00050051, 0x0000000D, + 0x000039AB, 0x00005E07, 0x00000002, 0x00050050, 0x00000013, 0x00004B25, + 0x00005BC3, 0x000039AB, 0x0006000C, 0x0000000B, 0x00002176, 0x00000001, + 0x0000003A, 0x00004B25, 0x00050051, 0x0000000D, 0x00005BC4, 0x00005DB6, + 0x00000003, 0x00050051, 0x0000000D, 0x000039AC, 0x00005E07, 0x00000003, + 0x00050050, 0x00000013, 0x00004B0E, 0x00005BC4, 0x000039AC, 0x0006000C, + 0x0000000B, 0x000020EF, 0x00000001, 0x0000003A, 0x00004B0E, 0x00070050, + 0x00000017, 0x00003ABC, 0x00002174, 0x00002175, 0x00002176, 0x000020EF, + 0x00060041, 0x00000294, 0x00004EBE, 0x0000140E, 0x00000A0B, 0x00003AC4, + 0x0003003E, 0x00004EBE, 0x00003ABC, 0x000200F9, 0x00004C7A, 0x000200F8, + 0x00004C7A, 0x000100FD, 0x00010038, +}; diff --git a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_r16_snorm_float_scaled_cs.h b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_r16_snorm_float_scaled_cs.h new file mode 100644 index 000000000..cc0f5a113 --- /dev/null +++ b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_r16_snorm_float_scaled_cs.h @@ -0,0 +1,734 @@ +// Generated with `xb buildshaders`. +#if 0 +; SPIR-V +; Version: 1.0 +; Generator: Khronos Glslang Reference Front End; 10 +; Bound: 25179 +; Schema: 0 + OpCapability Shader + %1 = OpExtInstImport "GLSL.std.450" + OpMemoryModel Logical GLSL450 + OpEntryPoint GLCompute %5663 "main" %gl_GlobalInvocationID + OpExecutionMode %5663 LocalSize 2 32 1 + OpMemberDecorate %_struct_1161 0 Offset 0 + OpMemberDecorate %_struct_1161 1 Offset 4 + OpMemberDecorate %_struct_1161 2 Offset 8 + OpMemberDecorate %_struct_1161 3 Offset 12 + OpMemberDecorate %_struct_1161 4 Offset 16 + OpMemberDecorate %_struct_1161 5 Offset 28 + OpMemberDecorate %_struct_1161 6 Offset 32 + OpMemberDecorate %_struct_1161 7 Offset 36 + OpDecorate %_struct_1161 Block + OpDecorate %5245 DescriptorSet 2 + OpDecorate %5245 Binding 0 + 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 %5134 DescriptorSet 0 + OpDecorate %5134 Binding 0 + OpDecorate %_runtimearr_v4uint_0 ArrayStride 16 + OpMemberDecorate %_struct_1973 0 NonWritable + OpMemberDecorate %_struct_1973 0 Offset 0 + OpDecorate %_struct_1973 BufferBlock + OpDecorate %4218 DescriptorSet 1 + OpDecorate %4218 Binding 0 + OpDecorate %gl_WorkGroupSize BuiltIn WorkgroupSize + %void = OpTypeVoid + %1282 = OpTypeFunction %void + %uint = OpTypeInt 32 0 + %v4uint = OpTypeVector %uint 4 + %int = OpTypeInt 32 1 + %v2int = OpTypeVector %int 2 + %v3int = OpTypeVector %int 3 + %bool = OpTypeBool + %v3uint = OpTypeVector %uint 3 + %v2uint = OpTypeVector %uint 2 + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 + %float_n1 = OpConstant %float -1 + %1284 = OpConstantComposite %v4float %float_n1 %float_n1 %float_n1 %float_n1 + %v4int = OpTypeVector %int 4 + %int_16 = OpConstant %int 16 +%float_3_05185094en05 = OpConstant %float 3.05185094e-05 + %uint_0 = OpConstant %uint 0 + %v2float = OpTypeVector %float 2 + %uint_1 = OpConstant %uint 1 + %uint_2 = OpConstant %uint 2 + %uint_3 = OpConstant %uint 3 +%uint_16711935 = OpConstant %uint 16711935 + %uint_8 = OpConstant %uint 8 +%uint_4278255360 = OpConstant %uint 4278255360 + %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_448 = OpConstant %int 448 + %int_8 = OpConstant %int 8 + %int_6 = OpConstant %int 6 + %int_63 = OpConstant %int 63 + %uint_4 = OpConstant %uint 4 + %uint_6 = OpConstant %uint 6 +%int_268435455 = OpConstant %int 268435455 + %int_n2 = OpConstant %int -2 + %uint_32 = OpConstant %uint 32 + %uint_64 = OpConstant %uint 64 +%_struct_1161 = OpTypeStruct %uint %uint %uint %uint %v3uint %uint %uint %uint +%_ptr_Uniform__struct_1161 = OpTypePointer Uniform %_struct_1161 + %5245 = OpVariable %_ptr_Uniform__struct_1161 Uniform + %int_0 = OpConstant %int 0 +%_ptr_Uniform_uint = OpTypePointer Uniform %uint + %1915 = OpConstantComposite %v2uint %uint_4 %uint_6 +%_ptr_Uniform_v3uint = OpTypePointer Uniform %v3uint +%_ptr_Input_v3uint = OpTypePointer Input %v3uint +%gl_GlobalInvocationID = OpVariable %_ptr_Input_v3uint Input + %2612 = OpConstantComposite %v3uint %uint_4 %uint_0 %uint_0 + %v2bool = OpTypeVector %bool 2 +%_runtimearr_v4uint = OpTypeRuntimeArray %v4uint +%_struct_1972 = OpTypeStruct %_runtimearr_v4uint +%_ptr_Uniform__struct_1972 = OpTypePointer Uniform %_struct_1972 + %5134 = OpVariable %_ptr_Uniform__struct_1972 Uniform +%_runtimearr_v4uint_0 = OpTypeRuntimeArray %v4uint +%_struct_1973 = OpTypeStruct %_runtimearr_v4uint_0 +%_ptr_Uniform__struct_1973 = OpTypePointer Uniform %_struct_1973 + %4218 = OpVariable %_ptr_Uniform__struct_1973 Uniform +%_ptr_Uniform_v4uint = OpTypePointer Uniform %v4uint +%gl_WorkGroupSize = OpConstantComposite %v3uint %uint_2 %uint_32 %uint_1 + %1870 = OpConstantComposite %v2uint %uint_3 %uint_3 + %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 + %770 = OpConstantComposite %v4int %int_16 %int_16 %int_16 %int_16 + %uint_16 = OpConstant %uint 16 + %5663 = OpFunction %void None %1282 + %15110 = OpLabel + OpSelectionMerge %19578 None + OpSwitch %uint_0 %15137 + %15137 = OpLabel + %12591 = OpLoad %v3uint %gl_GlobalInvocationID + %10229 = OpShiftLeftLogical %v3uint %12591 %2612 + %25178 = OpAccessChain %_ptr_Uniform_v3uint %5245 %int_4 + %22965 = OpLoad %v3uint %25178 + %18835 = OpVectorShuffle %v2uint %10229 %10229 0 1 + %6626 = OpVectorShuffle %v2uint %22965 %22965 0 1 + %17032 = OpUGreaterThanEqual %v2bool %18835 %6626 + %24679 = OpAny %bool %17032 + OpSelectionMerge %6282 DontFlatten + OpBranchConditional %24679 %21992 %6282 + %21992 = OpLabel + OpBranch %19578 + %6282 = OpLabel + %6795 = OpBitcast %v3int %10229 + %18792 = OpAccessChain %_ptr_Uniform_uint %5245 %int_6 + %9788 = OpLoad %uint %18792 + %20376 = OpCompositeExtract %uint %22965 1 + %14692 = OpCompositeExtract %int %6795 0 + %22810 = OpIMul %int %14692 %int_2 + %6362 = OpCompositeExtract %int %6795 2 + %14505 = OpBitcast %int %20376 + %11279 = OpIMul %int %6362 %14505 + %17598 = OpCompositeExtract %int %6795 1 + %22228 = OpIAdd %int %11279 %17598 + %22405 = OpBitcast %int %9788 + %24535 = OpIMul %int %22228 %22405 + %7061 = OpIAdd %int %22810 %24535 + %19270 = OpBitcast %uint %7061 + %19460 = OpAccessChain %_ptr_Uniform_uint %5245 %int_5 + %22875 = OpLoad %uint %19460 + %8517 = OpIAdd %uint %19270 %22875 + %21670 = OpShiftRightLogical %uint %8517 %uint_4 + %18404 = OpAccessChain %_ptr_Uniform_uint %5245 %int_1 + %23432 = OpLoad %uint %18404 + %22700 = OpAccessChain %_ptr_Uniform_uint %5245 %int_0 + %20387 = OpLoad %uint %22700 + %22279 = OpBitwiseAnd %uint %20387 %uint_2 + %19223 = OpINotEqual %bool %22279 %uint_0 + %17247 = OpCompositeConstruct %v2uint %20387 %20387 + %22947 = OpShiftRightLogical %v2uint %17247 %1915 + %6551 = OpBitwiseAnd %v2uint %22947 %1870 + %18732 = OpAccessChain %_ptr_Uniform_uint %5245 %int_2 + %24236 = OpLoad %uint %18732 + %20458 = OpAccessChain %_ptr_Uniform_uint %5245 %int_3 + %22167 = OpLoad %uint %20458 + %18929 = OpCompositeExtract %uint %10229 0 + %6638 = OpShiftRightLogical %uint %18929 %uint_3 + %9988 = OpCompositeExtract %uint %10229 1 + %23563 = OpCompositeConstruct %v2uint %6638 %9988 + %8041 = OpUDiv %v2uint %23563 %6551 + %13932 = OpCompositeExtract %uint %8041 0 + %19789 = OpShiftLeftLogical %uint %13932 %uint_3 + %20905 = OpCompositeExtract %uint %8041 1 + %23022 = OpCompositeExtract %uint %10229 2 + %9417 = OpCompositeConstruct %v3uint %19789 %20905 %23022 + OpSelectionMerge %21313 DontFlatten + OpBranchConditional %19223 %21373 %11737 + %21373 = OpLabel + %10608 = OpBitcast %v3int %9417 + %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 %22167 %uint_4 + %6314 = OpBitcast %int %23373 + %21281 = OpIMul %int %16476 %6314 + %15143 = OpIAdd %int %9469 %21281 + %9032 = OpShiftRightLogical %uint %24236 %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_7 + %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_7 + %24035 = OpShiftRightArithmetic %int %7048 %int_6 + %8725 = OpShiftRightArithmetic %int %17090 %int_3 + %13731 = OpIAdd %int %8725 %16476 + %23052 = OpBitwiseAnd %int %13731 %int_1 + %16658 = OpShiftRightArithmetic %int %25154 %int_3 + %18794 = OpShiftLeftLogical %int %23052 %int_1 + %13501 = OpIAdd %int %16658 %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_7 + %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 %9417 %9417 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 %24236 %uint_5 + %6315 = OpBitcast %int %23374 + %21319 = OpIMul %int %16477 %6315 + %16222 = OpIAdd %int %9470 %21319 + %19086 = OpShiftLeftLogical %int %16222 %uint_8 + %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_1 + %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 %8041 %6551 + %15292 = OpISub %v2uint %23563 %16296 + %7303 = OpCompositeExtract %uint %6551 0 + %22882 = OpCompositeExtract %uint %6551 1 + %13170 = OpIMul %uint %7303 %22882 + %15520 = OpIMul %uint %9468 %13170 + %16084 = OpCompositeExtract %uint %15292 0 + %15890 = OpIMul %uint %16084 %22882 + %6886 = OpCompositeExtract %uint %15292 1 + %11045 = OpIAdd %uint %15890 %6886 + %24733 = OpShiftLeftLogical %uint %11045 %uint_3 + %23219 = OpBitwiseAnd %uint %18929 %uint_7 + %9559 = OpIAdd %uint %24733 %23219 + %16557 = OpShiftLeftLogical %uint %9559 %uint_1 + %20138 = OpIAdd %uint %15520 %16557 + %17724 = OpIAdd %uint %23432 %20138 + %14040 = OpShiftRightLogical %uint %17724 %uint_4 + %11766 = OpShiftRightLogical %uint %20387 %uint_2 + %8394 = OpBitwiseAnd %uint %11766 %uint_3 + %20727 = OpAccessChain %_ptr_Uniform_v4uint %4218 %int_0 %14040 + %9605 = OpLoad %v4uint %20727 + %21106 = OpIEqual %bool %8394 %uint_1 + OpSelectionMerge %12537 None + OpBranchConditional %21106 %10583 %12537 + %10583 = OpLabel + %18271 = OpBitwiseAnd %v4uint %9605 %2510 + %9425 = OpShiftLeftLogical %v4uint %18271 %317 + %20652 = OpBitwiseAnd %v4uint %9605 %1838 + %17549 = OpShiftRightLogical %v4uint %20652 %317 + %16376 = OpBitwiseOr %v4uint %9425 %17549 + OpBranch %12537 + %12537 = OpLabel + %12106 = OpPhi %v4uint %9605 %21313 %16376 %10583 + %15375 = OpBitcast %v4int %12106 + %16910 = OpShiftLeftLogical %v4int %15375 %770 + %16536 = OpShiftRightArithmetic %v4int %16910 %770 + %10903 = OpConvertSToF %v4float %16536 + %20413 = OpVectorTimesScalar %v4float %10903 %float_3_05185094en05 + %23989 = OpExtInst %v4float %1 FMax %1284 %20413 + %14338 = OpShiftRightArithmetic %v4int %15375 %770 + %6607 = OpConvertSToF %v4float %14338 + %18247 = OpVectorTimesScalar %v4float %6607 %float_3_05185094en05 + %24070 = OpExtInst %v4float %1 FMax %1284 %18247 + %24330 = OpCompositeExtract %float %23989 0 + %14319 = OpCompositeExtract %float %24070 0 + %19232 = OpCompositeConstruct %v2float %24330 %14319 + %8561 = OpExtInst %uint %1 PackHalf2x16 %19232 + %23487 = OpCompositeExtract %float %23989 1 + %14759 = OpCompositeExtract %float %24070 1 + %19233 = OpCompositeConstruct %v2float %23487 %14759 + %8562 = OpExtInst %uint %1 PackHalf2x16 %19233 + %23488 = OpCompositeExtract %float %23989 2 + %14760 = OpCompositeExtract %float %24070 2 + %19234 = OpCompositeConstruct %v2float %23488 %14760 + %8563 = OpExtInst %uint %1 PackHalf2x16 %19234 + %23489 = OpCompositeExtract %float %23989 3 + %14761 = OpCompositeExtract %float %24070 3 + %19213 = OpCompositeConstruct %v2float %23489 %14761 + %8430 = OpExtInst %uint %1 PackHalf2x16 %19213 + %15035 = OpCompositeConstruct %v4uint %8561 %8562 %8563 %8430 + %17859 = OpAccessChain %_ptr_Uniform_v4uint %5134 %int_0 %21670 + OpStore %17859 %15035 + %15532 = OpIAdd %uint %21670 %int_1 + %6417 = OpUGreaterThan %bool %7303 %uint_1 + OpSelectionMerge %24764 DontFlatten + OpBranchConditional %6417 %20612 %20628 + %20612 = OpLabel + %13975 = OpUDiv %uint %6638 %7303 + %9086 = OpIMul %uint %13975 %7303 + %12657 = OpISub %uint %6638 %9086 + %9511 = OpIAdd %uint %12657 %uint_1 + %13375 = OpIEqual %bool %9511 %7303 + OpSelectionMerge %7917 None + OpBranchConditional %13375 %22174 %8593 + %22174 = OpLabel + %19289 = OpIMul %uint %uint_64 %7303 + %21519 = OpShiftLeftLogical %uint %12657 %uint_4 + %18756 = OpISub %uint %19289 %21519 + OpBranch %7917 + %8593 = OpLabel + OpBranch %7917 + %7917 = OpLabel + %10540 = OpPhi %uint %18756 %22174 %uint_16 %8593 + OpBranch %24764 + %20628 = OpLabel + OpBranch %24764 + %24764 = OpLabel + %10684 = OpPhi %uint %10540 %7917 %uint_64 %20628 + %18731 = OpIMul %uint %10684 %22882 + %16493 = OpShiftRightLogical %uint %18731 %uint_4 + %13163 = OpIAdd %uint %14040 %16493 + %22298 = OpAccessChain %_ptr_Uniform_v4uint %4218 %int_0 %13163 + %6578 = OpLoad %v4uint %22298 + OpSelectionMerge %12538 None + OpBranchConditional %21106 %10584 %12538 + %10584 = OpLabel + %18272 = OpBitwiseAnd %v4uint %6578 %2510 + %9426 = OpShiftLeftLogical %v4uint %18272 %317 + %20653 = OpBitwiseAnd %v4uint %6578 %1838 + %17550 = OpShiftRightLogical %v4uint %20653 %317 + %16377 = OpBitwiseOr %v4uint %9426 %17550 + OpBranch %12538 + %12538 = OpLabel + %12107 = OpPhi %v4uint %6578 %24764 %16377 %10584 + %15376 = OpBitcast %v4int %12107 + %16911 = OpShiftLeftLogical %v4int %15376 %770 + %16537 = OpShiftRightArithmetic %v4int %16911 %770 + %10904 = OpConvertSToF %v4float %16537 + %20414 = OpVectorTimesScalar %v4float %10904 %float_3_05185094en05 + %23990 = OpExtInst %v4float %1 FMax %1284 %20414 + %14339 = OpShiftRightArithmetic %v4int %15376 %770 + %6608 = OpConvertSToF %v4float %14339 + %18248 = OpVectorTimesScalar %v4float %6608 %float_3_05185094en05 + %24071 = OpExtInst %v4float %1 FMax %1284 %18248 + %24331 = OpCompositeExtract %float %23990 0 + %14320 = OpCompositeExtract %float %24071 0 + %19235 = OpCompositeConstruct %v2float %24331 %14320 + %8564 = OpExtInst %uint %1 PackHalf2x16 %19235 + %23490 = OpCompositeExtract %float %23990 1 + %14762 = OpCompositeExtract %float %24071 1 + %19236 = OpCompositeConstruct %v2float %23490 %14762 + %8565 = OpExtInst %uint %1 PackHalf2x16 %19236 + %23491 = OpCompositeExtract %float %23990 2 + %14763 = OpCompositeExtract %float %24071 2 + %19237 = OpCompositeConstruct %v2float %23491 %14763 + %8566 = OpExtInst %uint %1 PackHalf2x16 %19237 + %23492 = OpCompositeExtract %float %23990 3 + %14764 = OpCompositeExtract %float %24071 3 + %19214 = OpCompositeConstruct %v2float %23492 %14764 + %8431 = OpExtInst %uint %1 PackHalf2x16 %19214 + %15036 = OpCompositeConstruct %v4uint %8564 %8565 %8566 %8431 + %20158 = OpAccessChain %_ptr_Uniform_v4uint %5134 %int_0 %15532 + OpStore %20158 %15036 + OpBranch %19578 + %19578 = OpLabel + OpReturn + OpFunctionEnd +#endif + +const uint32_t texture_load_r16_snorm_float_scaled_cs[] = { + 0x07230203, 0x00010000, 0x0008000A, 0x0000625B, 0x00000000, 0x00020011, + 0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E, + 0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0006000F, 0x00000005, + 0x0000161F, 0x6E69616D, 0x00000000, 0x00000F48, 0x00060010, 0x0000161F, + 0x00000011, 0x00000002, 0x00000020, 0x00000001, 0x00050048, 0x00000489, + 0x00000000, 0x00000023, 0x00000000, 0x00050048, 0x00000489, 0x00000001, + 0x00000023, 0x00000004, 0x00050048, 0x00000489, 0x00000002, 0x00000023, + 0x00000008, 0x00050048, 0x00000489, 0x00000003, 0x00000023, 0x0000000C, + 0x00050048, 0x00000489, 0x00000004, 0x00000023, 0x00000010, 0x00050048, + 0x00000489, 0x00000005, 0x00000023, 0x0000001C, 0x00050048, 0x00000489, + 0x00000006, 0x00000023, 0x00000020, 0x00050048, 0x00000489, 0x00000007, + 0x00000023, 0x00000024, 0x00030047, 0x00000489, 0x00000002, 0x00040047, + 0x0000147D, 0x00000022, 0x00000002, 0x00040047, 0x0000147D, 0x00000021, + 0x00000000, 0x00040047, 0x00000F48, 0x0000000B, 0x0000001C, 0x00040047, + 0x000007DC, 0x00000006, 0x00000010, 0x00040048, 0x000007B4, 0x00000000, + 0x00000019, 0x00050048, 0x000007B4, 0x00000000, 0x00000023, 0x00000000, + 0x00030047, 0x000007B4, 0x00000003, 0x00040047, 0x0000140E, 0x00000022, + 0x00000000, 0x00040047, 0x0000140E, 0x00000021, 0x00000000, 0x00040047, + 0x000007DD, 0x00000006, 0x00000010, 0x00040048, 0x000007B5, 0x00000000, + 0x00000018, 0x00050048, 0x000007B5, 0x00000000, 0x00000023, 0x00000000, + 0x00030047, 0x000007B5, 0x00000003, 0x00040047, 0x0000107A, 0x00000022, + 0x00000001, 0x00040047, 0x0000107A, 0x00000021, 0x00000000, 0x00040047, + 0x00000BB1, 0x0000000B, 0x00000019, 0x00020013, 0x00000008, 0x00030021, + 0x00000502, 0x00000008, 0x00040015, 0x0000000B, 0x00000020, 0x00000000, + 0x00040017, 0x00000017, 0x0000000B, 0x00000004, 0x00040015, 0x0000000C, + 0x00000020, 0x00000001, 0x00040017, 0x00000012, 0x0000000C, 0x00000002, + 0x00040017, 0x00000016, 0x0000000C, 0x00000003, 0x00020014, 0x00000009, + 0x00040017, 0x00000014, 0x0000000B, 0x00000003, 0x00040017, 0x00000011, + 0x0000000B, 0x00000002, 0x00030016, 0x0000000D, 0x00000020, 0x00040017, + 0x0000001D, 0x0000000D, 0x00000004, 0x0004002B, 0x0000000D, 0x00000341, + 0xBF800000, 0x0007002C, 0x0000001D, 0x00000504, 0x00000341, 0x00000341, + 0x00000341, 0x00000341, 0x00040017, 0x0000001A, 0x0000000C, 0x00000004, + 0x0004002B, 0x0000000C, 0x00000A3B, 0x00000010, 0x0004002B, 0x0000000D, + 0x00000A38, 0x38000100, 0x0004002B, 0x0000000B, 0x00000A0A, 0x00000000, + 0x00040017, 0x00000013, 0x0000000D, 0x00000002, 0x0004002B, 0x0000000B, + 0x00000A0D, 0x00000001, 0x0004002B, 0x0000000B, 0x00000A10, 0x00000002, + 0x0004002B, 0x0000000B, 0x00000A13, 0x00000003, 0x0004002B, 0x0000000B, + 0x000008A6, 0x00FF00FF, 0x0004002B, 0x0000000B, 0x00000A22, 0x00000008, + 0x0004002B, 0x0000000B, 0x000005FD, 0xFF00FF00, 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, 0x00000A39, 0x0000000F, 0x0004002B, 0x0000000C, + 0x00000A17, 0x00000004, 0x0004002B, 0x0000000C, 0x0000040B, 0xFFFFFE00, + 0x0004002B, 0x0000000C, 0x00000A14, 0x00000003, 0x0004002B, 0x0000000C, + 0x00000388, 0x000001C0, 0x0004002B, 0x0000000C, 0x00000A23, 0x00000008, + 0x0004002B, 0x0000000C, 0x00000A1D, 0x00000006, 0x0004002B, 0x0000000C, + 0x00000AC8, 0x0000003F, 0x0004002B, 0x0000000B, 0x00000A16, 0x00000004, + 0x0004002B, 0x0000000B, 0x00000A1C, 0x00000006, 0x0004002B, 0x0000000C, + 0x0000078B, 0x0FFFFFFF, 0x0004002B, 0x0000000C, 0x00000A05, 0xFFFFFFFE, + 0x0004002B, 0x0000000B, 0x00000A6A, 0x00000020, 0x0004002B, 0x0000000B, + 0x00000ACA, 0x00000040, 0x000A001E, 0x00000489, 0x0000000B, 0x0000000B, + 0x0000000B, 0x0000000B, 0x00000014, 0x0000000B, 0x0000000B, 0x0000000B, + 0x00040020, 0x00000706, 0x00000002, 0x00000489, 0x0004003B, 0x00000706, + 0x0000147D, 0x00000002, 0x0004002B, 0x0000000C, 0x00000A0B, 0x00000000, + 0x00040020, 0x00000288, 0x00000002, 0x0000000B, 0x0005002C, 0x00000011, + 0x0000077B, 0x00000A16, 0x00000A1C, 0x00040020, 0x00000291, 0x00000002, + 0x00000014, 0x00040020, 0x00000292, 0x00000001, 0x00000014, 0x0004003B, + 0x00000292, 0x00000F48, 0x00000001, 0x0006002C, 0x00000014, 0x00000A34, + 0x00000A16, 0x00000A0A, 0x00000A0A, 0x00040017, 0x0000000F, 0x00000009, + 0x00000002, 0x0003001D, 0x000007DC, 0x00000017, 0x0003001E, 0x000007B4, + 0x000007DC, 0x00040020, 0x00000A31, 0x00000002, 0x000007B4, 0x0004003B, + 0x00000A31, 0x0000140E, 0x00000002, 0x0003001D, 0x000007DD, 0x00000017, + 0x0003001E, 0x000007B5, 0x000007DD, 0x00040020, 0x00000A32, 0x00000002, + 0x000007B5, 0x0004003B, 0x00000A32, 0x0000107A, 0x00000002, 0x00040020, + 0x00000294, 0x00000002, 0x00000017, 0x0006002C, 0x00000014, 0x00000BB1, + 0x00000A10, 0x00000A6A, 0x00000A0D, 0x0005002C, 0x00000011, 0x0000074E, + 0x00000A13, 0x00000A13, 0x0007002C, 0x00000017, 0x000009CE, 0x000008A6, + 0x000008A6, 0x000008A6, 0x000008A6, 0x0007002C, 0x00000017, 0x0000013D, + 0x00000A22, 0x00000A22, 0x00000A22, 0x00000A22, 0x0007002C, 0x00000017, + 0x0000072E, 0x000005FD, 0x000005FD, 0x000005FD, 0x000005FD, 0x0007002C, + 0x0000001A, 0x00000302, 0x00000A3B, 0x00000A3B, 0x00000A3B, 0x00000A3B, + 0x0004002B, 0x0000000B, 0x00000A3A, 0x00000010, 0x00050036, 0x00000008, + 0x0000161F, 0x00000000, 0x00000502, 0x000200F8, 0x00003B06, 0x000300F7, + 0x00004C7A, 0x00000000, 0x000300FB, 0x00000A0A, 0x00003B21, 0x000200F8, + 0x00003B21, 0x0004003D, 0x00000014, 0x0000312F, 0x00000F48, 0x000500C4, + 0x00000014, 0x000027F5, 0x0000312F, 0x00000A34, 0x00050041, 0x00000291, + 0x0000625A, 0x0000147D, 0x00000A17, 0x0004003D, 0x00000014, 0x000059B5, + 0x0000625A, 0x0007004F, 0x00000011, 0x00004993, 0x000027F5, 0x000027F5, + 0x00000000, 0x00000001, 0x0007004F, 0x00000011, 0x000019E2, 0x000059B5, + 0x000059B5, 0x00000000, 0x00000001, 0x000500AE, 0x0000000F, 0x00004288, + 0x00004993, 0x000019E2, 0x0004009A, 0x00000009, 0x00006067, 0x00004288, + 0x000300F7, 0x0000188A, 0x00000002, 0x000400FA, 0x00006067, 0x000055E8, + 0x0000188A, 0x000200F8, 0x000055E8, 0x000200F9, 0x00004C7A, 0x000200F8, + 0x0000188A, 0x0004007C, 0x00000016, 0x00001A8B, 0x000027F5, 0x00050041, + 0x00000288, 0x00004968, 0x0000147D, 0x00000A1D, 0x0004003D, 0x0000000B, + 0x0000263C, 0x00004968, 0x00050051, 0x0000000B, 0x00004F98, 0x000059B5, + 0x00000001, 0x00050051, 0x0000000C, 0x00003964, 0x00001A8B, 0x00000000, + 0x00050084, 0x0000000C, 0x0000591A, 0x00003964, 0x00000A11, 0x00050051, + 0x0000000C, 0x000018DA, 0x00001A8B, 0x00000002, 0x0004007C, 0x0000000C, + 0x000038A9, 0x00004F98, 0x00050084, 0x0000000C, 0x00002C0F, 0x000018DA, + 0x000038A9, 0x00050051, 0x0000000C, 0x000044BE, 0x00001A8B, 0x00000001, + 0x00050080, 0x0000000C, 0x000056D4, 0x00002C0F, 0x000044BE, 0x0004007C, + 0x0000000C, 0x00005785, 0x0000263C, 0x00050084, 0x0000000C, 0x00005FD7, + 0x000056D4, 0x00005785, 0x00050080, 0x0000000C, 0x00001B95, 0x0000591A, + 0x00005FD7, 0x0004007C, 0x0000000B, 0x00004B46, 0x00001B95, 0x00050041, + 0x00000288, 0x00004C04, 0x0000147D, 0x00000A1A, 0x0004003D, 0x0000000B, + 0x0000595B, 0x00004C04, 0x00050080, 0x0000000B, 0x00002145, 0x00004B46, + 0x0000595B, 0x000500C2, 0x0000000B, 0x000054A6, 0x00002145, 0x00000A16, + 0x00050041, 0x00000288, 0x000047E4, 0x0000147D, 0x00000A0E, 0x0004003D, + 0x0000000B, 0x00005B88, 0x000047E4, 0x00050041, 0x00000288, 0x000058AC, + 0x0000147D, 0x00000A0B, 0x0004003D, 0x0000000B, 0x00004FA3, 0x000058AC, + 0x000500C7, 0x0000000B, 0x00005707, 0x00004FA3, 0x00000A10, 0x000500AB, + 0x00000009, 0x00004B17, 0x00005707, 0x00000A0A, 0x00050050, 0x00000011, + 0x0000435F, 0x00004FA3, 0x00004FA3, 0x000500C2, 0x00000011, 0x000059A3, + 0x0000435F, 0x0000077B, 0x000500C7, 0x00000011, 0x00001997, 0x000059A3, + 0x0000074E, 0x00050041, 0x00000288, 0x0000492C, 0x0000147D, 0x00000A11, + 0x0004003D, 0x0000000B, 0x00005EAC, 0x0000492C, 0x00050041, 0x00000288, + 0x00004FEA, 0x0000147D, 0x00000A14, 0x0004003D, 0x0000000B, 0x00005697, + 0x00004FEA, 0x00050051, 0x0000000B, 0x000049F1, 0x000027F5, 0x00000000, + 0x000500C2, 0x0000000B, 0x000019EE, 0x000049F1, 0x00000A13, 0x00050051, + 0x0000000B, 0x00002704, 0x000027F5, 0x00000001, 0x00050050, 0x00000011, + 0x00005C0B, 0x000019EE, 0x00002704, 0x00050086, 0x00000011, 0x00001F69, + 0x00005C0B, 0x00001997, 0x00050051, 0x0000000B, 0x0000366C, 0x00001F69, + 0x00000000, 0x000500C4, 0x0000000B, 0x00004D4D, 0x0000366C, 0x00000A13, + 0x00050051, 0x0000000B, 0x000051A9, 0x00001F69, 0x00000001, 0x00050051, + 0x0000000B, 0x000059EE, 0x000027F5, 0x00000002, 0x00060050, 0x00000014, + 0x000024C9, 0x00004D4D, 0x000051A9, 0x000059EE, 0x000300F7, 0x00005341, + 0x00000002, 0x000400FA, 0x00004B17, 0x0000537D, 0x00002DD9, 0x000200F8, + 0x0000537D, 0x0004007C, 0x00000016, 0x00002970, 0x000024C9, 0x00050051, + 0x0000000C, 0x000042C2, 0x00002970, 0x00000001, 0x000500C3, 0x0000000C, + 0x000024FD, 0x000042C2, 0x00000A17, 0x00050051, 0x0000000C, 0x00002747, + 0x00002970, 0x00000002, 0x000500C3, 0x0000000C, 0x0000405C, 0x00002747, + 0x00000A11, 0x000500C2, 0x0000000B, 0x00005B4D, 0x00005697, 0x00000A16, + 0x0004007C, 0x0000000C, 0x000018AA, 0x00005B4D, 0x00050084, 0x0000000C, + 0x00005321, 0x0000405C, 0x000018AA, 0x00050080, 0x0000000C, 0x00003B27, + 0x000024FD, 0x00005321, 0x000500C2, 0x0000000B, 0x00002348, 0x00005EAC, + 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, 0x00000A1F, + 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, 0x00000A1F, 0x000500C3, + 0x0000000C, 0x00005DE3, 0x00001B88, 0x00000A1D, 0x000500C3, 0x0000000C, + 0x00002215, 0x000042C2, 0x00000A14, 0x00050080, 0x0000000C, 0x000035A3, + 0x00002215, 0x0000405C, 0x000500C7, 0x0000000C, 0x00005A0C, 0x000035A3, + 0x00000A0E, 0x000500C3, 0x0000000C, 0x00004112, 0x00006242, 0x00000A14, + 0x000500C4, 0x0000000C, 0x0000496A, 0x00005A0C, 0x00000A0E, 0x00050080, + 0x0000000C, 0x000034BD, 0x00004112, 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, 0x00000A39, 0x00050080, 0x0000000C, 0x0000285C, + 0x00005B31, 0x00005AEA, 0x000500C7, 0x0000000C, 0x000047B4, 0x00002747, + 0x00000A14, 0x000500C4, 0x0000000C, 0x0000544B, 0x000047B4, 0x00000A1F, + 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, 0x000024C9, + 0x000024C9, 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, + 0x00005EAC, 0x00000A19, 0x0004007C, 0x0000000C, 0x000018AB, 0x00005B4E, + 0x00050084, 0x0000000C, 0x00005347, 0x0000405D, 0x000018AB, 0x00050080, + 0x0000000C, 0x00003F5E, 0x000024FE, 0x00005347, 0x000500C4, 0x0000000C, + 0x00004A8E, 0x00003F5E, 0x00000A22, 0x000500C7, 0x0000000C, 0x00002AB6, + 0x00001903, 0x00000A20, 0x000500C7, 0x0000000C, 0x00003139, 0x00002748, + 0x00000A35, 0x000500C4, 0x0000000C, 0x0000454E, 0x00003139, 0x00000A11, + 0x00050080, 0x0000000C, 0x00004397, 0x00002AB6, 0x0000454E, 0x000500C4, + 0x0000000C, 0x000018E7, 0x00004397, 0x00000A0D, 0x000500C7, 0x0000000C, + 0x000027B1, 0x000018E7, 0x000009DB, 0x000500C4, 0x0000000C, 0x00002F76, + 0x000027B1, 0x00000A0E, 0x00050080, 0x0000000C, 0x00003C4C, 0x00004A8E, + 0x00002F76, 0x000500C7, 0x0000000C, 0x00003397, 0x000018E7, 0x00000A39, + 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, 0x00001F69, 0x00001997, 0x00050082, + 0x00000011, 0x00003BBC, 0x00005C0B, 0x00003FA8, 0x00050051, 0x0000000B, + 0x00001C87, 0x00001997, 0x00000000, 0x00050051, 0x0000000B, 0x00005962, + 0x00001997, 0x00000001, 0x00050084, 0x0000000B, 0x00003372, 0x00001C87, + 0x00005962, 0x00050084, 0x0000000B, 0x00003CA0, 0x000024FC, 0x00003372, + 0x00050051, 0x0000000B, 0x00003ED4, 0x00003BBC, 0x00000000, 0x00050084, + 0x0000000B, 0x00003E12, 0x00003ED4, 0x00005962, 0x00050051, 0x0000000B, + 0x00001AE6, 0x00003BBC, 0x00000001, 0x00050080, 0x0000000B, 0x00002B25, + 0x00003E12, 0x00001AE6, 0x000500C4, 0x0000000B, 0x0000609D, 0x00002B25, + 0x00000A13, 0x000500C7, 0x0000000B, 0x00005AB3, 0x000049F1, 0x00000A1F, + 0x00050080, 0x0000000B, 0x00002557, 0x0000609D, 0x00005AB3, 0x000500C4, + 0x0000000B, 0x000040AD, 0x00002557, 0x00000A0D, 0x00050080, 0x0000000B, + 0x00004EAA, 0x00003CA0, 0x000040AD, 0x00050080, 0x0000000B, 0x0000453C, + 0x00005B88, 0x00004EAA, 0x000500C2, 0x0000000B, 0x000036D8, 0x0000453C, + 0x00000A16, 0x000500C2, 0x0000000B, 0x00002DF6, 0x00004FA3, 0x00000A10, + 0x000500C7, 0x0000000B, 0x000020CA, 0x00002DF6, 0x00000A13, 0x00060041, + 0x00000294, 0x000050F7, 0x0000107A, 0x00000A0B, 0x000036D8, 0x0004003D, + 0x00000017, 0x00002585, 0x000050F7, 0x000500AA, 0x00000009, 0x00005272, + 0x000020CA, 0x00000A0D, 0x000300F7, 0x000030F9, 0x00000000, 0x000400FA, + 0x00005272, 0x00002957, 0x000030F9, 0x000200F8, 0x00002957, 0x000500C7, + 0x00000017, 0x0000475F, 0x00002585, 0x000009CE, 0x000500C4, 0x00000017, + 0x000024D1, 0x0000475F, 0x0000013D, 0x000500C7, 0x00000017, 0x000050AC, + 0x00002585, 0x0000072E, 0x000500C2, 0x00000017, 0x0000448D, 0x000050AC, + 0x0000013D, 0x000500C5, 0x00000017, 0x00003FF8, 0x000024D1, 0x0000448D, + 0x000200F9, 0x000030F9, 0x000200F8, 0x000030F9, 0x000700F5, 0x00000017, + 0x00002F4A, 0x00002585, 0x00005341, 0x00003FF8, 0x00002957, 0x0004007C, + 0x0000001A, 0x00003C0F, 0x00002F4A, 0x000500C4, 0x0000001A, 0x0000420E, + 0x00003C0F, 0x00000302, 0x000500C3, 0x0000001A, 0x00004098, 0x0000420E, + 0x00000302, 0x0004006F, 0x0000001D, 0x00002A97, 0x00004098, 0x0005008E, + 0x0000001D, 0x00004FBD, 0x00002A97, 0x00000A38, 0x0007000C, 0x0000001D, + 0x00005DB5, 0x00000001, 0x00000028, 0x00000504, 0x00004FBD, 0x000500C3, + 0x0000001A, 0x00003802, 0x00003C0F, 0x00000302, 0x0004006F, 0x0000001D, + 0x000019CF, 0x00003802, 0x0005008E, 0x0000001D, 0x00004747, 0x000019CF, + 0x00000A38, 0x0007000C, 0x0000001D, 0x00005E06, 0x00000001, 0x00000028, + 0x00000504, 0x00004747, 0x00050051, 0x0000000D, 0x00005F0A, 0x00005DB5, + 0x00000000, 0x00050051, 0x0000000D, 0x000037EF, 0x00005E06, 0x00000000, + 0x00050050, 0x00000013, 0x00004B20, 0x00005F0A, 0x000037EF, 0x0006000C, + 0x0000000B, 0x00002171, 0x00000001, 0x0000003A, 0x00004B20, 0x00050051, + 0x0000000D, 0x00005BBF, 0x00005DB5, 0x00000001, 0x00050051, 0x0000000D, + 0x000039A7, 0x00005E06, 0x00000001, 0x00050050, 0x00000013, 0x00004B21, + 0x00005BBF, 0x000039A7, 0x0006000C, 0x0000000B, 0x00002172, 0x00000001, + 0x0000003A, 0x00004B21, 0x00050051, 0x0000000D, 0x00005BC0, 0x00005DB5, + 0x00000002, 0x00050051, 0x0000000D, 0x000039A8, 0x00005E06, 0x00000002, + 0x00050050, 0x00000013, 0x00004B22, 0x00005BC0, 0x000039A8, 0x0006000C, + 0x0000000B, 0x00002173, 0x00000001, 0x0000003A, 0x00004B22, 0x00050051, + 0x0000000D, 0x00005BC1, 0x00005DB5, 0x00000003, 0x00050051, 0x0000000D, + 0x000039A9, 0x00005E06, 0x00000003, 0x00050050, 0x00000013, 0x00004B0D, + 0x00005BC1, 0x000039A9, 0x0006000C, 0x0000000B, 0x000020EE, 0x00000001, + 0x0000003A, 0x00004B0D, 0x00070050, 0x00000017, 0x00003ABB, 0x00002171, + 0x00002172, 0x00002173, 0x000020EE, 0x00060041, 0x00000294, 0x000045C3, + 0x0000140E, 0x00000A0B, 0x000054A6, 0x0003003E, 0x000045C3, 0x00003ABB, + 0x00050080, 0x0000000B, 0x00003CAC, 0x000054A6, 0x00000A0E, 0x000500AC, + 0x00000009, 0x00001911, 0x00001C87, 0x00000A0D, 0x000300F7, 0x000060BC, + 0x00000002, 0x000400FA, 0x00001911, 0x00005084, 0x00005094, 0x000200F8, + 0x00005084, 0x00050086, 0x0000000B, 0x00003697, 0x000019EE, 0x00001C87, + 0x00050084, 0x0000000B, 0x0000237E, 0x00003697, 0x00001C87, 0x00050082, + 0x0000000B, 0x00003171, 0x000019EE, 0x0000237E, 0x00050080, 0x0000000B, + 0x00002527, 0x00003171, 0x00000A0D, 0x000500AA, 0x00000009, 0x0000343F, + 0x00002527, 0x00001C87, 0x000300F7, 0x00001EED, 0x00000000, 0x000400FA, + 0x0000343F, 0x0000569E, 0x00002191, 0x000200F8, 0x0000569E, 0x00050084, + 0x0000000B, 0x00004B59, 0x00000ACA, 0x00001C87, 0x000500C4, 0x0000000B, + 0x0000540F, 0x00003171, 0x00000A16, 0x00050082, 0x0000000B, 0x00004944, + 0x00004B59, 0x0000540F, 0x000200F9, 0x00001EED, 0x000200F8, 0x00002191, + 0x000200F9, 0x00001EED, 0x000200F8, 0x00001EED, 0x000700F5, 0x0000000B, + 0x0000292C, 0x00004944, 0x0000569E, 0x00000A3A, 0x00002191, 0x000200F9, + 0x000060BC, 0x000200F8, 0x00005094, 0x000200F9, 0x000060BC, 0x000200F8, + 0x000060BC, 0x000700F5, 0x0000000B, 0x000029BC, 0x0000292C, 0x00001EED, + 0x00000ACA, 0x00005094, 0x00050084, 0x0000000B, 0x0000492B, 0x000029BC, + 0x00005962, 0x000500C2, 0x0000000B, 0x0000406D, 0x0000492B, 0x00000A16, + 0x00050080, 0x0000000B, 0x0000336B, 0x000036D8, 0x0000406D, 0x00060041, + 0x00000294, 0x0000571A, 0x0000107A, 0x00000A0B, 0x0000336B, 0x0004003D, + 0x00000017, 0x000019B2, 0x0000571A, 0x000300F7, 0x000030FA, 0x00000000, + 0x000400FA, 0x00005272, 0x00002958, 0x000030FA, 0x000200F8, 0x00002958, + 0x000500C7, 0x00000017, 0x00004760, 0x000019B2, 0x000009CE, 0x000500C4, + 0x00000017, 0x000024D2, 0x00004760, 0x0000013D, 0x000500C7, 0x00000017, + 0x000050AD, 0x000019B2, 0x0000072E, 0x000500C2, 0x00000017, 0x0000448E, + 0x000050AD, 0x0000013D, 0x000500C5, 0x00000017, 0x00003FF9, 0x000024D2, + 0x0000448E, 0x000200F9, 0x000030FA, 0x000200F8, 0x000030FA, 0x000700F5, + 0x00000017, 0x00002F4B, 0x000019B2, 0x000060BC, 0x00003FF9, 0x00002958, + 0x0004007C, 0x0000001A, 0x00003C10, 0x00002F4B, 0x000500C4, 0x0000001A, + 0x0000420F, 0x00003C10, 0x00000302, 0x000500C3, 0x0000001A, 0x00004099, + 0x0000420F, 0x00000302, 0x0004006F, 0x0000001D, 0x00002A98, 0x00004099, + 0x0005008E, 0x0000001D, 0x00004FBE, 0x00002A98, 0x00000A38, 0x0007000C, + 0x0000001D, 0x00005DB6, 0x00000001, 0x00000028, 0x00000504, 0x00004FBE, + 0x000500C3, 0x0000001A, 0x00003803, 0x00003C10, 0x00000302, 0x0004006F, + 0x0000001D, 0x000019D0, 0x00003803, 0x0005008E, 0x0000001D, 0x00004748, + 0x000019D0, 0x00000A38, 0x0007000C, 0x0000001D, 0x00005E07, 0x00000001, + 0x00000028, 0x00000504, 0x00004748, 0x00050051, 0x0000000D, 0x00005F0B, + 0x00005DB6, 0x00000000, 0x00050051, 0x0000000D, 0x000037F0, 0x00005E07, + 0x00000000, 0x00050050, 0x00000013, 0x00004B23, 0x00005F0B, 0x000037F0, + 0x0006000C, 0x0000000B, 0x00002174, 0x00000001, 0x0000003A, 0x00004B23, + 0x00050051, 0x0000000D, 0x00005BC2, 0x00005DB6, 0x00000001, 0x00050051, + 0x0000000D, 0x000039AA, 0x00005E07, 0x00000001, 0x00050050, 0x00000013, + 0x00004B24, 0x00005BC2, 0x000039AA, 0x0006000C, 0x0000000B, 0x00002175, + 0x00000001, 0x0000003A, 0x00004B24, 0x00050051, 0x0000000D, 0x00005BC3, + 0x00005DB6, 0x00000002, 0x00050051, 0x0000000D, 0x000039AB, 0x00005E07, + 0x00000002, 0x00050050, 0x00000013, 0x00004B25, 0x00005BC3, 0x000039AB, + 0x0006000C, 0x0000000B, 0x00002176, 0x00000001, 0x0000003A, 0x00004B25, + 0x00050051, 0x0000000D, 0x00005BC4, 0x00005DB6, 0x00000003, 0x00050051, + 0x0000000D, 0x000039AC, 0x00005E07, 0x00000003, 0x00050050, 0x00000013, + 0x00004B0E, 0x00005BC4, 0x000039AC, 0x0006000C, 0x0000000B, 0x000020EF, + 0x00000001, 0x0000003A, 0x00004B0E, 0x00070050, 0x00000017, 0x00003ABC, + 0x00002174, 0x00002175, 0x00002176, 0x000020EF, 0x00060041, 0x00000294, + 0x00004EBE, 0x0000140E, 0x00000A0B, 0x00003CAC, 0x0003003E, 0x00004EBE, + 0x00003ABC, 0x000200F9, 0x00004C7A, 0x000200F8, 0x00004C7A, 0x000100FD, + 0x00010038, +}; diff --git a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_r16_unorm_float_cs.h b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_r16_unorm_float_cs.h new file mode 100644 index 000000000..7ebd50e48 --- /dev/null +++ b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_r16_unorm_float_cs.h @@ -0,0 +1,647 @@ +// Generated with `xb buildshaders`. +#if 0 +; SPIR-V +; Version: 1.0 +; Generator: Khronos Glslang Reference Front End; 10 +; Bound: 25179 +; Schema: 0 + OpCapability Shader + %1 = OpExtInstImport "GLSL.std.450" + OpMemoryModel Logical GLSL450 + OpEntryPoint GLCompute %5663 "main" %gl_GlobalInvocationID + OpExecutionMode %5663 LocalSize 2 32 1 + OpMemberDecorate %_struct_1161 0 Offset 0 + OpMemberDecorate %_struct_1161 1 Offset 4 + OpMemberDecorate %_struct_1161 2 Offset 8 + OpMemberDecorate %_struct_1161 3 Offset 12 + OpMemberDecorate %_struct_1161 4 Offset 16 + OpMemberDecorate %_struct_1161 5 Offset 28 + OpMemberDecorate %_struct_1161 6 Offset 32 + OpMemberDecorate %_struct_1161 7 Offset 36 + OpDecorate %_struct_1161 Block + OpDecorate %5245 DescriptorSet 2 + OpDecorate %5245 Binding 0 + 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 %5134 DescriptorSet 0 + OpDecorate %5134 Binding 0 + OpDecorate %_runtimearr_v4uint_0 ArrayStride 16 + OpMemberDecorate %_struct_1973 0 NonWritable + OpMemberDecorate %_struct_1973 0 Offset 0 + OpDecorate %_struct_1973 BufferBlock + OpDecorate %4218 DescriptorSet 1 + OpDecorate %4218 Binding 0 + OpDecorate %gl_WorkGroupSize BuiltIn WorkgroupSize + %void = OpTypeVoid + %1282 = OpTypeFunction %void + %uint = OpTypeInt 32 0 + %v4uint = OpTypeVector %uint 4 + %int = OpTypeInt 32 1 + %v2int = OpTypeVector %int 2 + %v3int = OpTypeVector %int 3 + %bool = OpTypeBool + %v3uint = OpTypeVector %uint 3 + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 + %uint_65535 = OpConstant %uint 65535 +%float_1_52590219en05 = OpConstant %float 1.52590219e-05 + %uint_16 = OpConstant %uint 16 + %uint_0 = OpConstant %uint 0 + %v2float = OpTypeVector %float 2 + %uint_1 = OpConstant %uint 1 + %uint_2 = OpConstant %uint 2 + %uint_3 = OpConstant %uint 3 +%uint_16711935 = OpConstant %uint 16711935 + %uint_8 = OpConstant %uint 8 +%uint_4278255360 = OpConstant %uint 4278255360 + %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 + %uint_64 = OpConstant %uint 64 +%_struct_1161 = OpTypeStruct %uint %uint %uint %uint %v3uint %uint %uint %uint +%_ptr_Uniform__struct_1161 = OpTypePointer Uniform %_struct_1161 + %5245 = OpVariable %_ptr_Uniform__struct_1161 Uniform + %int_0 = OpConstant %int 0 +%_ptr_Uniform_uint = OpTypePointer Uniform %uint +%_ptr_Uniform_v3uint = OpTypePointer Uniform %v3uint + %v2uint = OpTypeVector %uint 2 +%_ptr_Input_v3uint = OpTypePointer Input %v3uint +%gl_GlobalInvocationID = OpVariable %_ptr_Input_v3uint Input + %2612 = OpConstantComposite %v3uint %uint_4 %uint_0 %uint_0 + %v2bool = OpTypeVector %bool 2 +%_runtimearr_v4uint = OpTypeRuntimeArray %v4uint +%_struct_1972 = OpTypeStruct %_runtimearr_v4uint +%_ptr_Uniform__struct_1972 = OpTypePointer Uniform %_struct_1972 + %5134 = OpVariable %_ptr_Uniform__struct_1972 Uniform +%_runtimearr_v4uint_0 = OpTypeRuntimeArray %v4uint +%_struct_1973 = OpTypeStruct %_runtimearr_v4uint_0 +%_ptr_Uniform__struct_1973 = OpTypePointer Uniform %_struct_1973 + %4218 = OpVariable %_ptr_Uniform__struct_1973 Uniform +%_ptr_Uniform_v4uint = OpTypePointer Uniform %v4uint +%gl_WorkGroupSize = OpConstantComposite %v3uint %uint_2 %uint_32 %uint_1 + %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 + %850 = OpConstantComposite %v4uint %uint_65535 %uint_65535 %uint_65535 %uint_65535 + %749 = OpConstantComposite %v4uint %uint_16 %uint_16 %uint_16 %uint_16 + %5663 = OpFunction %void None %1282 + %15110 = OpLabel + OpSelectionMerge %19578 None + OpSwitch %uint_0 %15137 + %15137 = OpLabel + %12591 = OpLoad %v3uint %gl_GlobalInvocationID + %10229 = OpShiftLeftLogical %v3uint %12591 %2612 + %25178 = OpAccessChain %_ptr_Uniform_v3uint %5245 %int_4 + %22965 = OpLoad %v3uint %25178 + %18835 = OpVectorShuffle %v2uint %10229 %10229 0 1 + %6626 = OpVectorShuffle %v2uint %22965 %22965 0 1 + %17032 = OpUGreaterThanEqual %v2bool %18835 %6626 + %24679 = OpAny %bool %17032 + OpSelectionMerge %6282 DontFlatten + OpBranchConditional %24679 %21992 %6282 + %21992 = OpLabel + OpBranch %19578 + %6282 = OpLabel + %6795 = OpBitcast %v3int %10229 + %18792 = OpAccessChain %_ptr_Uniform_uint %5245 %int_6 + %9788 = OpLoad %uint %18792 + %20376 = OpCompositeExtract %uint %22965 1 + %14692 = OpCompositeExtract %int %6795 0 + %22810 = OpIMul %int %14692 %int_2 + %6362 = OpCompositeExtract %int %6795 2 + %14505 = OpBitcast %int %20376 + %11279 = OpIMul %int %6362 %14505 + %17598 = OpCompositeExtract %int %6795 1 + %22228 = OpIAdd %int %11279 %17598 + %22405 = OpBitcast %int %9788 + %24535 = OpIMul %int %22228 %22405 + %7061 = OpIAdd %int %22810 %24535 + %19270 = OpBitcast %uint %7061 + %19460 = OpAccessChain %_ptr_Uniform_uint %5245 %int_5 + %22875 = OpLoad %uint %19460 + %8517 = OpIAdd %uint %19270 %22875 + %21670 = OpShiftRightLogical %uint %8517 %uint_4 + %20950 = OpAccessChain %_ptr_Uniform_uint %5245 %int_0 + %21411 = OpLoad %uint %20950 + %6381 = OpBitwiseAnd %uint %21411 %uint_1 + %10467 = OpINotEqual %bool %6381 %uint_0 + OpSelectionMerge %23266 DontFlatten + OpBranchConditional %10467 %10108 %10765 + %10108 = OpLabel + %23508 = OpBitwiseAnd %uint %21411 %uint_2 + %16300 = OpINotEqual %bool %23508 %uint_0 + OpSelectionMerge %7691 DontFlatten + OpBranchConditional %16300 %12129 %25128 + %12129 = OpLabel + %18210 = OpAccessChain %_ptr_Uniform_uint %5245 %int_2 + %15627 = OpLoad %uint %18210 + %22624 = OpAccessChain %_ptr_Uniform_uint %5245 %int_3 + %21535 = OpLoad %uint %22624 + %14923 = OpShiftRightArithmetic %int %17598 %int_4 + %18773 = OpShiftRightArithmetic %int %6362 %int_2 + %18759 = OpShiftRightLogical %uint %21535 %uint_4 + %6314 = OpBitcast %int %18759 + %21281 = OpIMul %int %18773 %6314 + %15143 = OpIAdd %int %14923 %21281 + %9032 = OpShiftRightLogical %uint %15627 %uint_5 + %14593 = OpBitcast %int %9032 + %8436 = OpIMul %int %15143 %14593 + %12986 = OpShiftRightArithmetic %int %14692 %int_5 + %24558 = OpIAdd %int %12986 %8436 + %8797 = OpShiftLeftLogical %int %24558 %uint_7 + %11510 = OpBitwiseAnd %int %8797 %int_268435455 + %18938 = OpShiftLeftLogical %int %11510 %int_1 + %19768 = OpBitwiseAnd %int %14692 %int_7 + %12600 = OpBitwiseAnd %int %17598 %int_6 + %17741 = OpShiftLeftLogical %int %12600 %int_2 + %17227 = OpIAdd %int %19768 %17741 + %7048 = OpShiftLeftLogical %int %17227 %uint_7 + %24035 = OpShiftRightArithmetic %int %7048 %int_6 + %8725 = OpShiftRightArithmetic %int %17598 %int_3 + %13731 = OpIAdd %int %8725 %18773 + %23052 = OpBitwiseAnd %int %13731 %int_1 + %16658 = OpShiftRightArithmetic %int %14692 %int_3 + %18794 = OpShiftLeftLogical %int %23052 %int_1 + %13501 = OpIAdd %int %16658 %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 %6362 %int_3 + %21579 = OpShiftLeftLogical %int %18356 %uint_7 + %16727 = OpIAdd %int %10332 %21579 + %19166 = OpBitwiseAnd %int %17598 %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 + %24224 = OpBitwiseAnd %int %16728 %int_63 + %21741 = OpIAdd %int %23348 %24224 + OpBranch %7691 + %25128 = OpLabel + %6796 = OpBitcast %v2int %18835 + %18793 = OpAccessChain %_ptr_Uniform_uint %5245 %int_2 + %11954 = OpLoad %uint %18793 + %18756 = OpCompositeExtract %int %6796 0 + %19701 = OpShiftRightArithmetic %int %18756 %int_5 + %10055 = OpCompositeExtract %int %6796 1 + %16476 = OpShiftRightArithmetic %int %10055 %int_5 + %23373 = OpShiftRightLogical %uint %11954 %uint_5 + %6315 = OpBitcast %int %23373 + %21319 = OpIMul %int %16476 %6315 + %16222 = OpIAdd %int %19701 %21319 + %19086 = OpShiftLeftLogical %int %16222 %uint_8 + %10934 = OpBitwiseAnd %int %18756 %int_7 + %12601 = OpBitwiseAnd %int %10055 %int_14 + %17742 = OpShiftLeftLogical %int %12601 %int_2 + %17303 = OpIAdd %int %10934 %17742 + %6375 = OpShiftLeftLogical %int %17303 %uint_1 + %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 %10055 %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 %10055 %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 %10055 %int_8 + %16831 = OpShiftRightArithmetic %int %20611 %int_2 + %7916 = OpShiftRightArithmetic %int %18756 %int_3 + %13750 = OpIAdd %int %16831 %7916 + %21587 = OpBitwiseAnd %int %13750 %int_3 + %21583 = OpShiftLeftLogical %int %21587 %int_6 + %15437 = OpIAdd %int %16708 %21583 + %14157 = OpBitwiseAnd %int %16729 %int_63 + %12098 = OpIAdd %int %15437 %14157 + OpBranch %7691 + %7691 = OpLabel + %10540 = OpPhi %int %21741 %12129 %12098 %25128 + OpBranch %23266 + %10765 = OpLabel + %20632 = OpAccessChain %_ptr_Uniform_uint %5245 %int_2 + %15628 = OpLoad %uint %20632 + %21275 = OpAccessChain %_ptr_Uniform_uint %5245 %int_3 + %13550 = OpLoad %uint %21275 + %15070 = OpBitcast %int %13550 + %18927 = OpIMul %int %6362 %15070 + %8334 = OpIAdd %int %18927 %17598 + %8952 = OpBitcast %int %15628 + %7839 = OpIMul %int %8334 %8952 + %7984 = OpIAdd %int %22810 %7839 + OpBranch %23266 + %23266 = OpLabel + %19748 = OpPhi %int %10540 %7691 %7984 %10765 + %24922 = OpAccessChain %_ptr_Uniform_uint %5245 %int_1 + %7502 = OpLoad %uint %24922 + %15686 = OpBitcast %int %7502 + %15579 = OpIAdd %int %15686 %19748 + %18556 = OpBitcast %uint %15579 + %21493 = OpShiftRightLogical %uint %18556 %uint_4 + %14997 = OpShiftRightLogical %uint %21411 %uint_2 + %8394 = OpBitwiseAnd %uint %14997 %uint_3 + %20727 = OpAccessChain %_ptr_Uniform_v4uint %4218 %int_0 %21493 + %9605 = OpLoad %v4uint %20727 + %21106 = OpIEqual %bool %8394 %uint_1 + OpSelectionMerge %13962 None + OpBranchConditional %21106 %10583 %13962 + %10583 = OpLabel + %18271 = OpBitwiseAnd %v4uint %9605 %2510 + %9425 = OpShiftLeftLogical %v4uint %18271 %317 + %20652 = OpBitwiseAnd %v4uint %9605 %1838 + %17549 = OpShiftRightLogical %v4uint %20652 %317 + %16376 = OpBitwiseOr %v4uint %9425 %17549 + OpBranch %13962 + %13962 = OpLabel + %16606 = OpPhi %v4uint %9605 %23266 %16376 %10583 + %18240 = OpBitwiseAnd %v4uint %16606 %850 + %9137 = OpConvertUToF %v4float %18240 + %19365 = OpVectorTimesScalar %v4float %9137 %float_1_52590219en05 + %23367 = OpShiftRightLogical %v4uint %16606 %749 + %18492 = OpConvertUToF %v4float %23367 + %18450 = OpVectorTimesScalar %v4float %18492 %float_1_52590219en05 + %6268 = OpCompositeExtract %float %19365 0 + %13806 = OpCompositeExtract %float %18450 0 + %19232 = OpCompositeConstruct %v2float %6268 %13806 + %8561 = OpExtInst %uint %1 PackHalf2x16 %19232 + %23487 = OpCompositeExtract %float %19365 1 + %14759 = OpCompositeExtract %float %18450 1 + %19233 = OpCompositeConstruct %v2float %23487 %14759 + %8562 = OpExtInst %uint %1 PackHalf2x16 %19233 + %23488 = OpCompositeExtract %float %19365 2 + %14760 = OpCompositeExtract %float %18450 2 + %19234 = OpCompositeConstruct %v2float %23488 %14760 + %8563 = OpExtInst %uint %1 PackHalf2x16 %19234 + %23489 = OpCompositeExtract %float %19365 3 + %14761 = OpCompositeExtract %float %18450 3 + %19213 = OpCompositeConstruct %v2float %23489 %14761 + %8430 = OpExtInst %uint %1 PackHalf2x16 %19213 + %15035 = OpCompositeConstruct %v4uint %8561 %8562 %8563 %8430 + %17859 = OpAccessChain %_ptr_Uniform_v4uint %5134 %int_0 %21670 + OpStore %17859 %15035 + %15044 = OpIAdd %uint %21670 %int_1 + %18776 = OpSelect %uint %10467 %uint_64 %uint_16 + %11803 = OpShiftRightLogical %uint %18776 %uint_4 + %13947 = OpIAdd %uint %21493 %11803 + %22298 = OpAccessChain %_ptr_Uniform_v4uint %4218 %int_0 %13947 + %6578 = OpLoad %v4uint %22298 + OpSelectionMerge %13963 None + OpBranchConditional %21106 %10584 %13963 + %10584 = OpLabel + %18272 = OpBitwiseAnd %v4uint %6578 %2510 + %9426 = OpShiftLeftLogical %v4uint %18272 %317 + %20653 = OpBitwiseAnd %v4uint %6578 %1838 + %17550 = OpShiftRightLogical %v4uint %20653 %317 + %16377 = OpBitwiseOr %v4uint %9426 %17550 + OpBranch %13963 + %13963 = OpLabel + %16607 = OpPhi %v4uint %6578 %13962 %16377 %10584 + %18241 = OpBitwiseAnd %v4uint %16607 %850 + %9138 = OpConvertUToF %v4float %18241 + %19366 = OpVectorTimesScalar %v4float %9138 %float_1_52590219en05 + %23368 = OpShiftRightLogical %v4uint %16607 %749 + %18493 = OpConvertUToF %v4float %23368 + %18451 = OpVectorTimesScalar %v4float %18493 %float_1_52590219en05 + %6269 = OpCompositeExtract %float %19366 0 + %13807 = OpCompositeExtract %float %18451 0 + %19235 = OpCompositeConstruct %v2float %6269 %13807 + %8564 = OpExtInst %uint %1 PackHalf2x16 %19235 + %23490 = OpCompositeExtract %float %19366 1 + %14762 = OpCompositeExtract %float %18451 1 + %19236 = OpCompositeConstruct %v2float %23490 %14762 + %8565 = OpExtInst %uint %1 PackHalf2x16 %19236 + %23491 = OpCompositeExtract %float %19366 2 + %14763 = OpCompositeExtract %float %18451 2 + %19237 = OpCompositeConstruct %v2float %23491 %14763 + %8566 = OpExtInst %uint %1 PackHalf2x16 %19237 + %23492 = OpCompositeExtract %float %19366 3 + %14764 = OpCompositeExtract %float %18451 3 + %19214 = OpCompositeConstruct %v2float %23492 %14764 + %8431 = OpExtInst %uint %1 PackHalf2x16 %19214 + %15036 = OpCompositeConstruct %v4uint %8564 %8565 %8566 %8431 + %20158 = OpAccessChain %_ptr_Uniform_v4uint %5134 %int_0 %15044 + OpStore %20158 %15036 + OpBranch %19578 + %19578 = OpLabel + OpReturn + OpFunctionEnd +#endif + +const uint32_t texture_load_r16_unorm_float_cs[] = { + 0x07230203, 0x00010000, 0x0008000A, 0x0000625B, 0x00000000, 0x00020011, + 0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E, + 0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0006000F, 0x00000005, + 0x0000161F, 0x6E69616D, 0x00000000, 0x00000F48, 0x00060010, 0x0000161F, + 0x00000011, 0x00000002, 0x00000020, 0x00000001, 0x00050048, 0x00000489, + 0x00000000, 0x00000023, 0x00000000, 0x00050048, 0x00000489, 0x00000001, + 0x00000023, 0x00000004, 0x00050048, 0x00000489, 0x00000002, 0x00000023, + 0x00000008, 0x00050048, 0x00000489, 0x00000003, 0x00000023, 0x0000000C, + 0x00050048, 0x00000489, 0x00000004, 0x00000023, 0x00000010, 0x00050048, + 0x00000489, 0x00000005, 0x00000023, 0x0000001C, 0x00050048, 0x00000489, + 0x00000006, 0x00000023, 0x00000020, 0x00050048, 0x00000489, 0x00000007, + 0x00000023, 0x00000024, 0x00030047, 0x00000489, 0x00000002, 0x00040047, + 0x0000147D, 0x00000022, 0x00000002, 0x00040047, 0x0000147D, 0x00000021, + 0x00000000, 0x00040047, 0x00000F48, 0x0000000B, 0x0000001C, 0x00040047, + 0x000007DC, 0x00000006, 0x00000010, 0x00040048, 0x000007B4, 0x00000000, + 0x00000019, 0x00050048, 0x000007B4, 0x00000000, 0x00000023, 0x00000000, + 0x00030047, 0x000007B4, 0x00000003, 0x00040047, 0x0000140E, 0x00000022, + 0x00000000, 0x00040047, 0x0000140E, 0x00000021, 0x00000000, 0x00040047, + 0x000007DD, 0x00000006, 0x00000010, 0x00040048, 0x000007B5, 0x00000000, + 0x00000018, 0x00050048, 0x000007B5, 0x00000000, 0x00000023, 0x00000000, + 0x00030047, 0x000007B5, 0x00000003, 0x00040047, 0x0000107A, 0x00000022, + 0x00000001, 0x00040047, 0x0000107A, 0x00000021, 0x00000000, 0x00040047, + 0x00000BB1, 0x0000000B, 0x00000019, 0x00020013, 0x00000008, 0x00030021, + 0x00000502, 0x00000008, 0x00040015, 0x0000000B, 0x00000020, 0x00000000, + 0x00040017, 0x00000017, 0x0000000B, 0x00000004, 0x00040015, 0x0000000C, + 0x00000020, 0x00000001, 0x00040017, 0x00000012, 0x0000000C, 0x00000002, + 0x00040017, 0x00000016, 0x0000000C, 0x00000003, 0x00020014, 0x00000009, + 0x00040017, 0x00000014, 0x0000000B, 0x00000003, 0x00030016, 0x0000000D, + 0x00000020, 0x00040017, 0x0000001D, 0x0000000D, 0x00000004, 0x0004002B, + 0x0000000B, 0x000001C1, 0x0000FFFF, 0x0004002B, 0x0000000D, 0x0000092A, + 0x37800080, 0x0004002B, 0x0000000B, 0x00000A3A, 0x00000010, 0x0004002B, + 0x0000000B, 0x00000A0A, 0x00000000, 0x00040017, 0x00000013, 0x0000000D, + 0x00000002, 0x0004002B, 0x0000000B, 0x00000A0D, 0x00000001, 0x0004002B, + 0x0000000B, 0x00000A10, 0x00000002, 0x0004002B, 0x0000000B, 0x00000A13, + 0x00000003, 0x0004002B, 0x0000000B, 0x000008A6, 0x00FF00FF, 0x0004002B, + 0x0000000B, 0x00000A22, 0x00000008, 0x0004002B, 0x0000000B, 0x000005FD, + 0xFF00FF00, 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, 0x0004002B, 0x0000000B, 0x00000ACA, 0x00000040, 0x000A001E, + 0x00000489, 0x0000000B, 0x0000000B, 0x0000000B, 0x0000000B, 0x00000014, + 0x0000000B, 0x0000000B, 0x0000000B, 0x00040020, 0x00000706, 0x00000002, + 0x00000489, 0x0004003B, 0x00000706, 0x0000147D, 0x00000002, 0x0004002B, + 0x0000000C, 0x00000A0B, 0x00000000, 0x00040020, 0x00000288, 0x00000002, + 0x0000000B, 0x00040020, 0x00000291, 0x00000002, 0x00000014, 0x00040017, + 0x00000011, 0x0000000B, 0x00000002, 0x00040020, 0x00000292, 0x00000001, + 0x00000014, 0x0004003B, 0x00000292, 0x00000F48, 0x00000001, 0x0006002C, + 0x00000014, 0x00000A34, 0x00000A16, 0x00000A0A, 0x00000A0A, 0x00040017, + 0x0000000F, 0x00000009, 0x00000002, 0x0003001D, 0x000007DC, 0x00000017, + 0x0003001E, 0x000007B4, 0x000007DC, 0x00040020, 0x00000A31, 0x00000002, + 0x000007B4, 0x0004003B, 0x00000A31, 0x0000140E, 0x00000002, 0x0003001D, + 0x000007DD, 0x00000017, 0x0003001E, 0x000007B5, 0x000007DD, 0x00040020, + 0x00000A32, 0x00000002, 0x000007B5, 0x0004003B, 0x00000A32, 0x0000107A, + 0x00000002, 0x00040020, 0x00000294, 0x00000002, 0x00000017, 0x0006002C, + 0x00000014, 0x00000BB1, 0x00000A10, 0x00000A6A, 0x00000A0D, 0x0007002C, + 0x00000017, 0x000009CE, 0x000008A6, 0x000008A6, 0x000008A6, 0x000008A6, + 0x0007002C, 0x00000017, 0x0000013D, 0x00000A22, 0x00000A22, 0x00000A22, + 0x00000A22, 0x0007002C, 0x00000017, 0x0000072E, 0x000005FD, 0x000005FD, + 0x000005FD, 0x000005FD, 0x0007002C, 0x00000017, 0x00000352, 0x000001C1, + 0x000001C1, 0x000001C1, 0x000001C1, 0x0007002C, 0x00000017, 0x000002ED, + 0x00000A3A, 0x00000A3A, 0x00000A3A, 0x00000A3A, 0x00050036, 0x00000008, + 0x0000161F, 0x00000000, 0x00000502, 0x000200F8, 0x00003B06, 0x000300F7, + 0x00004C7A, 0x00000000, 0x000300FB, 0x00000A0A, 0x00003B21, 0x000200F8, + 0x00003B21, 0x0004003D, 0x00000014, 0x0000312F, 0x00000F48, 0x000500C4, + 0x00000014, 0x000027F5, 0x0000312F, 0x00000A34, 0x00050041, 0x00000291, + 0x0000625A, 0x0000147D, 0x00000A17, 0x0004003D, 0x00000014, 0x000059B5, + 0x0000625A, 0x0007004F, 0x00000011, 0x00004993, 0x000027F5, 0x000027F5, + 0x00000000, 0x00000001, 0x0007004F, 0x00000011, 0x000019E2, 0x000059B5, + 0x000059B5, 0x00000000, 0x00000001, 0x000500AE, 0x0000000F, 0x00004288, + 0x00004993, 0x000019E2, 0x0004009A, 0x00000009, 0x00006067, 0x00004288, + 0x000300F7, 0x0000188A, 0x00000002, 0x000400FA, 0x00006067, 0x000055E8, + 0x0000188A, 0x000200F8, 0x000055E8, 0x000200F9, 0x00004C7A, 0x000200F8, + 0x0000188A, 0x0004007C, 0x00000016, 0x00001A8B, 0x000027F5, 0x00050041, + 0x00000288, 0x00004968, 0x0000147D, 0x00000A1D, 0x0004003D, 0x0000000B, + 0x0000263C, 0x00004968, 0x00050051, 0x0000000B, 0x00004F98, 0x000059B5, + 0x00000001, 0x00050051, 0x0000000C, 0x00003964, 0x00001A8B, 0x00000000, + 0x00050084, 0x0000000C, 0x0000591A, 0x00003964, 0x00000A11, 0x00050051, + 0x0000000C, 0x000018DA, 0x00001A8B, 0x00000002, 0x0004007C, 0x0000000C, + 0x000038A9, 0x00004F98, 0x00050084, 0x0000000C, 0x00002C0F, 0x000018DA, + 0x000038A9, 0x00050051, 0x0000000C, 0x000044BE, 0x00001A8B, 0x00000001, + 0x00050080, 0x0000000C, 0x000056D4, 0x00002C0F, 0x000044BE, 0x0004007C, + 0x0000000C, 0x00005785, 0x0000263C, 0x00050084, 0x0000000C, 0x00005FD7, + 0x000056D4, 0x00005785, 0x00050080, 0x0000000C, 0x00001B95, 0x0000591A, + 0x00005FD7, 0x0004007C, 0x0000000B, 0x00004B46, 0x00001B95, 0x00050041, + 0x00000288, 0x00004C04, 0x0000147D, 0x00000A1A, 0x0004003D, 0x0000000B, + 0x0000595B, 0x00004C04, 0x00050080, 0x0000000B, 0x00002145, 0x00004B46, + 0x0000595B, 0x000500C2, 0x0000000B, 0x000054A6, 0x00002145, 0x00000A16, + 0x00050041, 0x00000288, 0x000051D6, 0x0000147D, 0x00000A0B, 0x0004003D, + 0x0000000B, 0x000053A3, 0x000051D6, 0x000500C7, 0x0000000B, 0x000018ED, + 0x000053A3, 0x00000A0D, 0x000500AB, 0x00000009, 0x000028E3, 0x000018ED, + 0x00000A0A, 0x000300F7, 0x00005AE2, 0x00000002, 0x000400FA, 0x000028E3, + 0x0000277C, 0x00002A0D, 0x000200F8, 0x0000277C, 0x000500C7, 0x0000000B, + 0x00005BD4, 0x000053A3, 0x00000A10, 0x000500AB, 0x00000009, 0x00003FAC, + 0x00005BD4, 0x00000A0A, 0x000300F7, 0x00001E0B, 0x00000002, 0x000400FA, + 0x00003FAC, 0x00002F61, 0x00006228, 0x000200F8, 0x00002F61, 0x00050041, + 0x00000288, 0x00004722, 0x0000147D, 0x00000A11, 0x0004003D, 0x0000000B, + 0x00003D0B, 0x00004722, 0x00050041, 0x00000288, 0x00005860, 0x0000147D, + 0x00000A14, 0x0004003D, 0x0000000B, 0x0000541F, 0x00005860, 0x000500C3, + 0x0000000C, 0x00003A4B, 0x000044BE, 0x00000A17, 0x000500C3, 0x0000000C, + 0x00004955, 0x000018DA, 0x00000A11, 0x000500C2, 0x0000000B, 0x00004947, + 0x0000541F, 0x00000A16, 0x0004007C, 0x0000000C, 0x000018AA, 0x00004947, + 0x00050084, 0x0000000C, 0x00005321, 0x00004955, 0x000018AA, 0x00050080, + 0x0000000C, 0x00003B27, 0x00003A4B, 0x00005321, 0x000500C2, 0x0000000B, + 0x00002348, 0x00003D0B, 0x00000A19, 0x0004007C, 0x0000000C, 0x00003901, + 0x00002348, 0x00050084, 0x0000000C, 0x000020F4, 0x00003B27, 0x00003901, + 0x000500C3, 0x0000000C, 0x000032BA, 0x00003964, 0x00000A1A, 0x00050080, + 0x0000000C, 0x00005FEE, 0x000032BA, 0x000020F4, 0x000500C4, 0x0000000C, + 0x0000225D, 0x00005FEE, 0x00000A1F, 0x000500C7, 0x0000000C, 0x00002CF6, + 0x0000225D, 0x0000078B, 0x000500C4, 0x0000000C, 0x000049FA, 0x00002CF6, + 0x00000A0E, 0x000500C7, 0x0000000C, 0x00004D38, 0x00003964, 0x00000A20, + 0x000500C7, 0x0000000C, 0x00003138, 0x000044BE, 0x00000A1D, 0x000500C4, + 0x0000000C, 0x0000454D, 0x00003138, 0x00000A11, 0x00050080, 0x0000000C, + 0x0000434B, 0x00004D38, 0x0000454D, 0x000500C4, 0x0000000C, 0x00001B88, + 0x0000434B, 0x00000A1F, 0x000500C3, 0x0000000C, 0x00005DE3, 0x00001B88, + 0x00000A1D, 0x000500C3, 0x0000000C, 0x00002215, 0x000044BE, 0x00000A14, + 0x00050080, 0x0000000C, 0x000035A3, 0x00002215, 0x00004955, 0x000500C7, + 0x0000000C, 0x00005A0C, 0x000035A3, 0x00000A0E, 0x000500C3, 0x0000000C, + 0x00004112, 0x00003964, 0x00000A14, 0x000500C4, 0x0000000C, 0x0000496A, + 0x00005A0C, 0x00000A0E, 0x00050080, 0x0000000C, 0x000034BD, 0x00004112, + 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, 0x000018DA, 0x00000A14, 0x000500C4, 0x0000000C, + 0x0000544B, 0x000047B4, 0x00000A1F, 0x00050080, 0x0000000C, 0x00004157, + 0x0000285C, 0x0000544B, 0x000500C7, 0x0000000C, 0x00004ADE, 0x000044BE, + 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, 0x00005EA0, 0x00004158, 0x00000AC8, 0x00050080, 0x0000000C, + 0x000054ED, 0x00005B34, 0x00005EA0, 0x000200F9, 0x00001E0B, 0x000200F8, + 0x00006228, 0x0004007C, 0x00000012, 0x00001A8C, 0x00004993, 0x00050041, + 0x00000288, 0x00004969, 0x0000147D, 0x00000A11, 0x0004003D, 0x0000000B, + 0x00002EB2, 0x00004969, 0x00050051, 0x0000000C, 0x00004944, 0x00001A8C, + 0x00000000, 0x000500C3, 0x0000000C, 0x00004CF5, 0x00004944, 0x00000A1A, + 0x00050051, 0x0000000C, 0x00002747, 0x00001A8C, 0x00000001, 0x000500C3, + 0x0000000C, 0x0000405C, 0x00002747, 0x00000A1A, 0x000500C2, 0x0000000B, + 0x00005B4D, 0x00002EB2, 0x00000A19, 0x0004007C, 0x0000000C, 0x000018AB, + 0x00005B4D, 0x00050084, 0x0000000C, 0x00005347, 0x0000405C, 0x000018AB, + 0x00050080, 0x0000000C, 0x00003F5E, 0x00004CF5, 0x00005347, 0x000500C4, + 0x0000000C, 0x00004A8E, 0x00003F5E, 0x00000A22, 0x000500C7, 0x0000000C, + 0x00002AB6, 0x00004944, 0x00000A20, 0x000500C7, 0x0000000C, 0x00003139, + 0x00002747, 0x00000A35, 0x000500C4, 0x0000000C, 0x0000454E, 0x00003139, + 0x00000A11, 0x00050080, 0x0000000C, 0x00004397, 0x00002AB6, 0x0000454E, + 0x000500C4, 0x0000000C, 0x000018E7, 0x00004397, 0x00000A0D, 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, 0x00002747, 0x00000A0E, 0x000500C4, + 0x0000000C, 0x0000544D, 0x000047B5, 0x00000A17, 0x00050080, 0x0000000C, + 0x00004159, 0x00004D30, 0x0000544D, 0x000500C7, 0x0000000C, 0x00005022, + 0x00004159, 0x0000040B, 0x000500C4, 0x0000000C, 0x00002416, 0x00005022, + 0x00000A14, 0x000500C7, 0x0000000C, 0x00004A33, 0x00002747, 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, 0x00002747, 0x00000A23, + 0x000500C3, 0x0000000C, 0x000041BF, 0x00005083, 0x00000A11, 0x000500C3, + 0x0000000C, 0x00001EEC, 0x00004944, 0x00000A14, 0x00050080, 0x0000000C, + 0x000035B6, 0x000041BF, 0x00001EEC, 0x000500C7, 0x0000000C, 0x00005453, + 0x000035B6, 0x00000A14, 0x000500C4, 0x0000000C, 0x0000544F, 0x00005453, + 0x00000A1D, 0x00050080, 0x0000000C, 0x00003C4D, 0x00004144, 0x0000544F, + 0x000500C7, 0x0000000C, 0x0000374D, 0x00004159, 0x00000AC8, 0x00050080, + 0x0000000C, 0x00002F42, 0x00003C4D, 0x0000374D, 0x000200F9, 0x00001E0B, + 0x000200F8, 0x00001E0B, 0x000700F5, 0x0000000C, 0x0000292C, 0x000054ED, + 0x00002F61, 0x00002F42, 0x00006228, 0x000200F9, 0x00005AE2, 0x000200F8, + 0x00002A0D, 0x00050041, 0x00000288, 0x00005098, 0x0000147D, 0x00000A11, + 0x0004003D, 0x0000000B, 0x00003D0C, 0x00005098, 0x00050041, 0x00000288, + 0x0000531B, 0x0000147D, 0x00000A14, 0x0004003D, 0x0000000B, 0x000034EE, + 0x0000531B, 0x0004007C, 0x0000000C, 0x00003ADE, 0x000034EE, 0x00050084, + 0x0000000C, 0x000049EF, 0x000018DA, 0x00003ADE, 0x00050080, 0x0000000C, + 0x0000208E, 0x000049EF, 0x000044BE, 0x0004007C, 0x0000000C, 0x000022F8, + 0x00003D0C, 0x00050084, 0x0000000C, 0x00001E9F, 0x0000208E, 0x000022F8, + 0x00050080, 0x0000000C, 0x00001F30, 0x0000591A, 0x00001E9F, 0x000200F9, + 0x00005AE2, 0x000200F8, 0x00005AE2, 0x000700F5, 0x0000000C, 0x00004D24, + 0x0000292C, 0x00001E0B, 0x00001F30, 0x00002A0D, 0x00050041, 0x00000288, + 0x0000615A, 0x0000147D, 0x00000A0E, 0x0004003D, 0x0000000B, 0x00001D4E, + 0x0000615A, 0x0004007C, 0x0000000C, 0x00003D46, 0x00001D4E, 0x00050080, + 0x0000000C, 0x00003CDB, 0x00003D46, 0x00004D24, 0x0004007C, 0x0000000B, + 0x0000487C, 0x00003CDB, 0x000500C2, 0x0000000B, 0x000053F5, 0x0000487C, + 0x00000A16, 0x000500C2, 0x0000000B, 0x00003A95, 0x000053A3, 0x00000A10, + 0x000500C7, 0x0000000B, 0x000020CA, 0x00003A95, 0x00000A13, 0x00060041, + 0x00000294, 0x000050F7, 0x0000107A, 0x00000A0B, 0x000053F5, 0x0004003D, + 0x00000017, 0x00002585, 0x000050F7, 0x000500AA, 0x00000009, 0x00005272, + 0x000020CA, 0x00000A0D, 0x000300F7, 0x0000368A, 0x00000000, 0x000400FA, + 0x00005272, 0x00002957, 0x0000368A, 0x000200F8, 0x00002957, 0x000500C7, + 0x00000017, 0x0000475F, 0x00002585, 0x000009CE, 0x000500C4, 0x00000017, + 0x000024D1, 0x0000475F, 0x0000013D, 0x000500C7, 0x00000017, 0x000050AC, + 0x00002585, 0x0000072E, 0x000500C2, 0x00000017, 0x0000448D, 0x000050AC, + 0x0000013D, 0x000500C5, 0x00000017, 0x00003FF8, 0x000024D1, 0x0000448D, + 0x000200F9, 0x0000368A, 0x000200F8, 0x0000368A, 0x000700F5, 0x00000017, + 0x000040DE, 0x00002585, 0x00005AE2, 0x00003FF8, 0x00002957, 0x000500C7, + 0x00000017, 0x00004740, 0x000040DE, 0x00000352, 0x00040070, 0x0000001D, + 0x000023B1, 0x00004740, 0x0005008E, 0x0000001D, 0x00004BA5, 0x000023B1, + 0x0000092A, 0x000500C2, 0x00000017, 0x00005B47, 0x000040DE, 0x000002ED, + 0x00040070, 0x0000001D, 0x0000483C, 0x00005B47, 0x0005008E, 0x0000001D, + 0x00004812, 0x0000483C, 0x0000092A, 0x00050051, 0x0000000D, 0x0000187C, + 0x00004BA5, 0x00000000, 0x00050051, 0x0000000D, 0x000035EE, 0x00004812, + 0x00000000, 0x00050050, 0x00000013, 0x00004B20, 0x0000187C, 0x000035EE, + 0x0006000C, 0x0000000B, 0x00002171, 0x00000001, 0x0000003A, 0x00004B20, + 0x00050051, 0x0000000D, 0x00005BBF, 0x00004BA5, 0x00000001, 0x00050051, + 0x0000000D, 0x000039A7, 0x00004812, 0x00000001, 0x00050050, 0x00000013, + 0x00004B21, 0x00005BBF, 0x000039A7, 0x0006000C, 0x0000000B, 0x00002172, + 0x00000001, 0x0000003A, 0x00004B21, 0x00050051, 0x0000000D, 0x00005BC0, + 0x00004BA5, 0x00000002, 0x00050051, 0x0000000D, 0x000039A8, 0x00004812, + 0x00000002, 0x00050050, 0x00000013, 0x00004B22, 0x00005BC0, 0x000039A8, + 0x0006000C, 0x0000000B, 0x00002173, 0x00000001, 0x0000003A, 0x00004B22, + 0x00050051, 0x0000000D, 0x00005BC1, 0x00004BA5, 0x00000003, 0x00050051, + 0x0000000D, 0x000039A9, 0x00004812, 0x00000003, 0x00050050, 0x00000013, + 0x00004B0D, 0x00005BC1, 0x000039A9, 0x0006000C, 0x0000000B, 0x000020EE, + 0x00000001, 0x0000003A, 0x00004B0D, 0x00070050, 0x00000017, 0x00003ABB, + 0x00002171, 0x00002172, 0x00002173, 0x000020EE, 0x00060041, 0x00000294, + 0x000045C3, 0x0000140E, 0x00000A0B, 0x000054A6, 0x0003003E, 0x000045C3, + 0x00003ABB, 0x00050080, 0x0000000B, 0x00003AC4, 0x000054A6, 0x00000A0E, + 0x000600A9, 0x0000000B, 0x00004958, 0x000028E3, 0x00000ACA, 0x00000A3A, + 0x000500C2, 0x0000000B, 0x00002E1B, 0x00004958, 0x00000A16, 0x00050080, + 0x0000000B, 0x0000367B, 0x000053F5, 0x00002E1B, 0x00060041, 0x00000294, + 0x0000571A, 0x0000107A, 0x00000A0B, 0x0000367B, 0x0004003D, 0x00000017, + 0x000019B2, 0x0000571A, 0x000300F7, 0x0000368B, 0x00000000, 0x000400FA, + 0x00005272, 0x00002958, 0x0000368B, 0x000200F8, 0x00002958, 0x000500C7, + 0x00000017, 0x00004760, 0x000019B2, 0x000009CE, 0x000500C4, 0x00000017, + 0x000024D2, 0x00004760, 0x0000013D, 0x000500C7, 0x00000017, 0x000050AD, + 0x000019B2, 0x0000072E, 0x000500C2, 0x00000017, 0x0000448E, 0x000050AD, + 0x0000013D, 0x000500C5, 0x00000017, 0x00003FF9, 0x000024D2, 0x0000448E, + 0x000200F9, 0x0000368B, 0x000200F8, 0x0000368B, 0x000700F5, 0x00000017, + 0x000040DF, 0x000019B2, 0x0000368A, 0x00003FF9, 0x00002958, 0x000500C7, + 0x00000017, 0x00004741, 0x000040DF, 0x00000352, 0x00040070, 0x0000001D, + 0x000023B2, 0x00004741, 0x0005008E, 0x0000001D, 0x00004BA6, 0x000023B2, + 0x0000092A, 0x000500C2, 0x00000017, 0x00005B48, 0x000040DF, 0x000002ED, + 0x00040070, 0x0000001D, 0x0000483D, 0x00005B48, 0x0005008E, 0x0000001D, + 0x00004813, 0x0000483D, 0x0000092A, 0x00050051, 0x0000000D, 0x0000187D, + 0x00004BA6, 0x00000000, 0x00050051, 0x0000000D, 0x000035EF, 0x00004813, + 0x00000000, 0x00050050, 0x00000013, 0x00004B23, 0x0000187D, 0x000035EF, + 0x0006000C, 0x0000000B, 0x00002174, 0x00000001, 0x0000003A, 0x00004B23, + 0x00050051, 0x0000000D, 0x00005BC2, 0x00004BA6, 0x00000001, 0x00050051, + 0x0000000D, 0x000039AA, 0x00004813, 0x00000001, 0x00050050, 0x00000013, + 0x00004B24, 0x00005BC2, 0x000039AA, 0x0006000C, 0x0000000B, 0x00002175, + 0x00000001, 0x0000003A, 0x00004B24, 0x00050051, 0x0000000D, 0x00005BC3, + 0x00004BA6, 0x00000002, 0x00050051, 0x0000000D, 0x000039AB, 0x00004813, + 0x00000002, 0x00050050, 0x00000013, 0x00004B25, 0x00005BC3, 0x000039AB, + 0x0006000C, 0x0000000B, 0x00002176, 0x00000001, 0x0000003A, 0x00004B25, + 0x00050051, 0x0000000D, 0x00005BC4, 0x00004BA6, 0x00000003, 0x00050051, + 0x0000000D, 0x000039AC, 0x00004813, 0x00000003, 0x00050050, 0x00000013, + 0x00004B0E, 0x00005BC4, 0x000039AC, 0x0006000C, 0x0000000B, 0x000020EF, + 0x00000001, 0x0000003A, 0x00004B0E, 0x00070050, 0x00000017, 0x00003ABC, + 0x00002174, 0x00002175, 0x00002176, 0x000020EF, 0x00060041, 0x00000294, + 0x00004EBE, 0x0000140E, 0x00000A0B, 0x00003AC4, 0x0003003E, 0x00004EBE, + 0x00003ABC, 0x000200F9, 0x00004C7A, 0x000200F8, 0x00004C7A, 0x000100FD, + 0x00010038, +}; diff --git a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_r16_unorm_float_scaled_cs.h b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_r16_unorm_float_scaled_cs.h new file mode 100644 index 000000000..44422dc3d --- /dev/null +++ b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_r16_unorm_float_scaled_cs.h @@ -0,0 +1,716 @@ +// Generated with `xb buildshaders`. +#if 0 +; SPIR-V +; Version: 1.0 +; Generator: Khronos Glslang Reference Front End; 10 +; Bound: 25179 +; Schema: 0 + OpCapability Shader + %1 = OpExtInstImport "GLSL.std.450" + OpMemoryModel Logical GLSL450 + OpEntryPoint GLCompute %5663 "main" %gl_GlobalInvocationID + OpExecutionMode %5663 LocalSize 2 32 1 + OpMemberDecorate %_struct_1161 0 Offset 0 + OpMemberDecorate %_struct_1161 1 Offset 4 + OpMemberDecorate %_struct_1161 2 Offset 8 + OpMemberDecorate %_struct_1161 3 Offset 12 + OpMemberDecorate %_struct_1161 4 Offset 16 + OpMemberDecorate %_struct_1161 5 Offset 28 + OpMemberDecorate %_struct_1161 6 Offset 32 + OpMemberDecorate %_struct_1161 7 Offset 36 + OpDecorate %_struct_1161 Block + OpDecorate %5245 DescriptorSet 2 + OpDecorate %5245 Binding 0 + 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 %5134 DescriptorSet 0 + OpDecorate %5134 Binding 0 + OpDecorate %_runtimearr_v4uint_0 ArrayStride 16 + OpMemberDecorate %_struct_1973 0 NonWritable + OpMemberDecorate %_struct_1973 0 Offset 0 + OpDecorate %_struct_1973 BufferBlock + OpDecorate %4218 DescriptorSet 1 + OpDecorate %4218 Binding 0 + OpDecorate %gl_WorkGroupSize BuiltIn WorkgroupSize + %void = OpTypeVoid + %1282 = OpTypeFunction %void + %uint = OpTypeInt 32 0 + %v4uint = OpTypeVector %uint 4 + %int = OpTypeInt 32 1 + %v2int = OpTypeVector %int 2 + %v3int = OpTypeVector %int 3 + %bool = OpTypeBool + %v3uint = OpTypeVector %uint 3 + %v2uint = OpTypeVector %uint 2 + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 + %uint_65535 = OpConstant %uint 65535 +%float_1_52590219en05 = OpConstant %float 1.52590219e-05 + %uint_16 = OpConstant %uint 16 + %uint_0 = OpConstant %uint 0 + %v2float = OpTypeVector %float 2 + %uint_1 = OpConstant %uint 1 + %uint_2 = OpConstant %uint 2 + %uint_3 = OpConstant %uint 3 +%uint_16711935 = OpConstant %uint 16711935 + %uint_8 = OpConstant %uint 8 +%uint_4278255360 = OpConstant %uint 4278255360 + %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 + %uint_6 = OpConstant %uint 6 +%int_268435455 = OpConstant %int 268435455 + %int_n2 = OpConstant %int -2 + %uint_32 = OpConstant %uint 32 + %uint_64 = OpConstant %uint 64 +%_struct_1161 = OpTypeStruct %uint %uint %uint %uint %v3uint %uint %uint %uint +%_ptr_Uniform__struct_1161 = OpTypePointer Uniform %_struct_1161 + %5245 = OpVariable %_ptr_Uniform__struct_1161 Uniform + %int_0 = OpConstant %int 0 +%_ptr_Uniform_uint = OpTypePointer Uniform %uint + %1915 = OpConstantComposite %v2uint %uint_4 %uint_6 +%_ptr_Uniform_v3uint = OpTypePointer Uniform %v3uint +%_ptr_Input_v3uint = OpTypePointer Input %v3uint +%gl_GlobalInvocationID = OpVariable %_ptr_Input_v3uint Input + %2612 = OpConstantComposite %v3uint %uint_4 %uint_0 %uint_0 + %v2bool = OpTypeVector %bool 2 +%_runtimearr_v4uint = OpTypeRuntimeArray %v4uint +%_struct_1972 = OpTypeStruct %_runtimearr_v4uint +%_ptr_Uniform__struct_1972 = OpTypePointer Uniform %_struct_1972 + %5134 = OpVariable %_ptr_Uniform__struct_1972 Uniform +%_runtimearr_v4uint_0 = OpTypeRuntimeArray %v4uint +%_struct_1973 = OpTypeStruct %_runtimearr_v4uint_0 +%_ptr_Uniform__struct_1973 = OpTypePointer Uniform %_struct_1973 + %4218 = OpVariable %_ptr_Uniform__struct_1973 Uniform +%_ptr_Uniform_v4uint = OpTypePointer Uniform %v4uint +%gl_WorkGroupSize = OpConstantComposite %v3uint %uint_2 %uint_32 %uint_1 + %1870 = OpConstantComposite %v2uint %uint_3 %uint_3 + %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 + %850 = OpConstantComposite %v4uint %uint_65535 %uint_65535 %uint_65535 %uint_65535 + %749 = OpConstantComposite %v4uint %uint_16 %uint_16 %uint_16 %uint_16 + %5663 = OpFunction %void None %1282 + %15110 = OpLabel + OpSelectionMerge %19578 None + OpSwitch %uint_0 %15137 + %15137 = OpLabel + %12591 = OpLoad %v3uint %gl_GlobalInvocationID + %10229 = OpShiftLeftLogical %v3uint %12591 %2612 + %25178 = OpAccessChain %_ptr_Uniform_v3uint %5245 %int_4 + %22965 = OpLoad %v3uint %25178 + %18835 = OpVectorShuffle %v2uint %10229 %10229 0 1 + %6626 = OpVectorShuffle %v2uint %22965 %22965 0 1 + %17032 = OpUGreaterThanEqual %v2bool %18835 %6626 + %24679 = OpAny %bool %17032 + OpSelectionMerge %6282 DontFlatten + OpBranchConditional %24679 %21992 %6282 + %21992 = OpLabel + OpBranch %19578 + %6282 = OpLabel + %6795 = OpBitcast %v3int %10229 + %18792 = OpAccessChain %_ptr_Uniform_uint %5245 %int_6 + %9788 = OpLoad %uint %18792 + %20376 = OpCompositeExtract %uint %22965 1 + %14692 = OpCompositeExtract %int %6795 0 + %22810 = OpIMul %int %14692 %int_2 + %6362 = OpCompositeExtract %int %6795 2 + %14505 = OpBitcast %int %20376 + %11279 = OpIMul %int %6362 %14505 + %17598 = OpCompositeExtract %int %6795 1 + %22228 = OpIAdd %int %11279 %17598 + %22405 = OpBitcast %int %9788 + %24535 = OpIMul %int %22228 %22405 + %7061 = OpIAdd %int %22810 %24535 + %19270 = OpBitcast %uint %7061 + %19460 = OpAccessChain %_ptr_Uniform_uint %5245 %int_5 + %22875 = OpLoad %uint %19460 + %8517 = OpIAdd %uint %19270 %22875 + %21670 = OpShiftRightLogical %uint %8517 %uint_4 + %18404 = OpAccessChain %_ptr_Uniform_uint %5245 %int_1 + %23432 = OpLoad %uint %18404 + %22700 = OpAccessChain %_ptr_Uniform_uint %5245 %int_0 + %20387 = OpLoad %uint %22700 + %22279 = OpBitwiseAnd %uint %20387 %uint_2 + %19223 = OpINotEqual %bool %22279 %uint_0 + %17247 = OpCompositeConstruct %v2uint %20387 %20387 + %22947 = OpShiftRightLogical %v2uint %17247 %1915 + %6551 = OpBitwiseAnd %v2uint %22947 %1870 + %18732 = OpAccessChain %_ptr_Uniform_uint %5245 %int_2 + %24236 = OpLoad %uint %18732 + %20458 = OpAccessChain %_ptr_Uniform_uint %5245 %int_3 + %22167 = OpLoad %uint %20458 + %18929 = OpCompositeExtract %uint %10229 0 + %6638 = OpShiftRightLogical %uint %18929 %uint_3 + %9988 = OpCompositeExtract %uint %10229 1 + %23563 = OpCompositeConstruct %v2uint %6638 %9988 + %8041 = OpUDiv %v2uint %23563 %6551 + %13932 = OpCompositeExtract %uint %8041 0 + %19789 = OpShiftLeftLogical %uint %13932 %uint_3 + %20905 = OpCompositeExtract %uint %8041 1 + %23022 = OpCompositeExtract %uint %10229 2 + %9417 = OpCompositeConstruct %v3uint %19789 %20905 %23022 + OpSelectionMerge %21313 DontFlatten + OpBranchConditional %19223 %21373 %11737 + %21373 = OpLabel + %10608 = OpBitcast %v3int %9417 + %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 %22167 %uint_4 + %6314 = OpBitcast %int %23373 + %21281 = OpIMul %int %16476 %6314 + %15143 = OpIAdd %int %9469 %21281 + %9032 = OpShiftRightLogical %uint %24236 %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_7 + %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_7 + %24035 = OpShiftRightArithmetic %int %7048 %int_6 + %8725 = OpShiftRightArithmetic %int %17090 %int_3 + %13731 = OpIAdd %int %8725 %16476 + %23052 = OpBitwiseAnd %int %13731 %int_1 + %16658 = OpShiftRightArithmetic %int %25154 %int_3 + %18794 = OpShiftLeftLogical %int %23052 %int_1 + %13501 = OpIAdd %int %16658 %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_7 + %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 %9417 %9417 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 %24236 %uint_5 + %6315 = OpBitcast %int %23374 + %21319 = OpIMul %int %16477 %6315 + %16222 = OpIAdd %int %9470 %21319 + %19086 = OpShiftLeftLogical %int %16222 %uint_8 + %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_1 + %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 %8041 %6551 + %15292 = OpISub %v2uint %23563 %16296 + %7303 = OpCompositeExtract %uint %6551 0 + %22882 = OpCompositeExtract %uint %6551 1 + %13170 = OpIMul %uint %7303 %22882 + %15520 = OpIMul %uint %9468 %13170 + %16084 = OpCompositeExtract %uint %15292 0 + %15890 = OpIMul %uint %16084 %22882 + %6886 = OpCompositeExtract %uint %15292 1 + %11045 = OpIAdd %uint %15890 %6886 + %24733 = OpShiftLeftLogical %uint %11045 %uint_3 + %23219 = OpBitwiseAnd %uint %18929 %uint_7 + %9559 = OpIAdd %uint %24733 %23219 + %16557 = OpShiftLeftLogical %uint %9559 %uint_1 + %20138 = OpIAdd %uint %15520 %16557 + %17724 = OpIAdd %uint %23432 %20138 + %14040 = OpShiftRightLogical %uint %17724 %uint_4 + %11766 = OpShiftRightLogical %uint %20387 %uint_2 + %8394 = OpBitwiseAnd %uint %11766 %uint_3 + %20727 = OpAccessChain %_ptr_Uniform_v4uint %4218 %int_0 %14040 + %9605 = OpLoad %v4uint %20727 + %21106 = OpIEqual %bool %8394 %uint_1 + OpSelectionMerge %13962 None + OpBranchConditional %21106 %10583 %13962 + %10583 = OpLabel + %18271 = OpBitwiseAnd %v4uint %9605 %2510 + %9425 = OpShiftLeftLogical %v4uint %18271 %317 + %20652 = OpBitwiseAnd %v4uint %9605 %1838 + %17549 = OpShiftRightLogical %v4uint %20652 %317 + %16376 = OpBitwiseOr %v4uint %9425 %17549 + OpBranch %13962 + %13962 = OpLabel + %16606 = OpPhi %v4uint %9605 %21313 %16376 %10583 + %18240 = OpBitwiseAnd %v4uint %16606 %850 + %9137 = OpConvertUToF %v4float %18240 + %19365 = OpVectorTimesScalar %v4float %9137 %float_1_52590219en05 + %23367 = OpShiftRightLogical %v4uint %16606 %749 + %18492 = OpConvertUToF %v4float %23367 + %18450 = OpVectorTimesScalar %v4float %18492 %float_1_52590219en05 + %6268 = OpCompositeExtract %float %19365 0 + %13806 = OpCompositeExtract %float %18450 0 + %19232 = OpCompositeConstruct %v2float %6268 %13806 + %8561 = OpExtInst %uint %1 PackHalf2x16 %19232 + %23487 = OpCompositeExtract %float %19365 1 + %14759 = OpCompositeExtract %float %18450 1 + %19233 = OpCompositeConstruct %v2float %23487 %14759 + %8562 = OpExtInst %uint %1 PackHalf2x16 %19233 + %23488 = OpCompositeExtract %float %19365 2 + %14760 = OpCompositeExtract %float %18450 2 + %19234 = OpCompositeConstruct %v2float %23488 %14760 + %8563 = OpExtInst %uint %1 PackHalf2x16 %19234 + %23489 = OpCompositeExtract %float %19365 3 + %14761 = OpCompositeExtract %float %18450 3 + %19213 = OpCompositeConstruct %v2float %23489 %14761 + %8430 = OpExtInst %uint %1 PackHalf2x16 %19213 + %15035 = OpCompositeConstruct %v4uint %8561 %8562 %8563 %8430 + %17859 = OpAccessChain %_ptr_Uniform_v4uint %5134 %int_0 %21670 + OpStore %17859 %15035 + %15532 = OpIAdd %uint %21670 %int_1 + %6417 = OpUGreaterThan %bool %7303 %uint_1 + OpSelectionMerge %24764 DontFlatten + OpBranchConditional %6417 %20612 %20628 + %20612 = OpLabel + %13975 = OpUDiv %uint %6638 %7303 + %9086 = OpIMul %uint %13975 %7303 + %12657 = OpISub %uint %6638 %9086 + %9511 = OpIAdd %uint %12657 %uint_1 + %13375 = OpIEqual %bool %9511 %7303 + OpSelectionMerge %7917 None + OpBranchConditional %13375 %22174 %8593 + %22174 = OpLabel + %19289 = OpIMul %uint %uint_64 %7303 + %21519 = OpShiftLeftLogical %uint %12657 %uint_4 + %18756 = OpISub %uint %19289 %21519 + OpBranch %7917 + %8593 = OpLabel + OpBranch %7917 + %7917 = OpLabel + %10540 = OpPhi %uint %18756 %22174 %uint_16 %8593 + OpBranch %24764 + %20628 = OpLabel + OpBranch %24764 + %24764 = OpLabel + %10684 = OpPhi %uint %10540 %7917 %uint_64 %20628 + %18731 = OpIMul %uint %10684 %22882 + %16493 = OpShiftRightLogical %uint %18731 %uint_4 + %13163 = OpIAdd %uint %14040 %16493 + %22298 = OpAccessChain %_ptr_Uniform_v4uint %4218 %int_0 %13163 + %6578 = OpLoad %v4uint %22298 + OpSelectionMerge %13963 None + OpBranchConditional %21106 %10584 %13963 + %10584 = OpLabel + %18272 = OpBitwiseAnd %v4uint %6578 %2510 + %9426 = OpShiftLeftLogical %v4uint %18272 %317 + %20653 = OpBitwiseAnd %v4uint %6578 %1838 + %17550 = OpShiftRightLogical %v4uint %20653 %317 + %16377 = OpBitwiseOr %v4uint %9426 %17550 + OpBranch %13963 + %13963 = OpLabel + %16607 = OpPhi %v4uint %6578 %24764 %16377 %10584 + %18241 = OpBitwiseAnd %v4uint %16607 %850 + %9138 = OpConvertUToF %v4float %18241 + %19366 = OpVectorTimesScalar %v4float %9138 %float_1_52590219en05 + %23368 = OpShiftRightLogical %v4uint %16607 %749 + %18493 = OpConvertUToF %v4float %23368 + %18451 = OpVectorTimesScalar %v4float %18493 %float_1_52590219en05 + %6269 = OpCompositeExtract %float %19366 0 + %13807 = OpCompositeExtract %float %18451 0 + %19235 = OpCompositeConstruct %v2float %6269 %13807 + %8564 = OpExtInst %uint %1 PackHalf2x16 %19235 + %23490 = OpCompositeExtract %float %19366 1 + %14762 = OpCompositeExtract %float %18451 1 + %19236 = OpCompositeConstruct %v2float %23490 %14762 + %8565 = OpExtInst %uint %1 PackHalf2x16 %19236 + %23491 = OpCompositeExtract %float %19366 2 + %14763 = OpCompositeExtract %float %18451 2 + %19237 = OpCompositeConstruct %v2float %23491 %14763 + %8566 = OpExtInst %uint %1 PackHalf2x16 %19237 + %23492 = OpCompositeExtract %float %19366 3 + %14764 = OpCompositeExtract %float %18451 3 + %19214 = OpCompositeConstruct %v2float %23492 %14764 + %8431 = OpExtInst %uint %1 PackHalf2x16 %19214 + %15036 = OpCompositeConstruct %v4uint %8564 %8565 %8566 %8431 + %20158 = OpAccessChain %_ptr_Uniform_v4uint %5134 %int_0 %15532 + OpStore %20158 %15036 + OpBranch %19578 + %19578 = OpLabel + OpReturn + OpFunctionEnd +#endif + +const uint32_t texture_load_r16_unorm_float_scaled_cs[] = { + 0x07230203, 0x00010000, 0x0008000A, 0x0000625B, 0x00000000, 0x00020011, + 0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E, + 0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0006000F, 0x00000005, + 0x0000161F, 0x6E69616D, 0x00000000, 0x00000F48, 0x00060010, 0x0000161F, + 0x00000011, 0x00000002, 0x00000020, 0x00000001, 0x00050048, 0x00000489, + 0x00000000, 0x00000023, 0x00000000, 0x00050048, 0x00000489, 0x00000001, + 0x00000023, 0x00000004, 0x00050048, 0x00000489, 0x00000002, 0x00000023, + 0x00000008, 0x00050048, 0x00000489, 0x00000003, 0x00000023, 0x0000000C, + 0x00050048, 0x00000489, 0x00000004, 0x00000023, 0x00000010, 0x00050048, + 0x00000489, 0x00000005, 0x00000023, 0x0000001C, 0x00050048, 0x00000489, + 0x00000006, 0x00000023, 0x00000020, 0x00050048, 0x00000489, 0x00000007, + 0x00000023, 0x00000024, 0x00030047, 0x00000489, 0x00000002, 0x00040047, + 0x0000147D, 0x00000022, 0x00000002, 0x00040047, 0x0000147D, 0x00000021, + 0x00000000, 0x00040047, 0x00000F48, 0x0000000B, 0x0000001C, 0x00040047, + 0x000007DC, 0x00000006, 0x00000010, 0x00040048, 0x000007B4, 0x00000000, + 0x00000019, 0x00050048, 0x000007B4, 0x00000000, 0x00000023, 0x00000000, + 0x00030047, 0x000007B4, 0x00000003, 0x00040047, 0x0000140E, 0x00000022, + 0x00000000, 0x00040047, 0x0000140E, 0x00000021, 0x00000000, 0x00040047, + 0x000007DD, 0x00000006, 0x00000010, 0x00040048, 0x000007B5, 0x00000000, + 0x00000018, 0x00050048, 0x000007B5, 0x00000000, 0x00000023, 0x00000000, + 0x00030047, 0x000007B5, 0x00000003, 0x00040047, 0x0000107A, 0x00000022, + 0x00000001, 0x00040047, 0x0000107A, 0x00000021, 0x00000000, 0x00040047, + 0x00000BB1, 0x0000000B, 0x00000019, 0x00020013, 0x00000008, 0x00030021, + 0x00000502, 0x00000008, 0x00040015, 0x0000000B, 0x00000020, 0x00000000, + 0x00040017, 0x00000017, 0x0000000B, 0x00000004, 0x00040015, 0x0000000C, + 0x00000020, 0x00000001, 0x00040017, 0x00000012, 0x0000000C, 0x00000002, + 0x00040017, 0x00000016, 0x0000000C, 0x00000003, 0x00020014, 0x00000009, + 0x00040017, 0x00000014, 0x0000000B, 0x00000003, 0x00040017, 0x00000011, + 0x0000000B, 0x00000002, 0x00030016, 0x0000000D, 0x00000020, 0x00040017, + 0x0000001D, 0x0000000D, 0x00000004, 0x0004002B, 0x0000000B, 0x000001C1, + 0x0000FFFF, 0x0004002B, 0x0000000D, 0x0000092A, 0x37800080, 0x0004002B, + 0x0000000B, 0x00000A3A, 0x00000010, 0x0004002B, 0x0000000B, 0x00000A0A, + 0x00000000, 0x00040017, 0x00000013, 0x0000000D, 0x00000002, 0x0004002B, + 0x0000000B, 0x00000A0D, 0x00000001, 0x0004002B, 0x0000000B, 0x00000A10, + 0x00000002, 0x0004002B, 0x0000000B, 0x00000A13, 0x00000003, 0x0004002B, + 0x0000000B, 0x000008A6, 0x00FF00FF, 0x0004002B, 0x0000000B, 0x00000A22, + 0x00000008, 0x0004002B, 0x0000000B, 0x000005FD, 0xFF00FF00, 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, + 0x0000000B, 0x00000A1C, 0x00000006, 0x0004002B, 0x0000000C, 0x0000078B, + 0x0FFFFFFF, 0x0004002B, 0x0000000C, 0x00000A05, 0xFFFFFFFE, 0x0004002B, + 0x0000000B, 0x00000A6A, 0x00000020, 0x0004002B, 0x0000000B, 0x00000ACA, + 0x00000040, 0x000A001E, 0x00000489, 0x0000000B, 0x0000000B, 0x0000000B, + 0x0000000B, 0x00000014, 0x0000000B, 0x0000000B, 0x0000000B, 0x00040020, + 0x00000706, 0x00000002, 0x00000489, 0x0004003B, 0x00000706, 0x0000147D, + 0x00000002, 0x0004002B, 0x0000000C, 0x00000A0B, 0x00000000, 0x00040020, + 0x00000288, 0x00000002, 0x0000000B, 0x0005002C, 0x00000011, 0x0000077B, + 0x00000A16, 0x00000A1C, 0x00040020, 0x00000291, 0x00000002, 0x00000014, + 0x00040020, 0x00000292, 0x00000001, 0x00000014, 0x0004003B, 0x00000292, + 0x00000F48, 0x00000001, 0x0006002C, 0x00000014, 0x00000A34, 0x00000A16, + 0x00000A0A, 0x00000A0A, 0x00040017, 0x0000000F, 0x00000009, 0x00000002, + 0x0003001D, 0x000007DC, 0x00000017, 0x0003001E, 0x000007B4, 0x000007DC, + 0x00040020, 0x00000A31, 0x00000002, 0x000007B4, 0x0004003B, 0x00000A31, + 0x0000140E, 0x00000002, 0x0003001D, 0x000007DD, 0x00000017, 0x0003001E, + 0x000007B5, 0x000007DD, 0x00040020, 0x00000A32, 0x00000002, 0x000007B5, + 0x0004003B, 0x00000A32, 0x0000107A, 0x00000002, 0x00040020, 0x00000294, + 0x00000002, 0x00000017, 0x0006002C, 0x00000014, 0x00000BB1, 0x00000A10, + 0x00000A6A, 0x00000A0D, 0x0005002C, 0x00000011, 0x0000074E, 0x00000A13, + 0x00000A13, 0x0007002C, 0x00000017, 0x000009CE, 0x000008A6, 0x000008A6, + 0x000008A6, 0x000008A6, 0x0007002C, 0x00000017, 0x0000013D, 0x00000A22, + 0x00000A22, 0x00000A22, 0x00000A22, 0x0007002C, 0x00000017, 0x0000072E, + 0x000005FD, 0x000005FD, 0x000005FD, 0x000005FD, 0x0007002C, 0x00000017, + 0x00000352, 0x000001C1, 0x000001C1, 0x000001C1, 0x000001C1, 0x0007002C, + 0x00000017, 0x000002ED, 0x00000A3A, 0x00000A3A, 0x00000A3A, 0x00000A3A, + 0x00050036, 0x00000008, 0x0000161F, 0x00000000, 0x00000502, 0x000200F8, + 0x00003B06, 0x000300F7, 0x00004C7A, 0x00000000, 0x000300FB, 0x00000A0A, + 0x00003B21, 0x000200F8, 0x00003B21, 0x0004003D, 0x00000014, 0x0000312F, + 0x00000F48, 0x000500C4, 0x00000014, 0x000027F5, 0x0000312F, 0x00000A34, + 0x00050041, 0x00000291, 0x0000625A, 0x0000147D, 0x00000A17, 0x0004003D, + 0x00000014, 0x000059B5, 0x0000625A, 0x0007004F, 0x00000011, 0x00004993, + 0x000027F5, 0x000027F5, 0x00000000, 0x00000001, 0x0007004F, 0x00000011, + 0x000019E2, 0x000059B5, 0x000059B5, 0x00000000, 0x00000001, 0x000500AE, + 0x0000000F, 0x00004288, 0x00004993, 0x000019E2, 0x0004009A, 0x00000009, + 0x00006067, 0x00004288, 0x000300F7, 0x0000188A, 0x00000002, 0x000400FA, + 0x00006067, 0x000055E8, 0x0000188A, 0x000200F8, 0x000055E8, 0x000200F9, + 0x00004C7A, 0x000200F8, 0x0000188A, 0x0004007C, 0x00000016, 0x00001A8B, + 0x000027F5, 0x00050041, 0x00000288, 0x00004968, 0x0000147D, 0x00000A1D, + 0x0004003D, 0x0000000B, 0x0000263C, 0x00004968, 0x00050051, 0x0000000B, + 0x00004F98, 0x000059B5, 0x00000001, 0x00050051, 0x0000000C, 0x00003964, + 0x00001A8B, 0x00000000, 0x00050084, 0x0000000C, 0x0000591A, 0x00003964, + 0x00000A11, 0x00050051, 0x0000000C, 0x000018DA, 0x00001A8B, 0x00000002, + 0x0004007C, 0x0000000C, 0x000038A9, 0x00004F98, 0x00050084, 0x0000000C, + 0x00002C0F, 0x000018DA, 0x000038A9, 0x00050051, 0x0000000C, 0x000044BE, + 0x00001A8B, 0x00000001, 0x00050080, 0x0000000C, 0x000056D4, 0x00002C0F, + 0x000044BE, 0x0004007C, 0x0000000C, 0x00005785, 0x0000263C, 0x00050084, + 0x0000000C, 0x00005FD7, 0x000056D4, 0x00005785, 0x00050080, 0x0000000C, + 0x00001B95, 0x0000591A, 0x00005FD7, 0x0004007C, 0x0000000B, 0x00004B46, + 0x00001B95, 0x00050041, 0x00000288, 0x00004C04, 0x0000147D, 0x00000A1A, + 0x0004003D, 0x0000000B, 0x0000595B, 0x00004C04, 0x00050080, 0x0000000B, + 0x00002145, 0x00004B46, 0x0000595B, 0x000500C2, 0x0000000B, 0x000054A6, + 0x00002145, 0x00000A16, 0x00050041, 0x00000288, 0x000047E4, 0x0000147D, + 0x00000A0E, 0x0004003D, 0x0000000B, 0x00005B88, 0x000047E4, 0x00050041, + 0x00000288, 0x000058AC, 0x0000147D, 0x00000A0B, 0x0004003D, 0x0000000B, + 0x00004FA3, 0x000058AC, 0x000500C7, 0x0000000B, 0x00005707, 0x00004FA3, + 0x00000A10, 0x000500AB, 0x00000009, 0x00004B17, 0x00005707, 0x00000A0A, + 0x00050050, 0x00000011, 0x0000435F, 0x00004FA3, 0x00004FA3, 0x000500C2, + 0x00000011, 0x000059A3, 0x0000435F, 0x0000077B, 0x000500C7, 0x00000011, + 0x00001997, 0x000059A3, 0x0000074E, 0x00050041, 0x00000288, 0x0000492C, + 0x0000147D, 0x00000A11, 0x0004003D, 0x0000000B, 0x00005EAC, 0x0000492C, + 0x00050041, 0x00000288, 0x00004FEA, 0x0000147D, 0x00000A14, 0x0004003D, + 0x0000000B, 0x00005697, 0x00004FEA, 0x00050051, 0x0000000B, 0x000049F1, + 0x000027F5, 0x00000000, 0x000500C2, 0x0000000B, 0x000019EE, 0x000049F1, + 0x00000A13, 0x00050051, 0x0000000B, 0x00002704, 0x000027F5, 0x00000001, + 0x00050050, 0x00000011, 0x00005C0B, 0x000019EE, 0x00002704, 0x00050086, + 0x00000011, 0x00001F69, 0x00005C0B, 0x00001997, 0x00050051, 0x0000000B, + 0x0000366C, 0x00001F69, 0x00000000, 0x000500C4, 0x0000000B, 0x00004D4D, + 0x0000366C, 0x00000A13, 0x00050051, 0x0000000B, 0x000051A9, 0x00001F69, + 0x00000001, 0x00050051, 0x0000000B, 0x000059EE, 0x000027F5, 0x00000002, + 0x00060050, 0x00000014, 0x000024C9, 0x00004D4D, 0x000051A9, 0x000059EE, + 0x000300F7, 0x00005341, 0x00000002, 0x000400FA, 0x00004B17, 0x0000537D, + 0x00002DD9, 0x000200F8, 0x0000537D, 0x0004007C, 0x00000016, 0x00002970, + 0x000024C9, 0x00050051, 0x0000000C, 0x000042C2, 0x00002970, 0x00000001, + 0x000500C3, 0x0000000C, 0x000024FD, 0x000042C2, 0x00000A17, 0x00050051, + 0x0000000C, 0x00002747, 0x00002970, 0x00000002, 0x000500C3, 0x0000000C, + 0x0000405C, 0x00002747, 0x00000A11, 0x000500C2, 0x0000000B, 0x00005B4D, + 0x00005697, 0x00000A16, 0x0004007C, 0x0000000C, 0x000018AA, 0x00005B4D, + 0x00050084, 0x0000000C, 0x00005321, 0x0000405C, 0x000018AA, 0x00050080, + 0x0000000C, 0x00003B27, 0x000024FD, 0x00005321, 0x000500C2, 0x0000000B, + 0x00002348, 0x00005EAC, 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, 0x00000A1F, 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, + 0x00000A1F, 0x000500C3, 0x0000000C, 0x00005DE3, 0x00001B88, 0x00000A1D, + 0x000500C3, 0x0000000C, 0x00002215, 0x000042C2, 0x00000A14, 0x00050080, + 0x0000000C, 0x000035A3, 0x00002215, 0x0000405C, 0x000500C7, 0x0000000C, + 0x00005A0C, 0x000035A3, 0x00000A0E, 0x000500C3, 0x0000000C, 0x00004112, + 0x00006242, 0x00000A14, 0x000500C4, 0x0000000C, 0x0000496A, 0x00005A0C, + 0x00000A0E, 0x00050080, 0x0000000C, 0x000034BD, 0x00004112, 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, 0x00000A1F, 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, 0x000024C9, 0x000024C9, 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, 0x00005EAC, 0x00000A19, 0x0004007C, 0x0000000C, + 0x000018AB, 0x00005B4E, 0x00050084, 0x0000000C, 0x00005347, 0x0000405D, + 0x000018AB, 0x00050080, 0x0000000C, 0x00003F5E, 0x000024FE, 0x00005347, + 0x000500C4, 0x0000000C, 0x00004A8E, 0x00003F5E, 0x00000A22, 0x000500C7, + 0x0000000C, 0x00002AB6, 0x00001903, 0x00000A20, 0x000500C7, 0x0000000C, + 0x00003139, 0x00002748, 0x00000A35, 0x000500C4, 0x0000000C, 0x0000454E, + 0x00003139, 0x00000A11, 0x00050080, 0x0000000C, 0x00004397, 0x00002AB6, + 0x0000454E, 0x000500C4, 0x0000000C, 0x000018E7, 0x00004397, 0x00000A0D, + 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, 0x00001F69, + 0x00001997, 0x00050082, 0x00000011, 0x00003BBC, 0x00005C0B, 0x00003FA8, + 0x00050051, 0x0000000B, 0x00001C87, 0x00001997, 0x00000000, 0x00050051, + 0x0000000B, 0x00005962, 0x00001997, 0x00000001, 0x00050084, 0x0000000B, + 0x00003372, 0x00001C87, 0x00005962, 0x00050084, 0x0000000B, 0x00003CA0, + 0x000024FC, 0x00003372, 0x00050051, 0x0000000B, 0x00003ED4, 0x00003BBC, + 0x00000000, 0x00050084, 0x0000000B, 0x00003E12, 0x00003ED4, 0x00005962, + 0x00050051, 0x0000000B, 0x00001AE6, 0x00003BBC, 0x00000001, 0x00050080, + 0x0000000B, 0x00002B25, 0x00003E12, 0x00001AE6, 0x000500C4, 0x0000000B, + 0x0000609D, 0x00002B25, 0x00000A13, 0x000500C7, 0x0000000B, 0x00005AB3, + 0x000049F1, 0x00000A1F, 0x00050080, 0x0000000B, 0x00002557, 0x0000609D, + 0x00005AB3, 0x000500C4, 0x0000000B, 0x000040AD, 0x00002557, 0x00000A0D, + 0x00050080, 0x0000000B, 0x00004EAA, 0x00003CA0, 0x000040AD, 0x00050080, + 0x0000000B, 0x0000453C, 0x00005B88, 0x00004EAA, 0x000500C2, 0x0000000B, + 0x000036D8, 0x0000453C, 0x00000A16, 0x000500C2, 0x0000000B, 0x00002DF6, + 0x00004FA3, 0x00000A10, 0x000500C7, 0x0000000B, 0x000020CA, 0x00002DF6, + 0x00000A13, 0x00060041, 0x00000294, 0x000050F7, 0x0000107A, 0x00000A0B, + 0x000036D8, 0x0004003D, 0x00000017, 0x00002585, 0x000050F7, 0x000500AA, + 0x00000009, 0x00005272, 0x000020CA, 0x00000A0D, 0x000300F7, 0x0000368A, + 0x00000000, 0x000400FA, 0x00005272, 0x00002957, 0x0000368A, 0x000200F8, + 0x00002957, 0x000500C7, 0x00000017, 0x0000475F, 0x00002585, 0x000009CE, + 0x000500C4, 0x00000017, 0x000024D1, 0x0000475F, 0x0000013D, 0x000500C7, + 0x00000017, 0x000050AC, 0x00002585, 0x0000072E, 0x000500C2, 0x00000017, + 0x0000448D, 0x000050AC, 0x0000013D, 0x000500C5, 0x00000017, 0x00003FF8, + 0x000024D1, 0x0000448D, 0x000200F9, 0x0000368A, 0x000200F8, 0x0000368A, + 0x000700F5, 0x00000017, 0x000040DE, 0x00002585, 0x00005341, 0x00003FF8, + 0x00002957, 0x000500C7, 0x00000017, 0x00004740, 0x000040DE, 0x00000352, + 0x00040070, 0x0000001D, 0x000023B1, 0x00004740, 0x0005008E, 0x0000001D, + 0x00004BA5, 0x000023B1, 0x0000092A, 0x000500C2, 0x00000017, 0x00005B47, + 0x000040DE, 0x000002ED, 0x00040070, 0x0000001D, 0x0000483C, 0x00005B47, + 0x0005008E, 0x0000001D, 0x00004812, 0x0000483C, 0x0000092A, 0x00050051, + 0x0000000D, 0x0000187C, 0x00004BA5, 0x00000000, 0x00050051, 0x0000000D, + 0x000035EE, 0x00004812, 0x00000000, 0x00050050, 0x00000013, 0x00004B20, + 0x0000187C, 0x000035EE, 0x0006000C, 0x0000000B, 0x00002171, 0x00000001, + 0x0000003A, 0x00004B20, 0x00050051, 0x0000000D, 0x00005BBF, 0x00004BA5, + 0x00000001, 0x00050051, 0x0000000D, 0x000039A7, 0x00004812, 0x00000001, + 0x00050050, 0x00000013, 0x00004B21, 0x00005BBF, 0x000039A7, 0x0006000C, + 0x0000000B, 0x00002172, 0x00000001, 0x0000003A, 0x00004B21, 0x00050051, + 0x0000000D, 0x00005BC0, 0x00004BA5, 0x00000002, 0x00050051, 0x0000000D, + 0x000039A8, 0x00004812, 0x00000002, 0x00050050, 0x00000013, 0x00004B22, + 0x00005BC0, 0x000039A8, 0x0006000C, 0x0000000B, 0x00002173, 0x00000001, + 0x0000003A, 0x00004B22, 0x00050051, 0x0000000D, 0x00005BC1, 0x00004BA5, + 0x00000003, 0x00050051, 0x0000000D, 0x000039A9, 0x00004812, 0x00000003, + 0x00050050, 0x00000013, 0x00004B0D, 0x00005BC1, 0x000039A9, 0x0006000C, + 0x0000000B, 0x000020EE, 0x00000001, 0x0000003A, 0x00004B0D, 0x00070050, + 0x00000017, 0x00003ABB, 0x00002171, 0x00002172, 0x00002173, 0x000020EE, + 0x00060041, 0x00000294, 0x000045C3, 0x0000140E, 0x00000A0B, 0x000054A6, + 0x0003003E, 0x000045C3, 0x00003ABB, 0x00050080, 0x0000000B, 0x00003CAC, + 0x000054A6, 0x00000A0E, 0x000500AC, 0x00000009, 0x00001911, 0x00001C87, + 0x00000A0D, 0x000300F7, 0x000060BC, 0x00000002, 0x000400FA, 0x00001911, + 0x00005084, 0x00005094, 0x000200F8, 0x00005084, 0x00050086, 0x0000000B, + 0x00003697, 0x000019EE, 0x00001C87, 0x00050084, 0x0000000B, 0x0000237E, + 0x00003697, 0x00001C87, 0x00050082, 0x0000000B, 0x00003171, 0x000019EE, + 0x0000237E, 0x00050080, 0x0000000B, 0x00002527, 0x00003171, 0x00000A0D, + 0x000500AA, 0x00000009, 0x0000343F, 0x00002527, 0x00001C87, 0x000300F7, + 0x00001EED, 0x00000000, 0x000400FA, 0x0000343F, 0x0000569E, 0x00002191, + 0x000200F8, 0x0000569E, 0x00050084, 0x0000000B, 0x00004B59, 0x00000ACA, + 0x00001C87, 0x000500C4, 0x0000000B, 0x0000540F, 0x00003171, 0x00000A16, + 0x00050082, 0x0000000B, 0x00004944, 0x00004B59, 0x0000540F, 0x000200F9, + 0x00001EED, 0x000200F8, 0x00002191, 0x000200F9, 0x00001EED, 0x000200F8, + 0x00001EED, 0x000700F5, 0x0000000B, 0x0000292C, 0x00004944, 0x0000569E, + 0x00000A3A, 0x00002191, 0x000200F9, 0x000060BC, 0x000200F8, 0x00005094, + 0x000200F9, 0x000060BC, 0x000200F8, 0x000060BC, 0x000700F5, 0x0000000B, + 0x000029BC, 0x0000292C, 0x00001EED, 0x00000ACA, 0x00005094, 0x00050084, + 0x0000000B, 0x0000492B, 0x000029BC, 0x00005962, 0x000500C2, 0x0000000B, + 0x0000406D, 0x0000492B, 0x00000A16, 0x00050080, 0x0000000B, 0x0000336B, + 0x000036D8, 0x0000406D, 0x00060041, 0x00000294, 0x0000571A, 0x0000107A, + 0x00000A0B, 0x0000336B, 0x0004003D, 0x00000017, 0x000019B2, 0x0000571A, + 0x000300F7, 0x0000368B, 0x00000000, 0x000400FA, 0x00005272, 0x00002958, + 0x0000368B, 0x000200F8, 0x00002958, 0x000500C7, 0x00000017, 0x00004760, + 0x000019B2, 0x000009CE, 0x000500C4, 0x00000017, 0x000024D2, 0x00004760, + 0x0000013D, 0x000500C7, 0x00000017, 0x000050AD, 0x000019B2, 0x0000072E, + 0x000500C2, 0x00000017, 0x0000448E, 0x000050AD, 0x0000013D, 0x000500C5, + 0x00000017, 0x00003FF9, 0x000024D2, 0x0000448E, 0x000200F9, 0x0000368B, + 0x000200F8, 0x0000368B, 0x000700F5, 0x00000017, 0x000040DF, 0x000019B2, + 0x000060BC, 0x00003FF9, 0x00002958, 0x000500C7, 0x00000017, 0x00004741, + 0x000040DF, 0x00000352, 0x00040070, 0x0000001D, 0x000023B2, 0x00004741, + 0x0005008E, 0x0000001D, 0x00004BA6, 0x000023B2, 0x0000092A, 0x000500C2, + 0x00000017, 0x00005B48, 0x000040DF, 0x000002ED, 0x00040070, 0x0000001D, + 0x0000483D, 0x00005B48, 0x0005008E, 0x0000001D, 0x00004813, 0x0000483D, + 0x0000092A, 0x00050051, 0x0000000D, 0x0000187D, 0x00004BA6, 0x00000000, + 0x00050051, 0x0000000D, 0x000035EF, 0x00004813, 0x00000000, 0x00050050, + 0x00000013, 0x00004B23, 0x0000187D, 0x000035EF, 0x0006000C, 0x0000000B, + 0x00002174, 0x00000001, 0x0000003A, 0x00004B23, 0x00050051, 0x0000000D, + 0x00005BC2, 0x00004BA6, 0x00000001, 0x00050051, 0x0000000D, 0x000039AA, + 0x00004813, 0x00000001, 0x00050050, 0x00000013, 0x00004B24, 0x00005BC2, + 0x000039AA, 0x0006000C, 0x0000000B, 0x00002175, 0x00000001, 0x0000003A, + 0x00004B24, 0x00050051, 0x0000000D, 0x00005BC3, 0x00004BA6, 0x00000002, + 0x00050051, 0x0000000D, 0x000039AB, 0x00004813, 0x00000002, 0x00050050, + 0x00000013, 0x00004B25, 0x00005BC3, 0x000039AB, 0x0006000C, 0x0000000B, + 0x00002176, 0x00000001, 0x0000003A, 0x00004B25, 0x00050051, 0x0000000D, + 0x00005BC4, 0x00004BA6, 0x00000003, 0x00050051, 0x0000000D, 0x000039AC, + 0x00004813, 0x00000003, 0x00050050, 0x00000013, 0x00004B0E, 0x00005BC4, + 0x000039AC, 0x0006000C, 0x0000000B, 0x000020EF, 0x00000001, 0x0000003A, + 0x00004B0E, 0x00070050, 0x00000017, 0x00003ABC, 0x00002174, 0x00002175, + 0x00002176, 0x000020EF, 0x00060041, 0x00000294, 0x00004EBE, 0x0000140E, + 0x00000A0B, 0x00003CAC, 0x0003003E, 0x00004EBE, 0x00003ABC, 0x000200F9, + 0x00004C7A, 0x000200F8, 0x00004C7A, 0x000100FD, 0x00010038, +}; diff --git a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_rg16_snorm_float_cs.h b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_rg16_snorm_float_cs.h new file mode 100644 index 000000000..a0cff72b8 --- /dev/null +++ b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_rg16_snorm_float_cs.h @@ -0,0 +1,701 @@ +// Generated with `xb buildshaders`. +#if 0 +; SPIR-V +; Version: 1.0 +; Generator: Khronos Glslang Reference Front End; 10 +; Bound: 25179 +; Schema: 0 + OpCapability Shader + %1 = OpExtInstImport "GLSL.std.450" + OpMemoryModel Logical GLSL450 + OpEntryPoint GLCompute %5663 "main" %gl_GlobalInvocationID + OpExecutionMode %5663 LocalSize 4 32 1 + OpMemberDecorate %_struct_1161 0 Offset 0 + OpMemberDecorate %_struct_1161 1 Offset 4 + OpMemberDecorate %_struct_1161 2 Offset 8 + OpMemberDecorate %_struct_1161 3 Offset 12 + OpMemberDecorate %_struct_1161 4 Offset 16 + OpMemberDecorate %_struct_1161 5 Offset 28 + OpMemberDecorate %_struct_1161 6 Offset 32 + OpMemberDecorate %_struct_1161 7 Offset 36 + OpDecorate %_struct_1161 Block + OpDecorate %5245 DescriptorSet 2 + OpDecorate %5245 Binding 0 + 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 %5134 DescriptorSet 0 + OpDecorate %5134 Binding 0 + OpDecorate %_runtimearr_v4uint_0 ArrayStride 16 + OpMemberDecorate %_struct_1973 0 NonWritable + OpMemberDecorate %_struct_1973 0 Offset 0 + OpDecorate %_struct_1973 BufferBlock + OpDecorate %4218 DescriptorSet 1 + OpDecorate %4218 Binding 0 + OpDecorate %gl_WorkGroupSize BuiltIn WorkgroupSize + %void = OpTypeVoid + %1282 = OpTypeFunction %void + %uint = OpTypeInt 32 0 + %v4uint = OpTypeVector %uint 4 + %int = OpTypeInt 32 1 + %v2int = OpTypeVector %int 2 + %v3int = OpTypeVector %int 3 + %bool = OpTypeBool + %v3uint = OpTypeVector %uint 3 + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 + %float_n1 = OpConstant %float -1 + %1284 = OpConstantComposite %v4float %float_n1 %float_n1 %float_n1 %float_n1 + %v4int = OpTypeVector %int 4 + %int_16 = OpConstant %int 16 +%float_3_05185094en05 = OpConstant %float 3.05185094e-05 + %uint_0 = OpConstant %uint 0 + %v2float = OpTypeVector %float 2 + %uint_1 = OpConstant %uint 1 + %uint_2 = OpConstant %uint 2 + %uint_3 = OpConstant %uint 3 +%uint_16711935 = OpConstant %uint 16711935 + %uint_8 = OpConstant %uint 8 +%uint_4278255360 = OpConstant %uint 4278255360 + %uint_16 = OpConstant %uint 16 + %int_5 = OpConstant %int 5 + %uint_5 = OpConstant %uint 5 + %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_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_1161 = OpTypeStruct %uint %uint %uint %uint %v3uint %uint %uint %uint +%_ptr_Uniform__struct_1161 = OpTypePointer Uniform %_struct_1161 + %5245 = OpVariable %_ptr_Uniform__struct_1161 Uniform + %int_0 = OpConstant %int 0 +%_ptr_Uniform_uint = OpTypePointer Uniform %uint +%_ptr_Uniform_v3uint = OpTypePointer Uniform %v3uint + %v2uint = OpTypeVector %uint 2 +%_ptr_Input_v3uint = OpTypePointer Input %v3uint +%gl_GlobalInvocationID = OpVariable %_ptr_Input_v3uint Input + %2603 = OpConstantComposite %v3uint %uint_3 %uint_0 %uint_0 + %v2bool = OpTypeVector %bool 2 +%_runtimearr_v4uint = OpTypeRuntimeArray %v4uint +%_struct_1972 = OpTypeStruct %_runtimearr_v4uint +%_ptr_Uniform__struct_1972 = OpTypePointer Uniform %_struct_1972 + %5134 = OpVariable %_ptr_Uniform__struct_1972 Uniform +%_runtimearr_v4uint_0 = OpTypeRuntimeArray %v4uint +%_struct_1973 = OpTypeStruct %_runtimearr_v4uint_0 +%_ptr_Uniform__struct_1973 = OpTypePointer Uniform %_struct_1973 + %4218 = OpVariable %_ptr_Uniform__struct_1973 Uniform +%_ptr_Uniform_v4uint = OpTypePointer Uniform %v4uint +%gl_WorkGroupSize = OpConstantComposite %v3uint %uint_4 %uint_32 %uint_1 + %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 + %1838 = OpConstantComposite %v4uint %uint_4278255360 %uint_4278255360 %uint_4278255360 %uint_4278255360 + %749 = OpConstantComposite %v4uint %uint_16 %uint_16 %uint_16 %uint_16 + %770 = OpConstantComposite %v4int %int_16 %int_16 %int_16 %int_16 + %5663 = OpFunction %void None %1282 + %15110 = OpLabel + OpSelectionMerge %19578 None + OpSwitch %uint_0 %15137 + %15137 = OpLabel + %12591 = OpLoad %v3uint %gl_GlobalInvocationID + %10229 = OpShiftLeftLogical %v3uint %12591 %2603 + %25178 = OpAccessChain %_ptr_Uniform_v3uint %5245 %int_4 + %22965 = OpLoad %v3uint %25178 + %18835 = OpVectorShuffle %v2uint %10229 %10229 0 1 + %6626 = OpVectorShuffle %v2uint %22965 %22965 0 1 + %17032 = OpUGreaterThanEqual %v2bool %18835 %6626 + %24679 = OpAny %bool %17032 + OpSelectionMerge %6282 DontFlatten + OpBranchConditional %24679 %21992 %6282 + %21992 = OpLabel + OpBranch %19578 + %6282 = OpLabel + %6795 = OpBitcast %v3int %10229 + %18792 = OpAccessChain %_ptr_Uniform_uint %5245 %int_6 + %9788 = OpLoad %uint %18792 + %20376 = OpCompositeExtract %uint %22965 1 + %14692 = OpCompositeExtract %int %6795 0 + %22810 = OpIMul %int %14692 %int_4 + %6362 = OpCompositeExtract %int %6795 2 + %14505 = OpBitcast %int %20376 + %11279 = OpIMul %int %6362 %14505 + %17598 = OpCompositeExtract %int %6795 1 + %22228 = OpIAdd %int %11279 %17598 + %22405 = OpBitcast %int %9788 + %24535 = OpIMul %int %22228 %22405 + %7061 = OpIAdd %int %22810 %24535 + %19270 = OpBitcast %uint %7061 + %19460 = OpAccessChain %_ptr_Uniform_uint %5245 %int_5 + %22875 = OpLoad %uint %19460 + %8517 = OpIAdd %uint %19270 %22875 + %21670 = OpShiftRightLogical %uint %8517 %uint_4 + %20950 = OpAccessChain %_ptr_Uniform_uint %5245 %int_0 + %21411 = OpLoad %uint %20950 + %6381 = OpBitwiseAnd %uint %21411 %uint_1 + %10467 = OpINotEqual %bool %6381 %uint_0 + OpSelectionMerge %23266 DontFlatten + OpBranchConditional %10467 %10108 %10765 + %10108 = OpLabel + %23508 = OpBitwiseAnd %uint %21411 %uint_2 + %16300 = OpINotEqual %bool %23508 %uint_0 + OpSelectionMerge %7691 DontFlatten + OpBranchConditional %16300 %12129 %25128 + %12129 = OpLabel + %18210 = OpAccessChain %_ptr_Uniform_uint %5245 %int_2 + %15627 = OpLoad %uint %18210 + %22624 = OpAccessChain %_ptr_Uniform_uint %5245 %int_3 + %21535 = OpLoad %uint %22624 + %14923 = OpShiftRightArithmetic %int %17598 %int_4 + %18773 = OpShiftRightArithmetic %int %6362 %int_2 + %18759 = OpShiftRightLogical %uint %21535 %uint_4 + %6314 = OpBitcast %int %18759 + %21281 = OpIMul %int %18773 %6314 + %15143 = OpIAdd %int %14923 %21281 + %9032 = OpShiftRightLogical %uint %15627 %uint_5 + %14593 = OpBitcast %int %9032 + %8436 = OpIMul %int %15143 %14593 + %12986 = OpShiftRightArithmetic %int %14692 %int_5 + %24558 = OpIAdd %int %12986 %8436 + %8797 = OpShiftLeftLogical %int %24558 %uint_8 + %11510 = OpBitwiseAnd %int %8797 %int_268435455 + %18938 = OpShiftLeftLogical %int %11510 %int_1 + %19768 = OpBitwiseAnd %int %14692 %int_7 + %12600 = OpBitwiseAnd %int %17598 %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 %17598 %int_3 + %13731 = OpIAdd %int %8725 %18773 + %23052 = OpBitwiseAnd %int %13731 %int_1 + %16658 = OpShiftRightArithmetic %int %14692 %int_3 + %18794 = OpShiftLeftLogical %int %23052 %int_1 + %13501 = OpIAdd %int %16658 %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 %6362 %int_3 + %21579 = OpShiftLeftLogical %int %18356 %uint_8 + %16727 = OpIAdd %int %10332 %21579 + %19166 = OpBitwiseAnd %int %17598 %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 + %24224 = OpBitwiseAnd %int %16728 %int_63 + %21741 = OpIAdd %int %23348 %24224 + OpBranch %7691 + %25128 = OpLabel + %6796 = OpBitcast %v2int %18835 + %18793 = OpAccessChain %_ptr_Uniform_uint %5245 %int_2 + %11954 = OpLoad %uint %18793 + %18756 = OpCompositeExtract %int %6796 0 + %19701 = OpShiftRightArithmetic %int %18756 %int_5 + %10055 = OpCompositeExtract %int %6796 1 + %16476 = OpShiftRightArithmetic %int %10055 %int_5 + %23373 = OpShiftRightLogical %uint %11954 %uint_5 + %6315 = OpBitcast %int %23373 + %21319 = OpIMul %int %16476 %6315 + %16222 = OpIAdd %int %19701 %21319 + %19086 = OpShiftLeftLogical %int %16222 %uint_9 + %10934 = OpBitwiseAnd %int %18756 %int_7 + %12601 = OpBitwiseAnd %int %10055 %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 %10055 %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 %10055 %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 %10055 %int_8 + %16831 = OpShiftRightArithmetic %int %20611 %int_2 + %7916 = OpShiftRightArithmetic %int %18756 %int_3 + %13750 = OpIAdd %int %16831 %7916 + %21587 = OpBitwiseAnd %int %13750 %int_3 + %21583 = OpShiftLeftLogical %int %21587 %int_6 + %15437 = OpIAdd %int %16708 %21583 + %14157 = OpBitwiseAnd %int %16729 %int_63 + %12098 = OpIAdd %int %15437 %14157 + OpBranch %7691 + %7691 = OpLabel + %10540 = OpPhi %int %21741 %12129 %12098 %25128 + OpBranch %23266 + %10765 = OpLabel + %20632 = OpAccessChain %_ptr_Uniform_uint %5245 %int_2 + %15628 = OpLoad %uint %20632 + %21275 = OpAccessChain %_ptr_Uniform_uint %5245 %int_3 + %13550 = OpLoad %uint %21275 + %15070 = OpBitcast %int %13550 + %18927 = OpIMul %int %6362 %15070 + %8334 = OpIAdd %int %18927 %17598 + %8952 = OpBitcast %int %15628 + %7839 = OpIMul %int %8334 %8952 + %7984 = OpIAdd %int %22810 %7839 + OpBranch %23266 + %23266 = OpLabel + %19748 = OpPhi %int %10540 %7691 %7984 %10765 + %24922 = OpAccessChain %_ptr_Uniform_uint %5245 %int_1 + %7502 = OpLoad %uint %24922 + %15686 = OpBitcast %int %7502 + %15579 = OpIAdd %int %15686 %19748 + %18556 = OpBitcast %uint %15579 + %21493 = OpShiftRightLogical %uint %18556 %uint_4 + %14997 = OpShiftRightLogical %uint %21411 %uint_2 + %8394 = OpBitwiseAnd %uint %14997 %uint_3 + %20727 = OpAccessChain %_ptr_Uniform_v4uint %4218 %int_0 %21493 + %8142 = OpLoad %v4uint %20727 + %13760 = OpIEqual %bool %8394 %uint_1 + %21366 = OpIEqual %bool %8394 %uint_2 + %22150 = OpLogicalOr %bool %13760 %21366 + OpSelectionMerge %13411 None + OpBranchConditional %22150 %10583 %13411 + %10583 = OpLabel + %18271 = OpBitwiseAnd %v4uint %8142 %2510 + %9425 = OpShiftLeftLogical %v4uint %18271 %317 + %20652 = OpBitwiseAnd %v4uint %8142 %1838 + %17549 = OpShiftRightLogical %v4uint %20652 %317 + %16376 = OpBitwiseOr %v4uint %9425 %17549 + OpBranch %13411 + %13411 = OpLabel + %22649 = OpPhi %v4uint %8142 %23266 %16376 %10583 + %19638 = OpIEqual %bool %8394 %uint_3 + %15139 = OpLogicalOr %bool %21366 %19638 + OpSelectionMerge %12537 None + OpBranchConditional %15139 %11064 %12537 + %11064 = OpLabel + %24087 = OpShiftLeftLogical %v4uint %22649 %749 + %15335 = OpShiftRightLogical %v4uint %22649 %749 + %10728 = OpBitwiseOr %v4uint %24087 %15335 + OpBranch %12537 + %12537 = OpLabel + %12106 = OpPhi %v4uint %22649 %13411 %10728 %11064 + %15375 = OpBitcast %v4int %12106 + %16910 = OpShiftLeftLogical %v4int %15375 %770 + %16536 = OpShiftRightArithmetic %v4int %16910 %770 + %10903 = OpConvertSToF %v4float %16536 + %20413 = OpVectorTimesScalar %v4float %10903 %float_3_05185094en05 + %23989 = OpExtInst %v4float %1 FMax %1284 %20413 + %14338 = OpShiftRightArithmetic %v4int %15375 %770 + %6607 = OpConvertSToF %v4float %14338 + %18247 = OpVectorTimesScalar %v4float %6607 %float_3_05185094en05 + %24070 = OpExtInst %v4float %1 FMax %1284 %18247 + %24330 = OpCompositeExtract %float %23989 0 + %14319 = OpCompositeExtract %float %24070 0 + %19232 = OpCompositeConstruct %v2float %24330 %14319 + %8561 = OpExtInst %uint %1 PackHalf2x16 %19232 + %23487 = OpCompositeExtract %float %23989 1 + %14759 = OpCompositeExtract %float %24070 1 + %19233 = OpCompositeConstruct %v2float %23487 %14759 + %8562 = OpExtInst %uint %1 PackHalf2x16 %19233 + %23488 = OpCompositeExtract %float %23989 2 + %14760 = OpCompositeExtract %float %24070 2 + %19234 = OpCompositeConstruct %v2float %23488 %14760 + %8563 = OpExtInst %uint %1 PackHalf2x16 %19234 + %23489 = OpCompositeExtract %float %23989 3 + %14761 = OpCompositeExtract %float %24070 3 + %19213 = OpCompositeConstruct %v2float %23489 %14761 + %8430 = OpExtInst %uint %1 PackHalf2x16 %19213 + %15035 = OpCompositeConstruct %v4uint %8561 %8562 %8563 %8430 + %17859 = OpAccessChain %_ptr_Uniform_v4uint %5134 %int_0 %21670 + OpStore %17859 %15035 + %15044 = OpIAdd %uint %21670 %int_1 + %18776 = OpSelect %uint %10467 %uint_32 %uint_16 + %11803 = OpShiftRightLogical %uint %18776 %uint_4 + %13947 = OpIAdd %uint %21493 %11803 + %22298 = OpAccessChain %_ptr_Uniform_v4uint %4218 %int_0 %13947 + %6578 = OpLoad %v4uint %22298 + OpSelectionMerge %14874 None + OpBranchConditional %22150 %10584 %14874 + %10584 = OpLabel + %18272 = OpBitwiseAnd %v4uint %6578 %2510 + %9426 = OpShiftLeftLogical %v4uint %18272 %317 + %20653 = OpBitwiseAnd %v4uint %6578 %1838 + %17550 = OpShiftRightLogical %v4uint %20653 %317 + %16377 = OpBitwiseOr %v4uint %9426 %17550 + OpBranch %14874 + %14874 = OpLabel + %10924 = OpPhi %v4uint %6578 %12537 %16377 %10584 + OpSelectionMerge %12538 None + OpBranchConditional %15139 %11065 %12538 + %11065 = OpLabel + %24088 = OpShiftLeftLogical %v4uint %10924 %749 + %15336 = OpShiftRightLogical %v4uint %10924 %749 + %10729 = OpBitwiseOr %v4uint %24088 %15336 + OpBranch %12538 + %12538 = OpLabel + %12107 = OpPhi %v4uint %10924 %14874 %10729 %11065 + %15376 = OpBitcast %v4int %12107 + %16911 = OpShiftLeftLogical %v4int %15376 %770 + %16537 = OpShiftRightArithmetic %v4int %16911 %770 + %10904 = OpConvertSToF %v4float %16537 + %20414 = OpVectorTimesScalar %v4float %10904 %float_3_05185094en05 + %23990 = OpExtInst %v4float %1 FMax %1284 %20414 + %14339 = OpShiftRightArithmetic %v4int %15376 %770 + %6608 = OpConvertSToF %v4float %14339 + %18248 = OpVectorTimesScalar %v4float %6608 %float_3_05185094en05 + %24071 = OpExtInst %v4float %1 FMax %1284 %18248 + %24331 = OpCompositeExtract %float %23990 0 + %14320 = OpCompositeExtract %float %24071 0 + %19235 = OpCompositeConstruct %v2float %24331 %14320 + %8564 = OpExtInst %uint %1 PackHalf2x16 %19235 + %23490 = OpCompositeExtract %float %23990 1 + %14762 = OpCompositeExtract %float %24071 1 + %19236 = OpCompositeConstruct %v2float %23490 %14762 + %8565 = OpExtInst %uint %1 PackHalf2x16 %19236 + %23491 = OpCompositeExtract %float %23990 2 + %14763 = OpCompositeExtract %float %24071 2 + %19237 = OpCompositeConstruct %v2float %23491 %14763 + %8566 = OpExtInst %uint %1 PackHalf2x16 %19237 + %23492 = OpCompositeExtract %float %23990 3 + %14764 = OpCompositeExtract %float %24071 3 + %19214 = OpCompositeConstruct %v2float %23492 %14764 + %8431 = OpExtInst %uint %1 PackHalf2x16 %19214 + %15036 = OpCompositeConstruct %v4uint %8564 %8565 %8566 %8431 + %20158 = OpAccessChain %_ptr_Uniform_v4uint %5134 %int_0 %15044 + OpStore %20158 %15036 + OpBranch %19578 + %19578 = OpLabel + OpReturn + OpFunctionEnd +#endif + +const uint32_t texture_load_rg16_snorm_float_cs[] = { + 0x07230203, 0x00010000, 0x0008000A, 0x0000625B, 0x00000000, 0x00020011, + 0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E, + 0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0006000F, 0x00000005, + 0x0000161F, 0x6E69616D, 0x00000000, 0x00000F48, 0x00060010, 0x0000161F, + 0x00000011, 0x00000004, 0x00000020, 0x00000001, 0x00050048, 0x00000489, + 0x00000000, 0x00000023, 0x00000000, 0x00050048, 0x00000489, 0x00000001, + 0x00000023, 0x00000004, 0x00050048, 0x00000489, 0x00000002, 0x00000023, + 0x00000008, 0x00050048, 0x00000489, 0x00000003, 0x00000023, 0x0000000C, + 0x00050048, 0x00000489, 0x00000004, 0x00000023, 0x00000010, 0x00050048, + 0x00000489, 0x00000005, 0x00000023, 0x0000001C, 0x00050048, 0x00000489, + 0x00000006, 0x00000023, 0x00000020, 0x00050048, 0x00000489, 0x00000007, + 0x00000023, 0x00000024, 0x00030047, 0x00000489, 0x00000002, 0x00040047, + 0x0000147D, 0x00000022, 0x00000002, 0x00040047, 0x0000147D, 0x00000021, + 0x00000000, 0x00040047, 0x00000F48, 0x0000000B, 0x0000001C, 0x00040047, + 0x000007DC, 0x00000006, 0x00000010, 0x00040048, 0x000007B4, 0x00000000, + 0x00000019, 0x00050048, 0x000007B4, 0x00000000, 0x00000023, 0x00000000, + 0x00030047, 0x000007B4, 0x00000003, 0x00040047, 0x0000140E, 0x00000022, + 0x00000000, 0x00040047, 0x0000140E, 0x00000021, 0x00000000, 0x00040047, + 0x000007DD, 0x00000006, 0x00000010, 0x00040048, 0x000007B5, 0x00000000, + 0x00000018, 0x00050048, 0x000007B5, 0x00000000, 0x00000023, 0x00000000, + 0x00030047, 0x000007B5, 0x00000003, 0x00040047, 0x0000107A, 0x00000022, + 0x00000001, 0x00040047, 0x0000107A, 0x00000021, 0x00000000, 0x00040047, + 0x00000BC3, 0x0000000B, 0x00000019, 0x00020013, 0x00000008, 0x00030021, + 0x00000502, 0x00000008, 0x00040015, 0x0000000B, 0x00000020, 0x00000000, + 0x00040017, 0x00000017, 0x0000000B, 0x00000004, 0x00040015, 0x0000000C, + 0x00000020, 0x00000001, 0x00040017, 0x00000012, 0x0000000C, 0x00000002, + 0x00040017, 0x00000016, 0x0000000C, 0x00000003, 0x00020014, 0x00000009, + 0x00040017, 0x00000014, 0x0000000B, 0x00000003, 0x00030016, 0x0000000D, + 0x00000020, 0x00040017, 0x0000001D, 0x0000000D, 0x00000004, 0x0004002B, + 0x0000000D, 0x00000341, 0xBF800000, 0x0007002C, 0x0000001D, 0x00000504, + 0x00000341, 0x00000341, 0x00000341, 0x00000341, 0x00040017, 0x0000001A, + 0x0000000C, 0x00000004, 0x0004002B, 0x0000000C, 0x00000A3B, 0x00000010, + 0x0004002B, 0x0000000D, 0x00000A38, 0x38000100, 0x0004002B, 0x0000000B, + 0x00000A0A, 0x00000000, 0x00040017, 0x00000013, 0x0000000D, 0x00000002, + 0x0004002B, 0x0000000B, 0x00000A0D, 0x00000001, 0x0004002B, 0x0000000B, + 0x00000A10, 0x00000002, 0x0004002B, 0x0000000B, 0x00000A13, 0x00000003, + 0x0004002B, 0x0000000B, 0x000008A6, 0x00FF00FF, 0x0004002B, 0x0000000B, + 0x00000A22, 0x00000008, 0x0004002B, 0x0000000B, 0x000005FD, 0xFF00FF00, + 0x0004002B, 0x0000000B, 0x00000A3A, 0x00000010, 0x0004002B, 0x0000000C, + 0x00000A1A, 0x00000005, 0x0004002B, 0x0000000B, 0x00000A19, 0x00000005, + 0x0004002B, 0x0000000C, 0x00000A20, 0x00000007, 0x0004002B, 0x0000000C, + 0x00000A35, 0x0000000E, 0x0004002B, 0x0000000C, 0x00000A11, 0x00000002, + 0x0004002B, 0x0000000C, 0x000009DB, 0xFFFFFFF0, 0x0004002B, 0x0000000C, + 0x00000A0E, 0x00000001, 0x0004002B, 0x0000000C, 0x00000A39, 0x0000000F, + 0x0004002B, 0x0000000C, 0x00000A17, 0x00000004, 0x0004002B, 0x0000000C, + 0x0000040B, 0xFFFFFE00, 0x0004002B, 0x0000000C, 0x00000A14, 0x00000003, + 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, 0x000A001E, 0x00000489, 0x0000000B, 0x0000000B, + 0x0000000B, 0x0000000B, 0x00000014, 0x0000000B, 0x0000000B, 0x0000000B, + 0x00040020, 0x00000706, 0x00000002, 0x00000489, 0x0004003B, 0x00000706, + 0x0000147D, 0x00000002, 0x0004002B, 0x0000000C, 0x00000A0B, 0x00000000, + 0x00040020, 0x00000288, 0x00000002, 0x0000000B, 0x00040020, 0x00000291, + 0x00000002, 0x00000014, 0x00040017, 0x00000011, 0x0000000B, 0x00000002, + 0x00040020, 0x00000292, 0x00000001, 0x00000014, 0x0004003B, 0x00000292, + 0x00000F48, 0x00000001, 0x0006002C, 0x00000014, 0x00000A2B, 0x00000A13, + 0x00000A0A, 0x00000A0A, 0x00040017, 0x0000000F, 0x00000009, 0x00000002, + 0x0003001D, 0x000007DC, 0x00000017, 0x0003001E, 0x000007B4, 0x000007DC, + 0x00040020, 0x00000A31, 0x00000002, 0x000007B4, 0x0004003B, 0x00000A31, + 0x0000140E, 0x00000002, 0x0003001D, 0x000007DD, 0x00000017, 0x0003001E, + 0x000007B5, 0x000007DD, 0x00040020, 0x00000A32, 0x00000002, 0x000007B5, + 0x0004003B, 0x00000A32, 0x0000107A, 0x00000002, 0x00040020, 0x00000294, + 0x00000002, 0x00000017, 0x0006002C, 0x00000014, 0x00000BC3, 0x00000A16, + 0x00000A6A, 0x00000A0D, 0x0004002B, 0x0000000B, 0x00000A25, 0x00000009, + 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, 0x0007002C, 0x0000001A, + 0x00000302, 0x00000A3B, 0x00000A3B, 0x00000A3B, 0x00000A3B, 0x00050036, + 0x00000008, 0x0000161F, 0x00000000, 0x00000502, 0x000200F8, 0x00003B06, + 0x000300F7, 0x00004C7A, 0x00000000, 0x000300FB, 0x00000A0A, 0x00003B21, + 0x000200F8, 0x00003B21, 0x0004003D, 0x00000014, 0x0000312F, 0x00000F48, + 0x000500C4, 0x00000014, 0x000027F5, 0x0000312F, 0x00000A2B, 0x00050041, + 0x00000291, 0x0000625A, 0x0000147D, 0x00000A17, 0x0004003D, 0x00000014, + 0x000059B5, 0x0000625A, 0x0007004F, 0x00000011, 0x00004993, 0x000027F5, + 0x000027F5, 0x00000000, 0x00000001, 0x0007004F, 0x00000011, 0x000019E2, + 0x000059B5, 0x000059B5, 0x00000000, 0x00000001, 0x000500AE, 0x0000000F, + 0x00004288, 0x00004993, 0x000019E2, 0x0004009A, 0x00000009, 0x00006067, + 0x00004288, 0x000300F7, 0x0000188A, 0x00000002, 0x000400FA, 0x00006067, + 0x000055E8, 0x0000188A, 0x000200F8, 0x000055E8, 0x000200F9, 0x00004C7A, + 0x000200F8, 0x0000188A, 0x0004007C, 0x00000016, 0x00001A8B, 0x000027F5, + 0x00050041, 0x00000288, 0x00004968, 0x0000147D, 0x00000A1D, 0x0004003D, + 0x0000000B, 0x0000263C, 0x00004968, 0x00050051, 0x0000000B, 0x00004F98, + 0x000059B5, 0x00000001, 0x00050051, 0x0000000C, 0x00003964, 0x00001A8B, + 0x00000000, 0x00050084, 0x0000000C, 0x0000591A, 0x00003964, 0x00000A17, + 0x00050051, 0x0000000C, 0x000018DA, 0x00001A8B, 0x00000002, 0x0004007C, + 0x0000000C, 0x000038A9, 0x00004F98, 0x00050084, 0x0000000C, 0x00002C0F, + 0x000018DA, 0x000038A9, 0x00050051, 0x0000000C, 0x000044BE, 0x00001A8B, + 0x00000001, 0x00050080, 0x0000000C, 0x000056D4, 0x00002C0F, 0x000044BE, + 0x0004007C, 0x0000000C, 0x00005785, 0x0000263C, 0x00050084, 0x0000000C, + 0x00005FD7, 0x000056D4, 0x00005785, 0x00050080, 0x0000000C, 0x00001B95, + 0x0000591A, 0x00005FD7, 0x0004007C, 0x0000000B, 0x00004B46, 0x00001B95, + 0x00050041, 0x00000288, 0x00004C04, 0x0000147D, 0x00000A1A, 0x0004003D, + 0x0000000B, 0x0000595B, 0x00004C04, 0x00050080, 0x0000000B, 0x00002145, + 0x00004B46, 0x0000595B, 0x000500C2, 0x0000000B, 0x000054A6, 0x00002145, + 0x00000A16, 0x00050041, 0x00000288, 0x000051D6, 0x0000147D, 0x00000A0B, + 0x0004003D, 0x0000000B, 0x000053A3, 0x000051D6, 0x000500C7, 0x0000000B, + 0x000018ED, 0x000053A3, 0x00000A0D, 0x000500AB, 0x00000009, 0x000028E3, + 0x000018ED, 0x00000A0A, 0x000300F7, 0x00005AE2, 0x00000002, 0x000400FA, + 0x000028E3, 0x0000277C, 0x00002A0D, 0x000200F8, 0x0000277C, 0x000500C7, + 0x0000000B, 0x00005BD4, 0x000053A3, 0x00000A10, 0x000500AB, 0x00000009, + 0x00003FAC, 0x00005BD4, 0x00000A0A, 0x000300F7, 0x00001E0B, 0x00000002, + 0x000400FA, 0x00003FAC, 0x00002F61, 0x00006228, 0x000200F8, 0x00002F61, + 0x00050041, 0x00000288, 0x00004722, 0x0000147D, 0x00000A11, 0x0004003D, + 0x0000000B, 0x00003D0B, 0x00004722, 0x00050041, 0x00000288, 0x00005860, + 0x0000147D, 0x00000A14, 0x0004003D, 0x0000000B, 0x0000541F, 0x00005860, + 0x000500C3, 0x0000000C, 0x00003A4B, 0x000044BE, 0x00000A17, 0x000500C3, + 0x0000000C, 0x00004955, 0x000018DA, 0x00000A11, 0x000500C2, 0x0000000B, + 0x00004947, 0x0000541F, 0x00000A16, 0x0004007C, 0x0000000C, 0x000018AA, + 0x00004947, 0x00050084, 0x0000000C, 0x00005321, 0x00004955, 0x000018AA, + 0x00050080, 0x0000000C, 0x00003B27, 0x00003A4B, 0x00005321, 0x000500C2, + 0x0000000B, 0x00002348, 0x00003D0B, 0x00000A19, 0x0004007C, 0x0000000C, + 0x00003901, 0x00002348, 0x00050084, 0x0000000C, 0x000020F4, 0x00003B27, + 0x00003901, 0x000500C3, 0x0000000C, 0x000032BA, 0x00003964, 0x00000A1A, + 0x00050080, 0x0000000C, 0x00005FEE, 0x000032BA, 0x000020F4, 0x000500C4, + 0x0000000C, 0x0000225D, 0x00005FEE, 0x00000A22, 0x000500C7, 0x0000000C, + 0x00002CF6, 0x0000225D, 0x0000078B, 0x000500C4, 0x0000000C, 0x000049FA, + 0x00002CF6, 0x00000A0E, 0x000500C7, 0x0000000C, 0x00004D38, 0x00003964, + 0x00000A20, 0x000500C7, 0x0000000C, 0x00003138, 0x000044BE, 0x00000A1D, + 0x000500C4, 0x0000000C, 0x0000454D, 0x00003138, 0x00000A11, 0x00050080, + 0x0000000C, 0x0000434B, 0x00004D38, 0x0000454D, 0x000500C4, 0x0000000C, + 0x00001B88, 0x0000434B, 0x00000A22, 0x000500C3, 0x0000000C, 0x00005DE3, + 0x00001B88, 0x00000A1D, 0x000500C3, 0x0000000C, 0x00002215, 0x000044BE, + 0x00000A14, 0x00050080, 0x0000000C, 0x000035A3, 0x00002215, 0x00004955, + 0x000500C7, 0x0000000C, 0x00005A0C, 0x000035A3, 0x00000A0E, 0x000500C3, + 0x0000000C, 0x00004112, 0x00003964, 0x00000A14, 0x000500C4, 0x0000000C, + 0x0000496A, 0x00005A0C, 0x00000A0E, 0x00050080, 0x0000000C, 0x000034BD, + 0x00004112, 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, + 0x00000A39, 0x00050080, 0x0000000C, 0x0000285C, 0x00005B31, 0x00005AEA, + 0x000500C7, 0x0000000C, 0x000047B4, 0x000018DA, 0x00000A14, 0x000500C4, + 0x0000000C, 0x0000544B, 0x000047B4, 0x00000A22, 0x00050080, 0x0000000C, + 0x00004157, 0x0000285C, 0x0000544B, 0x000500C7, 0x0000000C, 0x00004ADE, + 0x000044BE, 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, 0x00005EA0, 0x00004158, 0x00000AC8, 0x00050080, + 0x0000000C, 0x000054ED, 0x00005B34, 0x00005EA0, 0x000200F9, 0x00001E0B, + 0x000200F8, 0x00006228, 0x0004007C, 0x00000012, 0x00001A8C, 0x00004993, + 0x00050041, 0x00000288, 0x00004969, 0x0000147D, 0x00000A11, 0x0004003D, + 0x0000000B, 0x00002EB2, 0x00004969, 0x00050051, 0x0000000C, 0x00004944, + 0x00001A8C, 0x00000000, 0x000500C3, 0x0000000C, 0x00004CF5, 0x00004944, + 0x00000A1A, 0x00050051, 0x0000000C, 0x00002747, 0x00001A8C, 0x00000001, + 0x000500C3, 0x0000000C, 0x0000405C, 0x00002747, 0x00000A1A, 0x000500C2, + 0x0000000B, 0x00005B4D, 0x00002EB2, 0x00000A19, 0x0004007C, 0x0000000C, + 0x000018AB, 0x00005B4D, 0x00050084, 0x0000000C, 0x00005347, 0x0000405C, + 0x000018AB, 0x00050080, 0x0000000C, 0x00003F5E, 0x00004CF5, 0x00005347, + 0x000500C4, 0x0000000C, 0x00004A8E, 0x00003F5E, 0x00000A25, 0x000500C7, + 0x0000000C, 0x00002AB6, 0x00004944, 0x00000A20, 0x000500C7, 0x0000000C, + 0x00003139, 0x00002747, 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, 0x00000A39, 0x00050080, 0x0000000C, 0x00004D30, 0x00003C4C, + 0x00003397, 0x000500C7, 0x0000000C, 0x000047B5, 0x00002747, 0x00000A0E, + 0x000500C4, 0x0000000C, 0x0000544D, 0x000047B5, 0x00000A17, 0x00050080, + 0x0000000C, 0x00004159, 0x00004D30, 0x0000544D, 0x000500C7, 0x0000000C, + 0x00005022, 0x00004159, 0x0000040B, 0x000500C4, 0x0000000C, 0x00002416, + 0x00005022, 0x00000A14, 0x000500C7, 0x0000000C, 0x00004A33, 0x00002747, + 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, 0x00002747, + 0x00000A23, 0x000500C3, 0x0000000C, 0x000041BF, 0x00005083, 0x00000A11, + 0x000500C3, 0x0000000C, 0x00001EEC, 0x00004944, 0x00000A14, 0x00050080, + 0x0000000C, 0x000035B6, 0x000041BF, 0x00001EEC, 0x000500C7, 0x0000000C, + 0x00005453, 0x000035B6, 0x00000A14, 0x000500C4, 0x0000000C, 0x0000544F, + 0x00005453, 0x00000A1D, 0x00050080, 0x0000000C, 0x00003C4D, 0x00004144, + 0x0000544F, 0x000500C7, 0x0000000C, 0x0000374D, 0x00004159, 0x00000AC8, + 0x00050080, 0x0000000C, 0x00002F42, 0x00003C4D, 0x0000374D, 0x000200F9, + 0x00001E0B, 0x000200F8, 0x00001E0B, 0x000700F5, 0x0000000C, 0x0000292C, + 0x000054ED, 0x00002F61, 0x00002F42, 0x00006228, 0x000200F9, 0x00005AE2, + 0x000200F8, 0x00002A0D, 0x00050041, 0x00000288, 0x00005098, 0x0000147D, + 0x00000A11, 0x0004003D, 0x0000000B, 0x00003D0C, 0x00005098, 0x00050041, + 0x00000288, 0x0000531B, 0x0000147D, 0x00000A14, 0x0004003D, 0x0000000B, + 0x000034EE, 0x0000531B, 0x0004007C, 0x0000000C, 0x00003ADE, 0x000034EE, + 0x00050084, 0x0000000C, 0x000049EF, 0x000018DA, 0x00003ADE, 0x00050080, + 0x0000000C, 0x0000208E, 0x000049EF, 0x000044BE, 0x0004007C, 0x0000000C, + 0x000022F8, 0x00003D0C, 0x00050084, 0x0000000C, 0x00001E9F, 0x0000208E, + 0x000022F8, 0x00050080, 0x0000000C, 0x00001F30, 0x0000591A, 0x00001E9F, + 0x000200F9, 0x00005AE2, 0x000200F8, 0x00005AE2, 0x000700F5, 0x0000000C, + 0x00004D24, 0x0000292C, 0x00001E0B, 0x00001F30, 0x00002A0D, 0x00050041, + 0x00000288, 0x0000615A, 0x0000147D, 0x00000A0E, 0x0004003D, 0x0000000B, + 0x00001D4E, 0x0000615A, 0x0004007C, 0x0000000C, 0x00003D46, 0x00001D4E, + 0x00050080, 0x0000000C, 0x00003CDB, 0x00003D46, 0x00004D24, 0x0004007C, + 0x0000000B, 0x0000487C, 0x00003CDB, 0x000500C2, 0x0000000B, 0x000053F5, + 0x0000487C, 0x00000A16, 0x000500C2, 0x0000000B, 0x00003A95, 0x000053A3, + 0x00000A10, 0x000500C7, 0x0000000B, 0x000020CA, 0x00003A95, 0x00000A13, + 0x00060041, 0x00000294, 0x000050F7, 0x0000107A, 0x00000A0B, 0x000053F5, + 0x0004003D, 0x00000017, 0x00001FCE, 0x000050F7, 0x000500AA, 0x00000009, + 0x000035C0, 0x000020CA, 0x00000A0D, 0x000500AA, 0x00000009, 0x00005376, + 0x000020CA, 0x00000A10, 0x000500A6, 0x00000009, 0x00005686, 0x000035C0, + 0x00005376, 0x000300F7, 0x00003463, 0x00000000, 0x000400FA, 0x00005686, + 0x00002957, 0x00003463, 0x000200F8, 0x00002957, 0x000500C7, 0x00000017, + 0x0000475F, 0x00001FCE, 0x000009CE, 0x000500C4, 0x00000017, 0x000024D1, + 0x0000475F, 0x0000013D, 0x000500C7, 0x00000017, 0x000050AC, 0x00001FCE, + 0x0000072E, 0x000500C2, 0x00000017, 0x0000448D, 0x000050AC, 0x0000013D, + 0x000500C5, 0x00000017, 0x00003FF8, 0x000024D1, 0x0000448D, 0x000200F9, + 0x00003463, 0x000200F8, 0x00003463, 0x000700F5, 0x00000017, 0x00005879, + 0x00001FCE, 0x00005AE2, 0x00003FF8, 0x00002957, 0x000500AA, 0x00000009, + 0x00004CB6, 0x000020CA, 0x00000A13, 0x000500A6, 0x00000009, 0x00003B23, + 0x00005376, 0x00004CB6, 0x000300F7, 0x000030F9, 0x00000000, 0x000400FA, + 0x00003B23, 0x00002B38, 0x000030F9, 0x000200F8, 0x00002B38, 0x000500C4, + 0x00000017, 0x00005E17, 0x00005879, 0x000002ED, 0x000500C2, 0x00000017, + 0x00003BE7, 0x00005879, 0x000002ED, 0x000500C5, 0x00000017, 0x000029E8, + 0x00005E17, 0x00003BE7, 0x000200F9, 0x000030F9, 0x000200F8, 0x000030F9, + 0x000700F5, 0x00000017, 0x00002F4A, 0x00005879, 0x00003463, 0x000029E8, + 0x00002B38, 0x0004007C, 0x0000001A, 0x00003C0F, 0x00002F4A, 0x000500C4, + 0x0000001A, 0x0000420E, 0x00003C0F, 0x00000302, 0x000500C3, 0x0000001A, + 0x00004098, 0x0000420E, 0x00000302, 0x0004006F, 0x0000001D, 0x00002A97, + 0x00004098, 0x0005008E, 0x0000001D, 0x00004FBD, 0x00002A97, 0x00000A38, + 0x0007000C, 0x0000001D, 0x00005DB5, 0x00000001, 0x00000028, 0x00000504, + 0x00004FBD, 0x000500C3, 0x0000001A, 0x00003802, 0x00003C0F, 0x00000302, + 0x0004006F, 0x0000001D, 0x000019CF, 0x00003802, 0x0005008E, 0x0000001D, + 0x00004747, 0x000019CF, 0x00000A38, 0x0007000C, 0x0000001D, 0x00005E06, + 0x00000001, 0x00000028, 0x00000504, 0x00004747, 0x00050051, 0x0000000D, + 0x00005F0A, 0x00005DB5, 0x00000000, 0x00050051, 0x0000000D, 0x000037EF, + 0x00005E06, 0x00000000, 0x00050050, 0x00000013, 0x00004B20, 0x00005F0A, + 0x000037EF, 0x0006000C, 0x0000000B, 0x00002171, 0x00000001, 0x0000003A, + 0x00004B20, 0x00050051, 0x0000000D, 0x00005BBF, 0x00005DB5, 0x00000001, + 0x00050051, 0x0000000D, 0x000039A7, 0x00005E06, 0x00000001, 0x00050050, + 0x00000013, 0x00004B21, 0x00005BBF, 0x000039A7, 0x0006000C, 0x0000000B, + 0x00002172, 0x00000001, 0x0000003A, 0x00004B21, 0x00050051, 0x0000000D, + 0x00005BC0, 0x00005DB5, 0x00000002, 0x00050051, 0x0000000D, 0x000039A8, + 0x00005E06, 0x00000002, 0x00050050, 0x00000013, 0x00004B22, 0x00005BC0, + 0x000039A8, 0x0006000C, 0x0000000B, 0x00002173, 0x00000001, 0x0000003A, + 0x00004B22, 0x00050051, 0x0000000D, 0x00005BC1, 0x00005DB5, 0x00000003, + 0x00050051, 0x0000000D, 0x000039A9, 0x00005E06, 0x00000003, 0x00050050, + 0x00000013, 0x00004B0D, 0x00005BC1, 0x000039A9, 0x0006000C, 0x0000000B, + 0x000020EE, 0x00000001, 0x0000003A, 0x00004B0D, 0x00070050, 0x00000017, + 0x00003ABB, 0x00002171, 0x00002172, 0x00002173, 0x000020EE, 0x00060041, + 0x00000294, 0x000045C3, 0x0000140E, 0x00000A0B, 0x000054A6, 0x0003003E, + 0x000045C3, 0x00003ABB, 0x00050080, 0x0000000B, 0x00003AC4, 0x000054A6, + 0x00000A0E, 0x000600A9, 0x0000000B, 0x00004958, 0x000028E3, 0x00000A6A, + 0x00000A3A, 0x000500C2, 0x0000000B, 0x00002E1B, 0x00004958, 0x00000A16, + 0x00050080, 0x0000000B, 0x0000367B, 0x000053F5, 0x00002E1B, 0x00060041, + 0x00000294, 0x0000571A, 0x0000107A, 0x00000A0B, 0x0000367B, 0x0004003D, + 0x00000017, 0x000019B2, 0x0000571A, 0x000300F7, 0x00003A1A, 0x00000000, + 0x000400FA, 0x00005686, 0x00002958, 0x00003A1A, 0x000200F8, 0x00002958, + 0x000500C7, 0x00000017, 0x00004760, 0x000019B2, 0x000009CE, 0x000500C4, + 0x00000017, 0x000024D2, 0x00004760, 0x0000013D, 0x000500C7, 0x00000017, + 0x000050AD, 0x000019B2, 0x0000072E, 0x000500C2, 0x00000017, 0x0000448E, + 0x000050AD, 0x0000013D, 0x000500C5, 0x00000017, 0x00003FF9, 0x000024D2, + 0x0000448E, 0x000200F9, 0x00003A1A, 0x000200F8, 0x00003A1A, 0x000700F5, + 0x00000017, 0x00002AAC, 0x000019B2, 0x000030F9, 0x00003FF9, 0x00002958, + 0x000300F7, 0x000030FA, 0x00000000, 0x000400FA, 0x00003B23, 0x00002B39, + 0x000030FA, 0x000200F8, 0x00002B39, 0x000500C4, 0x00000017, 0x00005E18, + 0x00002AAC, 0x000002ED, 0x000500C2, 0x00000017, 0x00003BE8, 0x00002AAC, + 0x000002ED, 0x000500C5, 0x00000017, 0x000029E9, 0x00005E18, 0x00003BE8, + 0x000200F9, 0x000030FA, 0x000200F8, 0x000030FA, 0x000700F5, 0x00000017, + 0x00002F4B, 0x00002AAC, 0x00003A1A, 0x000029E9, 0x00002B39, 0x0004007C, + 0x0000001A, 0x00003C10, 0x00002F4B, 0x000500C4, 0x0000001A, 0x0000420F, + 0x00003C10, 0x00000302, 0x000500C3, 0x0000001A, 0x00004099, 0x0000420F, + 0x00000302, 0x0004006F, 0x0000001D, 0x00002A98, 0x00004099, 0x0005008E, + 0x0000001D, 0x00004FBE, 0x00002A98, 0x00000A38, 0x0007000C, 0x0000001D, + 0x00005DB6, 0x00000001, 0x00000028, 0x00000504, 0x00004FBE, 0x000500C3, + 0x0000001A, 0x00003803, 0x00003C10, 0x00000302, 0x0004006F, 0x0000001D, + 0x000019D0, 0x00003803, 0x0005008E, 0x0000001D, 0x00004748, 0x000019D0, + 0x00000A38, 0x0007000C, 0x0000001D, 0x00005E07, 0x00000001, 0x00000028, + 0x00000504, 0x00004748, 0x00050051, 0x0000000D, 0x00005F0B, 0x00005DB6, + 0x00000000, 0x00050051, 0x0000000D, 0x000037F0, 0x00005E07, 0x00000000, + 0x00050050, 0x00000013, 0x00004B23, 0x00005F0B, 0x000037F0, 0x0006000C, + 0x0000000B, 0x00002174, 0x00000001, 0x0000003A, 0x00004B23, 0x00050051, + 0x0000000D, 0x00005BC2, 0x00005DB6, 0x00000001, 0x00050051, 0x0000000D, + 0x000039AA, 0x00005E07, 0x00000001, 0x00050050, 0x00000013, 0x00004B24, + 0x00005BC2, 0x000039AA, 0x0006000C, 0x0000000B, 0x00002175, 0x00000001, + 0x0000003A, 0x00004B24, 0x00050051, 0x0000000D, 0x00005BC3, 0x00005DB6, + 0x00000002, 0x00050051, 0x0000000D, 0x000039AB, 0x00005E07, 0x00000002, + 0x00050050, 0x00000013, 0x00004B25, 0x00005BC3, 0x000039AB, 0x0006000C, + 0x0000000B, 0x00002176, 0x00000001, 0x0000003A, 0x00004B25, 0x00050051, + 0x0000000D, 0x00005BC4, 0x00005DB6, 0x00000003, 0x00050051, 0x0000000D, + 0x000039AC, 0x00005E07, 0x00000003, 0x00050050, 0x00000013, 0x00004B0E, + 0x00005BC4, 0x000039AC, 0x0006000C, 0x0000000B, 0x000020EF, 0x00000001, + 0x0000003A, 0x00004B0E, 0x00070050, 0x00000017, 0x00003ABC, 0x00002174, + 0x00002175, 0x00002176, 0x000020EF, 0x00060041, 0x00000294, 0x00004EBE, + 0x0000140E, 0x00000A0B, 0x00003AC4, 0x0003003E, 0x00004EBE, 0x00003ABC, + 0x000200F9, 0x00004C7A, 0x000200F8, 0x00004C7A, 0x000100FD, 0x00010038, +}; diff --git a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_rg16_snorm_float_scaled_cs.h b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_rg16_snorm_float_scaled_cs.h new file mode 100644 index 000000000..c926b10ae --- /dev/null +++ b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_rg16_snorm_float_scaled_cs.h @@ -0,0 +1,771 @@ +// Generated with `xb buildshaders`. +#if 0 +; SPIR-V +; Version: 1.0 +; Generator: Khronos Glslang Reference Front End; 10 +; Bound: 25179 +; Schema: 0 + OpCapability Shader + %1 = OpExtInstImport "GLSL.std.450" + OpMemoryModel Logical GLSL450 + OpEntryPoint GLCompute %5663 "main" %gl_GlobalInvocationID + OpExecutionMode %5663 LocalSize 4 32 1 + OpMemberDecorate %_struct_1161 0 Offset 0 + OpMemberDecorate %_struct_1161 1 Offset 4 + OpMemberDecorate %_struct_1161 2 Offset 8 + OpMemberDecorate %_struct_1161 3 Offset 12 + OpMemberDecorate %_struct_1161 4 Offset 16 + OpMemberDecorate %_struct_1161 5 Offset 28 + OpMemberDecorate %_struct_1161 6 Offset 32 + OpMemberDecorate %_struct_1161 7 Offset 36 + OpDecorate %_struct_1161 Block + OpDecorate %5245 DescriptorSet 2 + OpDecorate %5245 Binding 0 + 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 %5134 DescriptorSet 0 + OpDecorate %5134 Binding 0 + OpDecorate %_runtimearr_v4uint_0 ArrayStride 16 + OpMemberDecorate %_struct_1973 0 NonWritable + OpMemberDecorate %_struct_1973 0 Offset 0 + OpDecorate %_struct_1973 BufferBlock + OpDecorate %4218 DescriptorSet 1 + OpDecorate %4218 Binding 0 + OpDecorate %gl_WorkGroupSize BuiltIn WorkgroupSize + %void = OpTypeVoid + %1282 = OpTypeFunction %void + %uint = OpTypeInt 32 0 + %v4uint = OpTypeVector %uint 4 + %int = OpTypeInt 32 1 + %v2int = OpTypeVector %int 2 + %v3int = OpTypeVector %int 3 + %bool = OpTypeBool + %v3uint = OpTypeVector %uint 3 + %v2uint = OpTypeVector %uint 2 + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 + %float_n1 = OpConstant %float -1 + %1284 = OpConstantComposite %v4float %float_n1 %float_n1 %float_n1 %float_n1 + %v4int = OpTypeVector %int 4 + %int_16 = OpConstant %int 16 +%float_3_05185094en05 = OpConstant %float 3.05185094e-05 + %uint_0 = OpConstant %uint 0 + %v2float = OpTypeVector %float 2 + %uint_1 = OpConstant %uint 1 + %uint_2 = OpConstant %uint 2 + %uint_3 = OpConstant %uint 3 +%uint_16711935 = OpConstant %uint 16711935 + %uint_8 = OpConstant %uint 8 +%uint_4278255360 = OpConstant %uint 4278255360 + %uint_16 = OpConstant %uint 16 + %int_5 = OpConstant %int 5 + %uint_5 = OpConstant %uint 5 + %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_448 = OpConstant %int 448 + %int_8 = OpConstant %int 8 + %int_6 = OpConstant %int 6 + %int_63 = OpConstant %int 63 + %uint_4 = OpConstant %uint 4 + %uint_6 = OpConstant %uint 6 +%int_268435455 = OpConstant %int 268435455 + %int_n2 = OpConstant %int -2 + %uint_32 = OpConstant %uint 32 +%_struct_1161 = OpTypeStruct %uint %uint %uint %uint %v3uint %uint %uint %uint +%_ptr_Uniform__struct_1161 = OpTypePointer Uniform %_struct_1161 + %5245 = OpVariable %_ptr_Uniform__struct_1161 Uniform + %int_0 = OpConstant %int 0 +%_ptr_Uniform_uint = OpTypePointer Uniform %uint + %1915 = OpConstantComposite %v2uint %uint_4 %uint_6 +%_ptr_Uniform_v3uint = OpTypePointer Uniform %v3uint +%_ptr_Input_v3uint = OpTypePointer Input %v3uint +%gl_GlobalInvocationID = OpVariable %_ptr_Input_v3uint Input + %2603 = OpConstantComposite %v3uint %uint_3 %uint_0 %uint_0 + %v2bool = OpTypeVector %bool 2 +%_runtimearr_v4uint = OpTypeRuntimeArray %v4uint +%_struct_1972 = OpTypeStruct %_runtimearr_v4uint +%_ptr_Uniform__struct_1972 = OpTypePointer Uniform %_struct_1972 + %5134 = OpVariable %_ptr_Uniform__struct_1972 Uniform +%_runtimearr_v4uint_0 = OpTypeRuntimeArray %v4uint +%_struct_1973 = OpTypeStruct %_runtimearr_v4uint_0 +%_ptr_Uniform__struct_1973 = OpTypePointer Uniform %_struct_1973 + %4218 = OpVariable %_ptr_Uniform__struct_1973 Uniform +%_ptr_Uniform_v4uint = OpTypePointer Uniform %v4uint +%gl_WorkGroupSize = OpConstantComposite %v3uint %uint_4 %uint_32 %uint_1 + %1870 = OpConstantComposite %v2uint %uint_3 %uint_3 + %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 + %1838 = OpConstantComposite %v4uint %uint_4278255360 %uint_4278255360 %uint_4278255360 %uint_4278255360 + %749 = OpConstantComposite %v4uint %uint_16 %uint_16 %uint_16 %uint_16 + %770 = OpConstantComposite %v4int %int_16 %int_16 %int_16 %int_16 + %5663 = OpFunction %void None %1282 + %15110 = OpLabel + OpSelectionMerge %19578 None + OpSwitch %uint_0 %15137 + %15137 = OpLabel + %12591 = OpLoad %v3uint %gl_GlobalInvocationID + %10229 = OpShiftLeftLogical %v3uint %12591 %2603 + %25178 = OpAccessChain %_ptr_Uniform_v3uint %5245 %int_4 + %22965 = OpLoad %v3uint %25178 + %18835 = OpVectorShuffle %v2uint %10229 %10229 0 1 + %6626 = OpVectorShuffle %v2uint %22965 %22965 0 1 + %17032 = OpUGreaterThanEqual %v2bool %18835 %6626 + %24679 = OpAny %bool %17032 + OpSelectionMerge %6282 DontFlatten + OpBranchConditional %24679 %21992 %6282 + %21992 = OpLabel + OpBranch %19578 + %6282 = OpLabel + %6795 = OpBitcast %v3int %10229 + %18792 = OpAccessChain %_ptr_Uniform_uint %5245 %int_6 + %9788 = OpLoad %uint %18792 + %20376 = OpCompositeExtract %uint %22965 1 + %14692 = OpCompositeExtract %int %6795 0 + %22810 = OpIMul %int %14692 %int_4 + %6362 = OpCompositeExtract %int %6795 2 + %14505 = OpBitcast %int %20376 + %11279 = OpIMul %int %6362 %14505 + %17598 = OpCompositeExtract %int %6795 1 + %22228 = OpIAdd %int %11279 %17598 + %22405 = OpBitcast %int %9788 + %24535 = OpIMul %int %22228 %22405 + %7061 = OpIAdd %int %22810 %24535 + %19270 = OpBitcast %uint %7061 + %19460 = OpAccessChain %_ptr_Uniform_uint %5245 %int_5 + %22875 = OpLoad %uint %19460 + %8517 = OpIAdd %uint %19270 %22875 + %21670 = OpShiftRightLogical %uint %8517 %uint_4 + %18404 = OpAccessChain %_ptr_Uniform_uint %5245 %int_1 + %23432 = OpLoad %uint %18404 + %22700 = OpAccessChain %_ptr_Uniform_uint %5245 %int_0 + %20387 = OpLoad %uint %22700 + %22279 = OpBitwiseAnd %uint %20387 %uint_2 + %19223 = OpINotEqual %bool %22279 %uint_0 + %17247 = OpCompositeConstruct %v2uint %20387 %20387 + %22947 = OpShiftRightLogical %v2uint %17247 %1915 + %6551 = OpBitwiseAnd %v2uint %22947 %1870 + %18732 = OpAccessChain %_ptr_Uniform_uint %5245 %int_2 + %24236 = OpLoad %uint %18732 + %20458 = OpAccessChain %_ptr_Uniform_uint %5245 %int_3 + %22167 = OpLoad %uint %20458 + %18929 = OpCompositeExtract %uint %10229 0 + %6638 = OpShiftRightLogical %uint %18929 %uint_2 + %9988 = OpCompositeExtract %uint %10229 1 + %23563 = OpCompositeConstruct %v2uint %6638 %9988 + %8041 = OpUDiv %v2uint %23563 %6551 + %13932 = OpCompositeExtract %uint %8041 0 + %19789 = OpShiftLeftLogical %uint %13932 %uint_2 + %20905 = OpCompositeExtract %uint %8041 1 + %23022 = OpCompositeExtract %uint %10229 2 + %9417 = OpCompositeConstruct %v3uint %19789 %20905 %23022 + OpSelectionMerge %21313 DontFlatten + OpBranchConditional %19223 %21373 %11737 + %21373 = OpLabel + %10608 = OpBitcast %v3int %9417 + %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 %22167 %uint_4 + %6314 = OpBitcast %int %23373 + %21281 = OpIMul %int %16476 %6314 + %15143 = OpIAdd %int %9469 %21281 + %9032 = OpShiftRightLogical %uint %24236 %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 + %16658 = OpShiftRightArithmetic %int %25154 %int_3 + %18794 = OpShiftLeftLogical %int %23052 %int_1 + %13501 = OpIAdd %int %16658 %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 %9417 %9417 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 %24236 %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 %8041 %6551 + %15292 = OpISub %v2uint %23563 %16296 + %7303 = OpCompositeExtract %uint %6551 0 + %22882 = OpCompositeExtract %uint %6551 1 + %13170 = OpIMul %uint %7303 %22882 + %15520 = OpIMul %uint %9468 %13170 + %16084 = OpCompositeExtract %uint %15292 0 + %15890 = OpIMul %uint %16084 %22882 + %6886 = OpCompositeExtract %uint %15292 1 + %11045 = OpIAdd %uint %15890 %6886 + %24733 = OpShiftLeftLogical %uint %11045 %uint_2 + %23219 = OpBitwiseAnd %uint %18929 %uint_3 + %9559 = OpIAdd %uint %24733 %23219 + %16557 = OpShiftLeftLogical %uint %9559 %uint_2 + %20138 = OpIAdd %uint %15520 %16557 + %17724 = OpIAdd %uint %23432 %20138 + %14040 = OpShiftRightLogical %uint %17724 %uint_4 + %11766 = OpShiftRightLogical %uint %20387 %uint_2 + %8394 = OpBitwiseAnd %uint %11766 %uint_3 + %20727 = OpAccessChain %_ptr_Uniform_v4uint %4218 %int_0 %14040 + %8142 = OpLoad %v4uint %20727 + %13760 = OpIEqual %bool %8394 %uint_1 + %21366 = OpIEqual %bool %8394 %uint_2 + %22150 = OpLogicalOr %bool %13760 %21366 + OpSelectionMerge %13411 None + OpBranchConditional %22150 %10583 %13411 + %10583 = OpLabel + %18271 = OpBitwiseAnd %v4uint %8142 %2510 + %9425 = OpShiftLeftLogical %v4uint %18271 %317 + %20652 = OpBitwiseAnd %v4uint %8142 %1838 + %17549 = OpShiftRightLogical %v4uint %20652 %317 + %16376 = OpBitwiseOr %v4uint %9425 %17549 + OpBranch %13411 + %13411 = OpLabel + %22649 = OpPhi %v4uint %8142 %21313 %16376 %10583 + %19638 = OpIEqual %bool %8394 %uint_3 + %15139 = OpLogicalOr %bool %21366 %19638 + OpSelectionMerge %12537 None + OpBranchConditional %15139 %11064 %12537 + %11064 = OpLabel + %24087 = OpShiftLeftLogical %v4uint %22649 %749 + %15335 = OpShiftRightLogical %v4uint %22649 %749 + %10728 = OpBitwiseOr %v4uint %24087 %15335 + OpBranch %12537 + %12537 = OpLabel + %12106 = OpPhi %v4uint %22649 %13411 %10728 %11064 + %15375 = OpBitcast %v4int %12106 + %16910 = OpShiftLeftLogical %v4int %15375 %770 + %16536 = OpShiftRightArithmetic %v4int %16910 %770 + %10903 = OpConvertSToF %v4float %16536 + %20413 = OpVectorTimesScalar %v4float %10903 %float_3_05185094en05 + %23989 = OpExtInst %v4float %1 FMax %1284 %20413 + %14338 = OpShiftRightArithmetic %v4int %15375 %770 + %6607 = OpConvertSToF %v4float %14338 + %18247 = OpVectorTimesScalar %v4float %6607 %float_3_05185094en05 + %24070 = OpExtInst %v4float %1 FMax %1284 %18247 + %24330 = OpCompositeExtract %float %23989 0 + %14319 = OpCompositeExtract %float %24070 0 + %19232 = OpCompositeConstruct %v2float %24330 %14319 + %8561 = OpExtInst %uint %1 PackHalf2x16 %19232 + %23487 = OpCompositeExtract %float %23989 1 + %14759 = OpCompositeExtract %float %24070 1 + %19233 = OpCompositeConstruct %v2float %23487 %14759 + %8562 = OpExtInst %uint %1 PackHalf2x16 %19233 + %23488 = OpCompositeExtract %float %23989 2 + %14760 = OpCompositeExtract %float %24070 2 + %19234 = OpCompositeConstruct %v2float %23488 %14760 + %8563 = OpExtInst %uint %1 PackHalf2x16 %19234 + %23489 = OpCompositeExtract %float %23989 3 + %14761 = OpCompositeExtract %float %24070 3 + %19213 = OpCompositeConstruct %v2float %23489 %14761 + %8430 = OpExtInst %uint %1 PackHalf2x16 %19213 + %15035 = OpCompositeConstruct %v4uint %8561 %8562 %8563 %8430 + %17859 = OpAccessChain %_ptr_Uniform_v4uint %5134 %int_0 %21670 + OpStore %17859 %15035 + %15532 = OpIAdd %uint %21670 %int_1 + %6417 = OpUGreaterThan %bool %7303 %uint_1 + OpSelectionMerge %24764 DontFlatten + OpBranchConditional %6417 %20612 %20628 + %20612 = OpLabel + %13975 = OpUDiv %uint %6638 %7303 + %9086 = OpIMul %uint %13975 %7303 + %12657 = OpISub %uint %6638 %9086 + %9511 = OpIAdd %uint %12657 %uint_1 + %13375 = OpIEqual %bool %9511 %7303 + OpSelectionMerge %7917 None + OpBranchConditional %13375 %22174 %8593 + %22174 = OpLabel + %19289 = OpIMul %uint %uint_32 %7303 + %21519 = OpShiftLeftLogical %uint %12657 %uint_4 + %18756 = OpISub %uint %19289 %21519 + OpBranch %7917 + %8593 = OpLabel + OpBranch %7917 + %7917 = OpLabel + %10540 = OpPhi %uint %18756 %22174 %uint_16 %8593 + OpBranch %24764 + %20628 = OpLabel + OpBranch %24764 + %24764 = OpLabel + %10684 = OpPhi %uint %10540 %7917 %uint_32 %20628 + %18731 = OpIMul %uint %10684 %22882 + %16493 = OpShiftRightLogical %uint %18731 %uint_4 + %13163 = OpIAdd %uint %14040 %16493 + %22298 = OpAccessChain %_ptr_Uniform_v4uint %4218 %int_0 %13163 + %6578 = OpLoad %v4uint %22298 + OpSelectionMerge %14874 None + OpBranchConditional %22150 %10584 %14874 + %10584 = OpLabel + %18272 = OpBitwiseAnd %v4uint %6578 %2510 + %9426 = OpShiftLeftLogical %v4uint %18272 %317 + %20653 = OpBitwiseAnd %v4uint %6578 %1838 + %17550 = OpShiftRightLogical %v4uint %20653 %317 + %16377 = OpBitwiseOr %v4uint %9426 %17550 + OpBranch %14874 + %14874 = OpLabel + %10924 = OpPhi %v4uint %6578 %24764 %16377 %10584 + OpSelectionMerge %12538 None + OpBranchConditional %15139 %11065 %12538 + %11065 = OpLabel + %24088 = OpShiftLeftLogical %v4uint %10924 %749 + %15336 = OpShiftRightLogical %v4uint %10924 %749 + %10729 = OpBitwiseOr %v4uint %24088 %15336 + OpBranch %12538 + %12538 = OpLabel + %12107 = OpPhi %v4uint %10924 %14874 %10729 %11065 + %15376 = OpBitcast %v4int %12107 + %16911 = OpShiftLeftLogical %v4int %15376 %770 + %16537 = OpShiftRightArithmetic %v4int %16911 %770 + %10904 = OpConvertSToF %v4float %16537 + %20414 = OpVectorTimesScalar %v4float %10904 %float_3_05185094en05 + %23990 = OpExtInst %v4float %1 FMax %1284 %20414 + %14339 = OpShiftRightArithmetic %v4int %15376 %770 + %6608 = OpConvertSToF %v4float %14339 + %18248 = OpVectorTimesScalar %v4float %6608 %float_3_05185094en05 + %24071 = OpExtInst %v4float %1 FMax %1284 %18248 + %24331 = OpCompositeExtract %float %23990 0 + %14320 = OpCompositeExtract %float %24071 0 + %19235 = OpCompositeConstruct %v2float %24331 %14320 + %8564 = OpExtInst %uint %1 PackHalf2x16 %19235 + %23490 = OpCompositeExtract %float %23990 1 + %14762 = OpCompositeExtract %float %24071 1 + %19236 = OpCompositeConstruct %v2float %23490 %14762 + %8565 = OpExtInst %uint %1 PackHalf2x16 %19236 + %23491 = OpCompositeExtract %float %23990 2 + %14763 = OpCompositeExtract %float %24071 2 + %19237 = OpCompositeConstruct %v2float %23491 %14763 + %8566 = OpExtInst %uint %1 PackHalf2x16 %19237 + %23492 = OpCompositeExtract %float %23990 3 + %14764 = OpCompositeExtract %float %24071 3 + %19214 = OpCompositeConstruct %v2float %23492 %14764 + %8431 = OpExtInst %uint %1 PackHalf2x16 %19214 + %15036 = OpCompositeConstruct %v4uint %8564 %8565 %8566 %8431 + %20158 = OpAccessChain %_ptr_Uniform_v4uint %5134 %int_0 %15532 + OpStore %20158 %15036 + OpBranch %19578 + %19578 = OpLabel + OpReturn + OpFunctionEnd +#endif + +const uint32_t texture_load_rg16_snorm_float_scaled_cs[] = { + 0x07230203, 0x00010000, 0x0008000A, 0x0000625B, 0x00000000, 0x00020011, + 0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E, + 0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0006000F, 0x00000005, + 0x0000161F, 0x6E69616D, 0x00000000, 0x00000F48, 0x00060010, 0x0000161F, + 0x00000011, 0x00000004, 0x00000020, 0x00000001, 0x00050048, 0x00000489, + 0x00000000, 0x00000023, 0x00000000, 0x00050048, 0x00000489, 0x00000001, + 0x00000023, 0x00000004, 0x00050048, 0x00000489, 0x00000002, 0x00000023, + 0x00000008, 0x00050048, 0x00000489, 0x00000003, 0x00000023, 0x0000000C, + 0x00050048, 0x00000489, 0x00000004, 0x00000023, 0x00000010, 0x00050048, + 0x00000489, 0x00000005, 0x00000023, 0x0000001C, 0x00050048, 0x00000489, + 0x00000006, 0x00000023, 0x00000020, 0x00050048, 0x00000489, 0x00000007, + 0x00000023, 0x00000024, 0x00030047, 0x00000489, 0x00000002, 0x00040047, + 0x0000147D, 0x00000022, 0x00000002, 0x00040047, 0x0000147D, 0x00000021, + 0x00000000, 0x00040047, 0x00000F48, 0x0000000B, 0x0000001C, 0x00040047, + 0x000007DC, 0x00000006, 0x00000010, 0x00040048, 0x000007B4, 0x00000000, + 0x00000019, 0x00050048, 0x000007B4, 0x00000000, 0x00000023, 0x00000000, + 0x00030047, 0x000007B4, 0x00000003, 0x00040047, 0x0000140E, 0x00000022, + 0x00000000, 0x00040047, 0x0000140E, 0x00000021, 0x00000000, 0x00040047, + 0x000007DD, 0x00000006, 0x00000010, 0x00040048, 0x000007B5, 0x00000000, + 0x00000018, 0x00050048, 0x000007B5, 0x00000000, 0x00000023, 0x00000000, + 0x00030047, 0x000007B5, 0x00000003, 0x00040047, 0x0000107A, 0x00000022, + 0x00000001, 0x00040047, 0x0000107A, 0x00000021, 0x00000000, 0x00040047, + 0x00000BC3, 0x0000000B, 0x00000019, 0x00020013, 0x00000008, 0x00030021, + 0x00000502, 0x00000008, 0x00040015, 0x0000000B, 0x00000020, 0x00000000, + 0x00040017, 0x00000017, 0x0000000B, 0x00000004, 0x00040015, 0x0000000C, + 0x00000020, 0x00000001, 0x00040017, 0x00000012, 0x0000000C, 0x00000002, + 0x00040017, 0x00000016, 0x0000000C, 0x00000003, 0x00020014, 0x00000009, + 0x00040017, 0x00000014, 0x0000000B, 0x00000003, 0x00040017, 0x00000011, + 0x0000000B, 0x00000002, 0x00030016, 0x0000000D, 0x00000020, 0x00040017, + 0x0000001D, 0x0000000D, 0x00000004, 0x0004002B, 0x0000000D, 0x00000341, + 0xBF800000, 0x0007002C, 0x0000001D, 0x00000504, 0x00000341, 0x00000341, + 0x00000341, 0x00000341, 0x00040017, 0x0000001A, 0x0000000C, 0x00000004, + 0x0004002B, 0x0000000C, 0x00000A3B, 0x00000010, 0x0004002B, 0x0000000D, + 0x00000A38, 0x38000100, 0x0004002B, 0x0000000B, 0x00000A0A, 0x00000000, + 0x00040017, 0x00000013, 0x0000000D, 0x00000002, 0x0004002B, 0x0000000B, + 0x00000A0D, 0x00000001, 0x0004002B, 0x0000000B, 0x00000A10, 0x00000002, + 0x0004002B, 0x0000000B, 0x00000A13, 0x00000003, 0x0004002B, 0x0000000B, + 0x000008A6, 0x00FF00FF, 0x0004002B, 0x0000000B, 0x00000A22, 0x00000008, + 0x0004002B, 0x0000000B, 0x000005FD, 0xFF00FF00, 0x0004002B, 0x0000000B, + 0x00000A3A, 0x00000010, 0x0004002B, 0x0000000C, 0x00000A1A, 0x00000005, + 0x0004002B, 0x0000000B, 0x00000A19, 0x00000005, 0x0004002B, 0x0000000C, + 0x00000A20, 0x00000007, 0x0004002B, 0x0000000C, 0x00000A35, 0x0000000E, + 0x0004002B, 0x0000000C, 0x00000A11, 0x00000002, 0x0004002B, 0x0000000C, + 0x000009DB, 0xFFFFFFF0, 0x0004002B, 0x0000000C, 0x00000A0E, 0x00000001, + 0x0004002B, 0x0000000C, 0x00000A39, 0x0000000F, 0x0004002B, 0x0000000C, + 0x00000A17, 0x00000004, 0x0004002B, 0x0000000C, 0x0000040B, 0xFFFFFE00, + 0x0004002B, 0x0000000C, 0x00000A14, 0x00000003, 0x0004002B, 0x0000000C, + 0x00000388, 0x000001C0, 0x0004002B, 0x0000000C, 0x00000A23, 0x00000008, + 0x0004002B, 0x0000000C, 0x00000A1D, 0x00000006, 0x0004002B, 0x0000000C, + 0x00000AC8, 0x0000003F, 0x0004002B, 0x0000000B, 0x00000A16, 0x00000004, + 0x0004002B, 0x0000000B, 0x00000A1C, 0x00000006, 0x0004002B, 0x0000000C, + 0x0000078B, 0x0FFFFFFF, 0x0004002B, 0x0000000C, 0x00000A05, 0xFFFFFFFE, + 0x0004002B, 0x0000000B, 0x00000A6A, 0x00000020, 0x000A001E, 0x00000489, + 0x0000000B, 0x0000000B, 0x0000000B, 0x0000000B, 0x00000014, 0x0000000B, + 0x0000000B, 0x0000000B, 0x00040020, 0x00000706, 0x00000002, 0x00000489, + 0x0004003B, 0x00000706, 0x0000147D, 0x00000002, 0x0004002B, 0x0000000C, + 0x00000A0B, 0x00000000, 0x00040020, 0x00000288, 0x00000002, 0x0000000B, + 0x0005002C, 0x00000011, 0x0000077B, 0x00000A16, 0x00000A1C, 0x00040020, + 0x00000291, 0x00000002, 0x00000014, 0x00040020, 0x00000292, 0x00000001, + 0x00000014, 0x0004003B, 0x00000292, 0x00000F48, 0x00000001, 0x0006002C, + 0x00000014, 0x00000A2B, 0x00000A13, 0x00000A0A, 0x00000A0A, 0x00040017, + 0x0000000F, 0x00000009, 0x00000002, 0x0003001D, 0x000007DC, 0x00000017, + 0x0003001E, 0x000007B4, 0x000007DC, 0x00040020, 0x00000A31, 0x00000002, + 0x000007B4, 0x0004003B, 0x00000A31, 0x0000140E, 0x00000002, 0x0003001D, + 0x000007DD, 0x00000017, 0x0003001E, 0x000007B5, 0x000007DD, 0x00040020, + 0x00000A32, 0x00000002, 0x000007B5, 0x0004003B, 0x00000A32, 0x0000107A, + 0x00000002, 0x00040020, 0x00000294, 0x00000002, 0x00000017, 0x0006002C, + 0x00000014, 0x00000BC3, 0x00000A16, 0x00000A6A, 0x00000A0D, 0x0005002C, + 0x00000011, 0x0000074E, 0x00000A13, 0x00000A13, 0x0004002B, 0x0000000B, + 0x00000A25, 0x00000009, 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, + 0x0007002C, 0x0000001A, 0x00000302, 0x00000A3B, 0x00000A3B, 0x00000A3B, + 0x00000A3B, 0x00050036, 0x00000008, 0x0000161F, 0x00000000, 0x00000502, + 0x000200F8, 0x00003B06, 0x000300F7, 0x00004C7A, 0x00000000, 0x000300FB, + 0x00000A0A, 0x00003B21, 0x000200F8, 0x00003B21, 0x0004003D, 0x00000014, + 0x0000312F, 0x00000F48, 0x000500C4, 0x00000014, 0x000027F5, 0x0000312F, + 0x00000A2B, 0x00050041, 0x00000291, 0x0000625A, 0x0000147D, 0x00000A17, + 0x0004003D, 0x00000014, 0x000059B5, 0x0000625A, 0x0007004F, 0x00000011, + 0x00004993, 0x000027F5, 0x000027F5, 0x00000000, 0x00000001, 0x0007004F, + 0x00000011, 0x000019E2, 0x000059B5, 0x000059B5, 0x00000000, 0x00000001, + 0x000500AE, 0x0000000F, 0x00004288, 0x00004993, 0x000019E2, 0x0004009A, + 0x00000009, 0x00006067, 0x00004288, 0x000300F7, 0x0000188A, 0x00000002, + 0x000400FA, 0x00006067, 0x000055E8, 0x0000188A, 0x000200F8, 0x000055E8, + 0x000200F9, 0x00004C7A, 0x000200F8, 0x0000188A, 0x0004007C, 0x00000016, + 0x00001A8B, 0x000027F5, 0x00050041, 0x00000288, 0x00004968, 0x0000147D, + 0x00000A1D, 0x0004003D, 0x0000000B, 0x0000263C, 0x00004968, 0x00050051, + 0x0000000B, 0x00004F98, 0x000059B5, 0x00000001, 0x00050051, 0x0000000C, + 0x00003964, 0x00001A8B, 0x00000000, 0x00050084, 0x0000000C, 0x0000591A, + 0x00003964, 0x00000A17, 0x00050051, 0x0000000C, 0x000018DA, 0x00001A8B, + 0x00000002, 0x0004007C, 0x0000000C, 0x000038A9, 0x00004F98, 0x00050084, + 0x0000000C, 0x00002C0F, 0x000018DA, 0x000038A9, 0x00050051, 0x0000000C, + 0x000044BE, 0x00001A8B, 0x00000001, 0x00050080, 0x0000000C, 0x000056D4, + 0x00002C0F, 0x000044BE, 0x0004007C, 0x0000000C, 0x00005785, 0x0000263C, + 0x00050084, 0x0000000C, 0x00005FD7, 0x000056D4, 0x00005785, 0x00050080, + 0x0000000C, 0x00001B95, 0x0000591A, 0x00005FD7, 0x0004007C, 0x0000000B, + 0x00004B46, 0x00001B95, 0x00050041, 0x00000288, 0x00004C04, 0x0000147D, + 0x00000A1A, 0x0004003D, 0x0000000B, 0x0000595B, 0x00004C04, 0x00050080, + 0x0000000B, 0x00002145, 0x00004B46, 0x0000595B, 0x000500C2, 0x0000000B, + 0x000054A6, 0x00002145, 0x00000A16, 0x00050041, 0x00000288, 0x000047E4, + 0x0000147D, 0x00000A0E, 0x0004003D, 0x0000000B, 0x00005B88, 0x000047E4, + 0x00050041, 0x00000288, 0x000058AC, 0x0000147D, 0x00000A0B, 0x0004003D, + 0x0000000B, 0x00004FA3, 0x000058AC, 0x000500C7, 0x0000000B, 0x00005707, + 0x00004FA3, 0x00000A10, 0x000500AB, 0x00000009, 0x00004B17, 0x00005707, + 0x00000A0A, 0x00050050, 0x00000011, 0x0000435F, 0x00004FA3, 0x00004FA3, + 0x000500C2, 0x00000011, 0x000059A3, 0x0000435F, 0x0000077B, 0x000500C7, + 0x00000011, 0x00001997, 0x000059A3, 0x0000074E, 0x00050041, 0x00000288, + 0x0000492C, 0x0000147D, 0x00000A11, 0x0004003D, 0x0000000B, 0x00005EAC, + 0x0000492C, 0x00050041, 0x00000288, 0x00004FEA, 0x0000147D, 0x00000A14, + 0x0004003D, 0x0000000B, 0x00005697, 0x00004FEA, 0x00050051, 0x0000000B, + 0x000049F1, 0x000027F5, 0x00000000, 0x000500C2, 0x0000000B, 0x000019EE, + 0x000049F1, 0x00000A10, 0x00050051, 0x0000000B, 0x00002704, 0x000027F5, + 0x00000001, 0x00050050, 0x00000011, 0x00005C0B, 0x000019EE, 0x00002704, + 0x00050086, 0x00000011, 0x00001F69, 0x00005C0B, 0x00001997, 0x00050051, + 0x0000000B, 0x0000366C, 0x00001F69, 0x00000000, 0x000500C4, 0x0000000B, + 0x00004D4D, 0x0000366C, 0x00000A10, 0x00050051, 0x0000000B, 0x000051A9, + 0x00001F69, 0x00000001, 0x00050051, 0x0000000B, 0x000059EE, 0x000027F5, + 0x00000002, 0x00060050, 0x00000014, 0x000024C9, 0x00004D4D, 0x000051A9, + 0x000059EE, 0x000300F7, 0x00005341, 0x00000002, 0x000400FA, 0x00004B17, + 0x0000537D, 0x00002DD9, 0x000200F8, 0x0000537D, 0x0004007C, 0x00000016, + 0x00002970, 0x000024C9, 0x00050051, 0x0000000C, 0x000042C2, 0x00002970, + 0x00000001, 0x000500C3, 0x0000000C, 0x000024FD, 0x000042C2, 0x00000A17, + 0x00050051, 0x0000000C, 0x00002747, 0x00002970, 0x00000002, 0x000500C3, + 0x0000000C, 0x0000405C, 0x00002747, 0x00000A11, 0x000500C2, 0x0000000B, + 0x00005B4D, 0x00005697, 0x00000A16, 0x0004007C, 0x0000000C, 0x000018AA, + 0x00005B4D, 0x00050084, 0x0000000C, 0x00005321, 0x0000405C, 0x000018AA, + 0x00050080, 0x0000000C, 0x00003B27, 0x000024FD, 0x00005321, 0x000500C2, + 0x0000000B, 0x00002348, 0x00005EAC, 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, + 0x00004112, 0x00006242, 0x00000A14, 0x000500C4, 0x0000000C, 0x0000496A, + 0x00005A0C, 0x00000A0E, 0x00050080, 0x0000000C, 0x000034BD, 0x00004112, + 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, 0x00000A39, + 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, 0x000024C9, 0x000024C9, 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, 0x00005EAC, 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, 0x00000A39, 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, + 0x00001F69, 0x00001997, 0x00050082, 0x00000011, 0x00003BBC, 0x00005C0B, + 0x00003FA8, 0x00050051, 0x0000000B, 0x00001C87, 0x00001997, 0x00000000, + 0x00050051, 0x0000000B, 0x00005962, 0x00001997, 0x00000001, 0x00050084, + 0x0000000B, 0x00003372, 0x00001C87, 0x00005962, 0x00050084, 0x0000000B, + 0x00003CA0, 0x000024FC, 0x00003372, 0x00050051, 0x0000000B, 0x00003ED4, + 0x00003BBC, 0x00000000, 0x00050084, 0x0000000B, 0x00003E12, 0x00003ED4, + 0x00005962, 0x00050051, 0x0000000B, 0x00001AE6, 0x00003BBC, 0x00000001, + 0x00050080, 0x0000000B, 0x00002B25, 0x00003E12, 0x00001AE6, 0x000500C4, + 0x0000000B, 0x0000609D, 0x00002B25, 0x00000A10, 0x000500C7, 0x0000000B, + 0x00005AB3, 0x000049F1, 0x00000A13, 0x00050080, 0x0000000B, 0x00002557, + 0x0000609D, 0x00005AB3, 0x000500C4, 0x0000000B, 0x000040AD, 0x00002557, + 0x00000A10, 0x00050080, 0x0000000B, 0x00004EAA, 0x00003CA0, 0x000040AD, + 0x00050080, 0x0000000B, 0x0000453C, 0x00005B88, 0x00004EAA, 0x000500C2, + 0x0000000B, 0x000036D8, 0x0000453C, 0x00000A16, 0x000500C2, 0x0000000B, + 0x00002DF6, 0x00004FA3, 0x00000A10, 0x000500C7, 0x0000000B, 0x000020CA, + 0x00002DF6, 0x00000A13, 0x00060041, 0x00000294, 0x000050F7, 0x0000107A, + 0x00000A0B, 0x000036D8, 0x0004003D, 0x00000017, 0x00001FCE, 0x000050F7, + 0x000500AA, 0x00000009, 0x000035C0, 0x000020CA, 0x00000A0D, 0x000500AA, + 0x00000009, 0x00005376, 0x000020CA, 0x00000A10, 0x000500A6, 0x00000009, + 0x00005686, 0x000035C0, 0x00005376, 0x000300F7, 0x00003463, 0x00000000, + 0x000400FA, 0x00005686, 0x00002957, 0x00003463, 0x000200F8, 0x00002957, + 0x000500C7, 0x00000017, 0x0000475F, 0x00001FCE, 0x000009CE, 0x000500C4, + 0x00000017, 0x000024D1, 0x0000475F, 0x0000013D, 0x000500C7, 0x00000017, + 0x000050AC, 0x00001FCE, 0x0000072E, 0x000500C2, 0x00000017, 0x0000448D, + 0x000050AC, 0x0000013D, 0x000500C5, 0x00000017, 0x00003FF8, 0x000024D1, + 0x0000448D, 0x000200F9, 0x00003463, 0x000200F8, 0x00003463, 0x000700F5, + 0x00000017, 0x00005879, 0x00001FCE, 0x00005341, 0x00003FF8, 0x00002957, + 0x000500AA, 0x00000009, 0x00004CB6, 0x000020CA, 0x00000A13, 0x000500A6, + 0x00000009, 0x00003B23, 0x00005376, 0x00004CB6, 0x000300F7, 0x000030F9, + 0x00000000, 0x000400FA, 0x00003B23, 0x00002B38, 0x000030F9, 0x000200F8, + 0x00002B38, 0x000500C4, 0x00000017, 0x00005E17, 0x00005879, 0x000002ED, + 0x000500C2, 0x00000017, 0x00003BE7, 0x00005879, 0x000002ED, 0x000500C5, + 0x00000017, 0x000029E8, 0x00005E17, 0x00003BE7, 0x000200F9, 0x000030F9, + 0x000200F8, 0x000030F9, 0x000700F5, 0x00000017, 0x00002F4A, 0x00005879, + 0x00003463, 0x000029E8, 0x00002B38, 0x0004007C, 0x0000001A, 0x00003C0F, + 0x00002F4A, 0x000500C4, 0x0000001A, 0x0000420E, 0x00003C0F, 0x00000302, + 0x000500C3, 0x0000001A, 0x00004098, 0x0000420E, 0x00000302, 0x0004006F, + 0x0000001D, 0x00002A97, 0x00004098, 0x0005008E, 0x0000001D, 0x00004FBD, + 0x00002A97, 0x00000A38, 0x0007000C, 0x0000001D, 0x00005DB5, 0x00000001, + 0x00000028, 0x00000504, 0x00004FBD, 0x000500C3, 0x0000001A, 0x00003802, + 0x00003C0F, 0x00000302, 0x0004006F, 0x0000001D, 0x000019CF, 0x00003802, + 0x0005008E, 0x0000001D, 0x00004747, 0x000019CF, 0x00000A38, 0x0007000C, + 0x0000001D, 0x00005E06, 0x00000001, 0x00000028, 0x00000504, 0x00004747, + 0x00050051, 0x0000000D, 0x00005F0A, 0x00005DB5, 0x00000000, 0x00050051, + 0x0000000D, 0x000037EF, 0x00005E06, 0x00000000, 0x00050050, 0x00000013, + 0x00004B20, 0x00005F0A, 0x000037EF, 0x0006000C, 0x0000000B, 0x00002171, + 0x00000001, 0x0000003A, 0x00004B20, 0x00050051, 0x0000000D, 0x00005BBF, + 0x00005DB5, 0x00000001, 0x00050051, 0x0000000D, 0x000039A7, 0x00005E06, + 0x00000001, 0x00050050, 0x00000013, 0x00004B21, 0x00005BBF, 0x000039A7, + 0x0006000C, 0x0000000B, 0x00002172, 0x00000001, 0x0000003A, 0x00004B21, + 0x00050051, 0x0000000D, 0x00005BC0, 0x00005DB5, 0x00000002, 0x00050051, + 0x0000000D, 0x000039A8, 0x00005E06, 0x00000002, 0x00050050, 0x00000013, + 0x00004B22, 0x00005BC0, 0x000039A8, 0x0006000C, 0x0000000B, 0x00002173, + 0x00000001, 0x0000003A, 0x00004B22, 0x00050051, 0x0000000D, 0x00005BC1, + 0x00005DB5, 0x00000003, 0x00050051, 0x0000000D, 0x000039A9, 0x00005E06, + 0x00000003, 0x00050050, 0x00000013, 0x00004B0D, 0x00005BC1, 0x000039A9, + 0x0006000C, 0x0000000B, 0x000020EE, 0x00000001, 0x0000003A, 0x00004B0D, + 0x00070050, 0x00000017, 0x00003ABB, 0x00002171, 0x00002172, 0x00002173, + 0x000020EE, 0x00060041, 0x00000294, 0x000045C3, 0x0000140E, 0x00000A0B, + 0x000054A6, 0x0003003E, 0x000045C3, 0x00003ABB, 0x00050080, 0x0000000B, + 0x00003CAC, 0x000054A6, 0x00000A0E, 0x000500AC, 0x00000009, 0x00001911, + 0x00001C87, 0x00000A0D, 0x000300F7, 0x000060BC, 0x00000002, 0x000400FA, + 0x00001911, 0x00005084, 0x00005094, 0x000200F8, 0x00005084, 0x00050086, + 0x0000000B, 0x00003697, 0x000019EE, 0x00001C87, 0x00050084, 0x0000000B, + 0x0000237E, 0x00003697, 0x00001C87, 0x00050082, 0x0000000B, 0x00003171, + 0x000019EE, 0x0000237E, 0x00050080, 0x0000000B, 0x00002527, 0x00003171, + 0x00000A0D, 0x000500AA, 0x00000009, 0x0000343F, 0x00002527, 0x00001C87, + 0x000300F7, 0x00001EED, 0x00000000, 0x000400FA, 0x0000343F, 0x0000569E, + 0x00002191, 0x000200F8, 0x0000569E, 0x00050084, 0x0000000B, 0x00004B59, + 0x00000A6A, 0x00001C87, 0x000500C4, 0x0000000B, 0x0000540F, 0x00003171, + 0x00000A16, 0x00050082, 0x0000000B, 0x00004944, 0x00004B59, 0x0000540F, + 0x000200F9, 0x00001EED, 0x000200F8, 0x00002191, 0x000200F9, 0x00001EED, + 0x000200F8, 0x00001EED, 0x000700F5, 0x0000000B, 0x0000292C, 0x00004944, + 0x0000569E, 0x00000A3A, 0x00002191, 0x000200F9, 0x000060BC, 0x000200F8, + 0x00005094, 0x000200F9, 0x000060BC, 0x000200F8, 0x000060BC, 0x000700F5, + 0x0000000B, 0x000029BC, 0x0000292C, 0x00001EED, 0x00000A6A, 0x00005094, + 0x00050084, 0x0000000B, 0x0000492B, 0x000029BC, 0x00005962, 0x000500C2, + 0x0000000B, 0x0000406D, 0x0000492B, 0x00000A16, 0x00050080, 0x0000000B, + 0x0000336B, 0x000036D8, 0x0000406D, 0x00060041, 0x00000294, 0x0000571A, + 0x0000107A, 0x00000A0B, 0x0000336B, 0x0004003D, 0x00000017, 0x000019B2, + 0x0000571A, 0x000300F7, 0x00003A1A, 0x00000000, 0x000400FA, 0x00005686, + 0x00002958, 0x00003A1A, 0x000200F8, 0x00002958, 0x000500C7, 0x00000017, + 0x00004760, 0x000019B2, 0x000009CE, 0x000500C4, 0x00000017, 0x000024D2, + 0x00004760, 0x0000013D, 0x000500C7, 0x00000017, 0x000050AD, 0x000019B2, + 0x0000072E, 0x000500C2, 0x00000017, 0x0000448E, 0x000050AD, 0x0000013D, + 0x000500C5, 0x00000017, 0x00003FF9, 0x000024D2, 0x0000448E, 0x000200F9, + 0x00003A1A, 0x000200F8, 0x00003A1A, 0x000700F5, 0x00000017, 0x00002AAC, + 0x000019B2, 0x000060BC, 0x00003FF9, 0x00002958, 0x000300F7, 0x000030FA, + 0x00000000, 0x000400FA, 0x00003B23, 0x00002B39, 0x000030FA, 0x000200F8, + 0x00002B39, 0x000500C4, 0x00000017, 0x00005E18, 0x00002AAC, 0x000002ED, + 0x000500C2, 0x00000017, 0x00003BE8, 0x00002AAC, 0x000002ED, 0x000500C5, + 0x00000017, 0x000029E9, 0x00005E18, 0x00003BE8, 0x000200F9, 0x000030FA, + 0x000200F8, 0x000030FA, 0x000700F5, 0x00000017, 0x00002F4B, 0x00002AAC, + 0x00003A1A, 0x000029E9, 0x00002B39, 0x0004007C, 0x0000001A, 0x00003C10, + 0x00002F4B, 0x000500C4, 0x0000001A, 0x0000420F, 0x00003C10, 0x00000302, + 0x000500C3, 0x0000001A, 0x00004099, 0x0000420F, 0x00000302, 0x0004006F, + 0x0000001D, 0x00002A98, 0x00004099, 0x0005008E, 0x0000001D, 0x00004FBE, + 0x00002A98, 0x00000A38, 0x0007000C, 0x0000001D, 0x00005DB6, 0x00000001, + 0x00000028, 0x00000504, 0x00004FBE, 0x000500C3, 0x0000001A, 0x00003803, + 0x00003C10, 0x00000302, 0x0004006F, 0x0000001D, 0x000019D0, 0x00003803, + 0x0005008E, 0x0000001D, 0x00004748, 0x000019D0, 0x00000A38, 0x0007000C, + 0x0000001D, 0x00005E07, 0x00000001, 0x00000028, 0x00000504, 0x00004748, + 0x00050051, 0x0000000D, 0x00005F0B, 0x00005DB6, 0x00000000, 0x00050051, + 0x0000000D, 0x000037F0, 0x00005E07, 0x00000000, 0x00050050, 0x00000013, + 0x00004B23, 0x00005F0B, 0x000037F0, 0x0006000C, 0x0000000B, 0x00002174, + 0x00000001, 0x0000003A, 0x00004B23, 0x00050051, 0x0000000D, 0x00005BC2, + 0x00005DB6, 0x00000001, 0x00050051, 0x0000000D, 0x000039AA, 0x00005E07, + 0x00000001, 0x00050050, 0x00000013, 0x00004B24, 0x00005BC2, 0x000039AA, + 0x0006000C, 0x0000000B, 0x00002175, 0x00000001, 0x0000003A, 0x00004B24, + 0x00050051, 0x0000000D, 0x00005BC3, 0x00005DB6, 0x00000002, 0x00050051, + 0x0000000D, 0x000039AB, 0x00005E07, 0x00000002, 0x00050050, 0x00000013, + 0x00004B25, 0x00005BC3, 0x000039AB, 0x0006000C, 0x0000000B, 0x00002176, + 0x00000001, 0x0000003A, 0x00004B25, 0x00050051, 0x0000000D, 0x00005BC4, + 0x00005DB6, 0x00000003, 0x00050051, 0x0000000D, 0x000039AC, 0x00005E07, + 0x00000003, 0x00050050, 0x00000013, 0x00004B0E, 0x00005BC4, 0x000039AC, + 0x0006000C, 0x0000000B, 0x000020EF, 0x00000001, 0x0000003A, 0x00004B0E, + 0x00070050, 0x00000017, 0x00003ABC, 0x00002174, 0x00002175, 0x00002176, + 0x000020EF, 0x00060041, 0x00000294, 0x00004EBE, 0x0000140E, 0x00000A0B, + 0x00003CAC, 0x0003003E, 0x00004EBE, 0x00003ABC, 0x000200F9, 0x00004C7A, + 0x000200F8, 0x00004C7A, 0x000100FD, 0x00010038, +}; diff --git a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_rg16_unorm_float_cs.h b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_rg16_unorm_float_cs.h new file mode 100644 index 000000000..476af52bf --- /dev/null +++ b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_rg16_unorm_float_cs.h @@ -0,0 +1,682 @@ +// Generated with `xb buildshaders`. +#if 0 +; SPIR-V +; Version: 1.0 +; Generator: Khronos Glslang Reference Front End; 10 +; Bound: 25179 +; Schema: 0 + OpCapability Shader + %1 = OpExtInstImport "GLSL.std.450" + OpMemoryModel Logical GLSL450 + OpEntryPoint GLCompute %5663 "main" %gl_GlobalInvocationID + OpExecutionMode %5663 LocalSize 4 32 1 + OpMemberDecorate %_struct_1161 0 Offset 0 + OpMemberDecorate %_struct_1161 1 Offset 4 + OpMemberDecorate %_struct_1161 2 Offset 8 + OpMemberDecorate %_struct_1161 3 Offset 12 + OpMemberDecorate %_struct_1161 4 Offset 16 + OpMemberDecorate %_struct_1161 5 Offset 28 + OpMemberDecorate %_struct_1161 6 Offset 32 + OpMemberDecorate %_struct_1161 7 Offset 36 + OpDecorate %_struct_1161 Block + OpDecorate %5245 DescriptorSet 2 + OpDecorate %5245 Binding 0 + 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 %5134 DescriptorSet 0 + OpDecorate %5134 Binding 0 + OpDecorate %_runtimearr_v4uint_0 ArrayStride 16 + OpMemberDecorate %_struct_1973 0 NonWritable + OpMemberDecorate %_struct_1973 0 Offset 0 + OpDecorate %_struct_1973 BufferBlock + OpDecorate %4218 DescriptorSet 1 + OpDecorate %4218 Binding 0 + OpDecorate %gl_WorkGroupSize BuiltIn WorkgroupSize + %void = OpTypeVoid + %1282 = OpTypeFunction %void + %uint = OpTypeInt 32 0 + %v4uint = OpTypeVector %uint 4 + %int = OpTypeInt 32 1 + %v2int = OpTypeVector %int 2 + %v3int = OpTypeVector %int 3 + %bool = OpTypeBool + %v3uint = OpTypeVector %uint 3 + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 + %uint_65535 = OpConstant %uint 65535 +%float_1_52590219en05 = OpConstant %float 1.52590219e-05 + %uint_16 = OpConstant %uint 16 + %uint_0 = OpConstant %uint 0 + %v2float = OpTypeVector %float 2 + %uint_1 = OpConstant %uint 1 + %uint_2 = OpConstant %uint 2 + %uint_3 = OpConstant %uint 3 +%uint_16711935 = OpConstant %uint 16711935 + %uint_8 = OpConstant %uint 8 +%uint_4278255360 = OpConstant %uint 4278255360 + %int_5 = OpConstant %int 5 + %uint_5 = OpConstant %uint 5 + %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_1161 = OpTypeStruct %uint %uint %uint %uint %v3uint %uint %uint %uint +%_ptr_Uniform__struct_1161 = OpTypePointer Uniform %_struct_1161 + %5245 = OpVariable %_ptr_Uniform__struct_1161 Uniform + %int_0 = OpConstant %int 0 +%_ptr_Uniform_uint = OpTypePointer Uniform %uint +%_ptr_Uniform_v3uint = OpTypePointer Uniform %v3uint + %v2uint = OpTypeVector %uint 2 +%_ptr_Input_v3uint = OpTypePointer Input %v3uint +%gl_GlobalInvocationID = OpVariable %_ptr_Input_v3uint Input + %2603 = OpConstantComposite %v3uint %uint_3 %uint_0 %uint_0 + %v2bool = OpTypeVector %bool 2 +%_runtimearr_v4uint = OpTypeRuntimeArray %v4uint +%_struct_1972 = OpTypeStruct %_runtimearr_v4uint +%_ptr_Uniform__struct_1972 = OpTypePointer Uniform %_struct_1972 + %5134 = OpVariable %_ptr_Uniform__struct_1972 Uniform +%_runtimearr_v4uint_0 = OpTypeRuntimeArray %v4uint +%_struct_1973 = OpTypeStruct %_runtimearr_v4uint_0 +%_ptr_Uniform__struct_1973 = OpTypePointer Uniform %_struct_1973 + %4218 = OpVariable %_ptr_Uniform__struct_1973 Uniform +%_ptr_Uniform_v4uint = OpTypePointer Uniform %v4uint +%gl_WorkGroupSize = OpConstantComposite %v3uint %uint_4 %uint_32 %uint_1 + %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 + %1838 = OpConstantComposite %v4uint %uint_4278255360 %uint_4278255360 %uint_4278255360 %uint_4278255360 + %749 = OpConstantComposite %v4uint %uint_16 %uint_16 %uint_16 %uint_16 + %850 = OpConstantComposite %v4uint %uint_65535 %uint_65535 %uint_65535 %uint_65535 + %5663 = OpFunction %void None %1282 + %15110 = OpLabel + OpSelectionMerge %19578 None + OpSwitch %uint_0 %15137 + %15137 = OpLabel + %12591 = OpLoad %v3uint %gl_GlobalInvocationID + %10229 = OpShiftLeftLogical %v3uint %12591 %2603 + %25178 = OpAccessChain %_ptr_Uniform_v3uint %5245 %int_4 + %22965 = OpLoad %v3uint %25178 + %18835 = OpVectorShuffle %v2uint %10229 %10229 0 1 + %6626 = OpVectorShuffle %v2uint %22965 %22965 0 1 + %17032 = OpUGreaterThanEqual %v2bool %18835 %6626 + %24679 = OpAny %bool %17032 + OpSelectionMerge %6282 DontFlatten + OpBranchConditional %24679 %21992 %6282 + %21992 = OpLabel + OpBranch %19578 + %6282 = OpLabel + %6795 = OpBitcast %v3int %10229 + %18792 = OpAccessChain %_ptr_Uniform_uint %5245 %int_6 + %9788 = OpLoad %uint %18792 + %20376 = OpCompositeExtract %uint %22965 1 + %14692 = OpCompositeExtract %int %6795 0 + %22810 = OpIMul %int %14692 %int_4 + %6362 = OpCompositeExtract %int %6795 2 + %14505 = OpBitcast %int %20376 + %11279 = OpIMul %int %6362 %14505 + %17598 = OpCompositeExtract %int %6795 1 + %22228 = OpIAdd %int %11279 %17598 + %22405 = OpBitcast %int %9788 + %24535 = OpIMul %int %22228 %22405 + %7061 = OpIAdd %int %22810 %24535 + %19270 = OpBitcast %uint %7061 + %19460 = OpAccessChain %_ptr_Uniform_uint %5245 %int_5 + %22875 = OpLoad %uint %19460 + %8517 = OpIAdd %uint %19270 %22875 + %21670 = OpShiftRightLogical %uint %8517 %uint_4 + %20950 = OpAccessChain %_ptr_Uniform_uint %5245 %int_0 + %21411 = OpLoad %uint %20950 + %6381 = OpBitwiseAnd %uint %21411 %uint_1 + %10467 = OpINotEqual %bool %6381 %uint_0 + OpSelectionMerge %23266 DontFlatten + OpBranchConditional %10467 %10108 %10765 + %10108 = OpLabel + %23508 = OpBitwiseAnd %uint %21411 %uint_2 + %16300 = OpINotEqual %bool %23508 %uint_0 + OpSelectionMerge %7691 DontFlatten + OpBranchConditional %16300 %12129 %25128 + %12129 = OpLabel + %18210 = OpAccessChain %_ptr_Uniform_uint %5245 %int_2 + %15627 = OpLoad %uint %18210 + %22624 = OpAccessChain %_ptr_Uniform_uint %5245 %int_3 + %21535 = OpLoad %uint %22624 + %14923 = OpShiftRightArithmetic %int %17598 %int_4 + %18773 = OpShiftRightArithmetic %int %6362 %int_2 + %18759 = OpShiftRightLogical %uint %21535 %uint_4 + %6314 = OpBitcast %int %18759 + %21281 = OpIMul %int %18773 %6314 + %15143 = OpIAdd %int %14923 %21281 + %9032 = OpShiftRightLogical %uint %15627 %uint_5 + %14593 = OpBitcast %int %9032 + %8436 = OpIMul %int %15143 %14593 + %12986 = OpShiftRightArithmetic %int %14692 %int_5 + %24558 = OpIAdd %int %12986 %8436 + %8797 = OpShiftLeftLogical %int %24558 %uint_8 + %11510 = OpBitwiseAnd %int %8797 %int_268435455 + %18938 = OpShiftLeftLogical %int %11510 %int_1 + %19768 = OpBitwiseAnd %int %14692 %int_7 + %12600 = OpBitwiseAnd %int %17598 %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 %17598 %int_3 + %13731 = OpIAdd %int %8725 %18773 + %23052 = OpBitwiseAnd %int %13731 %int_1 + %16658 = OpShiftRightArithmetic %int %14692 %int_3 + %18794 = OpShiftLeftLogical %int %23052 %int_1 + %13501 = OpIAdd %int %16658 %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 %6362 %int_3 + %21579 = OpShiftLeftLogical %int %18356 %uint_8 + %16727 = OpIAdd %int %10332 %21579 + %19166 = OpBitwiseAnd %int %17598 %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 + %24224 = OpBitwiseAnd %int %16728 %int_63 + %21741 = OpIAdd %int %23348 %24224 + OpBranch %7691 + %25128 = OpLabel + %6796 = OpBitcast %v2int %18835 + %18793 = OpAccessChain %_ptr_Uniform_uint %5245 %int_2 + %11954 = OpLoad %uint %18793 + %18756 = OpCompositeExtract %int %6796 0 + %19701 = OpShiftRightArithmetic %int %18756 %int_5 + %10055 = OpCompositeExtract %int %6796 1 + %16476 = OpShiftRightArithmetic %int %10055 %int_5 + %23373 = OpShiftRightLogical %uint %11954 %uint_5 + %6315 = OpBitcast %int %23373 + %21319 = OpIMul %int %16476 %6315 + %16222 = OpIAdd %int %19701 %21319 + %19086 = OpShiftLeftLogical %int %16222 %uint_9 + %10934 = OpBitwiseAnd %int %18756 %int_7 + %12601 = OpBitwiseAnd %int %10055 %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 %10055 %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 %10055 %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 %10055 %int_8 + %16831 = OpShiftRightArithmetic %int %20611 %int_2 + %7916 = OpShiftRightArithmetic %int %18756 %int_3 + %13750 = OpIAdd %int %16831 %7916 + %21587 = OpBitwiseAnd %int %13750 %int_3 + %21583 = OpShiftLeftLogical %int %21587 %int_6 + %15437 = OpIAdd %int %16708 %21583 + %14157 = OpBitwiseAnd %int %16729 %int_63 + %12098 = OpIAdd %int %15437 %14157 + OpBranch %7691 + %7691 = OpLabel + %10540 = OpPhi %int %21741 %12129 %12098 %25128 + OpBranch %23266 + %10765 = OpLabel + %20632 = OpAccessChain %_ptr_Uniform_uint %5245 %int_2 + %15628 = OpLoad %uint %20632 + %21275 = OpAccessChain %_ptr_Uniform_uint %5245 %int_3 + %13550 = OpLoad %uint %21275 + %15070 = OpBitcast %int %13550 + %18927 = OpIMul %int %6362 %15070 + %8334 = OpIAdd %int %18927 %17598 + %8952 = OpBitcast %int %15628 + %7839 = OpIMul %int %8334 %8952 + %7984 = OpIAdd %int %22810 %7839 + OpBranch %23266 + %23266 = OpLabel + %19748 = OpPhi %int %10540 %7691 %7984 %10765 + %24922 = OpAccessChain %_ptr_Uniform_uint %5245 %int_1 + %7502 = OpLoad %uint %24922 + %15686 = OpBitcast %int %7502 + %15579 = OpIAdd %int %15686 %19748 + %18556 = OpBitcast %uint %15579 + %21493 = OpShiftRightLogical %uint %18556 %uint_4 + %14997 = OpShiftRightLogical %uint %21411 %uint_2 + %8394 = OpBitwiseAnd %uint %14997 %uint_3 + %20727 = OpAccessChain %_ptr_Uniform_v4uint %4218 %int_0 %21493 + %8142 = OpLoad %v4uint %20727 + %13760 = OpIEqual %bool %8394 %uint_1 + %21366 = OpIEqual %bool %8394 %uint_2 + %22150 = OpLogicalOr %bool %13760 %21366 + OpSelectionMerge %13411 None + OpBranchConditional %22150 %10583 %13411 + %10583 = OpLabel + %18271 = OpBitwiseAnd %v4uint %8142 %2510 + %9425 = OpShiftLeftLogical %v4uint %18271 %317 + %20652 = OpBitwiseAnd %v4uint %8142 %1838 + %17549 = OpShiftRightLogical %v4uint %20652 %317 + %16376 = OpBitwiseOr %v4uint %9425 %17549 + OpBranch %13411 + %13411 = OpLabel + %22649 = OpPhi %v4uint %8142 %23266 %16376 %10583 + %19638 = OpIEqual %bool %8394 %uint_3 + %15139 = OpLogicalOr %bool %21366 %19638 + OpSelectionMerge %13962 None + OpBranchConditional %15139 %11064 %13962 + %11064 = OpLabel + %24087 = OpShiftLeftLogical %v4uint %22649 %749 + %15335 = OpShiftRightLogical %v4uint %22649 %749 + %10728 = OpBitwiseOr %v4uint %24087 %15335 + OpBranch %13962 + %13962 = OpLabel + %16606 = OpPhi %v4uint %22649 %13411 %10728 %11064 + %18240 = OpBitwiseAnd %v4uint %16606 %850 + %9137 = OpConvertUToF %v4float %18240 + %19365 = OpVectorTimesScalar %v4float %9137 %float_1_52590219en05 + %23367 = OpShiftRightLogical %v4uint %16606 %749 + %18492 = OpConvertUToF %v4float %23367 + %18450 = OpVectorTimesScalar %v4float %18492 %float_1_52590219en05 + %6268 = OpCompositeExtract %float %19365 0 + %13806 = OpCompositeExtract %float %18450 0 + %19232 = OpCompositeConstruct %v2float %6268 %13806 + %8561 = OpExtInst %uint %1 PackHalf2x16 %19232 + %23487 = OpCompositeExtract %float %19365 1 + %14759 = OpCompositeExtract %float %18450 1 + %19233 = OpCompositeConstruct %v2float %23487 %14759 + %8562 = OpExtInst %uint %1 PackHalf2x16 %19233 + %23488 = OpCompositeExtract %float %19365 2 + %14760 = OpCompositeExtract %float %18450 2 + %19234 = OpCompositeConstruct %v2float %23488 %14760 + %8563 = OpExtInst %uint %1 PackHalf2x16 %19234 + %23489 = OpCompositeExtract %float %19365 3 + %14761 = OpCompositeExtract %float %18450 3 + %19213 = OpCompositeConstruct %v2float %23489 %14761 + %8430 = OpExtInst %uint %1 PackHalf2x16 %19213 + %15035 = OpCompositeConstruct %v4uint %8561 %8562 %8563 %8430 + %17859 = OpAccessChain %_ptr_Uniform_v4uint %5134 %int_0 %21670 + OpStore %17859 %15035 + %15044 = OpIAdd %uint %21670 %int_1 + %18776 = OpSelect %uint %10467 %uint_32 %uint_16 + %11803 = OpShiftRightLogical %uint %18776 %uint_4 + %13947 = OpIAdd %uint %21493 %11803 + %22298 = OpAccessChain %_ptr_Uniform_v4uint %4218 %int_0 %13947 + %6578 = OpLoad %v4uint %22298 + OpSelectionMerge %14874 None + OpBranchConditional %22150 %10584 %14874 + %10584 = OpLabel + %18272 = OpBitwiseAnd %v4uint %6578 %2510 + %9426 = OpShiftLeftLogical %v4uint %18272 %317 + %20653 = OpBitwiseAnd %v4uint %6578 %1838 + %17550 = OpShiftRightLogical %v4uint %20653 %317 + %16377 = OpBitwiseOr %v4uint %9426 %17550 + OpBranch %14874 + %14874 = OpLabel + %10924 = OpPhi %v4uint %6578 %13962 %16377 %10584 + OpSelectionMerge %13963 None + OpBranchConditional %15139 %11065 %13963 + %11065 = OpLabel + %24088 = OpShiftLeftLogical %v4uint %10924 %749 + %15336 = OpShiftRightLogical %v4uint %10924 %749 + %10729 = OpBitwiseOr %v4uint %24088 %15336 + OpBranch %13963 + %13963 = OpLabel + %16607 = OpPhi %v4uint %10924 %14874 %10729 %11065 + %18241 = OpBitwiseAnd %v4uint %16607 %850 + %9138 = OpConvertUToF %v4float %18241 + %19366 = OpVectorTimesScalar %v4float %9138 %float_1_52590219en05 + %23368 = OpShiftRightLogical %v4uint %16607 %749 + %18493 = OpConvertUToF %v4float %23368 + %18451 = OpVectorTimesScalar %v4float %18493 %float_1_52590219en05 + %6269 = OpCompositeExtract %float %19366 0 + %13807 = OpCompositeExtract %float %18451 0 + %19235 = OpCompositeConstruct %v2float %6269 %13807 + %8564 = OpExtInst %uint %1 PackHalf2x16 %19235 + %23490 = OpCompositeExtract %float %19366 1 + %14762 = OpCompositeExtract %float %18451 1 + %19236 = OpCompositeConstruct %v2float %23490 %14762 + %8565 = OpExtInst %uint %1 PackHalf2x16 %19236 + %23491 = OpCompositeExtract %float %19366 2 + %14763 = OpCompositeExtract %float %18451 2 + %19237 = OpCompositeConstruct %v2float %23491 %14763 + %8566 = OpExtInst %uint %1 PackHalf2x16 %19237 + %23492 = OpCompositeExtract %float %19366 3 + %14764 = OpCompositeExtract %float %18451 3 + %19214 = OpCompositeConstruct %v2float %23492 %14764 + %8431 = OpExtInst %uint %1 PackHalf2x16 %19214 + %15036 = OpCompositeConstruct %v4uint %8564 %8565 %8566 %8431 + %20158 = OpAccessChain %_ptr_Uniform_v4uint %5134 %int_0 %15044 + OpStore %20158 %15036 + OpBranch %19578 + %19578 = OpLabel + OpReturn + OpFunctionEnd +#endif + +const uint32_t texture_load_rg16_unorm_float_cs[] = { + 0x07230203, 0x00010000, 0x0008000A, 0x0000625B, 0x00000000, 0x00020011, + 0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E, + 0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0006000F, 0x00000005, + 0x0000161F, 0x6E69616D, 0x00000000, 0x00000F48, 0x00060010, 0x0000161F, + 0x00000011, 0x00000004, 0x00000020, 0x00000001, 0x00050048, 0x00000489, + 0x00000000, 0x00000023, 0x00000000, 0x00050048, 0x00000489, 0x00000001, + 0x00000023, 0x00000004, 0x00050048, 0x00000489, 0x00000002, 0x00000023, + 0x00000008, 0x00050048, 0x00000489, 0x00000003, 0x00000023, 0x0000000C, + 0x00050048, 0x00000489, 0x00000004, 0x00000023, 0x00000010, 0x00050048, + 0x00000489, 0x00000005, 0x00000023, 0x0000001C, 0x00050048, 0x00000489, + 0x00000006, 0x00000023, 0x00000020, 0x00050048, 0x00000489, 0x00000007, + 0x00000023, 0x00000024, 0x00030047, 0x00000489, 0x00000002, 0x00040047, + 0x0000147D, 0x00000022, 0x00000002, 0x00040047, 0x0000147D, 0x00000021, + 0x00000000, 0x00040047, 0x00000F48, 0x0000000B, 0x0000001C, 0x00040047, + 0x000007DC, 0x00000006, 0x00000010, 0x00040048, 0x000007B4, 0x00000000, + 0x00000019, 0x00050048, 0x000007B4, 0x00000000, 0x00000023, 0x00000000, + 0x00030047, 0x000007B4, 0x00000003, 0x00040047, 0x0000140E, 0x00000022, + 0x00000000, 0x00040047, 0x0000140E, 0x00000021, 0x00000000, 0x00040047, + 0x000007DD, 0x00000006, 0x00000010, 0x00040048, 0x000007B5, 0x00000000, + 0x00000018, 0x00050048, 0x000007B5, 0x00000000, 0x00000023, 0x00000000, + 0x00030047, 0x000007B5, 0x00000003, 0x00040047, 0x0000107A, 0x00000022, + 0x00000001, 0x00040047, 0x0000107A, 0x00000021, 0x00000000, 0x00040047, + 0x00000BC3, 0x0000000B, 0x00000019, 0x00020013, 0x00000008, 0x00030021, + 0x00000502, 0x00000008, 0x00040015, 0x0000000B, 0x00000020, 0x00000000, + 0x00040017, 0x00000017, 0x0000000B, 0x00000004, 0x00040015, 0x0000000C, + 0x00000020, 0x00000001, 0x00040017, 0x00000012, 0x0000000C, 0x00000002, + 0x00040017, 0x00000016, 0x0000000C, 0x00000003, 0x00020014, 0x00000009, + 0x00040017, 0x00000014, 0x0000000B, 0x00000003, 0x00030016, 0x0000000D, + 0x00000020, 0x00040017, 0x0000001D, 0x0000000D, 0x00000004, 0x0004002B, + 0x0000000B, 0x000001C1, 0x0000FFFF, 0x0004002B, 0x0000000D, 0x0000092A, + 0x37800080, 0x0004002B, 0x0000000B, 0x00000A3A, 0x00000010, 0x0004002B, + 0x0000000B, 0x00000A0A, 0x00000000, 0x00040017, 0x00000013, 0x0000000D, + 0x00000002, 0x0004002B, 0x0000000B, 0x00000A0D, 0x00000001, 0x0004002B, + 0x0000000B, 0x00000A10, 0x00000002, 0x0004002B, 0x0000000B, 0x00000A13, + 0x00000003, 0x0004002B, 0x0000000B, 0x000008A6, 0x00FF00FF, 0x0004002B, + 0x0000000B, 0x00000A22, 0x00000008, 0x0004002B, 0x0000000B, 0x000005FD, + 0xFF00FF00, 0x0004002B, 0x0000000C, 0x00000A1A, 0x00000005, 0x0004002B, + 0x0000000B, 0x00000A19, 0x00000005, 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, 0x000A001E, 0x00000489, 0x0000000B, + 0x0000000B, 0x0000000B, 0x0000000B, 0x00000014, 0x0000000B, 0x0000000B, + 0x0000000B, 0x00040020, 0x00000706, 0x00000002, 0x00000489, 0x0004003B, + 0x00000706, 0x0000147D, 0x00000002, 0x0004002B, 0x0000000C, 0x00000A0B, + 0x00000000, 0x00040020, 0x00000288, 0x00000002, 0x0000000B, 0x00040020, + 0x00000291, 0x00000002, 0x00000014, 0x00040017, 0x00000011, 0x0000000B, + 0x00000002, 0x00040020, 0x00000292, 0x00000001, 0x00000014, 0x0004003B, + 0x00000292, 0x00000F48, 0x00000001, 0x0006002C, 0x00000014, 0x00000A2B, + 0x00000A13, 0x00000A0A, 0x00000A0A, 0x00040017, 0x0000000F, 0x00000009, + 0x00000002, 0x0003001D, 0x000007DC, 0x00000017, 0x0003001E, 0x000007B4, + 0x000007DC, 0x00040020, 0x00000A31, 0x00000002, 0x000007B4, 0x0004003B, + 0x00000A31, 0x0000140E, 0x00000002, 0x0003001D, 0x000007DD, 0x00000017, + 0x0003001E, 0x000007B5, 0x000007DD, 0x00040020, 0x00000A32, 0x00000002, + 0x000007B5, 0x0004003B, 0x00000A32, 0x0000107A, 0x00000002, 0x00040020, + 0x00000294, 0x00000002, 0x00000017, 0x0006002C, 0x00000014, 0x00000BC3, + 0x00000A16, 0x00000A6A, 0x00000A0D, 0x0004002B, 0x0000000B, 0x00000A25, + 0x00000009, 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, 0x0007002C, + 0x00000017, 0x00000352, 0x000001C1, 0x000001C1, 0x000001C1, 0x000001C1, + 0x00050036, 0x00000008, 0x0000161F, 0x00000000, 0x00000502, 0x000200F8, + 0x00003B06, 0x000300F7, 0x00004C7A, 0x00000000, 0x000300FB, 0x00000A0A, + 0x00003B21, 0x000200F8, 0x00003B21, 0x0004003D, 0x00000014, 0x0000312F, + 0x00000F48, 0x000500C4, 0x00000014, 0x000027F5, 0x0000312F, 0x00000A2B, + 0x00050041, 0x00000291, 0x0000625A, 0x0000147D, 0x00000A17, 0x0004003D, + 0x00000014, 0x000059B5, 0x0000625A, 0x0007004F, 0x00000011, 0x00004993, + 0x000027F5, 0x000027F5, 0x00000000, 0x00000001, 0x0007004F, 0x00000011, + 0x000019E2, 0x000059B5, 0x000059B5, 0x00000000, 0x00000001, 0x000500AE, + 0x0000000F, 0x00004288, 0x00004993, 0x000019E2, 0x0004009A, 0x00000009, + 0x00006067, 0x00004288, 0x000300F7, 0x0000188A, 0x00000002, 0x000400FA, + 0x00006067, 0x000055E8, 0x0000188A, 0x000200F8, 0x000055E8, 0x000200F9, + 0x00004C7A, 0x000200F8, 0x0000188A, 0x0004007C, 0x00000016, 0x00001A8B, + 0x000027F5, 0x00050041, 0x00000288, 0x00004968, 0x0000147D, 0x00000A1D, + 0x0004003D, 0x0000000B, 0x0000263C, 0x00004968, 0x00050051, 0x0000000B, + 0x00004F98, 0x000059B5, 0x00000001, 0x00050051, 0x0000000C, 0x00003964, + 0x00001A8B, 0x00000000, 0x00050084, 0x0000000C, 0x0000591A, 0x00003964, + 0x00000A17, 0x00050051, 0x0000000C, 0x000018DA, 0x00001A8B, 0x00000002, + 0x0004007C, 0x0000000C, 0x000038A9, 0x00004F98, 0x00050084, 0x0000000C, + 0x00002C0F, 0x000018DA, 0x000038A9, 0x00050051, 0x0000000C, 0x000044BE, + 0x00001A8B, 0x00000001, 0x00050080, 0x0000000C, 0x000056D4, 0x00002C0F, + 0x000044BE, 0x0004007C, 0x0000000C, 0x00005785, 0x0000263C, 0x00050084, + 0x0000000C, 0x00005FD7, 0x000056D4, 0x00005785, 0x00050080, 0x0000000C, + 0x00001B95, 0x0000591A, 0x00005FD7, 0x0004007C, 0x0000000B, 0x00004B46, + 0x00001B95, 0x00050041, 0x00000288, 0x00004C04, 0x0000147D, 0x00000A1A, + 0x0004003D, 0x0000000B, 0x0000595B, 0x00004C04, 0x00050080, 0x0000000B, + 0x00002145, 0x00004B46, 0x0000595B, 0x000500C2, 0x0000000B, 0x000054A6, + 0x00002145, 0x00000A16, 0x00050041, 0x00000288, 0x000051D6, 0x0000147D, + 0x00000A0B, 0x0004003D, 0x0000000B, 0x000053A3, 0x000051D6, 0x000500C7, + 0x0000000B, 0x000018ED, 0x000053A3, 0x00000A0D, 0x000500AB, 0x00000009, + 0x000028E3, 0x000018ED, 0x00000A0A, 0x000300F7, 0x00005AE2, 0x00000002, + 0x000400FA, 0x000028E3, 0x0000277C, 0x00002A0D, 0x000200F8, 0x0000277C, + 0x000500C7, 0x0000000B, 0x00005BD4, 0x000053A3, 0x00000A10, 0x000500AB, + 0x00000009, 0x00003FAC, 0x00005BD4, 0x00000A0A, 0x000300F7, 0x00001E0B, + 0x00000002, 0x000400FA, 0x00003FAC, 0x00002F61, 0x00006228, 0x000200F8, + 0x00002F61, 0x00050041, 0x00000288, 0x00004722, 0x0000147D, 0x00000A11, + 0x0004003D, 0x0000000B, 0x00003D0B, 0x00004722, 0x00050041, 0x00000288, + 0x00005860, 0x0000147D, 0x00000A14, 0x0004003D, 0x0000000B, 0x0000541F, + 0x00005860, 0x000500C3, 0x0000000C, 0x00003A4B, 0x000044BE, 0x00000A17, + 0x000500C3, 0x0000000C, 0x00004955, 0x000018DA, 0x00000A11, 0x000500C2, + 0x0000000B, 0x00004947, 0x0000541F, 0x00000A16, 0x0004007C, 0x0000000C, + 0x000018AA, 0x00004947, 0x00050084, 0x0000000C, 0x00005321, 0x00004955, + 0x000018AA, 0x00050080, 0x0000000C, 0x00003B27, 0x00003A4B, 0x00005321, + 0x000500C2, 0x0000000B, 0x00002348, 0x00003D0B, 0x00000A19, 0x0004007C, + 0x0000000C, 0x00003901, 0x00002348, 0x00050084, 0x0000000C, 0x000020F4, + 0x00003B27, 0x00003901, 0x000500C3, 0x0000000C, 0x000032BA, 0x00003964, + 0x00000A1A, 0x00050080, 0x0000000C, 0x00005FEE, 0x000032BA, 0x000020F4, + 0x000500C4, 0x0000000C, 0x0000225D, 0x00005FEE, 0x00000A22, 0x000500C7, + 0x0000000C, 0x00002CF6, 0x0000225D, 0x0000078B, 0x000500C4, 0x0000000C, + 0x000049FA, 0x00002CF6, 0x00000A0E, 0x000500C7, 0x0000000C, 0x00004D38, + 0x00003964, 0x00000A20, 0x000500C7, 0x0000000C, 0x00003138, 0x000044BE, + 0x00000A1D, 0x000500C4, 0x0000000C, 0x0000454D, 0x00003138, 0x00000A11, + 0x00050080, 0x0000000C, 0x0000434B, 0x00004D38, 0x0000454D, 0x000500C4, + 0x0000000C, 0x00001B88, 0x0000434B, 0x00000A22, 0x000500C3, 0x0000000C, + 0x00005DE3, 0x00001B88, 0x00000A1D, 0x000500C3, 0x0000000C, 0x00002215, + 0x000044BE, 0x00000A14, 0x00050080, 0x0000000C, 0x000035A3, 0x00002215, + 0x00004955, 0x000500C7, 0x0000000C, 0x00005A0C, 0x000035A3, 0x00000A0E, + 0x000500C3, 0x0000000C, 0x00004112, 0x00003964, 0x00000A14, 0x000500C4, + 0x0000000C, 0x0000496A, 0x00005A0C, 0x00000A0E, 0x00050080, 0x0000000C, + 0x000034BD, 0x00004112, 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, 0x000018DA, 0x00000A14, + 0x000500C4, 0x0000000C, 0x0000544B, 0x000047B4, 0x00000A22, 0x00050080, + 0x0000000C, 0x00004157, 0x0000285C, 0x0000544B, 0x000500C7, 0x0000000C, + 0x00004ADE, 0x000044BE, 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, 0x00005EA0, 0x00004158, 0x00000AC8, + 0x00050080, 0x0000000C, 0x000054ED, 0x00005B34, 0x00005EA0, 0x000200F9, + 0x00001E0B, 0x000200F8, 0x00006228, 0x0004007C, 0x00000012, 0x00001A8C, + 0x00004993, 0x00050041, 0x00000288, 0x00004969, 0x0000147D, 0x00000A11, + 0x0004003D, 0x0000000B, 0x00002EB2, 0x00004969, 0x00050051, 0x0000000C, + 0x00004944, 0x00001A8C, 0x00000000, 0x000500C3, 0x0000000C, 0x00004CF5, + 0x00004944, 0x00000A1A, 0x00050051, 0x0000000C, 0x00002747, 0x00001A8C, + 0x00000001, 0x000500C3, 0x0000000C, 0x0000405C, 0x00002747, 0x00000A1A, + 0x000500C2, 0x0000000B, 0x00005B4D, 0x00002EB2, 0x00000A19, 0x0004007C, + 0x0000000C, 0x000018AB, 0x00005B4D, 0x00050084, 0x0000000C, 0x00005347, + 0x0000405C, 0x000018AB, 0x00050080, 0x0000000C, 0x00003F5E, 0x00004CF5, + 0x00005347, 0x000500C4, 0x0000000C, 0x00004A8E, 0x00003F5E, 0x00000A25, + 0x000500C7, 0x0000000C, 0x00002AB6, 0x00004944, 0x00000A20, 0x000500C7, + 0x0000000C, 0x00003139, 0x00002747, 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, 0x00002747, + 0x00000A0E, 0x000500C4, 0x0000000C, 0x0000544D, 0x000047B5, 0x00000A17, + 0x00050080, 0x0000000C, 0x00004159, 0x00004D30, 0x0000544D, 0x000500C7, + 0x0000000C, 0x00005022, 0x00004159, 0x0000040B, 0x000500C4, 0x0000000C, + 0x00002416, 0x00005022, 0x00000A14, 0x000500C7, 0x0000000C, 0x00004A33, + 0x00002747, 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, + 0x00002747, 0x00000A23, 0x000500C3, 0x0000000C, 0x000041BF, 0x00005083, + 0x00000A11, 0x000500C3, 0x0000000C, 0x00001EEC, 0x00004944, 0x00000A14, + 0x00050080, 0x0000000C, 0x000035B6, 0x000041BF, 0x00001EEC, 0x000500C7, + 0x0000000C, 0x00005453, 0x000035B6, 0x00000A14, 0x000500C4, 0x0000000C, + 0x0000544F, 0x00005453, 0x00000A1D, 0x00050080, 0x0000000C, 0x00003C4D, + 0x00004144, 0x0000544F, 0x000500C7, 0x0000000C, 0x0000374D, 0x00004159, + 0x00000AC8, 0x00050080, 0x0000000C, 0x00002F42, 0x00003C4D, 0x0000374D, + 0x000200F9, 0x00001E0B, 0x000200F8, 0x00001E0B, 0x000700F5, 0x0000000C, + 0x0000292C, 0x000054ED, 0x00002F61, 0x00002F42, 0x00006228, 0x000200F9, + 0x00005AE2, 0x000200F8, 0x00002A0D, 0x00050041, 0x00000288, 0x00005098, + 0x0000147D, 0x00000A11, 0x0004003D, 0x0000000B, 0x00003D0C, 0x00005098, + 0x00050041, 0x00000288, 0x0000531B, 0x0000147D, 0x00000A14, 0x0004003D, + 0x0000000B, 0x000034EE, 0x0000531B, 0x0004007C, 0x0000000C, 0x00003ADE, + 0x000034EE, 0x00050084, 0x0000000C, 0x000049EF, 0x000018DA, 0x00003ADE, + 0x00050080, 0x0000000C, 0x0000208E, 0x000049EF, 0x000044BE, 0x0004007C, + 0x0000000C, 0x000022F8, 0x00003D0C, 0x00050084, 0x0000000C, 0x00001E9F, + 0x0000208E, 0x000022F8, 0x00050080, 0x0000000C, 0x00001F30, 0x0000591A, + 0x00001E9F, 0x000200F9, 0x00005AE2, 0x000200F8, 0x00005AE2, 0x000700F5, + 0x0000000C, 0x00004D24, 0x0000292C, 0x00001E0B, 0x00001F30, 0x00002A0D, + 0x00050041, 0x00000288, 0x0000615A, 0x0000147D, 0x00000A0E, 0x0004003D, + 0x0000000B, 0x00001D4E, 0x0000615A, 0x0004007C, 0x0000000C, 0x00003D46, + 0x00001D4E, 0x00050080, 0x0000000C, 0x00003CDB, 0x00003D46, 0x00004D24, + 0x0004007C, 0x0000000B, 0x0000487C, 0x00003CDB, 0x000500C2, 0x0000000B, + 0x000053F5, 0x0000487C, 0x00000A16, 0x000500C2, 0x0000000B, 0x00003A95, + 0x000053A3, 0x00000A10, 0x000500C7, 0x0000000B, 0x000020CA, 0x00003A95, + 0x00000A13, 0x00060041, 0x00000294, 0x000050F7, 0x0000107A, 0x00000A0B, + 0x000053F5, 0x0004003D, 0x00000017, 0x00001FCE, 0x000050F7, 0x000500AA, + 0x00000009, 0x000035C0, 0x000020CA, 0x00000A0D, 0x000500AA, 0x00000009, + 0x00005376, 0x000020CA, 0x00000A10, 0x000500A6, 0x00000009, 0x00005686, + 0x000035C0, 0x00005376, 0x000300F7, 0x00003463, 0x00000000, 0x000400FA, + 0x00005686, 0x00002957, 0x00003463, 0x000200F8, 0x00002957, 0x000500C7, + 0x00000017, 0x0000475F, 0x00001FCE, 0x000009CE, 0x000500C4, 0x00000017, + 0x000024D1, 0x0000475F, 0x0000013D, 0x000500C7, 0x00000017, 0x000050AC, + 0x00001FCE, 0x0000072E, 0x000500C2, 0x00000017, 0x0000448D, 0x000050AC, + 0x0000013D, 0x000500C5, 0x00000017, 0x00003FF8, 0x000024D1, 0x0000448D, + 0x000200F9, 0x00003463, 0x000200F8, 0x00003463, 0x000700F5, 0x00000017, + 0x00005879, 0x00001FCE, 0x00005AE2, 0x00003FF8, 0x00002957, 0x000500AA, + 0x00000009, 0x00004CB6, 0x000020CA, 0x00000A13, 0x000500A6, 0x00000009, + 0x00003B23, 0x00005376, 0x00004CB6, 0x000300F7, 0x0000368A, 0x00000000, + 0x000400FA, 0x00003B23, 0x00002B38, 0x0000368A, 0x000200F8, 0x00002B38, + 0x000500C4, 0x00000017, 0x00005E17, 0x00005879, 0x000002ED, 0x000500C2, + 0x00000017, 0x00003BE7, 0x00005879, 0x000002ED, 0x000500C5, 0x00000017, + 0x000029E8, 0x00005E17, 0x00003BE7, 0x000200F9, 0x0000368A, 0x000200F8, + 0x0000368A, 0x000700F5, 0x00000017, 0x000040DE, 0x00005879, 0x00003463, + 0x000029E8, 0x00002B38, 0x000500C7, 0x00000017, 0x00004740, 0x000040DE, + 0x00000352, 0x00040070, 0x0000001D, 0x000023B1, 0x00004740, 0x0005008E, + 0x0000001D, 0x00004BA5, 0x000023B1, 0x0000092A, 0x000500C2, 0x00000017, + 0x00005B47, 0x000040DE, 0x000002ED, 0x00040070, 0x0000001D, 0x0000483C, + 0x00005B47, 0x0005008E, 0x0000001D, 0x00004812, 0x0000483C, 0x0000092A, + 0x00050051, 0x0000000D, 0x0000187C, 0x00004BA5, 0x00000000, 0x00050051, + 0x0000000D, 0x000035EE, 0x00004812, 0x00000000, 0x00050050, 0x00000013, + 0x00004B20, 0x0000187C, 0x000035EE, 0x0006000C, 0x0000000B, 0x00002171, + 0x00000001, 0x0000003A, 0x00004B20, 0x00050051, 0x0000000D, 0x00005BBF, + 0x00004BA5, 0x00000001, 0x00050051, 0x0000000D, 0x000039A7, 0x00004812, + 0x00000001, 0x00050050, 0x00000013, 0x00004B21, 0x00005BBF, 0x000039A7, + 0x0006000C, 0x0000000B, 0x00002172, 0x00000001, 0x0000003A, 0x00004B21, + 0x00050051, 0x0000000D, 0x00005BC0, 0x00004BA5, 0x00000002, 0x00050051, + 0x0000000D, 0x000039A8, 0x00004812, 0x00000002, 0x00050050, 0x00000013, + 0x00004B22, 0x00005BC0, 0x000039A8, 0x0006000C, 0x0000000B, 0x00002173, + 0x00000001, 0x0000003A, 0x00004B22, 0x00050051, 0x0000000D, 0x00005BC1, + 0x00004BA5, 0x00000003, 0x00050051, 0x0000000D, 0x000039A9, 0x00004812, + 0x00000003, 0x00050050, 0x00000013, 0x00004B0D, 0x00005BC1, 0x000039A9, + 0x0006000C, 0x0000000B, 0x000020EE, 0x00000001, 0x0000003A, 0x00004B0D, + 0x00070050, 0x00000017, 0x00003ABB, 0x00002171, 0x00002172, 0x00002173, + 0x000020EE, 0x00060041, 0x00000294, 0x000045C3, 0x0000140E, 0x00000A0B, + 0x000054A6, 0x0003003E, 0x000045C3, 0x00003ABB, 0x00050080, 0x0000000B, + 0x00003AC4, 0x000054A6, 0x00000A0E, 0x000600A9, 0x0000000B, 0x00004958, + 0x000028E3, 0x00000A6A, 0x00000A3A, 0x000500C2, 0x0000000B, 0x00002E1B, + 0x00004958, 0x00000A16, 0x00050080, 0x0000000B, 0x0000367B, 0x000053F5, + 0x00002E1B, 0x00060041, 0x00000294, 0x0000571A, 0x0000107A, 0x00000A0B, + 0x0000367B, 0x0004003D, 0x00000017, 0x000019B2, 0x0000571A, 0x000300F7, + 0x00003A1A, 0x00000000, 0x000400FA, 0x00005686, 0x00002958, 0x00003A1A, + 0x000200F8, 0x00002958, 0x000500C7, 0x00000017, 0x00004760, 0x000019B2, + 0x000009CE, 0x000500C4, 0x00000017, 0x000024D2, 0x00004760, 0x0000013D, + 0x000500C7, 0x00000017, 0x000050AD, 0x000019B2, 0x0000072E, 0x000500C2, + 0x00000017, 0x0000448E, 0x000050AD, 0x0000013D, 0x000500C5, 0x00000017, + 0x00003FF9, 0x000024D2, 0x0000448E, 0x000200F9, 0x00003A1A, 0x000200F8, + 0x00003A1A, 0x000700F5, 0x00000017, 0x00002AAC, 0x000019B2, 0x0000368A, + 0x00003FF9, 0x00002958, 0x000300F7, 0x0000368B, 0x00000000, 0x000400FA, + 0x00003B23, 0x00002B39, 0x0000368B, 0x000200F8, 0x00002B39, 0x000500C4, + 0x00000017, 0x00005E18, 0x00002AAC, 0x000002ED, 0x000500C2, 0x00000017, + 0x00003BE8, 0x00002AAC, 0x000002ED, 0x000500C5, 0x00000017, 0x000029E9, + 0x00005E18, 0x00003BE8, 0x000200F9, 0x0000368B, 0x000200F8, 0x0000368B, + 0x000700F5, 0x00000017, 0x000040DF, 0x00002AAC, 0x00003A1A, 0x000029E9, + 0x00002B39, 0x000500C7, 0x00000017, 0x00004741, 0x000040DF, 0x00000352, + 0x00040070, 0x0000001D, 0x000023B2, 0x00004741, 0x0005008E, 0x0000001D, + 0x00004BA6, 0x000023B2, 0x0000092A, 0x000500C2, 0x00000017, 0x00005B48, + 0x000040DF, 0x000002ED, 0x00040070, 0x0000001D, 0x0000483D, 0x00005B48, + 0x0005008E, 0x0000001D, 0x00004813, 0x0000483D, 0x0000092A, 0x00050051, + 0x0000000D, 0x0000187D, 0x00004BA6, 0x00000000, 0x00050051, 0x0000000D, + 0x000035EF, 0x00004813, 0x00000000, 0x00050050, 0x00000013, 0x00004B23, + 0x0000187D, 0x000035EF, 0x0006000C, 0x0000000B, 0x00002174, 0x00000001, + 0x0000003A, 0x00004B23, 0x00050051, 0x0000000D, 0x00005BC2, 0x00004BA6, + 0x00000001, 0x00050051, 0x0000000D, 0x000039AA, 0x00004813, 0x00000001, + 0x00050050, 0x00000013, 0x00004B24, 0x00005BC2, 0x000039AA, 0x0006000C, + 0x0000000B, 0x00002175, 0x00000001, 0x0000003A, 0x00004B24, 0x00050051, + 0x0000000D, 0x00005BC3, 0x00004BA6, 0x00000002, 0x00050051, 0x0000000D, + 0x000039AB, 0x00004813, 0x00000002, 0x00050050, 0x00000013, 0x00004B25, + 0x00005BC3, 0x000039AB, 0x0006000C, 0x0000000B, 0x00002176, 0x00000001, + 0x0000003A, 0x00004B25, 0x00050051, 0x0000000D, 0x00005BC4, 0x00004BA6, + 0x00000003, 0x00050051, 0x0000000D, 0x000039AC, 0x00004813, 0x00000003, + 0x00050050, 0x00000013, 0x00004B0E, 0x00005BC4, 0x000039AC, 0x0006000C, + 0x0000000B, 0x000020EF, 0x00000001, 0x0000003A, 0x00004B0E, 0x00070050, + 0x00000017, 0x00003ABC, 0x00002174, 0x00002175, 0x00002176, 0x000020EF, + 0x00060041, 0x00000294, 0x00004EBE, 0x0000140E, 0x00000A0B, 0x00003AC4, + 0x0003003E, 0x00004EBE, 0x00003ABC, 0x000200F9, 0x00004C7A, 0x000200F8, + 0x00004C7A, 0x000100FD, 0x00010038, +}; diff --git a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_rg16_unorm_float_scaled_cs.h b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_rg16_unorm_float_scaled_cs.h new file mode 100644 index 000000000..b903a9799 --- /dev/null +++ b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_rg16_unorm_float_scaled_cs.h @@ -0,0 +1,752 @@ +// Generated with `xb buildshaders`. +#if 0 +; SPIR-V +; Version: 1.0 +; Generator: Khronos Glslang Reference Front End; 10 +; Bound: 25179 +; Schema: 0 + OpCapability Shader + %1 = OpExtInstImport "GLSL.std.450" + OpMemoryModel Logical GLSL450 + OpEntryPoint GLCompute %5663 "main" %gl_GlobalInvocationID + OpExecutionMode %5663 LocalSize 4 32 1 + OpMemberDecorate %_struct_1161 0 Offset 0 + OpMemberDecorate %_struct_1161 1 Offset 4 + OpMemberDecorate %_struct_1161 2 Offset 8 + OpMemberDecorate %_struct_1161 3 Offset 12 + OpMemberDecorate %_struct_1161 4 Offset 16 + OpMemberDecorate %_struct_1161 5 Offset 28 + OpMemberDecorate %_struct_1161 6 Offset 32 + OpMemberDecorate %_struct_1161 7 Offset 36 + OpDecorate %_struct_1161 Block + OpDecorate %5245 DescriptorSet 2 + OpDecorate %5245 Binding 0 + 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 %5134 DescriptorSet 0 + OpDecorate %5134 Binding 0 + OpDecorate %_runtimearr_v4uint_0 ArrayStride 16 + OpMemberDecorate %_struct_1973 0 NonWritable + OpMemberDecorate %_struct_1973 0 Offset 0 + OpDecorate %_struct_1973 BufferBlock + OpDecorate %4218 DescriptorSet 1 + OpDecorate %4218 Binding 0 + OpDecorate %gl_WorkGroupSize BuiltIn WorkgroupSize + %void = OpTypeVoid + %1282 = OpTypeFunction %void + %uint = OpTypeInt 32 0 + %v4uint = OpTypeVector %uint 4 + %int = OpTypeInt 32 1 + %v2int = OpTypeVector %int 2 + %v3int = OpTypeVector %int 3 + %bool = OpTypeBool + %v3uint = OpTypeVector %uint 3 + %v2uint = OpTypeVector %uint 2 + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 + %uint_65535 = OpConstant %uint 65535 +%float_1_52590219en05 = OpConstant %float 1.52590219e-05 + %uint_16 = OpConstant %uint 16 + %uint_0 = OpConstant %uint 0 + %v2float = OpTypeVector %float 2 + %uint_1 = OpConstant %uint 1 + %uint_2 = OpConstant %uint 2 + %uint_3 = OpConstant %uint 3 +%uint_16711935 = OpConstant %uint 16711935 + %uint_8 = OpConstant %uint 8 +%uint_4278255360 = OpConstant %uint 4278255360 + %int_5 = OpConstant %int 5 + %uint_5 = OpConstant %uint 5 + %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 + %uint_6 = OpConstant %uint 6 +%int_268435455 = OpConstant %int 268435455 + %int_n2 = OpConstant %int -2 + %uint_32 = OpConstant %uint 32 +%_struct_1161 = OpTypeStruct %uint %uint %uint %uint %v3uint %uint %uint %uint +%_ptr_Uniform__struct_1161 = OpTypePointer Uniform %_struct_1161 + %5245 = OpVariable %_ptr_Uniform__struct_1161 Uniform + %int_0 = OpConstant %int 0 +%_ptr_Uniform_uint = OpTypePointer Uniform %uint + %1915 = OpConstantComposite %v2uint %uint_4 %uint_6 +%_ptr_Uniform_v3uint = OpTypePointer Uniform %v3uint +%_ptr_Input_v3uint = OpTypePointer Input %v3uint +%gl_GlobalInvocationID = OpVariable %_ptr_Input_v3uint Input + %2603 = OpConstantComposite %v3uint %uint_3 %uint_0 %uint_0 + %v2bool = OpTypeVector %bool 2 +%_runtimearr_v4uint = OpTypeRuntimeArray %v4uint +%_struct_1972 = OpTypeStruct %_runtimearr_v4uint +%_ptr_Uniform__struct_1972 = OpTypePointer Uniform %_struct_1972 + %5134 = OpVariable %_ptr_Uniform__struct_1972 Uniform +%_runtimearr_v4uint_0 = OpTypeRuntimeArray %v4uint +%_struct_1973 = OpTypeStruct %_runtimearr_v4uint_0 +%_ptr_Uniform__struct_1973 = OpTypePointer Uniform %_struct_1973 + %4218 = OpVariable %_ptr_Uniform__struct_1973 Uniform +%_ptr_Uniform_v4uint = OpTypePointer Uniform %v4uint +%gl_WorkGroupSize = OpConstantComposite %v3uint %uint_4 %uint_32 %uint_1 + %1870 = OpConstantComposite %v2uint %uint_3 %uint_3 + %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 + %1838 = OpConstantComposite %v4uint %uint_4278255360 %uint_4278255360 %uint_4278255360 %uint_4278255360 + %749 = OpConstantComposite %v4uint %uint_16 %uint_16 %uint_16 %uint_16 + %850 = OpConstantComposite %v4uint %uint_65535 %uint_65535 %uint_65535 %uint_65535 + %5663 = OpFunction %void None %1282 + %15110 = OpLabel + OpSelectionMerge %19578 None + OpSwitch %uint_0 %15137 + %15137 = OpLabel + %12591 = OpLoad %v3uint %gl_GlobalInvocationID + %10229 = OpShiftLeftLogical %v3uint %12591 %2603 + %25178 = OpAccessChain %_ptr_Uniform_v3uint %5245 %int_4 + %22965 = OpLoad %v3uint %25178 + %18835 = OpVectorShuffle %v2uint %10229 %10229 0 1 + %6626 = OpVectorShuffle %v2uint %22965 %22965 0 1 + %17032 = OpUGreaterThanEqual %v2bool %18835 %6626 + %24679 = OpAny %bool %17032 + OpSelectionMerge %6282 DontFlatten + OpBranchConditional %24679 %21992 %6282 + %21992 = OpLabel + OpBranch %19578 + %6282 = OpLabel + %6795 = OpBitcast %v3int %10229 + %18792 = OpAccessChain %_ptr_Uniform_uint %5245 %int_6 + %9788 = OpLoad %uint %18792 + %20376 = OpCompositeExtract %uint %22965 1 + %14692 = OpCompositeExtract %int %6795 0 + %22810 = OpIMul %int %14692 %int_4 + %6362 = OpCompositeExtract %int %6795 2 + %14505 = OpBitcast %int %20376 + %11279 = OpIMul %int %6362 %14505 + %17598 = OpCompositeExtract %int %6795 1 + %22228 = OpIAdd %int %11279 %17598 + %22405 = OpBitcast %int %9788 + %24535 = OpIMul %int %22228 %22405 + %7061 = OpIAdd %int %22810 %24535 + %19270 = OpBitcast %uint %7061 + %19460 = OpAccessChain %_ptr_Uniform_uint %5245 %int_5 + %22875 = OpLoad %uint %19460 + %8517 = OpIAdd %uint %19270 %22875 + %21670 = OpShiftRightLogical %uint %8517 %uint_4 + %18404 = OpAccessChain %_ptr_Uniform_uint %5245 %int_1 + %23432 = OpLoad %uint %18404 + %22700 = OpAccessChain %_ptr_Uniform_uint %5245 %int_0 + %20387 = OpLoad %uint %22700 + %22279 = OpBitwiseAnd %uint %20387 %uint_2 + %19223 = OpINotEqual %bool %22279 %uint_0 + %17247 = OpCompositeConstruct %v2uint %20387 %20387 + %22947 = OpShiftRightLogical %v2uint %17247 %1915 + %6551 = OpBitwiseAnd %v2uint %22947 %1870 + %18732 = OpAccessChain %_ptr_Uniform_uint %5245 %int_2 + %24236 = OpLoad %uint %18732 + %20458 = OpAccessChain %_ptr_Uniform_uint %5245 %int_3 + %22167 = OpLoad %uint %20458 + %18929 = OpCompositeExtract %uint %10229 0 + %6638 = OpShiftRightLogical %uint %18929 %uint_2 + %9988 = OpCompositeExtract %uint %10229 1 + %23563 = OpCompositeConstruct %v2uint %6638 %9988 + %8041 = OpUDiv %v2uint %23563 %6551 + %13932 = OpCompositeExtract %uint %8041 0 + %19789 = OpShiftLeftLogical %uint %13932 %uint_2 + %20905 = OpCompositeExtract %uint %8041 1 + %23022 = OpCompositeExtract %uint %10229 2 + %9417 = OpCompositeConstruct %v3uint %19789 %20905 %23022 + OpSelectionMerge %21313 DontFlatten + OpBranchConditional %19223 %21373 %11737 + %21373 = OpLabel + %10608 = OpBitcast %v3int %9417 + %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 %22167 %uint_4 + %6314 = OpBitcast %int %23373 + %21281 = OpIMul %int %16476 %6314 + %15143 = OpIAdd %int %9469 %21281 + %9032 = OpShiftRightLogical %uint %24236 %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 + %16658 = OpShiftRightArithmetic %int %25154 %int_3 + %18794 = OpShiftLeftLogical %int %23052 %int_1 + %13501 = OpIAdd %int %16658 %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 %9417 %9417 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 %24236 %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 %8041 %6551 + %15292 = OpISub %v2uint %23563 %16296 + %7303 = OpCompositeExtract %uint %6551 0 + %22882 = OpCompositeExtract %uint %6551 1 + %13170 = OpIMul %uint %7303 %22882 + %15520 = OpIMul %uint %9468 %13170 + %16084 = OpCompositeExtract %uint %15292 0 + %15890 = OpIMul %uint %16084 %22882 + %6886 = OpCompositeExtract %uint %15292 1 + %11045 = OpIAdd %uint %15890 %6886 + %24733 = OpShiftLeftLogical %uint %11045 %uint_2 + %23219 = OpBitwiseAnd %uint %18929 %uint_3 + %9559 = OpIAdd %uint %24733 %23219 + %16557 = OpShiftLeftLogical %uint %9559 %uint_2 + %20138 = OpIAdd %uint %15520 %16557 + %17724 = OpIAdd %uint %23432 %20138 + %14040 = OpShiftRightLogical %uint %17724 %uint_4 + %11766 = OpShiftRightLogical %uint %20387 %uint_2 + %8394 = OpBitwiseAnd %uint %11766 %uint_3 + %20727 = OpAccessChain %_ptr_Uniform_v4uint %4218 %int_0 %14040 + %8142 = OpLoad %v4uint %20727 + %13760 = OpIEqual %bool %8394 %uint_1 + %21366 = OpIEqual %bool %8394 %uint_2 + %22150 = OpLogicalOr %bool %13760 %21366 + OpSelectionMerge %13411 None + OpBranchConditional %22150 %10583 %13411 + %10583 = OpLabel + %18271 = OpBitwiseAnd %v4uint %8142 %2510 + %9425 = OpShiftLeftLogical %v4uint %18271 %317 + %20652 = OpBitwiseAnd %v4uint %8142 %1838 + %17549 = OpShiftRightLogical %v4uint %20652 %317 + %16376 = OpBitwiseOr %v4uint %9425 %17549 + OpBranch %13411 + %13411 = OpLabel + %22649 = OpPhi %v4uint %8142 %21313 %16376 %10583 + %19638 = OpIEqual %bool %8394 %uint_3 + %15139 = OpLogicalOr %bool %21366 %19638 + OpSelectionMerge %13962 None + OpBranchConditional %15139 %11064 %13962 + %11064 = OpLabel + %24087 = OpShiftLeftLogical %v4uint %22649 %749 + %15335 = OpShiftRightLogical %v4uint %22649 %749 + %10728 = OpBitwiseOr %v4uint %24087 %15335 + OpBranch %13962 + %13962 = OpLabel + %16606 = OpPhi %v4uint %22649 %13411 %10728 %11064 + %18240 = OpBitwiseAnd %v4uint %16606 %850 + %9137 = OpConvertUToF %v4float %18240 + %19365 = OpVectorTimesScalar %v4float %9137 %float_1_52590219en05 + %23367 = OpShiftRightLogical %v4uint %16606 %749 + %18492 = OpConvertUToF %v4float %23367 + %18450 = OpVectorTimesScalar %v4float %18492 %float_1_52590219en05 + %6268 = OpCompositeExtract %float %19365 0 + %13806 = OpCompositeExtract %float %18450 0 + %19232 = OpCompositeConstruct %v2float %6268 %13806 + %8561 = OpExtInst %uint %1 PackHalf2x16 %19232 + %23487 = OpCompositeExtract %float %19365 1 + %14759 = OpCompositeExtract %float %18450 1 + %19233 = OpCompositeConstruct %v2float %23487 %14759 + %8562 = OpExtInst %uint %1 PackHalf2x16 %19233 + %23488 = OpCompositeExtract %float %19365 2 + %14760 = OpCompositeExtract %float %18450 2 + %19234 = OpCompositeConstruct %v2float %23488 %14760 + %8563 = OpExtInst %uint %1 PackHalf2x16 %19234 + %23489 = OpCompositeExtract %float %19365 3 + %14761 = OpCompositeExtract %float %18450 3 + %19213 = OpCompositeConstruct %v2float %23489 %14761 + %8430 = OpExtInst %uint %1 PackHalf2x16 %19213 + %15035 = OpCompositeConstruct %v4uint %8561 %8562 %8563 %8430 + %17859 = OpAccessChain %_ptr_Uniform_v4uint %5134 %int_0 %21670 + OpStore %17859 %15035 + %15532 = OpIAdd %uint %21670 %int_1 + %6417 = OpUGreaterThan %bool %7303 %uint_1 + OpSelectionMerge %24764 DontFlatten + OpBranchConditional %6417 %20612 %20628 + %20612 = OpLabel + %13975 = OpUDiv %uint %6638 %7303 + %9086 = OpIMul %uint %13975 %7303 + %12657 = OpISub %uint %6638 %9086 + %9511 = OpIAdd %uint %12657 %uint_1 + %13375 = OpIEqual %bool %9511 %7303 + OpSelectionMerge %7917 None + OpBranchConditional %13375 %22174 %8593 + %22174 = OpLabel + %19289 = OpIMul %uint %uint_32 %7303 + %21519 = OpShiftLeftLogical %uint %12657 %uint_4 + %18756 = OpISub %uint %19289 %21519 + OpBranch %7917 + %8593 = OpLabel + OpBranch %7917 + %7917 = OpLabel + %10540 = OpPhi %uint %18756 %22174 %uint_16 %8593 + OpBranch %24764 + %20628 = OpLabel + OpBranch %24764 + %24764 = OpLabel + %10684 = OpPhi %uint %10540 %7917 %uint_32 %20628 + %18731 = OpIMul %uint %10684 %22882 + %16493 = OpShiftRightLogical %uint %18731 %uint_4 + %13163 = OpIAdd %uint %14040 %16493 + %22298 = OpAccessChain %_ptr_Uniform_v4uint %4218 %int_0 %13163 + %6578 = OpLoad %v4uint %22298 + OpSelectionMerge %14874 None + OpBranchConditional %22150 %10584 %14874 + %10584 = OpLabel + %18272 = OpBitwiseAnd %v4uint %6578 %2510 + %9426 = OpShiftLeftLogical %v4uint %18272 %317 + %20653 = OpBitwiseAnd %v4uint %6578 %1838 + %17550 = OpShiftRightLogical %v4uint %20653 %317 + %16377 = OpBitwiseOr %v4uint %9426 %17550 + OpBranch %14874 + %14874 = OpLabel + %10924 = OpPhi %v4uint %6578 %24764 %16377 %10584 + OpSelectionMerge %13963 None + OpBranchConditional %15139 %11065 %13963 + %11065 = OpLabel + %24088 = OpShiftLeftLogical %v4uint %10924 %749 + %15336 = OpShiftRightLogical %v4uint %10924 %749 + %10729 = OpBitwiseOr %v4uint %24088 %15336 + OpBranch %13963 + %13963 = OpLabel + %16607 = OpPhi %v4uint %10924 %14874 %10729 %11065 + %18241 = OpBitwiseAnd %v4uint %16607 %850 + %9138 = OpConvertUToF %v4float %18241 + %19366 = OpVectorTimesScalar %v4float %9138 %float_1_52590219en05 + %23368 = OpShiftRightLogical %v4uint %16607 %749 + %18493 = OpConvertUToF %v4float %23368 + %18451 = OpVectorTimesScalar %v4float %18493 %float_1_52590219en05 + %6269 = OpCompositeExtract %float %19366 0 + %13807 = OpCompositeExtract %float %18451 0 + %19235 = OpCompositeConstruct %v2float %6269 %13807 + %8564 = OpExtInst %uint %1 PackHalf2x16 %19235 + %23490 = OpCompositeExtract %float %19366 1 + %14762 = OpCompositeExtract %float %18451 1 + %19236 = OpCompositeConstruct %v2float %23490 %14762 + %8565 = OpExtInst %uint %1 PackHalf2x16 %19236 + %23491 = OpCompositeExtract %float %19366 2 + %14763 = OpCompositeExtract %float %18451 2 + %19237 = OpCompositeConstruct %v2float %23491 %14763 + %8566 = OpExtInst %uint %1 PackHalf2x16 %19237 + %23492 = OpCompositeExtract %float %19366 3 + %14764 = OpCompositeExtract %float %18451 3 + %19214 = OpCompositeConstruct %v2float %23492 %14764 + %8431 = OpExtInst %uint %1 PackHalf2x16 %19214 + %15036 = OpCompositeConstruct %v4uint %8564 %8565 %8566 %8431 + %20158 = OpAccessChain %_ptr_Uniform_v4uint %5134 %int_0 %15532 + OpStore %20158 %15036 + OpBranch %19578 + %19578 = OpLabel + OpReturn + OpFunctionEnd +#endif + +const uint32_t texture_load_rg16_unorm_float_scaled_cs[] = { + 0x07230203, 0x00010000, 0x0008000A, 0x0000625B, 0x00000000, 0x00020011, + 0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E, + 0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0006000F, 0x00000005, + 0x0000161F, 0x6E69616D, 0x00000000, 0x00000F48, 0x00060010, 0x0000161F, + 0x00000011, 0x00000004, 0x00000020, 0x00000001, 0x00050048, 0x00000489, + 0x00000000, 0x00000023, 0x00000000, 0x00050048, 0x00000489, 0x00000001, + 0x00000023, 0x00000004, 0x00050048, 0x00000489, 0x00000002, 0x00000023, + 0x00000008, 0x00050048, 0x00000489, 0x00000003, 0x00000023, 0x0000000C, + 0x00050048, 0x00000489, 0x00000004, 0x00000023, 0x00000010, 0x00050048, + 0x00000489, 0x00000005, 0x00000023, 0x0000001C, 0x00050048, 0x00000489, + 0x00000006, 0x00000023, 0x00000020, 0x00050048, 0x00000489, 0x00000007, + 0x00000023, 0x00000024, 0x00030047, 0x00000489, 0x00000002, 0x00040047, + 0x0000147D, 0x00000022, 0x00000002, 0x00040047, 0x0000147D, 0x00000021, + 0x00000000, 0x00040047, 0x00000F48, 0x0000000B, 0x0000001C, 0x00040047, + 0x000007DC, 0x00000006, 0x00000010, 0x00040048, 0x000007B4, 0x00000000, + 0x00000019, 0x00050048, 0x000007B4, 0x00000000, 0x00000023, 0x00000000, + 0x00030047, 0x000007B4, 0x00000003, 0x00040047, 0x0000140E, 0x00000022, + 0x00000000, 0x00040047, 0x0000140E, 0x00000021, 0x00000000, 0x00040047, + 0x000007DD, 0x00000006, 0x00000010, 0x00040048, 0x000007B5, 0x00000000, + 0x00000018, 0x00050048, 0x000007B5, 0x00000000, 0x00000023, 0x00000000, + 0x00030047, 0x000007B5, 0x00000003, 0x00040047, 0x0000107A, 0x00000022, + 0x00000001, 0x00040047, 0x0000107A, 0x00000021, 0x00000000, 0x00040047, + 0x00000BC3, 0x0000000B, 0x00000019, 0x00020013, 0x00000008, 0x00030021, + 0x00000502, 0x00000008, 0x00040015, 0x0000000B, 0x00000020, 0x00000000, + 0x00040017, 0x00000017, 0x0000000B, 0x00000004, 0x00040015, 0x0000000C, + 0x00000020, 0x00000001, 0x00040017, 0x00000012, 0x0000000C, 0x00000002, + 0x00040017, 0x00000016, 0x0000000C, 0x00000003, 0x00020014, 0x00000009, + 0x00040017, 0x00000014, 0x0000000B, 0x00000003, 0x00040017, 0x00000011, + 0x0000000B, 0x00000002, 0x00030016, 0x0000000D, 0x00000020, 0x00040017, + 0x0000001D, 0x0000000D, 0x00000004, 0x0004002B, 0x0000000B, 0x000001C1, + 0x0000FFFF, 0x0004002B, 0x0000000D, 0x0000092A, 0x37800080, 0x0004002B, + 0x0000000B, 0x00000A3A, 0x00000010, 0x0004002B, 0x0000000B, 0x00000A0A, + 0x00000000, 0x00040017, 0x00000013, 0x0000000D, 0x00000002, 0x0004002B, + 0x0000000B, 0x00000A0D, 0x00000001, 0x0004002B, 0x0000000B, 0x00000A10, + 0x00000002, 0x0004002B, 0x0000000B, 0x00000A13, 0x00000003, 0x0004002B, + 0x0000000B, 0x000008A6, 0x00FF00FF, 0x0004002B, 0x0000000B, 0x00000A22, + 0x00000008, 0x0004002B, 0x0000000B, 0x000005FD, 0xFF00FF00, 0x0004002B, + 0x0000000C, 0x00000A1A, 0x00000005, 0x0004002B, 0x0000000B, 0x00000A19, + 0x00000005, 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, 0x0000000B, 0x00000A1C, 0x00000006, 0x0004002B, + 0x0000000C, 0x0000078B, 0x0FFFFFFF, 0x0004002B, 0x0000000C, 0x00000A05, + 0xFFFFFFFE, 0x0004002B, 0x0000000B, 0x00000A6A, 0x00000020, 0x000A001E, + 0x00000489, 0x0000000B, 0x0000000B, 0x0000000B, 0x0000000B, 0x00000014, + 0x0000000B, 0x0000000B, 0x0000000B, 0x00040020, 0x00000706, 0x00000002, + 0x00000489, 0x0004003B, 0x00000706, 0x0000147D, 0x00000002, 0x0004002B, + 0x0000000C, 0x00000A0B, 0x00000000, 0x00040020, 0x00000288, 0x00000002, + 0x0000000B, 0x0005002C, 0x00000011, 0x0000077B, 0x00000A16, 0x00000A1C, + 0x00040020, 0x00000291, 0x00000002, 0x00000014, 0x00040020, 0x00000292, + 0x00000001, 0x00000014, 0x0004003B, 0x00000292, 0x00000F48, 0x00000001, + 0x0006002C, 0x00000014, 0x00000A2B, 0x00000A13, 0x00000A0A, 0x00000A0A, + 0x00040017, 0x0000000F, 0x00000009, 0x00000002, 0x0003001D, 0x000007DC, + 0x00000017, 0x0003001E, 0x000007B4, 0x000007DC, 0x00040020, 0x00000A31, + 0x00000002, 0x000007B4, 0x0004003B, 0x00000A31, 0x0000140E, 0x00000002, + 0x0003001D, 0x000007DD, 0x00000017, 0x0003001E, 0x000007B5, 0x000007DD, + 0x00040020, 0x00000A32, 0x00000002, 0x000007B5, 0x0004003B, 0x00000A32, + 0x0000107A, 0x00000002, 0x00040020, 0x00000294, 0x00000002, 0x00000017, + 0x0006002C, 0x00000014, 0x00000BC3, 0x00000A16, 0x00000A6A, 0x00000A0D, + 0x0005002C, 0x00000011, 0x0000074E, 0x00000A13, 0x00000A13, 0x0004002B, + 0x0000000B, 0x00000A25, 0x00000009, 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, 0x0007002C, 0x00000017, 0x00000352, 0x000001C1, 0x000001C1, + 0x000001C1, 0x000001C1, 0x00050036, 0x00000008, 0x0000161F, 0x00000000, + 0x00000502, 0x000200F8, 0x00003B06, 0x000300F7, 0x00004C7A, 0x00000000, + 0x000300FB, 0x00000A0A, 0x00003B21, 0x000200F8, 0x00003B21, 0x0004003D, + 0x00000014, 0x0000312F, 0x00000F48, 0x000500C4, 0x00000014, 0x000027F5, + 0x0000312F, 0x00000A2B, 0x00050041, 0x00000291, 0x0000625A, 0x0000147D, + 0x00000A17, 0x0004003D, 0x00000014, 0x000059B5, 0x0000625A, 0x0007004F, + 0x00000011, 0x00004993, 0x000027F5, 0x000027F5, 0x00000000, 0x00000001, + 0x0007004F, 0x00000011, 0x000019E2, 0x000059B5, 0x000059B5, 0x00000000, + 0x00000001, 0x000500AE, 0x0000000F, 0x00004288, 0x00004993, 0x000019E2, + 0x0004009A, 0x00000009, 0x00006067, 0x00004288, 0x000300F7, 0x0000188A, + 0x00000002, 0x000400FA, 0x00006067, 0x000055E8, 0x0000188A, 0x000200F8, + 0x000055E8, 0x000200F9, 0x00004C7A, 0x000200F8, 0x0000188A, 0x0004007C, + 0x00000016, 0x00001A8B, 0x000027F5, 0x00050041, 0x00000288, 0x00004968, + 0x0000147D, 0x00000A1D, 0x0004003D, 0x0000000B, 0x0000263C, 0x00004968, + 0x00050051, 0x0000000B, 0x00004F98, 0x000059B5, 0x00000001, 0x00050051, + 0x0000000C, 0x00003964, 0x00001A8B, 0x00000000, 0x00050084, 0x0000000C, + 0x0000591A, 0x00003964, 0x00000A17, 0x00050051, 0x0000000C, 0x000018DA, + 0x00001A8B, 0x00000002, 0x0004007C, 0x0000000C, 0x000038A9, 0x00004F98, + 0x00050084, 0x0000000C, 0x00002C0F, 0x000018DA, 0x000038A9, 0x00050051, + 0x0000000C, 0x000044BE, 0x00001A8B, 0x00000001, 0x00050080, 0x0000000C, + 0x000056D4, 0x00002C0F, 0x000044BE, 0x0004007C, 0x0000000C, 0x00005785, + 0x0000263C, 0x00050084, 0x0000000C, 0x00005FD7, 0x000056D4, 0x00005785, + 0x00050080, 0x0000000C, 0x00001B95, 0x0000591A, 0x00005FD7, 0x0004007C, + 0x0000000B, 0x00004B46, 0x00001B95, 0x00050041, 0x00000288, 0x00004C04, + 0x0000147D, 0x00000A1A, 0x0004003D, 0x0000000B, 0x0000595B, 0x00004C04, + 0x00050080, 0x0000000B, 0x00002145, 0x00004B46, 0x0000595B, 0x000500C2, + 0x0000000B, 0x000054A6, 0x00002145, 0x00000A16, 0x00050041, 0x00000288, + 0x000047E4, 0x0000147D, 0x00000A0E, 0x0004003D, 0x0000000B, 0x00005B88, + 0x000047E4, 0x00050041, 0x00000288, 0x000058AC, 0x0000147D, 0x00000A0B, + 0x0004003D, 0x0000000B, 0x00004FA3, 0x000058AC, 0x000500C7, 0x0000000B, + 0x00005707, 0x00004FA3, 0x00000A10, 0x000500AB, 0x00000009, 0x00004B17, + 0x00005707, 0x00000A0A, 0x00050050, 0x00000011, 0x0000435F, 0x00004FA3, + 0x00004FA3, 0x000500C2, 0x00000011, 0x000059A3, 0x0000435F, 0x0000077B, + 0x000500C7, 0x00000011, 0x00001997, 0x000059A3, 0x0000074E, 0x00050041, + 0x00000288, 0x0000492C, 0x0000147D, 0x00000A11, 0x0004003D, 0x0000000B, + 0x00005EAC, 0x0000492C, 0x00050041, 0x00000288, 0x00004FEA, 0x0000147D, + 0x00000A14, 0x0004003D, 0x0000000B, 0x00005697, 0x00004FEA, 0x00050051, + 0x0000000B, 0x000049F1, 0x000027F5, 0x00000000, 0x000500C2, 0x0000000B, + 0x000019EE, 0x000049F1, 0x00000A10, 0x00050051, 0x0000000B, 0x00002704, + 0x000027F5, 0x00000001, 0x00050050, 0x00000011, 0x00005C0B, 0x000019EE, + 0x00002704, 0x00050086, 0x00000011, 0x00001F69, 0x00005C0B, 0x00001997, + 0x00050051, 0x0000000B, 0x0000366C, 0x00001F69, 0x00000000, 0x000500C4, + 0x0000000B, 0x00004D4D, 0x0000366C, 0x00000A10, 0x00050051, 0x0000000B, + 0x000051A9, 0x00001F69, 0x00000001, 0x00050051, 0x0000000B, 0x000059EE, + 0x000027F5, 0x00000002, 0x00060050, 0x00000014, 0x000024C9, 0x00004D4D, + 0x000051A9, 0x000059EE, 0x000300F7, 0x00005341, 0x00000002, 0x000400FA, + 0x00004B17, 0x0000537D, 0x00002DD9, 0x000200F8, 0x0000537D, 0x0004007C, + 0x00000016, 0x00002970, 0x000024C9, 0x00050051, 0x0000000C, 0x000042C2, + 0x00002970, 0x00000001, 0x000500C3, 0x0000000C, 0x000024FD, 0x000042C2, + 0x00000A17, 0x00050051, 0x0000000C, 0x00002747, 0x00002970, 0x00000002, + 0x000500C3, 0x0000000C, 0x0000405C, 0x00002747, 0x00000A11, 0x000500C2, + 0x0000000B, 0x00005B4D, 0x00005697, 0x00000A16, 0x0004007C, 0x0000000C, + 0x000018AA, 0x00005B4D, 0x00050084, 0x0000000C, 0x00005321, 0x0000405C, + 0x000018AA, 0x00050080, 0x0000000C, 0x00003B27, 0x000024FD, 0x00005321, + 0x000500C2, 0x0000000B, 0x00002348, 0x00005EAC, 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, 0x00004112, 0x00006242, 0x00000A14, 0x000500C4, 0x0000000C, + 0x0000496A, 0x00005A0C, 0x00000A0E, 0x00050080, 0x0000000C, 0x000034BD, + 0x00004112, 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, 0x000024C9, 0x000024C9, 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, 0x00005EAC, 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, 0x00001F69, 0x00001997, 0x00050082, 0x00000011, 0x00003BBC, + 0x00005C0B, 0x00003FA8, 0x00050051, 0x0000000B, 0x00001C87, 0x00001997, + 0x00000000, 0x00050051, 0x0000000B, 0x00005962, 0x00001997, 0x00000001, + 0x00050084, 0x0000000B, 0x00003372, 0x00001C87, 0x00005962, 0x00050084, + 0x0000000B, 0x00003CA0, 0x000024FC, 0x00003372, 0x00050051, 0x0000000B, + 0x00003ED4, 0x00003BBC, 0x00000000, 0x00050084, 0x0000000B, 0x00003E12, + 0x00003ED4, 0x00005962, 0x00050051, 0x0000000B, 0x00001AE6, 0x00003BBC, + 0x00000001, 0x00050080, 0x0000000B, 0x00002B25, 0x00003E12, 0x00001AE6, + 0x000500C4, 0x0000000B, 0x0000609D, 0x00002B25, 0x00000A10, 0x000500C7, + 0x0000000B, 0x00005AB3, 0x000049F1, 0x00000A13, 0x00050080, 0x0000000B, + 0x00002557, 0x0000609D, 0x00005AB3, 0x000500C4, 0x0000000B, 0x000040AD, + 0x00002557, 0x00000A10, 0x00050080, 0x0000000B, 0x00004EAA, 0x00003CA0, + 0x000040AD, 0x00050080, 0x0000000B, 0x0000453C, 0x00005B88, 0x00004EAA, + 0x000500C2, 0x0000000B, 0x000036D8, 0x0000453C, 0x00000A16, 0x000500C2, + 0x0000000B, 0x00002DF6, 0x00004FA3, 0x00000A10, 0x000500C7, 0x0000000B, + 0x000020CA, 0x00002DF6, 0x00000A13, 0x00060041, 0x00000294, 0x000050F7, + 0x0000107A, 0x00000A0B, 0x000036D8, 0x0004003D, 0x00000017, 0x00001FCE, + 0x000050F7, 0x000500AA, 0x00000009, 0x000035C0, 0x000020CA, 0x00000A0D, + 0x000500AA, 0x00000009, 0x00005376, 0x000020CA, 0x00000A10, 0x000500A6, + 0x00000009, 0x00005686, 0x000035C0, 0x00005376, 0x000300F7, 0x00003463, + 0x00000000, 0x000400FA, 0x00005686, 0x00002957, 0x00003463, 0x000200F8, + 0x00002957, 0x000500C7, 0x00000017, 0x0000475F, 0x00001FCE, 0x000009CE, + 0x000500C4, 0x00000017, 0x000024D1, 0x0000475F, 0x0000013D, 0x000500C7, + 0x00000017, 0x000050AC, 0x00001FCE, 0x0000072E, 0x000500C2, 0x00000017, + 0x0000448D, 0x000050AC, 0x0000013D, 0x000500C5, 0x00000017, 0x00003FF8, + 0x000024D1, 0x0000448D, 0x000200F9, 0x00003463, 0x000200F8, 0x00003463, + 0x000700F5, 0x00000017, 0x00005879, 0x00001FCE, 0x00005341, 0x00003FF8, + 0x00002957, 0x000500AA, 0x00000009, 0x00004CB6, 0x000020CA, 0x00000A13, + 0x000500A6, 0x00000009, 0x00003B23, 0x00005376, 0x00004CB6, 0x000300F7, + 0x0000368A, 0x00000000, 0x000400FA, 0x00003B23, 0x00002B38, 0x0000368A, + 0x000200F8, 0x00002B38, 0x000500C4, 0x00000017, 0x00005E17, 0x00005879, + 0x000002ED, 0x000500C2, 0x00000017, 0x00003BE7, 0x00005879, 0x000002ED, + 0x000500C5, 0x00000017, 0x000029E8, 0x00005E17, 0x00003BE7, 0x000200F9, + 0x0000368A, 0x000200F8, 0x0000368A, 0x000700F5, 0x00000017, 0x000040DE, + 0x00005879, 0x00003463, 0x000029E8, 0x00002B38, 0x000500C7, 0x00000017, + 0x00004740, 0x000040DE, 0x00000352, 0x00040070, 0x0000001D, 0x000023B1, + 0x00004740, 0x0005008E, 0x0000001D, 0x00004BA5, 0x000023B1, 0x0000092A, + 0x000500C2, 0x00000017, 0x00005B47, 0x000040DE, 0x000002ED, 0x00040070, + 0x0000001D, 0x0000483C, 0x00005B47, 0x0005008E, 0x0000001D, 0x00004812, + 0x0000483C, 0x0000092A, 0x00050051, 0x0000000D, 0x0000187C, 0x00004BA5, + 0x00000000, 0x00050051, 0x0000000D, 0x000035EE, 0x00004812, 0x00000000, + 0x00050050, 0x00000013, 0x00004B20, 0x0000187C, 0x000035EE, 0x0006000C, + 0x0000000B, 0x00002171, 0x00000001, 0x0000003A, 0x00004B20, 0x00050051, + 0x0000000D, 0x00005BBF, 0x00004BA5, 0x00000001, 0x00050051, 0x0000000D, + 0x000039A7, 0x00004812, 0x00000001, 0x00050050, 0x00000013, 0x00004B21, + 0x00005BBF, 0x000039A7, 0x0006000C, 0x0000000B, 0x00002172, 0x00000001, + 0x0000003A, 0x00004B21, 0x00050051, 0x0000000D, 0x00005BC0, 0x00004BA5, + 0x00000002, 0x00050051, 0x0000000D, 0x000039A8, 0x00004812, 0x00000002, + 0x00050050, 0x00000013, 0x00004B22, 0x00005BC0, 0x000039A8, 0x0006000C, + 0x0000000B, 0x00002173, 0x00000001, 0x0000003A, 0x00004B22, 0x00050051, + 0x0000000D, 0x00005BC1, 0x00004BA5, 0x00000003, 0x00050051, 0x0000000D, + 0x000039A9, 0x00004812, 0x00000003, 0x00050050, 0x00000013, 0x00004B0D, + 0x00005BC1, 0x000039A9, 0x0006000C, 0x0000000B, 0x000020EE, 0x00000001, + 0x0000003A, 0x00004B0D, 0x00070050, 0x00000017, 0x00003ABB, 0x00002171, + 0x00002172, 0x00002173, 0x000020EE, 0x00060041, 0x00000294, 0x000045C3, + 0x0000140E, 0x00000A0B, 0x000054A6, 0x0003003E, 0x000045C3, 0x00003ABB, + 0x00050080, 0x0000000B, 0x00003CAC, 0x000054A6, 0x00000A0E, 0x000500AC, + 0x00000009, 0x00001911, 0x00001C87, 0x00000A0D, 0x000300F7, 0x000060BC, + 0x00000002, 0x000400FA, 0x00001911, 0x00005084, 0x00005094, 0x000200F8, + 0x00005084, 0x00050086, 0x0000000B, 0x00003697, 0x000019EE, 0x00001C87, + 0x00050084, 0x0000000B, 0x0000237E, 0x00003697, 0x00001C87, 0x00050082, + 0x0000000B, 0x00003171, 0x000019EE, 0x0000237E, 0x00050080, 0x0000000B, + 0x00002527, 0x00003171, 0x00000A0D, 0x000500AA, 0x00000009, 0x0000343F, + 0x00002527, 0x00001C87, 0x000300F7, 0x00001EED, 0x00000000, 0x000400FA, + 0x0000343F, 0x0000569E, 0x00002191, 0x000200F8, 0x0000569E, 0x00050084, + 0x0000000B, 0x00004B59, 0x00000A6A, 0x00001C87, 0x000500C4, 0x0000000B, + 0x0000540F, 0x00003171, 0x00000A16, 0x00050082, 0x0000000B, 0x00004944, + 0x00004B59, 0x0000540F, 0x000200F9, 0x00001EED, 0x000200F8, 0x00002191, + 0x000200F9, 0x00001EED, 0x000200F8, 0x00001EED, 0x000700F5, 0x0000000B, + 0x0000292C, 0x00004944, 0x0000569E, 0x00000A3A, 0x00002191, 0x000200F9, + 0x000060BC, 0x000200F8, 0x00005094, 0x000200F9, 0x000060BC, 0x000200F8, + 0x000060BC, 0x000700F5, 0x0000000B, 0x000029BC, 0x0000292C, 0x00001EED, + 0x00000A6A, 0x00005094, 0x00050084, 0x0000000B, 0x0000492B, 0x000029BC, + 0x00005962, 0x000500C2, 0x0000000B, 0x0000406D, 0x0000492B, 0x00000A16, + 0x00050080, 0x0000000B, 0x0000336B, 0x000036D8, 0x0000406D, 0x00060041, + 0x00000294, 0x0000571A, 0x0000107A, 0x00000A0B, 0x0000336B, 0x0004003D, + 0x00000017, 0x000019B2, 0x0000571A, 0x000300F7, 0x00003A1A, 0x00000000, + 0x000400FA, 0x00005686, 0x00002958, 0x00003A1A, 0x000200F8, 0x00002958, + 0x000500C7, 0x00000017, 0x00004760, 0x000019B2, 0x000009CE, 0x000500C4, + 0x00000017, 0x000024D2, 0x00004760, 0x0000013D, 0x000500C7, 0x00000017, + 0x000050AD, 0x000019B2, 0x0000072E, 0x000500C2, 0x00000017, 0x0000448E, + 0x000050AD, 0x0000013D, 0x000500C5, 0x00000017, 0x00003FF9, 0x000024D2, + 0x0000448E, 0x000200F9, 0x00003A1A, 0x000200F8, 0x00003A1A, 0x000700F5, + 0x00000017, 0x00002AAC, 0x000019B2, 0x000060BC, 0x00003FF9, 0x00002958, + 0x000300F7, 0x0000368B, 0x00000000, 0x000400FA, 0x00003B23, 0x00002B39, + 0x0000368B, 0x000200F8, 0x00002B39, 0x000500C4, 0x00000017, 0x00005E18, + 0x00002AAC, 0x000002ED, 0x000500C2, 0x00000017, 0x00003BE8, 0x00002AAC, + 0x000002ED, 0x000500C5, 0x00000017, 0x000029E9, 0x00005E18, 0x00003BE8, + 0x000200F9, 0x0000368B, 0x000200F8, 0x0000368B, 0x000700F5, 0x00000017, + 0x000040DF, 0x00002AAC, 0x00003A1A, 0x000029E9, 0x00002B39, 0x000500C7, + 0x00000017, 0x00004741, 0x000040DF, 0x00000352, 0x00040070, 0x0000001D, + 0x000023B2, 0x00004741, 0x0005008E, 0x0000001D, 0x00004BA6, 0x000023B2, + 0x0000092A, 0x000500C2, 0x00000017, 0x00005B48, 0x000040DF, 0x000002ED, + 0x00040070, 0x0000001D, 0x0000483D, 0x00005B48, 0x0005008E, 0x0000001D, + 0x00004813, 0x0000483D, 0x0000092A, 0x00050051, 0x0000000D, 0x0000187D, + 0x00004BA6, 0x00000000, 0x00050051, 0x0000000D, 0x000035EF, 0x00004813, + 0x00000000, 0x00050050, 0x00000013, 0x00004B23, 0x0000187D, 0x000035EF, + 0x0006000C, 0x0000000B, 0x00002174, 0x00000001, 0x0000003A, 0x00004B23, + 0x00050051, 0x0000000D, 0x00005BC2, 0x00004BA6, 0x00000001, 0x00050051, + 0x0000000D, 0x000039AA, 0x00004813, 0x00000001, 0x00050050, 0x00000013, + 0x00004B24, 0x00005BC2, 0x000039AA, 0x0006000C, 0x0000000B, 0x00002175, + 0x00000001, 0x0000003A, 0x00004B24, 0x00050051, 0x0000000D, 0x00005BC3, + 0x00004BA6, 0x00000002, 0x00050051, 0x0000000D, 0x000039AB, 0x00004813, + 0x00000002, 0x00050050, 0x00000013, 0x00004B25, 0x00005BC3, 0x000039AB, + 0x0006000C, 0x0000000B, 0x00002176, 0x00000001, 0x0000003A, 0x00004B25, + 0x00050051, 0x0000000D, 0x00005BC4, 0x00004BA6, 0x00000003, 0x00050051, + 0x0000000D, 0x000039AC, 0x00004813, 0x00000003, 0x00050050, 0x00000013, + 0x00004B0E, 0x00005BC4, 0x000039AC, 0x0006000C, 0x0000000B, 0x000020EF, + 0x00000001, 0x0000003A, 0x00004B0E, 0x00070050, 0x00000017, 0x00003ABC, + 0x00002174, 0x00002175, 0x00002176, 0x000020EF, 0x00060041, 0x00000294, + 0x00004EBE, 0x0000140E, 0x00000A0B, 0x00003CAC, 0x0003003E, 0x00004EBE, + 0x00003ABC, 0x000200F9, 0x00004C7A, 0x000200F8, 0x00004C7A, 0x000100FD, + 0x00010038, +}; diff --git a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_rgba16_snorm_float_cs.h b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_rgba16_snorm_float_cs.h new file mode 100644 index 000000000..c33cb5293 --- /dev/null +++ b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_rgba16_snorm_float_cs.h @@ -0,0 +1,703 @@ +// Generated with `xb buildshaders`. +#if 0 +; SPIR-V +; Version: 1.0 +; Generator: Khronos Glslang Reference Front End; 10 +; Bound: 25179 +; Schema: 0 + OpCapability Shader + %1 = OpExtInstImport "GLSL.std.450" + OpMemoryModel Logical GLSL450 + OpEntryPoint GLCompute %5663 "main" %gl_GlobalInvocationID + OpExecutionMode %5663 LocalSize 8 32 1 + OpMemberDecorate %_struct_1161 0 Offset 0 + OpMemberDecorate %_struct_1161 1 Offset 4 + OpMemberDecorate %_struct_1161 2 Offset 8 + OpMemberDecorate %_struct_1161 3 Offset 12 + OpMemberDecorate %_struct_1161 4 Offset 16 + OpMemberDecorate %_struct_1161 5 Offset 28 + OpMemberDecorate %_struct_1161 6 Offset 32 + OpMemberDecorate %_struct_1161 7 Offset 36 + OpDecorate %_struct_1161 Block + OpDecorate %5245 DescriptorSet 2 + OpDecorate %5245 Binding 0 + 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 %5134 DescriptorSet 0 + OpDecorate %5134 Binding 0 + OpDecorate %_runtimearr_v4uint_0 ArrayStride 16 + OpMemberDecorate %_struct_1973 0 NonWritable + OpMemberDecorate %_struct_1973 0 Offset 0 + OpDecorate %_struct_1973 BufferBlock + OpDecorate %4218 DescriptorSet 1 + OpDecorate %4218 Binding 0 + OpDecorate %gl_WorkGroupSize BuiltIn WorkgroupSize + %void = OpTypeVoid + %1282 = OpTypeFunction %void + %uint = OpTypeInt 32 0 + %v4uint = OpTypeVector %uint 4 + %int = OpTypeInt 32 1 + %v2int = OpTypeVector %int 2 + %v3int = OpTypeVector %int 3 + %bool = OpTypeBool + %v3uint = OpTypeVector %uint 3 + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 + %float_n1 = OpConstant %float -1 + %1284 = OpConstantComposite %v4float %float_n1 %float_n1 %float_n1 %float_n1 + %v4int = OpTypeVector %int 4 + %int_16 = OpConstant %int 16 +%float_3_05185094en05 = OpConstant %float 3.05185094e-05 + %uint_0 = OpConstant %uint 0 + %v2float = OpTypeVector %float 2 + %uint_1 = OpConstant %uint 1 + %uint_2 = OpConstant %uint 2 + %uint_3 = OpConstant %uint 3 +%uint_16711935 = OpConstant %uint 16711935 + %uint_8 = OpConstant %uint 8 +%uint_4278255360 = OpConstant %uint 4278255360 + %uint_16 = OpConstant %uint 16 + %int_5 = OpConstant %int 5 + %uint_5 = OpConstant %uint 5 + %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_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_1161 = OpTypeStruct %uint %uint %uint %uint %v3uint %uint %uint %uint +%_ptr_Uniform__struct_1161 = OpTypePointer Uniform %_struct_1161 + %5245 = OpVariable %_ptr_Uniform__struct_1161 Uniform + %int_0 = OpConstant %int 0 +%_ptr_Uniform_uint = OpTypePointer Uniform %uint +%_ptr_Uniform_v3uint = OpTypePointer Uniform %v3uint + %v2uint = OpTypeVector %uint 2 +%_ptr_Input_v3uint = OpTypePointer Input %v3uint +%gl_GlobalInvocationID = OpVariable %_ptr_Input_v3uint Input + %2596 = OpConstantComposite %v3uint %uint_2 %uint_0 %uint_0 + %v2bool = OpTypeVector %bool 2 +%_runtimearr_v4uint = OpTypeRuntimeArray %v4uint +%_struct_1972 = OpTypeStruct %_runtimearr_v4uint +%_ptr_Uniform__struct_1972 = OpTypePointer Uniform %_struct_1972 + %5134 = OpVariable %_ptr_Uniform__struct_1972 Uniform +%_runtimearr_v4uint_0 = OpTypeRuntimeArray %v4uint +%_struct_1973 = OpTypeStruct %_runtimearr_v4uint_0 +%_ptr_Uniform__struct_1973 = OpTypePointer Uniform %_struct_1973 + %4218 = OpVariable %_ptr_Uniform__struct_1973 Uniform +%_ptr_Uniform_v4uint = OpTypePointer Uniform %v4uint +%gl_WorkGroupSize = OpConstantComposite %v3uint %uint_8 %uint_32 %uint_1 + %uint_9 = OpConstant %uint 9 + %uint_10 = OpConstant %uint 10 + %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 + %770 = OpConstantComposite %v4int %int_16 %int_16 %int_16 %int_16 + %5663 = OpFunction %void None %1282 + %15110 = OpLabel + OpSelectionMerge %19578 None + OpSwitch %uint_0 %15137 + %15137 = OpLabel + %12591 = OpLoad %v3uint %gl_GlobalInvocationID + %10229 = OpShiftLeftLogical %v3uint %12591 %2596 + %25178 = OpAccessChain %_ptr_Uniform_v3uint %5245 %int_4 + %22965 = OpLoad %v3uint %25178 + %18835 = OpVectorShuffle %v2uint %10229 %10229 0 1 + %6626 = OpVectorShuffle %v2uint %22965 %22965 0 1 + %17032 = OpUGreaterThanEqual %v2bool %18835 %6626 + %24679 = OpAny %bool %17032 + OpSelectionMerge %6282 DontFlatten + OpBranchConditional %24679 %21992 %6282 + %21992 = OpLabel + OpBranch %19578 + %6282 = OpLabel + %6795 = OpBitcast %v3int %10229 + %18792 = OpAccessChain %_ptr_Uniform_uint %5245 %int_6 + %9788 = OpLoad %uint %18792 + %20376 = OpCompositeExtract %uint %22965 1 + %14692 = OpCompositeExtract %int %6795 0 + %22810 = OpIMul %int %14692 %int_8 + %6362 = OpCompositeExtract %int %6795 2 + %14505 = OpBitcast %int %20376 + %11279 = OpIMul %int %6362 %14505 + %17598 = OpCompositeExtract %int %6795 1 + %22228 = OpIAdd %int %11279 %17598 + %22405 = OpBitcast %int %9788 + %24535 = OpIMul %int %22228 %22405 + %7061 = OpIAdd %int %22810 %24535 + %19270 = OpBitcast %uint %7061 + %19460 = OpAccessChain %_ptr_Uniform_uint %5245 %int_5 + %22875 = OpLoad %uint %19460 + %8517 = OpIAdd %uint %19270 %22875 + %21670 = OpShiftRightLogical %uint %8517 %uint_4 + %20950 = OpAccessChain %_ptr_Uniform_uint %5245 %int_0 + %21411 = OpLoad %uint %20950 + %6381 = OpBitwiseAnd %uint %21411 %uint_1 + %10467 = OpINotEqual %bool %6381 %uint_0 + OpSelectionMerge %23266 DontFlatten + OpBranchConditional %10467 %10108 %10765 + %10108 = OpLabel + %23508 = OpBitwiseAnd %uint %21411 %uint_2 + %16300 = OpINotEqual %bool %23508 %uint_0 + OpSelectionMerge %7691 DontFlatten + OpBranchConditional %16300 %12129 %25128 + %12129 = OpLabel + %18210 = OpAccessChain %_ptr_Uniform_uint %5245 %int_2 + %15627 = OpLoad %uint %18210 + %22624 = OpAccessChain %_ptr_Uniform_uint %5245 %int_3 + %21535 = OpLoad %uint %22624 + %14923 = OpShiftRightArithmetic %int %17598 %int_4 + %18773 = OpShiftRightArithmetic %int %6362 %int_2 + %18759 = OpShiftRightLogical %uint %21535 %uint_4 + %6314 = OpBitcast %int %18759 + %21281 = OpIMul %int %18773 %6314 + %15143 = OpIAdd %int %14923 %21281 + %9032 = OpShiftRightLogical %uint %15627 %uint_5 + %14593 = OpBitcast %int %9032 + %8436 = OpIMul %int %15143 %14593 + %12986 = OpShiftRightArithmetic %int %14692 %int_5 + %24558 = OpIAdd %int %12986 %8436 + %8797 = OpShiftLeftLogical %int %24558 %uint_9 + %11510 = OpBitwiseAnd %int %8797 %int_268435455 + %18938 = OpShiftLeftLogical %int %11510 %int_1 + %19768 = OpBitwiseAnd %int %14692 %int_7 + %12600 = OpBitwiseAnd %int %17598 %int_6 + %17741 = OpShiftLeftLogical %int %12600 %int_2 + %17227 = OpIAdd %int %19768 %17741 + %7048 = OpShiftLeftLogical %int %17227 %uint_9 + %24035 = OpShiftRightArithmetic %int %7048 %int_6 + %8725 = OpShiftRightArithmetic %int %17598 %int_3 + %13731 = OpIAdd %int %8725 %18773 + %23052 = OpBitwiseAnd %int %13731 %int_1 + %16658 = OpShiftRightArithmetic %int %14692 %int_3 + %18794 = OpShiftLeftLogical %int %23052 %int_1 + %13501 = OpIAdd %int %16658 %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 %6362 %int_3 + %21579 = OpShiftLeftLogical %int %18356 %uint_9 + %16727 = OpIAdd %int %10332 %21579 + %19166 = OpBitwiseAnd %int %17598 %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 + %24224 = OpBitwiseAnd %int %16728 %int_63 + %21741 = OpIAdd %int %23348 %24224 + OpBranch %7691 + %25128 = OpLabel + %6796 = OpBitcast %v2int %18835 + %18793 = OpAccessChain %_ptr_Uniform_uint %5245 %int_2 + %11954 = OpLoad %uint %18793 + %18756 = OpCompositeExtract %int %6796 0 + %19701 = OpShiftRightArithmetic %int %18756 %int_5 + %10055 = OpCompositeExtract %int %6796 1 + %16476 = OpShiftRightArithmetic %int %10055 %int_5 + %23373 = OpShiftRightLogical %uint %11954 %uint_5 + %6315 = OpBitcast %int %23373 + %21319 = OpIMul %int %16476 %6315 + %16222 = OpIAdd %int %19701 %21319 + %19086 = OpShiftLeftLogical %int %16222 %uint_10 + %10934 = OpBitwiseAnd %int %18756 %int_7 + %12601 = OpBitwiseAnd %int %10055 %int_14 + %17742 = OpShiftLeftLogical %int %12601 %int_2 + %17303 = OpIAdd %int %10934 %17742 + %6375 = OpShiftLeftLogical %int %17303 %uint_3 + %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 %10055 %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 %10055 %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 %10055 %int_8 + %16831 = OpShiftRightArithmetic %int %20611 %int_2 + %7916 = OpShiftRightArithmetic %int %18756 %int_3 + %13750 = OpIAdd %int %16831 %7916 + %21587 = OpBitwiseAnd %int %13750 %int_3 + %21583 = OpShiftLeftLogical %int %21587 %int_6 + %15437 = OpIAdd %int %16708 %21583 + %14157 = OpBitwiseAnd %int %16729 %int_63 + %12098 = OpIAdd %int %15437 %14157 + OpBranch %7691 + %7691 = OpLabel + %10540 = OpPhi %int %21741 %12129 %12098 %25128 + OpBranch %23266 + %10765 = OpLabel + %20632 = OpAccessChain %_ptr_Uniform_uint %5245 %int_2 + %15628 = OpLoad %uint %20632 + %21275 = OpAccessChain %_ptr_Uniform_uint %5245 %int_3 + %13550 = OpLoad %uint %21275 + %15070 = OpBitcast %int %13550 + %18927 = OpIMul %int %6362 %15070 + %8334 = OpIAdd %int %18927 %17598 + %8952 = OpBitcast %int %15628 + %7839 = OpIMul %int %8334 %8952 + %7984 = OpIAdd %int %22810 %7839 + OpBranch %23266 + %23266 = OpLabel + %19748 = OpPhi %int %10540 %7691 %7984 %10765 + %24922 = OpAccessChain %_ptr_Uniform_uint %5245 %int_1 + %7502 = OpLoad %uint %24922 + %15686 = OpBitcast %int %7502 + %15579 = OpIAdd %int %15686 %19748 + %18556 = OpBitcast %uint %15579 + %21493 = OpShiftRightLogical %uint %18556 %uint_4 + %14997 = OpShiftRightLogical %uint %21411 %uint_2 + %8394 = OpBitwiseAnd %uint %14997 %uint_3 + %20727 = OpAccessChain %_ptr_Uniform_v4uint %4218 %int_0 %21493 + %8142 = OpLoad %v4uint %20727 + %13760 = OpIEqual %bool %8394 %uint_1 + %21366 = OpIEqual %bool %8394 %uint_2 + %22150 = OpLogicalOr %bool %13760 %21366 + OpSelectionMerge %13411 None + OpBranchConditional %22150 %10583 %13411 + %10583 = OpLabel + %18271 = OpBitwiseAnd %v4uint %8142 %2510 + %9425 = OpShiftLeftLogical %v4uint %18271 %317 + %20652 = OpBitwiseAnd %v4uint %8142 %1838 + %17549 = OpShiftRightLogical %v4uint %20652 %317 + %16376 = OpBitwiseOr %v4uint %9425 %17549 + OpBranch %13411 + %13411 = OpLabel + %22649 = OpPhi %v4uint %8142 %23266 %16376 %10583 + %19638 = OpIEqual %bool %8394 %uint_3 + %15139 = OpLogicalOr %bool %21366 %19638 + OpSelectionMerge %12537 None + OpBranchConditional %15139 %11064 %12537 + %11064 = OpLabel + %24087 = OpShiftLeftLogical %v4uint %22649 %749 + %15335 = OpShiftRightLogical %v4uint %22649 %749 + %10728 = OpBitwiseOr %v4uint %24087 %15335 + OpBranch %12537 + %12537 = OpLabel + %12106 = OpPhi %v4uint %22649 %13411 %10728 %11064 + %15375 = OpBitcast %v4int %12106 + %16910 = OpShiftLeftLogical %v4int %15375 %770 + %16536 = OpShiftRightArithmetic %v4int %16910 %770 + %10903 = OpConvertSToF %v4float %16536 + %20413 = OpVectorTimesScalar %v4float %10903 %float_3_05185094en05 + %23989 = OpExtInst %v4float %1 FMax %1284 %20413 + %14338 = OpShiftRightArithmetic %v4int %15375 %770 + %6607 = OpConvertSToF %v4float %14338 + %18247 = OpVectorTimesScalar %v4float %6607 %float_3_05185094en05 + %24070 = OpExtInst %v4float %1 FMax %1284 %18247 + %24330 = OpCompositeExtract %float %23989 0 + %14319 = OpCompositeExtract %float %24070 0 + %19232 = OpCompositeConstruct %v2float %24330 %14319 + %8561 = OpExtInst %uint %1 PackHalf2x16 %19232 + %23487 = OpCompositeExtract %float %23989 1 + %14759 = OpCompositeExtract %float %24070 1 + %19233 = OpCompositeConstruct %v2float %23487 %14759 + %8562 = OpExtInst %uint %1 PackHalf2x16 %19233 + %23488 = OpCompositeExtract %float %23989 2 + %14760 = OpCompositeExtract %float %24070 2 + %19234 = OpCompositeConstruct %v2float %23488 %14760 + %8563 = OpExtInst %uint %1 PackHalf2x16 %19234 + %23489 = OpCompositeExtract %float %23989 3 + %14761 = OpCompositeExtract %float %24070 3 + %19213 = OpCompositeConstruct %v2float %23489 %14761 + %8430 = OpExtInst %uint %1 PackHalf2x16 %19213 + %15035 = OpCompositeConstruct %v4uint %8561 %8562 %8563 %8430 + %17859 = OpAccessChain %_ptr_Uniform_v4uint %5134 %int_0 %21670 + OpStore %17859 %15035 + %15044 = OpIAdd %uint %21670 %int_1 + %18776 = OpSelect %uint %10467 %uint_32 %uint_16 + %11803 = OpShiftRightLogical %uint %18776 %uint_4 + %13947 = OpIAdd %uint %21493 %11803 + %22298 = OpAccessChain %_ptr_Uniform_v4uint %4218 %int_0 %13947 + %6578 = OpLoad %v4uint %22298 + OpSelectionMerge %14874 None + OpBranchConditional %22150 %10584 %14874 + %10584 = OpLabel + %18272 = OpBitwiseAnd %v4uint %6578 %2510 + %9426 = OpShiftLeftLogical %v4uint %18272 %317 + %20653 = OpBitwiseAnd %v4uint %6578 %1838 + %17550 = OpShiftRightLogical %v4uint %20653 %317 + %16377 = OpBitwiseOr %v4uint %9426 %17550 + OpBranch %14874 + %14874 = OpLabel + %10924 = OpPhi %v4uint %6578 %12537 %16377 %10584 + OpSelectionMerge %12538 None + OpBranchConditional %15139 %11065 %12538 + %11065 = OpLabel + %24088 = OpShiftLeftLogical %v4uint %10924 %749 + %15336 = OpShiftRightLogical %v4uint %10924 %749 + %10729 = OpBitwiseOr %v4uint %24088 %15336 + OpBranch %12538 + %12538 = OpLabel + %12107 = OpPhi %v4uint %10924 %14874 %10729 %11065 + %15376 = OpBitcast %v4int %12107 + %16911 = OpShiftLeftLogical %v4int %15376 %770 + %16537 = OpShiftRightArithmetic %v4int %16911 %770 + %10904 = OpConvertSToF %v4float %16537 + %20414 = OpVectorTimesScalar %v4float %10904 %float_3_05185094en05 + %23990 = OpExtInst %v4float %1 FMax %1284 %20414 + %14339 = OpShiftRightArithmetic %v4int %15376 %770 + %6608 = OpConvertSToF %v4float %14339 + %18248 = OpVectorTimesScalar %v4float %6608 %float_3_05185094en05 + %24071 = OpExtInst %v4float %1 FMax %1284 %18248 + %24331 = OpCompositeExtract %float %23990 0 + %14320 = OpCompositeExtract %float %24071 0 + %19235 = OpCompositeConstruct %v2float %24331 %14320 + %8564 = OpExtInst %uint %1 PackHalf2x16 %19235 + %23490 = OpCompositeExtract %float %23990 1 + %14762 = OpCompositeExtract %float %24071 1 + %19236 = OpCompositeConstruct %v2float %23490 %14762 + %8565 = OpExtInst %uint %1 PackHalf2x16 %19236 + %23491 = OpCompositeExtract %float %23990 2 + %14763 = OpCompositeExtract %float %24071 2 + %19237 = OpCompositeConstruct %v2float %23491 %14763 + %8566 = OpExtInst %uint %1 PackHalf2x16 %19237 + %23492 = OpCompositeExtract %float %23990 3 + %14764 = OpCompositeExtract %float %24071 3 + %19214 = OpCompositeConstruct %v2float %23492 %14764 + %8431 = OpExtInst %uint %1 PackHalf2x16 %19214 + %15036 = OpCompositeConstruct %v4uint %8564 %8565 %8566 %8431 + %20158 = OpAccessChain %_ptr_Uniform_v4uint %5134 %int_0 %15044 + OpStore %20158 %15036 + OpBranch %19578 + %19578 = OpLabel + OpReturn + OpFunctionEnd +#endif + +const uint32_t texture_load_rgba16_snorm_float_cs[] = { + 0x07230203, 0x00010000, 0x0008000A, 0x0000625B, 0x00000000, 0x00020011, + 0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E, + 0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0006000F, 0x00000005, + 0x0000161F, 0x6E69616D, 0x00000000, 0x00000F48, 0x00060010, 0x0000161F, + 0x00000011, 0x00000008, 0x00000020, 0x00000001, 0x00050048, 0x00000489, + 0x00000000, 0x00000023, 0x00000000, 0x00050048, 0x00000489, 0x00000001, + 0x00000023, 0x00000004, 0x00050048, 0x00000489, 0x00000002, 0x00000023, + 0x00000008, 0x00050048, 0x00000489, 0x00000003, 0x00000023, 0x0000000C, + 0x00050048, 0x00000489, 0x00000004, 0x00000023, 0x00000010, 0x00050048, + 0x00000489, 0x00000005, 0x00000023, 0x0000001C, 0x00050048, 0x00000489, + 0x00000006, 0x00000023, 0x00000020, 0x00050048, 0x00000489, 0x00000007, + 0x00000023, 0x00000024, 0x00030047, 0x00000489, 0x00000002, 0x00040047, + 0x0000147D, 0x00000022, 0x00000002, 0x00040047, 0x0000147D, 0x00000021, + 0x00000000, 0x00040047, 0x00000F48, 0x0000000B, 0x0000001C, 0x00040047, + 0x000007DC, 0x00000006, 0x00000010, 0x00040048, 0x000007B4, 0x00000000, + 0x00000019, 0x00050048, 0x000007B4, 0x00000000, 0x00000023, 0x00000000, + 0x00030047, 0x000007B4, 0x00000003, 0x00040047, 0x0000140E, 0x00000022, + 0x00000000, 0x00040047, 0x0000140E, 0x00000021, 0x00000000, 0x00040047, + 0x000007DD, 0x00000006, 0x00000010, 0x00040048, 0x000007B5, 0x00000000, + 0x00000018, 0x00050048, 0x000007B5, 0x00000000, 0x00000023, 0x00000000, + 0x00030047, 0x000007B5, 0x00000003, 0x00040047, 0x0000107A, 0x00000022, + 0x00000001, 0x00040047, 0x0000107A, 0x00000021, 0x00000000, 0x00040047, + 0x00000024, 0x0000000B, 0x00000019, 0x00020013, 0x00000008, 0x00030021, + 0x00000502, 0x00000008, 0x00040015, 0x0000000B, 0x00000020, 0x00000000, + 0x00040017, 0x00000017, 0x0000000B, 0x00000004, 0x00040015, 0x0000000C, + 0x00000020, 0x00000001, 0x00040017, 0x00000012, 0x0000000C, 0x00000002, + 0x00040017, 0x00000016, 0x0000000C, 0x00000003, 0x00020014, 0x00000009, + 0x00040017, 0x00000014, 0x0000000B, 0x00000003, 0x00030016, 0x0000000D, + 0x00000020, 0x00040017, 0x0000001D, 0x0000000D, 0x00000004, 0x0004002B, + 0x0000000D, 0x00000341, 0xBF800000, 0x0007002C, 0x0000001D, 0x00000504, + 0x00000341, 0x00000341, 0x00000341, 0x00000341, 0x00040017, 0x0000001A, + 0x0000000C, 0x00000004, 0x0004002B, 0x0000000C, 0x00000A3B, 0x00000010, + 0x0004002B, 0x0000000D, 0x00000A38, 0x38000100, 0x0004002B, 0x0000000B, + 0x00000A0A, 0x00000000, 0x00040017, 0x00000013, 0x0000000D, 0x00000002, + 0x0004002B, 0x0000000B, 0x00000A0D, 0x00000001, 0x0004002B, 0x0000000B, + 0x00000A10, 0x00000002, 0x0004002B, 0x0000000B, 0x00000A13, 0x00000003, + 0x0004002B, 0x0000000B, 0x000008A6, 0x00FF00FF, 0x0004002B, 0x0000000B, + 0x00000A22, 0x00000008, 0x0004002B, 0x0000000B, 0x000005FD, 0xFF00FF00, + 0x0004002B, 0x0000000B, 0x00000A3A, 0x00000010, 0x0004002B, 0x0000000C, + 0x00000A1A, 0x00000005, 0x0004002B, 0x0000000B, 0x00000A19, 0x00000005, + 0x0004002B, 0x0000000C, 0x00000A20, 0x00000007, 0x0004002B, 0x0000000C, + 0x00000A35, 0x0000000E, 0x0004002B, 0x0000000C, 0x00000A11, 0x00000002, + 0x0004002B, 0x0000000C, 0x000009DB, 0xFFFFFFF0, 0x0004002B, 0x0000000C, + 0x00000A0E, 0x00000001, 0x0004002B, 0x0000000C, 0x00000A39, 0x0000000F, + 0x0004002B, 0x0000000C, 0x00000A17, 0x00000004, 0x0004002B, 0x0000000C, + 0x0000040B, 0xFFFFFE00, 0x0004002B, 0x0000000C, 0x00000A14, 0x00000003, + 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, 0x000A001E, 0x00000489, 0x0000000B, 0x0000000B, + 0x0000000B, 0x0000000B, 0x00000014, 0x0000000B, 0x0000000B, 0x0000000B, + 0x00040020, 0x00000706, 0x00000002, 0x00000489, 0x0004003B, 0x00000706, + 0x0000147D, 0x00000002, 0x0004002B, 0x0000000C, 0x00000A0B, 0x00000000, + 0x00040020, 0x00000288, 0x00000002, 0x0000000B, 0x00040020, 0x00000291, + 0x00000002, 0x00000014, 0x00040017, 0x00000011, 0x0000000B, 0x00000002, + 0x00040020, 0x00000292, 0x00000001, 0x00000014, 0x0004003B, 0x00000292, + 0x00000F48, 0x00000001, 0x0006002C, 0x00000014, 0x00000A24, 0x00000A10, + 0x00000A0A, 0x00000A0A, 0x00040017, 0x0000000F, 0x00000009, 0x00000002, + 0x0003001D, 0x000007DC, 0x00000017, 0x0003001E, 0x000007B4, 0x000007DC, + 0x00040020, 0x00000A31, 0x00000002, 0x000007B4, 0x0004003B, 0x00000A31, + 0x0000140E, 0x00000002, 0x0003001D, 0x000007DD, 0x00000017, 0x0003001E, + 0x000007B5, 0x000007DD, 0x00040020, 0x00000A32, 0x00000002, 0x000007B5, + 0x0004003B, 0x00000A32, 0x0000107A, 0x00000002, 0x00040020, 0x00000294, + 0x00000002, 0x00000017, 0x0006002C, 0x00000014, 0x00000024, 0x00000A22, + 0x00000A6A, 0x00000A0D, 0x0004002B, 0x0000000B, 0x00000A25, 0x00000009, + 0x0004002B, 0x0000000B, 0x00000A28, 0x0000000A, 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, 0x0007002C, 0x0000001A, 0x00000302, 0x00000A3B, + 0x00000A3B, 0x00000A3B, 0x00000A3B, 0x00050036, 0x00000008, 0x0000161F, + 0x00000000, 0x00000502, 0x000200F8, 0x00003B06, 0x000300F7, 0x00004C7A, + 0x00000000, 0x000300FB, 0x00000A0A, 0x00003B21, 0x000200F8, 0x00003B21, + 0x0004003D, 0x00000014, 0x0000312F, 0x00000F48, 0x000500C4, 0x00000014, + 0x000027F5, 0x0000312F, 0x00000A24, 0x00050041, 0x00000291, 0x0000625A, + 0x0000147D, 0x00000A17, 0x0004003D, 0x00000014, 0x000059B5, 0x0000625A, + 0x0007004F, 0x00000011, 0x00004993, 0x000027F5, 0x000027F5, 0x00000000, + 0x00000001, 0x0007004F, 0x00000011, 0x000019E2, 0x000059B5, 0x000059B5, + 0x00000000, 0x00000001, 0x000500AE, 0x0000000F, 0x00004288, 0x00004993, + 0x000019E2, 0x0004009A, 0x00000009, 0x00006067, 0x00004288, 0x000300F7, + 0x0000188A, 0x00000002, 0x000400FA, 0x00006067, 0x000055E8, 0x0000188A, + 0x000200F8, 0x000055E8, 0x000200F9, 0x00004C7A, 0x000200F8, 0x0000188A, + 0x0004007C, 0x00000016, 0x00001A8B, 0x000027F5, 0x00050041, 0x00000288, + 0x00004968, 0x0000147D, 0x00000A1D, 0x0004003D, 0x0000000B, 0x0000263C, + 0x00004968, 0x00050051, 0x0000000B, 0x00004F98, 0x000059B5, 0x00000001, + 0x00050051, 0x0000000C, 0x00003964, 0x00001A8B, 0x00000000, 0x00050084, + 0x0000000C, 0x0000591A, 0x00003964, 0x00000A23, 0x00050051, 0x0000000C, + 0x000018DA, 0x00001A8B, 0x00000002, 0x0004007C, 0x0000000C, 0x000038A9, + 0x00004F98, 0x00050084, 0x0000000C, 0x00002C0F, 0x000018DA, 0x000038A9, + 0x00050051, 0x0000000C, 0x000044BE, 0x00001A8B, 0x00000001, 0x00050080, + 0x0000000C, 0x000056D4, 0x00002C0F, 0x000044BE, 0x0004007C, 0x0000000C, + 0x00005785, 0x0000263C, 0x00050084, 0x0000000C, 0x00005FD7, 0x000056D4, + 0x00005785, 0x00050080, 0x0000000C, 0x00001B95, 0x0000591A, 0x00005FD7, + 0x0004007C, 0x0000000B, 0x00004B46, 0x00001B95, 0x00050041, 0x00000288, + 0x00004C04, 0x0000147D, 0x00000A1A, 0x0004003D, 0x0000000B, 0x0000595B, + 0x00004C04, 0x00050080, 0x0000000B, 0x00002145, 0x00004B46, 0x0000595B, + 0x000500C2, 0x0000000B, 0x000054A6, 0x00002145, 0x00000A16, 0x00050041, + 0x00000288, 0x000051D6, 0x0000147D, 0x00000A0B, 0x0004003D, 0x0000000B, + 0x000053A3, 0x000051D6, 0x000500C7, 0x0000000B, 0x000018ED, 0x000053A3, + 0x00000A0D, 0x000500AB, 0x00000009, 0x000028E3, 0x000018ED, 0x00000A0A, + 0x000300F7, 0x00005AE2, 0x00000002, 0x000400FA, 0x000028E3, 0x0000277C, + 0x00002A0D, 0x000200F8, 0x0000277C, 0x000500C7, 0x0000000B, 0x00005BD4, + 0x000053A3, 0x00000A10, 0x000500AB, 0x00000009, 0x00003FAC, 0x00005BD4, + 0x00000A0A, 0x000300F7, 0x00001E0B, 0x00000002, 0x000400FA, 0x00003FAC, + 0x00002F61, 0x00006228, 0x000200F8, 0x00002F61, 0x00050041, 0x00000288, + 0x00004722, 0x0000147D, 0x00000A11, 0x0004003D, 0x0000000B, 0x00003D0B, + 0x00004722, 0x00050041, 0x00000288, 0x00005860, 0x0000147D, 0x00000A14, + 0x0004003D, 0x0000000B, 0x0000541F, 0x00005860, 0x000500C3, 0x0000000C, + 0x00003A4B, 0x000044BE, 0x00000A17, 0x000500C3, 0x0000000C, 0x00004955, + 0x000018DA, 0x00000A11, 0x000500C2, 0x0000000B, 0x00004947, 0x0000541F, + 0x00000A16, 0x0004007C, 0x0000000C, 0x000018AA, 0x00004947, 0x00050084, + 0x0000000C, 0x00005321, 0x00004955, 0x000018AA, 0x00050080, 0x0000000C, + 0x00003B27, 0x00003A4B, 0x00005321, 0x000500C2, 0x0000000B, 0x00002348, + 0x00003D0B, 0x00000A19, 0x0004007C, 0x0000000C, 0x00003901, 0x00002348, + 0x00050084, 0x0000000C, 0x000020F4, 0x00003B27, 0x00003901, 0x000500C3, + 0x0000000C, 0x000032BA, 0x00003964, 0x00000A1A, 0x00050080, 0x0000000C, + 0x00005FEE, 0x000032BA, 0x000020F4, 0x000500C4, 0x0000000C, 0x0000225D, + 0x00005FEE, 0x00000A25, 0x000500C7, 0x0000000C, 0x00002CF6, 0x0000225D, + 0x0000078B, 0x000500C4, 0x0000000C, 0x000049FA, 0x00002CF6, 0x00000A0E, + 0x000500C7, 0x0000000C, 0x00004D38, 0x00003964, 0x00000A20, 0x000500C7, + 0x0000000C, 0x00003138, 0x000044BE, 0x00000A1D, 0x000500C4, 0x0000000C, + 0x0000454D, 0x00003138, 0x00000A11, 0x00050080, 0x0000000C, 0x0000434B, + 0x00004D38, 0x0000454D, 0x000500C4, 0x0000000C, 0x00001B88, 0x0000434B, + 0x00000A25, 0x000500C3, 0x0000000C, 0x00005DE3, 0x00001B88, 0x00000A1D, + 0x000500C3, 0x0000000C, 0x00002215, 0x000044BE, 0x00000A14, 0x00050080, + 0x0000000C, 0x000035A3, 0x00002215, 0x00004955, 0x000500C7, 0x0000000C, + 0x00005A0C, 0x000035A3, 0x00000A0E, 0x000500C3, 0x0000000C, 0x00004112, + 0x00003964, 0x00000A14, 0x000500C4, 0x0000000C, 0x0000496A, 0x00005A0C, + 0x00000A0E, 0x00050080, 0x0000000C, 0x000034BD, 0x00004112, 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, 0x00000A39, 0x00050080, + 0x0000000C, 0x0000285C, 0x00005B31, 0x00005AEA, 0x000500C7, 0x0000000C, + 0x000047B4, 0x000018DA, 0x00000A14, 0x000500C4, 0x0000000C, 0x0000544B, + 0x000047B4, 0x00000A25, 0x00050080, 0x0000000C, 0x00004157, 0x0000285C, + 0x0000544B, 0x000500C7, 0x0000000C, 0x00004ADE, 0x000044BE, 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, + 0x00005EA0, 0x00004158, 0x00000AC8, 0x00050080, 0x0000000C, 0x000054ED, + 0x00005B34, 0x00005EA0, 0x000200F9, 0x00001E0B, 0x000200F8, 0x00006228, + 0x0004007C, 0x00000012, 0x00001A8C, 0x00004993, 0x00050041, 0x00000288, + 0x00004969, 0x0000147D, 0x00000A11, 0x0004003D, 0x0000000B, 0x00002EB2, + 0x00004969, 0x00050051, 0x0000000C, 0x00004944, 0x00001A8C, 0x00000000, + 0x000500C3, 0x0000000C, 0x00004CF5, 0x00004944, 0x00000A1A, 0x00050051, + 0x0000000C, 0x00002747, 0x00001A8C, 0x00000001, 0x000500C3, 0x0000000C, + 0x0000405C, 0x00002747, 0x00000A1A, 0x000500C2, 0x0000000B, 0x00005B4D, + 0x00002EB2, 0x00000A19, 0x0004007C, 0x0000000C, 0x000018AB, 0x00005B4D, + 0x00050084, 0x0000000C, 0x00005347, 0x0000405C, 0x000018AB, 0x00050080, + 0x0000000C, 0x00003F5E, 0x00004CF5, 0x00005347, 0x000500C4, 0x0000000C, + 0x00004A8E, 0x00003F5E, 0x00000A28, 0x000500C7, 0x0000000C, 0x00002AB6, + 0x00004944, 0x00000A20, 0x000500C7, 0x0000000C, 0x00003139, 0x00002747, + 0x00000A35, 0x000500C4, 0x0000000C, 0x0000454E, 0x00003139, 0x00000A11, + 0x00050080, 0x0000000C, 0x00004397, 0x00002AB6, 0x0000454E, 0x000500C4, + 0x0000000C, 0x000018E7, 0x00004397, 0x00000A13, 0x000500C7, 0x0000000C, + 0x000027B1, 0x000018E7, 0x000009DB, 0x000500C4, 0x0000000C, 0x00002F76, + 0x000027B1, 0x00000A0E, 0x00050080, 0x0000000C, 0x00003C4C, 0x00004A8E, + 0x00002F76, 0x000500C7, 0x0000000C, 0x00003397, 0x000018E7, 0x00000A39, + 0x00050080, 0x0000000C, 0x00004D30, 0x00003C4C, 0x00003397, 0x000500C7, + 0x0000000C, 0x000047B5, 0x00002747, 0x00000A0E, 0x000500C4, 0x0000000C, + 0x0000544D, 0x000047B5, 0x00000A17, 0x00050080, 0x0000000C, 0x00004159, + 0x00004D30, 0x0000544D, 0x000500C7, 0x0000000C, 0x00005022, 0x00004159, + 0x0000040B, 0x000500C4, 0x0000000C, 0x00002416, 0x00005022, 0x00000A14, + 0x000500C7, 0x0000000C, 0x00004A33, 0x00002747, 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, 0x00002747, 0x00000A23, 0x000500C3, + 0x0000000C, 0x000041BF, 0x00005083, 0x00000A11, 0x000500C3, 0x0000000C, + 0x00001EEC, 0x00004944, 0x00000A14, 0x00050080, 0x0000000C, 0x000035B6, + 0x000041BF, 0x00001EEC, 0x000500C7, 0x0000000C, 0x00005453, 0x000035B6, + 0x00000A14, 0x000500C4, 0x0000000C, 0x0000544F, 0x00005453, 0x00000A1D, + 0x00050080, 0x0000000C, 0x00003C4D, 0x00004144, 0x0000544F, 0x000500C7, + 0x0000000C, 0x0000374D, 0x00004159, 0x00000AC8, 0x00050080, 0x0000000C, + 0x00002F42, 0x00003C4D, 0x0000374D, 0x000200F9, 0x00001E0B, 0x000200F8, + 0x00001E0B, 0x000700F5, 0x0000000C, 0x0000292C, 0x000054ED, 0x00002F61, + 0x00002F42, 0x00006228, 0x000200F9, 0x00005AE2, 0x000200F8, 0x00002A0D, + 0x00050041, 0x00000288, 0x00005098, 0x0000147D, 0x00000A11, 0x0004003D, + 0x0000000B, 0x00003D0C, 0x00005098, 0x00050041, 0x00000288, 0x0000531B, + 0x0000147D, 0x00000A14, 0x0004003D, 0x0000000B, 0x000034EE, 0x0000531B, + 0x0004007C, 0x0000000C, 0x00003ADE, 0x000034EE, 0x00050084, 0x0000000C, + 0x000049EF, 0x000018DA, 0x00003ADE, 0x00050080, 0x0000000C, 0x0000208E, + 0x000049EF, 0x000044BE, 0x0004007C, 0x0000000C, 0x000022F8, 0x00003D0C, + 0x00050084, 0x0000000C, 0x00001E9F, 0x0000208E, 0x000022F8, 0x00050080, + 0x0000000C, 0x00001F30, 0x0000591A, 0x00001E9F, 0x000200F9, 0x00005AE2, + 0x000200F8, 0x00005AE2, 0x000700F5, 0x0000000C, 0x00004D24, 0x0000292C, + 0x00001E0B, 0x00001F30, 0x00002A0D, 0x00050041, 0x00000288, 0x0000615A, + 0x0000147D, 0x00000A0E, 0x0004003D, 0x0000000B, 0x00001D4E, 0x0000615A, + 0x0004007C, 0x0000000C, 0x00003D46, 0x00001D4E, 0x00050080, 0x0000000C, + 0x00003CDB, 0x00003D46, 0x00004D24, 0x0004007C, 0x0000000B, 0x0000487C, + 0x00003CDB, 0x000500C2, 0x0000000B, 0x000053F5, 0x0000487C, 0x00000A16, + 0x000500C2, 0x0000000B, 0x00003A95, 0x000053A3, 0x00000A10, 0x000500C7, + 0x0000000B, 0x000020CA, 0x00003A95, 0x00000A13, 0x00060041, 0x00000294, + 0x000050F7, 0x0000107A, 0x00000A0B, 0x000053F5, 0x0004003D, 0x00000017, + 0x00001FCE, 0x000050F7, 0x000500AA, 0x00000009, 0x000035C0, 0x000020CA, + 0x00000A0D, 0x000500AA, 0x00000009, 0x00005376, 0x000020CA, 0x00000A10, + 0x000500A6, 0x00000009, 0x00005686, 0x000035C0, 0x00005376, 0x000300F7, + 0x00003463, 0x00000000, 0x000400FA, 0x00005686, 0x00002957, 0x00003463, + 0x000200F8, 0x00002957, 0x000500C7, 0x00000017, 0x0000475F, 0x00001FCE, + 0x000009CE, 0x000500C4, 0x00000017, 0x000024D1, 0x0000475F, 0x0000013D, + 0x000500C7, 0x00000017, 0x000050AC, 0x00001FCE, 0x0000072E, 0x000500C2, + 0x00000017, 0x0000448D, 0x000050AC, 0x0000013D, 0x000500C5, 0x00000017, + 0x00003FF8, 0x000024D1, 0x0000448D, 0x000200F9, 0x00003463, 0x000200F8, + 0x00003463, 0x000700F5, 0x00000017, 0x00005879, 0x00001FCE, 0x00005AE2, + 0x00003FF8, 0x00002957, 0x000500AA, 0x00000009, 0x00004CB6, 0x000020CA, + 0x00000A13, 0x000500A6, 0x00000009, 0x00003B23, 0x00005376, 0x00004CB6, + 0x000300F7, 0x000030F9, 0x00000000, 0x000400FA, 0x00003B23, 0x00002B38, + 0x000030F9, 0x000200F8, 0x00002B38, 0x000500C4, 0x00000017, 0x00005E17, + 0x00005879, 0x000002ED, 0x000500C2, 0x00000017, 0x00003BE7, 0x00005879, + 0x000002ED, 0x000500C5, 0x00000017, 0x000029E8, 0x00005E17, 0x00003BE7, + 0x000200F9, 0x000030F9, 0x000200F8, 0x000030F9, 0x000700F5, 0x00000017, + 0x00002F4A, 0x00005879, 0x00003463, 0x000029E8, 0x00002B38, 0x0004007C, + 0x0000001A, 0x00003C0F, 0x00002F4A, 0x000500C4, 0x0000001A, 0x0000420E, + 0x00003C0F, 0x00000302, 0x000500C3, 0x0000001A, 0x00004098, 0x0000420E, + 0x00000302, 0x0004006F, 0x0000001D, 0x00002A97, 0x00004098, 0x0005008E, + 0x0000001D, 0x00004FBD, 0x00002A97, 0x00000A38, 0x0007000C, 0x0000001D, + 0x00005DB5, 0x00000001, 0x00000028, 0x00000504, 0x00004FBD, 0x000500C3, + 0x0000001A, 0x00003802, 0x00003C0F, 0x00000302, 0x0004006F, 0x0000001D, + 0x000019CF, 0x00003802, 0x0005008E, 0x0000001D, 0x00004747, 0x000019CF, + 0x00000A38, 0x0007000C, 0x0000001D, 0x00005E06, 0x00000001, 0x00000028, + 0x00000504, 0x00004747, 0x00050051, 0x0000000D, 0x00005F0A, 0x00005DB5, + 0x00000000, 0x00050051, 0x0000000D, 0x000037EF, 0x00005E06, 0x00000000, + 0x00050050, 0x00000013, 0x00004B20, 0x00005F0A, 0x000037EF, 0x0006000C, + 0x0000000B, 0x00002171, 0x00000001, 0x0000003A, 0x00004B20, 0x00050051, + 0x0000000D, 0x00005BBF, 0x00005DB5, 0x00000001, 0x00050051, 0x0000000D, + 0x000039A7, 0x00005E06, 0x00000001, 0x00050050, 0x00000013, 0x00004B21, + 0x00005BBF, 0x000039A7, 0x0006000C, 0x0000000B, 0x00002172, 0x00000001, + 0x0000003A, 0x00004B21, 0x00050051, 0x0000000D, 0x00005BC0, 0x00005DB5, + 0x00000002, 0x00050051, 0x0000000D, 0x000039A8, 0x00005E06, 0x00000002, + 0x00050050, 0x00000013, 0x00004B22, 0x00005BC0, 0x000039A8, 0x0006000C, + 0x0000000B, 0x00002173, 0x00000001, 0x0000003A, 0x00004B22, 0x00050051, + 0x0000000D, 0x00005BC1, 0x00005DB5, 0x00000003, 0x00050051, 0x0000000D, + 0x000039A9, 0x00005E06, 0x00000003, 0x00050050, 0x00000013, 0x00004B0D, + 0x00005BC1, 0x000039A9, 0x0006000C, 0x0000000B, 0x000020EE, 0x00000001, + 0x0000003A, 0x00004B0D, 0x00070050, 0x00000017, 0x00003ABB, 0x00002171, + 0x00002172, 0x00002173, 0x000020EE, 0x00060041, 0x00000294, 0x000045C3, + 0x0000140E, 0x00000A0B, 0x000054A6, 0x0003003E, 0x000045C3, 0x00003ABB, + 0x00050080, 0x0000000B, 0x00003AC4, 0x000054A6, 0x00000A0E, 0x000600A9, + 0x0000000B, 0x00004958, 0x000028E3, 0x00000A6A, 0x00000A3A, 0x000500C2, + 0x0000000B, 0x00002E1B, 0x00004958, 0x00000A16, 0x00050080, 0x0000000B, + 0x0000367B, 0x000053F5, 0x00002E1B, 0x00060041, 0x00000294, 0x0000571A, + 0x0000107A, 0x00000A0B, 0x0000367B, 0x0004003D, 0x00000017, 0x000019B2, + 0x0000571A, 0x000300F7, 0x00003A1A, 0x00000000, 0x000400FA, 0x00005686, + 0x00002958, 0x00003A1A, 0x000200F8, 0x00002958, 0x000500C7, 0x00000017, + 0x00004760, 0x000019B2, 0x000009CE, 0x000500C4, 0x00000017, 0x000024D2, + 0x00004760, 0x0000013D, 0x000500C7, 0x00000017, 0x000050AD, 0x000019B2, + 0x0000072E, 0x000500C2, 0x00000017, 0x0000448E, 0x000050AD, 0x0000013D, + 0x000500C5, 0x00000017, 0x00003FF9, 0x000024D2, 0x0000448E, 0x000200F9, + 0x00003A1A, 0x000200F8, 0x00003A1A, 0x000700F5, 0x00000017, 0x00002AAC, + 0x000019B2, 0x000030F9, 0x00003FF9, 0x00002958, 0x000300F7, 0x000030FA, + 0x00000000, 0x000400FA, 0x00003B23, 0x00002B39, 0x000030FA, 0x000200F8, + 0x00002B39, 0x000500C4, 0x00000017, 0x00005E18, 0x00002AAC, 0x000002ED, + 0x000500C2, 0x00000017, 0x00003BE8, 0x00002AAC, 0x000002ED, 0x000500C5, + 0x00000017, 0x000029E9, 0x00005E18, 0x00003BE8, 0x000200F9, 0x000030FA, + 0x000200F8, 0x000030FA, 0x000700F5, 0x00000017, 0x00002F4B, 0x00002AAC, + 0x00003A1A, 0x000029E9, 0x00002B39, 0x0004007C, 0x0000001A, 0x00003C10, + 0x00002F4B, 0x000500C4, 0x0000001A, 0x0000420F, 0x00003C10, 0x00000302, + 0x000500C3, 0x0000001A, 0x00004099, 0x0000420F, 0x00000302, 0x0004006F, + 0x0000001D, 0x00002A98, 0x00004099, 0x0005008E, 0x0000001D, 0x00004FBE, + 0x00002A98, 0x00000A38, 0x0007000C, 0x0000001D, 0x00005DB6, 0x00000001, + 0x00000028, 0x00000504, 0x00004FBE, 0x000500C3, 0x0000001A, 0x00003803, + 0x00003C10, 0x00000302, 0x0004006F, 0x0000001D, 0x000019D0, 0x00003803, + 0x0005008E, 0x0000001D, 0x00004748, 0x000019D0, 0x00000A38, 0x0007000C, + 0x0000001D, 0x00005E07, 0x00000001, 0x00000028, 0x00000504, 0x00004748, + 0x00050051, 0x0000000D, 0x00005F0B, 0x00005DB6, 0x00000000, 0x00050051, + 0x0000000D, 0x000037F0, 0x00005E07, 0x00000000, 0x00050050, 0x00000013, + 0x00004B23, 0x00005F0B, 0x000037F0, 0x0006000C, 0x0000000B, 0x00002174, + 0x00000001, 0x0000003A, 0x00004B23, 0x00050051, 0x0000000D, 0x00005BC2, + 0x00005DB6, 0x00000001, 0x00050051, 0x0000000D, 0x000039AA, 0x00005E07, + 0x00000001, 0x00050050, 0x00000013, 0x00004B24, 0x00005BC2, 0x000039AA, + 0x0006000C, 0x0000000B, 0x00002175, 0x00000001, 0x0000003A, 0x00004B24, + 0x00050051, 0x0000000D, 0x00005BC3, 0x00005DB6, 0x00000002, 0x00050051, + 0x0000000D, 0x000039AB, 0x00005E07, 0x00000002, 0x00050050, 0x00000013, + 0x00004B25, 0x00005BC3, 0x000039AB, 0x0006000C, 0x0000000B, 0x00002176, + 0x00000001, 0x0000003A, 0x00004B25, 0x00050051, 0x0000000D, 0x00005BC4, + 0x00005DB6, 0x00000003, 0x00050051, 0x0000000D, 0x000039AC, 0x00005E07, + 0x00000003, 0x00050050, 0x00000013, 0x00004B0E, 0x00005BC4, 0x000039AC, + 0x0006000C, 0x0000000B, 0x000020EF, 0x00000001, 0x0000003A, 0x00004B0E, + 0x00070050, 0x00000017, 0x00003ABC, 0x00002174, 0x00002175, 0x00002176, + 0x000020EF, 0x00060041, 0x00000294, 0x00004EBE, 0x0000140E, 0x00000A0B, + 0x00003AC4, 0x0003003E, 0x00004EBE, 0x00003ABC, 0x000200F9, 0x00004C7A, + 0x000200F8, 0x00004C7A, 0x000100FD, 0x00010038, +}; diff --git a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_rgba16_snorm_float_scaled_cs.h b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_rgba16_snorm_float_scaled_cs.h new file mode 100644 index 000000000..e5e2f3919 --- /dev/null +++ b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_rgba16_snorm_float_scaled_cs.h @@ -0,0 +1,773 @@ +// Generated with `xb buildshaders`. +#if 0 +; SPIR-V +; Version: 1.0 +; Generator: Khronos Glslang Reference Front End; 10 +; Bound: 25179 +; Schema: 0 + OpCapability Shader + %1 = OpExtInstImport "GLSL.std.450" + OpMemoryModel Logical GLSL450 + OpEntryPoint GLCompute %5663 "main" %gl_GlobalInvocationID + OpExecutionMode %5663 LocalSize 8 32 1 + OpMemberDecorate %_struct_1161 0 Offset 0 + OpMemberDecorate %_struct_1161 1 Offset 4 + OpMemberDecorate %_struct_1161 2 Offset 8 + OpMemberDecorate %_struct_1161 3 Offset 12 + OpMemberDecorate %_struct_1161 4 Offset 16 + OpMemberDecorate %_struct_1161 5 Offset 28 + OpMemberDecorate %_struct_1161 6 Offset 32 + OpMemberDecorate %_struct_1161 7 Offset 36 + OpDecorate %_struct_1161 Block + OpDecorate %5245 DescriptorSet 2 + OpDecorate %5245 Binding 0 + 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 %5134 DescriptorSet 0 + OpDecorate %5134 Binding 0 + OpDecorate %_runtimearr_v4uint_0 ArrayStride 16 + OpMemberDecorate %_struct_1973 0 NonWritable + OpMemberDecorate %_struct_1973 0 Offset 0 + OpDecorate %_struct_1973 BufferBlock + OpDecorate %4218 DescriptorSet 1 + OpDecorate %4218 Binding 0 + OpDecorate %gl_WorkGroupSize BuiltIn WorkgroupSize + %void = OpTypeVoid + %1282 = OpTypeFunction %void + %uint = OpTypeInt 32 0 + %v4uint = OpTypeVector %uint 4 + %int = OpTypeInt 32 1 + %v2int = OpTypeVector %int 2 + %v3int = OpTypeVector %int 3 + %bool = OpTypeBool + %v3uint = OpTypeVector %uint 3 + %v2uint = OpTypeVector %uint 2 + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 + %float_n1 = OpConstant %float -1 + %1284 = OpConstantComposite %v4float %float_n1 %float_n1 %float_n1 %float_n1 + %v4int = OpTypeVector %int 4 + %int_16 = OpConstant %int 16 +%float_3_05185094en05 = OpConstant %float 3.05185094e-05 + %uint_0 = OpConstant %uint 0 + %v2float = OpTypeVector %float 2 + %uint_1 = OpConstant %uint 1 + %uint_2 = OpConstant %uint 2 + %uint_3 = OpConstant %uint 3 +%uint_16711935 = OpConstant %uint 16711935 + %uint_8 = OpConstant %uint 8 +%uint_4278255360 = OpConstant %uint 4278255360 + %uint_16 = OpConstant %uint 16 + %int_5 = OpConstant %int 5 + %uint_5 = OpConstant %uint 5 + %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_448 = OpConstant %int 448 + %int_8 = OpConstant %int 8 + %int_6 = OpConstant %int 6 + %int_63 = OpConstant %int 63 + %uint_4 = OpConstant %uint 4 + %uint_6 = OpConstant %uint 6 +%int_268435455 = OpConstant %int 268435455 + %int_n2 = OpConstant %int -2 + %uint_32 = OpConstant %uint 32 +%_struct_1161 = OpTypeStruct %uint %uint %uint %uint %v3uint %uint %uint %uint +%_ptr_Uniform__struct_1161 = OpTypePointer Uniform %_struct_1161 + %5245 = OpVariable %_ptr_Uniform__struct_1161 Uniform + %int_0 = OpConstant %int 0 +%_ptr_Uniform_uint = OpTypePointer Uniform %uint + %1915 = OpConstantComposite %v2uint %uint_4 %uint_6 +%_ptr_Uniform_v3uint = OpTypePointer Uniform %v3uint +%_ptr_Input_v3uint = OpTypePointer Input %v3uint +%gl_GlobalInvocationID = OpVariable %_ptr_Input_v3uint Input + %2596 = OpConstantComposite %v3uint %uint_2 %uint_0 %uint_0 + %v2bool = OpTypeVector %bool 2 +%_runtimearr_v4uint = OpTypeRuntimeArray %v4uint +%_struct_1972 = OpTypeStruct %_runtimearr_v4uint +%_ptr_Uniform__struct_1972 = OpTypePointer Uniform %_struct_1972 + %5134 = OpVariable %_ptr_Uniform__struct_1972 Uniform +%_runtimearr_v4uint_0 = OpTypeRuntimeArray %v4uint +%_struct_1973 = OpTypeStruct %_runtimearr_v4uint_0 +%_ptr_Uniform__struct_1973 = OpTypePointer Uniform %_struct_1973 + %4218 = OpVariable %_ptr_Uniform__struct_1973 Uniform +%_ptr_Uniform_v4uint = OpTypePointer Uniform %v4uint +%gl_WorkGroupSize = OpConstantComposite %v3uint %uint_8 %uint_32 %uint_1 + %1870 = OpConstantComposite %v2uint %uint_3 %uint_3 + %uint_9 = OpConstant %uint 9 + %uint_10 = OpConstant %uint 10 + %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 + %770 = OpConstantComposite %v4int %int_16 %int_16 %int_16 %int_16 + %5663 = OpFunction %void None %1282 + %15110 = OpLabel + OpSelectionMerge %19578 None + OpSwitch %uint_0 %15137 + %15137 = OpLabel + %12591 = OpLoad %v3uint %gl_GlobalInvocationID + %10229 = OpShiftLeftLogical %v3uint %12591 %2596 + %25178 = OpAccessChain %_ptr_Uniform_v3uint %5245 %int_4 + %22965 = OpLoad %v3uint %25178 + %18835 = OpVectorShuffle %v2uint %10229 %10229 0 1 + %6626 = OpVectorShuffle %v2uint %22965 %22965 0 1 + %17032 = OpUGreaterThanEqual %v2bool %18835 %6626 + %24679 = OpAny %bool %17032 + OpSelectionMerge %6282 DontFlatten + OpBranchConditional %24679 %21992 %6282 + %21992 = OpLabel + OpBranch %19578 + %6282 = OpLabel + %6795 = OpBitcast %v3int %10229 + %18792 = OpAccessChain %_ptr_Uniform_uint %5245 %int_6 + %9788 = OpLoad %uint %18792 + %20376 = OpCompositeExtract %uint %22965 1 + %14692 = OpCompositeExtract %int %6795 0 + %22810 = OpIMul %int %14692 %int_8 + %6362 = OpCompositeExtract %int %6795 2 + %14505 = OpBitcast %int %20376 + %11279 = OpIMul %int %6362 %14505 + %17598 = OpCompositeExtract %int %6795 1 + %22228 = OpIAdd %int %11279 %17598 + %22405 = OpBitcast %int %9788 + %24535 = OpIMul %int %22228 %22405 + %7061 = OpIAdd %int %22810 %24535 + %19270 = OpBitcast %uint %7061 + %19460 = OpAccessChain %_ptr_Uniform_uint %5245 %int_5 + %22875 = OpLoad %uint %19460 + %8517 = OpIAdd %uint %19270 %22875 + %21670 = OpShiftRightLogical %uint %8517 %uint_4 + %18404 = OpAccessChain %_ptr_Uniform_uint %5245 %int_1 + %23432 = OpLoad %uint %18404 + %22700 = OpAccessChain %_ptr_Uniform_uint %5245 %int_0 + %20387 = OpLoad %uint %22700 + %22279 = OpBitwiseAnd %uint %20387 %uint_2 + %19223 = OpINotEqual %bool %22279 %uint_0 + %17247 = OpCompositeConstruct %v2uint %20387 %20387 + %22947 = OpShiftRightLogical %v2uint %17247 %1915 + %6551 = OpBitwiseAnd %v2uint %22947 %1870 + %18732 = OpAccessChain %_ptr_Uniform_uint %5245 %int_2 + %24236 = OpLoad %uint %18732 + %20458 = OpAccessChain %_ptr_Uniform_uint %5245 %int_3 + %22167 = OpLoad %uint %20458 + %18929 = OpCompositeExtract %uint %10229 0 + %6638 = OpShiftRightLogical %uint %18929 %uint_1 + %9988 = OpCompositeExtract %uint %10229 1 + %23563 = OpCompositeConstruct %v2uint %6638 %9988 + %8041 = OpUDiv %v2uint %23563 %6551 + %13932 = OpCompositeExtract %uint %8041 0 + %19789 = OpShiftLeftLogical %uint %13932 %uint_1 + %20905 = OpCompositeExtract %uint %8041 1 + %23022 = OpCompositeExtract %uint %10229 2 + %9417 = OpCompositeConstruct %v3uint %19789 %20905 %23022 + OpSelectionMerge %21313 DontFlatten + OpBranchConditional %19223 %21373 %11737 + %21373 = OpLabel + %10608 = OpBitcast %v3int %9417 + %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 %22167 %uint_4 + %6314 = OpBitcast %int %23373 + %21281 = OpIMul %int %16476 %6314 + %15143 = OpIAdd %int %9469 %21281 + %9032 = OpShiftRightLogical %uint %24236 %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_9 + %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_9 + %24035 = OpShiftRightArithmetic %int %7048 %int_6 + %8725 = OpShiftRightArithmetic %int %17090 %int_3 + %13731 = OpIAdd %int %8725 %16476 + %23052 = OpBitwiseAnd %int %13731 %int_1 + %16658 = OpShiftRightArithmetic %int %25154 %int_3 + %18794 = OpShiftLeftLogical %int %23052 %int_1 + %13501 = OpIAdd %int %16658 %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_9 + %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 %9417 %9417 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 %24236 %uint_5 + %6315 = OpBitcast %int %23374 + %21319 = OpIMul %int %16477 %6315 + %16222 = OpIAdd %int %9470 %21319 + %19086 = OpShiftLeftLogical %int %16222 %uint_10 + %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_3 + %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 %8041 %6551 + %15292 = OpISub %v2uint %23563 %16296 + %7303 = OpCompositeExtract %uint %6551 0 + %22882 = OpCompositeExtract %uint %6551 1 + %13170 = OpIMul %uint %7303 %22882 + %15520 = OpIMul %uint %9468 %13170 + %16084 = OpCompositeExtract %uint %15292 0 + %15890 = OpIMul %uint %16084 %22882 + %6886 = OpCompositeExtract %uint %15292 1 + %11045 = OpIAdd %uint %15890 %6886 + %24733 = OpShiftLeftLogical %uint %11045 %uint_1 + %23219 = OpBitwiseAnd %uint %18929 %uint_1 + %9559 = OpIAdd %uint %24733 %23219 + %16557 = OpShiftLeftLogical %uint %9559 %uint_3 + %20138 = OpIAdd %uint %15520 %16557 + %17724 = OpIAdd %uint %23432 %20138 + %14040 = OpShiftRightLogical %uint %17724 %uint_4 + %11766 = OpShiftRightLogical %uint %20387 %uint_2 + %8394 = OpBitwiseAnd %uint %11766 %uint_3 + %20727 = OpAccessChain %_ptr_Uniform_v4uint %4218 %int_0 %14040 + %8142 = OpLoad %v4uint %20727 + %13760 = OpIEqual %bool %8394 %uint_1 + %21366 = OpIEqual %bool %8394 %uint_2 + %22150 = OpLogicalOr %bool %13760 %21366 + OpSelectionMerge %13411 None + OpBranchConditional %22150 %10583 %13411 + %10583 = OpLabel + %18271 = OpBitwiseAnd %v4uint %8142 %2510 + %9425 = OpShiftLeftLogical %v4uint %18271 %317 + %20652 = OpBitwiseAnd %v4uint %8142 %1838 + %17549 = OpShiftRightLogical %v4uint %20652 %317 + %16376 = OpBitwiseOr %v4uint %9425 %17549 + OpBranch %13411 + %13411 = OpLabel + %22649 = OpPhi %v4uint %8142 %21313 %16376 %10583 + %19638 = OpIEqual %bool %8394 %uint_3 + %15139 = OpLogicalOr %bool %21366 %19638 + OpSelectionMerge %12537 None + OpBranchConditional %15139 %11064 %12537 + %11064 = OpLabel + %24087 = OpShiftLeftLogical %v4uint %22649 %749 + %15335 = OpShiftRightLogical %v4uint %22649 %749 + %10728 = OpBitwiseOr %v4uint %24087 %15335 + OpBranch %12537 + %12537 = OpLabel + %12106 = OpPhi %v4uint %22649 %13411 %10728 %11064 + %15375 = OpBitcast %v4int %12106 + %16910 = OpShiftLeftLogical %v4int %15375 %770 + %16536 = OpShiftRightArithmetic %v4int %16910 %770 + %10903 = OpConvertSToF %v4float %16536 + %20413 = OpVectorTimesScalar %v4float %10903 %float_3_05185094en05 + %23989 = OpExtInst %v4float %1 FMax %1284 %20413 + %14338 = OpShiftRightArithmetic %v4int %15375 %770 + %6607 = OpConvertSToF %v4float %14338 + %18247 = OpVectorTimesScalar %v4float %6607 %float_3_05185094en05 + %24070 = OpExtInst %v4float %1 FMax %1284 %18247 + %24330 = OpCompositeExtract %float %23989 0 + %14319 = OpCompositeExtract %float %24070 0 + %19232 = OpCompositeConstruct %v2float %24330 %14319 + %8561 = OpExtInst %uint %1 PackHalf2x16 %19232 + %23487 = OpCompositeExtract %float %23989 1 + %14759 = OpCompositeExtract %float %24070 1 + %19233 = OpCompositeConstruct %v2float %23487 %14759 + %8562 = OpExtInst %uint %1 PackHalf2x16 %19233 + %23488 = OpCompositeExtract %float %23989 2 + %14760 = OpCompositeExtract %float %24070 2 + %19234 = OpCompositeConstruct %v2float %23488 %14760 + %8563 = OpExtInst %uint %1 PackHalf2x16 %19234 + %23489 = OpCompositeExtract %float %23989 3 + %14761 = OpCompositeExtract %float %24070 3 + %19213 = OpCompositeConstruct %v2float %23489 %14761 + %8430 = OpExtInst %uint %1 PackHalf2x16 %19213 + %15035 = OpCompositeConstruct %v4uint %8561 %8562 %8563 %8430 + %17859 = OpAccessChain %_ptr_Uniform_v4uint %5134 %int_0 %21670 + OpStore %17859 %15035 + %15532 = OpIAdd %uint %21670 %int_1 + %6417 = OpUGreaterThan %bool %7303 %uint_1 + OpSelectionMerge %24764 DontFlatten + OpBranchConditional %6417 %20612 %20628 + %20612 = OpLabel + %13975 = OpUDiv %uint %6638 %7303 + %9086 = OpIMul %uint %13975 %7303 + %12657 = OpISub %uint %6638 %9086 + %9511 = OpIAdd %uint %12657 %uint_1 + %13375 = OpIEqual %bool %9511 %7303 + OpSelectionMerge %7917 None + OpBranchConditional %13375 %22174 %8593 + %22174 = OpLabel + %19289 = OpIMul %uint %uint_32 %7303 + %21519 = OpShiftLeftLogical %uint %12657 %uint_4 + %18756 = OpISub %uint %19289 %21519 + OpBranch %7917 + %8593 = OpLabel + OpBranch %7917 + %7917 = OpLabel + %10540 = OpPhi %uint %18756 %22174 %uint_16 %8593 + OpBranch %24764 + %20628 = OpLabel + OpBranch %24764 + %24764 = OpLabel + %10684 = OpPhi %uint %10540 %7917 %uint_32 %20628 + %18731 = OpIMul %uint %10684 %22882 + %16493 = OpShiftRightLogical %uint %18731 %uint_4 + %13163 = OpIAdd %uint %14040 %16493 + %22298 = OpAccessChain %_ptr_Uniform_v4uint %4218 %int_0 %13163 + %6578 = OpLoad %v4uint %22298 + OpSelectionMerge %14874 None + OpBranchConditional %22150 %10584 %14874 + %10584 = OpLabel + %18272 = OpBitwiseAnd %v4uint %6578 %2510 + %9426 = OpShiftLeftLogical %v4uint %18272 %317 + %20653 = OpBitwiseAnd %v4uint %6578 %1838 + %17550 = OpShiftRightLogical %v4uint %20653 %317 + %16377 = OpBitwiseOr %v4uint %9426 %17550 + OpBranch %14874 + %14874 = OpLabel + %10924 = OpPhi %v4uint %6578 %24764 %16377 %10584 + OpSelectionMerge %12538 None + OpBranchConditional %15139 %11065 %12538 + %11065 = OpLabel + %24088 = OpShiftLeftLogical %v4uint %10924 %749 + %15336 = OpShiftRightLogical %v4uint %10924 %749 + %10729 = OpBitwiseOr %v4uint %24088 %15336 + OpBranch %12538 + %12538 = OpLabel + %12107 = OpPhi %v4uint %10924 %14874 %10729 %11065 + %15376 = OpBitcast %v4int %12107 + %16911 = OpShiftLeftLogical %v4int %15376 %770 + %16537 = OpShiftRightArithmetic %v4int %16911 %770 + %10904 = OpConvertSToF %v4float %16537 + %20414 = OpVectorTimesScalar %v4float %10904 %float_3_05185094en05 + %23990 = OpExtInst %v4float %1 FMax %1284 %20414 + %14339 = OpShiftRightArithmetic %v4int %15376 %770 + %6608 = OpConvertSToF %v4float %14339 + %18248 = OpVectorTimesScalar %v4float %6608 %float_3_05185094en05 + %24071 = OpExtInst %v4float %1 FMax %1284 %18248 + %24331 = OpCompositeExtract %float %23990 0 + %14320 = OpCompositeExtract %float %24071 0 + %19235 = OpCompositeConstruct %v2float %24331 %14320 + %8564 = OpExtInst %uint %1 PackHalf2x16 %19235 + %23490 = OpCompositeExtract %float %23990 1 + %14762 = OpCompositeExtract %float %24071 1 + %19236 = OpCompositeConstruct %v2float %23490 %14762 + %8565 = OpExtInst %uint %1 PackHalf2x16 %19236 + %23491 = OpCompositeExtract %float %23990 2 + %14763 = OpCompositeExtract %float %24071 2 + %19237 = OpCompositeConstruct %v2float %23491 %14763 + %8566 = OpExtInst %uint %1 PackHalf2x16 %19237 + %23492 = OpCompositeExtract %float %23990 3 + %14764 = OpCompositeExtract %float %24071 3 + %19214 = OpCompositeConstruct %v2float %23492 %14764 + %8431 = OpExtInst %uint %1 PackHalf2x16 %19214 + %15036 = OpCompositeConstruct %v4uint %8564 %8565 %8566 %8431 + %20158 = OpAccessChain %_ptr_Uniform_v4uint %5134 %int_0 %15532 + OpStore %20158 %15036 + OpBranch %19578 + %19578 = OpLabel + OpReturn + OpFunctionEnd +#endif + +const uint32_t texture_load_rgba16_snorm_float_scaled_cs[] = { + 0x07230203, 0x00010000, 0x0008000A, 0x0000625B, 0x00000000, 0x00020011, + 0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E, + 0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0006000F, 0x00000005, + 0x0000161F, 0x6E69616D, 0x00000000, 0x00000F48, 0x00060010, 0x0000161F, + 0x00000011, 0x00000008, 0x00000020, 0x00000001, 0x00050048, 0x00000489, + 0x00000000, 0x00000023, 0x00000000, 0x00050048, 0x00000489, 0x00000001, + 0x00000023, 0x00000004, 0x00050048, 0x00000489, 0x00000002, 0x00000023, + 0x00000008, 0x00050048, 0x00000489, 0x00000003, 0x00000023, 0x0000000C, + 0x00050048, 0x00000489, 0x00000004, 0x00000023, 0x00000010, 0x00050048, + 0x00000489, 0x00000005, 0x00000023, 0x0000001C, 0x00050048, 0x00000489, + 0x00000006, 0x00000023, 0x00000020, 0x00050048, 0x00000489, 0x00000007, + 0x00000023, 0x00000024, 0x00030047, 0x00000489, 0x00000002, 0x00040047, + 0x0000147D, 0x00000022, 0x00000002, 0x00040047, 0x0000147D, 0x00000021, + 0x00000000, 0x00040047, 0x00000F48, 0x0000000B, 0x0000001C, 0x00040047, + 0x000007DC, 0x00000006, 0x00000010, 0x00040048, 0x000007B4, 0x00000000, + 0x00000019, 0x00050048, 0x000007B4, 0x00000000, 0x00000023, 0x00000000, + 0x00030047, 0x000007B4, 0x00000003, 0x00040047, 0x0000140E, 0x00000022, + 0x00000000, 0x00040047, 0x0000140E, 0x00000021, 0x00000000, 0x00040047, + 0x000007DD, 0x00000006, 0x00000010, 0x00040048, 0x000007B5, 0x00000000, + 0x00000018, 0x00050048, 0x000007B5, 0x00000000, 0x00000023, 0x00000000, + 0x00030047, 0x000007B5, 0x00000003, 0x00040047, 0x0000107A, 0x00000022, + 0x00000001, 0x00040047, 0x0000107A, 0x00000021, 0x00000000, 0x00040047, + 0x00000024, 0x0000000B, 0x00000019, 0x00020013, 0x00000008, 0x00030021, + 0x00000502, 0x00000008, 0x00040015, 0x0000000B, 0x00000020, 0x00000000, + 0x00040017, 0x00000017, 0x0000000B, 0x00000004, 0x00040015, 0x0000000C, + 0x00000020, 0x00000001, 0x00040017, 0x00000012, 0x0000000C, 0x00000002, + 0x00040017, 0x00000016, 0x0000000C, 0x00000003, 0x00020014, 0x00000009, + 0x00040017, 0x00000014, 0x0000000B, 0x00000003, 0x00040017, 0x00000011, + 0x0000000B, 0x00000002, 0x00030016, 0x0000000D, 0x00000020, 0x00040017, + 0x0000001D, 0x0000000D, 0x00000004, 0x0004002B, 0x0000000D, 0x00000341, + 0xBF800000, 0x0007002C, 0x0000001D, 0x00000504, 0x00000341, 0x00000341, + 0x00000341, 0x00000341, 0x00040017, 0x0000001A, 0x0000000C, 0x00000004, + 0x0004002B, 0x0000000C, 0x00000A3B, 0x00000010, 0x0004002B, 0x0000000D, + 0x00000A38, 0x38000100, 0x0004002B, 0x0000000B, 0x00000A0A, 0x00000000, + 0x00040017, 0x00000013, 0x0000000D, 0x00000002, 0x0004002B, 0x0000000B, + 0x00000A0D, 0x00000001, 0x0004002B, 0x0000000B, 0x00000A10, 0x00000002, + 0x0004002B, 0x0000000B, 0x00000A13, 0x00000003, 0x0004002B, 0x0000000B, + 0x000008A6, 0x00FF00FF, 0x0004002B, 0x0000000B, 0x00000A22, 0x00000008, + 0x0004002B, 0x0000000B, 0x000005FD, 0xFF00FF00, 0x0004002B, 0x0000000B, + 0x00000A3A, 0x00000010, 0x0004002B, 0x0000000C, 0x00000A1A, 0x00000005, + 0x0004002B, 0x0000000B, 0x00000A19, 0x00000005, 0x0004002B, 0x0000000C, + 0x00000A20, 0x00000007, 0x0004002B, 0x0000000C, 0x00000A35, 0x0000000E, + 0x0004002B, 0x0000000C, 0x00000A11, 0x00000002, 0x0004002B, 0x0000000C, + 0x000009DB, 0xFFFFFFF0, 0x0004002B, 0x0000000C, 0x00000A0E, 0x00000001, + 0x0004002B, 0x0000000C, 0x00000A39, 0x0000000F, 0x0004002B, 0x0000000C, + 0x00000A17, 0x00000004, 0x0004002B, 0x0000000C, 0x0000040B, 0xFFFFFE00, + 0x0004002B, 0x0000000C, 0x00000A14, 0x00000003, 0x0004002B, 0x0000000C, + 0x00000388, 0x000001C0, 0x0004002B, 0x0000000C, 0x00000A23, 0x00000008, + 0x0004002B, 0x0000000C, 0x00000A1D, 0x00000006, 0x0004002B, 0x0000000C, + 0x00000AC8, 0x0000003F, 0x0004002B, 0x0000000B, 0x00000A16, 0x00000004, + 0x0004002B, 0x0000000B, 0x00000A1C, 0x00000006, 0x0004002B, 0x0000000C, + 0x0000078B, 0x0FFFFFFF, 0x0004002B, 0x0000000C, 0x00000A05, 0xFFFFFFFE, + 0x0004002B, 0x0000000B, 0x00000A6A, 0x00000020, 0x000A001E, 0x00000489, + 0x0000000B, 0x0000000B, 0x0000000B, 0x0000000B, 0x00000014, 0x0000000B, + 0x0000000B, 0x0000000B, 0x00040020, 0x00000706, 0x00000002, 0x00000489, + 0x0004003B, 0x00000706, 0x0000147D, 0x00000002, 0x0004002B, 0x0000000C, + 0x00000A0B, 0x00000000, 0x00040020, 0x00000288, 0x00000002, 0x0000000B, + 0x0005002C, 0x00000011, 0x0000077B, 0x00000A16, 0x00000A1C, 0x00040020, + 0x00000291, 0x00000002, 0x00000014, 0x00040020, 0x00000292, 0x00000001, + 0x00000014, 0x0004003B, 0x00000292, 0x00000F48, 0x00000001, 0x0006002C, + 0x00000014, 0x00000A24, 0x00000A10, 0x00000A0A, 0x00000A0A, 0x00040017, + 0x0000000F, 0x00000009, 0x00000002, 0x0003001D, 0x000007DC, 0x00000017, + 0x0003001E, 0x000007B4, 0x000007DC, 0x00040020, 0x00000A31, 0x00000002, + 0x000007B4, 0x0004003B, 0x00000A31, 0x0000140E, 0x00000002, 0x0003001D, + 0x000007DD, 0x00000017, 0x0003001E, 0x000007B5, 0x000007DD, 0x00040020, + 0x00000A32, 0x00000002, 0x000007B5, 0x0004003B, 0x00000A32, 0x0000107A, + 0x00000002, 0x00040020, 0x00000294, 0x00000002, 0x00000017, 0x0006002C, + 0x00000014, 0x00000024, 0x00000A22, 0x00000A6A, 0x00000A0D, 0x0005002C, + 0x00000011, 0x0000074E, 0x00000A13, 0x00000A13, 0x0004002B, 0x0000000B, + 0x00000A25, 0x00000009, 0x0004002B, 0x0000000B, 0x00000A28, 0x0000000A, + 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, 0x0007002C, 0x0000001A, + 0x00000302, 0x00000A3B, 0x00000A3B, 0x00000A3B, 0x00000A3B, 0x00050036, + 0x00000008, 0x0000161F, 0x00000000, 0x00000502, 0x000200F8, 0x00003B06, + 0x000300F7, 0x00004C7A, 0x00000000, 0x000300FB, 0x00000A0A, 0x00003B21, + 0x000200F8, 0x00003B21, 0x0004003D, 0x00000014, 0x0000312F, 0x00000F48, + 0x000500C4, 0x00000014, 0x000027F5, 0x0000312F, 0x00000A24, 0x00050041, + 0x00000291, 0x0000625A, 0x0000147D, 0x00000A17, 0x0004003D, 0x00000014, + 0x000059B5, 0x0000625A, 0x0007004F, 0x00000011, 0x00004993, 0x000027F5, + 0x000027F5, 0x00000000, 0x00000001, 0x0007004F, 0x00000011, 0x000019E2, + 0x000059B5, 0x000059B5, 0x00000000, 0x00000001, 0x000500AE, 0x0000000F, + 0x00004288, 0x00004993, 0x000019E2, 0x0004009A, 0x00000009, 0x00006067, + 0x00004288, 0x000300F7, 0x0000188A, 0x00000002, 0x000400FA, 0x00006067, + 0x000055E8, 0x0000188A, 0x000200F8, 0x000055E8, 0x000200F9, 0x00004C7A, + 0x000200F8, 0x0000188A, 0x0004007C, 0x00000016, 0x00001A8B, 0x000027F5, + 0x00050041, 0x00000288, 0x00004968, 0x0000147D, 0x00000A1D, 0x0004003D, + 0x0000000B, 0x0000263C, 0x00004968, 0x00050051, 0x0000000B, 0x00004F98, + 0x000059B5, 0x00000001, 0x00050051, 0x0000000C, 0x00003964, 0x00001A8B, + 0x00000000, 0x00050084, 0x0000000C, 0x0000591A, 0x00003964, 0x00000A23, + 0x00050051, 0x0000000C, 0x000018DA, 0x00001A8B, 0x00000002, 0x0004007C, + 0x0000000C, 0x000038A9, 0x00004F98, 0x00050084, 0x0000000C, 0x00002C0F, + 0x000018DA, 0x000038A9, 0x00050051, 0x0000000C, 0x000044BE, 0x00001A8B, + 0x00000001, 0x00050080, 0x0000000C, 0x000056D4, 0x00002C0F, 0x000044BE, + 0x0004007C, 0x0000000C, 0x00005785, 0x0000263C, 0x00050084, 0x0000000C, + 0x00005FD7, 0x000056D4, 0x00005785, 0x00050080, 0x0000000C, 0x00001B95, + 0x0000591A, 0x00005FD7, 0x0004007C, 0x0000000B, 0x00004B46, 0x00001B95, + 0x00050041, 0x00000288, 0x00004C04, 0x0000147D, 0x00000A1A, 0x0004003D, + 0x0000000B, 0x0000595B, 0x00004C04, 0x00050080, 0x0000000B, 0x00002145, + 0x00004B46, 0x0000595B, 0x000500C2, 0x0000000B, 0x000054A6, 0x00002145, + 0x00000A16, 0x00050041, 0x00000288, 0x000047E4, 0x0000147D, 0x00000A0E, + 0x0004003D, 0x0000000B, 0x00005B88, 0x000047E4, 0x00050041, 0x00000288, + 0x000058AC, 0x0000147D, 0x00000A0B, 0x0004003D, 0x0000000B, 0x00004FA3, + 0x000058AC, 0x000500C7, 0x0000000B, 0x00005707, 0x00004FA3, 0x00000A10, + 0x000500AB, 0x00000009, 0x00004B17, 0x00005707, 0x00000A0A, 0x00050050, + 0x00000011, 0x0000435F, 0x00004FA3, 0x00004FA3, 0x000500C2, 0x00000011, + 0x000059A3, 0x0000435F, 0x0000077B, 0x000500C7, 0x00000011, 0x00001997, + 0x000059A3, 0x0000074E, 0x00050041, 0x00000288, 0x0000492C, 0x0000147D, + 0x00000A11, 0x0004003D, 0x0000000B, 0x00005EAC, 0x0000492C, 0x00050041, + 0x00000288, 0x00004FEA, 0x0000147D, 0x00000A14, 0x0004003D, 0x0000000B, + 0x00005697, 0x00004FEA, 0x00050051, 0x0000000B, 0x000049F1, 0x000027F5, + 0x00000000, 0x000500C2, 0x0000000B, 0x000019EE, 0x000049F1, 0x00000A0D, + 0x00050051, 0x0000000B, 0x00002704, 0x000027F5, 0x00000001, 0x00050050, + 0x00000011, 0x00005C0B, 0x000019EE, 0x00002704, 0x00050086, 0x00000011, + 0x00001F69, 0x00005C0B, 0x00001997, 0x00050051, 0x0000000B, 0x0000366C, + 0x00001F69, 0x00000000, 0x000500C4, 0x0000000B, 0x00004D4D, 0x0000366C, + 0x00000A0D, 0x00050051, 0x0000000B, 0x000051A9, 0x00001F69, 0x00000001, + 0x00050051, 0x0000000B, 0x000059EE, 0x000027F5, 0x00000002, 0x00060050, + 0x00000014, 0x000024C9, 0x00004D4D, 0x000051A9, 0x000059EE, 0x000300F7, + 0x00005341, 0x00000002, 0x000400FA, 0x00004B17, 0x0000537D, 0x00002DD9, + 0x000200F8, 0x0000537D, 0x0004007C, 0x00000016, 0x00002970, 0x000024C9, + 0x00050051, 0x0000000C, 0x000042C2, 0x00002970, 0x00000001, 0x000500C3, + 0x0000000C, 0x000024FD, 0x000042C2, 0x00000A17, 0x00050051, 0x0000000C, + 0x00002747, 0x00002970, 0x00000002, 0x000500C3, 0x0000000C, 0x0000405C, + 0x00002747, 0x00000A11, 0x000500C2, 0x0000000B, 0x00005B4D, 0x00005697, + 0x00000A16, 0x0004007C, 0x0000000C, 0x000018AA, 0x00005B4D, 0x00050084, + 0x0000000C, 0x00005321, 0x0000405C, 0x000018AA, 0x00050080, 0x0000000C, + 0x00003B27, 0x000024FD, 0x00005321, 0x000500C2, 0x0000000B, 0x00002348, + 0x00005EAC, 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, + 0x00000A25, 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, 0x00000A25, + 0x000500C3, 0x0000000C, 0x00005DE3, 0x00001B88, 0x00000A1D, 0x000500C3, + 0x0000000C, 0x00002215, 0x000042C2, 0x00000A14, 0x00050080, 0x0000000C, + 0x000035A3, 0x00002215, 0x0000405C, 0x000500C7, 0x0000000C, 0x00005A0C, + 0x000035A3, 0x00000A0E, 0x000500C3, 0x0000000C, 0x00004112, 0x00006242, + 0x00000A14, 0x000500C4, 0x0000000C, 0x0000496A, 0x00005A0C, 0x00000A0E, + 0x00050080, 0x0000000C, 0x000034BD, 0x00004112, 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, 0x00000A39, 0x00050080, 0x0000000C, + 0x0000285C, 0x00005B31, 0x00005AEA, 0x000500C7, 0x0000000C, 0x000047B4, + 0x00002747, 0x00000A14, 0x000500C4, 0x0000000C, 0x0000544B, 0x000047B4, + 0x00000A25, 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, + 0x000024C9, 0x000024C9, 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, 0x00005EAC, 0x00000A19, 0x0004007C, 0x0000000C, 0x000018AB, + 0x00005B4E, 0x00050084, 0x0000000C, 0x00005347, 0x0000405D, 0x000018AB, + 0x00050080, 0x0000000C, 0x00003F5E, 0x000024FE, 0x00005347, 0x000500C4, + 0x0000000C, 0x00004A8E, 0x00003F5E, 0x00000A28, 0x000500C7, 0x0000000C, + 0x00002AB6, 0x00001903, 0x00000A20, 0x000500C7, 0x0000000C, 0x00003139, + 0x00002748, 0x00000A35, 0x000500C4, 0x0000000C, 0x0000454E, 0x00003139, + 0x00000A11, 0x00050080, 0x0000000C, 0x00004397, 0x00002AB6, 0x0000454E, + 0x000500C4, 0x0000000C, 0x000018E7, 0x00004397, 0x00000A13, 0x000500C7, + 0x0000000C, 0x000027B1, 0x000018E7, 0x000009DB, 0x000500C4, 0x0000000C, + 0x00002F76, 0x000027B1, 0x00000A0E, 0x00050080, 0x0000000C, 0x00003C4C, + 0x00004A8E, 0x00002F76, 0x000500C7, 0x0000000C, 0x00003397, 0x000018E7, + 0x00000A39, 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, 0x00001F69, 0x00001997, + 0x00050082, 0x00000011, 0x00003BBC, 0x00005C0B, 0x00003FA8, 0x00050051, + 0x0000000B, 0x00001C87, 0x00001997, 0x00000000, 0x00050051, 0x0000000B, + 0x00005962, 0x00001997, 0x00000001, 0x00050084, 0x0000000B, 0x00003372, + 0x00001C87, 0x00005962, 0x00050084, 0x0000000B, 0x00003CA0, 0x000024FC, + 0x00003372, 0x00050051, 0x0000000B, 0x00003ED4, 0x00003BBC, 0x00000000, + 0x00050084, 0x0000000B, 0x00003E12, 0x00003ED4, 0x00005962, 0x00050051, + 0x0000000B, 0x00001AE6, 0x00003BBC, 0x00000001, 0x00050080, 0x0000000B, + 0x00002B25, 0x00003E12, 0x00001AE6, 0x000500C4, 0x0000000B, 0x0000609D, + 0x00002B25, 0x00000A0D, 0x000500C7, 0x0000000B, 0x00005AB3, 0x000049F1, + 0x00000A0D, 0x00050080, 0x0000000B, 0x00002557, 0x0000609D, 0x00005AB3, + 0x000500C4, 0x0000000B, 0x000040AD, 0x00002557, 0x00000A13, 0x00050080, + 0x0000000B, 0x00004EAA, 0x00003CA0, 0x000040AD, 0x00050080, 0x0000000B, + 0x0000453C, 0x00005B88, 0x00004EAA, 0x000500C2, 0x0000000B, 0x000036D8, + 0x0000453C, 0x00000A16, 0x000500C2, 0x0000000B, 0x00002DF6, 0x00004FA3, + 0x00000A10, 0x000500C7, 0x0000000B, 0x000020CA, 0x00002DF6, 0x00000A13, + 0x00060041, 0x00000294, 0x000050F7, 0x0000107A, 0x00000A0B, 0x000036D8, + 0x0004003D, 0x00000017, 0x00001FCE, 0x000050F7, 0x000500AA, 0x00000009, + 0x000035C0, 0x000020CA, 0x00000A0D, 0x000500AA, 0x00000009, 0x00005376, + 0x000020CA, 0x00000A10, 0x000500A6, 0x00000009, 0x00005686, 0x000035C0, + 0x00005376, 0x000300F7, 0x00003463, 0x00000000, 0x000400FA, 0x00005686, + 0x00002957, 0x00003463, 0x000200F8, 0x00002957, 0x000500C7, 0x00000017, + 0x0000475F, 0x00001FCE, 0x000009CE, 0x000500C4, 0x00000017, 0x000024D1, + 0x0000475F, 0x0000013D, 0x000500C7, 0x00000017, 0x000050AC, 0x00001FCE, + 0x0000072E, 0x000500C2, 0x00000017, 0x0000448D, 0x000050AC, 0x0000013D, + 0x000500C5, 0x00000017, 0x00003FF8, 0x000024D1, 0x0000448D, 0x000200F9, + 0x00003463, 0x000200F8, 0x00003463, 0x000700F5, 0x00000017, 0x00005879, + 0x00001FCE, 0x00005341, 0x00003FF8, 0x00002957, 0x000500AA, 0x00000009, + 0x00004CB6, 0x000020CA, 0x00000A13, 0x000500A6, 0x00000009, 0x00003B23, + 0x00005376, 0x00004CB6, 0x000300F7, 0x000030F9, 0x00000000, 0x000400FA, + 0x00003B23, 0x00002B38, 0x000030F9, 0x000200F8, 0x00002B38, 0x000500C4, + 0x00000017, 0x00005E17, 0x00005879, 0x000002ED, 0x000500C2, 0x00000017, + 0x00003BE7, 0x00005879, 0x000002ED, 0x000500C5, 0x00000017, 0x000029E8, + 0x00005E17, 0x00003BE7, 0x000200F9, 0x000030F9, 0x000200F8, 0x000030F9, + 0x000700F5, 0x00000017, 0x00002F4A, 0x00005879, 0x00003463, 0x000029E8, + 0x00002B38, 0x0004007C, 0x0000001A, 0x00003C0F, 0x00002F4A, 0x000500C4, + 0x0000001A, 0x0000420E, 0x00003C0F, 0x00000302, 0x000500C3, 0x0000001A, + 0x00004098, 0x0000420E, 0x00000302, 0x0004006F, 0x0000001D, 0x00002A97, + 0x00004098, 0x0005008E, 0x0000001D, 0x00004FBD, 0x00002A97, 0x00000A38, + 0x0007000C, 0x0000001D, 0x00005DB5, 0x00000001, 0x00000028, 0x00000504, + 0x00004FBD, 0x000500C3, 0x0000001A, 0x00003802, 0x00003C0F, 0x00000302, + 0x0004006F, 0x0000001D, 0x000019CF, 0x00003802, 0x0005008E, 0x0000001D, + 0x00004747, 0x000019CF, 0x00000A38, 0x0007000C, 0x0000001D, 0x00005E06, + 0x00000001, 0x00000028, 0x00000504, 0x00004747, 0x00050051, 0x0000000D, + 0x00005F0A, 0x00005DB5, 0x00000000, 0x00050051, 0x0000000D, 0x000037EF, + 0x00005E06, 0x00000000, 0x00050050, 0x00000013, 0x00004B20, 0x00005F0A, + 0x000037EF, 0x0006000C, 0x0000000B, 0x00002171, 0x00000001, 0x0000003A, + 0x00004B20, 0x00050051, 0x0000000D, 0x00005BBF, 0x00005DB5, 0x00000001, + 0x00050051, 0x0000000D, 0x000039A7, 0x00005E06, 0x00000001, 0x00050050, + 0x00000013, 0x00004B21, 0x00005BBF, 0x000039A7, 0x0006000C, 0x0000000B, + 0x00002172, 0x00000001, 0x0000003A, 0x00004B21, 0x00050051, 0x0000000D, + 0x00005BC0, 0x00005DB5, 0x00000002, 0x00050051, 0x0000000D, 0x000039A8, + 0x00005E06, 0x00000002, 0x00050050, 0x00000013, 0x00004B22, 0x00005BC0, + 0x000039A8, 0x0006000C, 0x0000000B, 0x00002173, 0x00000001, 0x0000003A, + 0x00004B22, 0x00050051, 0x0000000D, 0x00005BC1, 0x00005DB5, 0x00000003, + 0x00050051, 0x0000000D, 0x000039A9, 0x00005E06, 0x00000003, 0x00050050, + 0x00000013, 0x00004B0D, 0x00005BC1, 0x000039A9, 0x0006000C, 0x0000000B, + 0x000020EE, 0x00000001, 0x0000003A, 0x00004B0D, 0x00070050, 0x00000017, + 0x00003ABB, 0x00002171, 0x00002172, 0x00002173, 0x000020EE, 0x00060041, + 0x00000294, 0x000045C3, 0x0000140E, 0x00000A0B, 0x000054A6, 0x0003003E, + 0x000045C3, 0x00003ABB, 0x00050080, 0x0000000B, 0x00003CAC, 0x000054A6, + 0x00000A0E, 0x000500AC, 0x00000009, 0x00001911, 0x00001C87, 0x00000A0D, + 0x000300F7, 0x000060BC, 0x00000002, 0x000400FA, 0x00001911, 0x00005084, + 0x00005094, 0x000200F8, 0x00005084, 0x00050086, 0x0000000B, 0x00003697, + 0x000019EE, 0x00001C87, 0x00050084, 0x0000000B, 0x0000237E, 0x00003697, + 0x00001C87, 0x00050082, 0x0000000B, 0x00003171, 0x000019EE, 0x0000237E, + 0x00050080, 0x0000000B, 0x00002527, 0x00003171, 0x00000A0D, 0x000500AA, + 0x00000009, 0x0000343F, 0x00002527, 0x00001C87, 0x000300F7, 0x00001EED, + 0x00000000, 0x000400FA, 0x0000343F, 0x0000569E, 0x00002191, 0x000200F8, + 0x0000569E, 0x00050084, 0x0000000B, 0x00004B59, 0x00000A6A, 0x00001C87, + 0x000500C4, 0x0000000B, 0x0000540F, 0x00003171, 0x00000A16, 0x00050082, + 0x0000000B, 0x00004944, 0x00004B59, 0x0000540F, 0x000200F9, 0x00001EED, + 0x000200F8, 0x00002191, 0x000200F9, 0x00001EED, 0x000200F8, 0x00001EED, + 0x000700F5, 0x0000000B, 0x0000292C, 0x00004944, 0x0000569E, 0x00000A3A, + 0x00002191, 0x000200F9, 0x000060BC, 0x000200F8, 0x00005094, 0x000200F9, + 0x000060BC, 0x000200F8, 0x000060BC, 0x000700F5, 0x0000000B, 0x000029BC, + 0x0000292C, 0x00001EED, 0x00000A6A, 0x00005094, 0x00050084, 0x0000000B, + 0x0000492B, 0x000029BC, 0x00005962, 0x000500C2, 0x0000000B, 0x0000406D, + 0x0000492B, 0x00000A16, 0x00050080, 0x0000000B, 0x0000336B, 0x000036D8, + 0x0000406D, 0x00060041, 0x00000294, 0x0000571A, 0x0000107A, 0x00000A0B, + 0x0000336B, 0x0004003D, 0x00000017, 0x000019B2, 0x0000571A, 0x000300F7, + 0x00003A1A, 0x00000000, 0x000400FA, 0x00005686, 0x00002958, 0x00003A1A, + 0x000200F8, 0x00002958, 0x000500C7, 0x00000017, 0x00004760, 0x000019B2, + 0x000009CE, 0x000500C4, 0x00000017, 0x000024D2, 0x00004760, 0x0000013D, + 0x000500C7, 0x00000017, 0x000050AD, 0x000019B2, 0x0000072E, 0x000500C2, + 0x00000017, 0x0000448E, 0x000050AD, 0x0000013D, 0x000500C5, 0x00000017, + 0x00003FF9, 0x000024D2, 0x0000448E, 0x000200F9, 0x00003A1A, 0x000200F8, + 0x00003A1A, 0x000700F5, 0x00000017, 0x00002AAC, 0x000019B2, 0x000060BC, + 0x00003FF9, 0x00002958, 0x000300F7, 0x000030FA, 0x00000000, 0x000400FA, + 0x00003B23, 0x00002B39, 0x000030FA, 0x000200F8, 0x00002B39, 0x000500C4, + 0x00000017, 0x00005E18, 0x00002AAC, 0x000002ED, 0x000500C2, 0x00000017, + 0x00003BE8, 0x00002AAC, 0x000002ED, 0x000500C5, 0x00000017, 0x000029E9, + 0x00005E18, 0x00003BE8, 0x000200F9, 0x000030FA, 0x000200F8, 0x000030FA, + 0x000700F5, 0x00000017, 0x00002F4B, 0x00002AAC, 0x00003A1A, 0x000029E9, + 0x00002B39, 0x0004007C, 0x0000001A, 0x00003C10, 0x00002F4B, 0x000500C4, + 0x0000001A, 0x0000420F, 0x00003C10, 0x00000302, 0x000500C3, 0x0000001A, + 0x00004099, 0x0000420F, 0x00000302, 0x0004006F, 0x0000001D, 0x00002A98, + 0x00004099, 0x0005008E, 0x0000001D, 0x00004FBE, 0x00002A98, 0x00000A38, + 0x0007000C, 0x0000001D, 0x00005DB6, 0x00000001, 0x00000028, 0x00000504, + 0x00004FBE, 0x000500C3, 0x0000001A, 0x00003803, 0x00003C10, 0x00000302, + 0x0004006F, 0x0000001D, 0x000019D0, 0x00003803, 0x0005008E, 0x0000001D, + 0x00004748, 0x000019D0, 0x00000A38, 0x0007000C, 0x0000001D, 0x00005E07, + 0x00000001, 0x00000028, 0x00000504, 0x00004748, 0x00050051, 0x0000000D, + 0x00005F0B, 0x00005DB6, 0x00000000, 0x00050051, 0x0000000D, 0x000037F0, + 0x00005E07, 0x00000000, 0x00050050, 0x00000013, 0x00004B23, 0x00005F0B, + 0x000037F0, 0x0006000C, 0x0000000B, 0x00002174, 0x00000001, 0x0000003A, + 0x00004B23, 0x00050051, 0x0000000D, 0x00005BC2, 0x00005DB6, 0x00000001, + 0x00050051, 0x0000000D, 0x000039AA, 0x00005E07, 0x00000001, 0x00050050, + 0x00000013, 0x00004B24, 0x00005BC2, 0x000039AA, 0x0006000C, 0x0000000B, + 0x00002175, 0x00000001, 0x0000003A, 0x00004B24, 0x00050051, 0x0000000D, + 0x00005BC3, 0x00005DB6, 0x00000002, 0x00050051, 0x0000000D, 0x000039AB, + 0x00005E07, 0x00000002, 0x00050050, 0x00000013, 0x00004B25, 0x00005BC3, + 0x000039AB, 0x0006000C, 0x0000000B, 0x00002176, 0x00000001, 0x0000003A, + 0x00004B25, 0x00050051, 0x0000000D, 0x00005BC4, 0x00005DB6, 0x00000003, + 0x00050051, 0x0000000D, 0x000039AC, 0x00005E07, 0x00000003, 0x00050050, + 0x00000013, 0x00004B0E, 0x00005BC4, 0x000039AC, 0x0006000C, 0x0000000B, + 0x000020EF, 0x00000001, 0x0000003A, 0x00004B0E, 0x00070050, 0x00000017, + 0x00003ABC, 0x00002174, 0x00002175, 0x00002176, 0x000020EF, 0x00060041, + 0x00000294, 0x00004EBE, 0x0000140E, 0x00000A0B, 0x00003CAC, 0x0003003E, + 0x00004EBE, 0x00003ABC, 0x000200F9, 0x00004C7A, 0x000200F8, 0x00004C7A, + 0x000100FD, 0x00010038, +}; diff --git a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_rgba16_unorm_float_cs.h b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_rgba16_unorm_float_cs.h new file mode 100644 index 000000000..760706d7e --- /dev/null +++ b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_rgba16_unorm_float_cs.h @@ -0,0 +1,684 @@ +// Generated with `xb buildshaders`. +#if 0 +; SPIR-V +; Version: 1.0 +; Generator: Khronos Glslang Reference Front End; 10 +; Bound: 25179 +; Schema: 0 + OpCapability Shader + %1 = OpExtInstImport "GLSL.std.450" + OpMemoryModel Logical GLSL450 + OpEntryPoint GLCompute %5663 "main" %gl_GlobalInvocationID + OpExecutionMode %5663 LocalSize 8 32 1 + OpMemberDecorate %_struct_1161 0 Offset 0 + OpMemberDecorate %_struct_1161 1 Offset 4 + OpMemberDecorate %_struct_1161 2 Offset 8 + OpMemberDecorate %_struct_1161 3 Offset 12 + OpMemberDecorate %_struct_1161 4 Offset 16 + OpMemberDecorate %_struct_1161 5 Offset 28 + OpMemberDecorate %_struct_1161 6 Offset 32 + OpMemberDecorate %_struct_1161 7 Offset 36 + OpDecorate %_struct_1161 Block + OpDecorate %5245 DescriptorSet 2 + OpDecorate %5245 Binding 0 + 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 %5134 DescriptorSet 0 + OpDecorate %5134 Binding 0 + OpDecorate %_runtimearr_v4uint_0 ArrayStride 16 + OpMemberDecorate %_struct_1973 0 NonWritable + OpMemberDecorate %_struct_1973 0 Offset 0 + OpDecorate %_struct_1973 BufferBlock + OpDecorate %4218 DescriptorSet 1 + OpDecorate %4218 Binding 0 + OpDecorate %gl_WorkGroupSize BuiltIn WorkgroupSize + %void = OpTypeVoid + %1282 = OpTypeFunction %void + %uint = OpTypeInt 32 0 + %v4uint = OpTypeVector %uint 4 + %int = OpTypeInt 32 1 + %v2int = OpTypeVector %int 2 + %v3int = OpTypeVector %int 3 + %bool = OpTypeBool + %v3uint = OpTypeVector %uint 3 + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 + %uint_65535 = OpConstant %uint 65535 +%float_1_52590219en05 = OpConstant %float 1.52590219e-05 + %uint_16 = OpConstant %uint 16 + %uint_0 = OpConstant %uint 0 + %v2float = OpTypeVector %float 2 + %uint_1 = OpConstant %uint 1 + %uint_2 = OpConstant %uint 2 + %uint_3 = OpConstant %uint 3 +%uint_16711935 = OpConstant %uint 16711935 + %uint_8 = OpConstant %uint 8 +%uint_4278255360 = OpConstant %uint 4278255360 + %int_5 = OpConstant %int 5 + %uint_5 = OpConstant %uint 5 + %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_1161 = OpTypeStruct %uint %uint %uint %uint %v3uint %uint %uint %uint +%_ptr_Uniform__struct_1161 = OpTypePointer Uniform %_struct_1161 + %5245 = OpVariable %_ptr_Uniform__struct_1161 Uniform + %int_0 = OpConstant %int 0 +%_ptr_Uniform_uint = OpTypePointer Uniform %uint +%_ptr_Uniform_v3uint = OpTypePointer Uniform %v3uint + %v2uint = OpTypeVector %uint 2 +%_ptr_Input_v3uint = OpTypePointer Input %v3uint +%gl_GlobalInvocationID = OpVariable %_ptr_Input_v3uint Input + %2596 = OpConstantComposite %v3uint %uint_2 %uint_0 %uint_0 + %v2bool = OpTypeVector %bool 2 +%_runtimearr_v4uint = OpTypeRuntimeArray %v4uint +%_struct_1972 = OpTypeStruct %_runtimearr_v4uint +%_ptr_Uniform__struct_1972 = OpTypePointer Uniform %_struct_1972 + %5134 = OpVariable %_ptr_Uniform__struct_1972 Uniform +%_runtimearr_v4uint_0 = OpTypeRuntimeArray %v4uint +%_struct_1973 = OpTypeStruct %_runtimearr_v4uint_0 +%_ptr_Uniform__struct_1973 = OpTypePointer Uniform %_struct_1973 + %4218 = OpVariable %_ptr_Uniform__struct_1973 Uniform +%_ptr_Uniform_v4uint = OpTypePointer Uniform %v4uint +%gl_WorkGroupSize = OpConstantComposite %v3uint %uint_8 %uint_32 %uint_1 + %uint_9 = OpConstant %uint 9 + %uint_10 = OpConstant %uint 10 + %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 + %850 = OpConstantComposite %v4uint %uint_65535 %uint_65535 %uint_65535 %uint_65535 + %5663 = OpFunction %void None %1282 + %15110 = OpLabel + OpSelectionMerge %19578 None + OpSwitch %uint_0 %15137 + %15137 = OpLabel + %12591 = OpLoad %v3uint %gl_GlobalInvocationID + %10229 = OpShiftLeftLogical %v3uint %12591 %2596 + %25178 = OpAccessChain %_ptr_Uniform_v3uint %5245 %int_4 + %22965 = OpLoad %v3uint %25178 + %18835 = OpVectorShuffle %v2uint %10229 %10229 0 1 + %6626 = OpVectorShuffle %v2uint %22965 %22965 0 1 + %17032 = OpUGreaterThanEqual %v2bool %18835 %6626 + %24679 = OpAny %bool %17032 + OpSelectionMerge %6282 DontFlatten + OpBranchConditional %24679 %21992 %6282 + %21992 = OpLabel + OpBranch %19578 + %6282 = OpLabel + %6795 = OpBitcast %v3int %10229 + %18792 = OpAccessChain %_ptr_Uniform_uint %5245 %int_6 + %9788 = OpLoad %uint %18792 + %20376 = OpCompositeExtract %uint %22965 1 + %14692 = OpCompositeExtract %int %6795 0 + %22810 = OpIMul %int %14692 %int_8 + %6362 = OpCompositeExtract %int %6795 2 + %14505 = OpBitcast %int %20376 + %11279 = OpIMul %int %6362 %14505 + %17598 = OpCompositeExtract %int %6795 1 + %22228 = OpIAdd %int %11279 %17598 + %22405 = OpBitcast %int %9788 + %24535 = OpIMul %int %22228 %22405 + %7061 = OpIAdd %int %22810 %24535 + %19270 = OpBitcast %uint %7061 + %19460 = OpAccessChain %_ptr_Uniform_uint %5245 %int_5 + %22875 = OpLoad %uint %19460 + %8517 = OpIAdd %uint %19270 %22875 + %21670 = OpShiftRightLogical %uint %8517 %uint_4 + %20950 = OpAccessChain %_ptr_Uniform_uint %5245 %int_0 + %21411 = OpLoad %uint %20950 + %6381 = OpBitwiseAnd %uint %21411 %uint_1 + %10467 = OpINotEqual %bool %6381 %uint_0 + OpSelectionMerge %23266 DontFlatten + OpBranchConditional %10467 %10108 %10765 + %10108 = OpLabel + %23508 = OpBitwiseAnd %uint %21411 %uint_2 + %16300 = OpINotEqual %bool %23508 %uint_0 + OpSelectionMerge %7691 DontFlatten + OpBranchConditional %16300 %12129 %25128 + %12129 = OpLabel + %18210 = OpAccessChain %_ptr_Uniform_uint %5245 %int_2 + %15627 = OpLoad %uint %18210 + %22624 = OpAccessChain %_ptr_Uniform_uint %5245 %int_3 + %21535 = OpLoad %uint %22624 + %14923 = OpShiftRightArithmetic %int %17598 %int_4 + %18773 = OpShiftRightArithmetic %int %6362 %int_2 + %18759 = OpShiftRightLogical %uint %21535 %uint_4 + %6314 = OpBitcast %int %18759 + %21281 = OpIMul %int %18773 %6314 + %15143 = OpIAdd %int %14923 %21281 + %9032 = OpShiftRightLogical %uint %15627 %uint_5 + %14593 = OpBitcast %int %9032 + %8436 = OpIMul %int %15143 %14593 + %12986 = OpShiftRightArithmetic %int %14692 %int_5 + %24558 = OpIAdd %int %12986 %8436 + %8797 = OpShiftLeftLogical %int %24558 %uint_9 + %11510 = OpBitwiseAnd %int %8797 %int_268435455 + %18938 = OpShiftLeftLogical %int %11510 %int_1 + %19768 = OpBitwiseAnd %int %14692 %int_7 + %12600 = OpBitwiseAnd %int %17598 %int_6 + %17741 = OpShiftLeftLogical %int %12600 %int_2 + %17227 = OpIAdd %int %19768 %17741 + %7048 = OpShiftLeftLogical %int %17227 %uint_9 + %24035 = OpShiftRightArithmetic %int %7048 %int_6 + %8725 = OpShiftRightArithmetic %int %17598 %int_3 + %13731 = OpIAdd %int %8725 %18773 + %23052 = OpBitwiseAnd %int %13731 %int_1 + %16658 = OpShiftRightArithmetic %int %14692 %int_3 + %18794 = OpShiftLeftLogical %int %23052 %int_1 + %13501 = OpIAdd %int %16658 %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 %6362 %int_3 + %21579 = OpShiftLeftLogical %int %18356 %uint_9 + %16727 = OpIAdd %int %10332 %21579 + %19166 = OpBitwiseAnd %int %17598 %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 + %24224 = OpBitwiseAnd %int %16728 %int_63 + %21741 = OpIAdd %int %23348 %24224 + OpBranch %7691 + %25128 = OpLabel + %6796 = OpBitcast %v2int %18835 + %18793 = OpAccessChain %_ptr_Uniform_uint %5245 %int_2 + %11954 = OpLoad %uint %18793 + %18756 = OpCompositeExtract %int %6796 0 + %19701 = OpShiftRightArithmetic %int %18756 %int_5 + %10055 = OpCompositeExtract %int %6796 1 + %16476 = OpShiftRightArithmetic %int %10055 %int_5 + %23373 = OpShiftRightLogical %uint %11954 %uint_5 + %6315 = OpBitcast %int %23373 + %21319 = OpIMul %int %16476 %6315 + %16222 = OpIAdd %int %19701 %21319 + %19086 = OpShiftLeftLogical %int %16222 %uint_10 + %10934 = OpBitwiseAnd %int %18756 %int_7 + %12601 = OpBitwiseAnd %int %10055 %int_14 + %17742 = OpShiftLeftLogical %int %12601 %int_2 + %17303 = OpIAdd %int %10934 %17742 + %6375 = OpShiftLeftLogical %int %17303 %uint_3 + %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 %10055 %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 %10055 %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 %10055 %int_8 + %16831 = OpShiftRightArithmetic %int %20611 %int_2 + %7916 = OpShiftRightArithmetic %int %18756 %int_3 + %13750 = OpIAdd %int %16831 %7916 + %21587 = OpBitwiseAnd %int %13750 %int_3 + %21583 = OpShiftLeftLogical %int %21587 %int_6 + %15437 = OpIAdd %int %16708 %21583 + %14157 = OpBitwiseAnd %int %16729 %int_63 + %12098 = OpIAdd %int %15437 %14157 + OpBranch %7691 + %7691 = OpLabel + %10540 = OpPhi %int %21741 %12129 %12098 %25128 + OpBranch %23266 + %10765 = OpLabel + %20632 = OpAccessChain %_ptr_Uniform_uint %5245 %int_2 + %15628 = OpLoad %uint %20632 + %21275 = OpAccessChain %_ptr_Uniform_uint %5245 %int_3 + %13550 = OpLoad %uint %21275 + %15070 = OpBitcast %int %13550 + %18927 = OpIMul %int %6362 %15070 + %8334 = OpIAdd %int %18927 %17598 + %8952 = OpBitcast %int %15628 + %7839 = OpIMul %int %8334 %8952 + %7984 = OpIAdd %int %22810 %7839 + OpBranch %23266 + %23266 = OpLabel + %19748 = OpPhi %int %10540 %7691 %7984 %10765 + %24922 = OpAccessChain %_ptr_Uniform_uint %5245 %int_1 + %7502 = OpLoad %uint %24922 + %15686 = OpBitcast %int %7502 + %15579 = OpIAdd %int %15686 %19748 + %18556 = OpBitcast %uint %15579 + %21493 = OpShiftRightLogical %uint %18556 %uint_4 + %14997 = OpShiftRightLogical %uint %21411 %uint_2 + %8394 = OpBitwiseAnd %uint %14997 %uint_3 + %20727 = OpAccessChain %_ptr_Uniform_v4uint %4218 %int_0 %21493 + %8142 = OpLoad %v4uint %20727 + %13760 = OpIEqual %bool %8394 %uint_1 + %21366 = OpIEqual %bool %8394 %uint_2 + %22150 = OpLogicalOr %bool %13760 %21366 + OpSelectionMerge %13411 None + OpBranchConditional %22150 %10583 %13411 + %10583 = OpLabel + %18271 = OpBitwiseAnd %v4uint %8142 %2510 + %9425 = OpShiftLeftLogical %v4uint %18271 %317 + %20652 = OpBitwiseAnd %v4uint %8142 %1838 + %17549 = OpShiftRightLogical %v4uint %20652 %317 + %16376 = OpBitwiseOr %v4uint %9425 %17549 + OpBranch %13411 + %13411 = OpLabel + %22649 = OpPhi %v4uint %8142 %23266 %16376 %10583 + %19638 = OpIEqual %bool %8394 %uint_3 + %15139 = OpLogicalOr %bool %21366 %19638 + OpSelectionMerge %13962 None + OpBranchConditional %15139 %11064 %13962 + %11064 = OpLabel + %24087 = OpShiftLeftLogical %v4uint %22649 %749 + %15335 = OpShiftRightLogical %v4uint %22649 %749 + %10728 = OpBitwiseOr %v4uint %24087 %15335 + OpBranch %13962 + %13962 = OpLabel + %16606 = OpPhi %v4uint %22649 %13411 %10728 %11064 + %18240 = OpBitwiseAnd %v4uint %16606 %850 + %9137 = OpConvertUToF %v4float %18240 + %19365 = OpVectorTimesScalar %v4float %9137 %float_1_52590219en05 + %23367 = OpShiftRightLogical %v4uint %16606 %749 + %18492 = OpConvertUToF %v4float %23367 + %18450 = OpVectorTimesScalar %v4float %18492 %float_1_52590219en05 + %6268 = OpCompositeExtract %float %19365 0 + %13806 = OpCompositeExtract %float %18450 0 + %19232 = OpCompositeConstruct %v2float %6268 %13806 + %8561 = OpExtInst %uint %1 PackHalf2x16 %19232 + %23487 = OpCompositeExtract %float %19365 1 + %14759 = OpCompositeExtract %float %18450 1 + %19233 = OpCompositeConstruct %v2float %23487 %14759 + %8562 = OpExtInst %uint %1 PackHalf2x16 %19233 + %23488 = OpCompositeExtract %float %19365 2 + %14760 = OpCompositeExtract %float %18450 2 + %19234 = OpCompositeConstruct %v2float %23488 %14760 + %8563 = OpExtInst %uint %1 PackHalf2x16 %19234 + %23489 = OpCompositeExtract %float %19365 3 + %14761 = OpCompositeExtract %float %18450 3 + %19213 = OpCompositeConstruct %v2float %23489 %14761 + %8430 = OpExtInst %uint %1 PackHalf2x16 %19213 + %15035 = OpCompositeConstruct %v4uint %8561 %8562 %8563 %8430 + %17859 = OpAccessChain %_ptr_Uniform_v4uint %5134 %int_0 %21670 + OpStore %17859 %15035 + %15044 = OpIAdd %uint %21670 %int_1 + %18776 = OpSelect %uint %10467 %uint_32 %uint_16 + %11803 = OpShiftRightLogical %uint %18776 %uint_4 + %13947 = OpIAdd %uint %21493 %11803 + %22298 = OpAccessChain %_ptr_Uniform_v4uint %4218 %int_0 %13947 + %6578 = OpLoad %v4uint %22298 + OpSelectionMerge %14874 None + OpBranchConditional %22150 %10584 %14874 + %10584 = OpLabel + %18272 = OpBitwiseAnd %v4uint %6578 %2510 + %9426 = OpShiftLeftLogical %v4uint %18272 %317 + %20653 = OpBitwiseAnd %v4uint %6578 %1838 + %17550 = OpShiftRightLogical %v4uint %20653 %317 + %16377 = OpBitwiseOr %v4uint %9426 %17550 + OpBranch %14874 + %14874 = OpLabel + %10924 = OpPhi %v4uint %6578 %13962 %16377 %10584 + OpSelectionMerge %13963 None + OpBranchConditional %15139 %11065 %13963 + %11065 = OpLabel + %24088 = OpShiftLeftLogical %v4uint %10924 %749 + %15336 = OpShiftRightLogical %v4uint %10924 %749 + %10729 = OpBitwiseOr %v4uint %24088 %15336 + OpBranch %13963 + %13963 = OpLabel + %16607 = OpPhi %v4uint %10924 %14874 %10729 %11065 + %18241 = OpBitwiseAnd %v4uint %16607 %850 + %9138 = OpConvertUToF %v4float %18241 + %19366 = OpVectorTimesScalar %v4float %9138 %float_1_52590219en05 + %23368 = OpShiftRightLogical %v4uint %16607 %749 + %18493 = OpConvertUToF %v4float %23368 + %18451 = OpVectorTimesScalar %v4float %18493 %float_1_52590219en05 + %6269 = OpCompositeExtract %float %19366 0 + %13807 = OpCompositeExtract %float %18451 0 + %19235 = OpCompositeConstruct %v2float %6269 %13807 + %8564 = OpExtInst %uint %1 PackHalf2x16 %19235 + %23490 = OpCompositeExtract %float %19366 1 + %14762 = OpCompositeExtract %float %18451 1 + %19236 = OpCompositeConstruct %v2float %23490 %14762 + %8565 = OpExtInst %uint %1 PackHalf2x16 %19236 + %23491 = OpCompositeExtract %float %19366 2 + %14763 = OpCompositeExtract %float %18451 2 + %19237 = OpCompositeConstruct %v2float %23491 %14763 + %8566 = OpExtInst %uint %1 PackHalf2x16 %19237 + %23492 = OpCompositeExtract %float %19366 3 + %14764 = OpCompositeExtract %float %18451 3 + %19214 = OpCompositeConstruct %v2float %23492 %14764 + %8431 = OpExtInst %uint %1 PackHalf2x16 %19214 + %15036 = OpCompositeConstruct %v4uint %8564 %8565 %8566 %8431 + %20158 = OpAccessChain %_ptr_Uniform_v4uint %5134 %int_0 %15044 + OpStore %20158 %15036 + OpBranch %19578 + %19578 = OpLabel + OpReturn + OpFunctionEnd +#endif + +const uint32_t texture_load_rgba16_unorm_float_cs[] = { + 0x07230203, 0x00010000, 0x0008000A, 0x0000625B, 0x00000000, 0x00020011, + 0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E, + 0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0006000F, 0x00000005, + 0x0000161F, 0x6E69616D, 0x00000000, 0x00000F48, 0x00060010, 0x0000161F, + 0x00000011, 0x00000008, 0x00000020, 0x00000001, 0x00050048, 0x00000489, + 0x00000000, 0x00000023, 0x00000000, 0x00050048, 0x00000489, 0x00000001, + 0x00000023, 0x00000004, 0x00050048, 0x00000489, 0x00000002, 0x00000023, + 0x00000008, 0x00050048, 0x00000489, 0x00000003, 0x00000023, 0x0000000C, + 0x00050048, 0x00000489, 0x00000004, 0x00000023, 0x00000010, 0x00050048, + 0x00000489, 0x00000005, 0x00000023, 0x0000001C, 0x00050048, 0x00000489, + 0x00000006, 0x00000023, 0x00000020, 0x00050048, 0x00000489, 0x00000007, + 0x00000023, 0x00000024, 0x00030047, 0x00000489, 0x00000002, 0x00040047, + 0x0000147D, 0x00000022, 0x00000002, 0x00040047, 0x0000147D, 0x00000021, + 0x00000000, 0x00040047, 0x00000F48, 0x0000000B, 0x0000001C, 0x00040047, + 0x000007DC, 0x00000006, 0x00000010, 0x00040048, 0x000007B4, 0x00000000, + 0x00000019, 0x00050048, 0x000007B4, 0x00000000, 0x00000023, 0x00000000, + 0x00030047, 0x000007B4, 0x00000003, 0x00040047, 0x0000140E, 0x00000022, + 0x00000000, 0x00040047, 0x0000140E, 0x00000021, 0x00000000, 0x00040047, + 0x000007DD, 0x00000006, 0x00000010, 0x00040048, 0x000007B5, 0x00000000, + 0x00000018, 0x00050048, 0x000007B5, 0x00000000, 0x00000023, 0x00000000, + 0x00030047, 0x000007B5, 0x00000003, 0x00040047, 0x0000107A, 0x00000022, + 0x00000001, 0x00040047, 0x0000107A, 0x00000021, 0x00000000, 0x00040047, + 0x00000024, 0x0000000B, 0x00000019, 0x00020013, 0x00000008, 0x00030021, + 0x00000502, 0x00000008, 0x00040015, 0x0000000B, 0x00000020, 0x00000000, + 0x00040017, 0x00000017, 0x0000000B, 0x00000004, 0x00040015, 0x0000000C, + 0x00000020, 0x00000001, 0x00040017, 0x00000012, 0x0000000C, 0x00000002, + 0x00040017, 0x00000016, 0x0000000C, 0x00000003, 0x00020014, 0x00000009, + 0x00040017, 0x00000014, 0x0000000B, 0x00000003, 0x00030016, 0x0000000D, + 0x00000020, 0x00040017, 0x0000001D, 0x0000000D, 0x00000004, 0x0004002B, + 0x0000000B, 0x000001C1, 0x0000FFFF, 0x0004002B, 0x0000000D, 0x0000092A, + 0x37800080, 0x0004002B, 0x0000000B, 0x00000A3A, 0x00000010, 0x0004002B, + 0x0000000B, 0x00000A0A, 0x00000000, 0x00040017, 0x00000013, 0x0000000D, + 0x00000002, 0x0004002B, 0x0000000B, 0x00000A0D, 0x00000001, 0x0004002B, + 0x0000000B, 0x00000A10, 0x00000002, 0x0004002B, 0x0000000B, 0x00000A13, + 0x00000003, 0x0004002B, 0x0000000B, 0x000008A6, 0x00FF00FF, 0x0004002B, + 0x0000000B, 0x00000A22, 0x00000008, 0x0004002B, 0x0000000B, 0x000005FD, + 0xFF00FF00, 0x0004002B, 0x0000000C, 0x00000A1A, 0x00000005, 0x0004002B, + 0x0000000B, 0x00000A19, 0x00000005, 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, 0x000A001E, 0x00000489, 0x0000000B, + 0x0000000B, 0x0000000B, 0x0000000B, 0x00000014, 0x0000000B, 0x0000000B, + 0x0000000B, 0x00040020, 0x00000706, 0x00000002, 0x00000489, 0x0004003B, + 0x00000706, 0x0000147D, 0x00000002, 0x0004002B, 0x0000000C, 0x00000A0B, + 0x00000000, 0x00040020, 0x00000288, 0x00000002, 0x0000000B, 0x00040020, + 0x00000291, 0x00000002, 0x00000014, 0x00040017, 0x00000011, 0x0000000B, + 0x00000002, 0x00040020, 0x00000292, 0x00000001, 0x00000014, 0x0004003B, + 0x00000292, 0x00000F48, 0x00000001, 0x0006002C, 0x00000014, 0x00000A24, + 0x00000A10, 0x00000A0A, 0x00000A0A, 0x00040017, 0x0000000F, 0x00000009, + 0x00000002, 0x0003001D, 0x000007DC, 0x00000017, 0x0003001E, 0x000007B4, + 0x000007DC, 0x00040020, 0x00000A31, 0x00000002, 0x000007B4, 0x0004003B, + 0x00000A31, 0x0000140E, 0x00000002, 0x0003001D, 0x000007DD, 0x00000017, + 0x0003001E, 0x000007B5, 0x000007DD, 0x00040020, 0x00000A32, 0x00000002, + 0x000007B5, 0x0004003B, 0x00000A32, 0x0000107A, 0x00000002, 0x00040020, + 0x00000294, 0x00000002, 0x00000017, 0x0006002C, 0x00000014, 0x00000024, + 0x00000A22, 0x00000A6A, 0x00000A0D, 0x0004002B, 0x0000000B, 0x00000A25, + 0x00000009, 0x0004002B, 0x0000000B, 0x00000A28, 0x0000000A, 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, 0x0007002C, 0x00000017, 0x00000352, + 0x000001C1, 0x000001C1, 0x000001C1, 0x000001C1, 0x00050036, 0x00000008, + 0x0000161F, 0x00000000, 0x00000502, 0x000200F8, 0x00003B06, 0x000300F7, + 0x00004C7A, 0x00000000, 0x000300FB, 0x00000A0A, 0x00003B21, 0x000200F8, + 0x00003B21, 0x0004003D, 0x00000014, 0x0000312F, 0x00000F48, 0x000500C4, + 0x00000014, 0x000027F5, 0x0000312F, 0x00000A24, 0x00050041, 0x00000291, + 0x0000625A, 0x0000147D, 0x00000A17, 0x0004003D, 0x00000014, 0x000059B5, + 0x0000625A, 0x0007004F, 0x00000011, 0x00004993, 0x000027F5, 0x000027F5, + 0x00000000, 0x00000001, 0x0007004F, 0x00000011, 0x000019E2, 0x000059B5, + 0x000059B5, 0x00000000, 0x00000001, 0x000500AE, 0x0000000F, 0x00004288, + 0x00004993, 0x000019E2, 0x0004009A, 0x00000009, 0x00006067, 0x00004288, + 0x000300F7, 0x0000188A, 0x00000002, 0x000400FA, 0x00006067, 0x000055E8, + 0x0000188A, 0x000200F8, 0x000055E8, 0x000200F9, 0x00004C7A, 0x000200F8, + 0x0000188A, 0x0004007C, 0x00000016, 0x00001A8B, 0x000027F5, 0x00050041, + 0x00000288, 0x00004968, 0x0000147D, 0x00000A1D, 0x0004003D, 0x0000000B, + 0x0000263C, 0x00004968, 0x00050051, 0x0000000B, 0x00004F98, 0x000059B5, + 0x00000001, 0x00050051, 0x0000000C, 0x00003964, 0x00001A8B, 0x00000000, + 0x00050084, 0x0000000C, 0x0000591A, 0x00003964, 0x00000A23, 0x00050051, + 0x0000000C, 0x000018DA, 0x00001A8B, 0x00000002, 0x0004007C, 0x0000000C, + 0x000038A9, 0x00004F98, 0x00050084, 0x0000000C, 0x00002C0F, 0x000018DA, + 0x000038A9, 0x00050051, 0x0000000C, 0x000044BE, 0x00001A8B, 0x00000001, + 0x00050080, 0x0000000C, 0x000056D4, 0x00002C0F, 0x000044BE, 0x0004007C, + 0x0000000C, 0x00005785, 0x0000263C, 0x00050084, 0x0000000C, 0x00005FD7, + 0x000056D4, 0x00005785, 0x00050080, 0x0000000C, 0x00001B95, 0x0000591A, + 0x00005FD7, 0x0004007C, 0x0000000B, 0x00004B46, 0x00001B95, 0x00050041, + 0x00000288, 0x00004C04, 0x0000147D, 0x00000A1A, 0x0004003D, 0x0000000B, + 0x0000595B, 0x00004C04, 0x00050080, 0x0000000B, 0x00002145, 0x00004B46, + 0x0000595B, 0x000500C2, 0x0000000B, 0x000054A6, 0x00002145, 0x00000A16, + 0x00050041, 0x00000288, 0x000051D6, 0x0000147D, 0x00000A0B, 0x0004003D, + 0x0000000B, 0x000053A3, 0x000051D6, 0x000500C7, 0x0000000B, 0x000018ED, + 0x000053A3, 0x00000A0D, 0x000500AB, 0x00000009, 0x000028E3, 0x000018ED, + 0x00000A0A, 0x000300F7, 0x00005AE2, 0x00000002, 0x000400FA, 0x000028E3, + 0x0000277C, 0x00002A0D, 0x000200F8, 0x0000277C, 0x000500C7, 0x0000000B, + 0x00005BD4, 0x000053A3, 0x00000A10, 0x000500AB, 0x00000009, 0x00003FAC, + 0x00005BD4, 0x00000A0A, 0x000300F7, 0x00001E0B, 0x00000002, 0x000400FA, + 0x00003FAC, 0x00002F61, 0x00006228, 0x000200F8, 0x00002F61, 0x00050041, + 0x00000288, 0x00004722, 0x0000147D, 0x00000A11, 0x0004003D, 0x0000000B, + 0x00003D0B, 0x00004722, 0x00050041, 0x00000288, 0x00005860, 0x0000147D, + 0x00000A14, 0x0004003D, 0x0000000B, 0x0000541F, 0x00005860, 0x000500C3, + 0x0000000C, 0x00003A4B, 0x000044BE, 0x00000A17, 0x000500C3, 0x0000000C, + 0x00004955, 0x000018DA, 0x00000A11, 0x000500C2, 0x0000000B, 0x00004947, + 0x0000541F, 0x00000A16, 0x0004007C, 0x0000000C, 0x000018AA, 0x00004947, + 0x00050084, 0x0000000C, 0x00005321, 0x00004955, 0x000018AA, 0x00050080, + 0x0000000C, 0x00003B27, 0x00003A4B, 0x00005321, 0x000500C2, 0x0000000B, + 0x00002348, 0x00003D0B, 0x00000A19, 0x0004007C, 0x0000000C, 0x00003901, + 0x00002348, 0x00050084, 0x0000000C, 0x000020F4, 0x00003B27, 0x00003901, + 0x000500C3, 0x0000000C, 0x000032BA, 0x00003964, 0x00000A1A, 0x00050080, + 0x0000000C, 0x00005FEE, 0x000032BA, 0x000020F4, 0x000500C4, 0x0000000C, + 0x0000225D, 0x00005FEE, 0x00000A25, 0x000500C7, 0x0000000C, 0x00002CF6, + 0x0000225D, 0x0000078B, 0x000500C4, 0x0000000C, 0x000049FA, 0x00002CF6, + 0x00000A0E, 0x000500C7, 0x0000000C, 0x00004D38, 0x00003964, 0x00000A20, + 0x000500C7, 0x0000000C, 0x00003138, 0x000044BE, 0x00000A1D, 0x000500C4, + 0x0000000C, 0x0000454D, 0x00003138, 0x00000A11, 0x00050080, 0x0000000C, + 0x0000434B, 0x00004D38, 0x0000454D, 0x000500C4, 0x0000000C, 0x00001B88, + 0x0000434B, 0x00000A25, 0x000500C3, 0x0000000C, 0x00005DE3, 0x00001B88, + 0x00000A1D, 0x000500C3, 0x0000000C, 0x00002215, 0x000044BE, 0x00000A14, + 0x00050080, 0x0000000C, 0x000035A3, 0x00002215, 0x00004955, 0x000500C7, + 0x0000000C, 0x00005A0C, 0x000035A3, 0x00000A0E, 0x000500C3, 0x0000000C, + 0x00004112, 0x00003964, 0x00000A14, 0x000500C4, 0x0000000C, 0x0000496A, + 0x00005A0C, 0x00000A0E, 0x00050080, 0x0000000C, 0x000034BD, 0x00004112, + 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, 0x000018DA, 0x00000A14, 0x000500C4, 0x0000000C, + 0x0000544B, 0x000047B4, 0x00000A25, 0x00050080, 0x0000000C, 0x00004157, + 0x0000285C, 0x0000544B, 0x000500C7, 0x0000000C, 0x00004ADE, 0x000044BE, + 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, 0x00005EA0, 0x00004158, 0x00000AC8, 0x00050080, 0x0000000C, + 0x000054ED, 0x00005B34, 0x00005EA0, 0x000200F9, 0x00001E0B, 0x000200F8, + 0x00006228, 0x0004007C, 0x00000012, 0x00001A8C, 0x00004993, 0x00050041, + 0x00000288, 0x00004969, 0x0000147D, 0x00000A11, 0x0004003D, 0x0000000B, + 0x00002EB2, 0x00004969, 0x00050051, 0x0000000C, 0x00004944, 0x00001A8C, + 0x00000000, 0x000500C3, 0x0000000C, 0x00004CF5, 0x00004944, 0x00000A1A, + 0x00050051, 0x0000000C, 0x00002747, 0x00001A8C, 0x00000001, 0x000500C3, + 0x0000000C, 0x0000405C, 0x00002747, 0x00000A1A, 0x000500C2, 0x0000000B, + 0x00005B4D, 0x00002EB2, 0x00000A19, 0x0004007C, 0x0000000C, 0x000018AB, + 0x00005B4D, 0x00050084, 0x0000000C, 0x00005347, 0x0000405C, 0x000018AB, + 0x00050080, 0x0000000C, 0x00003F5E, 0x00004CF5, 0x00005347, 0x000500C4, + 0x0000000C, 0x00004A8E, 0x00003F5E, 0x00000A28, 0x000500C7, 0x0000000C, + 0x00002AB6, 0x00004944, 0x00000A20, 0x000500C7, 0x0000000C, 0x00003139, + 0x00002747, 0x00000A35, 0x000500C4, 0x0000000C, 0x0000454E, 0x00003139, + 0x00000A11, 0x00050080, 0x0000000C, 0x00004397, 0x00002AB6, 0x0000454E, + 0x000500C4, 0x0000000C, 0x000018E7, 0x00004397, 0x00000A13, 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, 0x00002747, 0x00000A0E, 0x000500C4, + 0x0000000C, 0x0000544D, 0x000047B5, 0x00000A17, 0x00050080, 0x0000000C, + 0x00004159, 0x00004D30, 0x0000544D, 0x000500C7, 0x0000000C, 0x00005022, + 0x00004159, 0x0000040B, 0x000500C4, 0x0000000C, 0x00002416, 0x00005022, + 0x00000A14, 0x000500C7, 0x0000000C, 0x00004A33, 0x00002747, 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, 0x00002747, 0x00000A23, + 0x000500C3, 0x0000000C, 0x000041BF, 0x00005083, 0x00000A11, 0x000500C3, + 0x0000000C, 0x00001EEC, 0x00004944, 0x00000A14, 0x00050080, 0x0000000C, + 0x000035B6, 0x000041BF, 0x00001EEC, 0x000500C7, 0x0000000C, 0x00005453, + 0x000035B6, 0x00000A14, 0x000500C4, 0x0000000C, 0x0000544F, 0x00005453, + 0x00000A1D, 0x00050080, 0x0000000C, 0x00003C4D, 0x00004144, 0x0000544F, + 0x000500C7, 0x0000000C, 0x0000374D, 0x00004159, 0x00000AC8, 0x00050080, + 0x0000000C, 0x00002F42, 0x00003C4D, 0x0000374D, 0x000200F9, 0x00001E0B, + 0x000200F8, 0x00001E0B, 0x000700F5, 0x0000000C, 0x0000292C, 0x000054ED, + 0x00002F61, 0x00002F42, 0x00006228, 0x000200F9, 0x00005AE2, 0x000200F8, + 0x00002A0D, 0x00050041, 0x00000288, 0x00005098, 0x0000147D, 0x00000A11, + 0x0004003D, 0x0000000B, 0x00003D0C, 0x00005098, 0x00050041, 0x00000288, + 0x0000531B, 0x0000147D, 0x00000A14, 0x0004003D, 0x0000000B, 0x000034EE, + 0x0000531B, 0x0004007C, 0x0000000C, 0x00003ADE, 0x000034EE, 0x00050084, + 0x0000000C, 0x000049EF, 0x000018DA, 0x00003ADE, 0x00050080, 0x0000000C, + 0x0000208E, 0x000049EF, 0x000044BE, 0x0004007C, 0x0000000C, 0x000022F8, + 0x00003D0C, 0x00050084, 0x0000000C, 0x00001E9F, 0x0000208E, 0x000022F8, + 0x00050080, 0x0000000C, 0x00001F30, 0x0000591A, 0x00001E9F, 0x000200F9, + 0x00005AE2, 0x000200F8, 0x00005AE2, 0x000700F5, 0x0000000C, 0x00004D24, + 0x0000292C, 0x00001E0B, 0x00001F30, 0x00002A0D, 0x00050041, 0x00000288, + 0x0000615A, 0x0000147D, 0x00000A0E, 0x0004003D, 0x0000000B, 0x00001D4E, + 0x0000615A, 0x0004007C, 0x0000000C, 0x00003D46, 0x00001D4E, 0x00050080, + 0x0000000C, 0x00003CDB, 0x00003D46, 0x00004D24, 0x0004007C, 0x0000000B, + 0x0000487C, 0x00003CDB, 0x000500C2, 0x0000000B, 0x000053F5, 0x0000487C, + 0x00000A16, 0x000500C2, 0x0000000B, 0x00003A95, 0x000053A3, 0x00000A10, + 0x000500C7, 0x0000000B, 0x000020CA, 0x00003A95, 0x00000A13, 0x00060041, + 0x00000294, 0x000050F7, 0x0000107A, 0x00000A0B, 0x000053F5, 0x0004003D, + 0x00000017, 0x00001FCE, 0x000050F7, 0x000500AA, 0x00000009, 0x000035C0, + 0x000020CA, 0x00000A0D, 0x000500AA, 0x00000009, 0x00005376, 0x000020CA, + 0x00000A10, 0x000500A6, 0x00000009, 0x00005686, 0x000035C0, 0x00005376, + 0x000300F7, 0x00003463, 0x00000000, 0x000400FA, 0x00005686, 0x00002957, + 0x00003463, 0x000200F8, 0x00002957, 0x000500C7, 0x00000017, 0x0000475F, + 0x00001FCE, 0x000009CE, 0x000500C4, 0x00000017, 0x000024D1, 0x0000475F, + 0x0000013D, 0x000500C7, 0x00000017, 0x000050AC, 0x00001FCE, 0x0000072E, + 0x000500C2, 0x00000017, 0x0000448D, 0x000050AC, 0x0000013D, 0x000500C5, + 0x00000017, 0x00003FF8, 0x000024D1, 0x0000448D, 0x000200F9, 0x00003463, + 0x000200F8, 0x00003463, 0x000700F5, 0x00000017, 0x00005879, 0x00001FCE, + 0x00005AE2, 0x00003FF8, 0x00002957, 0x000500AA, 0x00000009, 0x00004CB6, + 0x000020CA, 0x00000A13, 0x000500A6, 0x00000009, 0x00003B23, 0x00005376, + 0x00004CB6, 0x000300F7, 0x0000368A, 0x00000000, 0x000400FA, 0x00003B23, + 0x00002B38, 0x0000368A, 0x000200F8, 0x00002B38, 0x000500C4, 0x00000017, + 0x00005E17, 0x00005879, 0x000002ED, 0x000500C2, 0x00000017, 0x00003BE7, + 0x00005879, 0x000002ED, 0x000500C5, 0x00000017, 0x000029E8, 0x00005E17, + 0x00003BE7, 0x000200F9, 0x0000368A, 0x000200F8, 0x0000368A, 0x000700F5, + 0x00000017, 0x000040DE, 0x00005879, 0x00003463, 0x000029E8, 0x00002B38, + 0x000500C7, 0x00000017, 0x00004740, 0x000040DE, 0x00000352, 0x00040070, + 0x0000001D, 0x000023B1, 0x00004740, 0x0005008E, 0x0000001D, 0x00004BA5, + 0x000023B1, 0x0000092A, 0x000500C2, 0x00000017, 0x00005B47, 0x000040DE, + 0x000002ED, 0x00040070, 0x0000001D, 0x0000483C, 0x00005B47, 0x0005008E, + 0x0000001D, 0x00004812, 0x0000483C, 0x0000092A, 0x00050051, 0x0000000D, + 0x0000187C, 0x00004BA5, 0x00000000, 0x00050051, 0x0000000D, 0x000035EE, + 0x00004812, 0x00000000, 0x00050050, 0x00000013, 0x00004B20, 0x0000187C, + 0x000035EE, 0x0006000C, 0x0000000B, 0x00002171, 0x00000001, 0x0000003A, + 0x00004B20, 0x00050051, 0x0000000D, 0x00005BBF, 0x00004BA5, 0x00000001, + 0x00050051, 0x0000000D, 0x000039A7, 0x00004812, 0x00000001, 0x00050050, + 0x00000013, 0x00004B21, 0x00005BBF, 0x000039A7, 0x0006000C, 0x0000000B, + 0x00002172, 0x00000001, 0x0000003A, 0x00004B21, 0x00050051, 0x0000000D, + 0x00005BC0, 0x00004BA5, 0x00000002, 0x00050051, 0x0000000D, 0x000039A8, + 0x00004812, 0x00000002, 0x00050050, 0x00000013, 0x00004B22, 0x00005BC0, + 0x000039A8, 0x0006000C, 0x0000000B, 0x00002173, 0x00000001, 0x0000003A, + 0x00004B22, 0x00050051, 0x0000000D, 0x00005BC1, 0x00004BA5, 0x00000003, + 0x00050051, 0x0000000D, 0x000039A9, 0x00004812, 0x00000003, 0x00050050, + 0x00000013, 0x00004B0D, 0x00005BC1, 0x000039A9, 0x0006000C, 0x0000000B, + 0x000020EE, 0x00000001, 0x0000003A, 0x00004B0D, 0x00070050, 0x00000017, + 0x00003ABB, 0x00002171, 0x00002172, 0x00002173, 0x000020EE, 0x00060041, + 0x00000294, 0x000045C3, 0x0000140E, 0x00000A0B, 0x000054A6, 0x0003003E, + 0x000045C3, 0x00003ABB, 0x00050080, 0x0000000B, 0x00003AC4, 0x000054A6, + 0x00000A0E, 0x000600A9, 0x0000000B, 0x00004958, 0x000028E3, 0x00000A6A, + 0x00000A3A, 0x000500C2, 0x0000000B, 0x00002E1B, 0x00004958, 0x00000A16, + 0x00050080, 0x0000000B, 0x0000367B, 0x000053F5, 0x00002E1B, 0x00060041, + 0x00000294, 0x0000571A, 0x0000107A, 0x00000A0B, 0x0000367B, 0x0004003D, + 0x00000017, 0x000019B2, 0x0000571A, 0x000300F7, 0x00003A1A, 0x00000000, + 0x000400FA, 0x00005686, 0x00002958, 0x00003A1A, 0x000200F8, 0x00002958, + 0x000500C7, 0x00000017, 0x00004760, 0x000019B2, 0x000009CE, 0x000500C4, + 0x00000017, 0x000024D2, 0x00004760, 0x0000013D, 0x000500C7, 0x00000017, + 0x000050AD, 0x000019B2, 0x0000072E, 0x000500C2, 0x00000017, 0x0000448E, + 0x000050AD, 0x0000013D, 0x000500C5, 0x00000017, 0x00003FF9, 0x000024D2, + 0x0000448E, 0x000200F9, 0x00003A1A, 0x000200F8, 0x00003A1A, 0x000700F5, + 0x00000017, 0x00002AAC, 0x000019B2, 0x0000368A, 0x00003FF9, 0x00002958, + 0x000300F7, 0x0000368B, 0x00000000, 0x000400FA, 0x00003B23, 0x00002B39, + 0x0000368B, 0x000200F8, 0x00002B39, 0x000500C4, 0x00000017, 0x00005E18, + 0x00002AAC, 0x000002ED, 0x000500C2, 0x00000017, 0x00003BE8, 0x00002AAC, + 0x000002ED, 0x000500C5, 0x00000017, 0x000029E9, 0x00005E18, 0x00003BE8, + 0x000200F9, 0x0000368B, 0x000200F8, 0x0000368B, 0x000700F5, 0x00000017, + 0x000040DF, 0x00002AAC, 0x00003A1A, 0x000029E9, 0x00002B39, 0x000500C7, + 0x00000017, 0x00004741, 0x000040DF, 0x00000352, 0x00040070, 0x0000001D, + 0x000023B2, 0x00004741, 0x0005008E, 0x0000001D, 0x00004BA6, 0x000023B2, + 0x0000092A, 0x000500C2, 0x00000017, 0x00005B48, 0x000040DF, 0x000002ED, + 0x00040070, 0x0000001D, 0x0000483D, 0x00005B48, 0x0005008E, 0x0000001D, + 0x00004813, 0x0000483D, 0x0000092A, 0x00050051, 0x0000000D, 0x0000187D, + 0x00004BA6, 0x00000000, 0x00050051, 0x0000000D, 0x000035EF, 0x00004813, + 0x00000000, 0x00050050, 0x00000013, 0x00004B23, 0x0000187D, 0x000035EF, + 0x0006000C, 0x0000000B, 0x00002174, 0x00000001, 0x0000003A, 0x00004B23, + 0x00050051, 0x0000000D, 0x00005BC2, 0x00004BA6, 0x00000001, 0x00050051, + 0x0000000D, 0x000039AA, 0x00004813, 0x00000001, 0x00050050, 0x00000013, + 0x00004B24, 0x00005BC2, 0x000039AA, 0x0006000C, 0x0000000B, 0x00002175, + 0x00000001, 0x0000003A, 0x00004B24, 0x00050051, 0x0000000D, 0x00005BC3, + 0x00004BA6, 0x00000002, 0x00050051, 0x0000000D, 0x000039AB, 0x00004813, + 0x00000002, 0x00050050, 0x00000013, 0x00004B25, 0x00005BC3, 0x000039AB, + 0x0006000C, 0x0000000B, 0x00002176, 0x00000001, 0x0000003A, 0x00004B25, + 0x00050051, 0x0000000D, 0x00005BC4, 0x00004BA6, 0x00000003, 0x00050051, + 0x0000000D, 0x000039AC, 0x00004813, 0x00000003, 0x00050050, 0x00000013, + 0x00004B0E, 0x00005BC4, 0x000039AC, 0x0006000C, 0x0000000B, 0x000020EF, + 0x00000001, 0x0000003A, 0x00004B0E, 0x00070050, 0x00000017, 0x00003ABC, + 0x00002174, 0x00002175, 0x00002176, 0x000020EF, 0x00060041, 0x00000294, + 0x00004EBE, 0x0000140E, 0x00000A0B, 0x00003AC4, 0x0003003E, 0x00004EBE, + 0x00003ABC, 0x000200F9, 0x00004C7A, 0x000200F8, 0x00004C7A, 0x000100FD, + 0x00010038, +}; diff --git a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_rgba16_unorm_float_scaled_cs.h b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_rgba16_unorm_float_scaled_cs.h new file mode 100644 index 000000000..fdc8c9614 --- /dev/null +++ b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_rgba16_unorm_float_scaled_cs.h @@ -0,0 +1,753 @@ +// Generated with `xb buildshaders`. +#if 0 +; SPIR-V +; Version: 1.0 +; Generator: Khronos Glslang Reference Front End; 10 +; Bound: 25179 +; Schema: 0 + OpCapability Shader + %1 = OpExtInstImport "GLSL.std.450" + OpMemoryModel Logical GLSL450 + OpEntryPoint GLCompute %5663 "main" %gl_GlobalInvocationID + OpExecutionMode %5663 LocalSize 8 32 1 + OpMemberDecorate %_struct_1161 0 Offset 0 + OpMemberDecorate %_struct_1161 1 Offset 4 + OpMemberDecorate %_struct_1161 2 Offset 8 + OpMemberDecorate %_struct_1161 3 Offset 12 + OpMemberDecorate %_struct_1161 4 Offset 16 + OpMemberDecorate %_struct_1161 5 Offset 28 + OpMemberDecorate %_struct_1161 6 Offset 32 + OpMemberDecorate %_struct_1161 7 Offset 36 + OpDecorate %_struct_1161 Block + OpDecorate %5245 DescriptorSet 2 + OpDecorate %5245 Binding 0 + 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 %5134 DescriptorSet 0 + OpDecorate %5134 Binding 0 + OpDecorate %_runtimearr_v4uint_0 ArrayStride 16 + OpMemberDecorate %_struct_1973 0 NonWritable + OpMemberDecorate %_struct_1973 0 Offset 0 + OpDecorate %_struct_1973 BufferBlock + OpDecorate %4218 DescriptorSet 1 + OpDecorate %4218 Binding 0 + OpDecorate %gl_WorkGroupSize BuiltIn WorkgroupSize + %void = OpTypeVoid + %1282 = OpTypeFunction %void + %uint = OpTypeInt 32 0 + %v4uint = OpTypeVector %uint 4 + %int = OpTypeInt 32 1 + %v2int = OpTypeVector %int 2 + %v3int = OpTypeVector %int 3 + %bool = OpTypeBool + %v3uint = OpTypeVector %uint 3 + %v2uint = OpTypeVector %uint 2 + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 + %uint_65535 = OpConstant %uint 65535 +%float_1_52590219en05 = OpConstant %float 1.52590219e-05 + %uint_16 = OpConstant %uint 16 + %uint_0 = OpConstant %uint 0 + %v2float = OpTypeVector %float 2 + %uint_1 = OpConstant %uint 1 + %uint_2 = OpConstant %uint 2 + %uint_3 = OpConstant %uint 3 +%uint_16711935 = OpConstant %uint 16711935 + %uint_8 = OpConstant %uint 8 +%uint_4278255360 = OpConstant %uint 4278255360 + %int_5 = OpConstant %int 5 + %uint_5 = OpConstant %uint 5 + %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 + %uint_6 = OpConstant %uint 6 +%int_268435455 = OpConstant %int 268435455 + %int_n2 = OpConstant %int -2 + %uint_32 = OpConstant %uint 32 +%_struct_1161 = OpTypeStruct %uint %uint %uint %uint %v3uint %uint %uint %uint +%_ptr_Uniform__struct_1161 = OpTypePointer Uniform %_struct_1161 + %5245 = OpVariable %_ptr_Uniform__struct_1161 Uniform + %int_0 = OpConstant %int 0 +%_ptr_Uniform_uint = OpTypePointer Uniform %uint + %1915 = OpConstantComposite %v2uint %uint_4 %uint_6 +%_ptr_Uniform_v3uint = OpTypePointer Uniform %v3uint +%_ptr_Input_v3uint = OpTypePointer Input %v3uint +%gl_GlobalInvocationID = OpVariable %_ptr_Input_v3uint Input + %2596 = OpConstantComposite %v3uint %uint_2 %uint_0 %uint_0 + %v2bool = OpTypeVector %bool 2 +%_runtimearr_v4uint = OpTypeRuntimeArray %v4uint +%_struct_1972 = OpTypeStruct %_runtimearr_v4uint +%_ptr_Uniform__struct_1972 = OpTypePointer Uniform %_struct_1972 + %5134 = OpVariable %_ptr_Uniform__struct_1972 Uniform +%_runtimearr_v4uint_0 = OpTypeRuntimeArray %v4uint +%_struct_1973 = OpTypeStruct %_runtimearr_v4uint_0 +%_ptr_Uniform__struct_1973 = OpTypePointer Uniform %_struct_1973 + %4218 = OpVariable %_ptr_Uniform__struct_1973 Uniform +%_ptr_Uniform_v4uint = OpTypePointer Uniform %v4uint +%gl_WorkGroupSize = OpConstantComposite %v3uint %uint_8 %uint_32 %uint_1 + %1870 = OpConstantComposite %v2uint %uint_3 %uint_3 + %uint_9 = OpConstant %uint 9 + %uint_10 = OpConstant %uint 10 + %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 + %850 = OpConstantComposite %v4uint %uint_65535 %uint_65535 %uint_65535 %uint_65535 + %5663 = OpFunction %void None %1282 + %15110 = OpLabel + OpSelectionMerge %19578 None + OpSwitch %uint_0 %15137 + %15137 = OpLabel + %12591 = OpLoad %v3uint %gl_GlobalInvocationID + %10229 = OpShiftLeftLogical %v3uint %12591 %2596 + %25178 = OpAccessChain %_ptr_Uniform_v3uint %5245 %int_4 + %22965 = OpLoad %v3uint %25178 + %18835 = OpVectorShuffle %v2uint %10229 %10229 0 1 + %6626 = OpVectorShuffle %v2uint %22965 %22965 0 1 + %17032 = OpUGreaterThanEqual %v2bool %18835 %6626 + %24679 = OpAny %bool %17032 + OpSelectionMerge %6282 DontFlatten + OpBranchConditional %24679 %21992 %6282 + %21992 = OpLabel + OpBranch %19578 + %6282 = OpLabel + %6795 = OpBitcast %v3int %10229 + %18792 = OpAccessChain %_ptr_Uniform_uint %5245 %int_6 + %9788 = OpLoad %uint %18792 + %20376 = OpCompositeExtract %uint %22965 1 + %14692 = OpCompositeExtract %int %6795 0 + %22810 = OpIMul %int %14692 %int_8 + %6362 = OpCompositeExtract %int %6795 2 + %14505 = OpBitcast %int %20376 + %11279 = OpIMul %int %6362 %14505 + %17598 = OpCompositeExtract %int %6795 1 + %22228 = OpIAdd %int %11279 %17598 + %22405 = OpBitcast %int %9788 + %24535 = OpIMul %int %22228 %22405 + %7061 = OpIAdd %int %22810 %24535 + %19270 = OpBitcast %uint %7061 + %19460 = OpAccessChain %_ptr_Uniform_uint %5245 %int_5 + %22875 = OpLoad %uint %19460 + %8517 = OpIAdd %uint %19270 %22875 + %21670 = OpShiftRightLogical %uint %8517 %uint_4 + %18404 = OpAccessChain %_ptr_Uniform_uint %5245 %int_1 + %23432 = OpLoad %uint %18404 + %22700 = OpAccessChain %_ptr_Uniform_uint %5245 %int_0 + %20387 = OpLoad %uint %22700 + %22279 = OpBitwiseAnd %uint %20387 %uint_2 + %19223 = OpINotEqual %bool %22279 %uint_0 + %17247 = OpCompositeConstruct %v2uint %20387 %20387 + %22947 = OpShiftRightLogical %v2uint %17247 %1915 + %6551 = OpBitwiseAnd %v2uint %22947 %1870 + %18732 = OpAccessChain %_ptr_Uniform_uint %5245 %int_2 + %24236 = OpLoad %uint %18732 + %20458 = OpAccessChain %_ptr_Uniform_uint %5245 %int_3 + %22167 = OpLoad %uint %20458 + %18929 = OpCompositeExtract %uint %10229 0 + %6638 = OpShiftRightLogical %uint %18929 %uint_1 + %9988 = OpCompositeExtract %uint %10229 1 + %23563 = OpCompositeConstruct %v2uint %6638 %9988 + %8041 = OpUDiv %v2uint %23563 %6551 + %13932 = OpCompositeExtract %uint %8041 0 + %19789 = OpShiftLeftLogical %uint %13932 %uint_1 + %20905 = OpCompositeExtract %uint %8041 1 + %23022 = OpCompositeExtract %uint %10229 2 + %9417 = OpCompositeConstruct %v3uint %19789 %20905 %23022 + OpSelectionMerge %21313 DontFlatten + OpBranchConditional %19223 %21373 %11737 + %21373 = OpLabel + %10608 = OpBitcast %v3int %9417 + %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 %22167 %uint_4 + %6314 = OpBitcast %int %23373 + %21281 = OpIMul %int %16476 %6314 + %15143 = OpIAdd %int %9469 %21281 + %9032 = OpShiftRightLogical %uint %24236 %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_9 + %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_9 + %24035 = OpShiftRightArithmetic %int %7048 %int_6 + %8725 = OpShiftRightArithmetic %int %17090 %int_3 + %13731 = OpIAdd %int %8725 %16476 + %23052 = OpBitwiseAnd %int %13731 %int_1 + %16658 = OpShiftRightArithmetic %int %25154 %int_3 + %18794 = OpShiftLeftLogical %int %23052 %int_1 + %13501 = OpIAdd %int %16658 %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_9 + %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 %9417 %9417 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 %24236 %uint_5 + %6315 = OpBitcast %int %23374 + %21319 = OpIMul %int %16477 %6315 + %16222 = OpIAdd %int %9470 %21319 + %19086 = OpShiftLeftLogical %int %16222 %uint_10 + %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_3 + %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 %8041 %6551 + %15292 = OpISub %v2uint %23563 %16296 + %7303 = OpCompositeExtract %uint %6551 0 + %22882 = OpCompositeExtract %uint %6551 1 + %13170 = OpIMul %uint %7303 %22882 + %15520 = OpIMul %uint %9468 %13170 + %16084 = OpCompositeExtract %uint %15292 0 + %15890 = OpIMul %uint %16084 %22882 + %6886 = OpCompositeExtract %uint %15292 1 + %11045 = OpIAdd %uint %15890 %6886 + %24733 = OpShiftLeftLogical %uint %11045 %uint_1 + %23219 = OpBitwiseAnd %uint %18929 %uint_1 + %9559 = OpIAdd %uint %24733 %23219 + %16557 = OpShiftLeftLogical %uint %9559 %uint_3 + %20138 = OpIAdd %uint %15520 %16557 + %17724 = OpIAdd %uint %23432 %20138 + %14040 = OpShiftRightLogical %uint %17724 %uint_4 + %11766 = OpShiftRightLogical %uint %20387 %uint_2 + %8394 = OpBitwiseAnd %uint %11766 %uint_3 + %20727 = OpAccessChain %_ptr_Uniform_v4uint %4218 %int_0 %14040 + %8142 = OpLoad %v4uint %20727 + %13760 = OpIEqual %bool %8394 %uint_1 + %21366 = OpIEqual %bool %8394 %uint_2 + %22150 = OpLogicalOr %bool %13760 %21366 + OpSelectionMerge %13411 None + OpBranchConditional %22150 %10583 %13411 + %10583 = OpLabel + %18271 = OpBitwiseAnd %v4uint %8142 %2510 + %9425 = OpShiftLeftLogical %v4uint %18271 %317 + %20652 = OpBitwiseAnd %v4uint %8142 %1838 + %17549 = OpShiftRightLogical %v4uint %20652 %317 + %16376 = OpBitwiseOr %v4uint %9425 %17549 + OpBranch %13411 + %13411 = OpLabel + %22649 = OpPhi %v4uint %8142 %21313 %16376 %10583 + %19638 = OpIEqual %bool %8394 %uint_3 + %15139 = OpLogicalOr %bool %21366 %19638 + OpSelectionMerge %13962 None + OpBranchConditional %15139 %11064 %13962 + %11064 = OpLabel + %24087 = OpShiftLeftLogical %v4uint %22649 %749 + %15335 = OpShiftRightLogical %v4uint %22649 %749 + %10728 = OpBitwiseOr %v4uint %24087 %15335 + OpBranch %13962 + %13962 = OpLabel + %16606 = OpPhi %v4uint %22649 %13411 %10728 %11064 + %18240 = OpBitwiseAnd %v4uint %16606 %850 + %9137 = OpConvertUToF %v4float %18240 + %19365 = OpVectorTimesScalar %v4float %9137 %float_1_52590219en05 + %23367 = OpShiftRightLogical %v4uint %16606 %749 + %18492 = OpConvertUToF %v4float %23367 + %18450 = OpVectorTimesScalar %v4float %18492 %float_1_52590219en05 + %6268 = OpCompositeExtract %float %19365 0 + %13806 = OpCompositeExtract %float %18450 0 + %19232 = OpCompositeConstruct %v2float %6268 %13806 + %8561 = OpExtInst %uint %1 PackHalf2x16 %19232 + %23487 = OpCompositeExtract %float %19365 1 + %14759 = OpCompositeExtract %float %18450 1 + %19233 = OpCompositeConstruct %v2float %23487 %14759 + %8562 = OpExtInst %uint %1 PackHalf2x16 %19233 + %23488 = OpCompositeExtract %float %19365 2 + %14760 = OpCompositeExtract %float %18450 2 + %19234 = OpCompositeConstruct %v2float %23488 %14760 + %8563 = OpExtInst %uint %1 PackHalf2x16 %19234 + %23489 = OpCompositeExtract %float %19365 3 + %14761 = OpCompositeExtract %float %18450 3 + %19213 = OpCompositeConstruct %v2float %23489 %14761 + %8430 = OpExtInst %uint %1 PackHalf2x16 %19213 + %15035 = OpCompositeConstruct %v4uint %8561 %8562 %8563 %8430 + %17859 = OpAccessChain %_ptr_Uniform_v4uint %5134 %int_0 %21670 + OpStore %17859 %15035 + %15532 = OpIAdd %uint %21670 %int_1 + %6417 = OpUGreaterThan %bool %7303 %uint_1 + OpSelectionMerge %24764 DontFlatten + OpBranchConditional %6417 %20612 %20628 + %20612 = OpLabel + %13975 = OpUDiv %uint %6638 %7303 + %9086 = OpIMul %uint %13975 %7303 + %12657 = OpISub %uint %6638 %9086 + %9511 = OpIAdd %uint %12657 %uint_1 + %13375 = OpIEqual %bool %9511 %7303 + OpSelectionMerge %7917 None + OpBranchConditional %13375 %22174 %8593 + %22174 = OpLabel + %19289 = OpIMul %uint %uint_32 %7303 + %21519 = OpShiftLeftLogical %uint %12657 %uint_4 + %18756 = OpISub %uint %19289 %21519 + OpBranch %7917 + %8593 = OpLabel + OpBranch %7917 + %7917 = OpLabel + %10540 = OpPhi %uint %18756 %22174 %uint_16 %8593 + OpBranch %24764 + %20628 = OpLabel + OpBranch %24764 + %24764 = OpLabel + %10684 = OpPhi %uint %10540 %7917 %uint_32 %20628 + %18731 = OpIMul %uint %10684 %22882 + %16493 = OpShiftRightLogical %uint %18731 %uint_4 + %13163 = OpIAdd %uint %14040 %16493 + %22298 = OpAccessChain %_ptr_Uniform_v4uint %4218 %int_0 %13163 + %6578 = OpLoad %v4uint %22298 + OpSelectionMerge %14874 None + OpBranchConditional %22150 %10584 %14874 + %10584 = OpLabel + %18272 = OpBitwiseAnd %v4uint %6578 %2510 + %9426 = OpShiftLeftLogical %v4uint %18272 %317 + %20653 = OpBitwiseAnd %v4uint %6578 %1838 + %17550 = OpShiftRightLogical %v4uint %20653 %317 + %16377 = OpBitwiseOr %v4uint %9426 %17550 + OpBranch %14874 + %14874 = OpLabel + %10924 = OpPhi %v4uint %6578 %24764 %16377 %10584 + OpSelectionMerge %13963 None + OpBranchConditional %15139 %11065 %13963 + %11065 = OpLabel + %24088 = OpShiftLeftLogical %v4uint %10924 %749 + %15336 = OpShiftRightLogical %v4uint %10924 %749 + %10729 = OpBitwiseOr %v4uint %24088 %15336 + OpBranch %13963 + %13963 = OpLabel + %16607 = OpPhi %v4uint %10924 %14874 %10729 %11065 + %18241 = OpBitwiseAnd %v4uint %16607 %850 + %9138 = OpConvertUToF %v4float %18241 + %19366 = OpVectorTimesScalar %v4float %9138 %float_1_52590219en05 + %23368 = OpShiftRightLogical %v4uint %16607 %749 + %18493 = OpConvertUToF %v4float %23368 + %18451 = OpVectorTimesScalar %v4float %18493 %float_1_52590219en05 + %6269 = OpCompositeExtract %float %19366 0 + %13807 = OpCompositeExtract %float %18451 0 + %19235 = OpCompositeConstruct %v2float %6269 %13807 + %8564 = OpExtInst %uint %1 PackHalf2x16 %19235 + %23490 = OpCompositeExtract %float %19366 1 + %14762 = OpCompositeExtract %float %18451 1 + %19236 = OpCompositeConstruct %v2float %23490 %14762 + %8565 = OpExtInst %uint %1 PackHalf2x16 %19236 + %23491 = OpCompositeExtract %float %19366 2 + %14763 = OpCompositeExtract %float %18451 2 + %19237 = OpCompositeConstruct %v2float %23491 %14763 + %8566 = OpExtInst %uint %1 PackHalf2x16 %19237 + %23492 = OpCompositeExtract %float %19366 3 + %14764 = OpCompositeExtract %float %18451 3 + %19214 = OpCompositeConstruct %v2float %23492 %14764 + %8431 = OpExtInst %uint %1 PackHalf2x16 %19214 + %15036 = OpCompositeConstruct %v4uint %8564 %8565 %8566 %8431 + %20158 = OpAccessChain %_ptr_Uniform_v4uint %5134 %int_0 %15532 + OpStore %20158 %15036 + OpBranch %19578 + %19578 = OpLabel + OpReturn + OpFunctionEnd +#endif + +const uint32_t texture_load_rgba16_unorm_float_scaled_cs[] = { + 0x07230203, 0x00010000, 0x0008000A, 0x0000625B, 0x00000000, 0x00020011, + 0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E, + 0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0006000F, 0x00000005, + 0x0000161F, 0x6E69616D, 0x00000000, 0x00000F48, 0x00060010, 0x0000161F, + 0x00000011, 0x00000008, 0x00000020, 0x00000001, 0x00050048, 0x00000489, + 0x00000000, 0x00000023, 0x00000000, 0x00050048, 0x00000489, 0x00000001, + 0x00000023, 0x00000004, 0x00050048, 0x00000489, 0x00000002, 0x00000023, + 0x00000008, 0x00050048, 0x00000489, 0x00000003, 0x00000023, 0x0000000C, + 0x00050048, 0x00000489, 0x00000004, 0x00000023, 0x00000010, 0x00050048, + 0x00000489, 0x00000005, 0x00000023, 0x0000001C, 0x00050048, 0x00000489, + 0x00000006, 0x00000023, 0x00000020, 0x00050048, 0x00000489, 0x00000007, + 0x00000023, 0x00000024, 0x00030047, 0x00000489, 0x00000002, 0x00040047, + 0x0000147D, 0x00000022, 0x00000002, 0x00040047, 0x0000147D, 0x00000021, + 0x00000000, 0x00040047, 0x00000F48, 0x0000000B, 0x0000001C, 0x00040047, + 0x000007DC, 0x00000006, 0x00000010, 0x00040048, 0x000007B4, 0x00000000, + 0x00000019, 0x00050048, 0x000007B4, 0x00000000, 0x00000023, 0x00000000, + 0x00030047, 0x000007B4, 0x00000003, 0x00040047, 0x0000140E, 0x00000022, + 0x00000000, 0x00040047, 0x0000140E, 0x00000021, 0x00000000, 0x00040047, + 0x000007DD, 0x00000006, 0x00000010, 0x00040048, 0x000007B5, 0x00000000, + 0x00000018, 0x00050048, 0x000007B5, 0x00000000, 0x00000023, 0x00000000, + 0x00030047, 0x000007B5, 0x00000003, 0x00040047, 0x0000107A, 0x00000022, + 0x00000001, 0x00040047, 0x0000107A, 0x00000021, 0x00000000, 0x00040047, + 0x00000024, 0x0000000B, 0x00000019, 0x00020013, 0x00000008, 0x00030021, + 0x00000502, 0x00000008, 0x00040015, 0x0000000B, 0x00000020, 0x00000000, + 0x00040017, 0x00000017, 0x0000000B, 0x00000004, 0x00040015, 0x0000000C, + 0x00000020, 0x00000001, 0x00040017, 0x00000012, 0x0000000C, 0x00000002, + 0x00040017, 0x00000016, 0x0000000C, 0x00000003, 0x00020014, 0x00000009, + 0x00040017, 0x00000014, 0x0000000B, 0x00000003, 0x00040017, 0x00000011, + 0x0000000B, 0x00000002, 0x00030016, 0x0000000D, 0x00000020, 0x00040017, + 0x0000001D, 0x0000000D, 0x00000004, 0x0004002B, 0x0000000B, 0x000001C1, + 0x0000FFFF, 0x0004002B, 0x0000000D, 0x0000092A, 0x37800080, 0x0004002B, + 0x0000000B, 0x00000A3A, 0x00000010, 0x0004002B, 0x0000000B, 0x00000A0A, + 0x00000000, 0x00040017, 0x00000013, 0x0000000D, 0x00000002, 0x0004002B, + 0x0000000B, 0x00000A0D, 0x00000001, 0x0004002B, 0x0000000B, 0x00000A10, + 0x00000002, 0x0004002B, 0x0000000B, 0x00000A13, 0x00000003, 0x0004002B, + 0x0000000B, 0x000008A6, 0x00FF00FF, 0x0004002B, 0x0000000B, 0x00000A22, + 0x00000008, 0x0004002B, 0x0000000B, 0x000005FD, 0xFF00FF00, 0x0004002B, + 0x0000000C, 0x00000A1A, 0x00000005, 0x0004002B, 0x0000000B, 0x00000A19, + 0x00000005, 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, 0x0000000B, 0x00000A1C, 0x00000006, 0x0004002B, + 0x0000000C, 0x0000078B, 0x0FFFFFFF, 0x0004002B, 0x0000000C, 0x00000A05, + 0xFFFFFFFE, 0x0004002B, 0x0000000B, 0x00000A6A, 0x00000020, 0x000A001E, + 0x00000489, 0x0000000B, 0x0000000B, 0x0000000B, 0x0000000B, 0x00000014, + 0x0000000B, 0x0000000B, 0x0000000B, 0x00040020, 0x00000706, 0x00000002, + 0x00000489, 0x0004003B, 0x00000706, 0x0000147D, 0x00000002, 0x0004002B, + 0x0000000C, 0x00000A0B, 0x00000000, 0x00040020, 0x00000288, 0x00000002, + 0x0000000B, 0x0005002C, 0x00000011, 0x0000077B, 0x00000A16, 0x00000A1C, + 0x00040020, 0x00000291, 0x00000002, 0x00000014, 0x00040020, 0x00000292, + 0x00000001, 0x00000014, 0x0004003B, 0x00000292, 0x00000F48, 0x00000001, + 0x0006002C, 0x00000014, 0x00000A24, 0x00000A10, 0x00000A0A, 0x00000A0A, + 0x00040017, 0x0000000F, 0x00000009, 0x00000002, 0x0003001D, 0x000007DC, + 0x00000017, 0x0003001E, 0x000007B4, 0x000007DC, 0x00040020, 0x00000A31, + 0x00000002, 0x000007B4, 0x0004003B, 0x00000A31, 0x0000140E, 0x00000002, + 0x0003001D, 0x000007DD, 0x00000017, 0x0003001E, 0x000007B5, 0x000007DD, + 0x00040020, 0x00000A32, 0x00000002, 0x000007B5, 0x0004003B, 0x00000A32, + 0x0000107A, 0x00000002, 0x00040020, 0x00000294, 0x00000002, 0x00000017, + 0x0006002C, 0x00000014, 0x00000024, 0x00000A22, 0x00000A6A, 0x00000A0D, + 0x0005002C, 0x00000011, 0x0000074E, 0x00000A13, 0x00000A13, 0x0004002B, + 0x0000000B, 0x00000A25, 0x00000009, 0x0004002B, 0x0000000B, 0x00000A28, + 0x0000000A, 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, 0x0007002C, + 0x00000017, 0x00000352, 0x000001C1, 0x000001C1, 0x000001C1, 0x000001C1, + 0x00050036, 0x00000008, 0x0000161F, 0x00000000, 0x00000502, 0x000200F8, + 0x00003B06, 0x000300F7, 0x00004C7A, 0x00000000, 0x000300FB, 0x00000A0A, + 0x00003B21, 0x000200F8, 0x00003B21, 0x0004003D, 0x00000014, 0x0000312F, + 0x00000F48, 0x000500C4, 0x00000014, 0x000027F5, 0x0000312F, 0x00000A24, + 0x00050041, 0x00000291, 0x0000625A, 0x0000147D, 0x00000A17, 0x0004003D, + 0x00000014, 0x000059B5, 0x0000625A, 0x0007004F, 0x00000011, 0x00004993, + 0x000027F5, 0x000027F5, 0x00000000, 0x00000001, 0x0007004F, 0x00000011, + 0x000019E2, 0x000059B5, 0x000059B5, 0x00000000, 0x00000001, 0x000500AE, + 0x0000000F, 0x00004288, 0x00004993, 0x000019E2, 0x0004009A, 0x00000009, + 0x00006067, 0x00004288, 0x000300F7, 0x0000188A, 0x00000002, 0x000400FA, + 0x00006067, 0x000055E8, 0x0000188A, 0x000200F8, 0x000055E8, 0x000200F9, + 0x00004C7A, 0x000200F8, 0x0000188A, 0x0004007C, 0x00000016, 0x00001A8B, + 0x000027F5, 0x00050041, 0x00000288, 0x00004968, 0x0000147D, 0x00000A1D, + 0x0004003D, 0x0000000B, 0x0000263C, 0x00004968, 0x00050051, 0x0000000B, + 0x00004F98, 0x000059B5, 0x00000001, 0x00050051, 0x0000000C, 0x00003964, + 0x00001A8B, 0x00000000, 0x00050084, 0x0000000C, 0x0000591A, 0x00003964, + 0x00000A23, 0x00050051, 0x0000000C, 0x000018DA, 0x00001A8B, 0x00000002, + 0x0004007C, 0x0000000C, 0x000038A9, 0x00004F98, 0x00050084, 0x0000000C, + 0x00002C0F, 0x000018DA, 0x000038A9, 0x00050051, 0x0000000C, 0x000044BE, + 0x00001A8B, 0x00000001, 0x00050080, 0x0000000C, 0x000056D4, 0x00002C0F, + 0x000044BE, 0x0004007C, 0x0000000C, 0x00005785, 0x0000263C, 0x00050084, + 0x0000000C, 0x00005FD7, 0x000056D4, 0x00005785, 0x00050080, 0x0000000C, + 0x00001B95, 0x0000591A, 0x00005FD7, 0x0004007C, 0x0000000B, 0x00004B46, + 0x00001B95, 0x00050041, 0x00000288, 0x00004C04, 0x0000147D, 0x00000A1A, + 0x0004003D, 0x0000000B, 0x0000595B, 0x00004C04, 0x00050080, 0x0000000B, + 0x00002145, 0x00004B46, 0x0000595B, 0x000500C2, 0x0000000B, 0x000054A6, + 0x00002145, 0x00000A16, 0x00050041, 0x00000288, 0x000047E4, 0x0000147D, + 0x00000A0E, 0x0004003D, 0x0000000B, 0x00005B88, 0x000047E4, 0x00050041, + 0x00000288, 0x000058AC, 0x0000147D, 0x00000A0B, 0x0004003D, 0x0000000B, + 0x00004FA3, 0x000058AC, 0x000500C7, 0x0000000B, 0x00005707, 0x00004FA3, + 0x00000A10, 0x000500AB, 0x00000009, 0x00004B17, 0x00005707, 0x00000A0A, + 0x00050050, 0x00000011, 0x0000435F, 0x00004FA3, 0x00004FA3, 0x000500C2, + 0x00000011, 0x000059A3, 0x0000435F, 0x0000077B, 0x000500C7, 0x00000011, + 0x00001997, 0x000059A3, 0x0000074E, 0x00050041, 0x00000288, 0x0000492C, + 0x0000147D, 0x00000A11, 0x0004003D, 0x0000000B, 0x00005EAC, 0x0000492C, + 0x00050041, 0x00000288, 0x00004FEA, 0x0000147D, 0x00000A14, 0x0004003D, + 0x0000000B, 0x00005697, 0x00004FEA, 0x00050051, 0x0000000B, 0x000049F1, + 0x000027F5, 0x00000000, 0x000500C2, 0x0000000B, 0x000019EE, 0x000049F1, + 0x00000A0D, 0x00050051, 0x0000000B, 0x00002704, 0x000027F5, 0x00000001, + 0x00050050, 0x00000011, 0x00005C0B, 0x000019EE, 0x00002704, 0x00050086, + 0x00000011, 0x00001F69, 0x00005C0B, 0x00001997, 0x00050051, 0x0000000B, + 0x0000366C, 0x00001F69, 0x00000000, 0x000500C4, 0x0000000B, 0x00004D4D, + 0x0000366C, 0x00000A0D, 0x00050051, 0x0000000B, 0x000051A9, 0x00001F69, + 0x00000001, 0x00050051, 0x0000000B, 0x000059EE, 0x000027F5, 0x00000002, + 0x00060050, 0x00000014, 0x000024C9, 0x00004D4D, 0x000051A9, 0x000059EE, + 0x000300F7, 0x00005341, 0x00000002, 0x000400FA, 0x00004B17, 0x0000537D, + 0x00002DD9, 0x000200F8, 0x0000537D, 0x0004007C, 0x00000016, 0x00002970, + 0x000024C9, 0x00050051, 0x0000000C, 0x000042C2, 0x00002970, 0x00000001, + 0x000500C3, 0x0000000C, 0x000024FD, 0x000042C2, 0x00000A17, 0x00050051, + 0x0000000C, 0x00002747, 0x00002970, 0x00000002, 0x000500C3, 0x0000000C, + 0x0000405C, 0x00002747, 0x00000A11, 0x000500C2, 0x0000000B, 0x00005B4D, + 0x00005697, 0x00000A16, 0x0004007C, 0x0000000C, 0x000018AA, 0x00005B4D, + 0x00050084, 0x0000000C, 0x00005321, 0x0000405C, 0x000018AA, 0x00050080, + 0x0000000C, 0x00003B27, 0x000024FD, 0x00005321, 0x000500C2, 0x0000000B, + 0x00002348, 0x00005EAC, 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, 0x00000A25, 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, + 0x00000A25, 0x000500C3, 0x0000000C, 0x00005DE3, 0x00001B88, 0x00000A1D, + 0x000500C3, 0x0000000C, 0x00002215, 0x000042C2, 0x00000A14, 0x00050080, + 0x0000000C, 0x000035A3, 0x00002215, 0x0000405C, 0x000500C7, 0x0000000C, + 0x00005A0C, 0x000035A3, 0x00000A0E, 0x000500C3, 0x0000000C, 0x00004112, + 0x00006242, 0x00000A14, 0x000500C4, 0x0000000C, 0x0000496A, 0x00005A0C, + 0x00000A0E, 0x00050080, 0x0000000C, 0x000034BD, 0x00004112, 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, 0x00000A25, 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, 0x000024C9, 0x000024C9, 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, 0x00005EAC, 0x00000A19, 0x0004007C, 0x0000000C, + 0x000018AB, 0x00005B4E, 0x00050084, 0x0000000C, 0x00005347, 0x0000405D, + 0x000018AB, 0x00050080, 0x0000000C, 0x00003F5E, 0x000024FE, 0x00005347, + 0x000500C4, 0x0000000C, 0x00004A8E, 0x00003F5E, 0x00000A28, 0x000500C7, + 0x0000000C, 0x00002AB6, 0x00001903, 0x00000A20, 0x000500C7, 0x0000000C, + 0x00003139, 0x00002748, 0x00000A35, 0x000500C4, 0x0000000C, 0x0000454E, + 0x00003139, 0x00000A11, 0x00050080, 0x0000000C, 0x00004397, 0x00002AB6, + 0x0000454E, 0x000500C4, 0x0000000C, 0x000018E7, 0x00004397, 0x00000A13, + 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, 0x00001F69, + 0x00001997, 0x00050082, 0x00000011, 0x00003BBC, 0x00005C0B, 0x00003FA8, + 0x00050051, 0x0000000B, 0x00001C87, 0x00001997, 0x00000000, 0x00050051, + 0x0000000B, 0x00005962, 0x00001997, 0x00000001, 0x00050084, 0x0000000B, + 0x00003372, 0x00001C87, 0x00005962, 0x00050084, 0x0000000B, 0x00003CA0, + 0x000024FC, 0x00003372, 0x00050051, 0x0000000B, 0x00003ED4, 0x00003BBC, + 0x00000000, 0x00050084, 0x0000000B, 0x00003E12, 0x00003ED4, 0x00005962, + 0x00050051, 0x0000000B, 0x00001AE6, 0x00003BBC, 0x00000001, 0x00050080, + 0x0000000B, 0x00002B25, 0x00003E12, 0x00001AE6, 0x000500C4, 0x0000000B, + 0x0000609D, 0x00002B25, 0x00000A0D, 0x000500C7, 0x0000000B, 0x00005AB3, + 0x000049F1, 0x00000A0D, 0x00050080, 0x0000000B, 0x00002557, 0x0000609D, + 0x00005AB3, 0x000500C4, 0x0000000B, 0x000040AD, 0x00002557, 0x00000A13, + 0x00050080, 0x0000000B, 0x00004EAA, 0x00003CA0, 0x000040AD, 0x00050080, + 0x0000000B, 0x0000453C, 0x00005B88, 0x00004EAA, 0x000500C2, 0x0000000B, + 0x000036D8, 0x0000453C, 0x00000A16, 0x000500C2, 0x0000000B, 0x00002DF6, + 0x00004FA3, 0x00000A10, 0x000500C7, 0x0000000B, 0x000020CA, 0x00002DF6, + 0x00000A13, 0x00060041, 0x00000294, 0x000050F7, 0x0000107A, 0x00000A0B, + 0x000036D8, 0x0004003D, 0x00000017, 0x00001FCE, 0x000050F7, 0x000500AA, + 0x00000009, 0x000035C0, 0x000020CA, 0x00000A0D, 0x000500AA, 0x00000009, + 0x00005376, 0x000020CA, 0x00000A10, 0x000500A6, 0x00000009, 0x00005686, + 0x000035C0, 0x00005376, 0x000300F7, 0x00003463, 0x00000000, 0x000400FA, + 0x00005686, 0x00002957, 0x00003463, 0x000200F8, 0x00002957, 0x000500C7, + 0x00000017, 0x0000475F, 0x00001FCE, 0x000009CE, 0x000500C4, 0x00000017, + 0x000024D1, 0x0000475F, 0x0000013D, 0x000500C7, 0x00000017, 0x000050AC, + 0x00001FCE, 0x0000072E, 0x000500C2, 0x00000017, 0x0000448D, 0x000050AC, + 0x0000013D, 0x000500C5, 0x00000017, 0x00003FF8, 0x000024D1, 0x0000448D, + 0x000200F9, 0x00003463, 0x000200F8, 0x00003463, 0x000700F5, 0x00000017, + 0x00005879, 0x00001FCE, 0x00005341, 0x00003FF8, 0x00002957, 0x000500AA, + 0x00000009, 0x00004CB6, 0x000020CA, 0x00000A13, 0x000500A6, 0x00000009, + 0x00003B23, 0x00005376, 0x00004CB6, 0x000300F7, 0x0000368A, 0x00000000, + 0x000400FA, 0x00003B23, 0x00002B38, 0x0000368A, 0x000200F8, 0x00002B38, + 0x000500C4, 0x00000017, 0x00005E17, 0x00005879, 0x000002ED, 0x000500C2, + 0x00000017, 0x00003BE7, 0x00005879, 0x000002ED, 0x000500C5, 0x00000017, + 0x000029E8, 0x00005E17, 0x00003BE7, 0x000200F9, 0x0000368A, 0x000200F8, + 0x0000368A, 0x000700F5, 0x00000017, 0x000040DE, 0x00005879, 0x00003463, + 0x000029E8, 0x00002B38, 0x000500C7, 0x00000017, 0x00004740, 0x000040DE, + 0x00000352, 0x00040070, 0x0000001D, 0x000023B1, 0x00004740, 0x0005008E, + 0x0000001D, 0x00004BA5, 0x000023B1, 0x0000092A, 0x000500C2, 0x00000017, + 0x00005B47, 0x000040DE, 0x000002ED, 0x00040070, 0x0000001D, 0x0000483C, + 0x00005B47, 0x0005008E, 0x0000001D, 0x00004812, 0x0000483C, 0x0000092A, + 0x00050051, 0x0000000D, 0x0000187C, 0x00004BA5, 0x00000000, 0x00050051, + 0x0000000D, 0x000035EE, 0x00004812, 0x00000000, 0x00050050, 0x00000013, + 0x00004B20, 0x0000187C, 0x000035EE, 0x0006000C, 0x0000000B, 0x00002171, + 0x00000001, 0x0000003A, 0x00004B20, 0x00050051, 0x0000000D, 0x00005BBF, + 0x00004BA5, 0x00000001, 0x00050051, 0x0000000D, 0x000039A7, 0x00004812, + 0x00000001, 0x00050050, 0x00000013, 0x00004B21, 0x00005BBF, 0x000039A7, + 0x0006000C, 0x0000000B, 0x00002172, 0x00000001, 0x0000003A, 0x00004B21, + 0x00050051, 0x0000000D, 0x00005BC0, 0x00004BA5, 0x00000002, 0x00050051, + 0x0000000D, 0x000039A8, 0x00004812, 0x00000002, 0x00050050, 0x00000013, + 0x00004B22, 0x00005BC0, 0x000039A8, 0x0006000C, 0x0000000B, 0x00002173, + 0x00000001, 0x0000003A, 0x00004B22, 0x00050051, 0x0000000D, 0x00005BC1, + 0x00004BA5, 0x00000003, 0x00050051, 0x0000000D, 0x000039A9, 0x00004812, + 0x00000003, 0x00050050, 0x00000013, 0x00004B0D, 0x00005BC1, 0x000039A9, + 0x0006000C, 0x0000000B, 0x000020EE, 0x00000001, 0x0000003A, 0x00004B0D, + 0x00070050, 0x00000017, 0x00003ABB, 0x00002171, 0x00002172, 0x00002173, + 0x000020EE, 0x00060041, 0x00000294, 0x000045C3, 0x0000140E, 0x00000A0B, + 0x000054A6, 0x0003003E, 0x000045C3, 0x00003ABB, 0x00050080, 0x0000000B, + 0x00003CAC, 0x000054A6, 0x00000A0E, 0x000500AC, 0x00000009, 0x00001911, + 0x00001C87, 0x00000A0D, 0x000300F7, 0x000060BC, 0x00000002, 0x000400FA, + 0x00001911, 0x00005084, 0x00005094, 0x000200F8, 0x00005084, 0x00050086, + 0x0000000B, 0x00003697, 0x000019EE, 0x00001C87, 0x00050084, 0x0000000B, + 0x0000237E, 0x00003697, 0x00001C87, 0x00050082, 0x0000000B, 0x00003171, + 0x000019EE, 0x0000237E, 0x00050080, 0x0000000B, 0x00002527, 0x00003171, + 0x00000A0D, 0x000500AA, 0x00000009, 0x0000343F, 0x00002527, 0x00001C87, + 0x000300F7, 0x00001EED, 0x00000000, 0x000400FA, 0x0000343F, 0x0000569E, + 0x00002191, 0x000200F8, 0x0000569E, 0x00050084, 0x0000000B, 0x00004B59, + 0x00000A6A, 0x00001C87, 0x000500C4, 0x0000000B, 0x0000540F, 0x00003171, + 0x00000A16, 0x00050082, 0x0000000B, 0x00004944, 0x00004B59, 0x0000540F, + 0x000200F9, 0x00001EED, 0x000200F8, 0x00002191, 0x000200F9, 0x00001EED, + 0x000200F8, 0x00001EED, 0x000700F5, 0x0000000B, 0x0000292C, 0x00004944, + 0x0000569E, 0x00000A3A, 0x00002191, 0x000200F9, 0x000060BC, 0x000200F8, + 0x00005094, 0x000200F9, 0x000060BC, 0x000200F8, 0x000060BC, 0x000700F5, + 0x0000000B, 0x000029BC, 0x0000292C, 0x00001EED, 0x00000A6A, 0x00005094, + 0x00050084, 0x0000000B, 0x0000492B, 0x000029BC, 0x00005962, 0x000500C2, + 0x0000000B, 0x0000406D, 0x0000492B, 0x00000A16, 0x00050080, 0x0000000B, + 0x0000336B, 0x000036D8, 0x0000406D, 0x00060041, 0x00000294, 0x0000571A, + 0x0000107A, 0x00000A0B, 0x0000336B, 0x0004003D, 0x00000017, 0x000019B2, + 0x0000571A, 0x000300F7, 0x00003A1A, 0x00000000, 0x000400FA, 0x00005686, + 0x00002958, 0x00003A1A, 0x000200F8, 0x00002958, 0x000500C7, 0x00000017, + 0x00004760, 0x000019B2, 0x000009CE, 0x000500C4, 0x00000017, 0x000024D2, + 0x00004760, 0x0000013D, 0x000500C7, 0x00000017, 0x000050AD, 0x000019B2, + 0x0000072E, 0x000500C2, 0x00000017, 0x0000448E, 0x000050AD, 0x0000013D, + 0x000500C5, 0x00000017, 0x00003FF9, 0x000024D2, 0x0000448E, 0x000200F9, + 0x00003A1A, 0x000200F8, 0x00003A1A, 0x000700F5, 0x00000017, 0x00002AAC, + 0x000019B2, 0x000060BC, 0x00003FF9, 0x00002958, 0x000300F7, 0x0000368B, + 0x00000000, 0x000400FA, 0x00003B23, 0x00002B39, 0x0000368B, 0x000200F8, + 0x00002B39, 0x000500C4, 0x00000017, 0x00005E18, 0x00002AAC, 0x000002ED, + 0x000500C2, 0x00000017, 0x00003BE8, 0x00002AAC, 0x000002ED, 0x000500C5, + 0x00000017, 0x000029E9, 0x00005E18, 0x00003BE8, 0x000200F9, 0x0000368B, + 0x000200F8, 0x0000368B, 0x000700F5, 0x00000017, 0x000040DF, 0x00002AAC, + 0x00003A1A, 0x000029E9, 0x00002B39, 0x000500C7, 0x00000017, 0x00004741, + 0x000040DF, 0x00000352, 0x00040070, 0x0000001D, 0x000023B2, 0x00004741, + 0x0005008E, 0x0000001D, 0x00004BA6, 0x000023B2, 0x0000092A, 0x000500C2, + 0x00000017, 0x00005B48, 0x000040DF, 0x000002ED, 0x00040070, 0x0000001D, + 0x0000483D, 0x00005B48, 0x0005008E, 0x0000001D, 0x00004813, 0x0000483D, + 0x0000092A, 0x00050051, 0x0000000D, 0x0000187D, 0x00004BA6, 0x00000000, + 0x00050051, 0x0000000D, 0x000035EF, 0x00004813, 0x00000000, 0x00050050, + 0x00000013, 0x00004B23, 0x0000187D, 0x000035EF, 0x0006000C, 0x0000000B, + 0x00002174, 0x00000001, 0x0000003A, 0x00004B23, 0x00050051, 0x0000000D, + 0x00005BC2, 0x00004BA6, 0x00000001, 0x00050051, 0x0000000D, 0x000039AA, + 0x00004813, 0x00000001, 0x00050050, 0x00000013, 0x00004B24, 0x00005BC2, + 0x000039AA, 0x0006000C, 0x0000000B, 0x00002175, 0x00000001, 0x0000003A, + 0x00004B24, 0x00050051, 0x0000000D, 0x00005BC3, 0x00004BA6, 0x00000002, + 0x00050051, 0x0000000D, 0x000039AB, 0x00004813, 0x00000002, 0x00050050, + 0x00000013, 0x00004B25, 0x00005BC3, 0x000039AB, 0x0006000C, 0x0000000B, + 0x00002176, 0x00000001, 0x0000003A, 0x00004B25, 0x00050051, 0x0000000D, + 0x00005BC4, 0x00004BA6, 0x00000003, 0x00050051, 0x0000000D, 0x000039AC, + 0x00004813, 0x00000003, 0x00050050, 0x00000013, 0x00004B0E, 0x00005BC4, + 0x000039AC, 0x0006000C, 0x0000000B, 0x000020EF, 0x00000001, 0x0000003A, + 0x00004B0E, 0x00070050, 0x00000017, 0x00003ABC, 0x00002174, 0x00002175, + 0x00002176, 0x000020EF, 0x00060041, 0x00000294, 0x00004EBE, 0x0000140E, + 0x00000A0B, 0x00003CAC, 0x0003003E, 0x00004EBE, 0x00003ABC, 0x000200F9, + 0x00004C7A, 0x000200F8, 0x00004C7A, 0x000100FD, 0x00010038, +}; diff --git a/src/xenia/gpu/shaders/pixel_formats.xesli b/src/xenia/gpu/shaders/pixel_formats.xesli index b00123768..e6b34763f 100644 --- a/src/xenia/gpu/shaders/pixel_formats.xesli +++ b/src/xenia/gpu/shaders/pixel_formats.xesli @@ -358,19 +358,20 @@ xesl_float4 XeUnpackR10G10B10A2Float(uint p) { // Upper 16 bits are ignored by XeUnpackR16EdramX4. xesl_float4 XeUnpackR16EdramX4(xesl_uint4 p) { - return max(xesl_float4(xesl_int4(p) << 16 >> 16) * (32.0 / 32767.0), -1.0); + return max((-1.0).xxxx, + xesl_float4(xesl_int4(p) << 16 >> 16) * (32.0 / 32767.0)); } xesl_float2 XeUnpackR16G16Edram(uint p) { return max( - xesl_float2(int(p).xx << xesl_int2(16, 0) >> 16) * (32.0 / 32767.0), - -1.0); + (-1.0).xx, + xesl_float2(int(p).xx << xesl_int2(16, 0) >> 16) * (32.0 / 32767.0)); } xesl_float4 XeUnpackR16G16B16A16Edram(xesl_uint2 p) { - return max(xesl_float4(xesl_int2(p).xxyy << xesl_int2(16, 0).xyxy >> 16) * - (32.0 / 32767.0), - -1.0); + return max((-1.0).xxxx, + xesl_float4(xesl_int2(p).xxyy << xesl_int2(16, 0).xyxy >> 16) * + (32.0 / 32767.0)); } // Xenos 16-bit packed textures are RGBA, but in Direct3D 12 they are BGRA. @@ -497,6 +498,28 @@ void XeR11G11B10SNormToRGBA16(xesl_uint4 packed_texels, out xesl_uint4 out_01, out_23 = XeR11G11B10SNormToRGBA16(packed_texels.zw); } +xesl_uint4 XeRG16UNormToRG16Float(xesl_uint4 packed_texels) { + xesl_float4 r = xesl_float4(packed_texels & 0xFFFFu) * (1.0 / 65535.0); + xesl_float4 g = xesl_float4(packed_texels >> 16u) * (1.0 / 65535.0); + return xesl_uint4(xesl_packHalf2x16(xesl_float2(r.x, g.x)), + xesl_packHalf2x16(xesl_float2(r.y, g.y)), + xesl_packHalf2x16(xesl_float2(r.z, g.z)), + xesl_packHalf2x16(xesl_float2(r.w, g.w))); +} + +xesl_uint4 XeRG16SNormToRG16Float(xesl_uint4 packed_texels) { + xesl_float4 r = + max((-1.0).xxxx, + xesl_float4(xesl_int4(packed_texels) << 16 >> 16) * (1.0 / 32767.0)); + xesl_float4 g = + max((-1.0).xxxx, + xesl_float4(xesl_int4(packed_texels) >> 16) * (1.0 / 32767.0)); + return xesl_uint4(xesl_packHalf2x16(xesl_float2(r.x, g.x)), + xesl_packHalf2x16(xesl_float2(r.y, g.y)), + xesl_packHalf2x16(xesl_float2(r.z, g.z)), + xesl_packHalf2x16(xesl_float2(r.w, g.w))); +} + // Based on CFloat24 from d3dref9.dll and the 6e4 code from: // https://github.com/Microsoft/DirectXTex/blob/master/DirectXTex/DirectXTexConvert.cpp // 6e4 has a different exponent bias allowing [0,512) values, 20e4 allows [0,2). diff --git a/src/xenia/gpu/shaders/texture_load_64bpb.cs.xesl b/src/xenia/gpu/shaders/texture_load_64bpb.cs.xesl index a5fff71a2..9203c8abf 100644 --- a/src/xenia/gpu/shaders/texture_load_64bpb.cs.xesl +++ b/src/xenia/gpu/shaders/texture_load_64bpb.cs.xesl @@ -7,4 +7,5 @@ ****************************************************************************** */ +#define XE_TEXTURE_LOAD_64BPB_TRANSFORM(blocks) (blocks) #include "texture_load_64bpb.xesli" diff --git a/src/xenia/gpu/shaders/texture_load_64bpb.xesli b/src/xenia/gpu/shaders/texture_load_64bpb.xesli index 836a6a9ff..f167c4eb8 100644 --- a/src/xenia/gpu/shaders/texture_load_64bpb.xesli +++ b/src/xenia/gpu/shaders/texture_load_64bpb.xesli @@ -18,7 +18,8 @@ xesl_entry xesl_entry_bindings_end_local_size(8, 32, 1) xesl_input_global_invocation_id xesl_entry_signature_end - // 1 thread = 4 blocks. + // 1 thread = 4 blocks passed through an externally provided + // uint4 transformation function (XE_TEXTURE_LOAD_64BPB_TRANSFORM). xesl_uint3 block_index = xesl_GlobalInvocationID << xesl_uint3(2u, 0u, 0u); xesl_uint3 size_blocks = XeTextureLoadSizeBlocks(); xesl_dont_flatten @@ -34,13 +35,15 @@ xesl_entry_signature_end uint endian = XeTextureLoadEndian32(); xesl_writeTypedStorageBufferStore( xe_texture_load_dest, block_offset_host, - XeEndianSwap32(xesl_typedStorageBufferLoad(xe_texture_load_source, - block_offset_guest), endian)); + XE_TEXTURE_LOAD_64BPB_TRANSFORM(XeEndianSwap32( + xesl_typedStorageBufferLoad(xe_texture_load_source, + block_offset_guest), endian))); ++block_offset_host; block_offset_guest += XeTextureLoadRightConsecutiveBlocksOffset(block_index.x, 3u) >> 4u; xesl_writeTypedStorageBufferStore( xe_texture_load_dest, block_offset_host, - XeEndianSwap32(xesl_typedStorageBufferLoad(xe_texture_load_source, - block_offset_guest), endian)); + XE_TEXTURE_LOAD_64BPB_TRANSFORM(XeEndianSwap32( + xesl_typedStorageBufferLoad(xe_texture_load_source, + block_offset_guest), endian))); xesl_entry_end diff --git a/src/xenia/gpu/shaders/texture_load_64bpb_scaled.cs.xesl b/src/xenia/gpu/shaders/texture_load_64bpb_scaled.cs.xesl index 19590a98d..052309d6c 100644 --- a/src/xenia/gpu/shaders/texture_load_64bpb_scaled.cs.xesl +++ b/src/xenia/gpu/shaders/texture_load_64bpb_scaled.cs.xesl @@ -8,4 +8,5 @@ */ #define XE_TEXTURE_LOAD_RESOLUTION_SCALED +#define XE_TEXTURE_LOAD_64BPB_TRANSFORM(blocks) (blocks) #include "texture_load_64bpb.xesli" diff --git a/src/xenia/gpu/shaders/texture_load_r16_snorm_float.cs.xesl b/src/xenia/gpu/shaders/texture_load_r16_snorm_float.cs.xesl new file mode 100644 index 000000000..b88c9dbe1 --- /dev/null +++ b/src/xenia/gpu/shaders/texture_load_r16_snorm_float.cs.xesl @@ -0,0 +1,12 @@ +/** + ****************************************************************************** + * 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 "pixel_formats.xesli" +#define XE_TEXTURE_LOAD_16BPB_TRANSFORM XeRG16SNormToRG16Float +#include "texture_load_16bpb.xesli" diff --git a/src/xenia/gpu/shaders/texture_load_r16_snorm_float_scaled.cs.xesl b/src/xenia/gpu/shaders/texture_load_r16_snorm_float_scaled.cs.xesl new file mode 100644 index 000000000..1c4d67a20 --- /dev/null +++ b/src/xenia/gpu/shaders/texture_load_r16_snorm_float_scaled.cs.xesl @@ -0,0 +1,13 @@ +/** + ****************************************************************************** + * 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_TEXTURE_LOAD_RESOLUTION_SCALED +#include "pixel_formats.xesli" +#define XE_TEXTURE_LOAD_16BPB_TRANSFORM XeRG16SNormToRG16Float +#include "texture_load_16bpb.xesli" diff --git a/src/xenia/gpu/shaders/texture_load_r16_unorm_float.cs.xesl b/src/xenia/gpu/shaders/texture_load_r16_unorm_float.cs.xesl new file mode 100644 index 000000000..977674114 --- /dev/null +++ b/src/xenia/gpu/shaders/texture_load_r16_unorm_float.cs.xesl @@ -0,0 +1,12 @@ +/** + ****************************************************************************** + * 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 "pixel_formats.xesli" +#define XE_TEXTURE_LOAD_16BPB_TRANSFORM XeRG16UNormToRG16Float +#include "texture_load_16bpb.xesli" diff --git a/src/xenia/gpu/shaders/texture_load_r16_unorm_float_scaled.cs.xesl b/src/xenia/gpu/shaders/texture_load_r16_unorm_float_scaled.cs.xesl new file mode 100644 index 000000000..3418e3ec4 --- /dev/null +++ b/src/xenia/gpu/shaders/texture_load_r16_unorm_float_scaled.cs.xesl @@ -0,0 +1,13 @@ +/** + ****************************************************************************** + * 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_TEXTURE_LOAD_RESOLUTION_SCALED +#include "pixel_formats.xesli" +#define XE_TEXTURE_LOAD_16BPB_TRANSFORM XeRG16UNormToRG16Float +#include "texture_load_16bpb.xesli" diff --git a/src/xenia/gpu/shaders/texture_load_rg16_snorm_float.cs.xesl b/src/xenia/gpu/shaders/texture_load_rg16_snorm_float.cs.xesl new file mode 100644 index 000000000..1ef784f99 --- /dev/null +++ b/src/xenia/gpu/shaders/texture_load_rg16_snorm_float.cs.xesl @@ -0,0 +1,12 @@ +/** + ****************************************************************************** + * 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 "pixel_formats.xesli" +#define XE_TEXTURE_LOAD_32BPB_TRANSFORM XeRG16SNormToRG16Float +#include "texture_load_32bpb.xesli" diff --git a/src/xenia/gpu/shaders/texture_load_rg16_snorm_float_scaled.cs.xesl b/src/xenia/gpu/shaders/texture_load_rg16_snorm_float_scaled.cs.xesl new file mode 100644 index 000000000..78f331c21 --- /dev/null +++ b/src/xenia/gpu/shaders/texture_load_rg16_snorm_float_scaled.cs.xesl @@ -0,0 +1,13 @@ +/** + ****************************************************************************** + * 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_TEXTURE_LOAD_RESOLUTION_SCALED +#include "pixel_formats.xesli" +#define XE_TEXTURE_LOAD_32BPB_TRANSFORM XeRG16SNormToRG16Float +#include "texture_load_32bpb.xesli" diff --git a/src/xenia/gpu/shaders/texture_load_rg16_unorm_float.cs.xesl b/src/xenia/gpu/shaders/texture_load_rg16_unorm_float.cs.xesl new file mode 100644 index 000000000..e350e6712 --- /dev/null +++ b/src/xenia/gpu/shaders/texture_load_rg16_unorm_float.cs.xesl @@ -0,0 +1,12 @@ +/** + ****************************************************************************** + * 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 "pixel_formats.xesli" +#define XE_TEXTURE_LOAD_32BPB_TRANSFORM XeRG16UNormToRG16Float +#include "texture_load_32bpb.xesli" diff --git a/src/xenia/gpu/shaders/texture_load_rg16_unorm_float_scaled.cs.xesl b/src/xenia/gpu/shaders/texture_load_rg16_unorm_float_scaled.cs.xesl new file mode 100644 index 000000000..c4763ac06 --- /dev/null +++ b/src/xenia/gpu/shaders/texture_load_rg16_unorm_float_scaled.cs.xesl @@ -0,0 +1,13 @@ +/** + ****************************************************************************** + * 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_TEXTURE_LOAD_RESOLUTION_SCALED +#include "pixel_formats.xesli" +#define XE_TEXTURE_LOAD_32BPB_TRANSFORM XeRG16UNormToRG16Float +#include "texture_load_32bpb.xesli" diff --git a/src/xenia/gpu/shaders/texture_load_rgba16_snorm_float.cs.xesl b/src/xenia/gpu/shaders/texture_load_rgba16_snorm_float.cs.xesl new file mode 100644 index 000000000..7abc3cdb1 --- /dev/null +++ b/src/xenia/gpu/shaders/texture_load_rgba16_snorm_float.cs.xesl @@ -0,0 +1,12 @@ +/** + ****************************************************************************** + * 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 "pixel_formats.xesli" +#define XE_TEXTURE_LOAD_64BPB_TRANSFORM XeRG16SNormToRG16Float +#include "texture_load_64bpb.xesli" diff --git a/src/xenia/gpu/shaders/texture_load_rgba16_snorm_float_scaled.cs.xesl b/src/xenia/gpu/shaders/texture_load_rgba16_snorm_float_scaled.cs.xesl new file mode 100644 index 000000000..b607eecf9 --- /dev/null +++ b/src/xenia/gpu/shaders/texture_load_rgba16_snorm_float_scaled.cs.xesl @@ -0,0 +1,13 @@ +/** + ****************************************************************************** + * 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_TEXTURE_LOAD_RESOLUTION_SCALED +#include "pixel_formats.xesli" +#define XE_TEXTURE_LOAD_64BPB_TRANSFORM XeRG16SNormToRG16Float +#include "texture_load_64bpb.xesli" diff --git a/src/xenia/gpu/shaders/texture_load_rgba16_unorm_float.cs.xesl b/src/xenia/gpu/shaders/texture_load_rgba16_unorm_float.cs.xesl new file mode 100644 index 000000000..82508e268 --- /dev/null +++ b/src/xenia/gpu/shaders/texture_load_rgba16_unorm_float.cs.xesl @@ -0,0 +1,12 @@ +/** + ****************************************************************************** + * 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 "pixel_formats.xesli" +#define XE_TEXTURE_LOAD_64BPB_TRANSFORM XeRG16UNormToRG16Float +#include "texture_load_64bpb.xesli" diff --git a/src/xenia/gpu/shaders/texture_load_rgba16_unorm_float_scaled.cs.xesl b/src/xenia/gpu/shaders/texture_load_rgba16_unorm_float_scaled.cs.xesl new file mode 100644 index 000000000..306d98a4d --- /dev/null +++ b/src/xenia/gpu/shaders/texture_load_rgba16_unorm_float_scaled.cs.xesl @@ -0,0 +1,13 @@ +/** + ****************************************************************************** + * 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_TEXTURE_LOAD_RESOLUTION_SCALED +#include "pixel_formats.xesli" +#define XE_TEXTURE_LOAD_64BPB_TRANSFORM XeRG16UNormToRG16Float +#include "texture_load_64bpb.xesli"