diff --git a/src/xenia/gpu/d3d12/d3d12_texture_cache.cc b/src/xenia/gpu/d3d12/d3d12_texture_cache.cc index 8219b7aa4..485704a4a 100644 --- a/src/xenia/gpu/d3d12/d3d12_texture_cache.cc +++ b/src/xenia/gpu/d3d12/d3d12_texture_cache.cc @@ -44,6 +44,8 @@ namespace shaders { #include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_64bpb_scaled_cs.h" #include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_8bpb_cs.h" #include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_8bpb_scaled_cs.h" +#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_bgrg8_rgbg8_cs.h" +#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_bgrg8_rgbg8_scaled_cs.h" #include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_ctx1_cs.h" #include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_depth_float_cs.h" #include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_depth_float_scaled_cs.h" @@ -56,6 +58,8 @@ namespace shaders { #include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_dxt3aas1111_bgra4_cs.h" #include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_dxt5_rgba8_cs.h" #include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_dxt5a_r8_cs.h" +#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_gbgr8_grgb8_cs.h" +#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_gbgr8_grgb8_scaled_cs.h" #include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r10g11b11_rgba16_cs.h" #include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r10g11b11_rgba16_scaled_cs.h" #include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r10g11b11_rgba16_snorm_cs.h" @@ -128,19 +132,19 @@ const D3D12TextureCache::HostFormat D3D12TextureCache::host_formats_[64] = { DXGI_FORMAT_R8G8_SNORM, LoadMode::kUnknown, false, DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, xenos::XE_GPU_TEXTURE_SWIZZLE_RGGG}, // k_Cr_Y1_Cb_Y0_REP - // Red and blue probably must be swapped, similar to k_Y1_Cr_Y0_Cb_REP. - {DXGI_FORMAT_G8R8_G8B8_UNORM, DXGI_FORMAT_G8R8_G8B8_UNORM, LoadMode::k32bpb, - DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, true, DXGI_FORMAT_UNKNOWN, - LoadMode::kUnknown, xenos::XE_GPU_TEXTURE_SWIZZLE_BGRR}, + // Red and blue swapped in the load shader for simplicity. + // TODO(Triang3l): Decompress if the size is uneven. + {DXGI_FORMAT_G8R8_G8B8_UNORM, DXGI_FORMAT_G8R8_G8B8_UNORM, + LoadMode::kGBGR8ToGRGB8, DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, true, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, + xenos::XE_GPU_TEXTURE_SWIZZLE_RGBB}, // k_Y1_Cr_Y0_Cb_REP - // Red and blue must be swapped. - // TODO(Triang3l): D3DFMT_G8R8_G8B8 is DXGI_FORMAT_R8G8_B8G8_UNORM * 255.0f, - // watch out for num_format int, division in shaders, etc., in 54540829 it - // works as is. Also need to decompress if the size is uneven, but should be - // a very rare case. - {DXGI_FORMAT_R8G8_B8G8_UNORM, DXGI_FORMAT_R8G8_B8G8_UNORM, LoadMode::k32bpb, - DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, true, DXGI_FORMAT_UNKNOWN, - LoadMode::kUnknown, xenos::XE_GPU_TEXTURE_SWIZZLE_BGRR}, + // Red and blue swapped in the load shader for simplicity. + // TODO(Triang3l): Decompress if the size is uneven. + {DXGI_FORMAT_R8G8_B8G8_UNORM, DXGI_FORMAT_R8G8_B8G8_UNORM, + LoadMode::kBGRG8ToRGBG8, DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, true, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, + xenos::XE_GPU_TEXTURE_SWIZZLE_RGBB}, // k_16_16_EDRAM // Not usable as a texture, also has -32...32 range. {DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, @@ -401,6 +405,14 @@ const D3D12TextureCache::LoadModeInfo D3D12TextureCache::load_mode_info_[] = { sizeof(shaders::texture_load_r4g4b4a4_b4g4r4a4_cs), shaders::texture_load_r4g4b4a4_b4g4r4a4_scaled_cs, sizeof(shaders::texture_load_r4g4b4a4_b4g4r4a4_scaled_cs), 4, 4, 2, 4, 16}, + {shaders::texture_load_gbgr8_grgb8_cs, + sizeof(shaders::texture_load_gbgr8_grgb8_cs), + shaders::texture_load_gbgr8_grgb8_scaled_cs, + sizeof(shaders::texture_load_gbgr8_grgb8_scaled_cs), 4, 4, 4, 3, 8}, + {shaders::texture_load_bgrg8_rgbg8_cs, + sizeof(shaders::texture_load_bgrg8_rgbg8_cs), + shaders::texture_load_bgrg8_rgbg8_scaled_cs, + sizeof(shaders::texture_load_bgrg8_rgbg8_scaled_cs), 4, 4, 4, 3, 8}, {shaders::texture_load_r10g11b11_rgba16_cs, sizeof(shaders::texture_load_r10g11b11_rgba16_cs), shaders::texture_load_r10g11b11_rgba16_scaled_cs, diff --git a/src/xenia/gpu/d3d12/d3d12_texture_cache.h b/src/xenia/gpu/d3d12/d3d12_texture_cache.h index d3cbae934..a2aff8a5e 100644 --- a/src/xenia/gpu/d3d12/d3d12_texture_cache.h +++ b/src/xenia/gpu/d3d12/d3d12_texture_cache.h @@ -189,6 +189,8 @@ class D3D12TextureCache final : public TextureCache { kR5G6B5ToB5G6R5, kR5G5B6ToB5G6R5WithRBGASwizzle, kR4G4B4A4ToB4G4R4A4, + kGBGR8ToGRGB8, + kBGRG8ToRGBG8, kR10G11B11ToRGBA16, kR10G11B11ToRGBA16SNorm, kR11G11B10ToRGBA16, diff --git a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_bgrg8_rgbg8_cs.h b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_bgrg8_rgbg8_cs.h new file mode 100644 index 000000000..21743b356 --- /dev/null +++ b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_bgrg8_rgbg8_cs.h @@ -0,0 +1,1035 @@ +#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(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) +bfi r3.xyzw, l(8, 8, 8, 8), l(16, 16, 16, 16), r1.xyzw, r3.xyzw +ubfe r1.xyzw, l(8, 8, 8, 8), l(16, 16, 16, 16), r1.xyzw +iadd r1.xyzw, r3.xyzw, r1.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(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) +bfi r2.xyzw, l(8, 8, 8, 8), l(16, 16, 16, 16), r1.xyzw, r2.xyzw +ubfe r1.xyzw, l(8, 8, 8, 8), l(16, 16, 16, 16), r1.xyzw +iadd r1.xyzw, r2.xyzw, r1.xyzw +store_uav_typed U0[0].xyzw, r0.wwww, r1.xyzw +ret +// Approximately 114 instruction slots used +#endif + +const BYTE texture_load_bgrg8_rgbg8_cs[] = +{ + 68, 88, 66, 67, 179, 249, + 231, 127, 17, 150, 2, 205, + 195, 192, 110, 82, 137, 152, + 217, 109, 1, 0, 0, 0, + 60, 20, 0, 0, 5, 0, + 0, 0, 52, 0, 0, 0, + 32, 4, 0, 0, 48, 4, + 0, 0, 64, 4, 0, 0, + 160, 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, + 88, 15, 0, 0, 81, 0, + 5, 0, 214, 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, + 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, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 140, 0, 0, 17, + 242, 0, 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, 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, 138, 0, + 0, 15, 242, 0, 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, + 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, 30, 0, + 0, 7, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 1, 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, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 140, 0, 0, 17, + 242, 0, 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, 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, 138, 0, + 0, 15, 242, 0, 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, + 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, 30, 0, + 0, 7, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 1, 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, 114, 0, + 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 36, 0, 0, 0, 24, 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, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 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_bgrg8_rgbg8_scaled_cs.h b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_bgrg8_rgbg8_scaled_cs.h new file mode 100644 index 000000000..9f3e10d09 --- /dev/null +++ b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_bgrg8_rgbg8_scaled_cs.h @@ -0,0 +1,1166 @@ +#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(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) +bfi r4.xyzw, l(8, 8, 8, 8), l(16, 16, 16, 16), r3.xyzw, r4.xyzw +ubfe r3.xyzw, l(8, 8, 8, 8), l(16, 16, 16, 16), r3.xyzw +iadd r3.xyzw, r4.xyzw, r3.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(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) +bfi r3.xyzw, l(8, 8, 8, 8), l(16, 16, 16, 16), r2.xyzw, r3.xyzw +ubfe r2.xyzw, l(8, 8, 8, 8), l(16, 16, 16, 16), r2.xyzw +iadd r2.xyzw, r3.xyzw, r2.xyzw +store_uav_typed U0[0].xyzw, r1.zzzz, r2.xyzw +ret +// Approximately 133 instruction slots used +#endif + +const BYTE texture_load_bgrg8_rgbg8_scaled_cs[] = +{ + 68, 88, 66, 67, 134, 10, + 114, 83, 36, 198, 83, 192, + 97, 89, 130, 125, 237, 158, + 100, 152, 1, 0, 0, 0, + 220, 22, 0, 0, 5, 0, + 0, 0, 52, 0, 0, 0, + 32, 4, 0, 0, 48, 4, + 0, 0, 64, 4, 0, 0, + 64, 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, + 248, 17, 0, 0, 81, 0, + 5, 0, 126, 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, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 140, 0, 0, 17, 242, 0, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 8, 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, 138, 0, 0, 15, + 242, 0, 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, 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, 30, 0, 0, 7, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 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, 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, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 0, 255, 0, 255, + 0, 255, 140, 0, 0, 17, + 242, 0, 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, 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, 138, 0, + 0, 15, 242, 0, 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, + 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, 30, 0, + 0, 7, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 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, 1, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 62, 0, + 0, 1, 83, 84, 65, 84, + 148, 0, 0, 0, 133, 0, + 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 48, 0, 0, 0, 27, 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, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 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_gbgr8_grgb8_cs.h b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_gbgr8_grgb8_cs.h new file mode 100644 index 000000000..741fbb6bd --- /dev/null +++ b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_gbgr8_grgb8_cs.h @@ -0,0 +1,1059 @@ +#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(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) +ishl r4.xyzw, r1.xyzw, l(16, 16, 16, 16) +bfi r3.xyzw, l(24, 24, 24, 24), l(0, 0, 0, 0), r3.xyzw, r4.xyzw +ushr r1.xyzw, r1.xyzw, l(16, 16, 16, 16) +and r1.xyzw, r1.xyzw, l(0x0000ff00, 0x0000ff00, 0x0000ff00, 0x0000ff00) +iadd r1.xyzw, r1.xyzw, 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(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) +ishl r3.xyzw, r1.xyzw, l(16, 16, 16, 16) +bfi r2.xyzw, l(24, 24, 24, 24), l(0, 0, 0, 0), r2.xyzw, r3.xyzw +ushr r1.xyzw, r1.xyzw, l(16, 16, 16, 16) +and r1.xyzw, r1.xyzw, l(0x0000ff00, 0x0000ff00, 0x0000ff00, 0x0000ff00) +iadd r1.xyzw, r1.xyzw, r2.xyzw +store_uav_typed U0[0].xyzw, r0.wwww, r1.xyzw +ret +// Approximately 118 instruction slots used +#endif + +const BYTE texture_load_gbgr8_grgb8_cs[] = +{ + 68, 88, 66, 67, 169, 215, + 90, 56, 217, 212, 44, 72, + 139, 250, 123, 12, 84, 204, + 110, 200, 1, 0, 0, 0, + 180, 20, 0, 0, 5, 0, + 0, 0, 52, 0, 0, 0, + 32, 4, 0, 0, 48, 4, + 0, 0, 64, 4, 0, 0, + 24, 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, + 208, 15, 0, 0, 81, 0, + 5, 0, 244, 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, + 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, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 41, 0, 0, 10, + 242, 0, 16, 0, 4, 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, 3, 0, 0, 0, + 2, 64, 0, 0, 24, 0, + 0, 0, 24, 0, 0, 0, + 24, 0, 0, 0, 24, 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, + 70, 14, 16, 0, 4, 0, + 0, 0, 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, + 1, 0, 0, 10, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 0, 255, 0, 0, 0, 255, + 0, 0, 0, 255, 0, 0, + 0, 255, 0, 0, 30, 0, + 0, 7, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 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, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 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, 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, 24, 0, + 0, 0, 24, 0, 0, 0, + 24, 0, 0, 0, 24, 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, + 70, 14, 16, 0, 3, 0, + 0, 0, 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, + 1, 0, 0, 10, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 0, 255, 0, 0, 0, 255, + 0, 0, 0, 255, 0, 0, + 0, 255, 0, 0, 30, 0, + 0, 7, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 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, 118, 0, + 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 38, 0, 0, 0, 28, 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, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 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_gbgr8_grgb8_scaled_cs.h b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_gbgr8_grgb8_scaled_cs.h new file mode 100644 index 000000000..667fc9325 --- /dev/null +++ b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_gbgr8_grgb8_scaled_cs.h @@ -0,0 +1,1190 @@ +#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(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) +ishl r5.xyzw, r3.xyzw, l(16, 16, 16, 16) +bfi r4.xyzw, l(24, 24, 24, 24), l(0, 0, 0, 0), r4.xyzw, r5.xyzw +ushr r3.xyzw, r3.xyzw, l(16, 16, 16, 16) +and r3.xyzw, r3.xyzw, l(0x0000ff00, 0x0000ff00, 0x0000ff00, 0x0000ff00) +iadd r3.xyzw, r3.xyzw, 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(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) +ishl r4.xyzw, r2.xyzw, l(16, 16, 16, 16) +bfi r3.xyzw, l(24, 24, 24, 24), l(0, 0, 0, 0), r3.xyzw, r4.xyzw +ushr r2.xyzw, r2.xyzw, l(16, 16, 16, 16) +and r2.xyzw, r2.xyzw, l(0x0000ff00, 0x0000ff00, 0x0000ff00, 0x0000ff00) +iadd r2.xyzw, r2.xyzw, r3.xyzw +store_uav_typed U0[0].xyzw, r1.zzzz, r2.xyzw +ret +// Approximately 137 instruction slots used +#endif + +const BYTE texture_load_gbgr8_grgb8_scaled_cs[] = +{ + 68, 88, 66, 67, 74, 29, + 237, 221, 64, 4, 255, 165, + 202, 15, 99, 149, 255, 197, + 183, 153, 1, 0, 0, 0, + 84, 23, 0, 0, 5, 0, + 0, 0, 52, 0, 0, 0, + 32, 4, 0, 0, 48, 4, + 0, 0, 64, 4, 0, 0, + 184, 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, + 112, 18, 0, 0, 81, 0, + 5, 0, 156, 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, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 41, 0, 0, 10, 242, 0, + 16, 0, 5, 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, + 4, 0, 0, 0, 2, 64, + 0, 0, 24, 0, 0, 0, + 24, 0, 0, 0, 24, 0, + 0, 0, 24, 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, + 4, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 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, 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, 0, 0, 255, 0, 0, + 0, 255, 0, 0, 0, 255, + 0, 0, 30, 0, 0, 7, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 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, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 255, 0, 255, 0, + 255, 0, 41, 0, 0, 10, + 242, 0, 16, 0, 4, 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, 3, 0, 0, 0, + 2, 64, 0, 0, 24, 0, + 0, 0, 24, 0, 0, 0, + 24, 0, 0, 0, 24, 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, + 70, 14, 16, 0, 4, 0, + 0, 0, 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, + 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, 0, 0, 255, + 0, 0, 0, 255, 0, 0, + 0, 255, 0, 0, 30, 0, + 0, 7, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 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, 137, 0, + 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 50, 0, 0, 0, 31, 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, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 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_bgrg8_rgbg8_cs.h b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_bgrg8_rgbg8_cs.h new file mode 100644 index 000000000..037bdca40 --- /dev/null +++ b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_bgrg8_rgbg8_cs.h @@ -0,0 +1,619 @@ +// 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 NonWritable + OpMemberDecorate %_struct_1972 0 Offset 0 + OpDecorate %_struct_1972 BufferBlock + OpDecorate %4218 DescriptorSet 1 + OpDecorate %4218 Binding 0 + OpDecorate %_runtimearr_v4uint_0 ArrayStride 16 + OpMemberDecorate %_struct_1973 0 NonReadable + OpMemberDecorate %_struct_1973 0 Offset 0 + OpDecorate %_struct_1973 BufferBlock + OpDecorate %5134 DescriptorSet 0 + OpDecorate %5134 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 +%uint_4278255360 = OpConstant %uint 4278255360 + %uint_255 = OpConstant %uint 255 + %uint_16 = OpConstant %uint 16 +%uint_16711680 = OpConstant %uint 16711680 + %uint_1 = OpConstant %uint 1 + %uint_2 = OpConstant %uint 2 +%uint_16711935 = OpConstant %uint 16711935 + %uint_8 = OpConstant %uint 8 + %uint_3 = OpConstant %uint 3 + %uint_0 = OpConstant %uint 0 + %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 + %4218 = OpVariable %_ptr_Uniform__struct_1972 Uniform +%_ptr_Uniform_v4uint = OpTypePointer Uniform %v4uint +%_runtimearr_v4uint_0 = OpTypeRuntimeArray %v4uint +%_struct_1973 = OpTypeStruct %_runtimearr_v4uint_0 +%_ptr_Uniform__struct_1973 = OpTypePointer Uniform %_struct_1973 + %5134 = OpVariable %_ptr_Uniform__struct_1973 Uniform +%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 + %1611 = OpConstantComposite %v4uint %uint_255 %uint_255 %uint_255 %uint_255 + %784 = OpConstantComposite %v4uint %uint_16711680 %uint_16711680 %uint_16711680 %uint_16711680 + %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 + %18259 = OpPhi %v4uint %22649 %13411 %10728 %11064 + %23286 = OpBitwiseAnd %v4uint %18259 %1838 + %24373 = OpBitwiseAnd %v4uint %18259 %1611 + %24932 = OpShiftLeftLogical %v4uint %24373 %749 + %17045 = OpBitwiseOr %v4uint %23286 %24932 + %21212 = OpBitwiseAnd %v4uint %18259 %784 + %18088 = OpShiftRightLogical %v4uint %21212 %749 + %6532 = OpBitwiseOr %v4uint %17045 %18088 + %20254 = OpAccessChain %_ptr_Uniform_v4uint %5134 %int_0 %21670 + OpStore %20254 %6532 + %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 + %18260 = OpPhi %v4uint %10924 %14874 %10729 %11065 + %23287 = OpBitwiseAnd %v4uint %18260 %1838 + %24374 = OpBitwiseAnd %v4uint %18260 %1611 + %24933 = OpShiftLeftLogical %v4uint %24374 %749 + %17046 = OpBitwiseOr %v4uint %23287 %24933 + %21213 = OpBitwiseAnd %v4uint %18260 %784 + %18089 = OpShiftRightLogical %v4uint %21213 %749 + %6533 = OpBitwiseOr %v4uint %17046 %18089 + %22553 = OpAccessChain %_ptr_Uniform_v4uint %5134 %int_0 %15044 + OpStore %22553 %6533 + OpBranch %19578 + %19578 = OpLabel + OpReturn + OpFunctionEnd +#endif + +const uint32_t texture_load_bgrg8_rgbg8_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, + 0x00000018, 0x00050048, 0x000007B4, 0x00000000, 0x00000023, 0x00000000, + 0x00030047, 0x000007B4, 0x00000003, 0x00040047, 0x0000107A, 0x00000022, + 0x00000001, 0x00040047, 0x0000107A, 0x00000021, 0x00000000, 0x00040047, + 0x000007DD, 0x00000006, 0x00000010, 0x00040048, 0x000007B5, 0x00000000, + 0x00000019, 0x00050048, 0x000007B5, 0x00000000, 0x00000023, 0x00000000, + 0x00030047, 0x000007B5, 0x00000003, 0x00040047, 0x0000140E, 0x00000022, + 0x00000000, 0x00040047, 0x0000140E, 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, 0x0004002B, 0x0000000B, + 0x000005FD, 0xFF00FF00, 0x0004002B, 0x0000000B, 0x00000144, 0x000000FF, + 0x0004002B, 0x0000000B, 0x00000A3A, 0x00000010, 0x0004002B, 0x0000000B, + 0x000005A9, 0x00FF0000, 0x0004002B, 0x0000000B, 0x00000A0D, 0x00000001, + 0x0004002B, 0x0000000B, 0x00000A10, 0x00000002, 0x0004002B, 0x0000000B, + 0x000008A6, 0x00FF00FF, 0x0004002B, 0x0000000B, 0x00000A22, 0x00000008, + 0x0004002B, 0x0000000B, 0x00000A13, 0x00000003, 0x0004002B, 0x0000000B, + 0x00000A0A, 0x00000000, 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, 0x0000107A, 0x00000002, 0x00040020, 0x00000294, + 0x00000002, 0x00000017, 0x0003001D, 0x000007DD, 0x00000017, 0x0003001E, + 0x000007B5, 0x000007DD, 0x00040020, 0x00000A32, 0x00000002, 0x000007B5, + 0x0004003B, 0x00000A32, 0x0000140E, 0x00000002, 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, 0x0000064B, 0x00000144, 0x00000144, 0x00000144, + 0x00000144, 0x0007002C, 0x00000017, 0x00000310, 0x000005A9, 0x000005A9, + 0x000005A9, 0x000005A9, 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, 0x00004753, + 0x00005879, 0x00003463, 0x000029E8, 0x00002B38, 0x000500C7, 0x00000017, + 0x00005AF6, 0x00004753, 0x0000072E, 0x000500C7, 0x00000017, 0x00005F35, + 0x00004753, 0x0000064B, 0x000500C4, 0x00000017, 0x00006164, 0x00005F35, + 0x000002ED, 0x000500C5, 0x00000017, 0x00004295, 0x00005AF6, 0x00006164, + 0x000500C7, 0x00000017, 0x000052DC, 0x00004753, 0x00000310, 0x000500C2, + 0x00000017, 0x000046A8, 0x000052DC, 0x000002ED, 0x000500C5, 0x00000017, + 0x00001984, 0x00004295, 0x000046A8, 0x00060041, 0x00000294, 0x00004F1E, + 0x0000140E, 0x00000A0B, 0x000054A6, 0x0003003E, 0x00004F1E, 0x00001984, + 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, 0x00004754, 0x00002AAC, + 0x00003A1A, 0x000029E9, 0x00002B39, 0x000500C7, 0x00000017, 0x00005AF7, + 0x00004754, 0x0000072E, 0x000500C7, 0x00000017, 0x00005F36, 0x00004754, + 0x0000064B, 0x000500C4, 0x00000017, 0x00006165, 0x00005F36, 0x000002ED, + 0x000500C5, 0x00000017, 0x00004296, 0x00005AF7, 0x00006165, 0x000500C7, + 0x00000017, 0x000052DD, 0x00004754, 0x00000310, 0x000500C2, 0x00000017, + 0x000046A9, 0x000052DD, 0x000002ED, 0x000500C5, 0x00000017, 0x00001985, + 0x00004296, 0x000046A9, 0x00060041, 0x00000294, 0x00005819, 0x0000140E, + 0x00000A0B, 0x00003AC4, 0x0003003E, 0x00005819, 0x00001985, 0x000200F9, + 0x00004C7A, 0x000200F8, 0x00004C7A, 0x000100FD, 0x00010038, +}; diff --git a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_bgrg8_rgbg8_scaled_cs.h b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_bgrg8_rgbg8_scaled_cs.h new file mode 100644 index 000000000..4a7d6e237 --- /dev/null +++ b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_bgrg8_rgbg8_scaled_cs.h @@ -0,0 +1,689 @@ +// 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 NonWritable + OpMemberDecorate %_struct_1972 0 Offset 0 + OpDecorate %_struct_1972 BufferBlock + OpDecorate %4218 DescriptorSet 1 + OpDecorate %4218 Binding 0 + OpDecorate %_runtimearr_v4uint_0 ArrayStride 16 + OpMemberDecorate %_struct_1973 0 NonReadable + OpMemberDecorate %_struct_1973 0 Offset 0 + OpDecorate %_struct_1973 BufferBlock + OpDecorate %5134 DescriptorSet 0 + OpDecorate %5134 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 +%uint_4278255360 = OpConstant %uint 4278255360 + %uint_255 = OpConstant %uint 255 + %uint_16 = OpConstant %uint 16 +%uint_16711680 = OpConstant %uint 16711680 + %uint_1 = OpConstant %uint 1 + %uint_2 = OpConstant %uint 2 +%uint_16711935 = OpConstant %uint 16711935 + %uint_8 = OpConstant %uint 8 + %uint_3 = OpConstant %uint 3 + %uint_0 = OpConstant %uint 0 + %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 + %4218 = OpVariable %_ptr_Uniform__struct_1972 Uniform +%_ptr_Uniform_v4uint = OpTypePointer Uniform %v4uint +%_runtimearr_v4uint_0 = OpTypeRuntimeArray %v4uint +%_struct_1973 = OpTypeStruct %_runtimearr_v4uint_0 +%_ptr_Uniform__struct_1973 = OpTypePointer Uniform %_struct_1973 + %5134 = OpVariable %_ptr_Uniform__struct_1973 Uniform +%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 + %1611 = OpConstantComposite %v4uint %uint_255 %uint_255 %uint_255 %uint_255 + %784 = OpConstantComposite %v4uint %uint_16711680 %uint_16711680 %uint_16711680 %uint_16711680 + %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 + %18259 = OpPhi %v4uint %22649 %13411 %10728 %11064 + %23286 = OpBitwiseAnd %v4uint %18259 %1838 + %24373 = OpBitwiseAnd %v4uint %18259 %1611 + %24932 = OpShiftLeftLogical %v4uint %24373 %749 + %17045 = OpBitwiseOr %v4uint %23286 %24932 + %21212 = OpBitwiseAnd %v4uint %18259 %784 + %18088 = OpShiftRightLogical %v4uint %21212 %749 + %6532 = OpBitwiseOr %v4uint %17045 %18088 + %20254 = OpAccessChain %_ptr_Uniform_v4uint %5134 %int_0 %21670 + OpStore %20254 %6532 + %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 + %18260 = OpPhi %v4uint %10924 %14874 %10729 %11065 + %23287 = OpBitwiseAnd %v4uint %18260 %1838 + %24374 = OpBitwiseAnd %v4uint %18260 %1611 + %24933 = OpShiftLeftLogical %v4uint %24374 %749 + %17046 = OpBitwiseOr %v4uint %23287 %24933 + %21213 = OpBitwiseAnd %v4uint %18260 %784 + %18089 = OpShiftRightLogical %v4uint %21213 %749 + %6533 = OpBitwiseOr %v4uint %17046 %18089 + %22553 = OpAccessChain %_ptr_Uniform_v4uint %5134 %int_0 %15532 + OpStore %22553 %6533 + OpBranch %19578 + %19578 = OpLabel + OpReturn + OpFunctionEnd +#endif + +const uint32_t texture_load_bgrg8_rgbg8_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, + 0x00000018, 0x00050048, 0x000007B4, 0x00000000, 0x00000023, 0x00000000, + 0x00030047, 0x000007B4, 0x00000003, 0x00040047, 0x0000107A, 0x00000022, + 0x00000001, 0x00040047, 0x0000107A, 0x00000021, 0x00000000, 0x00040047, + 0x000007DD, 0x00000006, 0x00000010, 0x00040048, 0x000007B5, 0x00000000, + 0x00000019, 0x00050048, 0x000007B5, 0x00000000, 0x00000023, 0x00000000, + 0x00030047, 0x000007B5, 0x00000003, 0x00040047, 0x0000140E, 0x00000022, + 0x00000000, 0x00040047, 0x0000140E, 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, 0x0004002B, 0x0000000B, 0x000005FD, 0xFF00FF00, + 0x0004002B, 0x0000000B, 0x00000144, 0x000000FF, 0x0004002B, 0x0000000B, + 0x00000A3A, 0x00000010, 0x0004002B, 0x0000000B, 0x000005A9, 0x00FF0000, + 0x0004002B, 0x0000000B, 0x00000A0D, 0x00000001, 0x0004002B, 0x0000000B, + 0x00000A10, 0x00000002, 0x0004002B, 0x0000000B, 0x000008A6, 0x00FF00FF, + 0x0004002B, 0x0000000B, 0x00000A22, 0x00000008, 0x0004002B, 0x0000000B, + 0x00000A13, 0x00000003, 0x0004002B, 0x0000000B, 0x00000A0A, 0x00000000, + 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, 0x0000107A, + 0x00000002, 0x00040020, 0x00000294, 0x00000002, 0x00000017, 0x0003001D, + 0x000007DD, 0x00000017, 0x0003001E, 0x000007B5, 0x000007DD, 0x00040020, + 0x00000A32, 0x00000002, 0x000007B5, 0x0004003B, 0x00000A32, 0x0000140E, + 0x00000002, 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, 0x0000064B, 0x00000144, + 0x00000144, 0x00000144, 0x00000144, 0x0007002C, 0x00000017, 0x00000310, + 0x000005A9, 0x000005A9, 0x000005A9, 0x000005A9, 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, 0x00004753, 0x00005879, 0x00003463, 0x000029E8, 0x00002B38, + 0x000500C7, 0x00000017, 0x00005AF6, 0x00004753, 0x0000072E, 0x000500C7, + 0x00000017, 0x00005F35, 0x00004753, 0x0000064B, 0x000500C4, 0x00000017, + 0x00006164, 0x00005F35, 0x000002ED, 0x000500C5, 0x00000017, 0x00004295, + 0x00005AF6, 0x00006164, 0x000500C7, 0x00000017, 0x000052DC, 0x00004753, + 0x00000310, 0x000500C2, 0x00000017, 0x000046A8, 0x000052DC, 0x000002ED, + 0x000500C5, 0x00000017, 0x00001984, 0x00004295, 0x000046A8, 0x00060041, + 0x00000294, 0x00004F1E, 0x0000140E, 0x00000A0B, 0x000054A6, 0x0003003E, + 0x00004F1E, 0x00001984, 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, 0x00004754, 0x00002AAC, 0x00003A1A, 0x000029E9, + 0x00002B39, 0x000500C7, 0x00000017, 0x00005AF7, 0x00004754, 0x0000072E, + 0x000500C7, 0x00000017, 0x00005F36, 0x00004754, 0x0000064B, 0x000500C4, + 0x00000017, 0x00006165, 0x00005F36, 0x000002ED, 0x000500C5, 0x00000017, + 0x00004296, 0x00005AF7, 0x00006165, 0x000500C7, 0x00000017, 0x000052DD, + 0x00004754, 0x00000310, 0x000500C2, 0x00000017, 0x000046A9, 0x000052DD, + 0x000002ED, 0x000500C5, 0x00000017, 0x00001985, 0x00004296, 0x000046A9, + 0x00060041, 0x00000294, 0x00005819, 0x0000140E, 0x00000A0B, 0x00003CAC, + 0x0003003E, 0x00005819, 0x00001985, 0x000200F9, 0x00004C7A, 0x000200F8, + 0x00004C7A, 0x000100FD, 0x00010038, +}; diff --git a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_gbgr8_grgb8_cs.h b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_gbgr8_grgb8_cs.h new file mode 100644 index 000000000..f4fcc611b --- /dev/null +++ b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_gbgr8_grgb8_cs.h @@ -0,0 +1,619 @@ +// 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 NonWritable + OpMemberDecorate %_struct_1972 0 Offset 0 + OpDecorate %_struct_1972 BufferBlock + OpDecorate %4218 DescriptorSet 1 + OpDecorate %4218 Binding 0 + OpDecorate %_runtimearr_v4uint_0 ArrayStride 16 + OpMemberDecorate %_struct_1973 0 NonReadable + OpMemberDecorate %_struct_1973 0 Offset 0 + OpDecorate %_struct_1973 BufferBlock + OpDecorate %5134 DescriptorSet 0 + OpDecorate %5134 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 +%uint_16711935 = OpConstant %uint 16711935 + %uint_65280 = OpConstant %uint 65280 + %uint_16 = OpConstant %uint 16 +%uint_4278190080 = OpConstant %uint 4278190080 + %uint_1 = OpConstant %uint 1 + %uint_2 = OpConstant %uint 2 + %uint_8 = OpConstant %uint 8 +%uint_4278255360 = OpConstant %uint 4278255360 + %uint_3 = OpConstant %uint 3 + %uint_0 = OpConstant %uint 0 + %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 + %4218 = OpVariable %_ptr_Uniform__struct_1972 Uniform +%_ptr_Uniform_v4uint = OpTypePointer Uniform %v4uint +%_runtimearr_v4uint_0 = OpTypeRuntimeArray %v4uint +%_struct_1973 = OpTypeStruct %_runtimearr_v4uint_0 +%_ptr_Uniform__struct_1973 = OpTypePointer Uniform %_struct_1973 + %5134 = OpVariable %_ptr_Uniform__struct_1973 Uniform +%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 + %2135 = OpConstantComposite %v4uint %uint_65280 %uint_65280 %uint_65280 %uint_65280 + %2599 = OpConstantComposite %v4uint %uint_4278190080 %uint_4278190080 %uint_4278190080 %uint_4278190080 + %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 + %18259 = OpPhi %v4uint %22649 %13411 %10728 %11064 + %23286 = OpBitwiseAnd %v4uint %18259 %2510 + %24373 = OpBitwiseAnd %v4uint %18259 %2135 + %24932 = OpShiftLeftLogical %v4uint %24373 %749 + %17045 = OpBitwiseOr %v4uint %23286 %24932 + %21212 = OpBitwiseAnd %v4uint %18259 %2599 + %18088 = OpShiftRightLogical %v4uint %21212 %749 + %6532 = OpBitwiseOr %v4uint %17045 %18088 + %20254 = OpAccessChain %_ptr_Uniform_v4uint %5134 %int_0 %21670 + OpStore %20254 %6532 + %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 + %18260 = OpPhi %v4uint %10924 %14874 %10729 %11065 + %23287 = OpBitwiseAnd %v4uint %18260 %2510 + %24374 = OpBitwiseAnd %v4uint %18260 %2135 + %24933 = OpShiftLeftLogical %v4uint %24374 %749 + %17046 = OpBitwiseOr %v4uint %23287 %24933 + %21213 = OpBitwiseAnd %v4uint %18260 %2599 + %18089 = OpShiftRightLogical %v4uint %21213 %749 + %6533 = OpBitwiseOr %v4uint %17046 %18089 + %22553 = OpAccessChain %_ptr_Uniform_v4uint %5134 %int_0 %15044 + OpStore %22553 %6533 + OpBranch %19578 + %19578 = OpLabel + OpReturn + OpFunctionEnd +#endif + +const uint32_t texture_load_gbgr8_grgb8_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, + 0x00000018, 0x00050048, 0x000007B4, 0x00000000, 0x00000023, 0x00000000, + 0x00030047, 0x000007B4, 0x00000003, 0x00040047, 0x0000107A, 0x00000022, + 0x00000001, 0x00040047, 0x0000107A, 0x00000021, 0x00000000, 0x00040047, + 0x000007DD, 0x00000006, 0x00000010, 0x00040048, 0x000007B5, 0x00000000, + 0x00000019, 0x00050048, 0x000007B5, 0x00000000, 0x00000023, 0x00000000, + 0x00030047, 0x000007B5, 0x00000003, 0x00040047, 0x0000140E, 0x00000022, + 0x00000000, 0x00040047, 0x0000140E, 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, 0x0004002B, 0x0000000B, + 0x000008A6, 0x00FF00FF, 0x0004002B, 0x0000000B, 0x00000A87, 0x0000FF00, + 0x0004002B, 0x0000000B, 0x00000A3A, 0x00000010, 0x0004002B, 0x0000000B, + 0x00000580, 0xFF000000, 0x0004002B, 0x0000000B, 0x00000A0D, 0x00000001, + 0x0004002B, 0x0000000B, 0x00000A10, 0x00000002, 0x0004002B, 0x0000000B, + 0x00000A22, 0x00000008, 0x0004002B, 0x0000000B, 0x000005FD, 0xFF00FF00, + 0x0004002B, 0x0000000B, 0x00000A13, 0x00000003, 0x0004002B, 0x0000000B, + 0x00000A0A, 0x00000000, 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, 0x0000107A, 0x00000002, 0x00040020, 0x00000294, + 0x00000002, 0x00000017, 0x0003001D, 0x000007DD, 0x00000017, 0x0003001E, + 0x000007B5, 0x000007DD, 0x00040020, 0x00000A32, 0x00000002, 0x000007B5, + 0x0004003B, 0x00000A32, 0x0000140E, 0x00000002, 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, 0x00000857, 0x00000A87, 0x00000A87, 0x00000A87, + 0x00000A87, 0x0007002C, 0x00000017, 0x00000A27, 0x00000580, 0x00000580, + 0x00000580, 0x00000580, 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, 0x00004753, + 0x00005879, 0x00003463, 0x000029E8, 0x00002B38, 0x000500C7, 0x00000017, + 0x00005AF6, 0x00004753, 0x000009CE, 0x000500C7, 0x00000017, 0x00005F35, + 0x00004753, 0x00000857, 0x000500C4, 0x00000017, 0x00006164, 0x00005F35, + 0x000002ED, 0x000500C5, 0x00000017, 0x00004295, 0x00005AF6, 0x00006164, + 0x000500C7, 0x00000017, 0x000052DC, 0x00004753, 0x00000A27, 0x000500C2, + 0x00000017, 0x000046A8, 0x000052DC, 0x000002ED, 0x000500C5, 0x00000017, + 0x00001984, 0x00004295, 0x000046A8, 0x00060041, 0x00000294, 0x00004F1E, + 0x0000140E, 0x00000A0B, 0x000054A6, 0x0003003E, 0x00004F1E, 0x00001984, + 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, 0x00004754, 0x00002AAC, + 0x00003A1A, 0x000029E9, 0x00002B39, 0x000500C7, 0x00000017, 0x00005AF7, + 0x00004754, 0x000009CE, 0x000500C7, 0x00000017, 0x00005F36, 0x00004754, + 0x00000857, 0x000500C4, 0x00000017, 0x00006165, 0x00005F36, 0x000002ED, + 0x000500C5, 0x00000017, 0x00004296, 0x00005AF7, 0x00006165, 0x000500C7, + 0x00000017, 0x000052DD, 0x00004754, 0x00000A27, 0x000500C2, 0x00000017, + 0x000046A9, 0x000052DD, 0x000002ED, 0x000500C5, 0x00000017, 0x00001985, + 0x00004296, 0x000046A9, 0x00060041, 0x00000294, 0x00005819, 0x0000140E, + 0x00000A0B, 0x00003AC4, 0x0003003E, 0x00005819, 0x00001985, 0x000200F9, + 0x00004C7A, 0x000200F8, 0x00004C7A, 0x000100FD, 0x00010038, +}; diff --git a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_gbgr8_grgb8_scaled_cs.h b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_gbgr8_grgb8_scaled_cs.h new file mode 100644 index 000000000..57f33a7ae --- /dev/null +++ b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_gbgr8_grgb8_scaled_cs.h @@ -0,0 +1,689 @@ +// 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 NonWritable + OpMemberDecorate %_struct_1972 0 Offset 0 + OpDecorate %_struct_1972 BufferBlock + OpDecorate %4218 DescriptorSet 1 + OpDecorate %4218 Binding 0 + OpDecorate %_runtimearr_v4uint_0 ArrayStride 16 + OpMemberDecorate %_struct_1973 0 NonReadable + OpMemberDecorate %_struct_1973 0 Offset 0 + OpDecorate %_struct_1973 BufferBlock + OpDecorate %5134 DescriptorSet 0 + OpDecorate %5134 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 +%uint_16711935 = OpConstant %uint 16711935 + %uint_65280 = OpConstant %uint 65280 + %uint_16 = OpConstant %uint 16 +%uint_4278190080 = OpConstant %uint 4278190080 + %uint_1 = OpConstant %uint 1 + %uint_2 = OpConstant %uint 2 + %uint_8 = OpConstant %uint 8 +%uint_4278255360 = OpConstant %uint 4278255360 + %uint_3 = OpConstant %uint 3 + %uint_0 = OpConstant %uint 0 + %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 + %4218 = OpVariable %_ptr_Uniform__struct_1972 Uniform +%_ptr_Uniform_v4uint = OpTypePointer Uniform %v4uint +%_runtimearr_v4uint_0 = OpTypeRuntimeArray %v4uint +%_struct_1973 = OpTypeStruct %_runtimearr_v4uint_0 +%_ptr_Uniform__struct_1973 = OpTypePointer Uniform %_struct_1973 + %5134 = OpVariable %_ptr_Uniform__struct_1973 Uniform +%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 + %2135 = OpConstantComposite %v4uint %uint_65280 %uint_65280 %uint_65280 %uint_65280 + %2599 = OpConstantComposite %v4uint %uint_4278190080 %uint_4278190080 %uint_4278190080 %uint_4278190080 + %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 + %18259 = OpPhi %v4uint %22649 %13411 %10728 %11064 + %23286 = OpBitwiseAnd %v4uint %18259 %2510 + %24373 = OpBitwiseAnd %v4uint %18259 %2135 + %24932 = OpShiftLeftLogical %v4uint %24373 %749 + %17045 = OpBitwiseOr %v4uint %23286 %24932 + %21212 = OpBitwiseAnd %v4uint %18259 %2599 + %18088 = OpShiftRightLogical %v4uint %21212 %749 + %6532 = OpBitwiseOr %v4uint %17045 %18088 + %20254 = OpAccessChain %_ptr_Uniform_v4uint %5134 %int_0 %21670 + OpStore %20254 %6532 + %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 + %18260 = OpPhi %v4uint %10924 %14874 %10729 %11065 + %23287 = OpBitwiseAnd %v4uint %18260 %2510 + %24374 = OpBitwiseAnd %v4uint %18260 %2135 + %24933 = OpShiftLeftLogical %v4uint %24374 %749 + %17046 = OpBitwiseOr %v4uint %23287 %24933 + %21213 = OpBitwiseAnd %v4uint %18260 %2599 + %18089 = OpShiftRightLogical %v4uint %21213 %749 + %6533 = OpBitwiseOr %v4uint %17046 %18089 + %22553 = OpAccessChain %_ptr_Uniform_v4uint %5134 %int_0 %15532 + OpStore %22553 %6533 + OpBranch %19578 + %19578 = OpLabel + OpReturn + OpFunctionEnd +#endif + +const uint32_t texture_load_gbgr8_grgb8_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, + 0x00000018, 0x00050048, 0x000007B4, 0x00000000, 0x00000023, 0x00000000, + 0x00030047, 0x000007B4, 0x00000003, 0x00040047, 0x0000107A, 0x00000022, + 0x00000001, 0x00040047, 0x0000107A, 0x00000021, 0x00000000, 0x00040047, + 0x000007DD, 0x00000006, 0x00000010, 0x00040048, 0x000007B5, 0x00000000, + 0x00000019, 0x00050048, 0x000007B5, 0x00000000, 0x00000023, 0x00000000, + 0x00030047, 0x000007B5, 0x00000003, 0x00040047, 0x0000140E, 0x00000022, + 0x00000000, 0x00040047, 0x0000140E, 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, 0x0004002B, 0x0000000B, 0x000008A6, 0x00FF00FF, + 0x0004002B, 0x0000000B, 0x00000A87, 0x0000FF00, 0x0004002B, 0x0000000B, + 0x00000A3A, 0x00000010, 0x0004002B, 0x0000000B, 0x00000580, 0xFF000000, + 0x0004002B, 0x0000000B, 0x00000A0D, 0x00000001, 0x0004002B, 0x0000000B, + 0x00000A10, 0x00000002, 0x0004002B, 0x0000000B, 0x00000A22, 0x00000008, + 0x0004002B, 0x0000000B, 0x000005FD, 0xFF00FF00, 0x0004002B, 0x0000000B, + 0x00000A13, 0x00000003, 0x0004002B, 0x0000000B, 0x00000A0A, 0x00000000, + 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, 0x0000107A, + 0x00000002, 0x00040020, 0x00000294, 0x00000002, 0x00000017, 0x0003001D, + 0x000007DD, 0x00000017, 0x0003001E, 0x000007B5, 0x000007DD, 0x00040020, + 0x00000A32, 0x00000002, 0x000007B5, 0x0004003B, 0x00000A32, 0x0000140E, + 0x00000002, 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, 0x00000857, 0x00000A87, + 0x00000A87, 0x00000A87, 0x00000A87, 0x0007002C, 0x00000017, 0x00000A27, + 0x00000580, 0x00000580, 0x00000580, 0x00000580, 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, 0x00004753, 0x00005879, 0x00003463, 0x000029E8, 0x00002B38, + 0x000500C7, 0x00000017, 0x00005AF6, 0x00004753, 0x000009CE, 0x000500C7, + 0x00000017, 0x00005F35, 0x00004753, 0x00000857, 0x000500C4, 0x00000017, + 0x00006164, 0x00005F35, 0x000002ED, 0x000500C5, 0x00000017, 0x00004295, + 0x00005AF6, 0x00006164, 0x000500C7, 0x00000017, 0x000052DC, 0x00004753, + 0x00000A27, 0x000500C2, 0x00000017, 0x000046A8, 0x000052DC, 0x000002ED, + 0x000500C5, 0x00000017, 0x00001984, 0x00004295, 0x000046A8, 0x00060041, + 0x00000294, 0x00004F1E, 0x0000140E, 0x00000A0B, 0x000054A6, 0x0003003E, + 0x00004F1E, 0x00001984, 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, 0x00004754, 0x00002AAC, 0x00003A1A, 0x000029E9, + 0x00002B39, 0x000500C7, 0x00000017, 0x00005AF7, 0x00004754, 0x000009CE, + 0x000500C7, 0x00000017, 0x00005F36, 0x00004754, 0x00000857, 0x000500C4, + 0x00000017, 0x00006165, 0x00005F36, 0x000002ED, 0x000500C5, 0x00000017, + 0x00004296, 0x00005AF7, 0x00006165, 0x000500C7, 0x00000017, 0x000052DD, + 0x00004754, 0x00000A27, 0x000500C2, 0x00000017, 0x000046A9, 0x000052DD, + 0x000002ED, 0x000500C5, 0x00000017, 0x00001985, 0x00004296, 0x000046A9, + 0x00060041, 0x00000294, 0x00005819, 0x0000140E, 0x00000A0B, 0x00003CAC, + 0x0003003E, 0x00005819, 0x00001985, 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 e6b34763f..15a9f9edb 100644 --- a/src/xenia/gpu/shaders/pixel_formats.xesli +++ b/src/xenia/gpu/shaders/pixel_formats.xesli @@ -404,6 +404,19 @@ xesl_uint4 XeR5G5B6ToB5G6R5WithRBGASwizzle(xesl_uint4 packed_texels) { ((packed_texels & 0xFFE0FFE0u) >> 5u); } +xesl_uint4 XeGBGR8ToGRGB8(xesl_uint4 packed_texels) { + return (packed_texels & 0x00FF00FFu) | + ((packed_texels & 0x0000FF00u) << 16u) | + ((packed_texels & 0xFF000000u) >> 16u); +} + +// Also usable for BGRA8 <> RGBA8, but that's not needed for texture loading. +xesl_uint4 XeBGRG8ToRGBG8(xesl_uint4 packed_texels) { + return (packed_texels & 0xFF00FF00u) | + ((packed_texels & 0x000000FFu) << 16u) | + ((packed_texels & 0x00FF0000u) >> 16u); +} + xesl_uint4 XeR10G11B11UNormToRGBA16(xesl_uint2 packed_texels) { // Red and blue. xesl_uint4 result = diff --git a/src/xenia/gpu/shaders/texture_load_bgrg8_rgbg8.cs.xesl b/src/xenia/gpu/shaders/texture_load_bgrg8_rgbg8.cs.xesl new file mode 100644 index 000000000..de18bc28c --- /dev/null +++ b/src/xenia/gpu/shaders/texture_load_bgrg8_rgbg8.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 XeBGRG8ToRGBG8 +#include "texture_load_32bpb.xesli" diff --git a/src/xenia/gpu/shaders/texture_load_bgrg8_rgbg8_scaled.cs.xesl b/src/xenia/gpu/shaders/texture_load_bgrg8_rgbg8_scaled.cs.xesl new file mode 100644 index 000000000..d0cd61ac1 --- /dev/null +++ b/src/xenia/gpu/shaders/texture_load_bgrg8_rgbg8_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 XeBGRG8ToRGBG8 +#include "texture_load_32bpb.xesli" diff --git a/src/xenia/gpu/shaders/texture_load_gbgr8_grgb8.cs.xesl b/src/xenia/gpu/shaders/texture_load_gbgr8_grgb8.cs.xesl new file mode 100644 index 000000000..67702b9b2 --- /dev/null +++ b/src/xenia/gpu/shaders/texture_load_gbgr8_grgb8.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 XeGBGR8ToGRGB8 +#include "texture_load_32bpb.xesli" diff --git a/src/xenia/gpu/shaders/texture_load_gbgr8_grgb8_scaled.cs.xesl b/src/xenia/gpu/shaders/texture_load_gbgr8_grgb8_scaled.cs.xesl new file mode 100644 index 000000000..1c8a1ae5a --- /dev/null +++ b/src/xenia/gpu/shaders/texture_load_gbgr8_grgb8_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 XeGBGR8ToGRGB8 +#include "texture_load_32bpb.xesli" diff --git a/src/xenia/gpu/xenos.h b/src/xenia/gpu/xenos.h index 3bdc5cdcf..7ff7391d1 100644 --- a/src/xenia/gpu/xenos.h +++ b/src/xenia/gpu/xenos.h @@ -413,6 +413,9 @@ enum class TextureFormat : uint32_t { k_8_8 = 10, k_Cr_Y1_Cb_Y0_REP = 11, // Used for videos in 54540829. + // TODO(Triang3l): D3DFMT_G8R8_G8B8 is DXGI_FORMAT_R8G8_B8G8_UNORM * 255.0f, + // watch out for num_format int, division in shaders, etc., in 54540829 it + // works as is with UNORM on the host. k_Y1_Cr_Y0_Cb_REP = 12, k_16_16_EDRAM = 13, k_8_8_8_8_A = 14, @@ -926,8 +929,6 @@ typedef enum { XE_GPU_TEXTURE_SWIZZLE_RGGG = XE_GPU_MAKE_TEXTURE_SWIZZLE(R, G, G, G), XE_GPU_TEXTURE_SWIZZLE_RGBB = XE_GPU_MAKE_TEXTURE_SWIZZLE(R, G, B, B), XE_GPU_TEXTURE_SWIZZLE_RGBA = XE_GPU_MAKE_TEXTURE_SWIZZLE(R, G, B, A), - XE_GPU_TEXTURE_SWIZZLE_BGRR = XE_GPU_MAKE_TEXTURE_SWIZZLE(B, G, R, R), - XE_GPU_TEXTURE_SWIZZLE_BGRA = XE_GPU_MAKE_TEXTURE_SWIZZLE(B, G, R, A), XE_GPU_TEXTURE_SWIZZLE_0000 = XE_GPU_MAKE_TEXTURE_SWIZZLE(0, 0, 0, 0), } XE_GPU_TEXTURE_SWIZZLE;