From 9b1fdac98665ac091b9660a5d0fbb259ed79e578 Mon Sep 17 00:00:00 2001 From: Triang3l Date: Sun, 6 Feb 2022 22:48:24 +0300 Subject: [PATCH] [UI] UI common shaders to XeSL --- src/xenia/ui/shaders/amd_language.xesli | 21 + .../guest_output_bilinear_dither_ps.h | 80 +- .../d3d12_5_1/guest_output_bilinear_ps.h | 76 +- .../guest_output_ffx_cas_resample_dither_ps.h | 2922 +++++++++-------- .../guest_output_ffx_cas_resample_ps.h | 1600 ++++----- .../guest_output_ffx_cas_sharpen_dither_ps.h | 1847 +++++------ .../guest_output_ffx_cas_sharpen_ps.h | 597 ++-- .../d3d12_5_1/guest_output_ffx_fsr_easu_ps.h | 94 +- .../guest_output_ffx_fsr_rcas_dither_ps.h | 66 +- .../d3d12_5_1/guest_output_ffx_fsr_rcas_ps.h | 62 +- .../guest_output_triangle_strip_rect_vs.h | 48 +- .../shaders/bytecode/d3d12_5_1/immediate_ps.h | 84 +- .../shaders/bytecode/d3d12_5_1/immediate_vs.h | 271 +- .../guest_output_bilinear_dither_ps.h | 102 +- .../vulkan_spirv/guest_output_bilinear_ps.h | 54 +- .../guest_output_ffx_cas_resample_dither_ps.h | 636 ++-- .../guest_output_ffx_cas_resample_ps.h | 168 +- .../guest_output_ffx_cas_sharpen_dither_ps.h | 1420 +++----- .../guest_output_ffx_cas_sharpen_ps.h | 925 ++---- .../guest_output_ffx_fsr_easu_ps.h | 176 +- .../guest_output_ffx_fsr_rcas_dither_ps.h | 180 +- .../guest_output_ffx_fsr_rcas_ps.h | 132 +- .../guest_output_triangle_strip_rect_vs.h | 100 +- .../bytecode/vulkan_spirv/immediate_ps.h | 72 +- .../bytecode/vulkan_spirv/immediate_vs.h | 159 +- src/xenia/ui/shaders/dither_8bpc.xesli | 9 + .../ui/shaders/guest_output_bilinear.glsli | 38 - .../ui/shaders/guest_output_bilinear.hlsli | 31 - .../ui/shaders/guest_output_bilinear.ps.glsl | 3 - .../ui/shaders/guest_output_bilinear.ps.hlsl | 1 - .../ui/shaders/guest_output_bilinear.ps.xesl | 10 + .../ui/shaders/guest_output_bilinear.xesli | 55 + .../guest_output_bilinear_dither.ps.glsl | 4 - .../guest_output_bilinear_dither.ps.hlsl | 2 - .../guest_output_bilinear_dither.ps.xesl | 11 + .../guest_output_ffx_cas_resample.glsli | 57 - .../guest_output_ffx_cas_resample.hlsli | 49 - .../guest_output_ffx_cas_resample.ps.glsl | 3 - .../guest_output_ffx_cas_resample.ps.hlsl | 1 - .../guest_output_ffx_cas_resample.ps.xesl | 10 + .../guest_output_ffx_cas_resample.xesli | 83 + ...est_output_ffx_cas_resample_dither.ps.glsl | 4 - ...est_output_ffx_cas_resample_dither.ps.hlsl | 2 - ...est_output_ffx_cas_resample_dither.ps.xesl | 11 + .../guest_output_ffx_cas_sharpen.glsli | 53 - .../guest_output_ffx_cas_sharpen.hlsli | 44 - .../guest_output_ffx_cas_sharpen.ps.glsl | 3 - .../guest_output_ffx_cas_sharpen.ps.hlsl | 1 - .../guest_output_ffx_cas_sharpen.ps.xesl | 10 + .../guest_output_ffx_cas_sharpen.xesli | 76 + ...uest_output_ffx_cas_sharpen_dither.ps.glsl | 4 - ...uest_output_ffx_cas_sharpen_dither.ps.hlsl | 2 - ...uest_output_ffx_cas_sharpen_dither.ps.xesl | 11 + .../shaders/guest_output_ffx_fsr_easu.ps.glsl | 38 - .../shaders/guest_output_ffx_fsr_easu.ps.hlsl | 39 - .../shaders/guest_output_ffx_fsr_easu.ps.xesl | 72 + .../shaders/guest_output_ffx_fsr_rcas.glsli | 45 - .../shaders/guest_output_ffx_fsr_rcas.hlsli | 36 - .../shaders/guest_output_ffx_fsr_rcas.ps.glsl | 3 - .../shaders/guest_output_ffx_fsr_rcas.ps.hlsl | 1 - .../shaders/guest_output_ffx_fsr_rcas.ps.xesl | 10 + .../shaders/guest_output_ffx_fsr_rcas.xesli | 66 + .../guest_output_ffx_fsr_rcas_dither.ps.glsl | 4 - .../guest_output_ffx_fsr_rcas_dither.ps.hlsl | 2 - .../guest_output_ffx_fsr_rcas_dither.ps.xesl | 11 + .../guest_output_triangle_strip_rect.vs.glsl | 17 - .../guest_output_triangle_strip_rect.vs.hlsl | 14 - .../guest_output_triangle_strip_rect.vs.xesl | 33 + src/xenia/ui/shaders/immediate.ps.glsl | 14 - src/xenia/ui/shaders/immediate.ps.hlsl | 12 - src/xenia/ui/shaders/immediate.ps.xesl | 25 + src/xenia/ui/shaders/immediate.vs.glsl | 20 - src/xenia/ui/shaders/immediate.vs.hlsl | 25 - src/xenia/ui/shaders/immediate.vs.xesl | 38 + src/xenia/ui/shaders/noise.xesli | 9 + src/xenia/ui/shaders/xesl.xesli | 402 ++- 76 files changed, 6490 insertions(+), 6926 deletions(-) create mode 100644 src/xenia/ui/shaders/amd_language.xesli delete mode 100644 src/xenia/ui/shaders/guest_output_bilinear.glsli delete mode 100644 src/xenia/ui/shaders/guest_output_bilinear.hlsli delete mode 100644 src/xenia/ui/shaders/guest_output_bilinear.ps.glsl delete mode 100644 src/xenia/ui/shaders/guest_output_bilinear.ps.hlsl create mode 100644 src/xenia/ui/shaders/guest_output_bilinear.ps.xesl create mode 100644 src/xenia/ui/shaders/guest_output_bilinear.xesli delete mode 100644 src/xenia/ui/shaders/guest_output_bilinear_dither.ps.glsl delete mode 100644 src/xenia/ui/shaders/guest_output_bilinear_dither.ps.hlsl create mode 100644 src/xenia/ui/shaders/guest_output_bilinear_dither.ps.xesl delete mode 100644 src/xenia/ui/shaders/guest_output_ffx_cas_resample.glsli delete mode 100644 src/xenia/ui/shaders/guest_output_ffx_cas_resample.hlsli delete mode 100644 src/xenia/ui/shaders/guest_output_ffx_cas_resample.ps.glsl delete mode 100644 src/xenia/ui/shaders/guest_output_ffx_cas_resample.ps.hlsl create mode 100644 src/xenia/ui/shaders/guest_output_ffx_cas_resample.ps.xesl create mode 100644 src/xenia/ui/shaders/guest_output_ffx_cas_resample.xesli delete mode 100644 src/xenia/ui/shaders/guest_output_ffx_cas_resample_dither.ps.glsl delete mode 100644 src/xenia/ui/shaders/guest_output_ffx_cas_resample_dither.ps.hlsl create mode 100644 src/xenia/ui/shaders/guest_output_ffx_cas_resample_dither.ps.xesl delete mode 100644 src/xenia/ui/shaders/guest_output_ffx_cas_sharpen.glsli delete mode 100644 src/xenia/ui/shaders/guest_output_ffx_cas_sharpen.hlsli delete mode 100644 src/xenia/ui/shaders/guest_output_ffx_cas_sharpen.ps.glsl delete mode 100644 src/xenia/ui/shaders/guest_output_ffx_cas_sharpen.ps.hlsl create mode 100644 src/xenia/ui/shaders/guest_output_ffx_cas_sharpen.ps.xesl create mode 100644 src/xenia/ui/shaders/guest_output_ffx_cas_sharpen.xesli delete mode 100644 src/xenia/ui/shaders/guest_output_ffx_cas_sharpen_dither.ps.glsl delete mode 100644 src/xenia/ui/shaders/guest_output_ffx_cas_sharpen_dither.ps.hlsl create mode 100644 src/xenia/ui/shaders/guest_output_ffx_cas_sharpen_dither.ps.xesl delete mode 100644 src/xenia/ui/shaders/guest_output_ffx_fsr_easu.ps.glsl delete mode 100644 src/xenia/ui/shaders/guest_output_ffx_fsr_easu.ps.hlsl create mode 100644 src/xenia/ui/shaders/guest_output_ffx_fsr_easu.ps.xesl delete mode 100644 src/xenia/ui/shaders/guest_output_ffx_fsr_rcas.glsli delete mode 100644 src/xenia/ui/shaders/guest_output_ffx_fsr_rcas.hlsli delete mode 100644 src/xenia/ui/shaders/guest_output_ffx_fsr_rcas.ps.glsl delete mode 100644 src/xenia/ui/shaders/guest_output_ffx_fsr_rcas.ps.hlsl create mode 100644 src/xenia/ui/shaders/guest_output_ffx_fsr_rcas.ps.xesl create mode 100644 src/xenia/ui/shaders/guest_output_ffx_fsr_rcas.xesli delete mode 100644 src/xenia/ui/shaders/guest_output_ffx_fsr_rcas_dither.ps.glsl delete mode 100644 src/xenia/ui/shaders/guest_output_ffx_fsr_rcas_dither.ps.hlsl create mode 100644 src/xenia/ui/shaders/guest_output_ffx_fsr_rcas_dither.ps.xesl delete mode 100644 src/xenia/ui/shaders/guest_output_triangle_strip_rect.vs.glsl delete mode 100644 src/xenia/ui/shaders/guest_output_triangle_strip_rect.vs.hlsl create mode 100644 src/xenia/ui/shaders/guest_output_triangle_strip_rect.vs.xesl delete mode 100644 src/xenia/ui/shaders/immediate.ps.glsl delete mode 100644 src/xenia/ui/shaders/immediate.ps.hlsl create mode 100644 src/xenia/ui/shaders/immediate.ps.xesl delete mode 100644 src/xenia/ui/shaders/immediate.vs.glsl delete mode 100644 src/xenia/ui/shaders/immediate.vs.hlsl create mode 100644 src/xenia/ui/shaders/immediate.vs.xesl diff --git a/src/xenia/ui/shaders/amd_language.xesli b/src/xenia/ui/shaders/amd_language.xesli new file mode 100644 index 000000000..96b9e03f7 --- /dev/null +++ b/src/xenia/ui/shaders/amd_language.xesli @@ -0,0 +1,21 @@ +/** + ****************************************************************************** + * Xenia : Xbox 360 Emulator Research Project * + ****************************************************************************** + * Copyright 2022 Ben Vanik. All rights reserved. * + * Released under the BSD license - see LICENSE in the root for more details. * + ****************************************************************************** + */ + +#ifndef XENIA_UI_SHADERS_AMD_LANGUAGE_XESLI_ +#define XENIA_UI_SHADERS_AMD_LANGUAGE_XESLI_ + +#if XESL_LANGUAGE_GLSL + #define A_GLSL 1 +#elif XESL_LANGUAGE_HLSL + #define A_HLSL 1 +#else + #error Unknown shading language for AMD shaders. +#endif + +#endif // XENIA_UI_SHADERS_AMD_LANGUAGE_XESLI_ diff --git a/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_bilinear_dither_ps.h b/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_bilinear_dither_ps.h index 3c22503d1..cc359e6f3 100644 --- a/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_bilinear_dither_ps.h +++ b/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_bilinear_dither_ps.h @@ -5,7 +5,7 @@ // // Buffer Definitions: // -// cbuffer XeBilinearConstants +// cbuffer xesl_push_constants // { // // int2 xe_bilinear_output_offset; // Offset: 0 Size: 8 @@ -18,9 +18,9 @@ // // Name Type Format Dim ID HLSL Bind Count // ------------------------------ ---------- ------- ----------- ------- -------------- ------ -// xe_sampler_linear_clamp sampler NA NA S0 s0 1 -// xe_texture texture float3 2d T0 t0 1 -// XeBilinearConstants cbuffer NA NA CB0 cb0 1 +// xesl_id_sampler_xe_bilinear_source sampler NA NA S0 s0 1 +// xesl_id_texture_xe_bilinear_source texture float4 2d T0 t0 1 +// xesl_push_constants cbuffer NA NA CB0 cb0 1 // // // @@ -309,7 +309,7 @@ mul r0.zw, r0.zzzw, CB0[0][0].zzzw sample_l r1.xyz, r0.zwzz, T0[0].xyzw, S0[0], l(0.000000) bfi r0.y, l(4), l(4), r0.y, l(0) bfi r0.x, l(4), l(0), r0.x, r0.y -add o0.xyz, r1.xyzx, icb[r0.x + 0].xxxx +add_sat o0.xyz, r1.xyzx, icb[r0.x + 0].xxxx mov o0.w, l(1.000000) ret // Approximately 11 instruction slots used @@ -317,21 +317,21 @@ ret const BYTE guest_output_bilinear_dither_ps[] = { - 68, 88, 66, 67, 238, 251, - 7, 36, 12, 102, 119, 199, - 78, 59, 74, 185, 195, 243, - 55, 64, 1, 0, 0, 0, - 56, 21, 0, 0, 5, 0, + 68, 88, 66, 67, 33, 174, + 209, 229, 79, 78, 56, 218, + 208, 208, 178, 136, 129, 86, + 50, 203, 1, 0, 0, 0, + 92, 21, 0, 0, 5, 0, 0, 0, 52, 0, 0, 0, - 68, 2, 0, 0, 120, 2, - 0, 0, 172, 2, 0, 0, - 156, 20, 0, 0, 82, 68, - 69, 70, 8, 2, 0, 0, - 1, 0, 0, 0, 236, 0, + 104, 2, 0, 0, 156, 2, + 0, 0, 208, 2, 0, 0, + 192, 20, 0, 0, 82, 68, + 69, 70, 44, 2, 0, 0, + 1, 0, 0, 0, 16, 1, 0, 0, 3, 0, 0, 0, 60, 0, 0, 0, 1, 5, 255, 255, 0, 5, 0, 0, - 224, 1, 0, 0, 19, 19, + 4, 2, 0, 0, 19, 19, 68, 37, 60, 0, 0, 0, 24, 0, 0, 0, 40, 0, 0, 0, 40, 0, 0, 0, @@ -343,43 +343,49 @@ const BYTE guest_output_bilinear_dither_ps[] = 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 204, 0, + 0, 0, 0, 0, 215, 0, 0, 0, 2, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 1, 0, - 0, 0, 8, 0, 0, 0, + 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 215, 0, 0, 0, + 0, 0, 250, 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, 115, 97, 109, - 112, 108, 101, 114, 95, 108, - 105, 110, 101, 97, 114, 95, - 99, 108, 97, 109, 112, 0, - 120, 101, 95, 116, 101, 120, - 116, 117, 114, 101, 0, 88, - 101, 66, 105, 108, 105, 110, - 101, 97, 114, 67, 111, 110, - 115, 116, 97, 110, 116, 115, - 0, 171, 215, 0, 0, 0, - 2, 0, 0, 0, 4, 1, + 120, 101, 115, 108, 95, 105, + 100, 95, 115, 97, 109, 112, + 108, 101, 114, 95, 120, 101, + 95, 98, 105, 108, 105, 110, + 101, 97, 114, 95, 115, 111, + 117, 114, 99, 101, 0, 120, + 101, 115, 108, 95, 105, 100, + 95, 116, 101, 120, 116, 117, + 114, 101, 95, 120, 101, 95, + 98, 105, 108, 105, 110, 101, + 97, 114, 95, 115, 111, 117, + 114, 99, 101, 0, 120, 101, + 115, 108, 95, 112, 117, 115, + 104, 95, 99, 111, 110, 115, + 116, 97, 110, 116, 115, 0, + 171, 171, 250, 0, 0, 0, + 2, 0, 0, 0, 40, 1, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 84, 1, 0, 0, + 0, 0, 120, 1, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, 0, - 116, 1, 0, 0, 0, 0, + 152, 1, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 152, 1, 0, 0, 8, 0, + 188, 1, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, - 2, 0, 0, 0, 188, 1, + 2, 0, 0, 0, 224, 1, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, @@ -394,7 +400,7 @@ const BYTE guest_output_bilinear_dither_ps[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 110, 1, 0, 0, + 0, 0, 146, 1, 0, 0, 120, 101, 95, 98, 105, 108, 105, 110, 101, 97, 114, 95, 111, 117, 116, 112, 117, 116, @@ -406,7 +412,7 @@ const BYTE guest_output_bilinear_dither_ps[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 180, 1, 0, 0, + 0, 0, 216, 1, 0, 0, 77, 105, 99, 114, 111, 115, 111, 102, 116, 32, 40, 82, 41, 32, 72, 76, 83, 76, @@ -1187,7 +1193,7 @@ const BYTE guest_output_bilinear_dither_ps[] = 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, - 0, 0, 0, 8, 114, 32, + 0, 32, 0, 8, 114, 32, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, 6, 144, 144, 0, diff --git a/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_bilinear_ps.h b/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_bilinear_ps.h index c12024a7a..61181c7f5 100644 --- a/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_bilinear_ps.h +++ b/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_bilinear_ps.h @@ -5,7 +5,7 @@ // // Buffer Definitions: // -// cbuffer XeBilinearConstants +// cbuffer xesl_push_constants // { // // int2 xe_bilinear_output_offset; // Offset: 0 Size: 8 @@ -18,9 +18,9 @@ // // Name Type Format Dim ID HLSL Bind Count // ------------------------------ ---------- ------- ----------- ------- -------------- ------ -// xe_sampler_linear_clamp sampler NA NA S0 s0 1 -// xe_texture texture float3 2d T0 t0 1 -// XeBilinearConstants cbuffer NA NA CB0 cb0 1 +// xesl_id_sampler_xe_bilinear_source sampler NA NA S0 s0 1 +// xesl_id_texture_xe_bilinear_source texture float4 2d T0 t0 1 +// xesl_push_constants cbuffer NA NA CB0 cb0 1 // // // @@ -59,21 +59,21 @@ ret const BYTE guest_output_bilinear_ps[] = { - 68, 88, 66, 67, 195, 73, - 6, 106, 30, 227, 35, 134, - 146, 186, 4, 157, 98, 172, - 18, 157, 1, 0, 0, 0, - 204, 4, 0, 0, 5, 0, + 68, 88, 66, 67, 44, 10, + 188, 16, 29, 197, 185, 8, + 92, 81, 39, 219, 196, 94, + 69, 224, 1, 0, 0, 0, + 240, 4, 0, 0, 5, 0, 0, 0, 52, 0, 0, 0, - 68, 2, 0, 0, 120, 2, - 0, 0, 172, 2, 0, 0, - 48, 4, 0, 0, 82, 68, - 69, 70, 8, 2, 0, 0, - 1, 0, 0, 0, 236, 0, + 104, 2, 0, 0, 156, 2, + 0, 0, 208, 2, 0, 0, + 84, 4, 0, 0, 82, 68, + 69, 70, 44, 2, 0, 0, + 1, 0, 0, 0, 16, 1, 0, 0, 3, 0, 0, 0, 60, 0, 0, 0, 1, 5, 255, 255, 0, 5, 0, 0, - 224, 1, 0, 0, 19, 19, + 4, 2, 0, 0, 19, 19, 68, 37, 60, 0, 0, 0, 24, 0, 0, 0, 40, 0, 0, 0, 40, 0, 0, 0, @@ -85,43 +85,49 @@ const BYTE guest_output_bilinear_ps[] = 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 204, 0, + 0, 0, 0, 0, 215, 0, 0, 0, 2, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 1, 0, - 0, 0, 8, 0, 0, 0, + 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 215, 0, 0, 0, + 0, 0, 250, 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, 115, 97, 109, - 112, 108, 101, 114, 95, 108, - 105, 110, 101, 97, 114, 95, - 99, 108, 97, 109, 112, 0, - 120, 101, 95, 116, 101, 120, - 116, 117, 114, 101, 0, 88, - 101, 66, 105, 108, 105, 110, - 101, 97, 114, 67, 111, 110, - 115, 116, 97, 110, 116, 115, - 0, 171, 215, 0, 0, 0, - 2, 0, 0, 0, 4, 1, + 120, 101, 115, 108, 95, 105, + 100, 95, 115, 97, 109, 112, + 108, 101, 114, 95, 120, 101, + 95, 98, 105, 108, 105, 110, + 101, 97, 114, 95, 115, 111, + 117, 114, 99, 101, 0, 120, + 101, 115, 108, 95, 105, 100, + 95, 116, 101, 120, 116, 117, + 114, 101, 95, 120, 101, 95, + 98, 105, 108, 105, 110, 101, + 97, 114, 95, 115, 111, 117, + 114, 99, 101, 0, 120, 101, + 115, 108, 95, 112, 117, 115, + 104, 95, 99, 111, 110, 115, + 116, 97, 110, 116, 115, 0, + 171, 171, 250, 0, 0, 0, + 2, 0, 0, 0, 40, 1, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 84, 1, 0, 0, + 0, 0, 120, 1, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, 0, - 116, 1, 0, 0, 0, 0, + 152, 1, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 152, 1, 0, 0, 8, 0, + 188, 1, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, - 2, 0, 0, 0, 188, 1, + 2, 0, 0, 0, 224, 1, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, @@ -136,7 +142,7 @@ const BYTE guest_output_bilinear_ps[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 110, 1, 0, 0, + 0, 0, 146, 1, 0, 0, 120, 101, 95, 98, 105, 108, 105, 110, 101, 97, 114, 95, 111, 117, 116, 112, 117, 116, @@ -148,7 +154,7 @@ const BYTE guest_output_bilinear_ps[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 180, 1, 0, 0, + 0, 0, 216, 1, 0, 0, 77, 105, 99, 114, 111, 115, 111, 102, 116, 32, 40, 82, 41, 32, 72, 76, 83, 76, diff --git a/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_ffx_cas_resample_dither_ps.h b/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_ffx_cas_resample_dither_ps.h index 924aed761..7a3da6fbe 100644 --- a/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_ffx_cas_resample_dither_ps.h +++ b/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_ffx_cas_resample_dither_ps.h @@ -5,7 +5,7 @@ // // Buffer Definitions: // -// cbuffer XeCasResampleConstants +// cbuffer xesl_push_constants // { // // int2 xe_cas_output_offset; // Offset: 0 Size: 8 @@ -19,8 +19,8 @@ // // Name Type Format Dim ID HLSL Bind Count // ------------------------------ ---------- ------- ----------- ------- -------------- ------ -// xe_texture texture float3 2d T0 t0 1 -// XeCasResampleConstants cbuffer NA NA CB0 cb0 1 +// xesl_id_texture_xe_cas_source texture float4 2d T0 t0 1 +// xesl_push_constants cbuffer NA NA CB0 cb0 1 // // // @@ -472,7 +472,7 @@ mul_sat r1.xyz, r3.wwww, r1.xyzx sqrt r1.xyz, r1.xyzx bfi r0.y, l(4), l(4), r0.y, l(0) bfi r0.x, l(4), l(0), r0.x, r0.y -add o0.xyz, r1.xyzx, icb[r0.x + 0].xxxx +add_sat o0.xyz, r1.xyzx, icb[r0.x + 0].xxxx mov o0.w, l(1.000000) ret // Approximately 175 instruction slots used @@ -480,21 +480,21 @@ ret const BYTE guest_output_ffx_cas_resample_dither_ps[] = { - 68, 88, 66, 67, 162, 124, - 243, 114, 220, 254, 28, 54, - 81, 63, 203, 49, 205, 242, - 53, 186, 1, 0, 0, 0, - 220, 40, 0, 0, 5, 0, + 68, 88, 66, 67, 162, 16, + 46, 115, 199, 85, 62, 114, + 40, 202, 196, 93, 46, 75, + 14, 203, 1, 0, 0, 0, + 236, 40, 0, 0, 5, 0, 0, 0, 52, 0, 0, 0, - 120, 2, 0, 0, 172, 2, - 0, 0, 224, 2, 0, 0, - 64, 40, 0, 0, 82, 68, - 69, 70, 60, 2, 0, 0, - 1, 0, 0, 0, 176, 0, + 136, 2, 0, 0, 188, 2, + 0, 0, 240, 2, 0, 0, + 80, 40, 0, 0, 82, 68, + 69, 70, 76, 2, 0, 0, + 1, 0, 0, 0, 192, 0, 0, 0, 2, 0, 0, 0, 60, 0, 0, 0, 1, 5, 255, 255, 0, 5, 0, 0, - 20, 2, 0, 0, 19, 19, + 36, 2, 0, 0, 19, 19, 68, 37, 60, 0, 0, 0, 24, 0, 0, 0, 40, 0, 0, 0, 40, 0, 0, 0, @@ -504,1024 +504,884 @@ const BYTE guest_output_ffx_cas_resample_dither_ps[] = 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 1, 0, 0, 0, 8, 0, + 1, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 151, 0, + 0, 0, 0, 0, 170, 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, - 0, 88, 101, 67, 97, 115, - 82, 101, 115, 97, 109, 112, - 108, 101, 67, 111, 110, 115, - 116, 97, 110, 116, 115, 0, - 171, 171, 151, 0, 0, 0, - 3, 0, 0, 0, 200, 0, - 0, 0, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 64, 1, 0, 0, - 0, 0, 0, 0, 8, 0, - 0, 0, 2, 0, 0, 0, - 92, 1, 0, 0, 0, 0, - 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 255, 255, - 255, 255, 0, 0, 0, 0, - 128, 1, 0, 0, 8, 0, - 0, 0, 8, 0, 0, 0, - 2, 0, 0, 0, 168, 1, - 0, 0, 0, 0, 0, 0, - 255, 255, 255, 255, 0, 0, - 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 204, 1, - 0, 0, 16, 0, 0, 0, - 4, 0, 0, 0, 2, 0, - 0, 0, 240, 1, 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, 99, - 97, 115, 95, 111, 117, 116, - 112, 117, 116, 95, 111, 102, - 102, 115, 101, 116, 0, 105, - 110, 116, 50, 0, 171, 171, - 1, 0, 2, 0, 1, 0, - 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 85, 1, 0, 0, + 0, 0, 120, 101, 115, 108, + 95, 105, 100, 95, 116, 101, + 120, 116, 117, 114, 101, 95, 120, 101, 95, 99, 97, 115, - 95, 105, 110, 112, 117, 116, - 95, 111, 117, 116, 112, 117, - 116, 95, 115, 105, 122, 101, - 95, 114, 97, 116, 105, 111, - 0, 102, 108, 111, 97, 116, - 50, 0, 171, 171, 1, 0, - 3, 0, 1, 0, 2, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 159, 1, 0, 0, 120, 101, - 95, 99, 97, 115, 95, 115, - 104, 97, 114, 112, 110, 101, - 115, 115, 95, 112, 111, 115, - 116, 95, 115, 101, 116, 117, - 112, 0, 102, 108, 111, 97, - 116, 0, 171, 171, 0, 0, - 3, 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, - 232, 1, 0, 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, 73, 83, 71, 78, - 44, 0, 0, 0, 1, 0, - 0, 0, 8, 0, 0, 0, + 95, 115, 111, 117, 114, 99, + 101, 0, 120, 101, 115, 108, + 95, 112, 117, 115, 104, 95, + 99, 111, 110, 115, 116, 97, + 110, 116, 115, 0, 171, 171, + 170, 0, 0, 0, 3, 0, + 0, 0, 216, 0, 0, 0, 32, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 3, 0, 0, - 83, 86, 95, 80, 111, 115, - 105, 116, 105, 111, 110, 0, - 79, 83, 71, 78, 44, 0, + 0, 0, 0, 0, 0, 0, + 80, 1, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 2, 0, 0, 0, 108, 1, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 144, 1, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 2, 0, + 0, 0, 184, 1, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 220, 1, 0, 0, + 16, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 0, 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, 99, 97, 115, + 95, 111, 117, 116, 112, 117, + 116, 95, 111, 102, 102, 115, + 101, 116, 0, 105, 110, 116, + 50, 0, 171, 171, 1, 0, + 2, 0, 1, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 101, 1, 0, 0, 120, 101, + 95, 99, 97, 115, 95, 105, + 110, 112, 117, 116, 95, 111, + 117, 116, 112, 117, 116, 95, + 115, 105, 122, 101, 95, 114, + 97, 116, 105, 111, 0, 102, + 108, 111, 97, 116, 50, 0, + 171, 171, 1, 0, 3, 0, + 1, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 175, 1, + 0, 0, 120, 101, 95, 99, + 97, 115, 95, 115, 104, 97, + 114, 112, 110, 101, 115, 115, + 95, 112, 111, 115, 116, 95, + 115, 101, 116, 117, 112, 0, + 102, 108, 111, 97, 116, 0, + 171, 171, 0, 0, 3, 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, 248, 1, + 0, 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, + 73, 83, 71, 78, 44, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 83, 86, - 95, 84, 97, 114, 103, 101, - 116, 0, 171, 171, 83, 72, - 69, 88, 88, 37, 0, 0, - 81, 0, 0, 0, 86, 9, - 0, 0, 106, 8, 0, 1, - 53, 24, 0, 0, 2, 4, - 0, 0, 132, 131, 131, 186, + 15, 3, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 79, 83, + 71, 78, 44, 0, 0, 0, + 1, 0, 0, 0, 8, 0, + 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 83, 86, 95, 84, + 97, 114, 103, 101, 116, 0, + 171, 171, 83, 72, 69, 88, + 88, 37, 0, 0, 81, 0, + 0, 0, 86, 9, 0, 0, + 106, 8, 0, 1, 53, 24, + 0, 0, 2, 4, 0, 0, + 132, 131, 131, 186, 0, 0, 0, 0, 0, 0, 0, 0, - 231, 230, 102, 58, 0, 0, + 0, 0, 0, 0, 231, 230, + 102, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 222, 221, - 221, 58, 0, 0, 0, 0, + 0, 0, 222, 221, 221, 58, 0, 0, 0, 0, 0, 0, - 0, 0, 204, 203, 203, 186, 0, 0, 0, 0, 0, 0, + 204, 203, 203, 186, 0, 0, 0, 0, 0, 0, 0, 0, - 168, 167, 167, 58, 0, 0, + 0, 0, 0, 0, 168, 167, + 167, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 159, 158, - 30, 186, 0, 0, 0, 0, + 0, 0, 159, 158, 30, 186, 0, 0, 0, 0, 0, 0, - 0, 0, 140, 139, 139, 58, 0, 0, 0, 0, 0, 0, + 140, 139, 139, 58, 0, 0, 0, 0, 0, 0, 0, 0, - 182, 181, 181, 186, 0, 0, + 0, 0, 0, 0, 182, 181, + 181, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 178, 177, - 177, 58, 0, 0, 0, 0, + 0, 0, 178, 177, 177, 58, 0, 0, 0, 0, 0, 0, - 0, 0, 135, 134, 6, 58, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 160, 159, 159, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 210, 209, - 209, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 155, 154, 26, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 149, 148, 148, 185, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 146, 145, - 145, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 186, 185, 185, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 190, 189, 189, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 143, 142, - 14, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 137, 136, 8, 57, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 158, 157, 157, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 229, 228, - 228, 57, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 138, 137, 137, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 163, 162, 34, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 253, 252, - 252, 185, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 246, 245, 245, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 144, 143, 143, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 209, 208, - 208, 184, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 139, 138, 10, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 188, 187, 187, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 254, 253, - 253, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 183, 182, 54, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 161, 160, 32, 56, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 187, 186, - 58, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 172, 171, 171, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 144, 143, 143, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 157, 156, - 156, 185, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 230, 229, 229, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 220, 219, 219, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 194, 193, - 193, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 161, 160, 32, 184, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 207, 206, 78, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 240, 239, - 239, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 157, 156, 156, 57, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 130, 129, 129, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 154, 153, - 153, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 185, 184, 56, 57, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 216, 215, 215, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 208, 207, - 207, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 181, 180, 180, 57, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 244, 243, 243, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 232, 231, - 231, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 227, 226, 98, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 235, 234, 106, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 169, 168, - 40, 57, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 243, 242, 114, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 200, 199, 199, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 171, 170, - 42, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 170, 169, 169, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 211, 210, 82, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 192, 191, - 191, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 236, 235, 235, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 223, 222, 94, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 223, 222, - 94, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 237, 236, 236, 185, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 140, 139, 139, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 153, 152, - 24, 185, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 249, 248, 120, 57, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 186, 185, 185, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 155, 154, - 26, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 201, 200, 72, 185, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 210, 209, 209, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 134, 133, - 133, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 213, 212, 212, 57, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 217, 216, 88, 185, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 208, 207, - 207, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 171, 170, 42, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 145, 144, 144, 184, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 221, 220, - 220, 57, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 216, 215, 215, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 180, 179, 179, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 243, 242, - 114, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 175, 174, 46, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 156, 155, 155, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 190, 189, - 189, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 151, 150, 22, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 248, 247, 247, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 199, 198, - 70, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 170, 169, 169, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 252, 251, 251, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 218, 217, - 217, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 136, 135, 135, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 131, 130, 2, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 244, 243, - 243, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 158, 157, 157, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 173, 172, 172, 185, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 180, 179, - 179, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 214, 213, 213, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 242, 241, 241, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 191, 190, - 62, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 239, 238, 110, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 238, 237, 237, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 150, 149, - 149, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 197, 196, 196, 185, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 209, 208, 208, 56, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 195, 194, - 66, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 154, 153, 153, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 145, 144, 144, 56, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 196, 195, - 195, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 255, 254, 126, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 251, 250, 122, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 254, 253, - 253, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 139, 138, 10, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 225, 224, 96, 56, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 164, 163, - 163, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 141, 140, 140, 185, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 202, 201, 201, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 129, 128, - 0, 183, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 165, 164, 164, 57, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 176, 175, 175, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 230, 229, - 229, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 131, 130, 2, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 156, 155, 155, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 203, 202, - 74, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 176, 175, 175, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 141, 140, 140, 57, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 194, 193, - 193, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 137, 136, 8, 185, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 203, 202, 74, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 172, 171, - 171, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 205, 204, 204, 57, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 251, 250, 122, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 245, 244, - 244, 185, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 202, 201, 201, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 136, 135, 135, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 179, 178, - 50, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 220, 219, 219, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 132, 131, 131, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 221, 220, - 220, 185, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 234, 233, 233, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 249, 248, 120, 185, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 163, 162, - 34, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 218, 217, 217, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 219, 218, 90, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 226, 225, - 225, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 142, 141, 141, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 232, 231, 231, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 207, 206, - 78, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 234, 233, 233, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 179, 178, 50, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 130, 129, - 129, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 174, 173, 173, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 185, 184, 56, 185, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 198, 197, - 197, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 173, 172, 172, 57, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 187, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 175, 174, - 46, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 212, 211, 211, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 152, 151, 151, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 237, 236, - 236, 57, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 229, 228, 228, 185, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 201, 200, 72, 57, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 196, 195, - 195, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 150, 149, 149, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 177, 176, 176, 56, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 248, 247, - 247, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 184, 183, 183, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 147, 146, 18, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 241, 240, - 240, 56, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 166, 165, 165, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 151, 150, 22, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 255, 254, - 126, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 174, 173, 173, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 233, 232, 104, 57, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 199, 198, - 70, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 178, 177, 177, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 192, 191, 191, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 227, 226, - 98, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 189, 188, 188, 185, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 143, 142, 14, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 148, 147, - 147, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 133, 132, 132, 185, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 147, 146, 18, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 238, 237, - 237, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 226, 225, 225, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 152, 151, 151, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 195, 194, - 66, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 206, 205, 205, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 241, 240, 240, 184, 0, 0, + 135, 134, 6, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 160, 159, - 159, 186, 0, 0, 0, 0, + 159, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 240, 239, 239, 58, + 0, 0, 210, 209, 209, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 192, 192, 55, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 252, 251, - 251, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 228, 227, 227, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 187, 186, 58, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 204, 203, - 203, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 224, 223, 223, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 162, 161, 161, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 217, 216, - 88, 57, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 138, 137, 137, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 191, 190, 62, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 214, 213, - 213, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 165, 164, 164, 185, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 253, 252, 252, 57, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 236, 235, - 235, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 247, 246, 118, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 181, 180, 180, 185, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 183, 182, - 54, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 134, 133, 133, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 206, 205, 205, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 192, - 192, 183, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 168, 167, 167, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 211, 210, 82, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 235, 234, - 106, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 188, 187, 187, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 159, 158, 30, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 177, 176, - 176, 184, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 239, 238, 110, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 59, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 184, 183, - 183, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 167, 166, 38, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 198, 197, 197, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 215, 214, - 86, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 164, 163, 163, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 133, 132, 132, 57, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 200, 199, - 199, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 148, 147, 147, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 189, 188, 188, 57, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 205, 204, - 204, 185, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 250, 249, 249, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 182, 181, 181, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 146, 145, - 145, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 212, 211, 211, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 231, 230, 102, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 153, 152, - 24, 57, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 142, 141, 141, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 225, 224, 96, 184, 0, 0, + 155, 154, 26, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 148, - 148, 57, 0, 0, 0, 0, + 148, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 222, 221, 221, 186, + 0, 0, 146, 145, 145, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 166, 165, 165, 186, 0, 0, + 186, 185, 185, 186, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 135, 134, - 6, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 190, 189, + 189, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 169, 168, 40, 185, + 0, 0, 143, 142, 14, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 246, 245, 245, 186, 0, 0, + 137, 136, 8, 57, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 219, 218, - 90, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 158, 157, + 157, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 167, 166, 38, 58, + 0, 0, 229, 228, 228, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 129, 128, 0, 55, 0, 0, + 138, 137, 137, 186, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 250, 249, - 249, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 163, 162, + 34, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 233, 232, 104, 185, + 0, 0, 253, 252, 252, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 197, 196, 196, 57, 0, 0, + 246, 245, 245, 58, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 228, 227, - 227, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 144, 143, + 143, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 213, 212, 212, 185, + 0, 0, 209, 208, 208, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 162, 161, 161, 186, 0, 0, + 139, 138, 10, 186, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 224, 223, - 223, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 188, 187, + 187, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 247, 246, 118, 186, + 0, 0, 254, 253, 253, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 215, 214, 86, 58, 0, 0, + 183, 182, 54, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 161, 160, + 32, 56, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 187, 186, 58, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 172, 171, 171, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 144, 143, + 143, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 157, 156, 156, 185, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 230, 229, 229, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 220, 219, + 219, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 194, 193, 193, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 161, 160, 32, 184, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 207, 206, + 78, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 240, 239, 239, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 157, 156, 156, 57, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 130, 129, + 129, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 154, 153, 153, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 185, 184, 56, 57, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 216, 215, + 215, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 208, 207, 207, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 181, 180, 180, 57, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 244, 243, + 243, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 232, 231, 231, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 227, 226, 98, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 235, 234, + 106, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 169, 168, 40, 57, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 243, 242, 114, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 200, 199, + 199, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 171, 170, 42, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 170, 169, 169, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 211, 210, + 82, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 192, 191, 191, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 236, 235, 235, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 223, 222, + 94, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 223, 222, 94, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 237, 236, 236, 185, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 140, 139, + 139, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 153, 152, 24, 185, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 249, 248, 120, 57, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 186, 185, + 185, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 155, 154, 26, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 201, 200, 72, 185, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 210, 209, + 209, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 134, 133, 133, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 213, 212, 212, 57, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 217, 216, + 88, 185, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 208, 207, 207, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 171, 170, 42, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 145, 144, + 144, 184, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 221, 220, 220, 57, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 216, 215, 215, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 180, 179, + 179, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 243, 242, 114, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 175, 174, 46, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 156, 155, + 155, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 190, 189, 189, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 151, 150, 22, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 248, 247, + 247, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 199, 198, 70, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 170, 169, 169, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 252, 251, + 251, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 218, 217, 217, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 136, 135, 135, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 131, 130, + 2, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 244, 243, 243, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 158, 157, 157, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 173, 172, + 172, 185, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 180, 179, 179, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 214, 213, 213, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, 241, - 241, 58, 0, 0, 0, 0, + 241, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 245, 244, 244, 57, + 0, 0, 191, 190, 62, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 89, 0, 0, 7, 70, 142, - 48, 0, 0, 0, 0, 0, + 239, 238, 110, 186, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 88, 24, - 0, 7, 70, 126, 48, 0, + 0, 0, 0, 0, 238, 237, + 237, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 150, 149, 149, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 85, 85, 0, 0, 0, 0, - 0, 0, 100, 32, 0, 4, - 50, 16, 16, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 101, 0, 0, 3, 242, 32, + 197, 196, 196, 185, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 209, 208, + 208, 56, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 195, 194, 66, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 154, 153, 153, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 145, 144, + 144, 56, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 196, 195, 195, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 255, 254, 126, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 251, 250, + 122, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 254, 253, 253, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 139, 138, 10, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 225, 224, + 96, 56, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 164, 163, 163, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 141, 140, 140, 185, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 202, 201, + 201, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 129, 128, 0, 183, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 165, 164, 164, 57, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 176, 175, + 175, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 230, 229, 229, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 131, 130, 2, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 156, 155, + 155, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 203, 202, 74, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 176, 175, 175, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 141, 140, + 140, 57, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 194, 193, 193, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 137, 136, 8, 185, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 203, 202, + 74, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 172, 171, 171, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 205, 204, 204, 57, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 251, 250, + 122, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 245, 244, 244, 185, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 202, 201, 201, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 136, 135, + 135, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 179, 178, 50, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 220, 219, 219, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 132, 131, + 131, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 221, 220, 220, 185, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 234, 233, 233, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 249, 248, + 120, 185, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 163, 162, 34, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 218, 217, 217, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 219, 218, + 90, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 226, 225, 225, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 142, 141, 141, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 232, 231, + 231, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 207, 206, 78, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 234, 233, 233, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 179, 178, + 50, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 130, 129, 129, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 174, 173, 173, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 185, 184, + 56, 185, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 198, 197, 197, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 173, 172, 172, 57, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 187, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 175, 174, 46, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 212, 211, 211, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 152, 151, + 151, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 237, 236, 236, 57, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 229, 228, 228, 185, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 201, 200, + 72, 57, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 196, 195, 195, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 150, 149, 149, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 177, 176, + 176, 56, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 248, 247, 247, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 184, 183, 183, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 147, 146, + 18, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 241, 240, 240, 56, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 166, 165, 165, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 151, 150, + 22, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 255, 254, 126, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 174, 173, 173, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 233, 232, + 104, 57, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 199, 198, 70, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 178, 177, 177, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 192, 191, + 191, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 227, 226, 98, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 189, 188, 188, 185, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 143, 142, + 14, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 148, 147, 147, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 133, 132, 132, 185, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 147, 146, + 18, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 238, 237, 237, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 226, 225, 225, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 152, 151, + 151, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 195, 194, 66, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 206, 205, 205, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 241, 240, + 240, 184, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 160, 159, 159, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 240, 239, 239, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 192, + 192, 55, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 252, 251, 251, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 228, 227, 227, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 187, 186, + 58, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 204, 203, 203, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 224, 223, 223, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 162, 161, + 161, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 217, 216, 88, 57, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 138, 137, 137, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 191, 190, + 62, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 214, 213, 213, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 165, 164, 164, 185, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 253, 252, + 252, 57, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 236, 235, 235, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 247, 246, 118, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 181, 180, + 180, 185, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 183, 182, 54, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 134, 133, 133, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 206, 205, + 205, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 193, 192, 192, 183, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 168, 167, 167, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 211, 210, + 82, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 235, 234, 106, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 188, 187, 187, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 159, 158, + 30, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 177, 176, 176, 184, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 239, 238, 110, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 59, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 184, 183, 183, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 167, 166, 38, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 198, 197, + 197, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 215, 214, 86, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 164, 163, 163, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 133, 132, + 132, 57, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 200, 199, 199, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 148, 147, 147, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 189, 188, + 188, 57, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 205, 204, 204, 185, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 250, 249, 249, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 182, 181, + 181, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 146, 145, 145, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 212, 211, 211, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 231, 230, + 102, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 153, 152, 24, 57, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 142, 141, 141, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 225, 224, + 96, 184, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 149, 148, 148, 57, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 222, 221, 221, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 166, 165, + 165, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 135, 134, 6, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 169, 168, 40, 185, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 246, 245, + 245, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 219, 218, 90, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 167, 166, 38, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 129, 128, + 0, 55, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 250, 249, 249, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 233, 232, 104, 185, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 197, 196, + 196, 57, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 228, 227, 227, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 213, 212, 212, 185, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 162, 161, + 161, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 224, 223, 223, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 247, 246, 118, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 215, 214, + 86, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 242, 241, 241, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 245, 244, 244, 57, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 89, 0, + 0, 7, 70, 142, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 88, 24, 0, 7, + 70, 126, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 85, 85, + 0, 0, 0, 0, 0, 0, + 100, 32, 0, 4, 50, 16, 16, 0, 0, 0, 0, 0, - 104, 0, 0, 2, 14, 0, - 0, 0, 27, 0, 0, 5, + 1, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 0, 0, 0, 0, 104, 0, + 0, 2, 14, 0, 0, 0, + 27, 0, 0, 5, 50, 0, + 16, 0, 0, 0, 0, 0, + 70, 16, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 10, 50, 0, 16, 0, 0, 0, - 0, 0, 70, 16, 16, 0, - 0, 0, 0, 0, 30, 0, - 0, 10, 50, 0, 16, 0, - 0, 0, 0, 0, 70, 0, + 0, 0, 70, 0, 16, 0, + 0, 0, 0, 0, 70, 128, + 48, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 50, 0, 0, 17, 194, 0, 16, 0, 0, 0, 0, 0, - 70, 128, 48, 128, 65, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 50, 0, 0, 17, - 194, 0, 16, 0, 0, 0, - 0, 0, 166, 142, 48, 0, + 166, 142, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 63, 0, 0, 0, 63, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 63, 0, 0, - 0, 63, 2, 64, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 191, - 0, 0, 0, 191, 86, 0, - 0, 5, 50, 0, 16, 0, - 1, 0, 0, 0, 70, 0, - 16, 0, 0, 0, 0, 0, - 50, 0, 0, 11, 194, 0, - 16, 0, 0, 0, 0, 0, - 6, 4, 16, 0, 1, 0, - 0, 0, 166, 142, 48, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 166, 14, 16, 0, 0, 0, - 0, 0, 65, 0, 0, 5, + 0, 0, 0, 191, 0, 0, + 0, 191, 86, 0, 0, 5, 50, 0, 16, 0, 1, 0, - 0, 0, 230, 10, 16, 0, + 0, 0, 70, 0, 16, 0, + 0, 0, 0, 0, 50, 0, + 0, 11, 194, 0, 16, 0, + 0, 0, 0, 0, 6, 4, + 16, 0, 1, 0, 0, 0, + 166, 142, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 8, 194, 0, 16, 0, 0, 0, 0, 0, 166, 14, 16, 0, 0, 0, 0, 0, - 6, 4, 16, 128, 65, 0, - 0, 0, 1, 0, 0, 0, - 27, 0, 0, 5, 50, 0, + 65, 0, 0, 5, 50, 0, 16, 0, 1, 0, 0, 0, - 70, 0, 16, 0, 1, 0, - 0, 0, 30, 0, 0, 10, - 242, 0, 16, 0, 2, 0, - 0, 0, 70, 4, 16, 0, - 1, 0, 0, 0, 2, 64, - 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 0, 0, - 0, 0, 255, 255, 255, 255, - 54, 0, 0, 5, 50, 0, - 16, 0, 3, 0, 0, 0, - 230, 10, 16, 0, 2, 0, - 0, 0, 54, 0, 0, 8, - 194, 0, 16, 0, 3, 0, - 0, 0, 2, 64, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 45, 0, - 0, 8, 114, 0, 16, 0, - 3, 0, 0, 0, 70, 14, - 16, 0, 3, 0, 0, 0, - 70, 126, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 54, 0, 0, 8, 194, 0, - 16, 0, 2, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 45, 0, 0, 8, - 114, 0, 16, 0, 2, 0, - 0, 0, 70, 14, 16, 0, - 2, 0, 0, 0, 70, 126, - 32, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 54, 0, - 0, 8, 194, 0, 16, 0, - 1, 0, 0, 0, 2, 64, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 45, 0, 0, 8, 114, 0, - 16, 0, 4, 0, 0, 0, - 70, 14, 16, 0, 1, 0, - 0, 0, 70, 126, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 30, 0, 0, 10, - 242, 0, 16, 0, 5, 0, - 0, 0, 70, 4, 16, 0, - 1, 0, 0, 0, 2, 64, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 255, 255, 255, 255, - 54, 0, 0, 5, 50, 0, - 16, 0, 6, 0, 0, 0, - 230, 10, 16, 0, 5, 0, - 0, 0, 54, 0, 0, 8, - 194, 0, 16, 0, 6, 0, - 0, 0, 2, 64, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 45, 0, - 0, 8, 114, 0, 16, 0, - 6, 0, 0, 0, 70, 14, - 16, 0, 6, 0, 0, 0, - 70, 126, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 54, 0, 0, 8, 194, 0, - 16, 0, 5, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 45, 0, 0, 8, - 114, 0, 16, 0, 5, 0, - 0, 0, 70, 14, 16, 0, - 5, 0, 0, 0, 70, 126, - 32, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 30, 0, - 0, 10, 242, 0, 16, 0, - 7, 0, 0, 0, 70, 4, - 16, 0, 1, 0, 0, 0, - 2, 64, 0, 0, 255, 255, - 255, 255, 1, 0, 0, 0, - 2, 0, 0, 0, 0, 0, - 0, 0, 54, 0, 0, 5, - 50, 0, 16, 0, 8, 0, - 0, 0, 230, 10, 16, 0, - 7, 0, 0, 0, 54, 0, - 0, 8, 194, 0, 16, 0, - 8, 0, 0, 0, 2, 64, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 45, 0, 0, 8, 114, 0, - 16, 0, 8, 0, 0, 0, - 70, 14, 16, 0, 8, 0, - 0, 0, 70, 126, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 54, 0, 0, 8, - 194, 0, 16, 0, 7, 0, - 0, 0, 2, 64, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 45, 0, - 0, 8, 114, 0, 16, 0, - 7, 0, 0, 0, 70, 14, - 16, 0, 7, 0, 0, 0, - 70, 126, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 30, 0, 0, 10, 242, 0, - 16, 0, 9, 0, 0, 0, - 70, 4, 16, 0, 1, 0, - 0, 0, 2, 64, 0, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 54, 0, + 230, 10, 16, 0, 0, 0, + 0, 0, 0, 0, 0, 8, + 194, 0, 16, 0, 0, 0, + 0, 0, 166, 14, 16, 0, + 0, 0, 0, 0, 6, 4, + 16, 128, 65, 0, 0, 0, + 1, 0, 0, 0, 27, 0, 0, 5, 50, 0, 16, 0, - 10, 0, 0, 0, 230, 10, - 16, 0, 9, 0, 0, 0, - 54, 0, 0, 8, 194, 0, - 16, 0, 10, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 45, 0, 0, 8, - 114, 0, 16, 0, 10, 0, - 0, 0, 70, 14, 16, 0, - 10, 0, 0, 0, 70, 126, - 32, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 54, 0, - 0, 8, 194, 0, 16, 0, - 9, 0, 0, 0, 2, 64, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 45, 0, 0, 8, 114, 0, - 16, 0, 9, 0, 0, 0, - 70, 14, 16, 0, 9, 0, - 0, 0, 70, 126, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 30, 0, 0, 10, - 242, 0, 16, 0, 11, 0, - 0, 0, 70, 4, 16, 0, - 1, 0, 0, 0, 2, 64, - 0, 0, 2, 0, 0, 0, - 1, 0, 0, 0, 1, 0, - 0, 0, 1, 0, 0, 0, - 54, 0, 0, 5, 50, 0, - 16, 0, 12, 0, 0, 0, - 230, 10, 16, 0, 11, 0, - 0, 0, 54, 0, 0, 8, - 194, 0, 16, 0, 12, 0, - 0, 0, 2, 64, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 45, 0, - 0, 8, 114, 0, 16, 0, - 12, 0, 0, 0, 70, 14, - 16, 0, 12, 0, 0, 0, - 70, 126, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 54, 0, 0, 8, 194, 0, - 16, 0, 11, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 45, 0, 0, 8, - 114, 0, 16, 0, 11, 0, - 0, 0, 70, 14, 16, 0, - 11, 0, 0, 0, 70, 126, - 32, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 30, 0, - 0, 10, 50, 0, 16, 0, 1, 0, 0, 0, 70, 0, 16, 0, 1, 0, 0, 0, - 2, 64, 0, 0, 1, 0, - 0, 0, 2, 0, 0, 0, + 30, 0, 0, 10, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 4, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 54, 0, + 0, 5, 50, 0, 16, 0, + 3, 0, 0, 0, 230, 10, + 16, 0, 2, 0, 0, 0, + 54, 0, 0, 8, 194, 0, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 45, 0, 0, 8, + 114, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 70, 126, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 8, 194, 0, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 45, 0, 0, 8, 114, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 70, 126, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 8, 194, 0, 16, 0, 1, 0, @@ -1530,689 +1390,832 @@ const BYTE guest_output_ffx_cas_resample_dither_ps[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 8, 114, 0, 16, 0, - 1, 0, 0, 0, 70, 14, + 4, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, 70, 126, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 56, 0, 0, 7, 114, 0, + 30, 0, 0, 10, 242, 0, + 16, 0, 5, 0, 0, 0, + 70, 4, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 255, 255, 255, 255, 54, 0, + 0, 5, 50, 0, 16, 0, + 6, 0, 0, 0, 230, 10, + 16, 0, 5, 0, 0, 0, + 54, 0, 0, 8, 194, 0, + 16, 0, 6, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 45, 0, 0, 8, + 114, 0, 16, 0, 6, 0, + 0, 0, 70, 14, 16, 0, + 6, 0, 0, 0, 70, 126, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 8, 194, 0, 16, 0, + 5, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 45, 0, 0, 8, 114, 0, + 16, 0, 5, 0, 0, 0, + 70, 14, 16, 0, 5, 0, + 0, 0, 70, 126, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 30, 0, 0, 10, + 242, 0, 16, 0, 7, 0, + 0, 0, 70, 4, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 255, 255, 255, 255, + 1, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 5, 50, 0, + 16, 0, 8, 0, 0, 0, + 230, 10, 16, 0, 7, 0, + 0, 0, 54, 0, 0, 8, + 194, 0, 16, 0, 8, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 45, 0, + 0, 8, 114, 0, 16, 0, + 8, 0, 0, 0, 70, 14, + 16, 0, 8, 0, 0, 0, + 70, 126, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 8, 194, 0, + 16, 0, 7, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 45, 0, 0, 8, + 114, 0, 16, 0, 7, 0, + 0, 0, 70, 14, 16, 0, + 7, 0, 0, 0, 70, 126, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 30, 0, + 0, 10, 242, 0, 16, 0, + 9, 0, 0, 0, 70, 4, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 54, 0, 0, 5, + 50, 0, 16, 0, 10, 0, + 0, 0, 230, 10, 16, 0, + 9, 0, 0, 0, 54, 0, + 0, 8, 194, 0, 16, 0, + 10, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 45, 0, 0, 8, 114, 0, + 16, 0, 10, 0, 0, 0, + 70, 14, 16, 0, 10, 0, + 0, 0, 70, 126, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 8, + 194, 0, 16, 0, 9, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 45, 0, + 0, 8, 114, 0, 16, 0, + 9, 0, 0, 0, 70, 14, + 16, 0, 9, 0, 0, 0, + 70, 126, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 10, 242, 0, + 16, 0, 11, 0, 0, 0, + 70, 4, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 2, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 54, 0, + 0, 5, 50, 0, 16, 0, + 12, 0, 0, 0, 230, 10, + 16, 0, 11, 0, 0, 0, + 54, 0, 0, 8, 194, 0, + 16, 0, 12, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 45, 0, 0, 8, + 114, 0, 16, 0, 12, 0, + 0, 0, 70, 14, 16, 0, + 12, 0, 0, 0, 70, 126, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 8, 194, 0, 16, 0, + 11, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 45, 0, 0, 8, 114, 0, + 16, 0, 11, 0, 0, 0, + 70, 14, 16, 0, 11, 0, + 0, 0, 70, 126, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 30, 0, 0, 10, + 50, 0, 16, 0, 1, 0, + 0, 0, 70, 0, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 1, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 8, 194, 0, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 45, 0, 0, 8, + 114, 0, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 70, 126, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 3, 0, 0, 0, 70, 2, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 3, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 6, 0, 0, 0, 70, 2, 16, 0, - 3, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, 6, 0, 0, 0, 70, 2, 16, 0, 6, 0, 0, 0, - 70, 2, 16, 0, 6, 0, - 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 2, 0, - 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 70, 2, - 16, 0, 2, 0, 0, 0, 56, 0, 0, 7, 114, 0, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 4, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, 70, 2, 16, 0, 4, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 5, 0, 0, 0, 70, 2, 16, 0, - 4, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, 5, 0, 0, 0, 70, 2, 16, 0, 5, 0, 0, 0, - 70, 2, 16, 0, 5, 0, - 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 8, 0, - 0, 0, 70, 2, 16, 0, - 8, 0, 0, 0, 70, 2, - 16, 0, 8, 0, 0, 0, 56, 0, 0, 7, 114, 0, + 16, 0, 8, 0, 0, 0, + 70, 2, 16, 0, 8, 0, + 0, 0, 70, 2, 16, 0, + 8, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 7, 0, 0, 0, 70, 2, 16, 0, 7, 0, 0, 0, 70, 2, 16, 0, 7, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 10, 0, 0, 0, 70, 2, 16, 0, - 7, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, 10, 0, 0, 0, 70, 2, 16, 0, 10, 0, 0, 0, - 70, 2, 16, 0, 10, 0, - 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 12, 0, - 0, 0, 70, 2, 16, 0, - 12, 0, 0, 0, 70, 2, - 16, 0, 12, 0, 0, 0, 56, 0, 0, 7, 114, 0, + 16, 0, 12, 0, 0, 0, + 70, 2, 16, 0, 12, 0, + 0, 0, 70, 2, 16, 0, + 12, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 11, 0, 0, 0, 70, 2, 16, 0, 11, 0, 0, 0, 70, 2, 16, 0, 11, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 9, 0, 0, 0, 70, 2, 16, 0, - 11, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, 9, 0, 0, 0, 70, 2, 16, 0, 9, 0, 0, 0, - 70, 2, 16, 0, 9, 0, - 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 1, 0, + 56, 0, 0, 7, 114, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 51, 0, + 0, 7, 130, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 51, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 3, 0, 0, 0, 51, 0, 0, 7, 130, 0, - 16, 0, 1, 0, 0, 0, - 26, 0, 16, 0, 2, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 5, 0, 0, 0, 26, 0, 16, 0, - 4, 0, 0, 0, 51, 0, + 10, 0, 0, 0, 51, 0, 0, 7, 130, 0, 16, 0, 1, 0, 0, 0, 58, 0, 16, 0, 1, 0, 0, 0, - 26, 0, 16, 0, 3, 0, - 0, 0, 51, 0, 0, 7, - 130, 0, 16, 0, 2, 0, - 0, 0, 26, 0, 16, 0, - 5, 0, 0, 0, 26, 0, - 16, 0, 10, 0, 0, 0, - 51, 0, 0, 7, 130, 0, - 16, 0, 1, 0, 0, 0, - 58, 0, 16, 0, 1, 0, - 0, 0, 58, 0, 16, 0, - 2, 0, 0, 0, 52, 0, - 0, 7, 130, 0, 16, 0, - 2, 0, 0, 0, 26, 0, - 16, 0, 2, 0, 0, 0, - 26, 0, 16, 0, 4, 0, + 58, 0, 16, 0, 2, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 2, 0, - 0, 0, 58, 0, 16, 0, + 0, 0, 26, 0, 16, 0, 2, 0, 0, 0, 26, 0, - 16, 0, 3, 0, 0, 0, + 16, 0, 4, 0, 0, 0, 52, 0, 0, 7, 130, 0, - 16, 0, 3, 0, 0, 0, - 26, 0, 16, 0, 5, 0, - 0, 0, 26, 0, 16, 0, - 10, 0, 0, 0, 52, 0, - 0, 7, 130, 0, 16, 0, - 2, 0, 0, 0, 58, 0, 16, 0, 2, 0, 0, 0, - 58, 0, 16, 0, 3, 0, - 0, 0, 51, 0, 0, 7, - 130, 0, 16, 0, 3, 0, + 58, 0, 16, 0, 2, 0, 0, 0, 26, 0, 16, 0, - 4, 0, 0, 0, 26, 0, + 3, 0, 0, 0, 52, 0, + 0, 7, 130, 0, 16, 0, + 3, 0, 0, 0, 26, 0, 16, 0, 5, 0, 0, 0, + 26, 0, 16, 0, 10, 0, + 0, 0, 52, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 3, 0, 0, 0, 51, 0, 0, 7, 130, 0, 16, 0, 3, 0, 0, 0, - 58, 0, 16, 0, 3, 0, - 0, 0, 26, 0, 16, 0, - 6, 0, 0, 0, 51, 0, - 0, 7, 130, 0, 16, 0, - 4, 0, 0, 0, 26, 0, - 16, 0, 8, 0, 0, 0, - 26, 0, 16, 0, 12, 0, - 0, 0, 51, 0, 0, 7, - 130, 0, 16, 0, 3, 0, - 0, 0, 58, 0, 16, 0, - 3, 0, 0, 0, 58, 0, - 16, 0, 4, 0, 0, 0, - 52, 0, 0, 7, 130, 0, - 16, 0, 4, 0, 0, 0, 26, 0, 16, 0, 4, 0, 0, 0, 26, 0, 16, 0, - 5, 0, 0, 0, 52, 0, + 5, 0, 0, 0, 51, 0, 0, 7, 130, 0, 16, 0, - 4, 0, 0, 0, 58, 0, - 16, 0, 4, 0, 0, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 3, 0, 0, 0, 26, 0, 16, 0, 6, 0, - 0, 0, 52, 0, 0, 7, - 130, 0, 16, 0, 5, 0, + 0, 0, 51, 0, 0, 7, + 130, 0, 16, 0, 4, 0, 0, 0, 26, 0, 16, 0, 8, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, - 52, 0, 0, 7, 130, 0, - 16, 0, 4, 0, 0, 0, - 58, 0, 16, 0, 4, 0, + 51, 0, 0, 7, 130, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 3, 0, 0, 0, 58, 0, 16, 0, - 5, 0, 0, 0, 51, 0, + 4, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, - 5, 0, 0, 0, 26, 0, - 16, 0, 7, 0, 0, 0, - 26, 0, 16, 0, 10, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 52, 0, 0, 7, + 130, 0, 16, 0, 4, 0, + 0, 0, 58, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 52, 0, 0, 7, 130, 0, + 16, 0, 5, 0, 0, 0, + 26, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 12, 0, 0, 0, 52, 0, + 0, 7, 130, 0, 16, 0, + 4, 0, 0, 0, 58, 0, + 16, 0, 4, 0, 0, 0, + 58, 0, 16, 0, 5, 0, 0, 0, 51, 0, 0, 7, 130, 0, 16, 0, 5, 0, - 0, 0, 26, 0, 16, 0, - 4, 0, 0, 0, 58, 0, - 16, 0, 5, 0, 0, 0, - 51, 0, 0, 7, 130, 0, - 16, 0, 6, 0, 0, 0, - 26, 0, 16, 0, 9, 0, - 0, 0, 26, 0, 16, 0, - 12, 0, 0, 0, 51, 0, - 0, 7, 130, 0, 16, 0, - 5, 0, 0, 0, 58, 0, - 16, 0, 5, 0, 0, 0, - 58, 0, 16, 0, 6, 0, - 0, 0, 52, 0, 0, 7, - 130, 0, 16, 0, 6, 0, 0, 0, 26, 0, 16, 0, 7, 0, 0, 0, 26, 0, 16, 0, 10, 0, 0, 0, - 52, 0, 0, 7, 130, 0, - 16, 0, 6, 0, 0, 0, + 51, 0, 0, 7, 130, 0, + 16, 0, 5, 0, 0, 0, 26, 0, 16, 0, 4, 0, 0, 0, 58, 0, 16, 0, - 6, 0, 0, 0, 52, 0, + 5, 0, 0, 0, 51, 0, 0, 7, 130, 0, 16, 0, - 7, 0, 0, 0, 26, 0, + 6, 0, 0, 0, 26, 0, 16, 0, 9, 0, 0, 0, 26, 0, 16, 0, 12, 0, - 0, 0, 52, 0, 0, 7, - 130, 0, 16, 0, 6, 0, + 0, 0, 51, 0, 0, 7, + 130, 0, 16, 0, 5, 0, 0, 0, 58, 0, 16, 0, - 6, 0, 0, 0, 58, 0, - 16, 0, 7, 0, 0, 0, - 51, 0, 0, 7, 130, 0, - 16, 0, 7, 0, 0, 0, - 26, 0, 16, 0, 10, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 6, 0, 0, 0, + 52, 0, 0, 7, 130, 0, + 16, 0, 6, 0, 0, 0, + 26, 0, 16, 0, 7, 0, 0, 0, 26, 0, 16, 0, - 12, 0, 0, 0, 51, 0, + 10, 0, 0, 0, 52, 0, + 0, 7, 130, 0, 16, 0, + 6, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 58, 0, 16, 0, 6, 0, + 0, 0, 52, 0, 0, 7, + 130, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 12, 0, 0, 0, + 52, 0, 0, 7, 130, 0, + 16, 0, 6, 0, 0, 0, + 58, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 7, 0, 0, 0, 51, 0, 0, 7, 130, 0, 16, 0, 7, 0, 0, 0, 26, 0, - 16, 0, 5, 0, 0, 0, - 58, 0, 16, 0, 7, 0, + 16, 0, 10, 0, 0, 0, + 26, 0, 16, 0, 12, 0, 0, 0, 51, 0, 0, 7, + 130, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 7, 0, 0, 0, + 51, 0, 0, 7, 130, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 11, 0, 0, 0, 51, 0, + 0, 7, 130, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 7, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 8, 0, 0, 0, 26, 0, 16, 0, - 1, 0, 0, 0, 26, 0, - 16, 0, 11, 0, 0, 0, - 51, 0, 0, 7, 130, 0, - 16, 0, 7, 0, 0, 0, - 58, 0, 16, 0, 7, 0, + 10, 0, 0, 0, 26, 0, + 16, 0, 12, 0, 0, 0, + 52, 0, 0, 7, 130, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 5, 0, 0, 0, 58, 0, 16, 0, 8, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, - 8, 0, 0, 0, 26, 0, - 16, 0, 10, 0, 0, 0, - 26, 0, 16, 0, 12, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 11, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 8, 0, - 0, 0, 26, 0, 16, 0, - 5, 0, 0, 0, 58, 0, - 16, 0, 8, 0, 0, 0, - 52, 0, 0, 7, 130, 0, - 16, 0, 9, 0, 0, 0, - 26, 0, 16, 0, 1, 0, - 0, 0, 26, 0, 16, 0, - 11, 0, 0, 0, 52, 0, - 0, 7, 130, 0, 16, 0, + 0, 0, 58, 0, 16, 0, 8, 0, 0, 0, 58, 0, - 16, 0, 8, 0, 0, 0, - 58, 0, 16, 0, 9, 0, - 0, 0, 30, 0, 0, 8, - 130, 0, 16, 0, 9, 0, + 16, 0, 9, 0, 0, 0, + 30, 0, 0, 8, 130, 0, + 16, 0, 9, 0, 0, 0, + 58, 0, 16, 128, 65, 0, + 0, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 187, 126, + 240, 126, 30, 0, 0, 8, + 130, 0, 16, 0, 10, 0, 0, 0, 58, 0, 16, 128, - 65, 0, 0, 0, 2, 0, + 65, 0, 0, 0, 4, 0, 0, 0, 1, 64, 0, 0, 187, 126, 240, 126, 30, 0, 0, 8, 130, 0, 16, 0, - 10, 0, 0, 0, 58, 0, + 11, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, - 4, 0, 0, 0, 1, 64, + 6, 0, 0, 0, 1, 64, 0, 0, 187, 126, 240, 126, 30, 0, 0, 8, 130, 0, - 16, 0, 11, 0, 0, 0, + 16, 0, 12, 0, 0, 0, 58, 0, 16, 128, 65, 0, - 0, 0, 6, 0, 0, 0, + 0, 0, 8, 0, 0, 0, 1, 64, 0, 0, 187, 126, - 240, 126, 30, 0, 0, 8, - 130, 0, 16, 0, 12, 0, - 0, 0, 58, 0, 16, 128, - 65, 0, 0, 0, 8, 0, - 0, 0, 1, 64, 0, 0, - 187, 126, 240, 126, 0, 0, - 0, 8, 18, 0, 16, 0, - 13, 0, 0, 0, 58, 0, - 16, 128, 65, 0, 0, 0, - 2, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 128, 63, - 51, 0, 0, 7, 18, 0, - 16, 0, 13, 0, 0, 0, - 58, 0, 16, 0, 1, 0, - 0, 0, 10, 0, 16, 0, - 13, 0, 0, 0, 56, 32, - 0, 7, 130, 0, 16, 0, - 9, 0, 0, 0, 58, 0, - 16, 0, 9, 0, 0, 0, - 10, 0, 16, 0, 13, 0, - 0, 0, 0, 0, 0, 8, + 240, 126, 0, 0, 0, 8, 18, 0, 16, 0, 13, 0, 0, 0, 58, 0, 16, 128, - 65, 0, 0, 0, 4, 0, + 65, 0, 0, 0, 2, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 51, 0, 0, 7, 18, 0, 16, 0, 13, 0, 0, 0, 58, 0, - 16, 0, 3, 0, 0, 0, + 16, 0, 1, 0, 0, 0, 10, 0, 16, 0, 13, 0, 0, 0, 56, 32, 0, 7, - 130, 0, 16, 0, 10, 0, + 130, 0, 16, 0, 9, 0, 0, 0, 58, 0, 16, 0, - 10, 0, 0, 0, 10, 0, + 9, 0, 0, 0, 10, 0, 16, 0, 13, 0, 0, 0, 0, 0, 0, 8, 18, 0, 16, 0, 13, 0, 0, 0, 58, 0, 16, 128, 65, 0, - 0, 0, 6, 0, 0, 0, + 0, 0, 4, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 51, 0, 0, 7, 18, 0, 16, 0, 13, 0, 0, 0, 58, 0, 16, 0, - 5, 0, 0, 0, 10, 0, + 3, 0, 0, 0, 10, 0, 16, 0, 13, 0, 0, 0, 56, 32, 0, 7, 130, 0, - 16, 0, 11, 0, 0, 0, - 58, 0, 16, 0, 11, 0, + 16, 0, 10, 0, 0, 0, + 58, 0, 16, 0, 10, 0, 0, 0, 10, 0, 16, 0, 13, 0, 0, 0, 0, 0, 0, 8, 18, 0, 16, 0, 13, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, - 8, 0, 0, 0, 1, 64, + 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 51, 0, 0, 7, 18, 0, 16, 0, 13, 0, 0, 0, - 58, 0, 16, 0, 7, 0, + 58, 0, 16, 0, 5, 0, 0, 0, 10, 0, 16, 0, 13, 0, 0, 0, 56, 32, 0, 7, 130, 0, 16, 0, - 12, 0, 0, 0, 58, 0, - 16, 0, 12, 0, 0, 0, + 11, 0, 0, 0, 58, 0, + 16, 0, 11, 0, 0, 0, 10, 0, 16, 0, 13, 0, - 0, 0, 85, 0, 0, 7, - 130, 0, 16, 0, 9, 0, + 0, 0, 0, 0, 0, 8, + 18, 0, 16, 0, 13, 0, + 0, 0, 58, 0, 16, 128, + 65, 0, 0, 0, 8, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 128, 63, 51, 0, + 0, 7, 18, 0, 16, 0, + 13, 0, 0, 0, 58, 0, + 16, 0, 7, 0, 0, 0, + 10, 0, 16, 0, 13, 0, + 0, 0, 56, 32, 0, 7, + 130, 0, 16, 0, 12, 0, 0, 0, 58, 0, 16, 0, - 9, 0, 0, 0, 1, 64, - 0, 0, 1, 0, 0, 0, - 30, 0, 0, 7, 130, 0, + 12, 0, 0, 0, 10, 0, + 16, 0, 13, 0, 0, 0, + 85, 0, 0, 7, 130, 0, 16, 0, 9, 0, 0, 0, 58, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, - 57, 70, 188, 31, 85, 0, + 1, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, - 10, 0, 0, 0, 58, 0, - 16, 0, 10, 0, 0, 0, - 1, 64, 0, 0, 1, 0, - 0, 0, 30, 0, 0, 7, + 9, 0, 0, 0, 58, 0, + 16, 0, 9, 0, 0, 0, + 1, 64, 0, 0, 57, 70, + 188, 31, 85, 0, 0, 7, 130, 0, 16, 0, 10, 0, 0, 0, 58, 0, 16, 0, 10, 0, 0, 0, 1, 64, - 0, 0, 57, 70, 188, 31, - 85, 0, 0, 7, 130, 0, - 16, 0, 11, 0, 0, 0, - 58, 0, 16, 0, 11, 0, + 0, 0, 1, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 10, 0, 0, 0, + 58, 0, 16, 0, 10, 0, 0, 0, 1, 64, 0, 0, - 1, 0, 0, 0, 30, 0, + 57, 70, 188, 31, 85, 0, 0, 7, 130, 0, 16, 0, 11, 0, 0, 0, 58, 0, 16, 0, 11, 0, 0, 0, - 1, 64, 0, 0, 57, 70, - 188, 31, 85, 0, 0, 7, - 130, 0, 16, 0, 12, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 11, 0, 0, 0, 58, 0, 16, 0, - 12, 0, 0, 0, 1, 64, - 0, 0, 1, 0, 0, 0, - 30, 0, 0, 7, 130, 0, + 11, 0, 0, 0, 1, 64, + 0, 0, 57, 70, 188, 31, + 85, 0, 0, 7, 130, 0, 16, 0, 12, 0, 0, 0, 58, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, - 57, 70, 188, 31, 56, 0, - 0, 9, 130, 0, 16, 0, - 9, 0, 0, 0, 58, 0, - 16, 0, 9, 0, 0, 0, - 10, 128, 48, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 56, 0, - 0, 9, 130, 0, 16, 0, - 10, 0, 0, 0, 58, 0, - 16, 0, 10, 0, 0, 0, - 10, 128, 48, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 56, 0, - 0, 9, 130, 0, 16, 0, - 11, 0, 0, 0, 58, 0, - 16, 0, 11, 0, 0, 0, - 10, 128, 48, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 56, 0, - 0, 9, 130, 0, 16, 0, + 1, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, 12, 0, 0, 0, 58, 0, 16, 0, 12, 0, 0, 0, - 10, 128, 48, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 11, 50, 0, 16, 0, - 13, 0, 0, 0, 182, 15, - 16, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 2, 64, - 0, 0, 0, 0, 128, 63, + 1, 64, 0, 0, 57, 70, + 188, 31, 56, 0, 0, 9, + 130, 0, 16, 0, 9, 0, + 0, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 56, 0, 0, 9, + 130, 0, 16, 0, 10, 0, + 0, 0, 58, 0, 16, 0, + 10, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 56, 0, 0, 9, + 130, 0, 16, 0, 11, 0, + 0, 0, 58, 0, 16, 0, + 11, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 56, 0, 0, 9, + 130, 0, 16, 0, 12, 0, + 0, 0, 58, 0, 16, 0, + 12, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 11, + 50, 0, 16, 0, 13, 0, + 0, 0, 182, 15, 16, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, - 0, 0, 0, 0, 0, 0, - 56, 0, 0, 7, 66, 0, + 128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 56, 0, + 0, 7, 66, 0, 16, 0, + 13, 0, 0, 0, 10, 0, 16, 0, 13, 0, 0, 0, - 10, 0, 16, 0, 13, 0, - 0, 0, 26, 0, 16, 0, - 13, 0, 0, 0, 56, 0, - 0, 7, 50, 0, 16, 0, - 13, 0, 0, 0, 230, 10, - 16, 0, 0, 0, 0, 0, - 70, 0, 16, 0, 13, 0, + 26, 0, 16, 0, 13, 0, 0, 0, 56, 0, 0, 7, - 66, 0, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 42, 0, + 50, 0, 16, 0, 13, 0, + 0, 0, 230, 10, 16, 0, + 0, 0, 0, 0, 70, 0, + 16, 0, 13, 0, 0, 0, + 56, 0, 0, 7, 66, 0, 16, 0, 0, 0, 0, 0, - 0, 0, 0, 8, 130, 0, - 16, 0, 0, 0, 0, 0, - 58, 0, 16, 128, 65, 0, - 0, 0, 1, 0, 0, 0, - 58, 0, 16, 0, 2, 0, - 0, 0, 0, 0, 0, 7, - 130, 0, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 0, 61, - 30, 0, 0, 8, 130, 0, - 16, 0, 0, 0, 0, 0, - 58, 0, 16, 128, 65, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, 0, 0, 0, 0, 0, 0, - 1, 64, 0, 0, 187, 126, - 240, 126, 56, 0, 0, 7, + 0, 8, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 128, 65, 0, 0, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 0, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 61, 30, 0, + 0, 8, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 187, 126, 240, 126, + 56, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 13, 0, 0, 0, 0, 0, + 0, 8, 130, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 128, 65, 0, 0, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 4, 0, 0, 0, + 0, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 61, 30, 0, + 0, 8, 130, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 128, 65, 0, 0, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 187, 126, 240, 126, + 56, 0, 0, 7, 130, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 13, 0, 0, 0, 0, 0, + 0, 8, 130, 0, 16, 0, + 4, 0, 0, 0, 58, 0, + 16, 128, 65, 0, 0, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 6, 0, 0, 0, + 0, 0, 0, 7, 130, 0, + 16, 0, 4, 0, 0, 0, + 58, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 61, 30, 0, + 0, 8, 130, 0, 16, 0, + 4, 0, 0, 0, 58, 0, + 16, 128, 65, 0, 0, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 187, 126, 240, 126, + 56, 0, 0, 7, 130, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 13, 0, 0, 0, 0, 0, + 0, 8, 130, 0, 16, 0, + 6, 0, 0, 0, 58, 0, + 16, 128, 65, 0, 0, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 8, 0, 0, 0, + 0, 0, 0, 7, 130, 0, + 16, 0, 6, 0, 0, 0, + 58, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 61, 30, 0, + 0, 8, 130, 0, 16, 0, + 6, 0, 0, 0, 58, 0, + 16, 128, 65, 0, 0, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 187, 126, 240, 126, + 56, 0, 0, 7, 130, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 6, 0, 0, 0, 56, 0, + 0, 7, 130, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 9, 0, + 0, 0, 56, 0, 0, 7, + 130, 0, 16, 0, 13, 0, + 0, 0, 58, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 10, 0, 0, 0, + 56, 0, 0, 7, 130, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 11, 0, 0, 0, 50, 0, + 0, 9, 130, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 10, 0, 0, 0, + 58, 0, 16, 0, 3, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 50, 0, + 0, 9, 130, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 13, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 3, 0, 0, 0, 56, 0, + 0, 7, 130, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 7, 0, 0, 0, + 58, 0, 16, 0, 12, 0, + 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 1, 0, 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 42, 0, - 16, 0, 13, 0, 0, 0, - 0, 0, 0, 8, 130, 0, - 16, 0, 2, 0, 0, 0, - 58, 0, 16, 128, 65, 0, - 0, 0, 3, 0, 0, 0, - 58, 0, 16, 0, 4, 0, - 0, 0, 0, 0, 0, 7, + 9, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 7, 0, + 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 2, 0, - 0, 0, 58, 0, 16, 0, - 2, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 0, 61, - 30, 0, 0, 8, 130, 0, + 0, 0, 10, 0, 16, 0, + 13, 0, 0, 0, 58, 0, 16, 0, 2, 0, 0, 0, - 58, 0, 16, 128, 65, 0, - 0, 0, 2, 0, 0, 0, - 1, 64, 0, 0, 187, 126, - 240, 126, 56, 0, 0, 7, - 130, 0, 16, 0, 3, 0, - 0, 0, 58, 0, 16, 0, - 2, 0, 0, 0, 10, 0, - 16, 0, 13, 0, 0, 0, - 0, 0, 0, 8, 130, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 50, 0, 0, 9, + 130, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 13, 0, 0, 0, 58, 0, 16, 0, 4, 0, 0, 0, - 58, 0, 16, 128, 65, 0, - 0, 0, 5, 0, 0, 0, - 58, 0, 16, 0, 6, 0, - 0, 0, 0, 0, 0, 7, - 130, 0, 16, 0, 4, 0, - 0, 0, 58, 0, 16, 0, - 4, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 0, 61, - 30, 0, 0, 8, 130, 0, - 16, 0, 4, 0, 0, 0, - 58, 0, 16, 128, 65, 0, - 0, 0, 4, 0, 0, 0, - 1, 64, 0, 0, 187, 126, - 240, 126, 56, 0, 0, 7, - 130, 0, 16, 0, 5, 0, - 0, 0, 58, 0, 16, 0, - 4, 0, 0, 0, 26, 0, - 16, 0, 13, 0, 0, 0, - 0, 0, 0, 8, 130, 0, - 16, 0, 6, 0, 0, 0, - 58, 0, 16, 128, 65, 0, - 0, 0, 7, 0, 0, 0, - 58, 0, 16, 0, 8, 0, - 0, 0, 0, 0, 0, 7, - 130, 0, 16, 0, 6, 0, - 0, 0, 58, 0, 16, 0, - 6, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 0, 61, - 30, 0, 0, 8, 130, 0, - 16, 0, 6, 0, 0, 0, - 58, 0, 16, 128, 65, 0, - 0, 0, 6, 0, 0, 0, - 1, 64, 0, 0, 187, 126, - 240, 126, 56, 0, 0, 7, - 130, 0, 16, 0, 7, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 50, 0, 0, 9, + 66, 0, 16, 0, 0, 0, 0, 0, 42, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 6, 0, 0, 0, - 56, 0, 0, 7, 130, 0, - 16, 0, 8, 0, 0, 0, - 58, 0, 16, 0, 1, 0, - 0, 0, 58, 0, 16, 0, - 9, 0, 0, 0, 56, 0, - 0, 7, 130, 0, 16, 0, - 13, 0, 0, 0, 58, 0, - 16, 0, 3, 0, 0, 0, - 58, 0, 16, 0, 10, 0, - 0, 0, 56, 0, 0, 7, - 130, 0, 16, 0, 5, 0, - 0, 0, 58, 0, 16, 0, - 5, 0, 0, 0, 58, 0, - 16, 0, 11, 0, 0, 0, - 50, 0, 0, 9, 130, 0, - 16, 0, 3, 0, 0, 0, - 58, 0, 16, 0, 10, 0, - 0, 0, 58, 0, 16, 0, - 3, 0, 0, 0, 58, 0, - 16, 0, 5, 0, 0, 0, - 50, 0, 0, 9, 130, 0, - 16, 0, 0, 0, 0, 0, - 42, 0, 16, 0, 13, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 58, 0, - 16, 0, 3, 0, 0, 0, - 56, 0, 0, 7, 130, 0, - 16, 0, 7, 0, 0, 0, - 58, 0, 16, 0, 7, 0, - 0, 0, 58, 0, 16, 0, - 12, 0, 0, 0, 50, 0, - 0, 9, 130, 0, 16, 0, - 1, 0, 0, 0, 58, 0, - 16, 0, 9, 0, 0, 0, - 58, 0, 16, 0, 1, 0, - 0, 0, 58, 0, 16, 0, - 7, 0, 0, 0, 50, 0, - 0, 9, 130, 0, 16, 0, - 2, 0, 0, 0, 10, 0, - 16, 0, 13, 0, 0, 0, - 58, 0, 16, 0, 2, 0, - 0, 0, 58, 0, 16, 0, - 1, 0, 0, 0, 50, 0, - 0, 9, 130, 0, 16, 0, - 1, 0, 0, 0, 26, 0, - 16, 0, 13, 0, 0, 0, - 58, 0, 16, 0, 4, 0, - 0, 0, 58, 0, 16, 0, - 1, 0, 0, 0, 50, 0, - 0, 9, 66, 0, 16, 0, - 0, 0, 0, 0, 42, 0, - 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 6, 0, - 0, 0, 58, 0, 16, 0, - 3, 0, 0, 0, 0, 0, - 0, 7, 130, 0, 16, 0, - 3, 0, 0, 0, 58, 0, - 16, 0, 13, 0, 0, 0, - 58, 0, 16, 0, 13, 0, - 0, 0, 50, 0, 0, 9, - 130, 0, 16, 0, 3, 0, - 0, 0, 58, 0, 16, 0, - 8, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 0, 64, - 58, 0, 16, 0, 3, 0, - 0, 0, 50, 0, 0, 9, - 130, 0, 16, 0, 3, 0, - 0, 0, 58, 0, 16, 0, - 5, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 0, 64, - 58, 0, 16, 0, 3, 0, - 0, 0, 50, 0, 0, 9, - 130, 0, 16, 0, 3, 0, - 0, 0, 58, 0, 16, 0, - 7, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 0, 64, 58, 0, 16, 0, 3, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 3, 0, 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 58, 0, + 13, 0, 0, 0, 58, 0, + 16, 0, 13, 0, 0, 0, + 50, 0, 0, 9, 130, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 64, 58, 0, + 16, 0, 3, 0, 0, 0, + 50, 0, 0, 9, 130, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 64, 58, 0, + 16, 0, 3, 0, 0, 0, + 50, 0, 0, 9, 130, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 7, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 64, 58, 0, 16, 0, 3, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 3, 0, 0, 0, - 58, 0, 16, 0, 2, 0, + 58, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 3, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 3, 0, 0, 0, 58, 0, - 16, 0, 1, 0, 0, 0, + 16, 0, 2, 0, 0, 0, 58, 0, 16, 0, 3, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 3, 0, - 0, 0, 42, 0, 16, 0, - 0, 0, 0, 0, 58, 0, - 16, 0, 3, 0, 0, 0, - 30, 0, 0, 8, 130, 0, - 16, 0, 4, 0, 0, 0, - 58, 0, 16, 128, 65, 0, - 0, 0, 3, 0, 0, 0, - 1, 64, 0, 0, 255, 159, - 241, 126, 50, 0, 0, 10, - 130, 0, 16, 0, 3, 0, - 0, 0, 58, 0, 16, 128, - 65, 0, 0, 0, 4, 0, 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 3, 0, 0, 0, + 0, 0, 0, 7, 130, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 3, 0, 0, 0, 30, 0, + 0, 8, 130, 0, 16, 0, + 4, 0, 0, 0, 58, 0, + 16, 128, 65, 0, 0, 0, 3, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 0, 64, - 56, 0, 0, 7, 130, 0, + 0, 0, 255, 159, 241, 126, + 50, 0, 0, 10, 130, 0, 16, 0, 3, 0, 0, 0, + 58, 0, 16, 128, 65, 0, + 0, 0, 4, 0, 0, 0, 58, 0, 16, 0, 3, 0, - 0, 0, 58, 0, 16, 0, - 4, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, - 2, 0, 0, 0, 70, 2, - 16, 0, 2, 0, 0, 0, - 246, 15, 16, 0, 8, 0, - 0, 0, 50, 0, 0, 9, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 64, 56, 0, + 0, 7, 130, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 4, 0, + 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, - 3, 0, 0, 0, 246, 15, + 2, 0, 0, 0, 246, 15, 16, 0, 8, 0, 0, 0, - 70, 2, 16, 0, 2, 0, - 0, 0, 50, 0, 0, 9, - 114, 0, 16, 0, 2, 0, - 0, 0, 70, 2, 16, 0, - 6, 0, 0, 0, 246, 15, - 16, 0, 13, 0, 0, 0, - 70, 2, 16, 0, 2, 0, - 0, 0, 50, 0, 0, 9, - 114, 0, 16, 0, 2, 0, - 0, 0, 70, 2, 16, 0, - 8, 0, 0, 0, 246, 15, - 16, 0, 13, 0, 0, 0, - 70, 2, 16, 0, 2, 0, - 0, 0, 50, 0, 0, 9, - 114, 0, 16, 0, 2, 0, - 0, 0, 70, 2, 16, 0, - 7, 0, 0, 0, 246, 15, - 16, 0, 5, 0, 0, 0, - 70, 2, 16, 0, 2, 0, - 0, 0, 50, 0, 0, 9, - 114, 0, 16, 0, 2, 0, - 0, 0, 70, 2, 16, 0, - 9, 0, 0, 0, 246, 15, - 16, 0, 5, 0, 0, 0, - 70, 2, 16, 0, 2, 0, - 0, 0, 50, 0, 0, 9, - 114, 0, 16, 0, 2, 0, - 0, 0, 70, 2, 16, 0, - 11, 0, 0, 0, 246, 15, - 16, 0, 7, 0, 0, 0, - 70, 2, 16, 0, 2, 0, - 0, 0, 50, 0, 0, 9, - 114, 0, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 246, 15, - 16, 0, 7, 0, 0, 0, - 70, 2, 16, 0, 2, 0, - 0, 0, 50, 0, 0, 9, - 114, 0, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 4, 0, 0, 0, 246, 15, - 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 50, 0, 0, 9, - 114, 0, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 5, 0, 0, 0, 246, 15, + 50, 0, 0, 9, 114, 0, 16, 0, 2, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 50, 0, 0, 9, - 114, 0, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 10, 0, 0, 0, 246, 15, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 50, 0, 0, 9, - 114, 0, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 12, 0, 0, 0, 166, 10, - 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 56, 32, 0, 7, - 114, 0, 16, 0, 1, 0, + 70, 2, 16, 0, 3, 0, 0, 0, 246, 15, 16, 0, - 3, 0, 0, 0, 70, 2, - 16, 0, 1, 0, 0, 0, - 75, 0, 0, 5, 114, 0, + 8, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 50, 0, 0, 9, 114, 0, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 6, 0, + 0, 0, 246, 15, 16, 0, + 13, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 50, 0, 0, 9, 114, 0, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 8, 0, + 0, 0, 246, 15, 16, 0, + 13, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 50, 0, 0, 9, 114, 0, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 246, 15, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 50, 0, 0, 9, 114, 0, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 9, 0, + 0, 0, 246, 15, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 50, 0, 0, 9, 114, 0, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 11, 0, + 0, 0, 246, 15, 16, 0, + 7, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 50, 0, 0, 9, 114, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 1, 0, + 0, 0, 246, 15, 16, 0, + 7, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 50, 0, 0, 9, 114, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 50, 0, 0, 9, 114, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 246, 15, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 50, 0, 0, 9, 114, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 10, 0, + 0, 0, 246, 15, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 50, 0, 0, 9, 114, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 12, 0, + 0, 0, 166, 10, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 56, 32, 0, 7, 114, 0, + 16, 0, 1, 0, 0, 0, + 246, 15, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 75, 0, + 0, 5, 114, 0, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 140, 0, 0, 11, 34, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 0, 0, 0, 140, 0, 0, 11, - 34, 0, 16, 0, 0, 0, + 18, 0, 16, 0, 0, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 1, 64, - 0, 0, 4, 0, 0, 0, - 26, 0, 16, 0, 0, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 0, 0, 140, 0, - 0, 11, 18, 0, 16, 0, - 0, 0, 0, 0, 1, 64, - 0, 0, 4, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 26, 0, - 16, 0, 0, 0, 0, 0, - 0, 0, 0, 8, 114, 32, - 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 6, 144, 144, 0, + 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 0, 0, - 0, 0, 54, 0, 0, 5, - 130, 32, 16, 0, 0, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 128, 63, 62, 0, - 0, 1, 83, 84, 65, 84, - 148, 0, 0, 0, 175, 0, - 0, 0, 14, 0, 0, 0, - 0, 1, 0, 0, 2, 0, - 0, 0, 115, 0, 0, 0, - 20, 0, 0, 0, 4, 0, - 0, 0, 1, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 0, 32, + 0, 8, 114, 32, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 6, 144, 144, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 54, 0, 0, 5, 130, 32, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 128, 63, 62, 0, 0, 1, + 83, 84, 65, 84, 148, 0, + 0, 0, 175, 0, 0, 0, + 14, 0, 0, 0, 0, 1, + 0, 0, 2, 0, 0, 0, + 115, 0, 0, 0, 20, 0, + 0, 0, 4, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 12, 0, + 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 18, 0, 0, 0, - 0, 0, 0, 0, 4, 0, + 18, 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, @@ -2222,6 +2225,5 @@ const BYTE guest_output_ffx_cas_resample_dither_ps[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0 + 0, 0, 0, 0, 0, 0 }; diff --git a/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_ffx_cas_resample_ps.h b/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_ffx_cas_resample_ps.h index 1a7634fd6..f45d01cba 100644 --- a/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_ffx_cas_resample_ps.h +++ b/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_ffx_cas_resample_ps.h @@ -5,7 +5,7 @@ // // Buffer Definitions: // -// cbuffer XeCasResampleConstants +// cbuffer xesl_push_constants // { // // int2 xe_cas_output_offset; // Offset: 0 Size: 8 @@ -19,8 +19,8 @@ // // Name Type Format Dim ID HLSL Bind Count // ------------------------------ ---------- ------- ----------- ------- -------------- ------ -// xe_texture texture float3 2d T0 t0 1 -// XeCasResampleConstants cbuffer NA NA CB0 cb0 1 +// xesl_id_texture_xe_cas_source texture float4 2d T0 t0 1 +// xesl_push_constants cbuffer NA NA CB0 cb0 1 // // // @@ -221,21 +221,21 @@ ret const BYTE guest_output_ffx_cas_resample_ps[] = { - 68, 88, 66, 67, 153, 223, - 100, 209, 57, 228, 221, 164, - 114, 23, 52, 94, 29, 110, - 188, 4, 1, 0, 0, 0, - 92, 24, 0, 0, 5, 0, + 68, 88, 66, 67, 147, 16, + 190, 43, 96, 108, 166, 162, + 113, 224, 199, 211, 16, 39, + 128, 125, 1, 0, 0, 0, + 108, 24, 0, 0, 5, 0, 0, 0, 52, 0, 0, 0, - 120, 2, 0, 0, 172, 2, - 0, 0, 224, 2, 0, 0, - 192, 23, 0, 0, 82, 68, - 69, 70, 60, 2, 0, 0, - 1, 0, 0, 0, 176, 0, + 136, 2, 0, 0, 188, 2, + 0, 0, 240, 2, 0, 0, + 208, 23, 0, 0, 82, 68, + 69, 70, 76, 2, 0, 0, + 1, 0, 0, 0, 192, 0, 0, 0, 2, 0, 0, 0, 60, 0, 0, 0, 1, 5, 255, 255, 0, 5, 0, 0, - 20, 2, 0, 0, 19, 19, + 36, 2, 0, 0, 19, 19, 68, 37, 60, 0, 0, 0, 24, 0, 0, 0, 40, 0, 0, 0, 40, 0, 0, 0, @@ -245,341 +245,201 @@ const BYTE guest_output_ffx_cas_resample_ps[] = 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 1, 0, 0, 0, 8, 0, + 1, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 151, 0, + 0, 0, 0, 0, 170, 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, - 0, 88, 101, 67, 97, 115, - 82, 101, 115, 97, 109, 112, - 108, 101, 67, 111, 110, 115, - 116, 97, 110, 116, 115, 0, - 171, 171, 151, 0, 0, 0, - 3, 0, 0, 0, 200, 0, - 0, 0, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 64, 1, 0, 0, - 0, 0, 0, 0, 8, 0, - 0, 0, 2, 0, 0, 0, - 92, 1, 0, 0, 0, 0, - 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 255, 255, - 255, 255, 0, 0, 0, 0, - 128, 1, 0, 0, 8, 0, - 0, 0, 8, 0, 0, 0, - 2, 0, 0, 0, 168, 1, - 0, 0, 0, 0, 0, 0, - 255, 255, 255, 255, 0, 0, - 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 204, 1, - 0, 0, 16, 0, 0, 0, - 4, 0, 0, 0, 2, 0, - 0, 0, 240, 1, 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, 99, - 97, 115, 95, 111, 117, 116, - 112, 117, 116, 95, 111, 102, - 102, 115, 101, 116, 0, 105, - 110, 116, 50, 0, 171, 171, - 1, 0, 2, 0, 1, 0, - 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 85, 1, 0, 0, + 0, 0, 120, 101, 115, 108, + 95, 105, 100, 95, 116, 101, + 120, 116, 117, 114, 101, 95, 120, 101, 95, 99, 97, 115, - 95, 105, 110, 112, 117, 116, - 95, 111, 117, 116, 112, 117, - 116, 95, 115, 105, 122, 101, - 95, 114, 97, 116, 105, 111, - 0, 102, 108, 111, 97, 116, - 50, 0, 171, 171, 1, 0, - 3, 0, 1, 0, 2, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 159, 1, 0, 0, 120, 101, - 95, 99, 97, 115, 95, 115, - 104, 97, 114, 112, 110, 101, - 115, 115, 95, 112, 111, 115, - 116, 95, 115, 101, 116, 117, - 112, 0, 102, 108, 111, 97, - 116, 0, 171, 171, 0, 0, - 3, 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, - 232, 1, 0, 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, 73, 83, 71, 78, - 44, 0, 0, 0, 1, 0, - 0, 0, 8, 0, 0, 0, + 95, 115, 111, 117, 114, 99, + 101, 0, 120, 101, 115, 108, + 95, 112, 117, 115, 104, 95, + 99, 111, 110, 115, 116, 97, + 110, 116, 115, 0, 171, 171, + 170, 0, 0, 0, 3, 0, + 0, 0, 216, 0, 0, 0, 32, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 3, 0, 0, - 83, 86, 95, 80, 111, 115, - 105, 116, 105, 111, 110, 0, - 79, 83, 71, 78, 44, 0, + 0, 0, 0, 0, 0, 0, + 80, 1, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 2, 0, 0, 0, 108, 1, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 144, 1, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 2, 0, + 0, 0, 184, 1, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 220, 1, 0, 0, + 16, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 0, 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, 99, 97, 115, + 95, 111, 117, 116, 112, 117, + 116, 95, 111, 102, 102, 115, + 101, 116, 0, 105, 110, 116, + 50, 0, 171, 171, 1, 0, + 2, 0, 1, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 101, 1, 0, 0, 120, 101, + 95, 99, 97, 115, 95, 105, + 110, 112, 117, 116, 95, 111, + 117, 116, 112, 117, 116, 95, + 115, 105, 122, 101, 95, 114, + 97, 116, 105, 111, 0, 102, + 108, 111, 97, 116, 50, 0, + 171, 171, 1, 0, 3, 0, + 1, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 175, 1, + 0, 0, 120, 101, 95, 99, + 97, 115, 95, 115, 104, 97, + 114, 112, 110, 101, 115, 115, + 95, 112, 111, 115, 116, 95, + 115, 101, 116, 117, 112, 0, + 102, 108, 111, 97, 116, 0, + 171, 171, 0, 0, 3, 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, 248, 1, + 0, 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, + 73, 83, 71, 78, 44, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 83, 86, - 95, 84, 97, 114, 103, 101, - 116, 0, 171, 171, 83, 72, - 69, 88, 216, 20, 0, 0, - 81, 0, 0, 0, 54, 5, - 0, 0, 106, 8, 0, 1, - 89, 0, 0, 7, 70, 142, - 48, 0, 0, 0, 0, 0, + 15, 3, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 79, 83, + 71, 78, 44, 0, 0, 0, + 1, 0, 0, 0, 8, 0, + 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 88, 24, - 0, 7, 70, 126, 48, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 83, 86, 95, 84, + 97, 114, 103, 101, 116, 0, + 171, 171, 83, 72, 69, 88, + 216, 20, 0, 0, 81, 0, + 0, 0, 54, 5, 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, - 85, 85, 0, 0, 0, 0, - 0, 0, 100, 32, 0, 4, - 50, 16, 16, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 101, 0, 0, 3, 242, 32, - 16, 0, 0, 0, 0, 0, - 104, 0, 0, 2, 14, 0, - 0, 0, 27, 0, 0, 5, - 50, 0, 16, 0, 0, 0, - 0, 0, 70, 16, 16, 0, - 0, 0, 0, 0, 30, 0, - 0, 10, 50, 0, 16, 0, - 0, 0, 0, 0, 70, 0, - 16, 0, 0, 0, 0, 0, - 70, 128, 48, 128, 65, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 50, 0, 0, 17, - 194, 0, 16, 0, 0, 0, - 0, 0, 166, 142, 48, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 63, 0, 0, - 0, 63, 2, 64, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 191, - 0, 0, 0, 191, 86, 0, - 0, 5, 50, 0, 16, 0, - 0, 0, 0, 0, 70, 0, - 16, 0, 0, 0, 0, 0, - 50, 0, 0, 11, 50, 0, - 16, 0, 0, 0, 0, 0, - 70, 0, 16, 0, 0, 0, - 0, 0, 230, 138, 48, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 230, 10, 16, 0, 0, 0, - 0, 0, 65, 0, 0, 5, - 194, 0, 16, 0, 0, 0, - 0, 0, 6, 4, 16, 0, - 0, 0, 0, 0, 0, 0, - 0, 8, 50, 0, 16, 0, - 0, 0, 0, 0, 230, 10, - 16, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 70, 0, - 16, 0, 0, 0, 0, 0, - 27, 0, 0, 5, 50, 0, - 16, 0, 1, 0, 0, 0, - 230, 10, 16, 0, 0, 0, - 0, 0, 30, 0, 0, 10, - 242, 0, 16, 0, 2, 0, - 0, 0, 70, 4, 16, 0, - 1, 0, 0, 0, 2, 64, - 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 0, 0, - 0, 0, 255, 255, 255, 255, - 54, 0, 0, 5, 50, 0, - 16, 0, 3, 0, 0, 0, - 230, 10, 16, 0, 2, 0, - 0, 0, 54, 0, 0, 8, - 194, 0, 16, 0, 3, 0, - 0, 0, 2, 64, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 45, 0, - 0, 8, 114, 0, 16, 0, - 3, 0, 0, 0, 70, 14, - 16, 0, 3, 0, 0, 0, - 70, 126, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 54, 0, 0, 8, 194, 0, - 16, 0, 2, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 45, 0, 0, 8, - 114, 0, 16, 0, 2, 0, - 0, 0, 70, 14, 16, 0, - 2, 0, 0, 0, 70, 126, - 32, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 54, 0, - 0, 8, 194, 0, 16, 0, - 1, 0, 0, 0, 2, 64, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 45, 0, 0, 8, 114, 0, - 16, 0, 4, 0, 0, 0, - 70, 14, 16, 0, 1, 0, - 0, 0, 70, 126, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 30, 0, 0, 10, - 242, 0, 16, 0, 5, 0, - 0, 0, 70, 4, 16, 0, - 1, 0, 0, 0, 2, 64, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 255, 255, 255, 255, - 54, 0, 0, 5, 50, 0, - 16, 0, 6, 0, 0, 0, - 230, 10, 16, 0, 5, 0, - 0, 0, 54, 0, 0, 8, - 194, 0, 16, 0, 6, 0, - 0, 0, 2, 64, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 45, 0, - 0, 8, 114, 0, 16, 0, - 6, 0, 0, 0, 70, 14, - 16, 0, 6, 0, 0, 0, - 70, 126, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 54, 0, 0, 8, 194, 0, - 16, 0, 5, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 45, 0, 0, 8, - 114, 0, 16, 0, 5, 0, - 0, 0, 70, 14, 16, 0, - 5, 0, 0, 0, 70, 126, - 32, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 30, 0, - 0, 10, 242, 0, 16, 0, - 7, 0, 0, 0, 70, 4, - 16, 0, 1, 0, 0, 0, - 2, 64, 0, 0, 255, 255, - 255, 255, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, - 0, 0, 54, 0, 0, 5, - 50, 0, 16, 0, 8, 0, - 0, 0, 230, 10, 16, 0, - 7, 0, 0, 0, 54, 0, - 0, 8, 194, 0, 16, 0, - 8, 0, 0, 0, 2, 64, + 0, 0, 88, 24, 0, 7, + 70, 126, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 85, 85, + 0, 0, 0, 0, 0, 0, + 100, 32, 0, 4, 50, 16, + 16, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 0, 0, 0, 0, 104, 0, + 0, 2, 14, 0, 0, 0, + 27, 0, 0, 5, 50, 0, + 16, 0, 0, 0, 0, 0, + 70, 16, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 10, + 50, 0, 16, 0, 0, 0, + 0, 0, 70, 0, 16, 0, + 0, 0, 0, 0, 70, 128, + 48, 128, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 50, 0, 0, 17, 194, 0, + 16, 0, 0, 0, 0, 0, + 166, 142, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 45, 0, 0, 8, 114, 0, - 16, 0, 8, 0, 0, 0, - 70, 14, 16, 0, 8, 0, - 0, 0, 70, 126, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 54, 0, 0, 8, - 194, 0, 16, 0, 7, 0, - 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 45, 0, - 0, 8, 114, 0, 16, 0, - 7, 0, 0, 0, 70, 14, - 16, 0, 7, 0, 0, 0, - 70, 126, 32, 0, 0, 0, + 0, 63, 0, 0, 0, 63, + 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 191, 0, 0, + 0, 191, 86, 0, 0, 5, + 50, 0, 16, 0, 0, 0, + 0, 0, 70, 0, 16, 0, + 0, 0, 0, 0, 50, 0, + 0, 11, 50, 0, 16, 0, + 0, 0, 0, 0, 70, 0, + 16, 0, 0, 0, 0, 0, + 230, 138, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 230, 10, + 16, 0, 0, 0, 0, 0, + 65, 0, 0, 5, 194, 0, + 16, 0, 0, 0, 0, 0, + 6, 4, 16, 0, 0, 0, + 0, 0, 0, 0, 0, 8, + 50, 0, 16, 0, 0, 0, + 0, 0, 230, 10, 16, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 70, 0, 16, 0, + 0, 0, 0, 0, 27, 0, + 0, 5, 50, 0, 16, 0, + 1, 0, 0, 0, 230, 10, + 16, 0, 0, 0, 0, 0, 30, 0, 0, 10, 242, 0, - 16, 0, 9, 0, 0, 0, + 16, 0, 2, 0, 0, 0, 70, 4, 16, 0, 1, 0, 0, 0, 2, 64, 0, 0, - 0, 0, 0, 0, 2, 0, + 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 54, 0, + 255, 255, 255, 255, 54, 0, 0, 5, 50, 0, 16, 0, - 10, 0, 0, 0, 230, 10, - 16, 0, 9, 0, 0, 0, + 3, 0, 0, 0, 230, 10, + 16, 0, 2, 0, 0, 0, 54, 0, 0, 8, 194, 0, - 16, 0, 10, 0, 0, 0, + 16, 0, 3, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 8, - 114, 0, 16, 0, 10, 0, + 114, 0, 16, 0, 3, 0, 0, 0, 70, 14, 16, 0, - 10, 0, 0, 0, 70, 126, + 3, 0, 0, 0, 70, 126, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 8, 194, 0, 16, 0, - 9, 0, 0, 0, 2, 64, + 2, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 8, 114, 0, - 16, 0, 9, 0, 0, 0, - 70, 14, 16, 0, 9, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 2, 0, 0, 0, 70, 126, 32, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 30, 0, 0, 10, - 242, 0, 16, 0, 11, 0, - 0, 0, 70, 4, 16, 0, - 1, 0, 0, 0, 2, 64, - 0, 0, 2, 0, 0, 0, - 1, 0, 0, 0, 1, 0, - 0, 0, 1, 0, 0, 0, - 54, 0, 0, 5, 50, 0, - 16, 0, 12, 0, 0, 0, - 230, 10, 16, 0, 11, 0, - 0, 0, 54, 0, 0, 8, - 194, 0, 16, 0, 12, 0, - 0, 0, 2, 64, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 45, 0, - 0, 8, 114, 0, 16, 0, - 12, 0, 0, 0, 70, 14, - 16, 0, 12, 0, 0, 0, - 70, 126, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 54, 0, 0, 8, 194, 0, - 16, 0, 11, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 45, 0, 0, 8, - 114, 0, 16, 0, 11, 0, - 0, 0, 70, 14, 16, 0, - 11, 0, 0, 0, 70, 126, - 32, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 30, 0, - 0, 10, 50, 0, 16, 0, - 1, 0, 0, 0, 70, 0, - 16, 0, 1, 0, 0, 0, - 2, 64, 0, 0, 1, 0, - 0, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 8, 194, 0, 16, 0, 1, 0, 0, 0, 2, 64, 0, 0, @@ -587,669 +447,812 @@ const BYTE guest_output_ffx_cas_resample_ps[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 8, 114, 0, 16, 0, - 1, 0, 0, 0, 70, 14, + 4, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, 70, 126, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 56, 0, 0, 7, 114, 0, + 30, 0, 0, 10, 242, 0, + 16, 0, 5, 0, 0, 0, + 70, 4, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 255, 255, 255, 255, 54, 0, + 0, 5, 50, 0, 16, 0, + 6, 0, 0, 0, 230, 10, + 16, 0, 5, 0, 0, 0, + 54, 0, 0, 8, 194, 0, + 16, 0, 6, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 45, 0, 0, 8, + 114, 0, 16, 0, 6, 0, + 0, 0, 70, 14, 16, 0, + 6, 0, 0, 0, 70, 126, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 8, 194, 0, 16, 0, + 5, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 45, 0, 0, 8, 114, 0, + 16, 0, 5, 0, 0, 0, + 70, 14, 16, 0, 5, 0, + 0, 0, 70, 126, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 30, 0, 0, 10, + 242, 0, 16, 0, 7, 0, + 0, 0, 70, 4, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 255, 255, 255, 255, + 1, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 5, 50, 0, + 16, 0, 8, 0, 0, 0, + 230, 10, 16, 0, 7, 0, + 0, 0, 54, 0, 0, 8, + 194, 0, 16, 0, 8, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 45, 0, + 0, 8, 114, 0, 16, 0, + 8, 0, 0, 0, 70, 14, + 16, 0, 8, 0, 0, 0, + 70, 126, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 8, 194, 0, + 16, 0, 7, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 45, 0, 0, 8, + 114, 0, 16, 0, 7, 0, + 0, 0, 70, 14, 16, 0, + 7, 0, 0, 0, 70, 126, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 30, 0, + 0, 10, 242, 0, 16, 0, + 9, 0, 0, 0, 70, 4, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 54, 0, 0, 5, + 50, 0, 16, 0, 10, 0, + 0, 0, 230, 10, 16, 0, + 9, 0, 0, 0, 54, 0, + 0, 8, 194, 0, 16, 0, + 10, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 45, 0, 0, 8, 114, 0, + 16, 0, 10, 0, 0, 0, + 70, 14, 16, 0, 10, 0, + 0, 0, 70, 126, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 8, + 194, 0, 16, 0, 9, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 45, 0, + 0, 8, 114, 0, 16, 0, + 9, 0, 0, 0, 70, 14, + 16, 0, 9, 0, 0, 0, + 70, 126, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 10, 242, 0, + 16, 0, 11, 0, 0, 0, + 70, 4, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 2, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 54, 0, + 0, 5, 50, 0, 16, 0, + 12, 0, 0, 0, 230, 10, + 16, 0, 11, 0, 0, 0, + 54, 0, 0, 8, 194, 0, + 16, 0, 12, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 45, 0, 0, 8, + 114, 0, 16, 0, 12, 0, + 0, 0, 70, 14, 16, 0, + 12, 0, 0, 0, 70, 126, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 8, 194, 0, 16, 0, + 11, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 45, 0, 0, 8, 114, 0, + 16, 0, 11, 0, 0, 0, + 70, 14, 16, 0, 11, 0, + 0, 0, 70, 126, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 30, 0, 0, 10, + 50, 0, 16, 0, 1, 0, + 0, 0, 70, 0, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 1, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 8, 194, 0, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 45, 0, 0, 8, + 114, 0, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 70, 126, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 3, 0, 0, 0, 70, 2, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 3, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 6, 0, 0, 0, 70, 2, 16, 0, - 3, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, 6, 0, 0, 0, 70, 2, 16, 0, 6, 0, 0, 0, - 70, 2, 16, 0, 6, 0, - 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 2, 0, - 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 70, 2, - 16, 0, 2, 0, 0, 0, 56, 0, 0, 7, 114, 0, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 4, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, 70, 2, 16, 0, 4, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 5, 0, 0, 0, 70, 2, 16, 0, - 4, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, 5, 0, 0, 0, 70, 2, 16, 0, 5, 0, 0, 0, - 70, 2, 16, 0, 5, 0, - 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 8, 0, - 0, 0, 70, 2, 16, 0, - 8, 0, 0, 0, 70, 2, - 16, 0, 8, 0, 0, 0, 56, 0, 0, 7, 114, 0, + 16, 0, 8, 0, 0, 0, + 70, 2, 16, 0, 8, 0, + 0, 0, 70, 2, 16, 0, + 8, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 7, 0, 0, 0, 70, 2, 16, 0, 7, 0, 0, 0, 70, 2, 16, 0, 7, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 10, 0, 0, 0, 70, 2, 16, 0, - 7, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, 10, 0, 0, 0, 70, 2, 16, 0, 10, 0, 0, 0, - 70, 2, 16, 0, 10, 0, - 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 12, 0, - 0, 0, 70, 2, 16, 0, - 12, 0, 0, 0, 70, 2, - 16, 0, 12, 0, 0, 0, 56, 0, 0, 7, 114, 0, + 16, 0, 12, 0, 0, 0, + 70, 2, 16, 0, 12, 0, + 0, 0, 70, 2, 16, 0, + 12, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 11, 0, 0, 0, 70, 2, 16, 0, 11, 0, 0, 0, 70, 2, 16, 0, 11, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 9, 0, 0, 0, 70, 2, 16, 0, - 11, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, 9, 0, 0, 0, 70, 2, 16, 0, 9, 0, 0, 0, - 70, 2, 16, 0, 9, 0, - 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 70, 2, + 56, 0, 0, 7, 114, 0, 16, 0, 1, 0, 0, 0, - 51, 0, 0, 7, 66, 0, - 16, 0, 0, 0, 0, 0, - 26, 0, 16, 0, 2, 0, - 0, 0, 26, 0, 16, 0, - 4, 0, 0, 0, 51, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 51, 0, 0, 7, 66, 0, 16, 0, - 0, 0, 0, 0, 42, 0, - 16, 0, 0, 0, 0, 0, - 26, 0, 16, 0, 3, 0, - 0, 0, 51, 0, 0, 7, - 130, 0, 16, 0, 0, 0, - 0, 0, 26, 0, 16, 0, - 5, 0, 0, 0, 26, 0, - 16, 0, 10, 0, 0, 0, - 51, 0, 0, 7, 66, 0, - 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 42, 0, 16, 0, - 0, 0, 0, 0, 52, 0, - 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, 26, 0, 16, 0, 2, 0, 0, 0, 26, 0, 16, 0, 4, 0, - 0, 0, 52, 0, 0, 7, - 130, 0, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, + 0, 0, 51, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, 0, 0, 0, 0, 26, 0, 16, 0, 3, 0, 0, 0, - 52, 0, 0, 7, 130, 0, - 16, 0, 1, 0, 0, 0, + 51, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, 26, 0, 16, 0, 5, 0, 0, 0, 26, 0, 16, 0, - 10, 0, 0, 0, 52, 0, - 0, 7, 130, 0, 16, 0, + 10, 0, 0, 0, 51, 0, + 0, 7, 66, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 1, 0, - 0, 0, 51, 0, 0, 7, - 130, 0, 16, 0, 1, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 52, 0, 0, 7, + 130, 0, 16, 0, 0, 0, 0, 0, 26, 0, 16, 0, - 4, 0, 0, 0, 26, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 52, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 52, 0, + 0, 7, 130, 0, 16, 0, + 1, 0, 0, 0, 26, 0, 16, 0, 5, 0, 0, 0, + 26, 0, 16, 0, 10, 0, + 0, 0, 52, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, 51, 0, 0, 7, 130, 0, 16, 0, 1, 0, 0, 0, - 58, 0, 16, 0, 1, 0, - 0, 0, 26, 0, 16, 0, - 6, 0, 0, 0, 51, 0, - 0, 7, 130, 0, 16, 0, - 2, 0, 0, 0, 26, 0, - 16, 0, 8, 0, 0, 0, - 26, 0, 16, 0, 12, 0, - 0, 0, 51, 0, 0, 7, - 130, 0, 16, 0, 1, 0, - 0, 0, 58, 0, 16, 0, - 1, 0, 0, 0, 58, 0, - 16, 0, 2, 0, 0, 0, - 52, 0, 0, 7, 130, 0, - 16, 0, 2, 0, 0, 0, 26, 0, 16, 0, 4, 0, 0, 0, 26, 0, 16, 0, - 5, 0, 0, 0, 52, 0, + 5, 0, 0, 0, 51, 0, 0, 7, 130, 0, 16, 0, - 2, 0, 0, 0, 58, 0, - 16, 0, 2, 0, 0, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, 26, 0, 16, 0, 6, 0, - 0, 0, 52, 0, 0, 7, - 130, 0, 16, 0, 3, 0, + 0, 0, 51, 0, 0, 7, + 130, 0, 16, 0, 2, 0, 0, 0, 26, 0, 16, 0, 8, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, - 52, 0, 0, 7, 130, 0, - 16, 0, 2, 0, 0, 0, - 58, 0, 16, 0, 2, 0, + 51, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, 0, 0, 58, 0, 16, 0, - 3, 0, 0, 0, 51, 0, + 2, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, - 3, 0, 0, 0, 26, 0, - 16, 0, 7, 0, 0, 0, - 26, 0, 16, 0, 10, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 52, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 52, 0, 0, 7, 130, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 12, 0, 0, 0, 52, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 3, 0, 0, 0, 51, 0, 0, 7, 130, 0, 16, 0, 3, 0, - 0, 0, 58, 0, 16, 0, - 3, 0, 0, 0, 26, 0, - 16, 0, 4, 0, 0, 0, - 51, 0, 0, 7, 130, 0, - 16, 0, 4, 0, 0, 0, - 26, 0, 16, 0, 9, 0, - 0, 0, 26, 0, 16, 0, - 12, 0, 0, 0, 51, 0, - 0, 7, 130, 0, 16, 0, - 3, 0, 0, 0, 58, 0, - 16, 0, 3, 0, 0, 0, - 58, 0, 16, 0, 4, 0, - 0, 0, 52, 0, 0, 7, - 130, 0, 16, 0, 4, 0, 0, 0, 26, 0, 16, 0, 7, 0, 0, 0, 26, 0, 16, 0, 10, 0, 0, 0, + 51, 0, 0, 7, 130, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 3, 0, + 0, 0, 26, 0, 16, 0, + 4, 0, 0, 0, 51, 0, + 0, 7, 130, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 12, 0, + 0, 0, 51, 0, 0, 7, + 130, 0, 16, 0, 3, 0, + 0, 0, 58, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 4, 0, 0, 0, + 52, 0, 0, 7, 130, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 10, 0, 0, 0, 52, 0, + 0, 7, 130, 0, 16, 0, + 4, 0, 0, 0, 58, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 52, 0, 0, 7, + 130, 0, 16, 0, 5, 0, + 0, 0, 26, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 12, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 4, 0, 0, 0, 58, 0, 16, 0, 4, 0, - 0, 0, 26, 0, 16, 0, - 4, 0, 0, 0, 52, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 51, 0, 0, 7, 130, 0, 16, 0, 5, 0, 0, 0, 26, 0, - 16, 0, 9, 0, 0, 0, + 16, 0, 10, 0, 0, 0, 26, 0, 16, 0, 12, 0, - 0, 0, 52, 0, 0, 7, - 130, 0, 16, 0, 4, 0, + 0, 0, 51, 0, 0, 7, + 130, 0, 16, 0, 5, 0, 0, 0, 58, 0, 16, 0, - 4, 0, 0, 0, 58, 0, + 5, 0, 0, 0, 26, 0, 16, 0, 5, 0, 0, 0, 51, 0, 0, 7, 130, 0, - 16, 0, 5, 0, 0, 0, - 26, 0, 16, 0, 10, 0, + 16, 0, 6, 0, 0, 0, + 26, 0, 16, 0, 1, 0, 0, 0, 26, 0, 16, 0, - 12, 0, 0, 0, 51, 0, + 11, 0, 0, 0, 51, 0, 0, 7, 130, 0, 16, 0, 5, 0, 0, 0, 58, 0, 16, 0, 5, 0, 0, 0, - 26, 0, 16, 0, 5, 0, - 0, 0, 51, 0, 0, 7, + 58, 0, 16, 0, 6, 0, + 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 6, 0, 0, 0, 26, 0, 16, 0, - 1, 0, 0, 0, 26, 0, - 16, 0, 11, 0, 0, 0, - 51, 0, 0, 7, 130, 0, - 16, 0, 5, 0, 0, 0, - 58, 0, 16, 0, 5, 0, + 10, 0, 0, 0, 26, 0, + 16, 0, 12, 0, 0, 0, + 52, 0, 0, 7, 130, 0, + 16, 0, 6, 0, 0, 0, + 26, 0, 16, 0, 5, 0, 0, 0, 58, 0, 16, 0, 6, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, - 6, 0, 0, 0, 26, 0, - 16, 0, 10, 0, 0, 0, - 26, 0, 16, 0, 12, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 11, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 6, 0, - 0, 0, 26, 0, 16, 0, - 5, 0, 0, 0, 58, 0, - 16, 0, 6, 0, 0, 0, - 52, 0, 0, 7, 130, 0, - 16, 0, 7, 0, 0, 0, - 26, 0, 16, 0, 1, 0, - 0, 0, 26, 0, 16, 0, - 11, 0, 0, 0, 52, 0, - 0, 7, 130, 0, 16, 0, + 0, 0, 58, 0, 16, 0, 6, 0, 0, 0, 58, 0, - 16, 0, 6, 0, 0, 0, - 58, 0, 16, 0, 7, 0, - 0, 0, 30, 0, 0, 8, - 130, 0, 16, 0, 7, 0, - 0, 0, 58, 0, 16, 128, - 65, 0, 0, 0, 0, 0, - 0, 0, 1, 64, 0, 0, - 187, 126, 240, 126, 30, 0, - 0, 8, 130, 0, 16, 0, - 8, 0, 0, 0, 58, 0, - 16, 128, 65, 0, 0, 0, - 2, 0, 0, 0, 1, 64, - 0, 0, 187, 126, 240, 126, + 16, 0, 7, 0, 0, 0, 30, 0, 0, 8, 130, 0, - 16, 0, 9, 0, 0, 0, + 16, 0, 7, 0, 0, 0, 58, 0, 16, 128, 65, 0, - 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 64, 0, 0, 187, 126, 240, 126, 30, 0, 0, 8, - 130, 0, 16, 0, 10, 0, - 0, 0, 58, 0, 16, 128, - 65, 0, 0, 0, 6, 0, - 0, 0, 1, 64, 0, 0, - 187, 126, 240, 126, 0, 0, - 0, 8, 130, 0, 16, 0, - 11, 0, 0, 0, 58, 0, - 16, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 128, 63, - 51, 0, 0, 7, 130, 0, - 16, 0, 11, 0, 0, 0, - 42, 0, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 11, 0, 0, 0, 56, 32, - 0, 7, 130, 0, 16, 0, - 7, 0, 0, 0, 58, 0, - 16, 0, 7, 0, 0, 0, - 58, 0, 16, 0, 11, 0, - 0, 0, 0, 0, 0, 8, - 130, 0, 16, 0, 11, 0, + 130, 0, 16, 0, 8, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 2, 0, 0, 0, 1, 64, 0, 0, + 187, 126, 240, 126, 30, 0, + 0, 8, 130, 0, 16, 0, + 9, 0, 0, 0, 58, 0, + 16, 128, 65, 0, 0, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 187, 126, 240, 126, + 30, 0, 0, 8, 130, 0, + 16, 0, 10, 0, 0, 0, + 58, 0, 16, 128, 65, 0, + 0, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 187, 126, + 240, 126, 0, 0, 0, 8, + 130, 0, 16, 0, 11, 0, + 0, 0, 58, 0, 16, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 51, 0, 0, 7, 130, 0, 16, 0, - 11, 0, 0, 0, 58, 0, - 16, 0, 1, 0, 0, 0, + 11, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 11, 0, 0, 0, 56, 32, 0, 7, - 130, 0, 16, 0, 8, 0, + 130, 0, 16, 0, 7, 0, 0, 0, 58, 0, 16, 0, - 8, 0, 0, 0, 58, 0, + 7, 0, 0, 0, 58, 0, 16, 0, 11, 0, 0, 0, 0, 0, 0, 8, 130, 0, 16, 0, 11, 0, 0, 0, 58, 0, 16, 128, 65, 0, - 0, 0, 4, 0, 0, 0, + 0, 0, 2, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 51, 0, 0, 7, 130, 0, 16, 0, 11, 0, 0, 0, 58, 0, 16, 0, - 3, 0, 0, 0, 58, 0, + 1, 0, 0, 0, 58, 0, 16, 0, 11, 0, 0, 0, 56, 32, 0, 7, 130, 0, - 16, 0, 9, 0, 0, 0, - 58, 0, 16, 0, 9, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 8, 0, 0, 0, 58, 0, 16, 0, 11, 0, 0, 0, 0, 0, 0, 8, 130, 0, 16, 0, 11, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, - 6, 0, 0, 0, 1, 64, + 4, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 51, 0, 0, 7, 130, 0, 16, 0, 11, 0, 0, 0, - 58, 0, 16, 0, 5, 0, + 58, 0, 16, 0, 3, 0, 0, 0, 58, 0, 16, 0, 11, 0, 0, 0, 56, 32, 0, 7, 130, 0, 16, 0, - 10, 0, 0, 0, 58, 0, - 16, 0, 10, 0, 0, 0, + 9, 0, 0, 0, 58, 0, + 16, 0, 9, 0, 0, 0, 58, 0, 16, 0, 11, 0, - 0, 0, 85, 0, 0, 7, - 130, 0, 16, 0, 7, 0, + 0, 0, 0, 0, 0, 8, + 130, 0, 16, 0, 11, 0, + 0, 0, 58, 0, 16, 128, + 65, 0, 0, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 128, 63, 51, 0, + 0, 7, 130, 0, 16, 0, + 11, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 11, 0, + 0, 0, 56, 32, 0, 7, + 130, 0, 16, 0, 10, 0, 0, 0, 58, 0, 16, 0, - 7, 0, 0, 0, 1, 64, - 0, 0, 1, 0, 0, 0, - 30, 0, 0, 7, 130, 0, + 10, 0, 0, 0, 58, 0, + 16, 0, 11, 0, 0, 0, + 85, 0, 0, 7, 130, 0, 16, 0, 7, 0, 0, 0, 58, 0, 16, 0, 7, 0, 0, 0, 1, 64, 0, 0, - 57, 70, 188, 31, 85, 0, + 1, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, - 8, 0, 0, 0, 58, 0, - 16, 0, 8, 0, 0, 0, - 1, 64, 0, 0, 1, 0, - 0, 0, 30, 0, 0, 7, + 7, 0, 0, 0, 58, 0, + 16, 0, 7, 0, 0, 0, + 1, 64, 0, 0, 57, 70, + 188, 31, 85, 0, 0, 7, 130, 0, 16, 0, 8, 0, 0, 0, 58, 0, 16, 0, 8, 0, 0, 0, 1, 64, - 0, 0, 57, 70, 188, 31, - 85, 0, 0, 7, 130, 0, - 16, 0, 9, 0, 0, 0, - 58, 0, 16, 0, 9, 0, + 0, 0, 1, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 8, 0, 0, 0, 1, 64, 0, 0, - 1, 0, 0, 0, 30, 0, + 57, 70, 188, 31, 85, 0, 0, 7, 130, 0, 16, 0, 9, 0, 0, 0, 58, 0, 16, 0, 9, 0, 0, 0, - 1, 64, 0, 0, 57, 70, - 188, 31, 85, 0, 0, 7, - 130, 0, 16, 0, 10, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 9, 0, 0, 0, 58, 0, 16, 0, - 10, 0, 0, 0, 1, 64, - 0, 0, 1, 0, 0, 0, - 30, 0, 0, 7, 130, 0, + 9, 0, 0, 0, 1, 64, + 0, 0, 57, 70, 188, 31, + 85, 0, 0, 7, 130, 0, 16, 0, 10, 0, 0, 0, 58, 0, 16, 0, 10, 0, 0, 0, 1, 64, 0, 0, - 57, 70, 188, 31, 56, 0, - 0, 9, 130, 0, 16, 0, - 7, 0, 0, 0, 58, 0, - 16, 0, 7, 0, 0, 0, - 10, 128, 48, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 56, 0, - 0, 9, 130, 0, 16, 0, - 8, 0, 0, 0, 58, 0, - 16, 0, 8, 0, 0, 0, - 10, 128, 48, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 56, 0, - 0, 9, 130, 0, 16, 0, - 9, 0, 0, 0, 58, 0, - 16, 0, 9, 0, 0, 0, - 10, 128, 48, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 56, 0, - 0, 9, 130, 0, 16, 0, + 1, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, 10, 0, 0, 0, 58, 0, 16, 0, 10, 0, 0, 0, - 10, 128, 48, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 11, 50, 0, 16, 0, - 13, 0, 0, 0, 22, 5, - 16, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 2, 64, - 0, 0, 0, 0, 128, 63, + 1, 64, 0, 0, 57, 70, + 188, 31, 56, 0, 0, 9, + 130, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 7, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 56, 0, 0, 9, + 130, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 56, 0, 0, 9, + 130, 0, 16, 0, 9, 0, + 0, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 56, 0, 0, 9, + 130, 0, 16, 0, 10, 0, + 0, 0, 58, 0, 16, 0, + 10, 0, 0, 0, 10, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 11, + 50, 0, 16, 0, 13, 0, + 0, 0, 22, 5, 16, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, - 0, 0, 0, 0, 0, 0, - 56, 0, 0, 7, 130, 0, - 16, 0, 11, 0, 0, 0, - 10, 0, 16, 0, 13, 0, - 0, 0, 26, 0, 16, 0, - 13, 0, 0, 0, 56, 0, - 0, 7, 50, 0, 16, 0, - 13, 0, 0, 0, 70, 0, - 16, 0, 0, 0, 0, 0, - 70, 0, 16, 0, 13, 0, + 128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 56, 0, + 0, 7, 130, 0, 16, 0, + 11, 0, 0, 0, 10, 0, + 16, 0, 13, 0, 0, 0, + 26, 0, 16, 0, 13, 0, 0, 0, 56, 0, 0, 7, - 18, 0, 16, 0, 0, 0, - 0, 0, 26, 0, 16, 0, - 0, 0, 0, 0, 10, 0, + 50, 0, 16, 0, 13, 0, + 0, 0, 70, 0, 16, 0, + 0, 0, 0, 0, 70, 0, + 16, 0, 13, 0, 0, 0, + 56, 0, 0, 7, 18, 0, 16, 0, 0, 0, 0, 0, - 0, 0, 0, 8, 34, 0, - 16, 0, 0, 0, 0, 0, - 42, 0, 16, 128, 65, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 0, 7, - 34, 0, 16, 0, 0, 0, - 0, 0, 26, 0, 16, 0, + 0, 8, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 0, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 61, 30, 0, + 0, 8, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 128, 65, 0, 0, 0, 0, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 0, 61, - 30, 0, 0, 8, 34, 0, + 0, 0, 187, 126, 240, 126, + 56, 0, 0, 7, 66, 0, 16, 0, 0, 0, 0, 0, - 26, 0, 16, 128, 65, 0, - 0, 0, 0, 0, 0, 0, - 1, 64, 0, 0, 187, 126, - 240, 126, 56, 0, 0, 7, - 66, 0, 16, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 11, 0, 0, 0, 0, 0, + 0, 8, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 128, 65, 0, 0, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 0, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 61, 30, 0, + 0, 8, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 187, 126, 240, 126, + 56, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 13, 0, 0, 0, 0, 0, + 0, 8, 130, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 128, 65, 0, 0, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 4, 0, 0, 0, + 0, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 61, 30, 0, + 0, 8, 130, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 128, 65, 0, 0, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 187, 126, 240, 126, + 56, 0, 0, 7, 130, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 2, 0, 0, 0, 26, 0, 16, 0, + 13, 0, 0, 0, 0, 0, + 0, 8, 130, 0, 16, 0, + 4, 0, 0, 0, 58, 0, + 16, 128, 65, 0, 0, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 6, 0, 0, 0, + 0, 0, 0, 7, 130, 0, + 16, 0, 4, 0, 0, 0, + 58, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 61, 30, 0, + 0, 8, 130, 0, 16, 0, + 4, 0, 0, 0, 58, 0, + 16, 128, 65, 0, 0, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 187, 126, 240, 126, + 56, 0, 0, 7, 130, 0, + 16, 0, 5, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 4, 0, 0, 0, 56, 0, + 0, 7, 130, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 7, 0, + 0, 0, 56, 0, 0, 7, + 130, 0, 16, 0, 12, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 8, 0, 0, 0, + 56, 0, 0, 7, 130, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 3, 0, + 0, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 50, 0, + 0, 9, 130, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 3, 0, 0, 0, 50, 0, + 0, 9, 34, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 11, 0, 0, 0, - 0, 0, 0, 8, 130, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 56, 0, + 0, 7, 130, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 10, 0, + 0, 0, 50, 0, 0, 9, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 7, 0, 0, 0, 42, 0, 16, 0, 0, 0, 0, 0, - 58, 0, 16, 128, 65, 0, - 0, 0, 1, 0, 0, 0, - 58, 0, 16, 0, 2, 0, - 0, 0, 0, 0, 0, 7, + 58, 0, 16, 0, 5, 0, + 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 0, 61, - 30, 0, 0, 8, 130, 0, + 0, 0, 10, 0, 16, 0, + 13, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, - 58, 0, 16, 128, 65, 0, - 0, 0, 0, 0, 0, 0, - 1, 64, 0, 0, 187, 126, - 240, 126, 56, 0, 0, 7, - 130, 0, 16, 0, 1, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 10, 0, - 16, 0, 13, 0, 0, 0, - 0, 0, 0, 8, 130, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 50, 0, 0, 9, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 13, 0, 0, 0, 58, 0, 16, 0, 2, 0, 0, 0, - 58, 0, 16, 128, 65, 0, - 0, 0, 3, 0, 0, 0, - 58, 0, 16, 0, 4, 0, - 0, 0, 0, 0, 0, 7, - 130, 0, 16, 0, 2, 0, - 0, 0, 58, 0, 16, 0, - 2, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 0, 61, - 30, 0, 0, 8, 130, 0, - 16, 0, 2, 0, 0, 0, - 58, 0, 16, 128, 65, 0, - 0, 0, 2, 0, 0, 0, - 1, 64, 0, 0, 187, 126, - 240, 126, 56, 0, 0, 7, - 130, 0, 16, 0, 3, 0, - 0, 0, 58, 0, 16, 0, - 2, 0, 0, 0, 26, 0, - 16, 0, 13, 0, 0, 0, - 0, 0, 0, 8, 130, 0, - 16, 0, 4, 0, 0, 0, - 58, 0, 16, 128, 65, 0, - 0, 0, 5, 0, 0, 0, - 58, 0, 16, 0, 6, 0, - 0, 0, 0, 0, 0, 7, - 130, 0, 16, 0, 4, 0, - 0, 0, 58, 0, 16, 0, - 4, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 0, 61, - 30, 0, 0, 8, 130, 0, - 16, 0, 4, 0, 0, 0, - 58, 0, 16, 128, 65, 0, - 0, 0, 4, 0, 0, 0, - 1, 64, 0, 0, 187, 126, - 240, 126, 56, 0, 0, 7, - 130, 0, 16, 0, 5, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 50, 0, 0, 9, + 18, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 4, 0, 0, 0, - 56, 0, 0, 7, 130, 0, - 16, 0, 6, 0, 0, 0, - 42, 0, 16, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 0, 0, 0, 7, + 130, 0, 16, 0, 1, 0, 0, 0, 58, 0, 16, 0, - 7, 0, 0, 0, 56, 0, - 0, 7, 130, 0, 16, 0, 12, 0, 0, 0, 58, 0, - 16, 0, 1, 0, 0, 0, - 58, 0, 16, 0, 8, 0, - 0, 0, 56, 0, 0, 7, - 130, 0, 16, 0, 3, 0, - 0, 0, 58, 0, 16, 0, - 3, 0, 0, 0, 58, 0, - 16, 0, 9, 0, 0, 0, + 16, 0, 12, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 1, 0, 0, 0, - 58, 0, 16, 0, 8, 0, - 0, 0, 58, 0, 16, 0, - 1, 0, 0, 0, 58, 0, - 16, 0, 3, 0, 0, 0, - 50, 0, 0, 9, 34, 0, - 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 11, 0, - 0, 0, 26, 0, 16, 0, - 0, 0, 0, 0, 58, 0, + 58, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 64, 58, 0, + 16, 0, 1, 0, 0, 0, + 50, 0, 0, 9, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 64, 58, 0, + 16, 0, 1, 0, 0, 0, + 50, 0, 0, 9, 130, 0, 16, 0, 1, 0, 0, 0, - 56, 0, 0, 7, 130, 0, - 16, 0, 5, 0, 0, 0, 58, 0, 16, 0, 5, 0, - 0, 0, 58, 0, 16, 0, - 10, 0, 0, 0, 50, 0, - 0, 9, 66, 0, 16, 0, - 0, 0, 0, 0, 58, 0, - 16, 0, 7, 0, 0, 0, - 42, 0, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 5, 0, 0, 0, 50, 0, - 0, 9, 130, 0, 16, 0, - 0, 0, 0, 0, 10, 0, - 16, 0, 13, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 42, 0, 16, 0, - 0, 0, 0, 0, 50, 0, - 0, 9, 66, 0, 16, 0, - 0, 0, 0, 0, 26, 0, - 16, 0, 13, 0, 0, 0, - 58, 0, 16, 0, 2, 0, - 0, 0, 42, 0, 16, 0, - 0, 0, 0, 0, 50, 0, - 0, 9, 18, 0, 16, 0, - 0, 0, 0, 0, 10, 0, - 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 64, 58, 0, + 16, 0, 1, 0, 0, 0, + 0, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 1, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 1, 0, 0, 0, 58, 0, - 16, 0, 12, 0, 0, 0, - 58, 0, 16, 0, 12, 0, - 0, 0, 50, 0, 0, 9, - 130, 0, 16, 0, 1, 0, - 0, 0, 58, 0, 16, 0, - 6, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 0, 64, - 58, 0, 16, 0, 1, 0, - 0, 0, 50, 0, 0, 9, - 130, 0, 16, 0, 1, 0, - 0, 0, 58, 0, 16, 0, - 3, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 0, 64, - 58, 0, 16, 0, 1, 0, - 0, 0, 50, 0, 0, 9, - 130, 0, 16, 0, 1, 0, - 0, 0, 58, 0, 16, 0, - 5, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 0, 64, + 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 1, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 1, 0, - 0, 0, 26, 0, 16, 0, + 0, 0, 42, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 1, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 1, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 1, 0, 0, 0, 0, 0, - 0, 7, 130, 0, 16, 0, - 1, 0, 0, 0, 42, 0, - 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 1, 0, - 0, 0, 0, 0, 0, 7, - 130, 0, 16, 0, 1, 0, - 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 58, 0, - 16, 0, 1, 0, 0, 0, - 30, 0, 0, 8, 130, 0, - 16, 0, 2, 0, 0, 0, - 58, 0, 16, 128, 65, 0, - 0, 0, 1, 0, 0, 0, - 1, 64, 0, 0, 255, 159, - 241, 126, 50, 0, 0, 10, - 130, 0, 16, 0, 1, 0, - 0, 0, 58, 0, 16, 128, - 65, 0, 0, 0, 2, 0, + 10, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 30, 0, + 0, 8, 130, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 128, 65, 0, 0, 0, 1, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 0, 64, - 56, 0, 0, 7, 130, 0, + 0, 0, 255, 159, 241, 126, + 50, 0, 0, 10, 130, 0, 16, 0, 1, 0, 0, 0, + 58, 0, 16, 128, 65, 0, + 0, 0, 2, 0, 0, 0, 58, 0, 16, 0, 1, 0, - 0, 0, 58, 0, 16, 0, - 2, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, - 2, 0, 0, 0, 70, 2, - 16, 0, 2, 0, 0, 0, - 246, 15, 16, 0, 6, 0, - 0, 0, 50, 0, 0, 9, - 114, 0, 16, 0, 2, 0, - 0, 0, 70, 2, 16, 0, - 3, 0, 0, 0, 246, 15, - 16, 0, 6, 0, 0, 0, - 70, 2, 16, 0, 2, 0, - 0, 0, 50, 0, 0, 9, - 114, 0, 16, 0, 2, 0, - 0, 0, 70, 2, 16, 0, - 6, 0, 0, 0, 246, 15, - 16, 0, 12, 0, 0, 0, - 70, 2, 16, 0, 2, 0, - 0, 0, 50, 0, 0, 9, - 114, 0, 16, 0, 2, 0, - 0, 0, 70, 2, 16, 0, - 8, 0, 0, 0, 246, 15, - 16, 0, 12, 0, 0, 0, - 70, 2, 16, 0, 2, 0, - 0, 0, 50, 0, 0, 9, - 114, 0, 16, 0, 2, 0, - 0, 0, 70, 2, 16, 0, - 7, 0, 0, 0, 246, 15, - 16, 0, 3, 0, 0, 0, - 70, 2, 16, 0, 2, 0, - 0, 0, 50, 0, 0, 9, - 114, 0, 16, 0, 2, 0, - 0, 0, 70, 2, 16, 0, - 9, 0, 0, 0, 246, 15, - 16, 0, 3, 0, 0, 0, - 70, 2, 16, 0, 2, 0, - 0, 0, 50, 0, 0, 9, - 114, 0, 16, 0, 2, 0, - 0, 0, 70, 2, 16, 0, - 11, 0, 0, 0, 246, 15, - 16, 0, 5, 0, 0, 0, - 70, 2, 16, 0, 2, 0, - 0, 0, 50, 0, 0, 9, - 114, 0, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 246, 15, - 16, 0, 5, 0, 0, 0, - 70, 2, 16, 0, 2, 0, - 0, 0, 50, 0, 0, 9, - 114, 0, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 4, 0, 0, 0, 86, 5, - 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 50, 0, 0, 9, - 114, 0, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 5, 0, 0, 0, 246, 15, - 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 50, 0, 0, 9, - 226, 0, 16, 0, 0, 0, - 0, 0, 6, 9, 16, 0, - 10, 0, 0, 0, 166, 10, - 16, 0, 0, 0, 0, 0, - 6, 9, 16, 0, 1, 0, - 0, 0, 50, 0, 0, 9, - 114, 0, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 12, 0, 0, 0, 6, 0, - 16, 0, 0, 0, 0, 0, - 150, 7, 16, 0, 0, 0, - 0, 0, 56, 32, 0, 7, - 114, 0, 16, 0, 0, 0, - 0, 0, 246, 15, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 75, 0, 0, 5, 114, 32, - 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 54, 0, 0, 5, - 130, 32, 16, 0, 0, 0, 0, 0, 1, 64, 0, 0, - 0, 0, 128, 63, 62, 0, - 0, 1, 83, 84, 65, 84, - 148, 0, 0, 0, 172, 0, - 0, 0, 14, 0, 0, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 114, 0, 0, 0, - 20, 0, 0, 0, 4, 0, - 0, 0, 1, 0, 0, 0, + 0, 0, 0, 64, 56, 0, + 0, 7, 130, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 246, 15, + 16, 0, 6, 0, 0, 0, + 50, 0, 0, 9, 114, 0, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 246, 15, 16, 0, + 6, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 50, 0, 0, 9, 114, 0, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 6, 0, + 0, 0, 246, 15, 16, 0, + 12, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 50, 0, 0, 9, 114, 0, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 8, 0, + 0, 0, 246, 15, 16, 0, + 12, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 50, 0, 0, 9, 114, 0, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 246, 15, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 50, 0, 0, 9, 114, 0, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 9, 0, + 0, 0, 246, 15, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 50, 0, 0, 9, 114, 0, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 11, 0, + 0, 0, 246, 15, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 50, 0, 0, 9, 114, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 246, 15, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 50, 0, 0, 9, 114, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 86, 5, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 50, 0, 0, 9, 114, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 50, 0, 0, 9, 226, 0, + 16, 0, 0, 0, 0, 0, + 6, 9, 16, 0, 10, 0, + 0, 0, 166, 10, 16, 0, + 0, 0, 0, 0, 6, 9, + 16, 0, 1, 0, 0, 0, + 50, 0, 0, 9, 114, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 12, 0, + 0, 0, 6, 0, 16, 0, + 0, 0, 0, 0, 150, 7, + 16, 0, 0, 0, 0, 0, + 56, 32, 0, 7, 114, 0, + 16, 0, 0, 0, 0, 0, + 246, 15, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 75, 0, + 0, 5, 114, 32, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 54, 0, 0, 5, 130, 32, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 128, 63, 62, 0, 0, 1, + 83, 84, 65, 84, 148, 0, + 0, 0, 172, 0, 0, 0, + 14, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 114, 0, 0, 0, 20, 0, + 0, 0, 4, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 12, 0, + 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 18, 0, 0, 0, - 0, 0, 0, 0, 4, 0, + 18, 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, @@ -1259,6 +1262,5 @@ const BYTE guest_output_ffx_cas_resample_ps[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0 + 0, 0, 0, 0, 0, 0 }; diff --git a/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_ffx_cas_sharpen_dither_ps.h b/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_ffx_cas_sharpen_dither_ps.h index 14e7dd87b..76ed9f0e6 100644 --- a/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_ffx_cas_sharpen_dither_ps.h +++ b/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_ffx_cas_sharpen_dither_ps.h @@ -5,7 +5,7 @@ // // Buffer Definitions: // -// cbuffer XeCasSharpenConstants +// cbuffer xesl_push_constants // { // // int2 xe_cas_output_offset; // Offset: 0 Size: 8 @@ -18,8 +18,8 @@ // // Name Type Format Dim ID HLSL Bind Count // ------------------------------ ---------- ------- ----------- ------- -------------- ------ -// xe_texture texture float3 2d T0 t0 1 -// XeCasSharpenConstants cbuffer NA NA CB0 cb0 1 +// xesl_id_texture_xe_cas_source texture float4 2d T0 t0 1 +// xesl_push_constants cbuffer NA NA CB0 cb0 1 // // // @@ -348,7 +348,7 @@ mul_sat r1.xyz, r0.wwww, r1.xyzx sqrt r1.xyz, r1.xyzx bfi r0.y, l(4), l(4), r0.y, l(0) bfi r0.x, l(4), l(0), r0.x, r0.y -add o0.xyz, r1.xyzx, icb[r0.x + 0].xxxx +add_sat o0.xyz, r1.xyzx, icb[r0.x + 0].xxxx mov o0.w, l(1.000000) ret // Approximately 52 instruction slots used @@ -356,21 +356,21 @@ ret const BYTE guest_output_ffx_cas_sharpen_dither_ps[] = { - 68, 88, 66, 67, 200, 82, - 48, 235, 252, 11, 120, 26, - 79, 183, 112, 246, 236, 81, - 181, 118, 1, 0, 0, 0, - 168, 25, 0, 0, 5, 0, + 68, 88, 66, 67, 195, 51, + 78, 42, 147, 105, 90, 83, + 200, 249, 251, 223, 213, 111, + 111, 110, 1, 0, 0, 0, + 184, 25, 0, 0, 5, 0, 0, 0, 52, 0, 0, 0, - 4, 2, 0, 0, 56, 2, - 0, 0, 108, 2, 0, 0, - 12, 25, 0, 0, 82, 68, - 69, 70, 200, 1, 0, 0, - 1, 0, 0, 0, 176, 0, + 20, 2, 0, 0, 72, 2, + 0, 0, 124, 2, 0, 0, + 28, 25, 0, 0, 82, 68, + 69, 70, 216, 1, 0, 0, + 1, 0, 0, 0, 192, 0, 0, 0, 2, 0, 0, 0, 60, 0, 0, 0, 1, 5, 255, 255, 0, 5, 0, 0, - 160, 1, 0, 0, 19, 19, + 176, 1, 0, 0, 19, 19, 68, 37, 60, 0, 0, 0, 24, 0, 0, 0, 40, 0, 0, 0, 40, 0, 0, 0, @@ -380,1067 +380,1069 @@ const BYTE guest_output_ffx_cas_sharpen_dither_ps[] = 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 1, 0, 0, 0, 8, 0, + 1, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 151, 0, + 0, 0, 0, 0, 170, 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, - 0, 88, 101, 67, 97, 115, - 83, 104, 97, 114, 112, 101, - 110, 67, 111, 110, 115, 116, - 97, 110, 116, 115, 0, 171, - 171, 171, 151, 0, 0, 0, - 2, 0, 0, 0, 200, 0, - 0, 0, 16, 0, 0, 0, + 0, 0, 120, 101, 115, 108, + 95, 105, 100, 95, 116, 101, + 120, 116, 117, 114, 101, 95, + 120, 101, 95, 99, 97, 115, + 95, 115, 111, 117, 114, 99, + 101, 0, 120, 101, 115, 108, + 95, 112, 117, 115, 104, 95, + 99, 111, 110, 115, 116, 97, + 110, 116, 115, 0, 171, 171, + 170, 0, 0, 0, 2, 0, + 0, 0, 216, 0, 0, 0, + 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 24, 1, 0, 0, - 0, 0, 0, 0, 8, 0, - 0, 0, 2, 0, 0, 0, - 52, 1, 0, 0, 0, 0, - 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 255, 255, - 255, 255, 0, 0, 0, 0, - 88, 1, 0, 0, 8, 0, - 0, 0, 4, 0, 0, 0, - 2, 0, 0, 0, 124, 1, + 40, 1, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 2, 0, 0, 0, 68, 1, 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, 99, 97, 115, 95, 111, - 117, 116, 112, 117, 116, 95, - 111, 102, 102, 115, 101, 116, - 0, 105, 110, 116, 50, 0, - 171, 171, 1, 0, 2, 0, - 1, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 45, 1, + 0, 0, 0, 0, 104, 1, + 0, 0, 8, 0, 0, 0, + 4, 0, 0, 0, 2, 0, + 0, 0, 140, 1, 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, 99, - 97, 115, 95, 115, 104, 97, - 114, 112, 110, 101, 115, 115, - 95, 112, 111, 115, 116, 95, - 115, 101, 116, 117, 112, 0, - 102, 108, 111, 97, 116, 0, - 171, 171, 0, 0, 3, 0, - 1, 0, 1, 0, 0, 0, + 97, 115, 95, 111, 117, 116, + 112, 117, 116, 95, 111, 102, + 102, 115, 101, 116, 0, 105, + 110, 116, 50, 0, 171, 171, + 1, 0, 2, 0, 1, 0, + 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 116, 1, - 0, 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, - 73, 83, 71, 78, 44, 0, - 0, 0, 1, 0, 0, 0, - 8, 0, 0, 0, 32, 0, + 0, 0, 61, 1, 0, 0, + 120, 101, 95, 99, 97, 115, + 95, 115, 104, 97, 114, 112, + 110, 101, 115, 115, 95, 112, + 111, 115, 116, 95, 115, 101, + 116, 117, 112, 0, 102, 108, + 111, 97, 116, 0, 171, 171, + 0, 0, 3, 0, 1, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 15, 3, 0, 0, 83, 86, - 95, 80, 111, 115, 105, 116, - 105, 111, 110, 0, 79, 83, + 0, 0, 0, 0, 0, 0, + 0, 0, 132, 1, 0, 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, 73, 83, 71, 78, 44, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 83, 86, 95, 84, - 97, 114, 103, 101, 116, 0, - 171, 171, 83, 72, 69, 88, - 152, 22, 0, 0, 81, 0, - 0, 0, 166, 5, 0, 0, - 106, 8, 0, 1, 53, 24, - 0, 0, 2, 4, 0, 0, - 132, 131, 131, 186, 0, 0, + 0, 0, 0, 0, 15, 3, + 0, 0, 83, 86, 95, 80, + 111, 115, 105, 116, 105, 111, + 110, 0, 79, 83, 71, 78, + 44, 0, 0, 0, 1, 0, + 0, 0, 8, 0, 0, 0, + 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 231, 230, - 102, 58, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 83, 86, 95, 84, 97, 114, + 103, 101, 116, 0, 171, 171, + 83, 72, 69, 88, 152, 22, + 0, 0, 81, 0, 0, 0, + 166, 5, 0, 0, 106, 8, + 0, 1, 53, 24, 0, 0, + 2, 4, 0, 0, 132, 131, + 131, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 222, 221, 221, 58, + 0, 0, 231, 230, 102, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 204, 203, 203, 186, 0, 0, + 222, 221, 221, 58, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 168, 167, - 167, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 204, 203, + 203, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 159, 158, 30, 186, + 0, 0, 168, 167, 167, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 140, 139, 139, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 182, 181, - 181, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 178, 177, 177, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 135, 134, 6, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 160, 159, - 159, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 210, 209, 209, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 155, 154, 26, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 149, 148, - 148, 185, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 146, 145, 145, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 186, 185, 185, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 190, 189, - 189, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 143, 142, 14, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 137, 136, 8, 57, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 158, 157, - 157, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 229, 228, 228, 57, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 138, 137, 137, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 163, 162, - 34, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 253, 252, 252, 185, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 246, 245, 245, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 144, 143, - 143, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 209, 208, 208, 184, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 139, 138, 10, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 188, 187, - 187, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 254, 253, 253, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 183, 182, 54, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 161, 160, - 32, 56, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 187, 186, 58, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 172, 171, 171, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 144, 143, - 143, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 157, 156, 156, 185, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 230, 229, 229, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 220, 219, - 219, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 194, 193, 193, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 161, 160, 32, 184, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 207, 206, - 78, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 240, 239, 239, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 157, 156, 156, 57, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 130, 129, - 129, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 154, 153, 153, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 185, 184, 56, 57, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 216, 215, - 215, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 208, 207, 207, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 181, 180, 180, 57, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 244, 243, - 243, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 232, 231, 231, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 227, 226, 98, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 235, 234, - 106, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 169, 168, 40, 57, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 243, 242, 114, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 200, 199, - 199, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 171, 170, 42, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 170, 169, 169, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 211, 210, - 82, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 192, 191, 191, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 236, 235, 235, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 223, 222, - 94, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 223, 222, 94, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 237, 236, 236, 185, 0, 0, + 159, 158, 30, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, 139, - 139, 186, 0, 0, 0, 0, + 139, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 153, 152, 24, 185, + 0, 0, 182, 181, 181, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 249, 248, 120, 57, 0, 0, + 178, 177, 177, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 135, 134, + 6, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 160, 159, 159, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 210, 209, 209, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 155, 154, + 26, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 149, 148, 148, 185, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 146, 145, 145, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 186, 185, - 185, 58, 0, 0, 0, 0, + 185, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 155, 154, 26, 186, + 0, 0, 190, 189, 189, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 201, 200, 72, 185, 0, 0, + 143, 142, 14, 186, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 210, 209, - 209, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 137, 136, + 8, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 134, 133, 133, 58, + 0, 0, 158, 157, 157, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 213, 212, 212, 57, 0, 0, + 229, 228, 228, 57, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 217, 216, - 88, 185, 0, 0, 0, 0, + 0, 0, 0, 0, 138, 137, + 137, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 208, 207, 207, 58, + 0, 0, 163, 162, 34, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 171, 170, 42, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 145, 144, - 144, 184, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 221, 220, 220, 57, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 216, 215, 215, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 180, 179, - 179, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 243, 242, 114, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 175, 174, 46, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 156, 155, - 155, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 190, 189, 189, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 151, 150, 22, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 248, 247, - 247, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 199, 198, 70, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 170, 169, 169, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 252, 251, - 251, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 218, 217, 217, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 136, 135, 135, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 131, 130, - 2, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 244, 243, 243, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 158, 157, 157, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 173, 172, - 172, 185, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 180, 179, 179, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 214, 213, 213, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 242, 241, - 241, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 191, 190, 62, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 239, 238, 110, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 238, 237, - 237, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 150, 149, 149, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 197, 196, 196, 185, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 209, 208, - 208, 56, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 195, 194, 66, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 154, 153, 153, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 145, 144, - 144, 56, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 196, 195, 195, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 255, 254, 126, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 251, 250, - 122, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 254, 253, 253, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 139, 138, 10, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 225, 224, - 96, 56, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 164, 163, 163, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 141, 140, 140, 185, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 202, 201, - 201, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 129, 128, 0, 183, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 165, 164, 164, 57, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 176, 175, - 175, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 230, 229, 229, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 131, 130, 2, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 156, 155, - 155, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 203, 202, 74, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 176, 175, 175, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 141, 140, - 140, 57, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 194, 193, 193, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 137, 136, 8, 185, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 203, 202, - 74, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 172, 171, 171, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 205, 204, 204, 57, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 251, 250, - 122, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 245, 244, 244, 185, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 202, 201, 201, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 136, 135, - 135, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 179, 178, 50, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 220, 219, 219, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 132, 131, - 131, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 221, 220, 220, 185, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 234, 233, 233, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 249, 248, - 120, 185, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 163, 162, 34, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 218, 217, 217, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 219, 218, - 90, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 226, 225, 225, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 142, 141, 141, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 232, 231, - 231, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 207, 206, 78, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 234, 233, 233, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 179, 178, - 50, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 130, 129, 129, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 174, 173, 173, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 185, 184, - 56, 185, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 198, 197, 197, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 173, 172, 172, 57, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 187, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 175, 174, 46, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 212, 211, 211, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 152, 151, - 151, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 237, 236, 236, 57, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 229, 228, 228, 185, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 201, 200, - 72, 57, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 196, 195, 195, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 150, 149, 149, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 177, 176, - 176, 56, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 248, 247, 247, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 184, 183, 183, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 147, 146, - 18, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 241, 240, 240, 56, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 166, 165, 165, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 151, 150, - 22, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 255, 254, 126, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 174, 173, 173, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 233, 232, - 104, 57, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 199, 198, 70, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 178, 177, 177, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 192, 191, - 191, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 227, 226, 98, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 189, 188, 188, 185, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 143, 142, - 14, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 148, 147, 147, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 133, 132, 132, 185, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 147, 146, - 18, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 238, 237, 237, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 226, 225, 225, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 152, 151, - 151, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 195, 194, 66, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 206, 205, 205, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 241, 240, - 240, 184, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 160, 159, 159, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 240, 239, 239, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 192, - 192, 55, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 252, 251, 251, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 228, 227, 227, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 187, 186, - 58, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 204, 203, 203, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 224, 223, 223, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 162, 161, - 161, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 217, 216, 88, 57, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 138, 137, 137, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 191, 190, - 62, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 214, 213, 213, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 165, 164, 164, 185, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 253, 252, - 252, 57, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 236, 235, 235, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 247, 246, 118, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 181, 180, - 180, 185, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 183, 182, 54, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 134, 133, 133, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 206, 205, - 205, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 193, 192, 192, 183, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 168, 167, 167, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 211, 210, - 82, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 235, 234, 106, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 188, 187, 187, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 159, 158, - 30, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 177, 176, 176, 184, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 239, 238, 110, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 59, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 184, 183, 183, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 167, 166, 38, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 198, 197, - 197, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 215, 214, 86, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 164, 163, 163, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 133, 132, - 132, 57, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 200, 199, 199, 58, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 148, 147, 147, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 189, 188, - 188, 57, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 205, 204, 204, 185, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 250, 249, 249, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 182, 181, - 181, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 146, 145, 145, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 212, 211, 211, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 231, 230, - 102, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 153, 152, 24, 57, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 142, 141, 141, 58, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 225, 224, - 96, 184, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 149, 148, 148, 57, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 222, 221, 221, 186, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 166, 165, - 165, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 135, 134, 6, 186, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 169, 168, 40, 185, 0, 0, + 253, 252, 252, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 245, - 245, 186, 0, 0, 0, 0, + 245, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 219, 218, 90, 186, + 0, 0, 144, 143, 143, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 167, 166, 38, 58, 0, 0, + 209, 208, 208, 184, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 129, 128, - 0, 55, 0, 0, 0, 0, + 0, 0, 0, 0, 139, 138, + 10, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 250, 249, 249, 186, + 0, 0, 188, 187, 187, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 233, 232, 104, 185, 0, 0, + 254, 253, 253, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 183, 182, + 54, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 161, 160, 32, 56, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 187, 186, 58, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 172, 171, + 171, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 144, 143, 143, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 157, 156, 156, 185, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 230, 229, + 229, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 220, 219, 219, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 194, 193, 193, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 161, 160, + 32, 184, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 207, 206, 78, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 240, 239, 239, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 157, 156, + 156, 57, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 130, 129, 129, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 154, 153, 153, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 185, 184, + 56, 57, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 216, 215, 215, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 208, 207, 207, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 181, 180, + 180, 57, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 244, 243, 243, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 232, 231, 231, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 227, 226, + 98, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 235, 234, 106, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 169, 168, 40, 57, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 243, 242, + 114, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 200, 199, 199, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 171, 170, 42, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 170, 169, + 169, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 211, 210, 82, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 192, 191, 191, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 236, 235, + 235, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 223, 222, 94, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 223, 222, 94, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 237, 236, + 236, 185, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 140, 139, 139, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 153, 152, 24, 185, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 249, 248, + 120, 57, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 186, 185, 185, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 155, 154, 26, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 201, 200, + 72, 185, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 210, 209, 209, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 134, 133, 133, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 213, 212, + 212, 57, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 217, 216, 88, 185, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 208, 207, 207, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 171, 170, + 42, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 145, 144, 144, 184, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 221, 220, 220, 57, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 216, 215, + 215, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 180, 179, 179, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 243, 242, 114, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 175, 174, + 46, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 156, 155, 155, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 190, 189, 189, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 151, 150, + 22, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 248, 247, 247, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 199, 198, 70, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 170, 169, + 169, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 252, 251, 251, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 218, 217, 217, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 136, 135, + 135, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 131, 130, 2, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 244, 243, 243, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 158, 157, + 157, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 173, 172, 172, 185, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 180, 179, 179, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 214, 213, + 213, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 242, 241, 241, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 191, 190, 62, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 239, 238, + 110, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 238, 237, 237, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 150, 149, 149, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 197, 196, - 196, 57, 0, 0, 0, 0, + 196, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 228, 227, 227, 186, + 0, 0, 209, 208, 208, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 213, 212, 212, 185, 0, 0, + 195, 194, 66, 186, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 162, 161, - 161, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 154, 153, + 153, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 224, 223, 223, 58, + 0, 0, 145, 144, 144, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 247, 246, 118, 186, 0, 0, + 196, 195, 195, 58, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 215, 214, - 86, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 255, 254, + 126, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 242, 241, 241, 58, + 0, 0, 251, 250, 122, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 245, 244, 244, 57, 0, 0, + 254, 253, 253, 58, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 89, 0, - 0, 7, 70, 142, 48, 0, + 0, 0, 0, 0, 139, 138, + 10, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 225, 224, 96, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 88, 24, 0, 7, - 70, 126, 48, 0, 0, 0, + 164, 163, 163, 186, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 85, 85, + 0, 0, 0, 0, 141, 140, + 140, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 100, 32, 0, 4, 50, 16, - 16, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 0, 0, 0, 0, 104, 0, - 0, 2, 6, 0, 0, 0, - 27, 0, 0, 5, 50, 0, - 16, 0, 0, 0, 0, 0, - 70, 16, 16, 0, 0, 0, - 0, 0, 30, 0, 0, 10, - 50, 0, 16, 0, 0, 0, - 0, 0, 70, 0, 16, 0, - 0, 0, 0, 0, 70, 128, - 48, 128, 65, 0, 0, 0, + 0, 0, 202, 201, 201, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 30, 0, 0, 10, 242, 0, - 16, 0, 1, 0, 0, 0, - 70, 4, 16, 0, 0, 0, - 0, 0, 2, 64, 0, 0, - 255, 255, 255, 255, 0, 0, + 129, 128, 0, 183, 0, 0, 0, 0, 0, 0, 0, 0, - 255, 255, 255, 255, 54, 0, + 0, 0, 0, 0, 165, 164, + 164, 57, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 176, 175, 175, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 230, 229, 229, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 131, 130, + 2, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 156, 155, 155, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 203, 202, 74, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 176, 175, + 175, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 141, 140, 140, 57, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 194, 193, 193, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 137, 136, + 8, 185, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 203, 202, 74, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 172, 171, 171, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 205, 204, + 204, 57, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 251, 250, 122, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 245, 244, 244, 185, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 202, 201, + 201, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 136, 135, 135, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 179, 178, 50, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 220, 219, + 219, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 132, 131, 131, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 221, 220, 220, 185, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 234, 233, + 233, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 249, 248, 120, 185, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 163, 162, 34, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 218, 217, + 217, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 219, 218, 90, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 226, 225, 225, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 142, 141, + 141, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 232, 231, 231, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 207, 206, 78, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 234, 233, + 233, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 179, 178, 50, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 130, 129, 129, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 174, 173, + 173, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 185, 184, 56, 185, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 198, 197, 197, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 173, 172, + 172, 57, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 187, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 175, 174, 46, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 212, 211, + 211, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 152, 151, 151, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 237, 236, 236, 57, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 229, 228, + 228, 185, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 201, 200, 72, 57, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 196, 195, 195, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 150, 149, + 149, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 177, 176, 176, 56, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 248, 247, 247, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 184, 183, + 183, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 147, 146, 18, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 241, 240, 240, 56, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 166, 165, + 165, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 151, 150, 22, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 255, 254, 126, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 174, 173, + 173, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 233, 232, 104, 57, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 199, 198, 70, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 178, 177, + 177, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 192, 191, 191, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 227, 226, 98, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 189, 188, + 188, 185, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 143, 142, 14, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 148, 147, 147, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 133, 132, + 132, 185, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 147, 146, 18, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 238, 237, 237, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 226, 225, + 225, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 152, 151, 151, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 195, 194, 66, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 206, 205, + 205, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 241, 240, 240, 184, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 160, 159, 159, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 240, 239, + 239, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 193, 192, 192, 55, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 252, 251, 251, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 228, 227, + 227, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 187, 186, 58, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 204, 203, 203, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 224, 223, + 223, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 162, 161, 161, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 217, 216, 88, 57, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 138, 137, + 137, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 191, 190, 62, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 214, 213, 213, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 165, 164, + 164, 185, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 253, 252, 252, 57, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 236, 235, 235, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 247, 246, + 118, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 181, 180, 180, 185, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 183, 182, 54, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 134, 133, + 133, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 206, 205, 205, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 193, 192, 192, 183, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 168, 167, + 167, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 211, 210, 82, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 235, 234, 106, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 188, 187, + 187, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 159, 158, 30, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 177, 176, 176, 184, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 239, 238, + 110, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 59, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 184, 183, 183, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 167, 166, + 38, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 198, 197, 197, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 215, 214, 86, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 164, 163, + 163, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 133, 132, 132, 57, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 200, 199, 199, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 148, 147, + 147, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 189, 188, 188, 57, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 205, 204, 204, 185, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 250, 249, + 249, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 182, 181, 181, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 146, 145, 145, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 212, 211, + 211, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 231, 230, 102, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 153, 152, 24, 57, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 142, 141, + 141, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 225, 224, 96, 184, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 149, 148, 148, 57, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 222, 221, + 221, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 166, 165, 165, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 135, 134, 6, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 169, 168, + 40, 185, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 246, 245, 245, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 219, 218, 90, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 167, 166, + 38, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 129, 128, 0, 55, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 250, 249, 249, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 233, 232, + 104, 185, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 197, 196, 196, 57, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 228, 227, 227, 186, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 213, 212, + 212, 185, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 162, 161, 161, 186, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 224, 223, 223, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 247, 246, + 118, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 215, 214, 86, 58, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 242, 241, 241, 58, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 245, 244, + 244, 57, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 89, 0, 0, 7, + 70, 142, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 88, 24, 0, 7, 70, 126, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 85, 85, 0, 0, + 0, 0, 0, 0, 100, 32, + 0, 4, 50, 16, 16, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 0, 0, + 0, 0, 104, 0, 0, 2, + 6, 0, 0, 0, 27, 0, 0, 5, 50, 0, 16, 0, - 2, 0, 0, 0, 230, 10, - 16, 0, 1, 0, 0, 0, - 54, 0, 0, 8, 194, 0, - 16, 0, 2, 0, 0, 0, - 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 70, 16, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 10, 50, 0, + 16, 0, 0, 0, 0, 0, + 70, 0, 16, 0, 0, 0, + 0, 0, 70, 128, 48, 128, + 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 45, 0, 0, 8, - 114, 0, 16, 0, 2, 0, - 0, 0, 70, 14, 16, 0, - 2, 0, 0, 0, 70, 126, - 32, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 54, 0, + 0, 0, 0, 0, 30, 0, + 0, 10, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 4, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 54, 0, 0, 5, + 50, 0, 16, 0, 2, 0, + 0, 0, 230, 10, 16, 0, + 1, 0, 0, 0, 54, 0, 0, 8, 194, 0, 16, 0, - 1, 0, 0, 0, 2, 64, + 2, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 8, 114, 0, - 16, 0, 1, 0, 0, 0, - 70, 14, 16, 0, 1, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 2, 0, 0, 0, 70, 126, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 8, - 194, 0, 16, 0, 0, 0, + 194, 0, 16, 0, 1, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 8, 114, 0, 16, 0, - 3, 0, 0, 0, 70, 14, - 16, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, 70, 126, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 30, 0, 0, 10, 242, 0, - 16, 0, 4, 0, 0, 0, - 70, 4, 16, 0, 0, 0, - 0, 0, 2, 64, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 54, 0, - 0, 5, 50, 0, 16, 0, - 5, 0, 0, 0, 230, 10, - 16, 0, 4, 0, 0, 0, 54, 0, 0, 8, 194, 0, - 16, 0, 5, 0, 0, 0, + 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, 45, 0, 0, 8, - 114, 0, 16, 0, 5, 0, + 114, 0, 16, 0, 3, 0, 0, 0, 70, 14, 16, 0, - 5, 0, 0, 0, 70, 126, + 0, 0, 0, 0, 70, 126, 32, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 54, 0, + 0, 0, 0, 0, 30, 0, + 0, 10, 242, 0, 16, 0, + 4, 0, 0, 0, 70, 4, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 50, 0, 16, 0, 5, 0, + 0, 0, 230, 10, 16, 0, + 4, 0, 0, 0, 54, 0, 0, 8, 194, 0, 16, 0, - 4, 0, 0, 0, 2, 64, + 5, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 8, 114, 0, - 16, 0, 4, 0, 0, 0, - 70, 14, 16, 0, 4, 0, + 16, 0, 5, 0, 0, 0, + 70, 14, 16, 0, 5, 0, 0, 0, 70, 126, 32, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 2, 0, - 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 70, 2, - 16, 0, 2, 0, 0, 0, + 0, 0, 54, 0, 0, 8, + 194, 0, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 45, 0, + 0, 8, 114, 0, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 4, 0, 0, 0, + 70, 126, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 56, 0, 0, 7, 114, 0, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 1, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 56, 0, - 0, 7, 66, 0, 16, 0, - 0, 0, 0, 0, 26, 0, - 16, 0, 3, 0, 0, 0, - 26, 0, 16, 0, 3, 0, 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 5, 0, - 0, 0, 70, 2, 16, 0, - 5, 0, 0, 0, 70, 2, - 16, 0, 5, 0, 0, 0, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 26, 0, + 16, 0, 3, 0, 0, 0, 56, 0, 0, 7, 114, 0, + 16, 0, 5, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 4, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, 70, 2, 16, 0, 4, 0, - 0, 0, 70, 2, 16, 0, - 4, 0, 0, 0, 51, 0, - 0, 7, 130, 0, 16, 0, - 0, 0, 0, 0, 42, 0, - 16, 0, 0, 0, 0, 0, - 26, 0, 16, 0, 5, 0, 0, 0, 51, 0, 0, 7, 130, 0, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 26, 0, - 16, 0, 1, 0, 0, 0, - 51, 0, 0, 7, 130, 0, - 16, 0, 1, 0, 0, 0, - 26, 0, 16, 0, 2, 0, - 0, 0, 26, 0, 16, 0, - 4, 0, 0, 0, 51, 0, - 0, 7, 130, 0, 16, 0, - 0, 0, 0, 0, 58, 0, - 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 1, 0, - 0, 0, 52, 0, 0, 7, - 66, 0, 16, 0, 0, 0, 0, 0, 42, 0, 16, 0, 0, 0, 0, 0, 26, 0, 16, 0, 5, 0, 0, 0, - 52, 0, 0, 7, 66, 0, + 51, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, - 42, 0, 16, 0, 0, 0, + 58, 0, 16, 0, 0, 0, 0, 0, 26, 0, 16, 0, - 1, 0, 0, 0, 52, 0, + 1, 0, 0, 0, 51, 0, 0, 7, 130, 0, 16, 0, 1, 0, 0, 0, 26, 0, 16, 0, 2, 0, 0, 0, 26, 0, 16, 0, 4, 0, - 0, 0, 52, 0, 0, 7, - 66, 0, 16, 0, 0, 0, - 0, 0, 42, 0, 16, 0, + 0, 0, 51, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 1, 0, 0, 0, - 30, 0, 0, 8, 130, 0, - 16, 0, 1, 0, 0, 0, - 42, 0, 16, 128, 65, 0, - 0, 0, 0, 0, 0, 0, - 1, 64, 0, 0, 187, 126, - 240, 126, 0, 0, 0, 8, - 66, 0, 16, 0, 0, 0, - 0, 0, 42, 0, 16, 128, - 65, 0, 0, 0, 0, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 128, 63, 51, 0, + 52, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 52, 0, 0, 7, 66, 0, 16, 0, 0, 0, 0, 0, 42, 0, 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 56, 32, 0, 7, - 66, 0, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 1, 0, 0, 0, 42, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 52, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 52, 0, 0, 7, 66, 0, 16, 0, 0, 0, 0, 0, - 85, 0, 0, 7, 66, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 30, 0, + 0, 8, 130, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 187, 126, 240, 126, + 0, 0, 0, 8, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 128, 65, 0, + 0, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 128, 63, 51, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 56, 32, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 85, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 57, 70, 188, 31, + 56, 0, 0, 9, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 42, 128, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 50, 0, 0, 9, 130, 0, 16, 0, 0, 0, 0, 0, 42, 0, 16, 0, 0, 0, 0, 0, 1, 64, 0, 0, - 1, 0, 0, 0, 30, 0, - 0, 7, 66, 0, 16, 0, - 0, 0, 0, 0, 42, 0, - 16, 0, 0, 0, 0, 0, - 1, 64, 0, 0, 57, 70, - 188, 31, 56, 0, 0, 9, - 66, 0, 16, 0, 0, 0, - 0, 0, 42, 0, 16, 0, - 0, 0, 0, 0, 42, 128, - 48, 0, 0, 0, 0, 0, + 0, 0, 128, 64, 1, 64, + 0, 0, 0, 0, 128, 63, + 30, 0, 0, 8, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 128, 65, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 50, 0, 0, 9, + 1, 64, 0, 0, 255, 159, + 241, 126, 50, 0, 0, 10, 130, 0, 16, 0, 0, 0, - 0, 0, 42, 0, 16, 0, - 0, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 128, 64, - 1, 64, 0, 0, 0, 0, - 128, 63, 30, 0, 0, 8, - 130, 0, 16, 0, 1, 0, 0, 0, 58, 0, 16, 128, - 65, 0, 0, 0, 0, 0, - 0, 0, 1, 64, 0, 0, - 255, 159, 241, 126, 50, 0, - 0, 10, 130, 0, 16, 0, - 0, 0, 0, 0, 58, 0, - 16, 128, 65, 0, 0, 0, - 1, 0, 0, 0, 58, 0, - 16, 0, 0, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 0, 64, 56, 0, 0, 7, - 130, 0, 16, 0, 0, 0, + 65, 0, 0, 0, 1, 0, 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 58, 0, - 16, 0, 1, 0, 0, 0, - 56, 0, 0, 7, 114, 0, - 16, 0, 1, 0, 0, 0, - 166, 10, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 50, 0, - 0, 9, 114, 0, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 2, 0, 0, 0, - 166, 10, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 50, 0, - 0, 9, 114, 0, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 5, 0, 0, 0, - 166, 10, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 50, 0, - 0, 9, 114, 0, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 4, 0, 0, 0, - 166, 10, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 50, 0, - 0, 9, 114, 0, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 3, 0, 0, 0, - 70, 2, 16, 0, 3, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 56, 32, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 64, + 56, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, - 1, 0, 0, 0, 246, 15, + 1, 0, 0, 0, 166, 10, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 1, 0, - 0, 0, 75, 0, 0, 5, + 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 140, 0, - 0, 11, 34, 0, 16, 0, + 2, 0, 0, 0, 166, 10, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 50, 0, 0, 9, + 114, 0, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 166, 10, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 50, 0, 0, 9, + 114, 0, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 166, 10, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 50, 0, 0, 9, + 114, 0, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 56, 32, 0, 7, + 114, 0, 16, 0, 1, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 75, 0, 0, 5, 114, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 140, 0, 0, 11, + 34, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 140, 0, + 0, 11, 18, 0, 16, 0, 0, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, - 1, 64, 0, 0, 4, 0, - 0, 0, 26, 0, 16, 0, - 0, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 0, 0, - 140, 0, 0, 11, 18, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, - 1, 64, 0, 0, 4, 0, + 0, 32, 0, 8, 114, 32, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 6, 144, 144, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 130, 32, 16, 0, 0, 0, 0, 0, 1, 64, 0, 0, - 0, 0, 0, 0, 10, 0, - 16, 0, 0, 0, 0, 0, - 26, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 0, 8, - 114, 32, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 6, 144, - 144, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 54, 0, - 0, 5, 130, 32, 16, 0, - 0, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 128, 63, - 62, 0, 0, 1, 83, 84, - 65, 84, 148, 0, 0, 0, - 52, 0, 0, 0, 6, 0, - 0, 0, 0, 1, 0, 0, - 2, 0, 0, 0, 28, 0, + 0, 0, 128, 63, 62, 0, + 0, 1, 83, 84, 65, 84, + 148, 0, 0, 0, 52, 0, 0, 0, 6, 0, 0, 0, - 1, 0, 0, 0, 1, 0, + 0, 1, 0, 0, 2, 0, + 0, 0, 28, 0, 0, 0, + 6, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, - 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 8, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1450,5 +1452,6 @@ const BYTE guest_output_ffx_cas_sharpen_dither_ps[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, + 0, 0 }; diff --git a/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_ffx_cas_sharpen_ps.h b/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_ffx_cas_sharpen_ps.h index 5cb5f7499..8042db923 100644 --- a/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_ffx_cas_sharpen_ps.h +++ b/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_ffx_cas_sharpen_ps.h @@ -5,7 +5,7 @@ // // Buffer Definitions: // -// cbuffer XeCasSharpenConstants +// cbuffer xesl_push_constants // { // // int2 xe_cas_output_offset; // Offset: 0 Size: 8 @@ -18,8 +18,8 @@ // // Name Type Format Dim ID HLSL Bind Count // ------------------------------ ---------- ------- ----------- ------- -------------- ------ -// xe_texture texture float3 2d T0 t0 1 -// XeCasSharpenConstants cbuffer NA NA CB0 cb0 1 +// xesl_id_texture_xe_cas_source texture float4 2d T0 t0 1 +// xesl_push_constants cbuffer NA NA CB0 cb0 1 // // // @@ -97,21 +97,21 @@ ret const BYTE guest_output_ffx_cas_sharpen_ps[] = { - 68, 88, 66, 67, 2, 226, - 230, 16, 201, 205, 207, 54, - 189, 193, 184, 163, 140, 156, - 247, 96, 1, 0, 0, 0, - 40, 9, 0, 0, 5, 0, + 68, 88, 66, 67, 156, 173, + 216, 107, 79, 128, 79, 193, + 241, 218, 239, 80, 94, 13, + 168, 81, 1, 0, 0, 0, + 56, 9, 0, 0, 5, 0, 0, 0, 52, 0, 0, 0, - 4, 2, 0, 0, 56, 2, - 0, 0, 108, 2, 0, 0, - 140, 8, 0, 0, 82, 68, - 69, 70, 200, 1, 0, 0, - 1, 0, 0, 0, 176, 0, + 20, 2, 0, 0, 72, 2, + 0, 0, 124, 2, 0, 0, + 156, 8, 0, 0, 82, 68, + 69, 70, 216, 1, 0, 0, + 1, 0, 0, 0, 192, 0, 0, 0, 2, 0, 0, 0, 60, 0, 0, 0, 1, 5, 255, 255, 0, 5, 0, 0, - 160, 1, 0, 0, 19, 19, + 176, 1, 0, 0, 19, 19, 68, 37, 60, 0, 0, 0, 24, 0, 0, 0, 40, 0, 0, 0, 40, 0, 0, 0, @@ -121,143 +121,177 @@ const BYTE guest_output_ffx_cas_sharpen_ps[] = 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 1, 0, 0, 0, 8, 0, + 1, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 151, 0, + 0, 0, 0, 0, 170, 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, - 0, 88, 101, 67, 97, 115, - 83, 104, 97, 114, 112, 101, - 110, 67, 111, 110, 115, 116, - 97, 110, 116, 115, 0, 171, - 171, 171, 151, 0, 0, 0, - 2, 0, 0, 0, 200, 0, - 0, 0, 16, 0, 0, 0, + 0, 0, 120, 101, 115, 108, + 95, 105, 100, 95, 116, 101, + 120, 116, 117, 114, 101, 95, + 120, 101, 95, 99, 97, 115, + 95, 115, 111, 117, 114, 99, + 101, 0, 120, 101, 115, 108, + 95, 112, 117, 115, 104, 95, + 99, 111, 110, 115, 116, 97, + 110, 116, 115, 0, 171, 171, + 170, 0, 0, 0, 2, 0, + 0, 0, 216, 0, 0, 0, + 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 24, 1, 0, 0, - 0, 0, 0, 0, 8, 0, - 0, 0, 2, 0, 0, 0, - 52, 1, 0, 0, 0, 0, - 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 255, 255, - 255, 255, 0, 0, 0, 0, - 88, 1, 0, 0, 8, 0, - 0, 0, 4, 0, 0, 0, - 2, 0, 0, 0, 124, 1, + 40, 1, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 2, 0, 0, 0, 68, 1, 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, 99, 97, 115, 95, 111, - 117, 116, 112, 117, 116, 95, - 111, 102, 102, 115, 101, 116, - 0, 105, 110, 116, 50, 0, - 171, 171, 1, 0, 2, 0, - 1, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 45, 1, + 0, 0, 0, 0, 104, 1, + 0, 0, 8, 0, 0, 0, + 4, 0, 0, 0, 2, 0, + 0, 0, 140, 1, 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, 99, - 97, 115, 95, 115, 104, 97, - 114, 112, 110, 101, 115, 115, - 95, 112, 111, 115, 116, 95, - 115, 101, 116, 117, 112, 0, - 102, 108, 111, 97, 116, 0, - 171, 171, 0, 0, 3, 0, - 1, 0, 1, 0, 0, 0, + 97, 115, 95, 111, 117, 116, + 112, 117, 116, 95, 111, 102, + 102, 115, 101, 116, 0, 105, + 110, 116, 50, 0, 171, 171, + 1, 0, 2, 0, 1, 0, + 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 116, 1, - 0, 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, - 73, 83, 71, 78, 44, 0, - 0, 0, 1, 0, 0, 0, - 8, 0, 0, 0, 32, 0, + 0, 0, 61, 1, 0, 0, + 120, 101, 95, 99, 97, 115, + 95, 115, 104, 97, 114, 112, + 110, 101, 115, 115, 95, 112, + 111, 115, 116, 95, 115, 101, + 116, 117, 112, 0, 102, 108, + 111, 97, 116, 0, 171, 171, + 0, 0, 3, 0, 1, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 15, 3, 0, 0, 83, 86, - 95, 80, 111, 115, 105, 116, - 105, 111, 110, 0, 79, 83, + 0, 0, 0, 0, 0, 0, + 0, 0, 132, 1, 0, 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, 73, 83, 71, 78, 44, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 83, 86, 95, 84, - 97, 114, 103, 101, 116, 0, - 171, 171, 83, 72, 69, 88, - 24, 6, 0, 0, 81, 0, - 0, 0, 134, 1, 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, - 1, 0, 0, 0, 0, 0, - 0, 0, 88, 24, 0, 7, - 70, 126, 48, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 85, 85, - 0, 0, 0, 0, 0, 0, - 100, 32, 0, 4, 50, 16, - 16, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 0, 0, 0, 0, 104, 0, - 0, 2, 5, 0, 0, 0, - 27, 0, 0, 5, 50, 0, - 16, 0, 0, 0, 0, 0, - 70, 16, 16, 0, 0, 0, - 0, 0, 30, 0, 0, 10, - 50, 0, 16, 0, 0, 0, - 0, 0, 70, 0, 16, 0, - 0, 0, 0, 0, 70, 128, - 48, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 30, 0, 0, 10, 242, 0, - 16, 0, 1, 0, 0, 0, - 70, 4, 16, 0, 0, 0, - 0, 0, 2, 64, 0, 0, - 255, 255, 255, 255, 0, 0, - 0, 0, 0, 0, 0, 0, - 255, 255, 255, 255, 54, 0, - 0, 5, 50, 0, 16, 0, - 2, 0, 0, 0, 230, 10, - 16, 0, 1, 0, 0, 0, - 54, 0, 0, 8, 194, 0, - 16, 0, 2, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 45, 0, 0, 8, - 114, 0, 16, 0, 2, 0, - 0, 0, 70, 14, 16, 0, - 2, 0, 0, 0, 70, 126, + 0, 0, 0, 0, 15, 3, + 0, 0, 83, 86, 95, 80, + 111, 115, 105, 116, 105, 111, + 110, 0, 79, 83, 71, 78, + 44, 0, 0, 0, 1, 0, + 0, 0, 8, 0, 0, 0, 32, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 54, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 83, 86, 95, 84, 97, 114, + 103, 101, 116, 0, 171, 171, + 83, 72, 69, 88, 24, 6, + 0, 0, 81, 0, 0, 0, + 134, 1, 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, 1, 0, + 0, 0, 0, 0, 0, 0, + 88, 24, 0, 7, 70, 126, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 85, 85, 0, 0, + 0, 0, 0, 0, 100, 32, + 0, 4, 50, 16, 16, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 0, 0, + 0, 0, 104, 0, 0, 2, + 5, 0, 0, 0, 27, 0, + 0, 5, 50, 0, 16, 0, + 0, 0, 0, 0, 70, 16, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 10, 50, 0, + 16, 0, 0, 0, 0, 0, + 70, 0, 16, 0, 0, 0, + 0, 0, 70, 128, 48, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 30, 0, + 0, 10, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 4, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 54, 0, 0, 5, + 50, 0, 16, 0, 2, 0, + 0, 0, 230, 10, 16, 0, + 1, 0, 0, 0, 54, 0, 0, 8, 194, 0, 16, 0, - 1, 0, 0, 0, 2, 64, + 2, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 8, 114, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 70, 126, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 8, + 194, 0, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 45, 0, + 0, 8, 114, 0, 16, 0, + 1, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, - 70, 14, 16, 0, 1, 0, + 70, 126, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 8, 194, 0, + 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, 45, 0, 0, 8, + 114, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 0, 0, 0, 0, 70, 126, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 30, 0, + 0, 10, 242, 0, 16, 0, + 0, 0, 0, 0, 70, 4, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 50, 0, 16, 0, 4, 0, + 0, 0, 230, 10, 16, 0, + 0, 0, 0, 0, 54, 0, + 0, 8, 194, 0, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 45, 0, 0, 8, 114, 0, + 16, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 4, 0, 0, 0, 70, 126, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 8, @@ -267,217 +301,185 @@ const BYTE guest_output_ffx_cas_sharpen_ps[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 8, 114, 0, 16, 0, - 3, 0, 0, 0, 70, 14, + 0, 0, 0, 0, 70, 14, 16, 0, 0, 0, 0, 0, 70, 126, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 30, 0, 0, 10, 242, 0, - 16, 0, 0, 0, 0, 0, - 70, 4, 16, 0, 0, 0, - 0, 0, 2, 64, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 54, 0, - 0, 5, 50, 0, 16, 0, - 4, 0, 0, 0, 230, 10, - 16, 0, 0, 0, 0, 0, - 54, 0, 0, 8, 194, 0, - 16, 0, 4, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 45, 0, 0, 8, - 114, 0, 16, 0, 4, 0, - 0, 0, 70, 14, 16, 0, - 4, 0, 0, 0, 70, 126, - 32, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 54, 0, - 0, 8, 194, 0, 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, - 45, 0, 0, 8, 114, 0, - 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 0, 0, - 0, 0, 70, 126, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 2, 0, - 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 70, 2, - 16, 0, 2, 0, 0, 0, 56, 0, 0, 7, 114, 0, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 1, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 56, 0, - 0, 7, 130, 0, 16, 0, - 0, 0, 0, 0, 26, 0, - 16, 0, 3, 0, 0, 0, - 26, 0, 16, 0, 3, 0, 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 4, 0, - 0, 0, 70, 2, 16, 0, - 4, 0, 0, 0, 70, 2, - 16, 0, 4, 0, 0, 0, + 130, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 26, 0, + 16, 0, 3, 0, 0, 0, 56, 0, 0, 7, 114, 0, + 16, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 51, 0, - 0, 7, 130, 0, 16, 0, - 1, 0, 0, 0, 58, 0, - 16, 0, 0, 0, 0, 0, - 26, 0, 16, 0, 4, 0, 0, 0, 51, 0, 0, 7, 130, 0, 16, 0, 1, 0, - 0, 0, 58, 0, 16, 0, - 1, 0, 0, 0, 26, 0, - 16, 0, 1, 0, 0, 0, - 51, 0, 0, 7, 130, 0, - 16, 0, 2, 0, 0, 0, - 26, 0, 16, 0, 0, 0, - 0, 0, 26, 0, 16, 0, - 2, 0, 0, 0, 51, 0, - 0, 7, 130, 0, 16, 0, - 1, 0, 0, 0, 58, 0, - 16, 0, 1, 0, 0, 0, - 58, 0, 16, 0, 2, 0, - 0, 0, 52, 0, 0, 7, - 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 26, 0, 16, 0, 4, 0, 0, 0, - 52, 0, 0, 7, 130, 0, - 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 0, 0, + 51, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, 0, 0, 26, 0, 16, 0, - 1, 0, 0, 0, 52, 0, + 1, 0, 0, 0, 51, 0, 0, 7, 130, 0, 16, 0, 2, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 26, 0, 16, 0, 2, 0, + 0, 0, 51, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 52, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 4, 0, 0, 0, 52, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 1, 0, 0, 0, 52, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 52, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 30, 0, + 0, 8, 130, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 187, 126, 240, 126, + 0, 0, 0, 8, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 128, 65, 0, + 0, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 128, 63, 51, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 58, 0, - 16, 0, 2, 0, 0, 0, + 16, 0, 1, 0, 0, 0, + 56, 32, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 85, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 57, 70, 188, 31, + 56, 0, 0, 9, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 42, 128, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 50, 0, 0, 9, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 128, 64, 1, 64, + 0, 0, 0, 0, 128, 63, 30, 0, 0, 8, 130, 0, 16, 0, 2, 0, 0, 0, 58, 0, 16, 128, 65, 0, - 0, 0, 0, 0, 0, 0, - 1, 64, 0, 0, 187, 126, - 240, 126, 0, 0, 0, 8, - 130, 0, 16, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 255, 159, + 241, 126, 50, 0, 0, 10, + 130, 0, 16, 0, 1, 0, 0, 0, 58, 0, 16, 128, - 65, 0, 0, 0, 0, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 128, 63, 51, 0, - 0, 7, 130, 0, 16, 0, - 0, 0, 0, 0, 58, 0, - 16, 0, 0, 0, 0, 0, + 65, 0, 0, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 64, + 56, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, 58, 0, 16, 0, 1, 0, - 0, 0, 56, 32, 0, 7, - 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, - 2, 0, 0, 0, 58, 0, - 16, 0, 0, 0, 0, 0, - 85, 0, 0, 7, 130, 0, - 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 1, 64, 0, 0, - 1, 0, 0, 0, 30, 0, - 0, 7, 130, 0, 16, 0, - 0, 0, 0, 0, 58, 0, - 16, 0, 0, 0, 0, 0, - 1, 64, 0, 0, 57, 70, - 188, 31, 56, 0, 0, 9, - 130, 0, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 42, 128, - 48, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 50, 0, 0, 9, - 130, 0, 16, 0, 1, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 128, 64, - 1, 64, 0, 0, 0, 0, - 128, 63, 30, 0, 0, 8, - 130, 0, 16, 0, 2, 0, - 0, 0, 58, 0, 16, 128, - 65, 0, 0, 0, 1, 0, - 0, 0, 1, 64, 0, 0, - 255, 159, 241, 126, 50, 0, - 0, 10, 130, 0, 16, 0, - 1, 0, 0, 0, 58, 0, - 16, 128, 65, 0, 0, 0, - 2, 0, 0, 0, 58, 0, - 16, 0, 1, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 0, 64, 56, 0, 0, 7, - 130, 0, 16, 0, 1, 0, - 0, 0, 58, 0, 16, 0, - 1, 0, 0, 0, 58, 0, - 16, 0, 2, 0, 0, 0, - 56, 0, 0, 7, 114, 0, - 16, 0, 1, 0, 0, 0, - 246, 15, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 50, 0, - 0, 9, 114, 0, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 2, 0, 0, 0, - 246, 15, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 50, 0, - 0, 9, 114, 0, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 4, 0, 0, 0, - 246, 15, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 50, 0, - 0, 9, 114, 0, 16, 0, - 0, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 246, 15, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 50, 0, - 0, 9, 114, 0, 16, 0, - 0, 0, 0, 0, 70, 2, - 16, 0, 3, 0, 0, 0, - 70, 2, 16, 0, 3, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 56, 32, + 2, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, - 0, 0, 0, 0, 246, 15, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 75, 0, 0, 5, - 114, 32, 16, 0, 0, 0, + 1, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 50, 0, 0, 9, + 114, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 54, 0, - 0, 5, 130, 32, 16, 0, - 0, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 128, 63, - 62, 0, 0, 1, 83, 84, - 65, 84, 148, 0, 0, 0, - 49, 0, 0, 0, 5, 0, - 0, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 27, 0, - 0, 0, 6, 0, 0, 0, - 1, 0, 0, 0, 1, 0, + 2, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 50, 0, 0, 9, + 114, 0, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 50, 0, 0, 9, + 114, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 50, 0, 0, 9, + 114, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 56, 32, 0, 7, + 114, 0, 16, 0, 0, 0, + 0, 0, 246, 15, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 75, 0, 0, 5, 114, 32, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 130, 32, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 128, 63, 62, 0, + 0, 1, 83, 84, 65, 84, + 148, 0, 0, 0, 49, 0, + 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 27, 0, 0, 0, + 6, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, - 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 8, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -487,5 +489,6 @@ const BYTE guest_output_ffx_cas_sharpen_ps[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, + 0, 0 }; diff --git a/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_ffx_fsr_easu_ps.h b/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_ffx_fsr_easu_ps.h index 3c9a5a926..bfe7adb17 100644 --- a/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_ffx_fsr_easu_ps.h +++ b/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_ffx_fsr_easu_ps.h @@ -5,7 +5,7 @@ // // Buffer Definitions: // -// cbuffer XeFsrEasuConstants +// cbuffer xesl_push_constants // { // // float2 xe_fsr_easu_input_output_size_ratio;// Offset: 0 Size: 8 @@ -18,9 +18,9 @@ // // Name Type Format Dim ID HLSL Bind Count // ------------------------------ ---------- ------- ----------- ------- -------------- ------ -// xe_sampler_linear_clamp sampler NA NA S0 s0 1 -// xe_texture texture float3 2d T0 t0 1 -// XeFsrEasuConstants cbuffer NA NA CB0 cb0 1 +// xesl_id_sampler_xe_fsr_easu_source sampler NA NA S0 s0 1 +// xesl_id_texture_xe_fsr_easu_source texture float4 2d T0 t0 1 +// xesl_push_constants cbuffer NA NA CB0 cb0 1 // // // @@ -45,9 +45,9 @@ dcl_resource_texture2d (float,float,float,float) T0[0:0], space=0 dcl_input_ps_siv linear noperspective v0.xy, position dcl_output o0.xyzw dcl_temps 22 -mul r0.w, CB0[0][0].w, l(4.000000) +mul r0.w, l(4.000000), CB0[0][0].w mad r0.xy, CB0[0][0].xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(-0.500000, -0.500000, 0.000000, 0.000000) -mul r1.xyz, CB0[0][0].zwwz, l(1.000000, 1.000000, -1.000000, 0.000000) +mul r1.xyz, l(1.000000, 1.000000, -1.000000, 0.000000), CB0[0][0].zwwz ftou r2.xy, v0.xyxx utof r2.xy, r2.xyxx mad r0.xy, r2.xyxx, CB0[0][0].xyxx, r0.xyxx @@ -349,21 +349,21 @@ ret const BYTE guest_output_ffx_fsr_easu_ps[] = { - 68, 88, 66, 67, 240, 45, - 22, 153, 167, 152, 10, 67, - 48, 29, 75, 57, 104, 138, - 197, 43, 1, 0, 0, 0, - 236, 40, 0, 0, 5, 0, + 68, 88, 66, 67, 244, 213, + 198, 18, 209, 124, 162, 152, + 164, 52, 152, 171, 230, 26, + 6, 168, 1, 0, 0, 0, + 16, 41, 0, 0, 5, 0, 0, 0, 52, 0, 0, 0, - 36, 2, 0, 0, 88, 2, - 0, 0, 140, 2, 0, 0, - 80, 40, 0, 0, 82, 68, - 69, 70, 232, 1, 0, 0, - 1, 0, 0, 0, 236, 0, + 72, 2, 0, 0, 124, 2, + 0, 0, 176, 2, 0, 0, + 116, 40, 0, 0, 82, 68, + 69, 70, 12, 2, 0, 0, + 1, 0, 0, 0, 16, 1, 0, 0, 3, 0, 0, 0, 60, 0, 0, 0, 1, 5, 255, 255, 0, 5, 0, 0, - 191, 1, 0, 0, 19, 19, + 227, 1, 0, 0, 19, 19, 68, 37, 60, 0, 0, 0, 24, 0, 0, 0, 40, 0, 0, 0, 40, 0, 0, 0, @@ -375,43 +375,49 @@ const BYTE guest_output_ffx_fsr_easu_ps[] = 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 204, 0, + 0, 0, 0, 0, 215, 0, 0, 0, 2, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 1, 0, - 0, 0, 8, 0, 0, 0, + 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 215, 0, 0, 0, + 0, 0, 250, 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, 115, 97, 109, - 112, 108, 101, 114, 95, 108, - 105, 110, 101, 97, 114, 95, - 99, 108, 97, 109, 112, 0, - 120, 101, 95, 116, 101, 120, - 116, 117, 114, 101, 0, 88, - 101, 70, 115, 114, 69, 97, - 115, 117, 67, 111, 110, 115, + 120, 101, 115, 108, 95, 105, + 100, 95, 115, 97, 109, 112, + 108, 101, 114, 95, 120, 101, + 95, 102, 115, 114, 95, 101, + 97, 115, 117, 95, 115, 111, + 117, 114, 99, 101, 0, 120, + 101, 115, 108, 95, 105, 100, + 95, 116, 101, 120, 116, 117, + 114, 101, 95, 120, 101, 95, + 102, 115, 114, 95, 101, 97, + 115, 117, 95, 115, 111, 117, + 114, 99, 101, 0, 120, 101, + 115, 108, 95, 112, 117, 115, + 104, 95, 99, 111, 110, 115, 116, 97, 110, 116, 115, 0, - 171, 171, 215, 0, 0, 0, - 2, 0, 0, 0, 4, 1, + 171, 171, 250, 0, 0, 0, + 2, 0, 0, 0, 40, 1, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 84, 1, 0, 0, + 0, 0, 120, 1, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, 0, - 128, 1, 0, 0, 0, 0, + 164, 1, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 164, 1, 0, 0, 8, 0, + 200, 1, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, - 2, 0, 0, 0, 128, 1, + 2, 0, 0, 0, 164, 1, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, @@ -428,7 +434,7 @@ const BYTE guest_output_ffx_fsr_easu_ps[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 120, 1, 0, 0, + 0, 0, 156, 1, 0, 0, 120, 101, 95, 102, 115, 114, 95, 101, 97, 115, 117, 95, 105, 110, 112, 117, 116, 95, @@ -482,11 +488,11 @@ const BYTE guest_output_ffx_fsr_easu_ps[] = 104, 0, 0, 2, 22, 0, 0, 0, 56, 0, 0, 9, 130, 0, 16, 0, 0, 0, - 0, 0, 58, 128, 48, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 128, 64, 58, 128, + 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 128, 64, 50, 0, 0, 17, + 0, 0, 50, 0, 0, 17, 50, 0, 16, 0, 0, 0, 0, 0, 70, 128, 48, 0, 0, 0, 0, 0, 0, 0, @@ -499,12 +505,12 @@ const BYTE guest_output_ffx_fsr_easu_ps[] = 0, 191, 0, 0, 0, 0, 0, 0, 0, 0, 56, 0, 0, 12, 114, 0, 16, 0, - 1, 0, 0, 0, 230, 139, - 48, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 2, 64, 0, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, - 128, 63, 0, 0, 128, 191, + 128, 191, 0, 0, 0, 0, + 230, 139, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 5, 50, 0, 16, 0, 2, 0, 0, 0, 70, 16, diff --git a/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_ffx_fsr_rcas_dither_ps.h b/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_ffx_fsr_rcas_dither_ps.h index 71dd6c93b..bed60c938 100644 --- a/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_ffx_fsr_rcas_dither_ps.h +++ b/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_ffx_fsr_rcas_dither_ps.h @@ -5,7 +5,7 @@ // // Buffer Definitions: // -// cbuffer XeFsrRcasConstants +// cbuffer xesl_push_constants // { // // int2 xe_fsr_rcas_output_offset; // Offset: 0 Size: 8 @@ -18,8 +18,8 @@ // // Name Type Format Dim ID HLSL Bind Count // ------------------------------ ---------- ------- ----------- ------- -------------- ------ -// xe_texture texture float3 2d T0 t0 1 -// XeFsrRcasConstants cbuffer NA NA CB0 cb0 1 +// xesl_id_texture_xe_fsr_rcas_source texture float4 2d T0 t0 1 +// xesl_push_constants cbuffer NA NA CB0 cb0 1 // // // @@ -347,7 +347,7 @@ mad r1.xyz, r0.zzzz, r5.xyzx, r1.xyzx add r1.xyz, r3.xyzx, r1.xyzx bfi r0.y, l(4), l(4), r0.y, l(0) bfi r0.x, l(4), l(0), r0.x, r0.y -mad o0.xyz, r1.xyzx, r0.wwww, icb[r0.x + 0].xxxx +mad_sat o0.xyz, r1.xyzx, r0.wwww, icb[r0.x + 0].xxxx mov o0.w, l(1.000000) ret // Approximately 51 instruction slots used @@ -355,21 +355,21 @@ ret const BYTE guest_output_ffx_fsr_rcas_dither_ps[] = { - 68, 88, 66, 67, 171, 87, - 217, 222, 87, 57, 211, 199, - 141, 108, 123, 139, 108, 18, - 226, 124, 1, 0, 0, 0, - 192, 25, 0, 0, 5, 0, + 68, 88, 66, 67, 243, 208, + 149, 237, 137, 44, 118, 107, + 240, 46, 48, 108, 54, 213, + 2, 137, 1, 0, 0, 0, + 216, 25, 0, 0, 5, 0, 0, 0, 52, 0, 0, 0, - 8, 2, 0, 0, 60, 2, - 0, 0, 112, 2, 0, 0, - 36, 25, 0, 0, 82, 68, - 69, 70, 204, 1, 0, 0, - 1, 0, 0, 0, 172, 0, + 32, 2, 0, 0, 84, 2, + 0, 0, 136, 2, 0, 0, + 60, 25, 0, 0, 82, 68, + 69, 70, 228, 1, 0, 0, + 1, 0, 0, 0, 196, 0, 0, 0, 2, 0, 0, 0, 60, 0, 0, 0, 1, 5, 255, 255, 0, 5, 0, 0, - 164, 1, 0, 0, 19, 19, + 188, 1, 0, 0, 19, 19, 68, 37, 60, 0, 0, 0, 24, 0, 0, 0, 40, 0, 0, 0, 40, 0, 0, 0, @@ -379,35 +379,39 @@ const BYTE guest_output_ffx_fsr_rcas_dither_ps[] = 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 1, 0, 0, 0, 8, 0, + 1, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 151, 0, + 0, 0, 0, 0, 175, 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, - 0, 88, 101, 70, 115, 114, - 82, 99, 97, 115, 67, 111, - 110, 115, 116, 97, 110, 116, - 115, 0, 171, 171, 151, 0, + 0, 0, 120, 101, 115, 108, + 95, 105, 100, 95, 116, 101, + 120, 116, 117, 114, 101, 95, + 120, 101, 95, 102, 115, 114, + 95, 114, 99, 97, 115, 95, + 115, 111, 117, 114, 99, 101, + 0, 120, 101, 115, 108, 95, + 112, 117, 115, 104, 95, 99, + 111, 110, 115, 116, 97, 110, + 116, 115, 0, 171, 175, 0, 0, 0, 2, 0, 0, 0, - 196, 0, 0, 0, 16, 0, + 220, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 20, 1, + 0, 0, 0, 0, 44, 1, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 2, 0, - 0, 0, 52, 1, 0, 0, + 0, 0, 76, 1, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 88, 1, 0, 0, + 0, 0, 112, 1, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, - 128, 1, 0, 0, 0, 0, + 152, 1, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, @@ -421,7 +425,7 @@ const BYTE guest_output_ffx_fsr_rcas_dither_ps[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 46, 1, + 0, 0, 0, 0, 70, 1, 0, 0, 120, 101, 95, 102, 115, 114, 95, 114, 99, 97, 115, 95, 115, 104, 97, 114, @@ -434,7 +438,7 @@ const BYTE guest_output_ffx_fsr_rcas_dither_ps[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 121, 1, 0, 0, + 0, 0, 145, 1, 0, 0, 77, 105, 99, 114, 111, 115, 111, 102, 116, 32, 40, 82, 41, 32, 72, 76, 83, 76, @@ -1417,7 +1421,7 @@ const BYTE guest_output_ffx_fsr_rcas_dither_ps[] = 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, - 50, 0, 0, 10, 114, 32, + 50, 32, 0, 10, 114, 32, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, 246, 15, 16, 0, diff --git a/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_ffx_fsr_rcas_ps.h b/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_ffx_fsr_rcas_ps.h index f1c967f88..adf3c5498 100644 --- a/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_ffx_fsr_rcas_ps.h +++ b/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_ffx_fsr_rcas_ps.h @@ -5,7 +5,7 @@ // // Buffer Definitions: // -// cbuffer XeFsrRcasConstants +// cbuffer xesl_push_constants // { // // int2 xe_fsr_rcas_output_offset; // Offset: 0 Size: 8 @@ -18,8 +18,8 @@ // // Name Type Format Dim ID HLSL Bind Count // ------------------------------ ---------- ------- ----------- ------- -------------- ------ -// xe_texture texture float3 2d T0 t0 1 -// XeFsrRcasConstants cbuffer NA NA CB0 cb0 1 +// xesl_id_texture_xe_fsr_rcas_source texture float4 2d T0 t0 1 +// xesl_push_constants cbuffer NA NA CB0 cb0 1 // // // @@ -97,21 +97,21 @@ ret const BYTE guest_output_ffx_fsr_rcas_ps[] = { - 68, 88, 66, 67, 185, 223, - 242, 110, 212, 184, 173, 198, - 168, 143, 147, 205, 178, 152, - 68, 191, 1, 0, 0, 0, - 84, 9, 0, 0, 5, 0, + 68, 88, 66, 67, 166, 229, + 254, 191, 58, 156, 80, 230, + 98, 56, 59, 50, 111, 142, + 200, 152, 1, 0, 0, 0, + 108, 9, 0, 0, 5, 0, 0, 0, 52, 0, 0, 0, - 8, 2, 0, 0, 60, 2, - 0, 0, 112, 2, 0, 0, - 184, 8, 0, 0, 82, 68, - 69, 70, 204, 1, 0, 0, - 1, 0, 0, 0, 172, 0, + 32, 2, 0, 0, 84, 2, + 0, 0, 136, 2, 0, 0, + 208, 8, 0, 0, 82, 68, + 69, 70, 228, 1, 0, 0, + 1, 0, 0, 0, 196, 0, 0, 0, 2, 0, 0, 0, 60, 0, 0, 0, 1, 5, 255, 255, 0, 5, 0, 0, - 164, 1, 0, 0, 19, 19, + 188, 1, 0, 0, 19, 19, 68, 37, 60, 0, 0, 0, 24, 0, 0, 0, 40, 0, 0, 0, 40, 0, 0, 0, @@ -121,35 +121,39 @@ const BYTE guest_output_ffx_fsr_rcas_ps[] = 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 1, 0, 0, 0, 8, 0, + 1, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 151, 0, + 0, 0, 0, 0, 175, 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, - 0, 88, 101, 70, 115, 114, - 82, 99, 97, 115, 67, 111, - 110, 115, 116, 97, 110, 116, - 115, 0, 171, 171, 151, 0, + 0, 0, 120, 101, 115, 108, + 95, 105, 100, 95, 116, 101, + 120, 116, 117, 114, 101, 95, + 120, 101, 95, 102, 115, 114, + 95, 114, 99, 97, 115, 95, + 115, 111, 117, 114, 99, 101, + 0, 120, 101, 115, 108, 95, + 112, 117, 115, 104, 95, 99, + 111, 110, 115, 116, 97, 110, + 116, 115, 0, 171, 175, 0, 0, 0, 2, 0, 0, 0, - 196, 0, 0, 0, 16, 0, + 220, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 20, 1, + 0, 0, 0, 0, 44, 1, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 2, 0, - 0, 0, 52, 1, 0, 0, + 0, 0, 76, 1, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 88, 1, 0, 0, + 0, 0, 112, 1, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, - 128, 1, 0, 0, 0, 0, + 152, 1, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, @@ -163,7 +167,7 @@ const BYTE guest_output_ffx_fsr_rcas_ps[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 46, 1, + 0, 0, 0, 0, 70, 1, 0, 0, 120, 101, 95, 102, 115, 114, 95, 114, 99, 97, 115, 95, 115, 104, 97, 114, @@ -176,7 +180,7 @@ const BYTE guest_output_ffx_fsr_rcas_ps[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 121, 1, 0, 0, + 0, 0, 145, 1, 0, 0, 77, 105, 99, 114, 111, 115, 111, 102, 116, 32, 40, 82, 41, 32, 72, 76, 83, 76, diff --git a/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_triangle_strip_rect_vs.h b/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_triangle_strip_rect_vs.h index ccdcc1495..de3f98358 100644 --- a/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_triangle_strip_rect_vs.h +++ b/src/xenia/ui/shaders/bytecode/d3d12_5_1/guest_output_triangle_strip_rect_vs.h @@ -5,7 +5,7 @@ // // Buffer Definitions: // -// cbuffer XeTriangleStripRectConstants +// cbuffer xesl_push_constants // { // // float2 xe_triangle_strip_rect_offset;// Offset: 0 Size: 8 @@ -18,7 +18,7 @@ // // Name Type Format Dim ID HLSL Bind Count // ------------------------------ ---------- ------- ----------- ------- -------------- ------ -// XeTriangleStripRectConstants cbuffer NA NA CB0 cb0 1 +// xesl_push_constants cbuffer NA NA CB0 cb0 1 // // // @@ -53,21 +53,21 @@ ret const BYTE guest_output_triangle_strip_rect_vs[] = { - 68, 88, 66, 67, 67, 209, - 250, 163, 3, 195, 64, 100, - 167, 54, 190, 31, 173, 113, - 120, 163, 1, 0, 0, 0, - 216, 3, 0, 0, 5, 0, + 68, 88, 66, 67, 149, 206, + 103, 147, 159, 147, 2, 90, + 215, 81, 85, 83, 111, 183, + 165, 48, 1, 0, 0, 0, + 204, 3, 0, 0, 5, 0, 0, 0, 52, 0, 0, 0, - 184, 1, 0, 0, 236, 1, - 0, 0, 32, 2, 0, 0, - 60, 3, 0, 0, 82, 68, - 69, 70, 124, 1, 0, 0, - 1, 0, 0, 0, 132, 0, + 172, 1, 0, 0, 224, 1, + 0, 0, 20, 2, 0, 0, + 48, 3, 0, 0, 82, 68, + 69, 70, 112, 1, 0, 0, + 1, 0, 0, 0, 120, 0, 0, 0, 1, 0, 0, 0, 60, 0, 0, 0, 1, 5, 254, 255, 0, 5, 0, 0, - 84, 1, 0, 0, 19, 19, + 72, 1, 0, 0, 19, 19, 68, 37, 60, 0, 0, 0, 24, 0, 0, 0, 40, 0, 0, 0, 40, 0, 0, 0, @@ -79,26 +79,24 @@ const BYTE guest_output_triangle_strip_rect_vs[] = 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 88, 101, - 84, 114, 105, 97, 110, 103, - 108, 101, 83, 116, 114, 105, - 112, 82, 101, 99, 116, 67, - 111, 110, 115, 116, 97, 110, - 116, 115, 0, 171, 171, 171, + 0, 0, 0, 0, 120, 101, + 115, 108, 95, 112, 117, 115, + 104, 95, 99, 111, 110, 115, + 116, 97, 110, 116, 115, 0, 100, 0, 0, 0, 2, 0, - 0, 0, 156, 0, 0, 0, + 0, 0, 144, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 236, 0, 0, 0, 0, 0, + 224, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, - 2, 0, 0, 0, 20, 1, + 2, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 56, 1, + 0, 0, 0, 0, 44, 1, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 2, 0, - 0, 0, 20, 1, 0, 0, + 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, @@ -114,7 +112,7 @@ const BYTE guest_output_triangle_strip_rect_vs[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 10, 1, 0, 0, + 0, 0, 254, 0, 0, 0, 120, 101, 95, 116, 114, 105, 97, 110, 103, 108, 101, 95, 115, 116, 114, 105, 112, 95, diff --git a/src/xenia/ui/shaders/bytecode/d3d12_5_1/immediate_ps.h b/src/xenia/ui/shaders/bytecode/d3d12_5_1/immediate_ps.h index 09255e348..761814d23 100644 --- a/src/xenia/ui/shaders/bytecode/d3d12_5_1/immediate_ps.h +++ b/src/xenia/ui/shaders/bytecode/d3d12_5_1/immediate_ps.h @@ -7,8 +7,8 @@ // // Name Type Format Dim ID HLSL Bind Count // ------------------------------ ---------- ------- ----------- ------- -------------- ------ -// xe_immediate_sampler sampler NA NA S0 s0 1 -// xe_immediate_texture texture float4 2d T0 t0 1 +// xesl_id_sampler_xe_immediate_texture sampler NA NA S0 s0 1 +// xesl_id_texture_xe_immediate_texture texture float4 2d T0 t0 1 // // // @@ -17,7 +17,7 @@ // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // TEXCOORD 0 xy 0 NONE float xy -// TEXCOORD 1 xyzw 1 NONE float xyzw +// COLOR 0 xyzw 1 NONE float xyzw // // // Output signature: @@ -42,21 +42,21 @@ ret const BYTE immediate_ps[] = { - 68, 88, 66, 67, 218, 200, - 108, 196, 58, 28, 70, 226, - 98, 137, 89, 199, 218, 58, - 155, 172, 1, 0, 0, 0, - 0, 3, 0, 0, 5, 0, + 68, 88, 66, 67, 16, 180, + 111, 94, 249, 238, 63, 126, + 172, 161, 159, 61, 24, 3, + 19, 209, 1, 0, 0, 0, + 36, 3, 0, 0, 5, 0, 0, 0, 52, 0, 0, 0, - 28, 1, 0, 0, 104, 1, - 0, 0, 156, 1, 0, 0, - 100, 2, 0, 0, 82, 68, - 69, 70, 224, 0, 0, 0, + 60, 1, 0, 0, 140, 1, + 0, 0, 192, 1, 0, 0, + 136, 2, 0, 0, 82, 68, + 69, 70, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 60, 0, 0, 0, 1, 5, 255, 255, 0, 5, 0, 0, - 182, 0, 0, 0, 19, 19, + 214, 0, 0, 0, 19, 19, 68, 37, 60, 0, 0, 0, 24, 0, 0, 0, 40, 0, 0, 0, 40, 0, 0, 0, @@ -68,40 +68,46 @@ const BYTE immediate_ps[] = 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 161, 0, + 0, 0, 0, 0, 177, 0, 0, 0, 2, 0, 0, 0, 5, 0, 0, 0, 4, 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, 120, 101, 95, 105, - 109, 109, 101, 100, 105, 97, - 116, 101, 95, 115, 97, 109, - 112, 108, 101, 114, 0, 120, - 101, 95, 105, 109, 109, 101, - 100, 105, 97, 116, 101, 95, - 116, 101, 120, 116, 117, 114, - 101, 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, 73, 83, 71, 78, - 68, 0, 0, 0, 2, 0, - 0, 0, 8, 0, 0, 0, - 56, 0, 0, 0, 0, 0, + 0, 0, 120, 101, 115, 108, + 95, 105, 100, 95, 115, 97, + 109, 112, 108, 101, 114, 95, + 120, 101, 95, 105, 109, 109, + 101, 100, 105, 97, 116, 101, + 95, 116, 101, 120, 116, 117, + 114, 101, 0, 120, 101, 115, + 108, 95, 105, 100, 95, 116, + 101, 120, 116, 117, 114, 101, + 95, 120, 101, 95, 105, 109, + 109, 101, 100, 105, 97, 116, + 101, 95, 116, 101, 120, 116, + 117, 114, 101, 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, 73, 83, + 71, 78, 72, 0, 0, 0, + 2, 0, 0, 0, 8, 0, + 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 3, 3, 0, 0, - 56, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 3, 3, + 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 15, 15, 0, 0, - 84, 69, 88, 67, 79, 79, - 82, 68, 0, 171, 171, 171, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 15, 15, + 0, 0, 84, 69, 88, 67, + 79, 79, 82, 68, 0, 67, + 79, 76, 79, 82, 0, 171, 79, 83, 71, 78, 44, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0, 32, 0, diff --git a/src/xenia/ui/shaders/bytecode/d3d12_5_1/immediate_vs.h b/src/xenia/ui/shaders/bytecode/d3d12_5_1/immediate_vs.h index dc36315ba..99559040f 100644 --- a/src/xenia/ui/shaders/bytecode/d3d12_5_1/immediate_vs.h +++ b/src/xenia/ui/shaders/bytecode/d3d12_5_1/immediate_vs.h @@ -5,7 +5,7 @@ // // Buffer Definitions: // -// cbuffer XeImmediateVertexConstants +// cbuffer xesl_push_constants // { // // float2 xe_coordinate_space_size_inv;// Offset: 0 Size: 8 @@ -17,7 +17,7 @@ // // Name Type Format Dim ID HLSL Bind Count // ------------------------------ ---------- ------- ----------- ------- -------------- ------ -// XeImmediateVertexConstants cbuffer NA NA CB0 cb0 1 +// xesl_push_constants cbuffer NA NA CB0 cb0 1 // // // @@ -35,7 +35,7 @@ // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // TEXCOORD 0 xy 0 NONE float xy -// TEXCOORD 1 xyzw 1 NONE float xyzw +// COLOR 0 xyzw 1 NONE float xyzw // SV_Position 0 xyzw 2 POS float xyzw // vs_5_1 @@ -59,21 +59,21 @@ ret const BYTE immediate_vs[] = { - 68, 88, 66, 67, 141, 232, - 76, 204, 152, 38, 127, 131, - 125, 87, 10, 113, 217, 159, - 27, 143, 1, 0, 0, 0, - 24, 4, 0, 0, 5, 0, + 68, 88, 66, 67, 15, 240, + 112, 179, 37, 234, 188, 136, + 206, 192, 216, 134, 250, 183, + 16, 201, 1, 0, 0, 0, + 20, 4, 0, 0, 5, 0, 0, 0, 52, 0, 0, 0, - 108, 1, 0, 0, 220, 1, - 0, 0, 76, 2, 0, 0, - 124, 3, 0, 0, 82, 68, - 69, 70, 48, 1, 0, 0, - 1, 0, 0, 0, 128, 0, + 100, 1, 0, 0, 212, 1, + 0, 0, 72, 2, 0, 0, + 120, 3, 0, 0, 82, 68, + 69, 70, 40, 1, 0, 0, + 1, 0, 0, 0, 120, 0, 0, 0, 1, 0, 0, 0, 60, 0, 0, 0, 1, 5, 254, 255, 0, 5, 0, 0, - 8, 1, 0, 0, 19, 19, + 0, 1, 0, 0, 19, 19, 68, 37, 60, 0, 0, 0, 24, 0, 0, 0, 40, 0, 0, 0, 40, 0, 0, 0, @@ -85,144 +85,143 @@ const BYTE immediate_vs[] = 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 88, 101, - 73, 109, 109, 101, 100, 105, - 97, 116, 101, 86, 101, 114, - 116, 101, 120, 67, 111, 110, - 115, 116, 97, 110, 116, 115, - 0, 171, 100, 0, 0, 0, - 1, 0, 0, 0, 152, 0, - 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 120, 101, + 115, 108, 95, 112, 117, 115, + 104, 95, 99, 111, 110, 115, + 116, 97, 110, 116, 115, 0, + 100, 0, 0, 0, 1, 0, + 0, 0, 144, 0, 0, 0, + 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 192, 0, 0, 0, - 0, 0, 0, 0, 8, 0, - 0, 0, 2, 0, 0, 0, - 228, 0, 0, 0, 0, 0, + 184, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 2, 0, 0, 0, 220, 0, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 255, 255, - 255, 255, 0, 0, 0, 0, - 120, 101, 95, 99, 111, 111, - 114, 100, 105, 110, 97, 116, - 101, 95, 115, 112, 97, 99, - 101, 95, 115, 105, 122, 101, - 95, 105, 110, 118, 0, 102, - 108, 111, 97, 116, 50, 0, - 1, 0, 3, 0, 1, 0, - 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 120, 101, + 95, 99, 111, 111, 114, 100, + 105, 110, 97, 116, 101, 95, + 115, 112, 97, 99, 101, 95, + 115, 105, 122, 101, 95, 105, + 110, 118, 0, 102, 108, 111, + 97, 116, 50, 0, 1, 0, + 3, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 221, 0, 0, 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, 73, 83, - 71, 78, 104, 0, 0, 0, - 3, 0, 0, 0, 8, 0, - 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 3, 3, - 0, 0, 89, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 3, 3, - 0, 0, 98, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 2, 0, 0, 0, 15, 15, - 0, 0, 80, 79, 83, 73, - 84, 73, 79, 78, 0, 84, - 69, 88, 67, 79, 79, 82, - 68, 0, 67, 79, 76, 79, - 82, 0, 79, 83, 71, 78, + 213, 0, 0, 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, 73, 83, 71, 78, 104, 0, 0, 0, 3, 0, 0, 0, 8, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, - 0, 0, 3, 12, 0, 0, - 80, 0, 0, 0, 1, 0, + 0, 0, 3, 3, 0, 0, + 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, - 0, 0, 15, 0, 0, 0, - 89, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, + 0, 0, 3, 3, 0, 0, + 98, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, - 0, 0, 15, 0, 0, 0, - 84, 69, 88, 67, 79, 79, - 82, 68, 0, 83, 86, 95, - 80, 111, 115, 105, 116, 105, - 111, 110, 0, 171, 171, 171, - 83, 72, 69, 88, 40, 1, - 0, 0, 81, 0, 1, 0, - 74, 0, 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, 1, 0, - 0, 0, 0, 0, 0, 0, - 95, 0, 0, 3, 50, 16, - 16, 0, 0, 0, 0, 0, - 95, 0, 0, 3, 50, 16, - 16, 0, 1, 0, 0, 0, - 95, 0, 0, 3, 242, 16, - 16, 0, 2, 0, 0, 0, - 101, 0, 0, 3, 50, 32, - 16, 0, 0, 0, 0, 0, - 101, 0, 0, 3, 242, 32, - 16, 0, 1, 0, 0, 0, - 103, 0, 0, 4, 242, 32, - 16, 0, 2, 0, 0, 0, - 1, 0, 0, 0, 104, 0, - 0, 2, 1, 0, 0, 0, - 56, 0, 0, 9, 50, 0, - 16, 0, 0, 0, 0, 0, - 70, 16, 16, 0, 0, 0, - 0, 0, 70, 128, 48, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 50, 0, 0, 15, 50, 32, - 16, 0, 2, 0, 0, 0, - 70, 0, 16, 0, 0, 0, - 0, 0, 2, 64, 0, 0, - 0, 0, 0, 64, 0, 0, - 0, 192, 0, 0, 0, 0, - 0, 0, 0, 0, 2, 64, - 0, 0, 0, 0, 128, 191, - 0, 0, 128, 63, 0, 0, - 0, 0, 0, 0, 0, 0, - 54, 0, 0, 5, 242, 32, - 16, 0, 1, 0, 0, 0, - 70, 30, 16, 0, 2, 0, - 0, 0, 54, 0, 0, 8, - 194, 32, 16, 0, 2, 0, - 0, 0, 2, 64, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 128, 63, 54, 0, - 0, 5, 50, 32, 16, 0, - 0, 0, 0, 0, 70, 16, - 16, 0, 1, 0, 0, 0, - 62, 0, 0, 1, 83, 84, - 65, 84, 148, 0, 0, 0, - 6, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 6, 0, 0, 0, 2, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, + 0, 0, 15, 15, 0, 0, + 80, 79, 83, 73, 84, 73, + 79, 78, 0, 84, 69, 88, + 67, 79, 79, 82, 68, 0, + 67, 79, 76, 79, 82, 0, + 79, 83, 71, 78, 108, 0, + 0, 0, 3, 0, 0, 0, + 8, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, + 3, 12, 0, 0, 89, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 15, 0, 0, 0, 95, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 15, 0, 0, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 67, 79, 76, 79, 82, + 0, 83, 86, 95, 80, 111, + 115, 105, 116, 105, 111, 110, + 0, 171, 83, 72, 69, 88, + 40, 1, 0, 0, 81, 0, + 1, 0, 74, 0, 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, + 1, 0, 0, 0, 0, 0, + 0, 0, 95, 0, 0, 3, + 50, 16, 16, 0, 0, 0, + 0, 0, 95, 0, 0, 3, + 50, 16, 16, 0, 1, 0, + 0, 0, 95, 0, 0, 3, + 242, 16, 16, 0, 2, 0, + 0, 0, 101, 0, 0, 3, + 50, 32, 16, 0, 0, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 1, 0, + 0, 0, 103, 0, 0, 4, + 242, 32, 16, 0, 2, 0, + 0, 0, 1, 0, 0, 0, + 104, 0, 0, 2, 1, 0, + 0, 0, 56, 0, 0, 9, + 50, 0, 16, 0, 0, 0, + 0, 0, 70, 16, 16, 0, + 0, 0, 0, 0, 70, 128, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 50, 0, 0, 15, + 50, 32, 16, 0, 2, 0, + 0, 0, 70, 0, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 64, + 0, 0, 0, 192, 0, 0, + 0, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 128, 191, 0, 0, 128, 63, + 0, 0, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 242, 32, 16, 0, 1, 0, + 0, 0, 70, 30, 16, 0, + 2, 0, 0, 0, 54, 0, + 0, 8, 194, 32, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 128, 63, + 54, 0, 0, 5, 50, 32, + 16, 0, 0, 0, 0, 0, + 70, 16, 16, 0, 1, 0, + 0, 0, 62, 0, 0, 1, + 83, 84, 65, 84, 148, 0, + 0, 0, 6, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 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, @@ -233,5 +232,5 @@ const BYTE immediate_vs[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0 }; diff --git a/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_bilinear_dither_ps.h b/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_bilinear_dither_ps.h index d70db5317..19e72670e 100644 --- a/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_bilinear_dither_ps.h +++ b/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_bilinear_dither_ps.h @@ -8,20 +8,25 @@ OpCapability Shader %1 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 - OpEntryPoint Fragment %5663 "main" %gl_FragCoord %5120 + OpEntryPoint Fragment %5663 "main" %gl_FragCoord %5312 OpExecutionMode %5663 OriginUpperLeft OpDecorate %gl_FragCoord BuiltIn FragCoord OpMemberDecorate %_struct_1028 0 Offset 16 OpMemberDecorate %_struct_1028 1 Offset 24 OpDecorate %_struct_1028 Block - OpDecorate %5120 Location 0 - OpDecorate %3150 DescriptorSet 0 - OpDecorate %3150 Binding 0 + OpDecorate %5312 Location 0 + OpDecorate %4448 DescriptorSet 0 + OpDecorate %4448 Binding 0 %void = OpTypeVoid %1282 = OpTypeFunction %void + %float = OpTypeFloat 32 + %v3float = OpTypeVector %float 3 %uint = OpTypeInt 32 0 %v2uint = OpTypeVector %uint 2 - %float = OpTypeFloat 32 + %float_0 = OpConstant %float 0 + %2604 = OpConstantComposite %v3float %float_0 %float_0 %float_0 + %float_1 = OpConstant %float 1 + %2582 = OpConstantComposite %v3float %float_1 %float_1 %float_1 %uint_15 = OpConstant %uint 15 %uint_256 = OpConstant %uint 256 %_arr_float_uint_256 = OpTypeArray %float %uint_256 @@ -281,7 +286,7 @@ %float_0_000819546578 = OpConstant %float 0.000819546578 %float_0_00184589461 = OpConstant %float 0.00184589461 %float_0_000467218139 = OpConstant %float 0.000467218139 - %1822 = OpConstantComposite %_arr_float_uint_256 %float_n0_00100337015 %float_0_000880821084 %float_0_00169270835 %float_n0_00155484071 %float_0_00127910543 %float_n0_000605085806 %float_0_00106464466 %float_n0_00138633582 %float_0_00135569857 %float_0_000513174047 %float_0_00121783093 %float_n0_00160079659 %float_0_00058976718 %float_n0_00028339462 %float_0_00111060054 %float_n0_00141697307 %float_0_00144761032 %float_n0_0005438113 %float_0_00013020834 %float_n0_0012025123 %float_0_000436580885 %float_n0_00104932603 %float_0_000620404433 %float_n0_000482536765 %float_0_00187653187 %float_n0_00109528191 %float_n9_95710798en05 %float_n0_000528492674 %float_0_0014322917 %float_n0_00193780637 %float_n0_000696997566 %float_3_829657en05 %float_0_000712316192 %float_n0_00130974269 %float_0_00109528191 %float_n0_000298713247 %float_0_00175398286 %float_n0_00167738972 %float_0_00147824758 %float_n3_829657en05 %float_0_000788909325 %float_n0_00183057599 %float_0_000298713247 %float_0_000988051528 %float_n0_00117187505 %float_0_00017616422 %float_0_00164675247 %float_n0_00158547796 %float_0_000344669126 %float_0_00186121324 %float_n0_00176930148 %float_n0_000865502458 %float_0_000896139711 %float_0_000160845593 %float_n0_000926776964 %float_n0_00152420346 %float_n0_000651041686 %float_0_00129442406 %float_n0_000804227951 %float_n0_00146292895 %float_0_00179993873 %float_n0_000850183831 %float_0_000850183831 %float_n0_000451899512 %float_n0_00106464466 %float_n0_000145526967 %float_0_000237438726 %float_0_00141697307 %float_n0_00058976718 %float_n0_000191482846 %float_0_00160079659 %float_0_00101868878 %float_0_000405943632 %float_n0_000206801473 %float_0_00158547796 %float_0_000651041686 %float_n6_89338267en05 %float_0_000421262259 %float_n0_00164675247 %float_0_00137101719 %float_0_000926776964 %float_n0_000666360313 %float_0_00118719367 %float_n0_00144761032 %float_0_000574448553 %float_n0_00189185049 %float_0_000758272072 %float_n0_00129442406 %float_0_00192248775 %float_n0_0016620711 %float_n0_00103400741 %float_n0_000497855421 %float_n0_00186121324 %float_0_0012025123 %float_n0_0003293505 %float_n0_00137101719 %float_0_00163143384 %float_n0_00184589461 %float_0_000727634819 %float_n0_000911458337 %float_0_00181525736 %float_n0_00114123779 %float_n0_000375306379 %float_9_95710798en05 %float_n0_000742953445 %float_0_00117187505 %float_6_89338267en05 %float_0_0014935662 %float_0_000972732843 %float_n0_000957414217 %float_0_00193780637 %float_0_000528492674 %float_5_36151965en05 %float_n0_00124846818 %float_n0_000268075994 %float_0_00153952208 %float_n7_65931418en06 %float_0_000314031873 %float_0_00134037994 %float_n0_00175398286 %float_0_000497855421 %float_n0_00118719367 %float_0_000773590698 %float_n0_00134037994 %float_0_000268075994 %float_n0_00147824758 %float_n0_00013020834 %float_n0_000773590698 %float_0_00130974269 %float_0_000390625006 %float_0_000957414217 %float_n0_000467218139 %float_n0_00153952208 %float_0_00103400741 %float_n0_000681678939 %float_0_00167738972 %float_0_00100337015 %float_n0_000421262259 %float_0_00178462011 %float_n0_000237438726 %float_n0_000620404433 %float_0_0016620711 %float_0_000834865205 %float_n0_0017233456 %float_n0_00107996329 %float_0_00176930148 %float_n0_000788909325 %float_n0_00178462011 %float_0_000681678939 %float_n0_000988051528 %float_n0_00132506131 %float_n0_00017616422 %float_n0_00150888483 %float_0_0003293505 %float_n0_001953125 %float_0_000666360313 %float_n0_00161611522 %float_0_00115655642 %float_0_000451899512 %float_n0_000436580885 %float_0_000191482846 %float_n0_0014935662 %float_0_00114123779 %float_8_42524532en05 %float_0_00189185049 %float_0_00140165444 %float_0_000559129927 %float_0_000114889706 %float_0_00126378681 %float_n0_000574448553 %float_n0_000972732843 %float_0_00132506131 %float_0_000222120099 %float_n0_000758272072 %float_n0_00135569857 %float_0_00146292895 %float_0_000865502458 %float_n0_000359987753 %float_0_0005438113 %float_n0_00112591917 %float_n0_000252757367 %float_n0_000559129927 %float_n0_00181525736 %float_0_0017233456 %float_n0_00115655642 %float_0_000742953445 %float_0_00157015934 %float_n0_000114889706 %float_n0_00121783093 %float_0_00183057599 %float_2_29779416en05 %float_n0_00192248775 %float_0_00173866423 %float_n0_000712316192 %float_0_00155484071 %float_n0_00170802698 %float_0_00123314955 %float_0_000206801473 %float_0_00104932603 %float_n0_000727634819 %float_n0_00163143384 %float_n0_000314031873 %float_0_000482536765 %float_n0_00179993873 %float_0_00094209559 %float_n0_000344669126 %float_0_000696997566 %float_n0_00101868878 %float_n0_00157015934 %float_n2_29779416en05 %float_n0_00127910543 %float_0_000804227951 %float_n0_000896139711 %float_n0_0014322917 %float_0_000605085806 %float_n8_42524532en05 %float_0_000911458337 %float_0_001953125 %float_n0_00140165444 %float_n0_00063572306 %float_0_00150888483 %float_n0_000819546578 %float_0_00124846818 %float_0_000252757367 %float_0_00152420346 %float_0_00112591917 %float_0_000359987753 %float_n0_000390625006 %float_0_00190716912 %float_0_00138633582 %float_n0_00111060054 %float_0_00161611522 %float_n0_000880821084 %float_0_000145526967 %float_0_00107996329 %float_n5_36151965en05 %float_0_00028339462 %float_n0_00169270835 %float_n0_00126378681 %float_n0_000513174047 %float_n0_000160845593 %float_n0_00187653187 %float_n0_000834865205 %float_0_00063572306 %float_7_65931418en06 %float_n0_00190716912 %float_n0_000222120099 %float_0_000375306379 %float_n0_00173866423 %float_n0_000405943632 %float_n0_00123314955 %float_0_00170802698 %float_n0_00094209559 %float_0_000819546578 %float_0_00184589461 %float_0_000467218139 + %1892 = OpConstantComposite %_arr_float_uint_256 %float_n0_00100337015 %float_0_000880821084 %float_0_00169270835 %float_n0_00155484071 %float_0_00127910543 %float_n0_000605085806 %float_0_00106464466 %float_n0_00138633582 %float_0_00135569857 %float_0_000513174047 %float_0_00121783093 %float_n0_00160079659 %float_0_00058976718 %float_n0_00028339462 %float_0_00111060054 %float_n0_00141697307 %float_0_00144761032 %float_n0_0005438113 %float_0_00013020834 %float_n0_0012025123 %float_0_000436580885 %float_n0_00104932603 %float_0_000620404433 %float_n0_000482536765 %float_0_00187653187 %float_n0_00109528191 %float_n9_95710798en05 %float_n0_000528492674 %float_0_0014322917 %float_n0_00193780637 %float_n0_000696997566 %float_3_829657en05 %float_0_000712316192 %float_n0_00130974269 %float_0_00109528191 %float_n0_000298713247 %float_0_00175398286 %float_n0_00167738972 %float_0_00147824758 %float_n3_829657en05 %float_0_000788909325 %float_n0_00183057599 %float_0_000298713247 %float_0_000988051528 %float_n0_00117187505 %float_0_00017616422 %float_0_00164675247 %float_n0_00158547796 %float_0_000344669126 %float_0_00186121324 %float_n0_00176930148 %float_n0_000865502458 %float_0_000896139711 %float_0_000160845593 %float_n0_000926776964 %float_n0_00152420346 %float_n0_000651041686 %float_0_00129442406 %float_n0_000804227951 %float_n0_00146292895 %float_0_00179993873 %float_n0_000850183831 %float_0_000850183831 %float_n0_000451899512 %float_n0_00106464466 %float_n0_000145526967 %float_0_000237438726 %float_0_00141697307 %float_n0_00058976718 %float_n0_000191482846 %float_0_00160079659 %float_0_00101868878 %float_0_000405943632 %float_n0_000206801473 %float_0_00158547796 %float_0_000651041686 %float_n6_89338267en05 %float_0_000421262259 %float_n0_00164675247 %float_0_00137101719 %float_0_000926776964 %float_n0_000666360313 %float_0_00118719367 %float_n0_00144761032 %float_0_000574448553 %float_n0_00189185049 %float_0_000758272072 %float_n0_00129442406 %float_0_00192248775 %float_n0_0016620711 %float_n0_00103400741 %float_n0_000497855421 %float_n0_00186121324 %float_0_0012025123 %float_n0_0003293505 %float_n0_00137101719 %float_0_00163143384 %float_n0_00184589461 %float_0_000727634819 %float_n0_000911458337 %float_0_00181525736 %float_n0_00114123779 %float_n0_000375306379 %float_9_95710798en05 %float_n0_000742953445 %float_0_00117187505 %float_6_89338267en05 %float_0_0014935662 %float_0_000972732843 %float_n0_000957414217 %float_0_00193780637 %float_0_000528492674 %float_5_36151965en05 %float_n0_00124846818 %float_n0_000268075994 %float_0_00153952208 %float_n7_65931418en06 %float_0_000314031873 %float_0_00134037994 %float_n0_00175398286 %float_0_000497855421 %float_n0_00118719367 %float_0_000773590698 %float_n0_00134037994 %float_0_000268075994 %float_n0_00147824758 %float_n0_00013020834 %float_n0_000773590698 %float_0_00130974269 %float_0_000390625006 %float_0_000957414217 %float_n0_000467218139 %float_n0_00153952208 %float_0_00103400741 %float_n0_000681678939 %float_0_00167738972 %float_0_00100337015 %float_n0_000421262259 %float_0_00178462011 %float_n0_000237438726 %float_n0_000620404433 %float_0_0016620711 %float_0_000834865205 %float_n0_0017233456 %float_n0_00107996329 %float_0_00176930148 %float_n0_000788909325 %float_n0_00178462011 %float_0_000681678939 %float_n0_000988051528 %float_n0_00132506131 %float_n0_00017616422 %float_n0_00150888483 %float_0_0003293505 %float_n0_001953125 %float_0_000666360313 %float_n0_00161611522 %float_0_00115655642 %float_0_000451899512 %float_n0_000436580885 %float_0_000191482846 %float_n0_0014935662 %float_0_00114123779 %float_8_42524532en05 %float_0_00189185049 %float_0_00140165444 %float_0_000559129927 %float_0_000114889706 %float_0_00126378681 %float_n0_000574448553 %float_n0_000972732843 %float_0_00132506131 %float_0_000222120099 %float_n0_000758272072 %float_n0_00135569857 %float_0_00146292895 %float_0_000865502458 %float_n0_000359987753 %float_0_0005438113 %float_n0_00112591917 %float_n0_000252757367 %float_n0_000559129927 %float_n0_00181525736 %float_0_0017233456 %float_n0_00115655642 %float_0_000742953445 %float_0_00157015934 %float_n0_000114889706 %float_n0_00121783093 %float_0_00183057599 %float_2_29779416en05 %float_n0_00192248775 %float_0_00173866423 %float_n0_000712316192 %float_0_00155484071 %float_n0_00170802698 %float_0_00123314955 %float_0_000206801473 %float_0_00104932603 %float_n0_000727634819 %float_n0_00163143384 %float_n0_000314031873 %float_0_000482536765 %float_n0_00179993873 %float_0_00094209559 %float_n0_000344669126 %float_0_000696997566 %float_n0_00101868878 %float_n0_00157015934 %float_n2_29779416en05 %float_n0_00127910543 %float_0_000804227951 %float_n0_000896139711 %float_n0_0014322917 %float_0_000605085806 %float_n8_42524532en05 %float_0_000911458337 %float_0_001953125 %float_n0_00140165444 %float_n0_00063572306 %float_0_00150888483 %float_n0_000819546578 %float_0_00124846818 %float_0_000252757367 %float_0_00152420346 %float_0_00112591917 %float_0_000359987753 %float_n0_000390625006 %float_0_00190716912 %float_0_00138633582 %float_n0_00111060054 %float_0_00161611522 %float_n0_000880821084 %float_0_000145526967 %float_0_00107996329 %float_n5_36151965en05 %float_0_00028339462 %float_n0_00169270835 %float_n0_00126378681 %float_n0_000513174047 %float_n0_000160845593 %float_n0_00187653187 %float_n0_000834865205 %float_0_00063572306 %float_7_65931418en06 %float_n0_00190716912 %float_n0_000222120099 %float_0_000375306379 %float_n0_00173866423 %float_n0_000405943632 %float_n0_00123314955 %float_0_00170802698 %float_n0_00094209559 %float_0_000819546578 %float_0_00184589461 %float_0_000467218139 %uint_1 = OpConstant %uint 1 %uint_16 = OpConstant %uint 16 %uint_0 = OpConstant %uint 0 @@ -295,25 +300,20 @@ %v2int = OpTypeVector %int 2 %_struct_1028 = OpTypeStruct %v2int %v2float %_ptr_PushConstant__struct_1028 = OpTypePointer PushConstant %_struct_1028 - %4930 = OpVariable %_ptr_PushConstant__struct_1028 PushConstant + %3052 = OpVariable %_ptr_PushConstant__struct_1028 PushConstant %int_0 = OpConstant %int 0 %_ptr_PushConstant_v2int = OpTypePointer PushConstant %v2int %_ptr_Output_v4float = OpTypePointer Output %v4float - %5120 = OpVariable %_ptr_Output_v4float Output + %5312 = OpVariable %_ptr_Output_v4float Output %151 = OpTypeImage %float 2D 0 0 0 1 Unknown %510 = OpTypeSampledImage %151 %_ptr_UniformConstant_510 = OpTypePointer UniformConstant %510 - %3150 = OpVariable %_ptr_UniformConstant_510 UniformConstant + %4448 = OpVariable %_ptr_UniformConstant_510 UniformConstant %float_0_5 = OpConstant %float 0.5 %int_1 = OpConstant %int 1 %_ptr_PushConstant_v2float = OpTypePointer PushConstant %v2float - %float_0 = OpConstant %float 0 - %v3float = OpTypeVector %float 3 %_ptr_Output_float = OpTypePointer Output %float %uint_2 = OpConstant %uint 2 - %2604 = OpConstantComposite %v3float %float_0 %float_0 %float_0 - %float_1 = OpConstant %float 1 - %2582 = OpConstantComposite %v3float %float_1 %float_1 %float_1 %uint_3 = OpConstant %uint 3 %1566 = OpConstantComposite %v2float %float_0_5 %float_0_5 %2122 = OpConstantComposite %v2uint %uint_15 %uint_15 @@ -323,34 +323,34 @@ %22087 = OpLoad %v4float %gl_FragCoord %6562 = OpVectorShuffle %v2float %22087 %22087 0 1 %17656 = OpConvertFToS %v2int %6562 - %19279 = OpAccessChain %_ptr_PushConstant_v2int %4930 %int_0 + %19279 = OpAccessChain %_ptr_PushConstant_v2int %3052 %int_0 %22822 = OpLoad %v2int %19279 %23236 = OpISub %v2int %17656 %22822 %11599 = OpBitcast %v2uint %23236 - %6899 = OpLoad %510 %3150 + %6899 = OpLoad %510 %4448 %10352 = OpConvertUToF %v2float %11599 %18354 = OpFAdd %v2float %10352 %1566 - %11863 = OpAccessChain %_ptr_PushConstant_v2float %4930 %int_1 + %11863 = OpAccessChain %_ptr_PushConstant_v2float %3052 %int_1 %20800 = OpLoad %v2float %11863 %24032 = OpFMul %v2float %18354 %20800 %11997 = OpImageSampleExplicitLod %v4float %6899 %24032 Lod %float_0 - %18957 = OpAccessChain %_ptr_Output_float %5120 %uint_0 + %18957 = OpAccessChain %_ptr_Output_float %5312 %uint_0 %17344 = OpCompositeExtract %float %11997 0 OpStore %18957 %17344 - %16378 = OpAccessChain %_ptr_Output_float %5120 %uint_1 + %16378 = OpAccessChain %_ptr_Output_float %5312 %uint_1 %15746 = OpCompositeExtract %float %11997 1 OpStore %16378 %15746 - %16379 = OpAccessChain %_ptr_Output_float %5120 %uint_2 + %16379 = OpAccessChain %_ptr_Output_float %5312 %uint_2 %15670 = OpCompositeExtract %float %11997 2 OpStore %16379 %15670 - %13957 = OpLoad %v4float %5120 + %13957 = OpLoad %v4float %5312 %16188 = OpVectorShuffle %v3float %13957 %13957 0 1 2 %24372 = OpBitwiseAnd %v2uint %11599 %2122 %9741 = OpCompositeExtract %uint %24372 1 %21498 = OpIMul %uint %9741 %uint_16 %23411 = OpCompositeExtract %uint %24372 0 %12610 = OpIAdd %uint %21498 %23411 - OpStore %18411 %1822 + OpStore %18411 %1892 %9958 = OpAccessChain %_ptr_Function_float %18411 %12610 %25140 = OpLoad %float %9958 %18028 = OpCompositeConstruct %v3float %25140 %25140 %25140 @@ -362,7 +362,7 @@ OpStore %16378 %22435 %22131 = OpCompositeExtract %float %19164 2 OpStore %16379 %22131 - %23294 = OpAccessChain %_ptr_Output_float %5120 %uint_3 + %23294 = OpAccessChain %_ptr_Output_float %5312 %uint_3 OpStore %23294 %float_1 OpReturn OpFunctionEnd @@ -372,17 +372,21 @@ const uint32_t guest_output_bilinear_dither_ps[] = { 0x07230203, 0x00010000, 0x0008000A, 0x00006235, 0x00000000, 0x00020011, 0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E, 0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0007000F, 0x00000004, - 0x0000161F, 0x6E69616D, 0x00000000, 0x00000C93, 0x00001400, 0x00030010, + 0x0000161F, 0x6E69616D, 0x00000000, 0x00000C93, 0x000014C0, 0x00030010, 0x0000161F, 0x00000007, 0x00040047, 0x00000C93, 0x0000000B, 0x0000000F, 0x00050048, 0x00000404, 0x00000000, 0x00000023, 0x00000010, 0x00050048, 0x00000404, 0x00000001, 0x00000023, 0x00000018, 0x00030047, 0x00000404, - 0x00000002, 0x00040047, 0x00001400, 0x0000001E, 0x00000000, 0x00040047, - 0x00000C4E, 0x00000022, 0x00000000, 0x00040047, 0x00000C4E, 0x00000021, + 0x00000002, 0x00040047, 0x000014C0, 0x0000001E, 0x00000000, 0x00040047, + 0x00001160, 0x00000022, 0x00000000, 0x00040047, 0x00001160, 0x00000021, 0x00000000, 0x00020013, 0x00000008, 0x00030021, 0x00000502, 0x00000008, - 0x00040015, 0x0000000B, 0x00000020, 0x00000000, 0x00040017, 0x00000011, - 0x0000000B, 0x00000002, 0x00030016, 0x0000000D, 0x00000020, 0x0004002B, + 0x00030016, 0x0000000D, 0x00000020, 0x00040017, 0x00000018, 0x0000000D, + 0x00000003, 0x00040015, 0x0000000B, 0x00000020, 0x00000000, 0x00040017, + 0x00000011, 0x0000000B, 0x00000002, 0x0004002B, 0x0000000D, 0x00000A0C, + 0x00000000, 0x0006002C, 0x00000018, 0x00000A2C, 0x00000A0C, 0x00000A0C, + 0x00000A0C, 0x0004002B, 0x0000000D, 0x0000008A, 0x3F800000, 0x0006002C, + 0x00000018, 0x00000A16, 0x0000008A, 0x0000008A, 0x0000008A, 0x0004002B, 0x0000000B, 0x00000A37, 0x0000000F, 0x0004002B, 0x0000000B, 0x00000147, - 0x00000100, 0x0004001C, 0x00000257, 0x0000000D, 0x00000147, 0x0004002B, + 0x00000100, 0x0004001C, 0x0000029D, 0x0000000D, 0x00000147, 0x0004002B, 0x0000000D, 0x0000010F, 0xBA838384, 0x0004002B, 0x0000000D, 0x00000728, 0x3A66E6E7, 0x0004002B, 0x0000000D, 0x00000705, 0x3ADDDDDE, 0x0004002B, 0x0000000D, 0x00000A5A, 0xBACBCBCC, 0x0004002B, 0x0000000D, 0x000008DF, @@ -553,7 +557,7 @@ const uint32_t guest_output_bilinear_dither_ps[] = { 0xBAA1A1A2, 0x0004002B, 0x0000000D, 0x00000842, 0x3ADFDFE0, 0x0004002B, 0x0000000D, 0x00000804, 0xBA76F6F7, 0x0004002B, 0x0000000D, 0x00000903, 0x3A56D6D7, 0x0004002B, 0x0000000D, 0x000007A4, 0x3AF1F1F2, 0x0004002B, - 0x0000000D, 0x00000482, 0x39F4F4F5, 0x0103002C, 0x00000257, 0x0000071E, + 0x0000000D, 0x00000482, 0x39F4F4F5, 0x0103002C, 0x0000029D, 0x00000764, 0x0000010F, 0x00000728, 0x00000705, 0x00000A5A, 0x000008DF, 0x00000094, 0x0000034C, 0x0000087E, 0x0000034D, 0x00000687, 0x000003EB, 0x0000024E, 0x00000726, 0x00000698, 0x00000703, 0x00000AF8, 0x00000ABB, 0x0000026F, @@ -598,56 +602,52 @@ const uint32_t guest_output_bilinear_dither_ps[] = { 0x0000003D, 0x00000A13, 0x000001B0, 0x00000AEF, 0x000007DF, 0x00000842, 0x00000804, 0x00000903, 0x000007A4, 0x00000482, 0x0004002B, 0x0000000B, 0x00000A0D, 0x00000001, 0x0004002B, 0x0000000B, 0x00000A3A, 0x00000010, - 0x0004002B, 0x0000000B, 0x00000A0A, 0x00000000, 0x00040020, 0x000004D4, - 0x00000007, 0x00000257, 0x00040020, 0x0000028A, 0x00000007, 0x0000000D, + 0x0004002B, 0x0000000B, 0x00000A0A, 0x00000000, 0x00040020, 0x0000051A, + 0x00000007, 0x0000029D, 0x00040020, 0x0000028A, 0x00000007, 0x0000000D, 0x00040017, 0x0000001D, 0x0000000D, 0x00000004, 0x00040020, 0x0000029A, 0x00000001, 0x0000001D, 0x0004003B, 0x0000029A, 0x00000C93, 0x00000001, 0x00040017, 0x00000013, 0x0000000D, 0x00000002, 0x00040015, 0x0000000C, 0x00000020, 0x00000001, 0x00040017, 0x00000012, 0x0000000C, 0x00000002, 0x0004001E, 0x00000404, 0x00000012, 0x00000013, 0x00040020, 0x00000681, - 0x00000009, 0x00000404, 0x0004003B, 0x00000681, 0x00001342, 0x00000009, + 0x00000009, 0x00000404, 0x0004003B, 0x00000681, 0x00000BEC, 0x00000009, 0x0004002B, 0x0000000C, 0x00000A0B, 0x00000000, 0x00040020, 0x0000028F, 0x00000009, 0x00000012, 0x00040020, 0x0000029B, 0x00000003, 0x0000001D, - 0x0004003B, 0x0000029B, 0x00001400, 0x00000003, 0x00090019, 0x00000097, + 0x0004003B, 0x0000029B, 0x000014C0, 0x00000003, 0x00090019, 0x00000097, 0x0000000D, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x0003001B, 0x000001FE, 0x00000097, 0x00040020, 0x0000047B, - 0x00000000, 0x000001FE, 0x0004003B, 0x0000047B, 0x00000C4E, 0x00000000, + 0x00000000, 0x000001FE, 0x0004003B, 0x0000047B, 0x00001160, 0x00000000, 0x0004002B, 0x0000000D, 0x000000FC, 0x3F000000, 0x0004002B, 0x0000000C, 0x00000A0E, 0x00000001, 0x00040020, 0x00000290, 0x00000009, 0x00000013, - 0x0004002B, 0x0000000D, 0x00000A0C, 0x00000000, 0x00040017, 0x00000018, - 0x0000000D, 0x00000003, 0x00040020, 0x0000028B, 0x00000003, 0x0000000D, - 0x0004002B, 0x0000000B, 0x00000A10, 0x00000002, 0x0006002C, 0x00000018, - 0x00000A2C, 0x00000A0C, 0x00000A0C, 0x00000A0C, 0x0004002B, 0x0000000D, - 0x0000008A, 0x3F800000, 0x0006002C, 0x00000018, 0x00000A16, 0x0000008A, - 0x0000008A, 0x0000008A, 0x0004002B, 0x0000000B, 0x00000A14, 0x00000003, + 0x00040020, 0x0000028B, 0x00000003, 0x0000000D, 0x0004002B, 0x0000000B, + 0x00000A10, 0x00000002, 0x0004002B, 0x0000000B, 0x00000A14, 0x00000003, 0x0005002C, 0x00000013, 0x0000061E, 0x000000FC, 0x000000FC, 0x0005002C, 0x00000011, 0x0000084A, 0x00000A37, 0x00000A37, 0x00050036, 0x00000008, 0x0000161F, 0x00000000, 0x00000502, 0x000200F8, 0x00006179, 0x0004003B, - 0x000004D4, 0x000047EB, 0x00000007, 0x0004003D, 0x0000001D, 0x00005647, + 0x0000051A, 0x000047EB, 0x00000007, 0x0004003D, 0x0000001D, 0x00005647, 0x00000C93, 0x0007004F, 0x00000013, 0x000019A2, 0x00005647, 0x00005647, 0x00000000, 0x00000001, 0x0004006E, 0x00000012, 0x000044F8, 0x000019A2, - 0x00050041, 0x0000028F, 0x00004B4F, 0x00001342, 0x00000A0B, 0x0004003D, + 0x00050041, 0x0000028F, 0x00004B4F, 0x00000BEC, 0x00000A0B, 0x0004003D, 0x00000012, 0x00005926, 0x00004B4F, 0x00050082, 0x00000012, 0x00005AC4, 0x000044F8, 0x00005926, 0x0004007C, 0x00000011, 0x00002D4F, 0x00005AC4, - 0x0004003D, 0x000001FE, 0x00001AF3, 0x00000C4E, 0x00040070, 0x00000013, + 0x0004003D, 0x000001FE, 0x00001AF3, 0x00001160, 0x00040070, 0x00000013, 0x00002870, 0x00002D4F, 0x00050081, 0x00000013, 0x000047B2, 0x00002870, - 0x0000061E, 0x00050041, 0x00000290, 0x00002E57, 0x00001342, 0x00000A0E, + 0x0000061E, 0x00050041, 0x00000290, 0x00002E57, 0x00000BEC, 0x00000A0E, 0x0004003D, 0x00000013, 0x00005140, 0x00002E57, 0x00050085, 0x00000013, 0x00005DE0, 0x000047B2, 0x00005140, 0x00070058, 0x0000001D, 0x00002EDD, 0x00001AF3, 0x00005DE0, 0x00000002, 0x00000A0C, 0x00050041, 0x0000028B, - 0x00004A0D, 0x00001400, 0x00000A0A, 0x00050051, 0x0000000D, 0x000043C0, + 0x00004A0D, 0x000014C0, 0x00000A0A, 0x00050051, 0x0000000D, 0x000043C0, 0x00002EDD, 0x00000000, 0x0003003E, 0x00004A0D, 0x000043C0, 0x00050041, - 0x0000028B, 0x00003FFA, 0x00001400, 0x00000A0D, 0x00050051, 0x0000000D, + 0x0000028B, 0x00003FFA, 0x000014C0, 0x00000A0D, 0x00050051, 0x0000000D, 0x00003D82, 0x00002EDD, 0x00000001, 0x0003003E, 0x00003FFA, 0x00003D82, - 0x00050041, 0x0000028B, 0x00003FFB, 0x00001400, 0x00000A10, 0x00050051, + 0x00050041, 0x0000028B, 0x00003FFB, 0x000014C0, 0x00000A10, 0x00050051, 0x0000000D, 0x00003D36, 0x00002EDD, 0x00000002, 0x0003003E, 0x00003FFB, - 0x00003D36, 0x0004003D, 0x0000001D, 0x00003685, 0x00001400, 0x0008004F, + 0x00003D36, 0x0004003D, 0x0000001D, 0x00003685, 0x000014C0, 0x0008004F, 0x00000018, 0x00003F3C, 0x00003685, 0x00003685, 0x00000000, 0x00000001, 0x00000002, 0x000500C7, 0x00000011, 0x00005F34, 0x00002D4F, 0x0000084A, 0x00050051, 0x0000000B, 0x0000260D, 0x00005F34, 0x00000001, 0x00050084, 0x0000000B, 0x000053FA, 0x0000260D, 0x00000A3A, 0x00050051, 0x0000000B, 0x00005B73, 0x00005F34, 0x00000000, 0x00050080, 0x0000000B, 0x00003142, - 0x000053FA, 0x00005B73, 0x0003003E, 0x000047EB, 0x0000071E, 0x00050041, + 0x000053FA, 0x00005B73, 0x0003003E, 0x000047EB, 0x00000764, 0x00050041, 0x0000028A, 0x000026E6, 0x000047EB, 0x00003142, 0x0004003D, 0x0000000D, 0x00006234, 0x000026E6, 0x00060050, 0x00000018, 0x0000466C, 0x00006234, 0x00006234, 0x00006234, 0x00050081, 0x00000018, 0x000053D2, 0x00003F3C, @@ -657,6 +657,6 @@ const uint32_t guest_output_bilinear_dither_ps[] = { 0x0000000D, 0x000057A3, 0x00004ADC, 0x00000001, 0x0003003E, 0x00003FFA, 0x000057A3, 0x00050051, 0x0000000D, 0x00005673, 0x00004ADC, 0x00000002, 0x0003003E, 0x00003FFB, 0x00005673, 0x00050041, 0x0000028B, 0x00005AFE, - 0x00001400, 0x00000A14, 0x0003003E, 0x00005AFE, 0x0000008A, 0x000100FD, + 0x000014C0, 0x00000A14, 0x0003003E, 0x00005AFE, 0x0000008A, 0x000100FD, 0x00010038, }; diff --git a/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_bilinear_ps.h b/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_bilinear_ps.h index dd39ecc87..22dc784cb 100644 --- a/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_bilinear_ps.h +++ b/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_bilinear_ps.h @@ -8,15 +8,15 @@ OpCapability Shader %1 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 - OpEntryPoint Fragment %5663 "main" %gl_FragCoord %5120 + OpEntryPoint Fragment %5663 "main" %gl_FragCoord %5312 OpExecutionMode %5663 OriginUpperLeft OpDecorate %gl_FragCoord BuiltIn FragCoord OpMemberDecorate %_struct_1028 0 Offset 16 OpMemberDecorate %_struct_1028 1 Offset 24 OpDecorate %_struct_1028 Block - OpDecorate %5120 Location 0 - OpDecorate %3150 DescriptorSet 0 - OpDecorate %3150 Binding 0 + OpDecorate %5312 Location 0 + OpDecorate %4448 DescriptorSet 0 + OpDecorate %4448 Binding 0 %void = OpTypeVoid %1282 = OpTypeFunction %void %uint = OpTypeInt 32 0 @@ -30,15 +30,15 @@ %v2int = OpTypeVector %int 2 %_struct_1028 = OpTypeStruct %v2int %v2float %_ptr_PushConstant__struct_1028 = OpTypePointer PushConstant %_struct_1028 - %4930 = OpVariable %_ptr_PushConstant__struct_1028 PushConstant + %3052 = OpVariable %_ptr_PushConstant__struct_1028 PushConstant %int_0 = OpConstant %int 0 %_ptr_PushConstant_v2int = OpTypePointer PushConstant %v2int %_ptr_Output_v4float = OpTypePointer Output %v4float - %5120 = OpVariable %_ptr_Output_v4float Output + %5312 = OpVariable %_ptr_Output_v4float Output %150 = OpTypeImage %float 2D 0 0 0 1 Unknown %510 = OpTypeSampledImage %150 %_ptr_UniformConstant_510 = OpTypePointer UniformConstant %510 - %3150 = OpVariable %_ptr_UniformConstant_510 UniformConstant + %4448 = OpVariable %_ptr_UniformConstant_510 UniformConstant %float_0_5 = OpConstant %float 0.5 %int_1 = OpConstant %int 1 %_ptr_PushConstant_v2float = OpTypePointer PushConstant %v2float @@ -55,27 +55,27 @@ %18571 = OpLoad %v4float %gl_FragCoord %14008 = OpVectorShuffle %v2float %18571 %18571 0 1 %17656 = OpConvertFToS %v2int %14008 - %19279 = OpAccessChain %_ptr_PushConstant_v2int %4930 %int_0 + %19279 = OpAccessChain %_ptr_PushConstant_v2int %3052 %int_0 %22822 = OpLoad %v2int %19279 %23236 = OpISub %v2int %17656 %22822 %11599 = OpBitcast %v2uint %23236 - %6899 = OpLoad %510 %3150 + %6899 = OpLoad %510 %4448 %10352 = OpConvertUToF %v2float %11599 %18354 = OpFAdd %v2float %10352 %1566 - %11863 = OpAccessChain %_ptr_PushConstant_v2float %4930 %int_1 + %11863 = OpAccessChain %_ptr_PushConstant_v2float %3052 %int_1 %20800 = OpLoad %v2float %11863 %24032 = OpFMul %v2float %18354 %20800 %11997 = OpImageSampleExplicitLod %v4float %6899 %24032 Lod %float_0 - %18957 = OpAccessChain %_ptr_Output_float %5120 %uint_0 + %18957 = OpAccessChain %_ptr_Output_float %5312 %uint_0 %17344 = OpCompositeExtract %float %11997 0 OpStore %18957 %17344 - %16378 = OpAccessChain %_ptr_Output_float %5120 %uint_1 + %16378 = OpAccessChain %_ptr_Output_float %5312 %uint_1 %15746 = OpCompositeExtract %float %11997 1 OpStore %16378 %15746 - %16379 = OpAccessChain %_ptr_Output_float %5120 %uint_2 + %16379 = OpAccessChain %_ptr_Output_float %5312 %uint_2 %15747 = OpCompositeExtract %float %11997 2 OpStore %16379 %15747 - %23294 = OpAccessChain %_ptr_Output_float %5120 %uint_3 + %23294 = OpAccessChain %_ptr_Output_float %5312 %uint_3 OpStore %23294 %float_1 OpReturn OpFunctionEnd @@ -85,12 +85,12 @@ const uint32_t guest_output_bilinear_ps[] = { 0x07230203, 0x00010000, 0x0008000A, 0x00006176, 0x00000000, 0x00020011, 0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E, 0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0007000F, 0x00000004, - 0x0000161F, 0x6E69616D, 0x00000000, 0x00000C93, 0x00001400, 0x00030010, + 0x0000161F, 0x6E69616D, 0x00000000, 0x00000C93, 0x000014C0, 0x00030010, 0x0000161F, 0x00000007, 0x00040047, 0x00000C93, 0x0000000B, 0x0000000F, 0x00050048, 0x00000404, 0x00000000, 0x00000023, 0x00000010, 0x00050048, 0x00000404, 0x00000001, 0x00000023, 0x00000018, 0x00030047, 0x00000404, - 0x00000002, 0x00040047, 0x00001400, 0x0000001E, 0x00000000, 0x00040047, - 0x00000C4E, 0x00000022, 0x00000000, 0x00040047, 0x00000C4E, 0x00000021, + 0x00000002, 0x00040047, 0x000014C0, 0x0000001E, 0x00000000, 0x00040047, + 0x00001160, 0x00000022, 0x00000000, 0x00040047, 0x00001160, 0x00000021, 0x00000000, 0x00020013, 0x00000008, 0x00030021, 0x00000502, 0x00000008, 0x00040015, 0x0000000B, 0x00000020, 0x00000000, 0x00040017, 0x00000011, 0x0000000B, 0x00000002, 0x00030016, 0x0000000D, 0x00000020, 0x00040017, @@ -99,13 +99,13 @@ const uint32_t guest_output_bilinear_ps[] = { 0x00000013, 0x0000000D, 0x00000002, 0x00040015, 0x0000000C, 0x00000020, 0x00000001, 0x00040017, 0x00000012, 0x0000000C, 0x00000002, 0x0004001E, 0x00000404, 0x00000012, 0x00000013, 0x00040020, 0x00000681, 0x00000009, - 0x00000404, 0x0004003B, 0x00000681, 0x00001342, 0x00000009, 0x0004002B, + 0x00000404, 0x0004003B, 0x00000681, 0x00000BEC, 0x00000009, 0x0004002B, 0x0000000C, 0x00000A0B, 0x00000000, 0x00040020, 0x0000028F, 0x00000009, 0x00000012, 0x00040020, 0x0000029B, 0x00000003, 0x0000001D, 0x0004003B, - 0x0000029B, 0x00001400, 0x00000003, 0x00090019, 0x00000096, 0x0000000D, + 0x0000029B, 0x000014C0, 0x00000003, 0x00090019, 0x00000096, 0x0000000D, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x0003001B, 0x000001FE, 0x00000096, 0x00040020, 0x0000047B, 0x00000000, - 0x000001FE, 0x0004003B, 0x0000047B, 0x00000C4E, 0x00000000, 0x0004002B, + 0x000001FE, 0x0004003B, 0x0000047B, 0x00001160, 0x00000000, 0x0004002B, 0x0000000D, 0x000000FC, 0x3F000000, 0x0004002B, 0x0000000C, 0x00000A0E, 0x00000001, 0x00040020, 0x00000290, 0x00000009, 0x00000013, 0x0004002B, 0x0000000D, 0x00000A0C, 0x00000000, 0x0004002B, 0x0000000B, 0x00000A0A, @@ -117,21 +117,21 @@ const uint32_t guest_output_bilinear_ps[] = { 0x00000502, 0x000200F8, 0x00006175, 0x0004003D, 0x0000001D, 0x0000488B, 0x00000C93, 0x0007004F, 0x00000013, 0x000036B8, 0x0000488B, 0x0000488B, 0x00000000, 0x00000001, 0x0004006E, 0x00000012, 0x000044F8, 0x000036B8, - 0x00050041, 0x0000028F, 0x00004B4F, 0x00001342, 0x00000A0B, 0x0004003D, + 0x00050041, 0x0000028F, 0x00004B4F, 0x00000BEC, 0x00000A0B, 0x0004003D, 0x00000012, 0x00005926, 0x00004B4F, 0x00050082, 0x00000012, 0x00005AC4, 0x000044F8, 0x00005926, 0x0004007C, 0x00000011, 0x00002D4F, 0x00005AC4, - 0x0004003D, 0x000001FE, 0x00001AF3, 0x00000C4E, 0x00040070, 0x00000013, + 0x0004003D, 0x000001FE, 0x00001AF3, 0x00001160, 0x00040070, 0x00000013, 0x00002870, 0x00002D4F, 0x00050081, 0x00000013, 0x000047B2, 0x00002870, - 0x0000061E, 0x00050041, 0x00000290, 0x00002E57, 0x00001342, 0x00000A0E, + 0x0000061E, 0x00050041, 0x00000290, 0x00002E57, 0x00000BEC, 0x00000A0E, 0x0004003D, 0x00000013, 0x00005140, 0x00002E57, 0x00050085, 0x00000013, 0x00005DE0, 0x000047B2, 0x00005140, 0x00070058, 0x0000001D, 0x00002EDD, 0x00001AF3, 0x00005DE0, 0x00000002, 0x00000A0C, 0x00050041, 0x0000028A, - 0x00004A0D, 0x00001400, 0x00000A0A, 0x00050051, 0x0000000D, 0x000043C0, + 0x00004A0D, 0x000014C0, 0x00000A0A, 0x00050051, 0x0000000D, 0x000043C0, 0x00002EDD, 0x00000000, 0x0003003E, 0x00004A0D, 0x000043C0, 0x00050041, - 0x0000028A, 0x00003FFA, 0x00001400, 0x00000A0D, 0x00050051, 0x0000000D, + 0x0000028A, 0x00003FFA, 0x000014C0, 0x00000A0D, 0x00050051, 0x0000000D, 0x00003D82, 0x00002EDD, 0x00000001, 0x0003003E, 0x00003FFA, 0x00003D82, - 0x00050041, 0x0000028A, 0x00003FFB, 0x00001400, 0x00000A10, 0x00050051, + 0x00050041, 0x0000028A, 0x00003FFB, 0x000014C0, 0x00000A10, 0x00050051, 0x0000000D, 0x00003D83, 0x00002EDD, 0x00000002, 0x0003003E, 0x00003FFB, - 0x00003D83, 0x00050041, 0x0000028A, 0x00005AFE, 0x00001400, 0x00000A13, + 0x00003D83, 0x00050041, 0x0000028A, 0x00005AFE, 0x000014C0, 0x00000A13, 0x0003003E, 0x00005AFE, 0x0000008A, 0x000100FD, 0x00010038, }; diff --git a/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_ffx_cas_resample_dither_ps.h b/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_ffx_cas_resample_dither_ps.h index b82317c12..bba7c7281 100644 --- a/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_ffx_cas_resample_dither_ps.h +++ b/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_ffx_cas_resample_dither_ps.h @@ -8,25 +8,29 @@ OpCapability Shader %1 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 - OpEntryPoint Fragment %5663 "main" %gl_FragCoord %5120 + OpEntryPoint Fragment %5663 "main" %gl_FragCoord %5334 OpExecutionMode %5663 OriginUpperLeft - OpDecorate %3150 DescriptorSet 0 - OpDecorate %3150 Binding 0 OpDecorate %gl_FragCoord BuiltIn FragCoord OpMemberDecorate %_struct_1048 0 Offset 16 OpMemberDecorate %_struct_1048 1 Offset 24 OpMemberDecorate %_struct_1048 2 Offset 32 OpDecorate %_struct_1048 Block - OpDecorate %5120 Location 0 + OpDecorate %5334 Location 0 + OpDecorate %5163 DescriptorSet 0 + OpDecorate %5163 Binding 0 %void = OpTypeVoid %1282 = OpTypeFunction %void + %float = OpTypeFloat 32 + %v3float = OpTypeVector %float 3 %uint = OpTypeInt 32 0 %v2uint = OpTypeVector %uint 2 - %float = OpTypeFloat 32 %_ptr_Function_float = OpTypePointer Function %float %int = OpTypeInt 32 1 %v2int = OpTypeVector %int 2 - %v3float = OpTypeVector %float 3 + %float_0 = OpConstant %float 0 + %2604 = OpConstantComposite %v3float %float_0 %float_0 %float_0 + %float_1 = OpConstant %float 1 + %2582 = OpConstantComposite %v3float %float_1 %float_1 %float_1 %uint_15 = OpConstant %uint 15 %uint_256 = OpConstant %uint 256 %_arr_float_uint_256 = OpTypeArray %float %uint_256 @@ -286,13 +290,30 @@ %float_0_000819546578 = OpConstant %float 0.000819546578 %float_0_00184589461 = OpConstant %float 0.00184589461 %float_0_000467218139 = OpConstant %float 0.000467218139 - %2127 = OpConstantComposite %_arr_float_uint_256 %float_n0_00100337015 %float_0_000880821084 %float_0_00169270835 %float_n0_00155484071 %float_0_00127910543 %float_n0_000605085806 %float_0_00106464466 %float_n0_00138633582 %float_0_00135569857 %float_0_000513174047 %float_0_00121783093 %float_n0_00160079659 %float_0_00058976718 %float_n0_00028339462 %float_0_00111060054 %float_n0_00141697307 %float_0_00144761032 %float_n0_0005438113 %float_0_00013020834 %float_n0_0012025123 %float_0_000436580885 %float_n0_00104932603 %float_0_000620404433 %float_n0_000482536765 %float_0_00187653187 %float_n0_00109528191 %float_n9_95710798en05 %float_n0_000528492674 %float_0_0014322917 %float_n0_00193780637 %float_n0_000696997566 %float_3_829657en05 %float_0_000712316192 %float_n0_00130974269 %float_0_00109528191 %float_n0_000298713247 %float_0_00175398286 %float_n0_00167738972 %float_0_00147824758 %float_n3_829657en05 %float_0_000788909325 %float_n0_00183057599 %float_0_000298713247 %float_0_000988051528 %float_n0_00117187505 %float_0_00017616422 %float_0_00164675247 %float_n0_00158547796 %float_0_000344669126 %float_0_00186121324 %float_n0_00176930148 %float_n0_000865502458 %float_0_000896139711 %float_0_000160845593 %float_n0_000926776964 %float_n0_00152420346 %float_n0_000651041686 %float_0_00129442406 %float_n0_000804227951 %float_n0_00146292895 %float_0_00179993873 %float_n0_000850183831 %float_0_000850183831 %float_n0_000451899512 %float_n0_00106464466 %float_n0_000145526967 %float_0_000237438726 %float_0_00141697307 %float_n0_00058976718 %float_n0_000191482846 %float_0_00160079659 %float_0_00101868878 %float_0_000405943632 %float_n0_000206801473 %float_0_00158547796 %float_0_000651041686 %float_n6_89338267en05 %float_0_000421262259 %float_n0_00164675247 %float_0_00137101719 %float_0_000926776964 %float_n0_000666360313 %float_0_00118719367 %float_n0_00144761032 %float_0_000574448553 %float_n0_00189185049 %float_0_000758272072 %float_n0_00129442406 %float_0_00192248775 %float_n0_0016620711 %float_n0_00103400741 %float_n0_000497855421 %float_n0_00186121324 %float_0_0012025123 %float_n0_0003293505 %float_n0_00137101719 %float_0_00163143384 %float_n0_00184589461 %float_0_000727634819 %float_n0_000911458337 %float_0_00181525736 %float_n0_00114123779 %float_n0_000375306379 %float_9_95710798en05 %float_n0_000742953445 %float_0_00117187505 %float_6_89338267en05 %float_0_0014935662 %float_0_000972732843 %float_n0_000957414217 %float_0_00193780637 %float_0_000528492674 %float_5_36151965en05 %float_n0_00124846818 %float_n0_000268075994 %float_0_00153952208 %float_n7_65931418en06 %float_0_000314031873 %float_0_00134037994 %float_n0_00175398286 %float_0_000497855421 %float_n0_00118719367 %float_0_000773590698 %float_n0_00134037994 %float_0_000268075994 %float_n0_00147824758 %float_n0_00013020834 %float_n0_000773590698 %float_0_00130974269 %float_0_000390625006 %float_0_000957414217 %float_n0_000467218139 %float_n0_00153952208 %float_0_00103400741 %float_n0_000681678939 %float_0_00167738972 %float_0_00100337015 %float_n0_000421262259 %float_0_00178462011 %float_n0_000237438726 %float_n0_000620404433 %float_0_0016620711 %float_0_000834865205 %float_n0_0017233456 %float_n0_00107996329 %float_0_00176930148 %float_n0_000788909325 %float_n0_00178462011 %float_0_000681678939 %float_n0_000988051528 %float_n0_00132506131 %float_n0_00017616422 %float_n0_00150888483 %float_0_0003293505 %float_n0_001953125 %float_0_000666360313 %float_n0_00161611522 %float_0_00115655642 %float_0_000451899512 %float_n0_000436580885 %float_0_000191482846 %float_n0_0014935662 %float_0_00114123779 %float_8_42524532en05 %float_0_00189185049 %float_0_00140165444 %float_0_000559129927 %float_0_000114889706 %float_0_00126378681 %float_n0_000574448553 %float_n0_000972732843 %float_0_00132506131 %float_0_000222120099 %float_n0_000758272072 %float_n0_00135569857 %float_0_00146292895 %float_0_000865502458 %float_n0_000359987753 %float_0_0005438113 %float_n0_00112591917 %float_n0_000252757367 %float_n0_000559129927 %float_n0_00181525736 %float_0_0017233456 %float_n0_00115655642 %float_0_000742953445 %float_0_00157015934 %float_n0_000114889706 %float_n0_00121783093 %float_0_00183057599 %float_2_29779416en05 %float_n0_00192248775 %float_0_00173866423 %float_n0_000712316192 %float_0_00155484071 %float_n0_00170802698 %float_0_00123314955 %float_0_000206801473 %float_0_00104932603 %float_n0_000727634819 %float_n0_00163143384 %float_n0_000314031873 %float_0_000482536765 %float_n0_00179993873 %float_0_00094209559 %float_n0_000344669126 %float_0_000696997566 %float_n0_00101868878 %float_n0_00157015934 %float_n2_29779416en05 %float_n0_00127910543 %float_0_000804227951 %float_n0_000896139711 %float_n0_0014322917 %float_0_000605085806 %float_n8_42524532en05 %float_0_000911458337 %float_0_001953125 %float_n0_00140165444 %float_n0_00063572306 %float_0_00150888483 %float_n0_000819546578 %float_0_00124846818 %float_0_000252757367 %float_0_00152420346 %float_0_00112591917 %float_0_000359987753 %float_n0_000390625006 %float_0_00190716912 %float_0_00138633582 %float_n0_00111060054 %float_0_00161611522 %float_n0_000880821084 %float_0_000145526967 %float_0_00107996329 %float_n5_36151965en05 %float_0_00028339462 %float_n0_00169270835 %float_n0_00126378681 %float_n0_000513174047 %float_n0_000160845593 %float_n0_00187653187 %float_n0_000834865205 %float_0_00063572306 %float_7_65931418en06 %float_n0_00190716912 %float_n0_000222120099 %float_0_000375306379 %float_n0_00173866423 %float_n0_000405943632 %float_n0_00123314955 %float_0_00170802698 %float_n0_00094209559 %float_0_000819546578 %float_0_00184589461 %float_0_000467218139 + %2192 = OpConstantComposite %_arr_float_uint_256 %float_n0_00100337015 %float_0_000880821084 %float_0_00169270835 %float_n0_00155484071 %float_0_00127910543 %float_n0_000605085806 %float_0_00106464466 %float_n0_00138633582 %float_0_00135569857 %float_0_000513174047 %float_0_00121783093 %float_n0_00160079659 %float_0_00058976718 %float_n0_00028339462 %float_0_00111060054 %float_n0_00141697307 %float_0_00144761032 %float_n0_0005438113 %float_0_00013020834 %float_n0_0012025123 %float_0_000436580885 %float_n0_00104932603 %float_0_000620404433 %float_n0_000482536765 %float_0_00187653187 %float_n0_00109528191 %float_n9_95710798en05 %float_n0_000528492674 %float_0_0014322917 %float_n0_00193780637 %float_n0_000696997566 %float_3_829657en05 %float_0_000712316192 %float_n0_00130974269 %float_0_00109528191 %float_n0_000298713247 %float_0_00175398286 %float_n0_00167738972 %float_0_00147824758 %float_n3_829657en05 %float_0_000788909325 %float_n0_00183057599 %float_0_000298713247 %float_0_000988051528 %float_n0_00117187505 %float_0_00017616422 %float_0_00164675247 %float_n0_00158547796 %float_0_000344669126 %float_0_00186121324 %float_n0_00176930148 %float_n0_000865502458 %float_0_000896139711 %float_0_000160845593 %float_n0_000926776964 %float_n0_00152420346 %float_n0_000651041686 %float_0_00129442406 %float_n0_000804227951 %float_n0_00146292895 %float_0_00179993873 %float_n0_000850183831 %float_0_000850183831 %float_n0_000451899512 %float_n0_00106464466 %float_n0_000145526967 %float_0_000237438726 %float_0_00141697307 %float_n0_00058976718 %float_n0_000191482846 %float_0_00160079659 %float_0_00101868878 %float_0_000405943632 %float_n0_000206801473 %float_0_00158547796 %float_0_000651041686 %float_n6_89338267en05 %float_0_000421262259 %float_n0_00164675247 %float_0_00137101719 %float_0_000926776964 %float_n0_000666360313 %float_0_00118719367 %float_n0_00144761032 %float_0_000574448553 %float_n0_00189185049 %float_0_000758272072 %float_n0_00129442406 %float_0_00192248775 %float_n0_0016620711 %float_n0_00103400741 %float_n0_000497855421 %float_n0_00186121324 %float_0_0012025123 %float_n0_0003293505 %float_n0_00137101719 %float_0_00163143384 %float_n0_00184589461 %float_0_000727634819 %float_n0_000911458337 %float_0_00181525736 %float_n0_00114123779 %float_n0_000375306379 %float_9_95710798en05 %float_n0_000742953445 %float_0_00117187505 %float_6_89338267en05 %float_0_0014935662 %float_0_000972732843 %float_n0_000957414217 %float_0_00193780637 %float_0_000528492674 %float_5_36151965en05 %float_n0_00124846818 %float_n0_000268075994 %float_0_00153952208 %float_n7_65931418en06 %float_0_000314031873 %float_0_00134037994 %float_n0_00175398286 %float_0_000497855421 %float_n0_00118719367 %float_0_000773590698 %float_n0_00134037994 %float_0_000268075994 %float_n0_00147824758 %float_n0_00013020834 %float_n0_000773590698 %float_0_00130974269 %float_0_000390625006 %float_0_000957414217 %float_n0_000467218139 %float_n0_00153952208 %float_0_00103400741 %float_n0_000681678939 %float_0_00167738972 %float_0_00100337015 %float_n0_000421262259 %float_0_00178462011 %float_n0_000237438726 %float_n0_000620404433 %float_0_0016620711 %float_0_000834865205 %float_n0_0017233456 %float_n0_00107996329 %float_0_00176930148 %float_n0_000788909325 %float_n0_00178462011 %float_0_000681678939 %float_n0_000988051528 %float_n0_00132506131 %float_n0_00017616422 %float_n0_00150888483 %float_0_0003293505 %float_n0_001953125 %float_0_000666360313 %float_n0_00161611522 %float_0_00115655642 %float_0_000451899512 %float_n0_000436580885 %float_0_000191482846 %float_n0_0014935662 %float_0_00114123779 %float_8_42524532en05 %float_0_00189185049 %float_0_00140165444 %float_0_000559129927 %float_0_000114889706 %float_0_00126378681 %float_n0_000574448553 %float_n0_000972732843 %float_0_00132506131 %float_0_000222120099 %float_n0_000758272072 %float_n0_00135569857 %float_0_00146292895 %float_0_000865502458 %float_n0_000359987753 %float_0_0005438113 %float_n0_00112591917 %float_n0_000252757367 %float_n0_000559129927 %float_n0_00181525736 %float_0_0017233456 %float_n0_00115655642 %float_0_000742953445 %float_0_00157015934 %float_n0_000114889706 %float_n0_00121783093 %float_0_00183057599 %float_2_29779416en05 %float_n0_00192248775 %float_0_00173866423 %float_n0_000712316192 %float_0_00155484071 %float_n0_00170802698 %float_0_00123314955 %float_0_000206801473 %float_0_00104932603 %float_n0_000727634819 %float_n0_00163143384 %float_n0_000314031873 %float_0_000482536765 %float_n0_00179993873 %float_0_00094209559 %float_n0_000344669126 %float_0_000696997566 %float_n0_00101868878 %float_n0_00157015934 %float_n2_29779416en05 %float_n0_00127910543 %float_0_000804227951 %float_n0_000896139711 %float_n0_0014322917 %float_0_000605085806 %float_n8_42524532en05 %float_0_000911458337 %float_0_001953125 %float_n0_00140165444 %float_n0_00063572306 %float_0_00150888483 %float_n0_000819546578 %float_0_00124846818 %float_0_000252757367 %float_0_00152420346 %float_0_00112591917 %float_0_000359987753 %float_n0_000390625006 %float_0_00190716912 %float_0_00138633582 %float_n0_00111060054 %float_0_00161611522 %float_n0_000880821084 %float_0_000145526967 %float_0_00107996329 %float_n5_36151965en05 %float_0_00028339462 %float_n0_00169270835 %float_n0_00126378681 %float_n0_000513174047 %float_n0_000160845593 %float_n0_00187653187 %float_n0_000834865205 %float_0_00063572306 %float_7_65931418en06 %float_n0_00190716912 %float_n0_000222120099 %float_0_000375306379 %float_n0_00173866423 %float_n0_000405943632 %float_n0_00123314955 %float_0_00170802698 %float_n0_00094209559 %float_0_000819546578 %float_0_00184589461 %float_0_000467218139 %uint_1 = OpConstant %uint 1 %uint_16 = OpConstant %uint 16 %uint_0 = OpConstant %uint 0 %_ptr_Function__arr_float_uint_256 = OpTypePointer Function %_arr_float_uint_256 - %float_0 = OpConstant %float 0 - %float_1 = OpConstant %float 1 + %v4float = OpTypeVector %float 4 +%_ptr_Input_v4float = OpTypePointer Input %v4float +%gl_FragCoord = OpVariable %_ptr_Input_v4float Input + %v2float = OpTypeVector %float 2 +%_struct_1048 = OpTypeStruct %v2int %v2float %float +%_ptr_PushConstant__struct_1048 = OpTypePointer PushConstant %_struct_1048 + %3052 = OpVariable %_ptr_PushConstant__struct_1048 PushConstant + %int_0 = OpConstant %int 0 +%_ptr_PushConstant_v2int = OpTypePointer PushConstant %v2int + %int_1 = OpConstant %int 1 +%_ptr_PushConstant_v2float = OpTypePointer PushConstant %v2float + %float_0_5 = OpConstant %float 0.5 + %int_2 = OpConstant %int 2 +%_ptr_PushConstant_float = OpTypePointer PushConstant %float +%_ptr_Output_v4float = OpTypePointer Output %v4float + %5334 = OpVariable %_ptr_Output_v4float Output +%_ptr_Output_float = OpTypePointer Output %float + %uint_2 = OpConstant %uint 2 + %uint_3 = OpConstant %uint 3 %uint_532432441 = OpConstant %uint 532432441 %uint_2129690299 = OpConstant %uint 2129690299 %uint_2129764351 = OpConstant %uint 2129764351 @@ -300,41 +321,20 @@ %151 = OpTypeImage %float 2D 0 0 0 1 Unknown %510 = OpTypeSampledImage %151 %_ptr_UniformConstant_510 = OpTypePointer UniformConstant %510 - %3150 = OpVariable %_ptr_UniformConstant_510 UniformConstant - %int_0 = OpConstant %int 0 - %v4float = OpTypeVector %float 4 + %5163 = OpVariable %_ptr_UniformConstant_510 UniformConstant %int_n1 = OpConstant %int -1 %1803 = OpConstantComposite %v2int %int_0 %int_n1 - %int_1 = OpConstant %int 1 %1812 = OpConstantComposite %v2int %int_1 %int_n1 %1806 = OpConstantComposite %v2int %int_n1 %int_0 %1824 = OpConstantComposite %v2int %int_1 %int_0 %1818 = OpConstantComposite %v2int %int_n1 %int_1 %1827 = OpConstantComposite %v2int %int_0 %int_1 %1836 = OpConstantComposite %v2int %int_1 %int_1 - %uint_2 = OpConstant %uint 2 - %v2float = OpTypeVector %float 2 - %int_2 = OpConstant %int 2 %1833 = OpConstantComposite %v2int %int_2 %int_0 %1839 = OpConstantComposite %v2int %int_0 %int_2 %1845 = OpConstantComposite %v2int %int_2 %int_1 %1848 = OpConstantComposite %v2int %int_1 %int_2 %float_0_03125 = OpConstant %float 0.03125 -%_ptr_Input_v4float = OpTypePointer Input %v4float -%gl_FragCoord = OpVariable %_ptr_Input_v4float Input -%_struct_1048 = OpTypeStruct %v2int %v2float %float -%_ptr_PushConstant__struct_1048 = OpTypePointer PushConstant %_struct_1048 - %4930 = OpVariable %_ptr_PushConstant__struct_1048 PushConstant -%_ptr_PushConstant_v2int = OpTypePointer PushConstant %v2int -%_ptr_PushConstant_v2float = OpTypePointer PushConstant %v2float - %float_0_5 = OpConstant %float 0.5 -%_ptr_PushConstant_float = OpTypePointer PushConstant %float -%_ptr_Output_v4float = OpTypePointer Output %v4float - %5120 = OpVariable %_ptr_Output_v4float Output -%_ptr_Output_float = OpTypePointer Output %float - %2604 = OpConstantComposite %v3float %float_0 %float_0 %float_0 - %2582 = OpConstantComposite %v3float %float_1 %float_1 %float_1 - %uint_3 = OpConstant %uint 3 %1566 = OpConstantComposite %v2float %float_0_5 %float_0_5 %2122 = OpConstantComposite %v2uint %uint_15 %uint_15 %5663 = OpFunction %void None %1282 @@ -343,17 +343,17 @@ %22087 = OpLoad %v4float %gl_FragCoord %6562 = OpVectorShuffle %v2float %22087 %22087 0 1 %17656 = OpConvertFToS %v2int %6562 - %19279 = OpAccessChain %_ptr_PushConstant_v2int %4930 %int_0 + %19279 = OpAccessChain %_ptr_PushConstant_v2int %3052 %int_0 %22822 = OpLoad %v2int %19279 %23312 = OpISub %v2int %17656 %22822 %9938 = OpBitcast %v2uint %23312 - %20997 = OpAccessChain %_ptr_PushConstant_v2float %4930 %int_1 + %20997 = OpAccessChain %_ptr_PushConstant_v2float %3052 %int_1 %22579 = OpLoad %v2float %20997 %13397 = OpBitcast %v2uint %22579 %12762 = OpVectorTimesScalar %v2float %22579 %float_0_5 %24291 = OpFSub %v2float %12762 %1566 %20131 = OpBitcast %v2uint %24291 - %18575 = OpAccessChain %_ptr_PushConstant_float %4930 %int_2 + %18575 = OpAccessChain %_ptr_PushConstant_float %3052 %int_2 %22009 = OpLoad %float %18575 %18454 = OpBitcast %uint %22009 %12011 = OpConvertUToF %v2float %9938 @@ -365,7 +365,7 @@ %16290 = OpFSub %v2float %24878 %12719 %17064 = OpConvertFToS %v2int %12719 %20663 = OpIAdd %v2int %17064 %1803 - %16731 = OpLoad %510 %3150 + %16731 = OpLoad %510 %5163 %23618 = OpImage %151 %16731 %16595 = OpImageFetch %v4float %23618 %20663 Lod %int_0 %15454 = OpIAdd %v2int %17064 %1806 @@ -682,13 +682,13 @@ %15975 = OpFAdd %float %18176 %9469 %6921 = OpFMul %float %15975 %9442 %24941 = OpExtInst %float %1 FClamp %6921 %float_0 %float_1 - %20577 = OpAccessChain %_ptr_Output_float %5120 %uint_0 + %20577 = OpAccessChain %_ptr_Output_float %5334 %uint_0 OpStore %20577 %15218 - %19732 = OpAccessChain %_ptr_Output_float %5120 %uint_1 + %19732 = OpAccessChain %_ptr_Output_float %5334 %uint_1 OpStore %19732 %15219 - %19656 = OpAccessChain %_ptr_Output_float %5120 %uint_2 + %19656 = OpAccessChain %_ptr_Output_float %5334 %uint_2 OpStore %19656 %24941 - %10445 = OpLoad %v4float %5120 + %10445 = OpLoad %v4float %5334 %9111 = OpVectorShuffle %v3float %10445 %10445 0 1 2 %17911 = OpExtInst %v3float %1 Sqrt %9111 %7131 = OpCompositeExtract %float %17911 0 @@ -697,14 +697,14 @@ OpStore %19732 %22435 %22055 = OpCompositeExtract %float %17911 2 OpStore %19656 %22055 - %13957 = OpLoad %v4float %5120 + %13957 = OpLoad %v4float %5334 %16195 = OpVectorShuffle %v3float %13957 %13957 0 1 2 %24372 = OpBitwiseAnd %v2uint %9938 %2122 %9741 = OpCompositeExtract %uint %24372 1 %21498 = OpIMul %uint %9741 %uint_16 %23411 = OpCompositeExtract %uint %24372 0 %12610 = OpIAdd %uint %21498 %23411 - OpStore %18411 %2127 + OpStore %18411 %2192 %9958 = OpAccessChain %_ptr_Function_float %18411 %12610 %25140 = OpLoad %float %9958 %18028 = OpCompositeConstruct %v3float %25140 %25140 %25140 @@ -716,7 +716,7 @@ OpStore %19732 %22436 %22131 = OpCompositeExtract %float %19164 2 OpStore %19656 %22131 - %23294 = OpAccessChain %_ptr_Output_float %5120 %uint_3 + %23294 = OpAccessChain %_ptr_Output_float %5334 %uint_3 OpStore %23294 %float_1 OpReturn OpFunctionEnd @@ -726,284 +726,284 @@ const uint32_t guest_output_ffx_cas_resample_dither_ps[] = { 0x07230203, 0x00010000, 0x0008000A, 0x0000627D, 0x00000000, 0x00020011, 0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E, 0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0007000F, 0x00000004, - 0x0000161F, 0x6E69616D, 0x00000000, 0x00000C93, 0x00001400, 0x00030010, - 0x0000161F, 0x00000007, 0x00040047, 0x00000C4E, 0x00000022, 0x00000000, - 0x00040047, 0x00000C4E, 0x00000021, 0x00000000, 0x00040047, 0x00000C93, - 0x0000000B, 0x0000000F, 0x00050048, 0x00000418, 0x00000000, 0x00000023, - 0x00000010, 0x00050048, 0x00000418, 0x00000001, 0x00000023, 0x00000018, - 0x00050048, 0x00000418, 0x00000002, 0x00000023, 0x00000020, 0x00030047, - 0x00000418, 0x00000002, 0x00040047, 0x00001400, 0x0000001E, 0x00000000, - 0x00020013, 0x00000008, 0x00030021, 0x00000502, 0x00000008, 0x00040015, - 0x0000000B, 0x00000020, 0x00000000, 0x00040017, 0x00000011, 0x0000000B, - 0x00000002, 0x00030016, 0x0000000D, 0x00000020, 0x00040020, 0x0000028A, - 0x00000007, 0x0000000D, 0x00040015, 0x0000000C, 0x00000020, 0x00000001, - 0x00040017, 0x00000012, 0x0000000C, 0x00000002, 0x00040017, 0x00000018, - 0x0000000D, 0x00000003, 0x0004002B, 0x0000000B, 0x00000A37, 0x0000000F, - 0x0004002B, 0x0000000B, 0x00000147, 0x00000100, 0x0004001C, 0x00000388, - 0x0000000D, 0x00000147, 0x0004002B, 0x0000000D, 0x0000010F, 0xBA838384, - 0x0004002B, 0x0000000D, 0x00000728, 0x3A66E6E7, 0x0004002B, 0x0000000D, - 0x00000705, 0x3ADDDDDE, 0x0004002B, 0x0000000D, 0x00000A5A, 0xBACBCBCC, - 0x0004002B, 0x0000000D, 0x000008DF, 0x3AA7A7A8, 0x0004002B, 0x0000000D, - 0x00000094, 0xBA1E9E9F, 0x0004002B, 0x0000000D, 0x0000034C, 0x3A8B8B8C, - 0x0004002B, 0x0000000D, 0x0000087E, 0xBAB5B5B6, 0x0004002B, 0x0000000D, - 0x0000034D, 0x3AB1B1B2, 0x0004002B, 0x0000000D, 0x00000687, 0x3A068687, - 0x0004002B, 0x0000000D, 0x000003EB, 0x3A9F9FA0, 0x0004002B, 0x0000000D, - 0x0000024E, 0xBAD1D1D2, 0x0004002B, 0x0000000D, 0x00000726, 0x3A1A9A9B, - 0x0004002B, 0x0000000D, 0x00000698, 0xB9949495, 0x0004002B, 0x0000000D, - 0x00000703, 0x3A919192, 0x0004002B, 0x0000000D, 0x00000AF8, 0xBAB9B9BA, - 0x0004002B, 0x0000000D, 0x00000ABB, 0x3ABDBDBE, 0x0004002B, 0x0000000D, - 0x0000026F, 0xBA0E8E8F, 0x0004002B, 0x0000000D, 0x000008A8, 0x39088889, - 0x0004002B, 0x0000000D, 0x00000565, 0xBA9D9D9E, 0x0004002B, 0x0000000D, - 0x0000065D, 0x39E4E4E5, 0x0004002B, 0x0000000D, 0x000004C6, 0xBA89898A, - 0x0004002B, 0x0000000D, 0x00000057, 0x3A22A2A3, 0x0004002B, 0x0000000D, - 0x0000006A, 0xB9FCFCFD, 0x0004002B, 0x0000000D, 0x00000A1E, 0x3AF5F5F6, - 0x0004002B, 0x0000000D, 0x0000087D, 0xBA8F8F90, 0x0004002B, 0x0000000D, - 0x00000959, 0xB8D0D0D1, 0x0004002B, 0x0000000D, 0x00000BB8, 0xBA0A8A8B, - 0x0004002B, 0x0000000D, 0x0000097E, 0x3ABBBBBC, 0x0004002B, 0x0000000D, - 0x00000606, 0xBAFDFDFE, 0x0004002B, 0x0000000D, 0x000003AD, 0xBA36B6B7, - 0x0004002B, 0x0000000D, 0x000000E2, 0x3820A0A1, 0x0004002B, 0x0000000D, - 0x00000370, 0x3A3ABABB, 0x0004002B, 0x0000000D, 0x0000024D, 0xBAABABAC, - 0x0004002B, 0x0000000D, 0x000005C6, 0x3A8F8F90, 0x0004002B, 0x0000000D, - 0x00000B8C, 0xB99C9C9D, 0x0004002B, 0x0000000D, 0x00000036, 0x3AE5E5E6, - 0x0004002B, 0x0000000D, 0x0000087F, 0xBADBDBDC, 0x0004002B, 0x0000000D, - 0x00000172, 0x3AC1C1C2, 0x0004002B, 0x0000000D, 0x00000399, 0xB820A0A1, - 0x0004002B, 0x0000000D, 0x0000040F, 0x3A4ECECF, 0x0004002B, 0x0000000D, - 0x0000091E, 0xBAEFEFF0, 0x0004002B, 0x0000000D, 0x000008D5, 0x399C9C9D, - 0x0004002B, 0x0000000D, 0x000008DE, 0x3A818182, 0x0004002B, 0x0000000D, - 0x000002EB, 0xBA99999A, 0x0004002B, 0x0000000D, 0x00000317, 0x3938B8B9, - 0x0004002B, 0x0000000D, 0x0000034E, 0x3AD7D7D8, 0x0004002B, 0x0000000D, - 0x00000111, 0xBACFCFD0, 0x0004002B, 0x0000000D, 0x0000002B, 0x39B4B4B5, - 0x0004002B, 0x0000000D, 0x000008E1, 0x3AF3F3F4, 0x0004002B, 0x0000000D, - 0x0000042A, 0xBAE7E7E8, 0x0004002B, 0x0000000D, 0x00000765, 0xBA62E2E3, - 0x0004002B, 0x0000000D, 0x000009A2, 0x3A6AEAEB, 0x0004002B, 0x0000000D, - 0x000004F2, 0x3928A8A9, 0x0004002B, 0x0000000D, 0x0000058A, 0xBA72F2F3, - 0x0004002B, 0x0000000D, 0x000007E0, 0xBAC7C7C8, 0x0004002B, 0x0000000D, - 0x00000802, 0xBA2AAAAB, 0x0004002B, 0x0000000D, 0x00000A1C, 0x3AA9A9AA, - 0x0004002B, 0x0000000D, 0x00000940, 0xBA52D2D3, 0x0004002B, 0x0000000D, - 0x000002EC, 0xBABFBFC0, 0x0004002B, 0x0000000D, 0x000003ED, 0x3AEBEBEC, - 0x0004002B, 0x0000000D, 0x000004EB, 0xBA5EDEDF, 0x0004002B, 0x0000000D, - 0x00000234, 0x3A5EDEDF, 0x0004002B, 0x0000000D, 0x00000245, 0xB9ECECED, - 0x0004002B, 0x0000000D, 0x00000603, 0xBA8B8B8C, 0x0004002B, 0x0000000D, - 0x00000984, 0xB9189899, 0x0004002B, 0x0000000D, 0x0000076E, 0x3978F8F9, - 0x0004002B, 0x0000000D, 0x00000841, 0x3AB9B9BA, 0x0004002B, 0x0000000D, - 0x000009DD, 0xBA1A9A9B, 0x0004002B, 0x0000000D, 0x000003F3, 0xB948C8C9, - 0x0004002B, 0x0000000D, 0x00000B5A, 0x3AD1D1D2, 0x0004002B, 0x0000000D, - 0x00000B58, 0x3A858586, 0x0004002B, 0x0000000D, 0x00000838, 0x39D4D4D5, - 0x0004002B, 0x0000000D, 0x00000218, 0xB958D8D9, 0x0004002B, 0x0000000D, - 0x00000A1D, 0x3ACFCFD0, 0x0004002B, 0x0000000D, 0x0000054B, 0x3A2AAAAB, - 0x0004002B, 0x0000000D, 0x00000503, 0xB8909091, 0x0004002B, 0x0000000D, - 0x00000169, 0x39DCDCDD, 0x0004002B, 0x0000000D, 0x00000605, 0xBAD7D7D8, - 0x0004002B, 0x0000000D, 0x0000048A, 0x3AB3B3B4, 0x0004002B, 0x0000000D, - 0x000002D3, 0x3A72F2F3, 0x0004002B, 0x0000000D, 0x00000A7C, 0xBA2EAEAF, - 0x0004002B, 0x0000000D, 0x00000171, 0x3A9B9B9C, 0x0004002B, 0x0000000D, - 0x000001AF, 0xBABDBDBE, 0x0004002B, 0x0000000D, 0x000004AC, 0x3A169697, - 0x0004002B, 0x0000000D, 0x0000024F, 0xBAF7F7F8, 0x0004002B, 0x0000000D, - 0x00000ADE, 0x3A46C6C7, 0x0004002B, 0x0000000D, 0x00000110, 0xBAA9A9AA, - 0x0004002B, 0x0000000D, 0x00000212, 0x3AFBFBFC, 0x0004002B, 0x0000000D, - 0x00000742, 0xBAD9D9DA, 0x0004002B, 0x0000000D, 0x00000389, 0xBA878788, - 0x0004002B, 0x0000000D, 0x000006C4, 0xBA028283, 0x0004002B, 0x0000000D, - 0x00000B98, 0xBAF3F3F4, 0x0004002B, 0x0000000D, 0x000002AE, 0x3A9D9D9E, - 0x0004002B, 0x0000000D, 0x000009B1, 0xB9ACACAD, 0x0004002B, 0x0000000D, - 0x00000741, 0xBAB3B3B4, 0x0004002B, 0x0000000D, 0x00000211, 0x3AD5D5D6, - 0x0004002B, 0x0000000D, 0x00000A5B, 0xBAF1F1F2, 0x0004002B, 0x0000000D, - 0x000005EA, 0x3A3EBEBF, 0x0004002B, 0x0000000D, 0x00000310, 0xBA6EEEEF, - 0x0004002B, 0x0000000D, 0x0000052A, 0x3AEDEDEE, 0x0004002B, 0x0000000D, - 0x00000071, 0xBA959596, 0x0004002B, 0x0000000D, 0x00000107, 0xB9C4C4C5, - 0x0004002B, 0x0000000D, 0x000006A2, 0x38D0D0D1, 0x0004002B, 0x0000000D, - 0x00000B1B, 0xBA42C2C3, 0x0004002B, 0x0000000D, 0x00000034, 0x3A99999A, - 0x0004002B, 0x0000000D, 0x0000024B, 0x38909091, 0x0004002B, 0x0000000D, - 0x000002AF, 0x3AC3C3C4, 0x0004002B, 0x0000000D, 0x00000A41, 0x3A7EFEFF, - 0x0004002B, 0x0000000D, 0x00000A7E, 0xBA7AFAFB, 0x0004002B, 0x0000000D, - 0x0000034F, 0x3AFDFDFE, 0x0004002B, 0x0000000D, 0x00000901, 0x3A0A8A8B, - 0x0004002B, 0x0000000D, 0x00000539, 0x3860E0E1, 0x0004002B, 0x0000000D, - 0x0000091C, 0xBAA3A3A4, 0x0004002B, 0x0000000D, 0x000001A4, 0xB98C8C8D, - 0x0004002B, 0x0000000D, 0x00000666, 0x3AC9C9CA, 0x0004002B, 0x0000000D, - 0x00000833, 0xB7008081, 0x0004002B, 0x0000000D, 0x00000206, 0x39A4A4A5, - 0x0004002B, 0x0000000D, 0x00000210, 0x3AAFAFB0, 0x0004002B, 0x0000000D, - 0x000002ED, 0xBAE5E5E6, 0x0004002B, 0x0000000D, 0x0000040D, 0x3A028283, - 0x0004002B, 0x0000000D, 0x00000428, 0xBA9B9B9C, 0x0004002B, 0x0000000D, - 0x00000195, 0x3A4ACACB, 0x0004002B, 0x0000000D, 0x000004C7, 0xBAAFAFB0, - 0x0004002B, 0x0000000D, 0x00000AB0, 0x398C8C8D, 0x0004002B, 0x0000000D, - 0x00000429, 0xBAC1C1C2, 0x0004002B, 0x0000000D, 0x00000B5F, 0xB9088889, - 0x0004002B, 0x0000000D, 0x0000044C, 0xBA4ACACB, 0x0004002B, 0x0000000D, - 0x00000B59, 0x3AABABAC, 0x0004002B, 0x0000000D, 0x00000344, 0x39CCCCCD, - 0x0004002B, 0x0000000D, 0x000007C7, 0x3A7AFAFB, 0x0004002B, 0x0000000D, - 0x00000739, 0xB9F4F4F5, 0x0004002B, 0x0000000D, 0x0000091D, 0xBAC9C9CA, - 0x0004002B, 0x0000000D, 0x000000D2, 0x3A878788, 0x0004002B, 0x0000000D, - 0x00000133, 0xBA32B2B3, 0x0004002B, 0x0000000D, 0x000005C8, 0x3ADBDBDC, - 0x0004002B, 0x0000000D, 0x00000A1B, 0x3A838384, 0x0004002B, 0x0000000D, - 0x00000420, 0xB9DCDCDD, 0x0004002B, 0x0000000D, 0x000002B0, 0x3AE9E9EA, - 0x0004002B, 0x0000000D, 0x00000A25, 0xB978F8F9, 0x0004002B, 0x0000000D, - 0x0000030E, 0xBA22A2A3, 0x0004002B, 0x0000000D, 0x0000048B, 0x3AD9D9DA, - 0x0004002B, 0x0000000D, 0x00000B7D, 0x3A5ADADB, 0x0004002B, 0x0000000D, - 0x00000073, 0xBAE1E1E2, 0x0004002B, 0x0000000D, 0x00000740, 0xBA8D8D8E, - 0x0004002B, 0x0000000D, 0x00000173, 0x3AE7E7E8, 0x0004002B, 0x0000000D, - 0x000006C6, 0xBA4ECECF, 0x0004002B, 0x0000000D, 0x00000567, 0xBAE9E9EA, - 0x0004002B, 0x0000000D, 0x00000A3F, 0x3A32B2B3, 0x0004002B, 0x0000000D, - 0x00000B95, 0xBA818182, 0x0004002B, 0x0000000D, 0x0000038A, 0xBAADADAE, - 0x0004002B, 0x0000000D, 0x000005CE, 0xB938B8B9, 0x0004002B, 0x0000000D, - 0x000006A3, 0xBAC5C5C6, 0x0004002B, 0x0000000D, 0x000006FA, 0x39ACACAD, - 0x0004002B, 0x0000000D, 0x00000743, 0xBB000000, 0x0004002B, 0x0000000D, - 0x000007C5, 0x3A2EAEAF, 0x0004002B, 0x0000000D, 0x0000038B, 0xBAD3D3D4, - 0x0004002B, 0x0000000D, 0x00000ABA, 0x3A979798, 0x0004002B, 0x0000000D, - 0x00000B51, 0x39ECECED, 0x0004002B, 0x0000000D, 0x00000914, 0xB9E4E4E5, - 0x0004002B, 0x0000000D, 0x0000013C, 0x3948C8C9, 0x0004002B, 0x0000000D, - 0x00000566, 0xBAC3C3C4, 0x0004002B, 0x0000000D, 0x0000097D, 0x3A959596, - 0x0004002B, 0x0000000D, 0x00000A58, 0x38B0B0B1, 0x0004002B, 0x0000000D, - 0x00000B5B, 0x3AF7F7F8, 0x0004002B, 0x0000000D, 0x00000704, 0x3AB7B7B8, - 0x0004002B, 0x0000000D, 0x00000232, 0x3A129293, 0x0004002B, 0x0000000D, - 0x000002EE, 0x38F0F0F1, 0x0004002B, 0x0000000D, 0x000007A2, 0x3AA5A5A6, - 0x0004002B, 0x0000000D, 0x00000763, 0xBA169697, 0x0004002B, 0x0000000D, - 0x00000135, 0xBA7EFEFF, 0x0004002B, 0x0000000D, 0x000000D3, 0x3AADADAE, - 0x0004002B, 0x0000000D, 0x00000949, 0x3968E8E9, 0x0004002B, 0x0000000D, - 0x000001D2, 0xBA46C6C7, 0x0004002B, 0x0000000D, 0x00000604, 0xBAB1B1B2, - 0x0004002B, 0x0000000D, 0x00000035, 0x3ABFBFC0, 0x0004002B, 0x0000000D, - 0x000004AE, 0x3A62E2E3, 0x0004002B, 0x0000000D, 0x000007D6, 0xB9BCBCBD, - 0x0004002B, 0x0000000D, 0x00000B7B, 0x3A0E8E8F, 0x0004002B, 0x0000000D, - 0x00000AF7, 0xBA939394, 0x0004002B, 0x0000000D, 0x00000873, 0xB9848485, - 0x0004002B, 0x0000000D, 0x000004E9, 0xBA129293, 0x0004002B, 0x0000000D, - 0x000007E1, 0xBAEDEDEE, 0x0004002B, 0x0000000D, 0x0000097F, 0x3AE1E1E2, - 0x0004002B, 0x0000000D, 0x000001AE, 0xBA979798, 0x0004002B, 0x0000000D, - 0x00000864, 0x3A42C2C3, 0x0004002B, 0x0000000D, 0x000008E0, 0x3ACDCDCE, - 0x0004002B, 0x0000000D, 0x000005A3, 0xB8F0F0F1, 0x0004002B, 0x0000000D, - 0x000006A4, 0xBA9F9FA0, 0x0004002B, 0x0000000D, 0x00000667, 0x3AEFEFF0, - 0x0004002B, 0x0000000D, 0x00000961, 0x37C0C0C1, 0x0004002B, 0x0000000D, - 0x000004C9, 0xBAFBFBFC, 0x0004002B, 0x0000000D, 0x00000ABC, 0x3AE3E3E4, - 0x0004002B, 0x0000000D, 0x00000627, 0xBA3ABABB, 0x0004002B, 0x0000000D, - 0x000007A3, 0x3ACBCBCC, 0x0004002B, 0x0000000D, 0x00000AF9, 0xBADFDFE0, - 0x0004002B, 0x0000000D, 0x00000528, 0x3AA1A1A2, 0x0004002B, 0x0000000D, - 0x00000B24, 0x3958D8D9, 0x0004002B, 0x0000000D, 0x0000020F, 0x3A89898A, - 0x0004002B, 0x0000000D, 0x000008A1, 0xBA3EBEBF, 0x0004002B, 0x0000000D, - 0x000004C8, 0xBAD5D5D6, 0x0004002B, 0x0000000D, 0x000004BD, 0xB9A4A4A5, - 0x0004002B, 0x0000000D, 0x00000976, 0x39FCFCFD, 0x0004002B, 0x0000000D, - 0x000006A5, 0xBAEBEBEC, 0x0004002B, 0x0000000D, 0x0000054D, 0x3A76F6F7, - 0x0004002B, 0x0000000D, 0x000002E2, 0xB9B4B4B5, 0x0004002B, 0x0000000D, - 0x000000F6, 0x3A36B6B7, 0x0004002B, 0x0000000D, 0x0000024C, 0xBA858586, - 0x0004002B, 0x0000000D, 0x00000B97, 0xBACDCDCE, 0x0004002B, 0x0000000D, - 0x00000055, 0xB7C0C0C1, 0x0004002B, 0x0000000D, 0x00000B96, 0xBAA7A7A8, - 0x0004002B, 0x0000000D, 0x00000689, 0x3A52D2D3, 0x0004002B, 0x0000000D, - 0x00000096, 0xBA6AEAEB, 0x0004002B, 0x0000000D, 0x00000072, 0xBABBBBBC, - 0x0004002B, 0x0000000D, 0x000009A0, 0x3A1E9E9F, 0x0004002B, 0x0000000D, - 0x0000014C, 0xB8B0B0B1, 0x0004002B, 0x0000000D, 0x00000059, 0x3A6EEEEF, - 0x0004002B, 0x0000000D, 0x0000048C, 0x3B000000, 0x0004002B, 0x0000000D, - 0x000009BB, 0xBAB7B7B8, 0x0004002B, 0x0000000D, 0x00000588, 0xBA26A6A7, - 0x0004002B, 0x0000000D, 0x000003EC, 0x3AC5C5C6, 0x0004002B, 0x0000000D, - 0x00000BBA, 0xBA56D6D7, 0x0004002B, 0x0000000D, 0x00000665, 0x3AA3A3A4, - 0x0004002B, 0x0000000D, 0x000005BC, 0x39848485, 0x0004002B, 0x0000000D, - 0x00000529, 0x3AC7C7C8, 0x0004002B, 0x0000000D, 0x00000840, 0x3A939394, - 0x0004002B, 0x0000000D, 0x0000051F, 0x39BCBCBD, 0x0004002B, 0x0000000D, - 0x000005FB, 0xB9CCCCCD, 0x0004002B, 0x0000000D, 0x000000D5, 0x3AF9F9FA, - 0x0004002B, 0x0000000D, 0x000005C7, 0x3AB5B5B6, 0x0004002B, 0x0000000D, - 0x000009BA, 0xBA919192, 0x0004002B, 0x0000000D, 0x000000D4, 0x3AD3D3D4, - 0x0004002B, 0x0000000D, 0x000009DF, 0xBA66E6E7, 0x0004002B, 0x0000000D, - 0x000006CD, 0x39189899, 0x0004002B, 0x0000000D, 0x00000489, 0x3A8D8D8E, - 0x0004002B, 0x0000000D, 0x000007F0, 0xB860E0E1, 0x0004002B, 0x0000000D, - 0x000003E1, 0x39949495, 0x0004002B, 0x0000000D, 0x000009BC, 0xBADDDDDE, - 0x0004002B, 0x0000000D, 0x00000A59, 0xBAA5A5A6, 0x0004002B, 0x0000000D, - 0x0000093E, 0xBA068687, 0x0004002B, 0x0000000D, 0x000007A9, 0xB928A8A9, - 0x0004002B, 0x0000000D, 0x00000112, 0xBAF5F5F6, 0x0004002B, 0x0000000D, - 0x00000271, 0xBA5ADADB, 0x0004002B, 0x0000000D, 0x000002D1, 0x3A26A6A7, - 0x0004002B, 0x0000000D, 0x0000057C, 0x37008081, 0x0004002B, 0x0000000D, - 0x0000038C, 0xBAF9F9FA, 0x0004002B, 0x0000000D, 0x0000003D, 0xB968E8E9, - 0x0004002B, 0x0000000D, 0x00000A13, 0x39C4C4C5, 0x0004002B, 0x0000000D, - 0x000001B0, 0xBAE3E3E4, 0x0004002B, 0x0000000D, 0x00000AEF, 0xB9D4D4D5, - 0x0004002B, 0x0000000D, 0x000007DF, 0xBAA1A1A2, 0x0004002B, 0x0000000D, - 0x00000842, 0x3ADFDFE0, 0x0004002B, 0x0000000D, 0x00000804, 0xBA76F6F7, - 0x0004002B, 0x0000000D, 0x00000903, 0x3A56D6D7, 0x0004002B, 0x0000000D, - 0x000007A4, 0x3AF1F1F2, 0x0004002B, 0x0000000D, 0x00000482, 0x39F4F4F5, - 0x0103002C, 0x00000388, 0x0000084F, 0x0000010F, 0x00000728, 0x00000705, - 0x00000A5A, 0x000008DF, 0x00000094, 0x0000034C, 0x0000087E, 0x0000034D, - 0x00000687, 0x000003EB, 0x0000024E, 0x00000726, 0x00000698, 0x00000703, - 0x00000AF8, 0x00000ABB, 0x0000026F, 0x000008A8, 0x00000565, 0x0000065D, - 0x000004C6, 0x00000057, 0x0000006A, 0x00000A1E, 0x0000087D, 0x00000959, - 0x00000BB8, 0x0000097E, 0x00000606, 0x000003AD, 0x000000E2, 0x00000370, - 0x0000024D, 0x000005C6, 0x00000B8C, 0x00000036, 0x0000087F, 0x00000172, - 0x00000399, 0x0000040F, 0x0000091E, 0x000008D5, 0x000008DE, 0x000002EB, - 0x00000317, 0x0000034E, 0x00000111, 0x0000002B, 0x000008E1, 0x0000042A, - 0x00000765, 0x000009A2, 0x000004F2, 0x0000058A, 0x000007E0, 0x00000802, - 0x00000A1C, 0x00000940, 0x000002EC, 0x000003ED, 0x000004EB, 0x00000234, - 0x00000245, 0x00000603, 0x00000984, 0x0000076E, 0x00000841, 0x000009DD, - 0x000003F3, 0x00000B5A, 0x00000B58, 0x00000838, 0x00000218, 0x00000A1D, - 0x0000054B, 0x00000503, 0x00000169, 0x00000605, 0x0000048A, 0x000002D3, - 0x00000A7C, 0x00000171, 0x000001AF, 0x000004AC, 0x0000024F, 0x00000ADE, - 0x00000110, 0x00000212, 0x00000742, 0x00000389, 0x000006C4, 0x00000B98, - 0x000002AE, 0x000009B1, 0x00000741, 0x00000211, 0x00000A5B, 0x000005EA, - 0x00000310, 0x0000052A, 0x00000071, 0x00000107, 0x000006A2, 0x00000B1B, - 0x00000034, 0x0000024B, 0x000002AF, 0x00000A41, 0x00000A7E, 0x0000034F, - 0x00000901, 0x00000539, 0x0000091C, 0x000001A4, 0x00000666, 0x00000833, - 0x00000206, 0x00000210, 0x000002ED, 0x0000040D, 0x00000428, 0x00000195, - 0x000004C7, 0x00000AB0, 0x00000429, 0x00000B5F, 0x0000044C, 0x00000B59, - 0x00000344, 0x000007C7, 0x00000739, 0x0000091D, 0x000000D2, 0x00000133, - 0x000005C8, 0x00000A1B, 0x00000420, 0x000002B0, 0x00000A25, 0x0000030E, - 0x0000048B, 0x00000B7D, 0x00000073, 0x00000740, 0x00000173, 0x000006C6, - 0x00000567, 0x00000A3F, 0x00000B95, 0x0000038A, 0x000005CE, 0x000006A3, - 0x000006FA, 0x00000743, 0x000007C5, 0x0000038B, 0x00000ABA, 0x00000B51, - 0x00000914, 0x0000013C, 0x00000566, 0x0000097D, 0x00000A58, 0x00000B5B, - 0x00000704, 0x00000232, 0x000002EE, 0x000007A2, 0x00000763, 0x00000135, - 0x000000D3, 0x00000949, 0x000001D2, 0x00000604, 0x00000035, 0x000004AE, - 0x000007D6, 0x00000B7B, 0x00000AF7, 0x00000873, 0x000004E9, 0x000007E1, - 0x0000097F, 0x000001AE, 0x00000864, 0x000008E0, 0x000005A3, 0x000006A4, - 0x00000667, 0x00000961, 0x000004C9, 0x00000ABC, 0x00000627, 0x000007A3, - 0x00000AF9, 0x00000528, 0x00000B24, 0x0000020F, 0x000008A1, 0x000004C8, - 0x000004BD, 0x00000976, 0x000006A5, 0x0000054D, 0x000002E2, 0x000000F6, - 0x0000024C, 0x00000B97, 0x00000055, 0x00000B96, 0x00000689, 0x00000096, - 0x00000072, 0x000009A0, 0x0000014C, 0x00000059, 0x0000048C, 0x000009BB, - 0x00000588, 0x000003EC, 0x00000BBA, 0x00000665, 0x000005BC, 0x00000529, - 0x00000840, 0x0000051F, 0x000005FB, 0x000000D5, 0x000005C7, 0x000009BA, - 0x000000D4, 0x000009DF, 0x000006CD, 0x00000489, 0x000007F0, 0x000003E1, - 0x000009BC, 0x00000A59, 0x0000093E, 0x000007A9, 0x00000112, 0x00000271, - 0x000002D1, 0x0000057C, 0x0000038C, 0x0000003D, 0x00000A13, 0x000001B0, - 0x00000AEF, 0x000007DF, 0x00000842, 0x00000804, 0x00000903, 0x000007A4, - 0x00000482, 0x0004002B, 0x0000000B, 0x00000A0D, 0x00000001, 0x0004002B, - 0x0000000B, 0x00000A3A, 0x00000010, 0x0004002B, 0x0000000B, 0x00000A0A, - 0x00000000, 0x00040020, 0x00000607, 0x00000007, 0x00000388, 0x0004002B, - 0x0000000D, 0x00000A0C, 0x00000000, 0x0004002B, 0x0000000D, 0x0000008A, - 0x3F800000, 0x0004002B, 0x0000000B, 0x0000020D, 0x1FBC4639, 0x0004002B, - 0x0000000B, 0x00000345, 0x7EF07EBB, 0x0004002B, 0x0000000B, 0x000000B2, - 0x7EF19FFF, 0x0004002B, 0x0000000D, 0x00000019, 0x40000000, 0x00090019, - 0x00000097, 0x0000000D, 0x00000001, 0x00000000, 0x00000000, 0x00000000, - 0x00000001, 0x00000000, 0x0003001B, 0x000001FE, 0x00000097, 0x00040020, - 0x0000047B, 0x00000000, 0x000001FE, 0x0004003B, 0x0000047B, 0x00000C4E, - 0x00000000, 0x0004002B, 0x0000000C, 0x00000A0B, 0x00000000, 0x00040017, - 0x0000001D, 0x0000000D, 0x00000004, 0x0004002B, 0x0000000C, 0x00000A08, - 0xFFFFFFFF, 0x0005002C, 0x00000012, 0x0000070B, 0x00000A0B, 0x00000A08, - 0x0004002B, 0x0000000C, 0x00000A0E, 0x00000001, 0x0005002C, 0x00000012, - 0x00000714, 0x00000A0E, 0x00000A08, 0x0005002C, 0x00000012, 0x0000070E, - 0x00000A08, 0x00000A0B, 0x0005002C, 0x00000012, 0x00000720, 0x00000A0E, - 0x00000A0B, 0x0005002C, 0x00000012, 0x0000071A, 0x00000A08, 0x00000A0E, - 0x0005002C, 0x00000012, 0x00000723, 0x00000A0B, 0x00000A0E, 0x0005002C, - 0x00000012, 0x0000072C, 0x00000A0E, 0x00000A0E, 0x0004002B, 0x0000000B, - 0x00000A10, 0x00000002, 0x00040017, 0x00000013, 0x0000000D, 0x00000002, - 0x0004002B, 0x0000000C, 0x00000A11, 0x00000002, 0x0005002C, 0x00000012, - 0x00000729, 0x00000A11, 0x00000A0B, 0x0005002C, 0x00000012, 0x0000072F, - 0x00000A0B, 0x00000A11, 0x0005002C, 0x00000012, 0x00000735, 0x00000A11, - 0x00000A0E, 0x0005002C, 0x00000012, 0x00000738, 0x00000A0E, 0x00000A11, - 0x0004002B, 0x0000000D, 0x000002C4, 0x3D000000, 0x00040020, 0x0000029A, - 0x00000001, 0x0000001D, 0x0004003B, 0x0000029A, 0x00000C93, 0x00000001, - 0x0005001E, 0x00000418, 0x00000012, 0x00000013, 0x0000000D, 0x00040020, - 0x00000695, 0x00000009, 0x00000418, 0x0004003B, 0x00000695, 0x00001342, - 0x00000009, 0x00040020, 0x0000028F, 0x00000009, 0x00000012, 0x00040020, - 0x00000290, 0x00000009, 0x00000013, 0x0004002B, 0x0000000D, 0x000000FC, - 0x3F000000, 0x00040020, 0x0000028B, 0x00000009, 0x0000000D, 0x00040020, - 0x0000029B, 0x00000003, 0x0000001D, 0x0004003B, 0x0000029B, 0x00001400, - 0x00000003, 0x00040020, 0x0000028C, 0x00000003, 0x0000000D, 0x0006002C, - 0x00000018, 0x00000A2C, 0x00000A0C, 0x00000A0C, 0x00000A0C, 0x0006002C, - 0x00000018, 0x00000A16, 0x0000008A, 0x0000008A, 0x0000008A, 0x0004002B, - 0x0000000B, 0x00000A14, 0x00000003, 0x0005002C, 0x00000013, 0x0000061E, + 0x0000161F, 0x6E69616D, 0x00000000, 0x00000C93, 0x000014D6, 0x00030010, + 0x0000161F, 0x00000007, 0x00040047, 0x00000C93, 0x0000000B, 0x0000000F, + 0x00050048, 0x00000418, 0x00000000, 0x00000023, 0x00000010, 0x00050048, + 0x00000418, 0x00000001, 0x00000023, 0x00000018, 0x00050048, 0x00000418, + 0x00000002, 0x00000023, 0x00000020, 0x00030047, 0x00000418, 0x00000002, + 0x00040047, 0x000014D6, 0x0000001E, 0x00000000, 0x00040047, 0x0000142B, + 0x00000022, 0x00000000, 0x00040047, 0x0000142B, 0x00000021, 0x00000000, + 0x00020013, 0x00000008, 0x00030021, 0x00000502, 0x00000008, 0x00030016, + 0x0000000D, 0x00000020, 0x00040017, 0x00000018, 0x0000000D, 0x00000003, + 0x00040015, 0x0000000B, 0x00000020, 0x00000000, 0x00040017, 0x00000011, + 0x0000000B, 0x00000002, 0x00040020, 0x0000028A, 0x00000007, 0x0000000D, + 0x00040015, 0x0000000C, 0x00000020, 0x00000001, 0x00040017, 0x00000012, + 0x0000000C, 0x00000002, 0x0004002B, 0x0000000D, 0x00000A0C, 0x00000000, + 0x0006002C, 0x00000018, 0x00000A2C, 0x00000A0C, 0x00000A0C, 0x00000A0C, + 0x0004002B, 0x0000000D, 0x0000008A, 0x3F800000, 0x0006002C, 0x00000018, + 0x00000A16, 0x0000008A, 0x0000008A, 0x0000008A, 0x0004002B, 0x0000000B, + 0x00000A37, 0x0000000F, 0x0004002B, 0x0000000B, 0x00000147, 0x00000100, + 0x0004001C, 0x000003C9, 0x0000000D, 0x00000147, 0x0004002B, 0x0000000D, + 0x0000010F, 0xBA838384, 0x0004002B, 0x0000000D, 0x00000728, 0x3A66E6E7, + 0x0004002B, 0x0000000D, 0x00000705, 0x3ADDDDDE, 0x0004002B, 0x0000000D, + 0x00000A5A, 0xBACBCBCC, 0x0004002B, 0x0000000D, 0x000008DF, 0x3AA7A7A8, + 0x0004002B, 0x0000000D, 0x00000094, 0xBA1E9E9F, 0x0004002B, 0x0000000D, + 0x0000034C, 0x3A8B8B8C, 0x0004002B, 0x0000000D, 0x0000087E, 0xBAB5B5B6, + 0x0004002B, 0x0000000D, 0x0000034D, 0x3AB1B1B2, 0x0004002B, 0x0000000D, + 0x00000687, 0x3A068687, 0x0004002B, 0x0000000D, 0x000003EB, 0x3A9F9FA0, + 0x0004002B, 0x0000000D, 0x0000024E, 0xBAD1D1D2, 0x0004002B, 0x0000000D, + 0x00000726, 0x3A1A9A9B, 0x0004002B, 0x0000000D, 0x00000698, 0xB9949495, + 0x0004002B, 0x0000000D, 0x00000703, 0x3A919192, 0x0004002B, 0x0000000D, + 0x00000AF8, 0xBAB9B9BA, 0x0004002B, 0x0000000D, 0x00000ABB, 0x3ABDBDBE, + 0x0004002B, 0x0000000D, 0x0000026F, 0xBA0E8E8F, 0x0004002B, 0x0000000D, + 0x000008A8, 0x39088889, 0x0004002B, 0x0000000D, 0x00000565, 0xBA9D9D9E, + 0x0004002B, 0x0000000D, 0x0000065D, 0x39E4E4E5, 0x0004002B, 0x0000000D, + 0x000004C6, 0xBA89898A, 0x0004002B, 0x0000000D, 0x00000057, 0x3A22A2A3, + 0x0004002B, 0x0000000D, 0x0000006A, 0xB9FCFCFD, 0x0004002B, 0x0000000D, + 0x00000A1E, 0x3AF5F5F6, 0x0004002B, 0x0000000D, 0x0000087D, 0xBA8F8F90, + 0x0004002B, 0x0000000D, 0x00000959, 0xB8D0D0D1, 0x0004002B, 0x0000000D, + 0x00000BB8, 0xBA0A8A8B, 0x0004002B, 0x0000000D, 0x0000097E, 0x3ABBBBBC, + 0x0004002B, 0x0000000D, 0x00000606, 0xBAFDFDFE, 0x0004002B, 0x0000000D, + 0x000003AD, 0xBA36B6B7, 0x0004002B, 0x0000000D, 0x000000E2, 0x3820A0A1, + 0x0004002B, 0x0000000D, 0x00000370, 0x3A3ABABB, 0x0004002B, 0x0000000D, + 0x0000024D, 0xBAABABAC, 0x0004002B, 0x0000000D, 0x000005C6, 0x3A8F8F90, + 0x0004002B, 0x0000000D, 0x00000B8C, 0xB99C9C9D, 0x0004002B, 0x0000000D, + 0x00000036, 0x3AE5E5E6, 0x0004002B, 0x0000000D, 0x0000087F, 0xBADBDBDC, + 0x0004002B, 0x0000000D, 0x00000172, 0x3AC1C1C2, 0x0004002B, 0x0000000D, + 0x00000399, 0xB820A0A1, 0x0004002B, 0x0000000D, 0x0000040F, 0x3A4ECECF, + 0x0004002B, 0x0000000D, 0x0000091E, 0xBAEFEFF0, 0x0004002B, 0x0000000D, + 0x000008D5, 0x399C9C9D, 0x0004002B, 0x0000000D, 0x000008DE, 0x3A818182, + 0x0004002B, 0x0000000D, 0x000002EB, 0xBA99999A, 0x0004002B, 0x0000000D, + 0x00000317, 0x3938B8B9, 0x0004002B, 0x0000000D, 0x0000034E, 0x3AD7D7D8, + 0x0004002B, 0x0000000D, 0x00000111, 0xBACFCFD0, 0x0004002B, 0x0000000D, + 0x0000002B, 0x39B4B4B5, 0x0004002B, 0x0000000D, 0x000008E1, 0x3AF3F3F4, + 0x0004002B, 0x0000000D, 0x0000042A, 0xBAE7E7E8, 0x0004002B, 0x0000000D, + 0x00000765, 0xBA62E2E3, 0x0004002B, 0x0000000D, 0x000009A2, 0x3A6AEAEB, + 0x0004002B, 0x0000000D, 0x000004F2, 0x3928A8A9, 0x0004002B, 0x0000000D, + 0x0000058A, 0xBA72F2F3, 0x0004002B, 0x0000000D, 0x000007E0, 0xBAC7C7C8, + 0x0004002B, 0x0000000D, 0x00000802, 0xBA2AAAAB, 0x0004002B, 0x0000000D, + 0x00000A1C, 0x3AA9A9AA, 0x0004002B, 0x0000000D, 0x00000940, 0xBA52D2D3, + 0x0004002B, 0x0000000D, 0x000002EC, 0xBABFBFC0, 0x0004002B, 0x0000000D, + 0x000003ED, 0x3AEBEBEC, 0x0004002B, 0x0000000D, 0x000004EB, 0xBA5EDEDF, + 0x0004002B, 0x0000000D, 0x00000234, 0x3A5EDEDF, 0x0004002B, 0x0000000D, + 0x00000245, 0xB9ECECED, 0x0004002B, 0x0000000D, 0x00000603, 0xBA8B8B8C, + 0x0004002B, 0x0000000D, 0x00000984, 0xB9189899, 0x0004002B, 0x0000000D, + 0x0000076E, 0x3978F8F9, 0x0004002B, 0x0000000D, 0x00000841, 0x3AB9B9BA, + 0x0004002B, 0x0000000D, 0x000009DD, 0xBA1A9A9B, 0x0004002B, 0x0000000D, + 0x000003F3, 0xB948C8C9, 0x0004002B, 0x0000000D, 0x00000B5A, 0x3AD1D1D2, + 0x0004002B, 0x0000000D, 0x00000B58, 0x3A858586, 0x0004002B, 0x0000000D, + 0x00000838, 0x39D4D4D5, 0x0004002B, 0x0000000D, 0x00000218, 0xB958D8D9, + 0x0004002B, 0x0000000D, 0x00000A1D, 0x3ACFCFD0, 0x0004002B, 0x0000000D, + 0x0000054B, 0x3A2AAAAB, 0x0004002B, 0x0000000D, 0x00000503, 0xB8909091, + 0x0004002B, 0x0000000D, 0x00000169, 0x39DCDCDD, 0x0004002B, 0x0000000D, + 0x00000605, 0xBAD7D7D8, 0x0004002B, 0x0000000D, 0x0000048A, 0x3AB3B3B4, + 0x0004002B, 0x0000000D, 0x000002D3, 0x3A72F2F3, 0x0004002B, 0x0000000D, + 0x00000A7C, 0xBA2EAEAF, 0x0004002B, 0x0000000D, 0x00000171, 0x3A9B9B9C, + 0x0004002B, 0x0000000D, 0x000001AF, 0xBABDBDBE, 0x0004002B, 0x0000000D, + 0x000004AC, 0x3A169697, 0x0004002B, 0x0000000D, 0x0000024F, 0xBAF7F7F8, + 0x0004002B, 0x0000000D, 0x00000ADE, 0x3A46C6C7, 0x0004002B, 0x0000000D, + 0x00000110, 0xBAA9A9AA, 0x0004002B, 0x0000000D, 0x00000212, 0x3AFBFBFC, + 0x0004002B, 0x0000000D, 0x00000742, 0xBAD9D9DA, 0x0004002B, 0x0000000D, + 0x00000389, 0xBA878788, 0x0004002B, 0x0000000D, 0x000006C4, 0xBA028283, + 0x0004002B, 0x0000000D, 0x00000B98, 0xBAF3F3F4, 0x0004002B, 0x0000000D, + 0x000002AE, 0x3A9D9D9E, 0x0004002B, 0x0000000D, 0x000009B1, 0xB9ACACAD, + 0x0004002B, 0x0000000D, 0x00000741, 0xBAB3B3B4, 0x0004002B, 0x0000000D, + 0x00000211, 0x3AD5D5D6, 0x0004002B, 0x0000000D, 0x00000A5B, 0xBAF1F1F2, + 0x0004002B, 0x0000000D, 0x000005EA, 0x3A3EBEBF, 0x0004002B, 0x0000000D, + 0x00000310, 0xBA6EEEEF, 0x0004002B, 0x0000000D, 0x0000052A, 0x3AEDEDEE, + 0x0004002B, 0x0000000D, 0x00000071, 0xBA959596, 0x0004002B, 0x0000000D, + 0x00000107, 0xB9C4C4C5, 0x0004002B, 0x0000000D, 0x000006A2, 0x38D0D0D1, + 0x0004002B, 0x0000000D, 0x00000B1B, 0xBA42C2C3, 0x0004002B, 0x0000000D, + 0x00000034, 0x3A99999A, 0x0004002B, 0x0000000D, 0x0000024B, 0x38909091, + 0x0004002B, 0x0000000D, 0x000002AF, 0x3AC3C3C4, 0x0004002B, 0x0000000D, + 0x00000A41, 0x3A7EFEFF, 0x0004002B, 0x0000000D, 0x00000A7E, 0xBA7AFAFB, + 0x0004002B, 0x0000000D, 0x0000034F, 0x3AFDFDFE, 0x0004002B, 0x0000000D, + 0x00000901, 0x3A0A8A8B, 0x0004002B, 0x0000000D, 0x00000539, 0x3860E0E1, + 0x0004002B, 0x0000000D, 0x0000091C, 0xBAA3A3A4, 0x0004002B, 0x0000000D, + 0x000001A4, 0xB98C8C8D, 0x0004002B, 0x0000000D, 0x00000666, 0x3AC9C9CA, + 0x0004002B, 0x0000000D, 0x00000833, 0xB7008081, 0x0004002B, 0x0000000D, + 0x00000206, 0x39A4A4A5, 0x0004002B, 0x0000000D, 0x00000210, 0x3AAFAFB0, + 0x0004002B, 0x0000000D, 0x000002ED, 0xBAE5E5E6, 0x0004002B, 0x0000000D, + 0x0000040D, 0x3A028283, 0x0004002B, 0x0000000D, 0x00000428, 0xBA9B9B9C, + 0x0004002B, 0x0000000D, 0x00000195, 0x3A4ACACB, 0x0004002B, 0x0000000D, + 0x000004C7, 0xBAAFAFB0, 0x0004002B, 0x0000000D, 0x00000AB0, 0x398C8C8D, + 0x0004002B, 0x0000000D, 0x00000429, 0xBAC1C1C2, 0x0004002B, 0x0000000D, + 0x00000B5F, 0xB9088889, 0x0004002B, 0x0000000D, 0x0000044C, 0xBA4ACACB, + 0x0004002B, 0x0000000D, 0x00000B59, 0x3AABABAC, 0x0004002B, 0x0000000D, + 0x00000344, 0x39CCCCCD, 0x0004002B, 0x0000000D, 0x000007C7, 0x3A7AFAFB, + 0x0004002B, 0x0000000D, 0x00000739, 0xB9F4F4F5, 0x0004002B, 0x0000000D, + 0x0000091D, 0xBAC9C9CA, 0x0004002B, 0x0000000D, 0x000000D2, 0x3A878788, + 0x0004002B, 0x0000000D, 0x00000133, 0xBA32B2B3, 0x0004002B, 0x0000000D, + 0x000005C8, 0x3ADBDBDC, 0x0004002B, 0x0000000D, 0x00000A1B, 0x3A838384, + 0x0004002B, 0x0000000D, 0x00000420, 0xB9DCDCDD, 0x0004002B, 0x0000000D, + 0x000002B0, 0x3AE9E9EA, 0x0004002B, 0x0000000D, 0x00000A25, 0xB978F8F9, + 0x0004002B, 0x0000000D, 0x0000030E, 0xBA22A2A3, 0x0004002B, 0x0000000D, + 0x0000048B, 0x3AD9D9DA, 0x0004002B, 0x0000000D, 0x00000B7D, 0x3A5ADADB, + 0x0004002B, 0x0000000D, 0x00000073, 0xBAE1E1E2, 0x0004002B, 0x0000000D, + 0x00000740, 0xBA8D8D8E, 0x0004002B, 0x0000000D, 0x00000173, 0x3AE7E7E8, + 0x0004002B, 0x0000000D, 0x000006C6, 0xBA4ECECF, 0x0004002B, 0x0000000D, + 0x00000567, 0xBAE9E9EA, 0x0004002B, 0x0000000D, 0x00000A3F, 0x3A32B2B3, + 0x0004002B, 0x0000000D, 0x00000B95, 0xBA818182, 0x0004002B, 0x0000000D, + 0x0000038A, 0xBAADADAE, 0x0004002B, 0x0000000D, 0x000005CE, 0xB938B8B9, + 0x0004002B, 0x0000000D, 0x000006A3, 0xBAC5C5C6, 0x0004002B, 0x0000000D, + 0x000006FA, 0x39ACACAD, 0x0004002B, 0x0000000D, 0x00000743, 0xBB000000, + 0x0004002B, 0x0000000D, 0x000007C5, 0x3A2EAEAF, 0x0004002B, 0x0000000D, + 0x0000038B, 0xBAD3D3D4, 0x0004002B, 0x0000000D, 0x00000ABA, 0x3A979798, + 0x0004002B, 0x0000000D, 0x00000B51, 0x39ECECED, 0x0004002B, 0x0000000D, + 0x00000914, 0xB9E4E4E5, 0x0004002B, 0x0000000D, 0x0000013C, 0x3948C8C9, + 0x0004002B, 0x0000000D, 0x00000566, 0xBAC3C3C4, 0x0004002B, 0x0000000D, + 0x0000097D, 0x3A959596, 0x0004002B, 0x0000000D, 0x00000A58, 0x38B0B0B1, + 0x0004002B, 0x0000000D, 0x00000B5B, 0x3AF7F7F8, 0x0004002B, 0x0000000D, + 0x00000704, 0x3AB7B7B8, 0x0004002B, 0x0000000D, 0x00000232, 0x3A129293, + 0x0004002B, 0x0000000D, 0x000002EE, 0x38F0F0F1, 0x0004002B, 0x0000000D, + 0x000007A2, 0x3AA5A5A6, 0x0004002B, 0x0000000D, 0x00000763, 0xBA169697, + 0x0004002B, 0x0000000D, 0x00000135, 0xBA7EFEFF, 0x0004002B, 0x0000000D, + 0x000000D3, 0x3AADADAE, 0x0004002B, 0x0000000D, 0x00000949, 0x3968E8E9, + 0x0004002B, 0x0000000D, 0x000001D2, 0xBA46C6C7, 0x0004002B, 0x0000000D, + 0x00000604, 0xBAB1B1B2, 0x0004002B, 0x0000000D, 0x00000035, 0x3ABFBFC0, + 0x0004002B, 0x0000000D, 0x000004AE, 0x3A62E2E3, 0x0004002B, 0x0000000D, + 0x000007D6, 0xB9BCBCBD, 0x0004002B, 0x0000000D, 0x00000B7B, 0x3A0E8E8F, + 0x0004002B, 0x0000000D, 0x00000AF7, 0xBA939394, 0x0004002B, 0x0000000D, + 0x00000873, 0xB9848485, 0x0004002B, 0x0000000D, 0x000004E9, 0xBA129293, + 0x0004002B, 0x0000000D, 0x000007E1, 0xBAEDEDEE, 0x0004002B, 0x0000000D, + 0x0000097F, 0x3AE1E1E2, 0x0004002B, 0x0000000D, 0x000001AE, 0xBA979798, + 0x0004002B, 0x0000000D, 0x00000864, 0x3A42C2C3, 0x0004002B, 0x0000000D, + 0x000008E0, 0x3ACDCDCE, 0x0004002B, 0x0000000D, 0x000005A3, 0xB8F0F0F1, + 0x0004002B, 0x0000000D, 0x000006A4, 0xBA9F9FA0, 0x0004002B, 0x0000000D, + 0x00000667, 0x3AEFEFF0, 0x0004002B, 0x0000000D, 0x00000961, 0x37C0C0C1, + 0x0004002B, 0x0000000D, 0x000004C9, 0xBAFBFBFC, 0x0004002B, 0x0000000D, + 0x00000ABC, 0x3AE3E3E4, 0x0004002B, 0x0000000D, 0x00000627, 0xBA3ABABB, + 0x0004002B, 0x0000000D, 0x000007A3, 0x3ACBCBCC, 0x0004002B, 0x0000000D, + 0x00000AF9, 0xBADFDFE0, 0x0004002B, 0x0000000D, 0x00000528, 0x3AA1A1A2, + 0x0004002B, 0x0000000D, 0x00000B24, 0x3958D8D9, 0x0004002B, 0x0000000D, + 0x0000020F, 0x3A89898A, 0x0004002B, 0x0000000D, 0x000008A1, 0xBA3EBEBF, + 0x0004002B, 0x0000000D, 0x000004C8, 0xBAD5D5D6, 0x0004002B, 0x0000000D, + 0x000004BD, 0xB9A4A4A5, 0x0004002B, 0x0000000D, 0x00000976, 0x39FCFCFD, + 0x0004002B, 0x0000000D, 0x000006A5, 0xBAEBEBEC, 0x0004002B, 0x0000000D, + 0x0000054D, 0x3A76F6F7, 0x0004002B, 0x0000000D, 0x000002E2, 0xB9B4B4B5, + 0x0004002B, 0x0000000D, 0x000000F6, 0x3A36B6B7, 0x0004002B, 0x0000000D, + 0x0000024C, 0xBA858586, 0x0004002B, 0x0000000D, 0x00000B97, 0xBACDCDCE, + 0x0004002B, 0x0000000D, 0x00000055, 0xB7C0C0C1, 0x0004002B, 0x0000000D, + 0x00000B96, 0xBAA7A7A8, 0x0004002B, 0x0000000D, 0x00000689, 0x3A52D2D3, + 0x0004002B, 0x0000000D, 0x00000096, 0xBA6AEAEB, 0x0004002B, 0x0000000D, + 0x00000072, 0xBABBBBBC, 0x0004002B, 0x0000000D, 0x000009A0, 0x3A1E9E9F, + 0x0004002B, 0x0000000D, 0x0000014C, 0xB8B0B0B1, 0x0004002B, 0x0000000D, + 0x00000059, 0x3A6EEEEF, 0x0004002B, 0x0000000D, 0x0000048C, 0x3B000000, + 0x0004002B, 0x0000000D, 0x000009BB, 0xBAB7B7B8, 0x0004002B, 0x0000000D, + 0x00000588, 0xBA26A6A7, 0x0004002B, 0x0000000D, 0x000003EC, 0x3AC5C5C6, + 0x0004002B, 0x0000000D, 0x00000BBA, 0xBA56D6D7, 0x0004002B, 0x0000000D, + 0x00000665, 0x3AA3A3A4, 0x0004002B, 0x0000000D, 0x000005BC, 0x39848485, + 0x0004002B, 0x0000000D, 0x00000529, 0x3AC7C7C8, 0x0004002B, 0x0000000D, + 0x00000840, 0x3A939394, 0x0004002B, 0x0000000D, 0x0000051F, 0x39BCBCBD, + 0x0004002B, 0x0000000D, 0x000005FB, 0xB9CCCCCD, 0x0004002B, 0x0000000D, + 0x000000D5, 0x3AF9F9FA, 0x0004002B, 0x0000000D, 0x000005C7, 0x3AB5B5B6, + 0x0004002B, 0x0000000D, 0x000009BA, 0xBA919192, 0x0004002B, 0x0000000D, + 0x000000D4, 0x3AD3D3D4, 0x0004002B, 0x0000000D, 0x000009DF, 0xBA66E6E7, + 0x0004002B, 0x0000000D, 0x000006CD, 0x39189899, 0x0004002B, 0x0000000D, + 0x00000489, 0x3A8D8D8E, 0x0004002B, 0x0000000D, 0x000007F0, 0xB860E0E1, + 0x0004002B, 0x0000000D, 0x000003E1, 0x39949495, 0x0004002B, 0x0000000D, + 0x000009BC, 0xBADDDDDE, 0x0004002B, 0x0000000D, 0x00000A59, 0xBAA5A5A6, + 0x0004002B, 0x0000000D, 0x0000093E, 0xBA068687, 0x0004002B, 0x0000000D, + 0x000007A9, 0xB928A8A9, 0x0004002B, 0x0000000D, 0x00000112, 0xBAF5F5F6, + 0x0004002B, 0x0000000D, 0x00000271, 0xBA5ADADB, 0x0004002B, 0x0000000D, + 0x000002D1, 0x3A26A6A7, 0x0004002B, 0x0000000D, 0x0000057C, 0x37008081, + 0x0004002B, 0x0000000D, 0x0000038C, 0xBAF9F9FA, 0x0004002B, 0x0000000D, + 0x0000003D, 0xB968E8E9, 0x0004002B, 0x0000000D, 0x00000A13, 0x39C4C4C5, + 0x0004002B, 0x0000000D, 0x000001B0, 0xBAE3E3E4, 0x0004002B, 0x0000000D, + 0x00000AEF, 0xB9D4D4D5, 0x0004002B, 0x0000000D, 0x000007DF, 0xBAA1A1A2, + 0x0004002B, 0x0000000D, 0x00000842, 0x3ADFDFE0, 0x0004002B, 0x0000000D, + 0x00000804, 0xBA76F6F7, 0x0004002B, 0x0000000D, 0x00000903, 0x3A56D6D7, + 0x0004002B, 0x0000000D, 0x000007A4, 0x3AF1F1F2, 0x0004002B, 0x0000000D, + 0x00000482, 0x39F4F4F5, 0x0103002C, 0x000003C9, 0x00000890, 0x0000010F, + 0x00000728, 0x00000705, 0x00000A5A, 0x000008DF, 0x00000094, 0x0000034C, + 0x0000087E, 0x0000034D, 0x00000687, 0x000003EB, 0x0000024E, 0x00000726, + 0x00000698, 0x00000703, 0x00000AF8, 0x00000ABB, 0x0000026F, 0x000008A8, + 0x00000565, 0x0000065D, 0x000004C6, 0x00000057, 0x0000006A, 0x00000A1E, + 0x0000087D, 0x00000959, 0x00000BB8, 0x0000097E, 0x00000606, 0x000003AD, + 0x000000E2, 0x00000370, 0x0000024D, 0x000005C6, 0x00000B8C, 0x00000036, + 0x0000087F, 0x00000172, 0x00000399, 0x0000040F, 0x0000091E, 0x000008D5, + 0x000008DE, 0x000002EB, 0x00000317, 0x0000034E, 0x00000111, 0x0000002B, + 0x000008E1, 0x0000042A, 0x00000765, 0x000009A2, 0x000004F2, 0x0000058A, + 0x000007E0, 0x00000802, 0x00000A1C, 0x00000940, 0x000002EC, 0x000003ED, + 0x000004EB, 0x00000234, 0x00000245, 0x00000603, 0x00000984, 0x0000076E, + 0x00000841, 0x000009DD, 0x000003F3, 0x00000B5A, 0x00000B58, 0x00000838, + 0x00000218, 0x00000A1D, 0x0000054B, 0x00000503, 0x00000169, 0x00000605, + 0x0000048A, 0x000002D3, 0x00000A7C, 0x00000171, 0x000001AF, 0x000004AC, + 0x0000024F, 0x00000ADE, 0x00000110, 0x00000212, 0x00000742, 0x00000389, + 0x000006C4, 0x00000B98, 0x000002AE, 0x000009B1, 0x00000741, 0x00000211, + 0x00000A5B, 0x000005EA, 0x00000310, 0x0000052A, 0x00000071, 0x00000107, + 0x000006A2, 0x00000B1B, 0x00000034, 0x0000024B, 0x000002AF, 0x00000A41, + 0x00000A7E, 0x0000034F, 0x00000901, 0x00000539, 0x0000091C, 0x000001A4, + 0x00000666, 0x00000833, 0x00000206, 0x00000210, 0x000002ED, 0x0000040D, + 0x00000428, 0x00000195, 0x000004C7, 0x00000AB0, 0x00000429, 0x00000B5F, + 0x0000044C, 0x00000B59, 0x00000344, 0x000007C7, 0x00000739, 0x0000091D, + 0x000000D2, 0x00000133, 0x000005C8, 0x00000A1B, 0x00000420, 0x000002B0, + 0x00000A25, 0x0000030E, 0x0000048B, 0x00000B7D, 0x00000073, 0x00000740, + 0x00000173, 0x000006C6, 0x00000567, 0x00000A3F, 0x00000B95, 0x0000038A, + 0x000005CE, 0x000006A3, 0x000006FA, 0x00000743, 0x000007C5, 0x0000038B, + 0x00000ABA, 0x00000B51, 0x00000914, 0x0000013C, 0x00000566, 0x0000097D, + 0x00000A58, 0x00000B5B, 0x00000704, 0x00000232, 0x000002EE, 0x000007A2, + 0x00000763, 0x00000135, 0x000000D3, 0x00000949, 0x000001D2, 0x00000604, + 0x00000035, 0x000004AE, 0x000007D6, 0x00000B7B, 0x00000AF7, 0x00000873, + 0x000004E9, 0x000007E1, 0x0000097F, 0x000001AE, 0x00000864, 0x000008E0, + 0x000005A3, 0x000006A4, 0x00000667, 0x00000961, 0x000004C9, 0x00000ABC, + 0x00000627, 0x000007A3, 0x00000AF9, 0x00000528, 0x00000B24, 0x0000020F, + 0x000008A1, 0x000004C8, 0x000004BD, 0x00000976, 0x000006A5, 0x0000054D, + 0x000002E2, 0x000000F6, 0x0000024C, 0x00000B97, 0x00000055, 0x00000B96, + 0x00000689, 0x00000096, 0x00000072, 0x000009A0, 0x0000014C, 0x00000059, + 0x0000048C, 0x000009BB, 0x00000588, 0x000003EC, 0x00000BBA, 0x00000665, + 0x000005BC, 0x00000529, 0x00000840, 0x0000051F, 0x000005FB, 0x000000D5, + 0x000005C7, 0x000009BA, 0x000000D4, 0x000009DF, 0x000006CD, 0x00000489, + 0x000007F0, 0x000003E1, 0x000009BC, 0x00000A59, 0x0000093E, 0x000007A9, + 0x00000112, 0x00000271, 0x000002D1, 0x0000057C, 0x0000038C, 0x0000003D, + 0x00000A13, 0x000001B0, 0x00000AEF, 0x000007DF, 0x00000842, 0x00000804, + 0x00000903, 0x000007A4, 0x00000482, 0x0004002B, 0x0000000B, 0x00000A0D, + 0x00000001, 0x0004002B, 0x0000000B, 0x00000A3A, 0x00000010, 0x0004002B, + 0x0000000B, 0x00000A0A, 0x00000000, 0x00040020, 0x00000646, 0x00000007, + 0x000003C9, 0x00040017, 0x0000001D, 0x0000000D, 0x00000004, 0x00040020, + 0x0000029A, 0x00000001, 0x0000001D, 0x0004003B, 0x0000029A, 0x00000C93, + 0x00000001, 0x00040017, 0x00000013, 0x0000000D, 0x00000002, 0x0005001E, + 0x00000418, 0x00000012, 0x00000013, 0x0000000D, 0x00040020, 0x00000695, + 0x00000009, 0x00000418, 0x0004003B, 0x00000695, 0x00000BEC, 0x00000009, + 0x0004002B, 0x0000000C, 0x00000A0B, 0x00000000, 0x00040020, 0x0000028F, + 0x00000009, 0x00000012, 0x0004002B, 0x0000000C, 0x00000A0E, 0x00000001, + 0x00040020, 0x00000290, 0x00000009, 0x00000013, 0x0004002B, 0x0000000D, + 0x000000FC, 0x3F000000, 0x0004002B, 0x0000000C, 0x00000A11, 0x00000002, + 0x00040020, 0x0000028B, 0x00000009, 0x0000000D, 0x00040020, 0x0000029B, + 0x00000003, 0x0000001D, 0x0004003B, 0x0000029B, 0x000014D6, 0x00000003, + 0x00040020, 0x0000028C, 0x00000003, 0x0000000D, 0x0004002B, 0x0000000B, + 0x00000A10, 0x00000002, 0x0004002B, 0x0000000B, 0x00000A14, 0x00000003, + 0x0004002B, 0x0000000B, 0x0000020D, 0x1FBC4639, 0x0004002B, 0x0000000B, + 0x00000345, 0x7EF07EBB, 0x0004002B, 0x0000000B, 0x000000B2, 0x7EF19FFF, + 0x0004002B, 0x0000000D, 0x00000019, 0x40000000, 0x00090019, 0x00000097, + 0x0000000D, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000001, + 0x00000000, 0x0003001B, 0x000001FE, 0x00000097, 0x00040020, 0x0000047B, + 0x00000000, 0x000001FE, 0x0004003B, 0x0000047B, 0x0000142B, 0x00000000, + 0x0004002B, 0x0000000C, 0x00000A08, 0xFFFFFFFF, 0x0005002C, 0x00000012, + 0x0000070B, 0x00000A0B, 0x00000A08, 0x0005002C, 0x00000012, 0x00000714, + 0x00000A0E, 0x00000A08, 0x0005002C, 0x00000012, 0x0000070E, 0x00000A08, + 0x00000A0B, 0x0005002C, 0x00000012, 0x00000720, 0x00000A0E, 0x00000A0B, + 0x0005002C, 0x00000012, 0x0000071A, 0x00000A08, 0x00000A0E, 0x0005002C, + 0x00000012, 0x00000723, 0x00000A0B, 0x00000A0E, 0x0005002C, 0x00000012, + 0x0000072C, 0x00000A0E, 0x00000A0E, 0x0005002C, 0x00000012, 0x00000729, + 0x00000A11, 0x00000A0B, 0x0005002C, 0x00000012, 0x0000072F, 0x00000A0B, + 0x00000A11, 0x0005002C, 0x00000012, 0x00000735, 0x00000A11, 0x00000A0E, + 0x0005002C, 0x00000012, 0x00000738, 0x00000A0E, 0x00000A11, 0x0004002B, + 0x0000000D, 0x000002C4, 0x3D000000, 0x0005002C, 0x00000013, 0x0000061E, 0x000000FC, 0x000000FC, 0x0005002C, 0x00000011, 0x0000084A, 0x00000A37, 0x00000A37, 0x00050036, 0x00000008, 0x0000161F, 0x00000000, 0x00000502, - 0x000200F8, 0x00006179, 0x0004003B, 0x00000607, 0x000047EB, 0x00000007, + 0x000200F8, 0x00006179, 0x0004003B, 0x00000646, 0x000047EB, 0x00000007, 0x0004003D, 0x0000001D, 0x00005647, 0x00000C93, 0x0007004F, 0x00000013, 0x000019A2, 0x00005647, 0x00005647, 0x00000000, 0x00000001, 0x0004006E, 0x00000012, 0x000044F8, 0x000019A2, 0x00050041, 0x0000028F, 0x00004B4F, - 0x00001342, 0x00000A0B, 0x0004003D, 0x00000012, 0x00005926, 0x00004B4F, + 0x00000BEC, 0x00000A0B, 0x0004003D, 0x00000012, 0x00005926, 0x00004B4F, 0x00050082, 0x00000012, 0x00005B10, 0x000044F8, 0x00005926, 0x0004007C, 0x00000011, 0x000026D2, 0x00005B10, 0x00050041, 0x00000290, 0x00005205, - 0x00001342, 0x00000A0E, 0x0004003D, 0x00000013, 0x00005833, 0x00005205, + 0x00000BEC, 0x00000A0E, 0x0004003D, 0x00000013, 0x00005833, 0x00005205, 0x0004007C, 0x00000011, 0x00003455, 0x00005833, 0x0005008E, 0x00000013, 0x000031DA, 0x00005833, 0x000000FC, 0x00050083, 0x00000013, 0x00005EE3, 0x000031DA, 0x0000061E, 0x0004007C, 0x00000011, 0x00004EA3, 0x00005EE3, - 0x00050041, 0x0000028B, 0x0000488F, 0x00001342, 0x00000A11, 0x0004003D, + 0x00050041, 0x0000028B, 0x0000488F, 0x00000BEC, 0x00000A11, 0x0004003D, 0x0000000D, 0x000055F9, 0x0000488F, 0x0004007C, 0x0000000B, 0x00004816, 0x000055F9, 0x00040070, 0x00000013, 0x00002EEB, 0x000026D2, 0x0004007C, 0x00000013, 0x00004BF9, 0x00003455, 0x00050085, 0x00000013, 0x000042F3, @@ -1012,7 +1012,7 @@ const uint32_t guest_output_ffx_cas_resample_dither_ps[] = { 0x00000013, 0x000031AF, 0x00000001, 0x00000008, 0x0000612E, 0x00050083, 0x00000013, 0x00003FA2, 0x0000612E, 0x000031AF, 0x0004006E, 0x00000012, 0x000042A8, 0x000031AF, 0x00050080, 0x00000012, 0x000050B7, 0x000042A8, - 0x0000070B, 0x0004003D, 0x000001FE, 0x0000415B, 0x00000C4E, 0x00040064, + 0x0000070B, 0x0004003D, 0x000001FE, 0x0000415B, 0x0000142B, 0x00040064, 0x00000097, 0x00005C42, 0x0000415B, 0x0007005F, 0x0000001D, 0x000040D3, 0x00005C42, 0x000050B7, 0x00000002, 0x00000A0B, 0x00050080, 0x00000012, 0x00003C5E, 0x000042A8, 0x0000070E, 0x00040064, 0x00000097, 0x00004DF7, @@ -1289,24 +1289,24 @@ const uint32_t guest_output_ffx_cas_resample_dither_ps[] = { 0x00050081, 0x0000000D, 0x00003E67, 0x00004700, 0x000024FD, 0x00050085, 0x0000000D, 0x00001B09, 0x00003E67, 0x000024E2, 0x0008000C, 0x0000000D, 0x0000616D, 0x00000001, 0x0000002B, 0x00001B09, 0x00000A0C, 0x0000008A, - 0x00050041, 0x0000028C, 0x00005061, 0x00001400, 0x00000A0A, 0x0003003E, - 0x00005061, 0x00003B72, 0x00050041, 0x0000028C, 0x00004D14, 0x00001400, + 0x00050041, 0x0000028C, 0x00005061, 0x000014D6, 0x00000A0A, 0x0003003E, + 0x00005061, 0x00003B72, 0x00050041, 0x0000028C, 0x00004D14, 0x000014D6, 0x00000A0D, 0x0003003E, 0x00004D14, 0x00003B73, 0x00050041, 0x0000028C, - 0x00004CC8, 0x00001400, 0x00000A10, 0x0003003E, 0x00004CC8, 0x0000616D, - 0x0004003D, 0x0000001D, 0x000028CD, 0x00001400, 0x0008004F, 0x00000018, + 0x00004CC8, 0x000014D6, 0x00000A10, 0x0003003E, 0x00004CC8, 0x0000616D, + 0x0004003D, 0x0000001D, 0x000028CD, 0x000014D6, 0x0008004F, 0x00000018, 0x00002397, 0x000028CD, 0x000028CD, 0x00000000, 0x00000001, 0x00000002, 0x0006000C, 0x00000018, 0x000045F7, 0x00000001, 0x0000001F, 0x00002397, 0x00050051, 0x0000000D, 0x00001BDB, 0x000045F7, 0x00000000, 0x0003003E, 0x00005061, 0x00001BDB, 0x00050051, 0x0000000D, 0x000057A3, 0x000045F7, 0x00000001, 0x0003003E, 0x00004D14, 0x000057A3, 0x00050051, 0x0000000D, 0x00005627, 0x000045F7, 0x00000002, 0x0003003E, 0x00004CC8, 0x00005627, - 0x0004003D, 0x0000001D, 0x00003685, 0x00001400, 0x0008004F, 0x00000018, + 0x0004003D, 0x0000001D, 0x00003685, 0x000014D6, 0x0008004F, 0x00000018, 0x00003F43, 0x00003685, 0x00003685, 0x00000000, 0x00000001, 0x00000002, 0x000500C7, 0x00000011, 0x00005F34, 0x000026D2, 0x0000084A, 0x00050051, 0x0000000B, 0x0000260D, 0x00005F34, 0x00000001, 0x00050084, 0x0000000B, 0x000053FA, 0x0000260D, 0x00000A3A, 0x00050051, 0x0000000B, 0x00005B73, 0x00005F34, 0x00000000, 0x00050080, 0x0000000B, 0x00003142, 0x000053FA, - 0x00005B73, 0x0003003E, 0x000047EB, 0x0000084F, 0x00050041, 0x0000028A, + 0x00005B73, 0x0003003E, 0x000047EB, 0x00000890, 0x00050041, 0x0000028A, 0x000026E6, 0x000047EB, 0x00003142, 0x0004003D, 0x0000000D, 0x00006234, 0x000026E6, 0x00060050, 0x00000018, 0x0000466C, 0x00006234, 0x00006234, 0x00006234, 0x00050081, 0x00000018, 0x000053D2, 0x00003F43, 0x0000466C, @@ -1315,6 +1315,6 @@ const uint32_t guest_output_ffx_cas_resample_dither_ps[] = { 0x00000000, 0x0003003E, 0x00005061, 0x00004E60, 0x00050051, 0x0000000D, 0x000057A4, 0x00004ADC, 0x00000001, 0x0003003E, 0x00004D14, 0x000057A4, 0x00050051, 0x0000000D, 0x00005673, 0x00004ADC, 0x00000002, 0x0003003E, - 0x00004CC8, 0x00005673, 0x00050041, 0x0000028C, 0x00005AFE, 0x00001400, + 0x00004CC8, 0x00005673, 0x00050041, 0x0000028C, 0x00005AFE, 0x000014D6, 0x00000A14, 0x0003003E, 0x00005AFE, 0x0000008A, 0x000100FD, 0x00010038, }; diff --git a/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_ffx_cas_resample_ps.h b/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_ffx_cas_resample_ps.h index 7c0bfa4ad..955b8d7d6 100644 --- a/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_ffx_cas_resample_ps.h +++ b/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_ffx_cas_resample_ps.h @@ -8,16 +8,16 @@ OpCapability Shader %1 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 - OpEntryPoint Fragment %5663 "main" %gl_FragCoord %5120 + OpEntryPoint Fragment %5663 "main" %gl_FragCoord %5334 OpExecutionMode %5663 OriginUpperLeft - OpDecorate %3150 DescriptorSet 0 - OpDecorate %3150 Binding 0 OpDecorate %gl_FragCoord BuiltIn FragCoord OpMemberDecorate %_struct_1048 0 Offset 16 OpMemberDecorate %_struct_1048 1 Offset 24 OpMemberDecorate %_struct_1048 2 Offset 32 OpDecorate %_struct_1048 Block - OpDecorate %5120 Location 0 + OpDecorate %5334 Location 0 + OpDecorate %5163 DescriptorSet 0 + OpDecorate %5163 Binding 0 %void = OpTypeVoid %1282 = OpTypeFunction %void %float = OpTypeFloat 32 @@ -26,9 +26,29 @@ %v2int = OpTypeVector %int 2 %v3float = OpTypeVector %float 3 %v2uint = OpTypeVector %uint 2 + %v4float = OpTypeVector %float 4 +%_ptr_Input_v4float = OpTypePointer Input %v4float +%gl_FragCoord = OpVariable %_ptr_Input_v4float Input + %v2float = OpTypeVector %float 2 +%_struct_1048 = OpTypeStruct %v2int %v2float %float +%_ptr_PushConstant__struct_1048 = OpTypePointer PushConstant %_struct_1048 + %3052 = OpVariable %_ptr_PushConstant__struct_1048 PushConstant + %int_0 = OpConstant %int 0 +%_ptr_PushConstant_v2int = OpTypePointer PushConstant %v2int + %int_1 = OpConstant %int 1 +%_ptr_PushConstant_v2float = OpTypePointer PushConstant %v2float + %float_0_5 = OpConstant %float 0.5 + %int_2 = OpConstant %int 2 +%_ptr_PushConstant_float = OpTypePointer PushConstant %float %float_0 = OpConstant %float 0 - %float_1 = OpConstant %float 1 + %uint_0 = OpConstant %uint 0 +%_ptr_Output_v4float = OpTypePointer Output %v4float + %5334 = OpVariable %_ptr_Output_v4float Output +%_ptr_Output_float = OpTypePointer Output %float %uint_1 = OpConstant %uint 1 + %uint_2 = OpConstant %uint 2 + %float_1 = OpConstant %float 1 + %uint_3 = OpConstant %uint 3 %uint_532432441 = OpConstant %uint 532432441 %uint_2129690299 = OpConstant %uint 2129690299 %uint_2129764351 = OpConstant %uint 2129764351 @@ -36,57 +56,37 @@ %150 = OpTypeImage %float 2D 0 0 0 1 Unknown %510 = OpTypeSampledImage %150 %_ptr_UniformConstant_510 = OpTypePointer UniformConstant %510 - %3150 = OpVariable %_ptr_UniformConstant_510 UniformConstant - %int_0 = OpConstant %int 0 - %v4float = OpTypeVector %float 4 + %5163 = OpVariable %_ptr_UniformConstant_510 UniformConstant %int_n1 = OpConstant %int -1 %1803 = OpConstantComposite %v2int %int_0 %int_n1 - %int_1 = OpConstant %int 1 %1812 = OpConstantComposite %v2int %int_1 %int_n1 %1806 = OpConstantComposite %v2int %int_n1 %int_0 %1824 = OpConstantComposite %v2int %int_1 %int_0 %1818 = OpConstantComposite %v2int %int_n1 %int_1 %1827 = OpConstantComposite %v2int %int_0 %int_1 %1836 = OpConstantComposite %v2int %int_1 %int_1 - %uint_0 = OpConstant %uint 0 - %uint_2 = OpConstant %uint 2 - %v2float = OpTypeVector %float 2 - %int_2 = OpConstant %int 2 %1833 = OpConstantComposite %v2int %int_2 %int_0 %1839 = OpConstantComposite %v2int %int_0 %int_2 %1845 = OpConstantComposite %v2int %int_2 %int_1 %1848 = OpConstantComposite %v2int %int_1 %int_2 %float_0_03125 = OpConstant %float 0.03125 -%_ptr_Input_v4float = OpTypePointer Input %v4float -%gl_FragCoord = OpVariable %_ptr_Input_v4float Input -%_struct_1048 = OpTypeStruct %v2int %v2float %float -%_ptr_PushConstant__struct_1048 = OpTypePointer PushConstant %_struct_1048 - %4930 = OpVariable %_ptr_PushConstant__struct_1048 PushConstant -%_ptr_PushConstant_v2int = OpTypePointer PushConstant %v2int -%_ptr_PushConstant_v2float = OpTypePointer PushConstant %v2float - %float_0_5 = OpConstant %float 0.5 -%_ptr_PushConstant_float = OpTypePointer PushConstant %float -%_ptr_Output_v4float = OpTypePointer Output %v4float - %5120 = OpVariable %_ptr_Output_v4float Output -%_ptr_Output_float = OpTypePointer Output %float - %uint_3 = OpConstant %uint 3 %1566 = OpConstantComposite %v2float %float_0_5 %float_0_5 %5663 = OpFunction %void None %1282 %24949 = OpLabel %18571 = OpLoad %v4float %gl_FragCoord %14008 = OpVectorShuffle %v2float %18571 %18571 0 1 %17656 = OpConvertFToS %v2int %14008 - %19279 = OpAccessChain %_ptr_PushConstant_v2int %4930 %int_0 + %19279 = OpAccessChain %_ptr_PushConstant_v2int %3052 %int_0 %22822 = OpLoad %v2int %19279 %23312 = OpISub %v2int %17656 %22822 %9938 = OpBitcast %v2uint %23312 - %20997 = OpAccessChain %_ptr_PushConstant_v2float %4930 %int_1 + %20997 = OpAccessChain %_ptr_PushConstant_v2float %3052 %int_1 %22579 = OpLoad %v2float %20997 %13397 = OpBitcast %v2uint %22579 %12762 = OpVectorTimesScalar %v2float %22579 %float_0_5 %24291 = OpFSub %v2float %12762 %1566 %20131 = OpBitcast %v2uint %24291 - %18575 = OpAccessChain %_ptr_PushConstant_float %4930 %int_2 + %18575 = OpAccessChain %_ptr_PushConstant_float %3052 %int_2 %22009 = OpLoad %float %18575 %18454 = OpBitcast %uint %22009 %12011 = OpConvertUToF %v2float %9938 @@ -98,7 +98,7 @@ %16290 = OpFSub %v2float %24878 %12719 %17064 = OpConvertFToS %v2int %12719 %20663 = OpIAdd %v2int %17064 %1803 - %16731 = OpLoad %510 %3150 + %16731 = OpLoad %510 %5163 %23618 = OpImage %150 %16731 %16595 = OpImageFetch %v4float %23618 %20663 Lod %int_0 %15454 = OpIAdd %v2int %17064 %1806 @@ -415,13 +415,13 @@ %15975 = OpFAdd %float %18176 %9469 %6921 = OpFMul %float %15975 %9442 %24941 = OpExtInst %float %1 FClamp %6921 %float_0 %float_1 - %20577 = OpAccessChain %_ptr_Output_float %5120 %uint_0 + %20577 = OpAccessChain %_ptr_Output_float %5334 %uint_0 OpStore %20577 %15218 - %19732 = OpAccessChain %_ptr_Output_float %5120 %uint_1 + %19732 = OpAccessChain %_ptr_Output_float %5334 %uint_1 OpStore %19732 %15219 - %19656 = OpAccessChain %_ptr_Output_float %5120 %uint_2 + %19656 = OpAccessChain %_ptr_Output_float %5334 %uint_2 OpStore %19656 %24941 - %10445 = OpLoad %v4float %5120 + %10445 = OpLoad %v4float %5334 %9111 = OpVectorShuffle %v3float %10445 %10445 0 1 2 %17911 = OpExtInst %v3float %1 Sqrt %9111 %7131 = OpCompositeExtract %float %17911 0 @@ -430,7 +430,7 @@ OpStore %19732 %22435 %22131 = OpCompositeExtract %float %17911 2 OpStore %19656 %22131 - %23294 = OpAccessChain %_ptr_Output_float %5120 %uint_3 + %23294 = OpAccessChain %_ptr_Output_float %5334 %uint_3 OpStore %23294 %float_1 OpReturn OpFunctionEnd @@ -440,63 +440,63 @@ const uint32_t guest_output_ffx_cas_resample_ps[] = { 0x07230203, 0x00010000, 0x0008000A, 0x0000627D, 0x00000000, 0x00020011, 0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E, 0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0007000F, 0x00000004, - 0x0000161F, 0x6E69616D, 0x00000000, 0x00000C93, 0x00001400, 0x00030010, - 0x0000161F, 0x00000007, 0x00040047, 0x00000C4E, 0x00000022, 0x00000000, - 0x00040047, 0x00000C4E, 0x00000021, 0x00000000, 0x00040047, 0x00000C93, - 0x0000000B, 0x0000000F, 0x00050048, 0x00000418, 0x00000000, 0x00000023, - 0x00000010, 0x00050048, 0x00000418, 0x00000001, 0x00000023, 0x00000018, - 0x00050048, 0x00000418, 0x00000002, 0x00000023, 0x00000020, 0x00030047, - 0x00000418, 0x00000002, 0x00040047, 0x00001400, 0x0000001E, 0x00000000, + 0x0000161F, 0x6E69616D, 0x00000000, 0x00000C93, 0x000014D6, 0x00030010, + 0x0000161F, 0x00000007, 0x00040047, 0x00000C93, 0x0000000B, 0x0000000F, + 0x00050048, 0x00000418, 0x00000000, 0x00000023, 0x00000010, 0x00050048, + 0x00000418, 0x00000001, 0x00000023, 0x00000018, 0x00050048, 0x00000418, + 0x00000002, 0x00000023, 0x00000020, 0x00030047, 0x00000418, 0x00000002, + 0x00040047, 0x000014D6, 0x0000001E, 0x00000000, 0x00040047, 0x0000142B, + 0x00000022, 0x00000000, 0x00040047, 0x0000142B, 0x00000021, 0x00000000, 0x00020013, 0x00000008, 0x00030021, 0x00000502, 0x00000008, 0x00030016, 0x0000000D, 0x00000020, 0x00040015, 0x0000000B, 0x00000020, 0x00000000, 0x00040015, 0x0000000C, 0x00000020, 0x00000001, 0x00040017, 0x00000012, 0x0000000C, 0x00000002, 0x00040017, 0x00000018, 0x0000000D, 0x00000003, - 0x00040017, 0x00000011, 0x0000000B, 0x00000002, 0x0004002B, 0x0000000D, - 0x00000A0C, 0x00000000, 0x0004002B, 0x0000000D, 0x0000008A, 0x3F800000, - 0x0004002B, 0x0000000B, 0x00000A0D, 0x00000001, 0x0004002B, 0x0000000B, - 0x0000020D, 0x1FBC4639, 0x0004002B, 0x0000000B, 0x00000344, 0x7EF07EBB, - 0x0004002B, 0x0000000B, 0x000000B2, 0x7EF19FFF, 0x0004002B, 0x0000000D, - 0x00000019, 0x40000000, 0x00090019, 0x00000096, 0x0000000D, 0x00000001, - 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x0003001B, - 0x000001FE, 0x00000096, 0x00040020, 0x0000047B, 0x00000000, 0x000001FE, - 0x0004003B, 0x0000047B, 0x00000C4E, 0x00000000, 0x0004002B, 0x0000000C, - 0x00000A0B, 0x00000000, 0x00040017, 0x0000001D, 0x0000000D, 0x00000004, - 0x0004002B, 0x0000000C, 0x00000A08, 0xFFFFFFFF, 0x0005002C, 0x00000012, - 0x0000070B, 0x00000A0B, 0x00000A08, 0x0004002B, 0x0000000C, 0x00000A0E, - 0x00000001, 0x0005002C, 0x00000012, 0x00000714, 0x00000A0E, 0x00000A08, - 0x0005002C, 0x00000012, 0x0000070E, 0x00000A08, 0x00000A0B, 0x0005002C, - 0x00000012, 0x00000720, 0x00000A0E, 0x00000A0B, 0x0005002C, 0x00000012, - 0x0000071A, 0x00000A08, 0x00000A0E, 0x0005002C, 0x00000012, 0x00000723, - 0x00000A0B, 0x00000A0E, 0x0005002C, 0x00000012, 0x0000072C, 0x00000A0E, - 0x00000A0E, 0x0004002B, 0x0000000B, 0x00000A0A, 0x00000000, 0x0004002B, - 0x0000000B, 0x00000A10, 0x00000002, 0x00040017, 0x00000013, 0x0000000D, - 0x00000002, 0x0004002B, 0x0000000C, 0x00000A11, 0x00000002, 0x0005002C, - 0x00000012, 0x00000729, 0x00000A11, 0x00000A0B, 0x0005002C, 0x00000012, - 0x0000072F, 0x00000A0B, 0x00000A11, 0x0005002C, 0x00000012, 0x00000735, - 0x00000A11, 0x00000A0E, 0x0005002C, 0x00000012, 0x00000738, 0x00000A0E, - 0x00000A11, 0x0004002B, 0x0000000D, 0x000002C4, 0x3D000000, 0x00040020, - 0x0000029A, 0x00000001, 0x0000001D, 0x0004003B, 0x0000029A, 0x00000C93, - 0x00000001, 0x0005001E, 0x00000418, 0x00000012, 0x00000013, 0x0000000D, - 0x00040020, 0x00000695, 0x00000009, 0x00000418, 0x0004003B, 0x00000695, - 0x00001342, 0x00000009, 0x00040020, 0x0000028F, 0x00000009, 0x00000012, - 0x00040020, 0x00000290, 0x00000009, 0x00000013, 0x0004002B, 0x0000000D, - 0x000000FC, 0x3F000000, 0x00040020, 0x0000028A, 0x00000009, 0x0000000D, - 0x00040020, 0x0000029B, 0x00000003, 0x0000001D, 0x0004003B, 0x0000029B, - 0x00001400, 0x00000003, 0x00040020, 0x0000028B, 0x00000003, 0x0000000D, - 0x0004002B, 0x0000000B, 0x00000A13, 0x00000003, 0x0005002C, 0x00000013, + 0x00040017, 0x00000011, 0x0000000B, 0x00000002, 0x00040017, 0x0000001D, + 0x0000000D, 0x00000004, 0x00040020, 0x0000029A, 0x00000001, 0x0000001D, + 0x0004003B, 0x0000029A, 0x00000C93, 0x00000001, 0x00040017, 0x00000013, + 0x0000000D, 0x00000002, 0x0005001E, 0x00000418, 0x00000012, 0x00000013, + 0x0000000D, 0x00040020, 0x00000695, 0x00000009, 0x00000418, 0x0004003B, + 0x00000695, 0x00000BEC, 0x00000009, 0x0004002B, 0x0000000C, 0x00000A0B, + 0x00000000, 0x00040020, 0x0000028F, 0x00000009, 0x00000012, 0x0004002B, + 0x0000000C, 0x00000A0E, 0x00000001, 0x00040020, 0x00000290, 0x00000009, + 0x00000013, 0x0004002B, 0x0000000D, 0x000000FC, 0x3F000000, 0x0004002B, + 0x0000000C, 0x00000A11, 0x00000002, 0x00040020, 0x0000028A, 0x00000009, + 0x0000000D, 0x0004002B, 0x0000000D, 0x00000A0C, 0x00000000, 0x0004002B, + 0x0000000B, 0x00000A0A, 0x00000000, 0x00040020, 0x0000029B, 0x00000003, + 0x0000001D, 0x0004003B, 0x0000029B, 0x000014D6, 0x00000003, 0x00040020, + 0x0000028B, 0x00000003, 0x0000000D, 0x0004002B, 0x0000000B, 0x00000A0D, + 0x00000001, 0x0004002B, 0x0000000B, 0x00000A10, 0x00000002, 0x0004002B, + 0x0000000D, 0x0000008A, 0x3F800000, 0x0004002B, 0x0000000B, 0x00000A13, + 0x00000003, 0x0004002B, 0x0000000B, 0x0000020D, 0x1FBC4639, 0x0004002B, + 0x0000000B, 0x00000344, 0x7EF07EBB, 0x0004002B, 0x0000000B, 0x000000B2, + 0x7EF19FFF, 0x0004002B, 0x0000000D, 0x00000019, 0x40000000, 0x00090019, + 0x00000096, 0x0000000D, 0x00000001, 0x00000000, 0x00000000, 0x00000000, + 0x00000001, 0x00000000, 0x0003001B, 0x000001FE, 0x00000096, 0x00040020, + 0x0000047B, 0x00000000, 0x000001FE, 0x0004003B, 0x0000047B, 0x0000142B, + 0x00000000, 0x0004002B, 0x0000000C, 0x00000A08, 0xFFFFFFFF, 0x0005002C, + 0x00000012, 0x0000070B, 0x00000A0B, 0x00000A08, 0x0005002C, 0x00000012, + 0x00000714, 0x00000A0E, 0x00000A08, 0x0005002C, 0x00000012, 0x0000070E, + 0x00000A08, 0x00000A0B, 0x0005002C, 0x00000012, 0x00000720, 0x00000A0E, + 0x00000A0B, 0x0005002C, 0x00000012, 0x0000071A, 0x00000A08, 0x00000A0E, + 0x0005002C, 0x00000012, 0x00000723, 0x00000A0B, 0x00000A0E, 0x0005002C, + 0x00000012, 0x0000072C, 0x00000A0E, 0x00000A0E, 0x0005002C, 0x00000012, + 0x00000729, 0x00000A11, 0x00000A0B, 0x0005002C, 0x00000012, 0x0000072F, + 0x00000A0B, 0x00000A11, 0x0005002C, 0x00000012, 0x00000735, 0x00000A11, + 0x00000A0E, 0x0005002C, 0x00000012, 0x00000738, 0x00000A0E, 0x00000A11, + 0x0004002B, 0x0000000D, 0x000002C4, 0x3D000000, 0x0005002C, 0x00000013, 0x0000061E, 0x000000FC, 0x000000FC, 0x00050036, 0x00000008, 0x0000161F, 0x00000000, 0x00000502, 0x000200F8, 0x00006175, 0x0004003D, 0x0000001D, 0x0000488B, 0x00000C93, 0x0007004F, 0x00000013, 0x000036B8, 0x0000488B, 0x0000488B, 0x00000000, 0x00000001, 0x0004006E, 0x00000012, 0x000044F8, - 0x000036B8, 0x00050041, 0x0000028F, 0x00004B4F, 0x00001342, 0x00000A0B, + 0x000036B8, 0x00050041, 0x0000028F, 0x00004B4F, 0x00000BEC, 0x00000A0B, 0x0004003D, 0x00000012, 0x00005926, 0x00004B4F, 0x00050082, 0x00000012, 0x00005B10, 0x000044F8, 0x00005926, 0x0004007C, 0x00000011, 0x000026D2, - 0x00005B10, 0x00050041, 0x00000290, 0x00005205, 0x00001342, 0x00000A0E, + 0x00005B10, 0x00050041, 0x00000290, 0x00005205, 0x00000BEC, 0x00000A0E, 0x0004003D, 0x00000013, 0x00005833, 0x00005205, 0x0004007C, 0x00000011, 0x00003455, 0x00005833, 0x0005008E, 0x00000013, 0x000031DA, 0x00005833, 0x000000FC, 0x00050083, 0x00000013, 0x00005EE3, 0x000031DA, 0x0000061E, 0x0004007C, 0x00000011, 0x00004EA3, 0x00005EE3, 0x00050041, 0x0000028A, - 0x0000488F, 0x00001342, 0x00000A11, 0x0004003D, 0x0000000D, 0x000055F9, + 0x0000488F, 0x00000BEC, 0x00000A11, 0x0004003D, 0x0000000D, 0x000055F9, 0x0000488F, 0x0004007C, 0x0000000B, 0x00004816, 0x000055F9, 0x00040070, 0x00000013, 0x00002EEB, 0x000026D2, 0x0004007C, 0x00000013, 0x00004BF9, 0x00003455, 0x00050085, 0x00000013, 0x000042F3, 0x00002EEB, 0x00004BF9, @@ -505,7 +505,7 @@ const uint32_t guest_output_ffx_cas_resample_ps[] = { 0x00000001, 0x00000008, 0x0000612E, 0x00050083, 0x00000013, 0x00003FA2, 0x0000612E, 0x000031AF, 0x0004006E, 0x00000012, 0x000042A8, 0x000031AF, 0x00050080, 0x00000012, 0x000050B7, 0x000042A8, 0x0000070B, 0x0004003D, - 0x000001FE, 0x0000415B, 0x00000C4E, 0x00040064, 0x00000096, 0x00005C42, + 0x000001FE, 0x0000415B, 0x0000142B, 0x00040064, 0x00000096, 0x00005C42, 0x0000415B, 0x0007005F, 0x0000001D, 0x000040D3, 0x00005C42, 0x000050B7, 0x00000002, 0x00000A0B, 0x00050080, 0x00000012, 0x00003C5E, 0x000042A8, 0x0000070E, 0x00040064, 0x00000096, 0x00004DF7, 0x0000415B, 0x0007005F, @@ -782,17 +782,17 @@ const uint32_t guest_output_ffx_cas_resample_ps[] = { 0x00003E67, 0x00004700, 0x000024FD, 0x00050085, 0x0000000D, 0x00001B09, 0x00003E67, 0x000024E2, 0x0008000C, 0x0000000D, 0x0000616D, 0x00000001, 0x0000002B, 0x00001B09, 0x00000A0C, 0x0000008A, 0x00050041, 0x0000028B, - 0x00005061, 0x00001400, 0x00000A0A, 0x0003003E, 0x00005061, 0x00003B72, - 0x00050041, 0x0000028B, 0x00004D14, 0x00001400, 0x00000A0D, 0x0003003E, - 0x00004D14, 0x00003B73, 0x00050041, 0x0000028B, 0x00004CC8, 0x00001400, + 0x00005061, 0x000014D6, 0x00000A0A, 0x0003003E, 0x00005061, 0x00003B72, + 0x00050041, 0x0000028B, 0x00004D14, 0x000014D6, 0x00000A0D, 0x0003003E, + 0x00004D14, 0x00003B73, 0x00050041, 0x0000028B, 0x00004CC8, 0x000014D6, 0x00000A10, 0x0003003E, 0x00004CC8, 0x0000616D, 0x0004003D, 0x0000001D, - 0x000028CD, 0x00001400, 0x0008004F, 0x00000018, 0x00002397, 0x000028CD, + 0x000028CD, 0x000014D6, 0x0008004F, 0x00000018, 0x00002397, 0x000028CD, 0x000028CD, 0x00000000, 0x00000001, 0x00000002, 0x0006000C, 0x00000018, 0x000045F7, 0x00000001, 0x0000001F, 0x00002397, 0x00050051, 0x0000000D, 0x00001BDB, 0x000045F7, 0x00000000, 0x0003003E, 0x00005061, 0x00001BDB, 0x00050051, 0x0000000D, 0x000057A3, 0x000045F7, 0x00000001, 0x0003003E, 0x00004D14, 0x000057A3, 0x00050051, 0x0000000D, 0x00005673, 0x000045F7, 0x00000002, 0x0003003E, 0x00004CC8, 0x00005673, 0x00050041, 0x0000028B, - 0x00005AFE, 0x00001400, 0x00000A13, 0x0003003E, 0x00005AFE, 0x0000008A, + 0x00005AFE, 0x000014D6, 0x00000A13, 0x0003003E, 0x00005AFE, 0x0000008A, 0x000100FD, 0x00010038, }; diff --git a/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_ffx_cas_sharpen_dither_ps.h b/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_ffx_cas_sharpen_dither_ps.h index c3724be60..5e7862cdc 100644 --- a/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_ffx_cas_sharpen_dither_ps.h +++ b/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_ffx_cas_sharpen_dither_ps.h @@ -3,29 +3,33 @@ ; SPIR-V ; Version: 1.0 ; Generator: Khronos Glslang Reference Front End; 10 -; Bound: 25213 +; Bound: 25141 ; Schema: 0 OpCapability Shader %1 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 - OpEntryPoint Fragment %5663 "main" %gl_FragCoord %5120 + OpEntryPoint Fragment %5663 "main" %gl_FragCoord %5334 OpExecutionMode %5663 OriginUpperLeft - OpDecorate %3150 DescriptorSet 0 - OpDecorate %3150 Binding 0 OpDecorate %gl_FragCoord BuiltIn FragCoord OpMemberDecorate %_struct_1010 0 Offset 16 OpMemberDecorate %_struct_1010 1 Offset 24 OpDecorate %_struct_1010 Block - OpDecorate %5120 Location 0 + OpDecorate %5334 Location 0 + OpDecorate %5163 DescriptorSet 0 + OpDecorate %5163 Binding 0 %void = OpTypeVoid %1282 = OpTypeFunction %void + %float = OpTypeFloat 32 + %v3float = OpTypeVector %float 3 %uint = OpTypeInt 32 0 %v2uint = OpTypeVector %uint 2 - %float = OpTypeFloat 32 %_ptr_Function_float = OpTypePointer Function %float %int = OpTypeInt 32 1 %v2int = OpTypeVector %int 2 - %v3float = OpTypeVector %float 3 + %float_0 = OpConstant %float 0 + %2604 = OpConstantComposite %v3float %float_0 %float_0 %float_0 + %float_1 = OpConstant %float 1 + %2582 = OpConstantComposite %v3float %float_1 %float_1 %float_1 %uint_15 = OpConstant %uint 15 %uint_256 = OpConstant %uint 256 %_arr_float_uint_256 = OpTypeArray %float %uint_256 @@ -285,13 +289,27 @@ %float_0_000819546578 = OpConstant %float 0.000819546578 %float_0_00184589461 = OpConstant %float 0.00184589461 %float_0_000467218139 = OpConstant %float 0.000467218139 - %2127 = OpConstantComposite %_arr_float_uint_256 %float_n0_00100337015 %float_0_000880821084 %float_0_00169270835 %float_n0_00155484071 %float_0_00127910543 %float_n0_000605085806 %float_0_00106464466 %float_n0_00138633582 %float_0_00135569857 %float_0_000513174047 %float_0_00121783093 %float_n0_00160079659 %float_0_00058976718 %float_n0_00028339462 %float_0_00111060054 %float_n0_00141697307 %float_0_00144761032 %float_n0_0005438113 %float_0_00013020834 %float_n0_0012025123 %float_0_000436580885 %float_n0_00104932603 %float_0_000620404433 %float_n0_000482536765 %float_0_00187653187 %float_n0_00109528191 %float_n9_95710798en05 %float_n0_000528492674 %float_0_0014322917 %float_n0_00193780637 %float_n0_000696997566 %float_3_829657en05 %float_0_000712316192 %float_n0_00130974269 %float_0_00109528191 %float_n0_000298713247 %float_0_00175398286 %float_n0_00167738972 %float_0_00147824758 %float_n3_829657en05 %float_0_000788909325 %float_n0_00183057599 %float_0_000298713247 %float_0_000988051528 %float_n0_00117187505 %float_0_00017616422 %float_0_00164675247 %float_n0_00158547796 %float_0_000344669126 %float_0_00186121324 %float_n0_00176930148 %float_n0_000865502458 %float_0_000896139711 %float_0_000160845593 %float_n0_000926776964 %float_n0_00152420346 %float_n0_000651041686 %float_0_00129442406 %float_n0_000804227951 %float_n0_00146292895 %float_0_00179993873 %float_n0_000850183831 %float_0_000850183831 %float_n0_000451899512 %float_n0_00106464466 %float_n0_000145526967 %float_0_000237438726 %float_0_00141697307 %float_n0_00058976718 %float_n0_000191482846 %float_0_00160079659 %float_0_00101868878 %float_0_000405943632 %float_n0_000206801473 %float_0_00158547796 %float_0_000651041686 %float_n6_89338267en05 %float_0_000421262259 %float_n0_00164675247 %float_0_00137101719 %float_0_000926776964 %float_n0_000666360313 %float_0_00118719367 %float_n0_00144761032 %float_0_000574448553 %float_n0_00189185049 %float_0_000758272072 %float_n0_00129442406 %float_0_00192248775 %float_n0_0016620711 %float_n0_00103400741 %float_n0_000497855421 %float_n0_00186121324 %float_0_0012025123 %float_n0_0003293505 %float_n0_00137101719 %float_0_00163143384 %float_n0_00184589461 %float_0_000727634819 %float_n0_000911458337 %float_0_00181525736 %float_n0_00114123779 %float_n0_000375306379 %float_9_95710798en05 %float_n0_000742953445 %float_0_00117187505 %float_6_89338267en05 %float_0_0014935662 %float_0_000972732843 %float_n0_000957414217 %float_0_00193780637 %float_0_000528492674 %float_5_36151965en05 %float_n0_00124846818 %float_n0_000268075994 %float_0_00153952208 %float_n7_65931418en06 %float_0_000314031873 %float_0_00134037994 %float_n0_00175398286 %float_0_000497855421 %float_n0_00118719367 %float_0_000773590698 %float_n0_00134037994 %float_0_000268075994 %float_n0_00147824758 %float_n0_00013020834 %float_n0_000773590698 %float_0_00130974269 %float_0_000390625006 %float_0_000957414217 %float_n0_000467218139 %float_n0_00153952208 %float_0_00103400741 %float_n0_000681678939 %float_0_00167738972 %float_0_00100337015 %float_n0_000421262259 %float_0_00178462011 %float_n0_000237438726 %float_n0_000620404433 %float_0_0016620711 %float_0_000834865205 %float_n0_0017233456 %float_n0_00107996329 %float_0_00176930148 %float_n0_000788909325 %float_n0_00178462011 %float_0_000681678939 %float_n0_000988051528 %float_n0_00132506131 %float_n0_00017616422 %float_n0_00150888483 %float_0_0003293505 %float_n0_001953125 %float_0_000666360313 %float_n0_00161611522 %float_0_00115655642 %float_0_000451899512 %float_n0_000436580885 %float_0_000191482846 %float_n0_0014935662 %float_0_00114123779 %float_8_42524532en05 %float_0_00189185049 %float_0_00140165444 %float_0_000559129927 %float_0_000114889706 %float_0_00126378681 %float_n0_000574448553 %float_n0_000972732843 %float_0_00132506131 %float_0_000222120099 %float_n0_000758272072 %float_n0_00135569857 %float_0_00146292895 %float_0_000865502458 %float_n0_000359987753 %float_0_0005438113 %float_n0_00112591917 %float_n0_000252757367 %float_n0_000559129927 %float_n0_00181525736 %float_0_0017233456 %float_n0_00115655642 %float_0_000742953445 %float_0_00157015934 %float_n0_000114889706 %float_n0_00121783093 %float_0_00183057599 %float_2_29779416en05 %float_n0_00192248775 %float_0_00173866423 %float_n0_000712316192 %float_0_00155484071 %float_n0_00170802698 %float_0_00123314955 %float_0_000206801473 %float_0_00104932603 %float_n0_000727634819 %float_n0_00163143384 %float_n0_000314031873 %float_0_000482536765 %float_n0_00179993873 %float_0_00094209559 %float_n0_000344669126 %float_0_000696997566 %float_n0_00101868878 %float_n0_00157015934 %float_n2_29779416en05 %float_n0_00127910543 %float_0_000804227951 %float_n0_000896139711 %float_n0_0014322917 %float_0_000605085806 %float_n8_42524532en05 %float_0_000911458337 %float_0_001953125 %float_n0_00140165444 %float_n0_00063572306 %float_0_00150888483 %float_n0_000819546578 %float_0_00124846818 %float_0_000252757367 %float_0_00152420346 %float_0_00112591917 %float_0_000359987753 %float_n0_000390625006 %float_0_00190716912 %float_0_00138633582 %float_n0_00111060054 %float_0_00161611522 %float_n0_000880821084 %float_0_000145526967 %float_0_00107996329 %float_n5_36151965en05 %float_0_00028339462 %float_n0_00169270835 %float_n0_00126378681 %float_n0_000513174047 %float_n0_000160845593 %float_n0_00187653187 %float_n0_000834865205 %float_0_00063572306 %float_7_65931418en06 %float_n0_00190716912 %float_n0_000222120099 %float_0_000375306379 %float_n0_00173866423 %float_n0_000405943632 %float_n0_00123314955 %float_0_00170802698 %float_n0_00094209559 %float_0_000819546578 %float_0_00184589461 %float_0_000467218139 + %2192 = OpConstantComposite %_arr_float_uint_256 %float_n0_00100337015 %float_0_000880821084 %float_0_00169270835 %float_n0_00155484071 %float_0_00127910543 %float_n0_000605085806 %float_0_00106464466 %float_n0_00138633582 %float_0_00135569857 %float_0_000513174047 %float_0_00121783093 %float_n0_00160079659 %float_0_00058976718 %float_n0_00028339462 %float_0_00111060054 %float_n0_00141697307 %float_0_00144761032 %float_n0_0005438113 %float_0_00013020834 %float_n0_0012025123 %float_0_000436580885 %float_n0_00104932603 %float_0_000620404433 %float_n0_000482536765 %float_0_00187653187 %float_n0_00109528191 %float_n9_95710798en05 %float_n0_000528492674 %float_0_0014322917 %float_n0_00193780637 %float_n0_000696997566 %float_3_829657en05 %float_0_000712316192 %float_n0_00130974269 %float_0_00109528191 %float_n0_000298713247 %float_0_00175398286 %float_n0_00167738972 %float_0_00147824758 %float_n3_829657en05 %float_0_000788909325 %float_n0_00183057599 %float_0_000298713247 %float_0_000988051528 %float_n0_00117187505 %float_0_00017616422 %float_0_00164675247 %float_n0_00158547796 %float_0_000344669126 %float_0_00186121324 %float_n0_00176930148 %float_n0_000865502458 %float_0_000896139711 %float_0_000160845593 %float_n0_000926776964 %float_n0_00152420346 %float_n0_000651041686 %float_0_00129442406 %float_n0_000804227951 %float_n0_00146292895 %float_0_00179993873 %float_n0_000850183831 %float_0_000850183831 %float_n0_000451899512 %float_n0_00106464466 %float_n0_000145526967 %float_0_000237438726 %float_0_00141697307 %float_n0_00058976718 %float_n0_000191482846 %float_0_00160079659 %float_0_00101868878 %float_0_000405943632 %float_n0_000206801473 %float_0_00158547796 %float_0_000651041686 %float_n6_89338267en05 %float_0_000421262259 %float_n0_00164675247 %float_0_00137101719 %float_0_000926776964 %float_n0_000666360313 %float_0_00118719367 %float_n0_00144761032 %float_0_000574448553 %float_n0_00189185049 %float_0_000758272072 %float_n0_00129442406 %float_0_00192248775 %float_n0_0016620711 %float_n0_00103400741 %float_n0_000497855421 %float_n0_00186121324 %float_0_0012025123 %float_n0_0003293505 %float_n0_00137101719 %float_0_00163143384 %float_n0_00184589461 %float_0_000727634819 %float_n0_000911458337 %float_0_00181525736 %float_n0_00114123779 %float_n0_000375306379 %float_9_95710798en05 %float_n0_000742953445 %float_0_00117187505 %float_6_89338267en05 %float_0_0014935662 %float_0_000972732843 %float_n0_000957414217 %float_0_00193780637 %float_0_000528492674 %float_5_36151965en05 %float_n0_00124846818 %float_n0_000268075994 %float_0_00153952208 %float_n7_65931418en06 %float_0_000314031873 %float_0_00134037994 %float_n0_00175398286 %float_0_000497855421 %float_n0_00118719367 %float_0_000773590698 %float_n0_00134037994 %float_0_000268075994 %float_n0_00147824758 %float_n0_00013020834 %float_n0_000773590698 %float_0_00130974269 %float_0_000390625006 %float_0_000957414217 %float_n0_000467218139 %float_n0_00153952208 %float_0_00103400741 %float_n0_000681678939 %float_0_00167738972 %float_0_00100337015 %float_n0_000421262259 %float_0_00178462011 %float_n0_000237438726 %float_n0_000620404433 %float_0_0016620711 %float_0_000834865205 %float_n0_0017233456 %float_n0_00107996329 %float_0_00176930148 %float_n0_000788909325 %float_n0_00178462011 %float_0_000681678939 %float_n0_000988051528 %float_n0_00132506131 %float_n0_00017616422 %float_n0_00150888483 %float_0_0003293505 %float_n0_001953125 %float_0_000666360313 %float_n0_00161611522 %float_0_00115655642 %float_0_000451899512 %float_n0_000436580885 %float_0_000191482846 %float_n0_0014935662 %float_0_00114123779 %float_8_42524532en05 %float_0_00189185049 %float_0_00140165444 %float_0_000559129927 %float_0_000114889706 %float_0_00126378681 %float_n0_000574448553 %float_n0_000972732843 %float_0_00132506131 %float_0_000222120099 %float_n0_000758272072 %float_n0_00135569857 %float_0_00146292895 %float_0_000865502458 %float_n0_000359987753 %float_0_0005438113 %float_n0_00112591917 %float_n0_000252757367 %float_n0_000559129927 %float_n0_00181525736 %float_0_0017233456 %float_n0_00115655642 %float_0_000742953445 %float_0_00157015934 %float_n0_000114889706 %float_n0_00121783093 %float_0_00183057599 %float_2_29779416en05 %float_n0_00192248775 %float_0_00173866423 %float_n0_000712316192 %float_0_00155484071 %float_n0_00170802698 %float_0_00123314955 %float_0_000206801473 %float_0_00104932603 %float_n0_000727634819 %float_n0_00163143384 %float_n0_000314031873 %float_0_000482536765 %float_n0_00179993873 %float_0_00094209559 %float_n0_000344669126 %float_0_000696997566 %float_n0_00101868878 %float_n0_00157015934 %float_n2_29779416en05 %float_n0_00127910543 %float_0_000804227951 %float_n0_000896139711 %float_n0_0014322917 %float_0_000605085806 %float_n8_42524532en05 %float_0_000911458337 %float_0_001953125 %float_n0_00140165444 %float_n0_00063572306 %float_0_00150888483 %float_n0_000819546578 %float_0_00124846818 %float_0_000252757367 %float_0_00152420346 %float_0_00112591917 %float_0_000359987753 %float_n0_000390625006 %float_0_00190716912 %float_0_00138633582 %float_n0_00111060054 %float_0_00161611522 %float_n0_000880821084 %float_0_000145526967 %float_0_00107996329 %float_n5_36151965en05 %float_0_00028339462 %float_n0_00169270835 %float_n0_00126378681 %float_n0_000513174047 %float_n0_000160845593 %float_n0_00187653187 %float_n0_000834865205 %float_0_00063572306 %float_7_65931418en06 %float_n0_00190716912 %float_n0_000222120099 %float_0_000375306379 %float_n0_00173866423 %float_n0_000405943632 %float_n0_00123314955 %float_0_00170802698 %float_n0_00094209559 %float_0_000819546578 %float_0_00184589461 %float_0_000467218139 %uint_1 = OpConstant %uint 1 %uint_16 = OpConstant %uint 16 %uint_0 = OpConstant %uint 0 %_ptr_Function__arr_float_uint_256 = OpTypePointer Function %_arr_float_uint_256 - %float_0 = OpConstant %float 0 - %float_1 = OpConstant %float 1 + %v4float = OpTypeVector %float 4 +%_ptr_Input_v4float = OpTypePointer Input %v4float +%gl_FragCoord = OpVariable %_ptr_Input_v4float Input + %v2float = OpTypeVector %float 2 +%_struct_1010 = OpTypeStruct %v2int %float +%_ptr_PushConstant__struct_1010 = OpTypePointer PushConstant %_struct_1010 + %3052 = OpVariable %_ptr_PushConstant__struct_1010 PushConstant + %int_0 = OpConstant %int 0 +%_ptr_PushConstant_v2int = OpTypePointer PushConstant %v2int + %int_1 = OpConstant %int 1 +%_ptr_PushConstant_float = OpTypePointer PushConstant %float +%_ptr_Output_v4float = OpTypePointer Output %v4float + %5334 = OpVariable %_ptr_Output_v4float Output +%_ptr_Output_float = OpTypePointer Output %float + %uint_2 = OpConstant %uint 2 + %uint_3 = OpConstant %uint 3 %uint_532432441 = OpConstant %uint 532432441 %uint_2129690299 = OpConstant %uint 2129690299 %uint_2129764351 = OpConstant %uint 2129764351 @@ -299,39 +317,13 @@ %151 = OpTypeImage %float 2D 0 0 0 1 Unknown %510 = OpTypeSampledImage %151 %_ptr_UniformConstant_510 = OpTypePointer UniformConstant %510 - %3150 = OpVariable %_ptr_UniformConstant_510 UniformConstant - %int_0 = OpConstant %int 0 - %v4float = OpTypeVector %float 4 + %5163 = OpVariable %_ptr_UniformConstant_510 UniformConstant %int_n1 = OpConstant %int -1 %1803 = OpConstantComposite %v2int %int_0 %int_n1 - %int_1 = OpConstant %int 1 - %1812 = OpConstantComposite %v2int %int_1 %int_n1 %1806 = OpConstantComposite %v2int %int_n1 %int_0 %1824 = OpConstantComposite %v2int %int_1 %int_0 - %1818 = OpConstantComposite %v2int %int_n1 %int_1 %1827 = OpConstantComposite %v2int %int_0 %int_1 - %1836 = OpConstantComposite %v2int %int_1 %int_1 - %uint_2 = OpConstant %uint 2 - %v2float = OpTypeVector %float 2 - %int_2 = OpConstant %int 2 - %1833 = OpConstantComposite %v2int %int_2 %int_0 - %1839 = OpConstantComposite %v2int %int_0 %int_2 - %1845 = OpConstantComposite %v2int %int_2 %int_1 - %1848 = OpConstantComposite %v2int %int_1 %int_2 -%float_0_03125 = OpConstant %float 0.03125 -%_ptr_Input_v4float = OpTypePointer Input %v4float -%gl_FragCoord = OpVariable %_ptr_Input_v4float Input -%_struct_1010 = OpTypeStruct %v2int %float -%_ptr_PushConstant__struct_1010 = OpTypePointer PushConstant %_struct_1010 - %4930 = OpVariable %_ptr_PushConstant__struct_1010 PushConstant -%_ptr_PushConstant_v2int = OpTypePointer PushConstant %v2int -%_ptr_PushConstant_float = OpTypePointer PushConstant %float -%_ptr_Output_v4float = OpTypePointer Output %v4float - %5120 = OpVariable %_ptr_Output_v4float Output -%_ptr_Output_float = OpTypePointer Output %float - %2604 = OpConstantComposite %v3float %float_0 %float_0 %float_0 - %2582 = OpConstantComposite %v3float %float_1 %float_1 %float_1 - %uint_3 = OpConstant %uint 3 + %float_4 = OpConstant %float 4 %2122 = OpConstantComposite %v2uint %uint_15 %uint_15 %5663 = OpFunction %void None %1282 %24953 = OpLabel @@ -339,342 +331,117 @@ %22087 = OpLoad %v4float %gl_FragCoord %6562 = OpVectorShuffle %v2float %22087 %22087 0 1 %17656 = OpConvertFToS %v2int %6562 - %19279 = OpAccessChain %_ptr_PushConstant_v2int %4930 %int_0 + %19279 = OpAccessChain %_ptr_PushConstant_v2int %3052 %int_0 %22822 = OpLoad %v2int %19279 %23312 = OpISub %v2int %17656 %22822 %9938 = OpBitcast %v2uint %23312 - %20997 = OpAccessChain %_ptr_PushConstant_float %4930 %int_1 - %22009 = OpLoad %float %20997 - %16334 = OpBitcast %uint %22009 - %24250 = OpConvertUToF %v2float %9938 - %23709 = OpExtInst %v2float %1 Floor %24250 - %12265 = OpFSub %v2float %24250 %23709 - %17064 = OpConvertFToS %v2int %23709 - %20663 = OpIAdd %v2int %17064 %1803 - %16731 = OpLoad %510 %3150 - %23618 = OpImage %151 %16731 - %16595 = OpImageFetch %v4float %23618 %20663 Lod %int_0 - %15454 = OpIAdd %v2int %17064 %1806 - %19959 = OpImage %151 %16731 + %20997 = OpAccessChain %_ptr_PushConstant_float %3052 %int_1 + %22237 = OpLoad %float %20997 + %16454 = OpBitcast %uint %22237 + %6990 = OpBitcast %v2int %9938 + %14460 = OpIAdd %v2int %6990 %1803 + %21565 = OpLoad %510 %5163 + %23618 = OpImage %151 %21565 + %16595 = OpImageFetch %v4float %23618 %14460 Lod %int_0 + %15454 = OpIAdd %v2int %6990 %1806 + %19959 = OpImage %151 %21565 %14338 = OpImageFetch %v4float %19959 %15454 Lod %int_0 - %17498 = OpImage %151 %16731 - %24645 = OpImageFetch %v4float %17498 %17064 Lod %int_0 - %15455 = OpIAdd %v2int %17064 %1812 - %20491 = OpImage %151 %16731 + %17498 = OpImage %151 %21565 + %24645 = OpImageFetch %v4float %17498 %6990 Lod %int_0 + %15455 = OpIAdd %v2int %6990 %1824 + %20491 = OpImage %151 %21565 %9589 = OpImageFetch %v4float %20491 %15455 Lod %int_0 - %15456 = OpIAdd %v2int %17064 %1824 - %20492 = OpImage %151 %16731 - %9590 = OpImageFetch %v4float %20492 %15456 Lod %int_0 - %15457 = OpIAdd %v2int %17064 %1833 - %20493 = OpImage %151 %16731 - %9591 = OpImageFetch %v4float %20493 %15457 Lod %int_0 - %15458 = OpIAdd %v2int %17064 %1818 - %20494 = OpImage %151 %16731 - %9592 = OpImageFetch %v4float %20494 %15458 Lod %int_0 - %15459 = OpIAdd %v2int %17064 %1827 - %20495 = OpImage %151 %16731 - %9593 = OpImageFetch %v4float %20495 %15459 Lod %int_0 - %15460 = OpIAdd %v2int %17064 %1839 - %20496 = OpImage %151 %16731 - %9594 = OpImageFetch %v4float %20496 %15460 Lod %int_0 - %15461 = OpIAdd %v2int %17064 %1836 - %20497 = OpImage %151 %16731 - %9595 = OpImageFetch %v4float %20497 %15461 Lod %int_0 - %15462 = OpIAdd %v2int %17064 %1845 - %20498 = OpImage %151 %16731 - %9596 = OpImageFetch %v4float %20498 %15462 Lod %int_0 - %15463 = OpIAdd %v2int %17064 %1848 - %19598 = OpImage %151 %16731 - %17359 = OpImageFetch %v4float %19598 %15463 Lod %int_0 + %15456 = OpIAdd %v2int %6990 %1827 + %19598 = OpImage %151 %21565 + %17359 = OpImageFetch %v4float %19598 %15456 Lod %int_0 %22126 = OpCompositeExtract %float %16595 0 %7025 = OpCompositeExtract %float %16595 1 %18723 = OpCompositeExtract %float %16595 2 %24863 = OpFMul %float %22126 %22126 %16184 = OpFMul %float %7025 %7025 %9305 = OpFMul %float %18723 %18723 - %22236 = OpCompositeExtract %float %9589 0 - %11844 = OpCompositeExtract %float %9589 1 - %18724 = OpCompositeExtract %float %9589 2 + %22236 = OpCompositeExtract %float %14338 0 + %11844 = OpCompositeExtract %float %14338 1 + %18724 = OpCompositeExtract %float %14338 2 %24864 = OpFMul %float %22236 %22236 %16185 = OpFMul %float %11844 %11844 %9306 = OpFMul %float %18724 %18724 - %22237 = OpCompositeExtract %float %14338 0 - %11845 = OpCompositeExtract %float %14338 1 - %18725 = OpCompositeExtract %float %14338 2 - %24865 = OpFMul %float %22237 %22237 + %22238 = OpCompositeExtract %float %24645 0 + %11845 = OpCompositeExtract %float %24645 1 + %18725 = OpCompositeExtract %float %24645 2 + %24865 = OpFMul %float %22238 %22238 %16186 = OpFMul %float %11845 %11845 %9307 = OpFMul %float %18725 %18725 - %22238 = OpCompositeExtract %float %24645 0 - %11846 = OpCompositeExtract %float %24645 1 - %18726 = OpCompositeExtract %float %24645 2 - %24866 = OpFMul %float %22238 %22238 + %22239 = OpCompositeExtract %float %9589 0 + %11846 = OpCompositeExtract %float %9589 1 + %18726 = OpCompositeExtract %float %9589 2 + %24866 = OpFMul %float %22239 %22239 %16187 = OpFMul %float %11846 %11846 %9308 = OpFMul %float %18726 %18726 - %22239 = OpCompositeExtract %float %9590 0 - %11847 = OpCompositeExtract %float %9590 1 - %18727 = OpCompositeExtract %float %9590 2 - %24867 = OpFMul %float %22239 %22239 - %16188 = OpFMul %float %11847 %11847 - %9309 = OpFMul %float %18727 %18727 - %22240 = OpCompositeExtract %float %9591 0 - %11848 = OpCompositeExtract %float %9591 1 - %18728 = OpCompositeExtract %float %9591 2 - %24868 = OpFMul %float %22240 %22240 - %16189 = OpFMul %float %11848 %11848 - %9310 = OpFMul %float %18728 %18728 - %22241 = OpCompositeExtract %float %9592 0 - %11849 = OpCompositeExtract %float %9592 1 - %18729 = OpCompositeExtract %float %9592 2 - %24869 = OpFMul %float %22241 %22241 - %16190 = OpFMul %float %11849 %11849 - %9311 = OpFMul %float %18729 %18729 - %22242 = OpCompositeExtract %float %9593 0 - %11850 = OpCompositeExtract %float %9593 1 - %18730 = OpCompositeExtract %float %9593 2 - %24870 = OpFMul %float %22242 %22242 - %16191 = OpFMul %float %11850 %11850 - %9312 = OpFMul %float %18730 %18730 - %22243 = OpCompositeExtract %float %9595 0 - %11851 = OpCompositeExtract %float %9595 1 - %18731 = OpCompositeExtract %float %9595 2 - %24871 = OpFMul %float %22243 %22243 - %16192 = OpFMul %float %11851 %11851 - %9313 = OpFMul %float %18731 %18731 - %22244 = OpCompositeExtract %float %9596 0 - %11852 = OpCompositeExtract %float %9596 1 - %18732 = OpCompositeExtract %float %9596 2 - %24872 = OpFMul %float %22244 %22244 - %16193 = OpFMul %float %11852 %11852 - %9314 = OpFMul %float %18732 %18732 - %22245 = OpCompositeExtract %float %9594 0 - %11853 = OpCompositeExtract %float %9594 1 - %18733 = OpCompositeExtract %float %9594 2 - %24873 = OpFMul %float %22245 %22245 - %16194 = OpFMul %float %11853 %11853 - %9315 = OpFMul %float %18733 %18733 - %22246 = OpCompositeExtract %float %17359 0 - %11854 = OpCompositeExtract %float %17359 1 - %18734 = OpCompositeExtract %float %17359 2 - %24874 = OpFMul %float %22246 %22246 - %14910 = OpFMul %float %11854 %11854 - %8590 = OpFMul %float %18734 %18734 + %22240 = OpCompositeExtract %float %17359 0 + %11847 = OpCompositeExtract %float %17359 1 + %18727 = OpCompositeExtract %float %17359 2 + %24867 = OpFMul %float %22240 %22240 + %14910 = OpFMul %float %11847 %11847 + %8590 = OpFMul %float %18727 %18727 %10877 = OpExtInst %float %1 FMin %16186 %16187 - %9276 = OpExtInst %float %1 FMin %16184 %10877 - %15951 = OpExtInst %float %1 FMin %16188 %16191 + %9276 = OpExtInst %float %1 FMin %16185 %10877 + %15951 = OpExtInst %float %1 FMin %16184 %14910 %10905 = OpExtInst %float %1 FMin %9276 %15951 %24296 = OpExtInst %float %1 FMax %16186 %16187 - %17523 = OpExtInst %float %1 FMax %16184 %24296 - %21848 = OpExtInst %float %1 FMax %16188 %16191 - %7823 = OpExtInst %float %1 FMax %17523 %21848 - %13503 = OpExtInst %float %1 FMin %16187 %16188 - %13819 = OpExtInst %float %1 FMin %16185 %13503 - %15952 = OpExtInst %float %1 FMin %16189 %16192 - %10906 = OpExtInst %float %1 FMin %13819 %15952 - %24297 = OpExtInst %float %1 FMax %16187 %16188 - %17524 = OpExtInst %float %1 FMax %16185 %24297 - %21849 = OpExtInst %float %1 FMax %16189 %16192 - %7824 = OpExtInst %float %1 FMax %17524 %21849 - %13504 = OpExtInst %float %1 FMin %16190 %16191 - %13820 = OpExtInst %float %1 FMin %16187 %13504 - %15953 = OpExtInst %float %1 FMin %16192 %16194 - %10907 = OpExtInst %float %1 FMin %13820 %15953 - %24298 = OpExtInst %float %1 FMax %16190 %16191 - %17525 = OpExtInst %float %1 FMax %16187 %24298 - %21850 = OpExtInst %float %1 FMax %16192 %16194 - %7825 = OpExtInst %float %1 FMax %17525 %21850 - %13505 = OpExtInst %float %1 FMin %16191 %16192 - %13821 = OpExtInst %float %1 FMin %16188 %13505 - %15954 = OpExtInst %float %1 FMin %16193 %14910 - %10908 = OpExtInst %float %1 FMin %13821 %15954 - %24299 = OpExtInst %float %1 FMax %16191 %16192 - %17526 = OpExtInst %float %1 FMax %16188 %24299 - %23939 = OpExtInst %float %1 FMax %16193 %14910 - %21101 = OpExtInst %float %1 FMax %17526 %23939 - %8181 = OpBitcast %uint %7823 - %8818 = OpISub %uint %uint_2129690299 %8181 - %9881 = OpBitcast %float %8818 - %15062 = OpBitcast %uint %7824 - %6702 = OpISub %uint %uint_2129690299 %15062 - %9882 = OpBitcast %float %6702 - %15063 = OpBitcast %uint %7825 - %6703 = OpISub %uint %uint_2129690299 %15063 - %9883 = OpBitcast %float %6703 - %15064 = OpBitcast %uint %21101 - %6835 = OpISub %uint %uint_2129690299 %15064 - %6465 = OpBitcast %float %6835 - %24131 = OpFSub %float %float_1 %7823 + %17523 = OpExtInst %float %1 FMax %16185 %24296 + %23939 = OpExtInst %float %1 FMax %16184 %14910 + %21101 = OpExtInst %float %1 FMax %17523 %23939 + %8181 = OpBitcast %uint %21101 + %8951 = OpISub %uint %uint_2129690299 %8181 + %6465 = OpBitcast %float %8951 + %24131 = OpFSub %float %float_1 %21101 %23324 = OpExtInst %float %1 FMin %10905 %24131 - %23036 = OpFMul %float %23324 %9881 - %16051 = OpExtInst %float %1 FClamp %23036 %float_0 %float_1 - %25005 = OpFSub %float %float_1 %7824 - %10697 = OpExtInst %float %1 FMin %10906 %25005 - %23037 = OpFMul %float %10697 %9882 - %16052 = OpExtInst %float %1 FClamp %23037 %float_0 %float_1 - %25006 = OpFSub %float %float_1 %7825 - %10698 = OpExtInst %float %1 FMin %10907 %25006 - %23038 = OpFMul %float %10698 %9883 - %16053 = OpExtInst %float %1 FClamp %23038 %float_0 %float_1 - %25007 = OpFSub %float %float_1 %21101 - %10699 = OpExtInst %float %1 FMin %10908 %25007 - %22903 = OpFMul %float %10699 %6465 + %22903 = OpFMul %float %23324 %6465 %20683 = OpExtInst %float %1 FClamp %22903 %float_0 %float_1 - %24011 = OpBitcast %uint %16051 + %24011 = OpBitcast %uint %20683 %22090 = OpShiftRightLogical %uint %24011 %uint_1 %23229 = OpIAdd %uint %22090 %uint_532432441 - %22851 = OpBitcast %float %23229 - %8910 = OpBitcast %uint %16052 - %9189 = OpShiftRightLogical %uint %8910 %uint_1 - %23230 = OpIAdd %uint %9189 %uint_532432441 - %22852 = OpBitcast %float %23230 - %8911 = OpBitcast %uint %16053 - %9190 = OpShiftRightLogical %uint %8911 %uint_1 - %23231 = OpIAdd %uint %9190 %uint_532432441 - %22853 = OpBitcast %float %23231 - %8912 = OpBitcast %uint %20683 - %9191 = OpShiftRightLogical %uint %8912 %uint_1 - %23232 = OpIAdd %uint %9191 %uint_532432441 - %21692 = OpBitcast %float %23232 - %19558 = OpBitcast %float %16334 - %18879 = OpFMul %float %22851 %19558 - %22795 = OpFMul %float %22852 %19558 - %19380 = OpFMul %float %22853 %19558 - %10255 = OpFMul %float %21692 %19558 - %13586 = OpCompositeExtract %float %12265 0 - %21718 = OpFSub %float %float_1 %13586 - %11876 = OpCompositeExtract %float %12265 1 - %11147 = OpFSub %float %float_1 %11876 - %17670 = OpFMul %float %21718 %11147 - %25212 = OpFMul %float %13586 %11147 - %20330 = OpFMul %float %21718 %11876 - %20638 = OpFMul %float %13586 %11876 - %18204 = OpFSub %float %7823 %10905 - %23453 = OpFAdd %float %float_0_03125 %18204 - %11395 = OpBitcast %uint %23453 - %7677 = OpISub %uint %uint_2129690299 %11395 - %8343 = OpBitcast %float %7677 - %17531 = OpFMul %float %17670 %8343 - %20631 = OpFSub %float %7824 %10906 - %23454 = OpFAdd %float %float_0_03125 %20631 - %11396 = OpBitcast %uint %23454 - %7678 = OpISub %uint %uint_2129690299 %11396 - %8344 = OpBitcast %float %7678 - %17532 = OpFMul %float %25212 %8344 - %20632 = OpFSub %float %7825 %10907 - %23455 = OpFAdd %float %float_0_03125 %20632 - %11397 = OpBitcast %uint %23455 - %7679 = OpISub %uint %uint_2129690299 %11397 - %8345 = OpBitcast %float %7679 - %17533 = OpFMul %float %20330 %8345 - %20633 = OpFSub %float %21101 %10908 - %23456 = OpFAdd %float %float_0_03125 %20633 - %11398 = OpBitcast %uint %23456 - %7680 = OpISub %uint %uint_2129690299 %11398 - %8381 = OpBitcast %float %7680 - %17261 = OpFMul %float %20638 %8381 - %22796 = OpFMul %float %18879 %17531 - %20292 = OpFMul %float %22795 %17532 - %20984 = OpFMul %float %19380 %17533 - %15690 = OpFAdd %float %20292 %20984 - %22375 = OpFAdd %float %15690 %17531 - %12597 = OpFMul %float %10255 %17261 - %18845 = OpFAdd %float %22796 %12597 - %23067 = OpFAdd %float %18845 %17532 - %7227 = OpFAdd %float %18845 %17533 - %7228 = OpFAdd %float %15690 %17261 - %7229 = OpFAdd %float %22796 %20292 - %7303 = OpFAdd %float %7229 %20984 - %6535 = OpFAdd %float %7303 %12597 - %12598 = OpFMul %float %float_2 %6535 - %18846 = OpFAdd %float %12598 %22375 - %23068 = OpFAdd %float %18846 %23067 - %7132 = OpFAdd %float %23068 %7227 - %8111 = OpFAdd %float %7132 %7228 - %9782 = OpBitcast %uint %8111 - %7563 = OpISub %uint %uint_2129764351 %9782 + %21692 = OpBitcast %float %23229 + %19558 = OpBitcast %float %16454 + %18803 = OpFMul %float %21692 %19558 + %23316 = OpFMul %float %float_4 %18803 + %16498 = OpFAdd %float %float_1 %23316 + %6551 = OpBitcast %uint %16498 + %7563 = OpISub %uint %uint_2129764351 %6551 %9419 = OpBitcast %float %7563 %9130 = OpFNegate %float %9419 - %12367 = OpFMul %float %9130 %8111 + %12367 = OpFMul %float %9130 %16498 %16540 = OpFAdd %float %12367 %float_2 - %9442 = OpFMul %float %9419 %16540 - %18229 = OpFAdd %float %24863 %24865 - %8674 = OpFMul %float %22796 %18229 - %24291 = OpFMul %float %24864 %20292 - %14922 = OpFAdd %float %8674 %24291 - %9443 = OpFMul %float %24868 %20292 - %18153 = OpFAdd %float %14922 %9443 - %9444 = OpFMul %float %24869 %20984 - %18154 = OpFAdd %float %18153 %9444 - %9445 = OpFMul %float %24873 %20984 - %18155 = OpFAdd %float %18154 %9445 - %9446 = OpFMul %float %24872 %12597 - %18156 = OpFAdd %float %18155 %9446 - %9447 = OpFMul %float %24874 %12597 - %18157 = OpFAdd %float %18156 %9447 - %9448 = OpFMul %float %24866 %22375 - %18158 = OpFAdd %float %18157 %9448 - %9449 = OpFMul %float %24867 %23067 - %18159 = OpFAdd %float %18158 %9449 - %9450 = OpFMul %float %24870 %7227 - %18160 = OpFAdd %float %18159 %9450 - %9451 = OpFMul %float %24871 %7228 - %15973 = OpFAdd %float %18160 %9451 - %8137 = OpFMul %float %15973 %9442 - %15218 = OpExtInst %float %1 FClamp %8137 %float_0 %float_1 - %12765 = OpFAdd %float %16184 %16186 - %17545 = OpFMul %float %22796 %12765 - %24292 = OpFMul %float %16185 %20292 - %14923 = OpFAdd %float %17545 %24292 - %9452 = OpFMul %float %16189 %20292 - %18161 = OpFAdd %float %14923 %9452 - %9453 = OpFMul %float %16190 %20984 - %18162 = OpFAdd %float %18161 %9453 - %9454 = OpFMul %float %16194 %20984 - %18163 = OpFAdd %float %18162 %9454 - %9455 = OpFMul %float %16193 %12597 - %18164 = OpFAdd %float %18163 %9455 - %9456 = OpFMul %float %14910 %12597 - %18165 = OpFAdd %float %18164 %9456 - %9457 = OpFMul %float %16187 %22375 - %18166 = OpFAdd %float %18165 %9457 - %9458 = OpFMul %float %16188 %23067 - %18167 = OpFAdd %float %18166 %9458 - %9459 = OpFMul %float %16191 %7227 - %18168 = OpFAdd %float %18167 %9459 - %9460 = OpFMul %float %16192 %7228 - %15974 = OpFAdd %float %18168 %9460 - %8138 = OpFMul %float %15974 %9442 - %15219 = OpExtInst %float %1 FClamp %8138 %float_0 %float_1 - %12766 = OpFAdd %float %9305 %9307 - %17546 = OpFMul %float %22796 %12766 - %24293 = OpFMul %float %9306 %20292 - %14924 = OpFAdd %float %17546 %24293 - %9461 = OpFMul %float %9310 %20292 - %18169 = OpFAdd %float %14924 %9461 - %9462 = OpFMul %float %9311 %20984 - %18170 = OpFAdd %float %18169 %9462 - %9463 = OpFMul %float %9315 %20984 - %18171 = OpFAdd %float %18170 %9463 - %9464 = OpFMul %float %9314 %12597 - %18172 = OpFAdd %float %18171 %9464 - %9465 = OpFMul %float %8590 %12597 - %18173 = OpFAdd %float %18172 %9465 - %9466 = OpFMul %float %9308 %22375 - %18174 = OpFAdd %float %18173 %9466 - %9467 = OpFMul %float %9309 %23067 - %18175 = OpFAdd %float %18174 %9467 - %9468 = OpFMul %float %9312 %7227 - %18176 = OpFAdd %float %18175 %9468 - %9469 = OpFMul %float %9313 %7228 - %15975 = OpFAdd %float %18176 %9469 - %6921 = OpFMul %float %15975 %9442 + %9366 = OpFMul %float %9419 %16540 + %18845 = OpFAdd %float %24863 %24864 + %23143 = OpFAdd %float %18845 %24866 + %6535 = OpFAdd %float %23143 %24867 + %12673 = OpFMul %float %18803 %6535 + %15973 = OpFAdd %float %12673 %24865 + %8137 = OpFMul %float %15973 %9366 + %15142 = OpExtInst %float %1 FClamp %8137 %float_0 %float_1 + %13381 = OpFAdd %float %16184 %16185 + %12943 = OpFAdd %float %13381 %16187 + %6536 = OpFAdd %float %12943 %14910 + %12674 = OpFMul %float %18803 %6536 + %15974 = OpFAdd %float %12674 %16186 + %8138 = OpFMul %float %15974 %9366 + %15143 = OpExtInst %float %1 FClamp %8138 %float_0 %float_1 + %13382 = OpFAdd %float %9305 %9306 + %12944 = OpFAdd %float %13382 %9308 + %6537 = OpFAdd %float %12944 %8590 + %12675 = OpFMul %float %18803 %6537 + %15975 = OpFAdd %float %12675 %9307 + %6921 = OpFMul %float %15975 %9366 %24941 = OpExtInst %float %1 FClamp %6921 %float_0 %float_1 - %20577 = OpAccessChain %_ptr_Output_float %5120 %uint_0 - OpStore %20577 %15218 - %19732 = OpAccessChain %_ptr_Output_float %5120 %uint_1 - OpStore %19732 %15219 - %19656 = OpAccessChain %_ptr_Output_float %5120 %uint_2 + %20577 = OpAccessChain %_ptr_Output_float %5334 %uint_0 + OpStore %20577 %15142 + %19732 = OpAccessChain %_ptr_Output_float %5334 %uint_1 + OpStore %19732 %15143 + %19656 = OpAccessChain %_ptr_Output_float %5334 %uint_2 OpStore %19656 %24941 - %10445 = OpLoad %v4float %5120 + %10445 = OpLoad %v4float %5334 %9111 = OpVectorShuffle %v3float %10445 %10445 0 1 2 %17911 = OpExtInst %v3float %1 Sqrt %9111 %7131 = OpCompositeExtract %float %17911 0 @@ -683,18 +450,18 @@ OpStore %19732 %22435 %22055 = OpCompositeExtract %float %17911 2 OpStore %19656 %22055 - %13957 = OpLoad %v4float %5120 - %16195 = OpVectorShuffle %v3float %13957 %13957 0 1 2 + %13957 = OpLoad %v4float %5334 + %16188 = OpVectorShuffle %v3float %13957 %13957 0 1 2 %24372 = OpBitwiseAnd %v2uint %9938 %2122 %9741 = OpCompositeExtract %uint %24372 1 %21498 = OpIMul %uint %9741 %uint_16 %23411 = OpCompositeExtract %uint %24372 0 %12610 = OpIAdd %uint %21498 %23411 - OpStore %18411 %2127 + OpStore %18411 %2192 %9958 = OpAccessChain %_ptr_Function_float %18411 %12610 %25140 = OpLoad %float %9958 %18028 = OpCompositeConstruct %v3float %25140 %25140 %25140 - %21458 = OpFAdd %v3float %16195 %18028 + %21458 = OpFAdd %v3float %16188 %18028 %19164 = OpExtInst %v3float %1 FClamp %21458 %2604 %2582 %20064 = OpCompositeExtract %float %19164 0 OpStore %20577 %20064 @@ -702,595 +469,392 @@ OpStore %19732 %22436 %22131 = OpCompositeExtract %float %19164 2 OpStore %19656 %22131 - %23294 = OpAccessChain %_ptr_Output_float %5120 %uint_3 + %23294 = OpAccessChain %_ptr_Output_float %5334 %uint_3 OpStore %23294 %float_1 OpReturn OpFunctionEnd #endif const uint32_t guest_output_ffx_cas_sharpen_dither_ps[] = { - 0x07230203, 0x00010000, 0x0008000A, 0x0000627D, 0x00000000, 0x00020011, + 0x07230203, 0x00010000, 0x0008000A, 0x00006235, 0x00000000, 0x00020011, 0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E, 0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0007000F, 0x00000004, - 0x0000161F, 0x6E69616D, 0x00000000, 0x00000C93, 0x00001400, 0x00030010, - 0x0000161F, 0x00000007, 0x00040047, 0x00000C4E, 0x00000022, 0x00000000, - 0x00040047, 0x00000C4E, 0x00000021, 0x00000000, 0x00040047, 0x00000C93, - 0x0000000B, 0x0000000F, 0x00050048, 0x000003F2, 0x00000000, 0x00000023, - 0x00000010, 0x00050048, 0x000003F2, 0x00000001, 0x00000023, 0x00000018, - 0x00030047, 0x000003F2, 0x00000002, 0x00040047, 0x00001400, 0x0000001E, + 0x0000161F, 0x6E69616D, 0x00000000, 0x00000C93, 0x000014D6, 0x00030010, + 0x0000161F, 0x00000007, 0x00040047, 0x00000C93, 0x0000000B, 0x0000000F, + 0x00050048, 0x000003F2, 0x00000000, 0x00000023, 0x00000010, 0x00050048, + 0x000003F2, 0x00000001, 0x00000023, 0x00000018, 0x00030047, 0x000003F2, + 0x00000002, 0x00040047, 0x000014D6, 0x0000001E, 0x00000000, 0x00040047, + 0x0000142B, 0x00000022, 0x00000000, 0x00040047, 0x0000142B, 0x00000021, 0x00000000, 0x00020013, 0x00000008, 0x00030021, 0x00000502, 0x00000008, - 0x00040015, 0x0000000B, 0x00000020, 0x00000000, 0x00040017, 0x00000011, - 0x0000000B, 0x00000002, 0x00030016, 0x0000000D, 0x00000020, 0x00040020, - 0x0000028A, 0x00000007, 0x0000000D, 0x00040015, 0x0000000C, 0x00000020, - 0x00000001, 0x00040017, 0x00000012, 0x0000000C, 0x00000002, 0x00040017, - 0x00000018, 0x0000000D, 0x00000003, 0x0004002B, 0x0000000B, 0x00000A37, - 0x0000000F, 0x0004002B, 0x0000000B, 0x00000147, 0x00000100, 0x0004001C, - 0x00000388, 0x0000000D, 0x00000147, 0x0004002B, 0x0000000D, 0x0000010F, - 0xBA838384, 0x0004002B, 0x0000000D, 0x00000728, 0x3A66E6E7, 0x0004002B, - 0x0000000D, 0x00000705, 0x3ADDDDDE, 0x0004002B, 0x0000000D, 0x00000A5A, - 0xBACBCBCC, 0x0004002B, 0x0000000D, 0x000008DF, 0x3AA7A7A8, 0x0004002B, - 0x0000000D, 0x00000094, 0xBA1E9E9F, 0x0004002B, 0x0000000D, 0x0000034C, - 0x3A8B8B8C, 0x0004002B, 0x0000000D, 0x0000087E, 0xBAB5B5B6, 0x0004002B, - 0x0000000D, 0x0000034D, 0x3AB1B1B2, 0x0004002B, 0x0000000D, 0x00000687, - 0x3A068687, 0x0004002B, 0x0000000D, 0x000003EB, 0x3A9F9FA0, 0x0004002B, - 0x0000000D, 0x0000024E, 0xBAD1D1D2, 0x0004002B, 0x0000000D, 0x00000726, - 0x3A1A9A9B, 0x0004002B, 0x0000000D, 0x00000698, 0xB9949495, 0x0004002B, - 0x0000000D, 0x00000703, 0x3A919192, 0x0004002B, 0x0000000D, 0x00000AF8, - 0xBAB9B9BA, 0x0004002B, 0x0000000D, 0x00000ABB, 0x3ABDBDBE, 0x0004002B, - 0x0000000D, 0x0000026F, 0xBA0E8E8F, 0x0004002B, 0x0000000D, 0x000008A8, - 0x39088889, 0x0004002B, 0x0000000D, 0x00000565, 0xBA9D9D9E, 0x0004002B, - 0x0000000D, 0x0000065D, 0x39E4E4E5, 0x0004002B, 0x0000000D, 0x000004C6, - 0xBA89898A, 0x0004002B, 0x0000000D, 0x00000057, 0x3A22A2A3, 0x0004002B, - 0x0000000D, 0x0000006A, 0xB9FCFCFD, 0x0004002B, 0x0000000D, 0x00000A1E, - 0x3AF5F5F6, 0x0004002B, 0x0000000D, 0x0000087D, 0xBA8F8F90, 0x0004002B, - 0x0000000D, 0x00000959, 0xB8D0D0D1, 0x0004002B, 0x0000000D, 0x00000BB8, - 0xBA0A8A8B, 0x0004002B, 0x0000000D, 0x0000097E, 0x3ABBBBBC, 0x0004002B, - 0x0000000D, 0x00000606, 0xBAFDFDFE, 0x0004002B, 0x0000000D, 0x000003AD, - 0xBA36B6B7, 0x0004002B, 0x0000000D, 0x000000E2, 0x3820A0A1, 0x0004002B, - 0x0000000D, 0x00000370, 0x3A3ABABB, 0x0004002B, 0x0000000D, 0x0000024D, - 0xBAABABAC, 0x0004002B, 0x0000000D, 0x000005C6, 0x3A8F8F90, 0x0004002B, - 0x0000000D, 0x00000B8C, 0xB99C9C9D, 0x0004002B, 0x0000000D, 0x00000036, - 0x3AE5E5E6, 0x0004002B, 0x0000000D, 0x0000087F, 0xBADBDBDC, 0x0004002B, - 0x0000000D, 0x00000172, 0x3AC1C1C2, 0x0004002B, 0x0000000D, 0x00000399, - 0xB820A0A1, 0x0004002B, 0x0000000D, 0x0000040F, 0x3A4ECECF, 0x0004002B, - 0x0000000D, 0x0000091E, 0xBAEFEFF0, 0x0004002B, 0x0000000D, 0x000008D5, - 0x399C9C9D, 0x0004002B, 0x0000000D, 0x000008DE, 0x3A818182, 0x0004002B, - 0x0000000D, 0x000002EB, 0xBA99999A, 0x0004002B, 0x0000000D, 0x00000317, - 0x3938B8B9, 0x0004002B, 0x0000000D, 0x0000034E, 0x3AD7D7D8, 0x0004002B, - 0x0000000D, 0x00000111, 0xBACFCFD0, 0x0004002B, 0x0000000D, 0x0000002B, - 0x39B4B4B5, 0x0004002B, 0x0000000D, 0x000008E1, 0x3AF3F3F4, 0x0004002B, - 0x0000000D, 0x0000042A, 0xBAE7E7E8, 0x0004002B, 0x0000000D, 0x00000765, - 0xBA62E2E3, 0x0004002B, 0x0000000D, 0x000009A2, 0x3A6AEAEB, 0x0004002B, - 0x0000000D, 0x000004F2, 0x3928A8A9, 0x0004002B, 0x0000000D, 0x0000058A, - 0xBA72F2F3, 0x0004002B, 0x0000000D, 0x000007E0, 0xBAC7C7C8, 0x0004002B, - 0x0000000D, 0x00000802, 0xBA2AAAAB, 0x0004002B, 0x0000000D, 0x00000A1C, - 0x3AA9A9AA, 0x0004002B, 0x0000000D, 0x00000940, 0xBA52D2D3, 0x0004002B, - 0x0000000D, 0x000002EC, 0xBABFBFC0, 0x0004002B, 0x0000000D, 0x000003ED, - 0x3AEBEBEC, 0x0004002B, 0x0000000D, 0x000004EB, 0xBA5EDEDF, 0x0004002B, - 0x0000000D, 0x00000234, 0x3A5EDEDF, 0x0004002B, 0x0000000D, 0x00000245, - 0xB9ECECED, 0x0004002B, 0x0000000D, 0x00000603, 0xBA8B8B8C, 0x0004002B, - 0x0000000D, 0x00000984, 0xB9189899, 0x0004002B, 0x0000000D, 0x0000076E, - 0x3978F8F9, 0x0004002B, 0x0000000D, 0x00000841, 0x3AB9B9BA, 0x0004002B, - 0x0000000D, 0x000009DD, 0xBA1A9A9B, 0x0004002B, 0x0000000D, 0x000003F3, - 0xB948C8C9, 0x0004002B, 0x0000000D, 0x00000B5A, 0x3AD1D1D2, 0x0004002B, - 0x0000000D, 0x00000B58, 0x3A858586, 0x0004002B, 0x0000000D, 0x00000838, - 0x39D4D4D5, 0x0004002B, 0x0000000D, 0x00000218, 0xB958D8D9, 0x0004002B, - 0x0000000D, 0x00000A1D, 0x3ACFCFD0, 0x0004002B, 0x0000000D, 0x0000054B, - 0x3A2AAAAB, 0x0004002B, 0x0000000D, 0x00000503, 0xB8909091, 0x0004002B, - 0x0000000D, 0x00000169, 0x39DCDCDD, 0x0004002B, 0x0000000D, 0x00000605, - 0xBAD7D7D8, 0x0004002B, 0x0000000D, 0x0000048A, 0x3AB3B3B4, 0x0004002B, - 0x0000000D, 0x000002D3, 0x3A72F2F3, 0x0004002B, 0x0000000D, 0x00000A7C, - 0xBA2EAEAF, 0x0004002B, 0x0000000D, 0x00000171, 0x3A9B9B9C, 0x0004002B, - 0x0000000D, 0x000001AF, 0xBABDBDBE, 0x0004002B, 0x0000000D, 0x000004AC, - 0x3A169697, 0x0004002B, 0x0000000D, 0x0000024F, 0xBAF7F7F8, 0x0004002B, - 0x0000000D, 0x00000ADE, 0x3A46C6C7, 0x0004002B, 0x0000000D, 0x00000110, - 0xBAA9A9AA, 0x0004002B, 0x0000000D, 0x00000212, 0x3AFBFBFC, 0x0004002B, - 0x0000000D, 0x00000742, 0xBAD9D9DA, 0x0004002B, 0x0000000D, 0x00000389, - 0xBA878788, 0x0004002B, 0x0000000D, 0x000006C4, 0xBA028283, 0x0004002B, - 0x0000000D, 0x00000B98, 0xBAF3F3F4, 0x0004002B, 0x0000000D, 0x000002AE, - 0x3A9D9D9E, 0x0004002B, 0x0000000D, 0x000009B1, 0xB9ACACAD, 0x0004002B, - 0x0000000D, 0x00000741, 0xBAB3B3B4, 0x0004002B, 0x0000000D, 0x00000211, - 0x3AD5D5D6, 0x0004002B, 0x0000000D, 0x00000A5B, 0xBAF1F1F2, 0x0004002B, - 0x0000000D, 0x000005EA, 0x3A3EBEBF, 0x0004002B, 0x0000000D, 0x00000310, - 0xBA6EEEEF, 0x0004002B, 0x0000000D, 0x0000052A, 0x3AEDEDEE, 0x0004002B, - 0x0000000D, 0x00000071, 0xBA959596, 0x0004002B, 0x0000000D, 0x00000107, - 0xB9C4C4C5, 0x0004002B, 0x0000000D, 0x000006A2, 0x38D0D0D1, 0x0004002B, - 0x0000000D, 0x00000B1B, 0xBA42C2C3, 0x0004002B, 0x0000000D, 0x00000034, - 0x3A99999A, 0x0004002B, 0x0000000D, 0x0000024B, 0x38909091, 0x0004002B, - 0x0000000D, 0x000002AF, 0x3AC3C3C4, 0x0004002B, 0x0000000D, 0x00000A41, - 0x3A7EFEFF, 0x0004002B, 0x0000000D, 0x00000A7E, 0xBA7AFAFB, 0x0004002B, - 0x0000000D, 0x0000034F, 0x3AFDFDFE, 0x0004002B, 0x0000000D, 0x00000901, - 0x3A0A8A8B, 0x0004002B, 0x0000000D, 0x00000539, 0x3860E0E1, 0x0004002B, - 0x0000000D, 0x0000091C, 0xBAA3A3A4, 0x0004002B, 0x0000000D, 0x000001A4, - 0xB98C8C8D, 0x0004002B, 0x0000000D, 0x00000666, 0x3AC9C9CA, 0x0004002B, - 0x0000000D, 0x00000833, 0xB7008081, 0x0004002B, 0x0000000D, 0x00000206, - 0x39A4A4A5, 0x0004002B, 0x0000000D, 0x00000210, 0x3AAFAFB0, 0x0004002B, - 0x0000000D, 0x000002ED, 0xBAE5E5E6, 0x0004002B, 0x0000000D, 0x0000040D, - 0x3A028283, 0x0004002B, 0x0000000D, 0x00000428, 0xBA9B9B9C, 0x0004002B, - 0x0000000D, 0x00000195, 0x3A4ACACB, 0x0004002B, 0x0000000D, 0x000004C7, - 0xBAAFAFB0, 0x0004002B, 0x0000000D, 0x00000AB0, 0x398C8C8D, 0x0004002B, - 0x0000000D, 0x00000429, 0xBAC1C1C2, 0x0004002B, 0x0000000D, 0x00000B5F, - 0xB9088889, 0x0004002B, 0x0000000D, 0x0000044C, 0xBA4ACACB, 0x0004002B, - 0x0000000D, 0x00000B59, 0x3AABABAC, 0x0004002B, 0x0000000D, 0x00000344, - 0x39CCCCCD, 0x0004002B, 0x0000000D, 0x000007C7, 0x3A7AFAFB, 0x0004002B, - 0x0000000D, 0x00000739, 0xB9F4F4F5, 0x0004002B, 0x0000000D, 0x0000091D, - 0xBAC9C9CA, 0x0004002B, 0x0000000D, 0x000000D2, 0x3A878788, 0x0004002B, - 0x0000000D, 0x00000133, 0xBA32B2B3, 0x0004002B, 0x0000000D, 0x000005C8, - 0x3ADBDBDC, 0x0004002B, 0x0000000D, 0x00000A1B, 0x3A838384, 0x0004002B, - 0x0000000D, 0x00000420, 0xB9DCDCDD, 0x0004002B, 0x0000000D, 0x000002B0, - 0x3AE9E9EA, 0x0004002B, 0x0000000D, 0x00000A25, 0xB978F8F9, 0x0004002B, - 0x0000000D, 0x0000030E, 0xBA22A2A3, 0x0004002B, 0x0000000D, 0x0000048B, - 0x3AD9D9DA, 0x0004002B, 0x0000000D, 0x00000B7D, 0x3A5ADADB, 0x0004002B, - 0x0000000D, 0x00000073, 0xBAE1E1E2, 0x0004002B, 0x0000000D, 0x00000740, - 0xBA8D8D8E, 0x0004002B, 0x0000000D, 0x00000173, 0x3AE7E7E8, 0x0004002B, - 0x0000000D, 0x000006C6, 0xBA4ECECF, 0x0004002B, 0x0000000D, 0x00000567, - 0xBAE9E9EA, 0x0004002B, 0x0000000D, 0x00000A3F, 0x3A32B2B3, 0x0004002B, - 0x0000000D, 0x00000B95, 0xBA818182, 0x0004002B, 0x0000000D, 0x0000038A, - 0xBAADADAE, 0x0004002B, 0x0000000D, 0x000005CE, 0xB938B8B9, 0x0004002B, - 0x0000000D, 0x000006A3, 0xBAC5C5C6, 0x0004002B, 0x0000000D, 0x000006FA, - 0x39ACACAD, 0x0004002B, 0x0000000D, 0x00000743, 0xBB000000, 0x0004002B, - 0x0000000D, 0x000007C5, 0x3A2EAEAF, 0x0004002B, 0x0000000D, 0x0000038B, - 0xBAD3D3D4, 0x0004002B, 0x0000000D, 0x00000ABA, 0x3A979798, 0x0004002B, - 0x0000000D, 0x00000B51, 0x39ECECED, 0x0004002B, 0x0000000D, 0x00000914, - 0xB9E4E4E5, 0x0004002B, 0x0000000D, 0x0000013C, 0x3948C8C9, 0x0004002B, - 0x0000000D, 0x00000566, 0xBAC3C3C4, 0x0004002B, 0x0000000D, 0x0000097D, - 0x3A959596, 0x0004002B, 0x0000000D, 0x00000A58, 0x38B0B0B1, 0x0004002B, - 0x0000000D, 0x00000B5B, 0x3AF7F7F8, 0x0004002B, 0x0000000D, 0x00000704, - 0x3AB7B7B8, 0x0004002B, 0x0000000D, 0x00000232, 0x3A129293, 0x0004002B, - 0x0000000D, 0x000002EE, 0x38F0F0F1, 0x0004002B, 0x0000000D, 0x000007A2, - 0x3AA5A5A6, 0x0004002B, 0x0000000D, 0x00000763, 0xBA169697, 0x0004002B, - 0x0000000D, 0x00000135, 0xBA7EFEFF, 0x0004002B, 0x0000000D, 0x000000D3, - 0x3AADADAE, 0x0004002B, 0x0000000D, 0x00000949, 0x3968E8E9, 0x0004002B, - 0x0000000D, 0x000001D2, 0xBA46C6C7, 0x0004002B, 0x0000000D, 0x00000604, - 0xBAB1B1B2, 0x0004002B, 0x0000000D, 0x00000035, 0x3ABFBFC0, 0x0004002B, - 0x0000000D, 0x000004AE, 0x3A62E2E3, 0x0004002B, 0x0000000D, 0x000007D6, - 0xB9BCBCBD, 0x0004002B, 0x0000000D, 0x00000B7B, 0x3A0E8E8F, 0x0004002B, - 0x0000000D, 0x00000AF7, 0xBA939394, 0x0004002B, 0x0000000D, 0x00000873, - 0xB9848485, 0x0004002B, 0x0000000D, 0x000004E9, 0xBA129293, 0x0004002B, - 0x0000000D, 0x000007E1, 0xBAEDEDEE, 0x0004002B, 0x0000000D, 0x0000097F, - 0x3AE1E1E2, 0x0004002B, 0x0000000D, 0x000001AE, 0xBA979798, 0x0004002B, - 0x0000000D, 0x00000864, 0x3A42C2C3, 0x0004002B, 0x0000000D, 0x000008E0, - 0x3ACDCDCE, 0x0004002B, 0x0000000D, 0x000005A3, 0xB8F0F0F1, 0x0004002B, - 0x0000000D, 0x000006A4, 0xBA9F9FA0, 0x0004002B, 0x0000000D, 0x00000667, - 0x3AEFEFF0, 0x0004002B, 0x0000000D, 0x00000961, 0x37C0C0C1, 0x0004002B, - 0x0000000D, 0x000004C9, 0xBAFBFBFC, 0x0004002B, 0x0000000D, 0x00000ABC, - 0x3AE3E3E4, 0x0004002B, 0x0000000D, 0x00000627, 0xBA3ABABB, 0x0004002B, - 0x0000000D, 0x000007A3, 0x3ACBCBCC, 0x0004002B, 0x0000000D, 0x00000AF9, - 0xBADFDFE0, 0x0004002B, 0x0000000D, 0x00000528, 0x3AA1A1A2, 0x0004002B, - 0x0000000D, 0x00000B24, 0x3958D8D9, 0x0004002B, 0x0000000D, 0x0000020F, - 0x3A89898A, 0x0004002B, 0x0000000D, 0x000008A1, 0xBA3EBEBF, 0x0004002B, - 0x0000000D, 0x000004C8, 0xBAD5D5D6, 0x0004002B, 0x0000000D, 0x000004BD, - 0xB9A4A4A5, 0x0004002B, 0x0000000D, 0x00000976, 0x39FCFCFD, 0x0004002B, - 0x0000000D, 0x000006A5, 0xBAEBEBEC, 0x0004002B, 0x0000000D, 0x0000054D, - 0x3A76F6F7, 0x0004002B, 0x0000000D, 0x000002E2, 0xB9B4B4B5, 0x0004002B, - 0x0000000D, 0x000000F6, 0x3A36B6B7, 0x0004002B, 0x0000000D, 0x0000024C, - 0xBA858586, 0x0004002B, 0x0000000D, 0x00000B97, 0xBACDCDCE, 0x0004002B, - 0x0000000D, 0x00000055, 0xB7C0C0C1, 0x0004002B, 0x0000000D, 0x00000B96, - 0xBAA7A7A8, 0x0004002B, 0x0000000D, 0x00000689, 0x3A52D2D3, 0x0004002B, - 0x0000000D, 0x00000096, 0xBA6AEAEB, 0x0004002B, 0x0000000D, 0x00000072, - 0xBABBBBBC, 0x0004002B, 0x0000000D, 0x000009A0, 0x3A1E9E9F, 0x0004002B, - 0x0000000D, 0x0000014C, 0xB8B0B0B1, 0x0004002B, 0x0000000D, 0x00000059, - 0x3A6EEEEF, 0x0004002B, 0x0000000D, 0x0000048C, 0x3B000000, 0x0004002B, - 0x0000000D, 0x000009BB, 0xBAB7B7B8, 0x0004002B, 0x0000000D, 0x00000588, - 0xBA26A6A7, 0x0004002B, 0x0000000D, 0x000003EC, 0x3AC5C5C6, 0x0004002B, - 0x0000000D, 0x00000BBA, 0xBA56D6D7, 0x0004002B, 0x0000000D, 0x00000665, - 0x3AA3A3A4, 0x0004002B, 0x0000000D, 0x000005BC, 0x39848485, 0x0004002B, - 0x0000000D, 0x00000529, 0x3AC7C7C8, 0x0004002B, 0x0000000D, 0x00000840, - 0x3A939394, 0x0004002B, 0x0000000D, 0x0000051F, 0x39BCBCBD, 0x0004002B, - 0x0000000D, 0x000005FB, 0xB9CCCCCD, 0x0004002B, 0x0000000D, 0x000000D5, - 0x3AF9F9FA, 0x0004002B, 0x0000000D, 0x000005C7, 0x3AB5B5B6, 0x0004002B, - 0x0000000D, 0x000009BA, 0xBA919192, 0x0004002B, 0x0000000D, 0x000000D4, - 0x3AD3D3D4, 0x0004002B, 0x0000000D, 0x000009DF, 0xBA66E6E7, 0x0004002B, - 0x0000000D, 0x000006CD, 0x39189899, 0x0004002B, 0x0000000D, 0x00000489, - 0x3A8D8D8E, 0x0004002B, 0x0000000D, 0x000007F0, 0xB860E0E1, 0x0004002B, - 0x0000000D, 0x000003E1, 0x39949495, 0x0004002B, 0x0000000D, 0x000009BC, - 0xBADDDDDE, 0x0004002B, 0x0000000D, 0x00000A59, 0xBAA5A5A6, 0x0004002B, - 0x0000000D, 0x0000093E, 0xBA068687, 0x0004002B, 0x0000000D, 0x000007A9, - 0xB928A8A9, 0x0004002B, 0x0000000D, 0x00000112, 0xBAF5F5F6, 0x0004002B, - 0x0000000D, 0x00000271, 0xBA5ADADB, 0x0004002B, 0x0000000D, 0x000002D1, - 0x3A26A6A7, 0x0004002B, 0x0000000D, 0x0000057C, 0x37008081, 0x0004002B, - 0x0000000D, 0x0000038C, 0xBAF9F9FA, 0x0004002B, 0x0000000D, 0x0000003D, - 0xB968E8E9, 0x0004002B, 0x0000000D, 0x00000A13, 0x39C4C4C5, 0x0004002B, - 0x0000000D, 0x000001B0, 0xBAE3E3E4, 0x0004002B, 0x0000000D, 0x00000AEF, - 0xB9D4D4D5, 0x0004002B, 0x0000000D, 0x000007DF, 0xBAA1A1A2, 0x0004002B, - 0x0000000D, 0x00000842, 0x3ADFDFE0, 0x0004002B, 0x0000000D, 0x00000804, - 0xBA76F6F7, 0x0004002B, 0x0000000D, 0x00000903, 0x3A56D6D7, 0x0004002B, - 0x0000000D, 0x000007A4, 0x3AF1F1F2, 0x0004002B, 0x0000000D, 0x00000482, - 0x39F4F4F5, 0x0103002C, 0x00000388, 0x0000084F, 0x0000010F, 0x00000728, - 0x00000705, 0x00000A5A, 0x000008DF, 0x00000094, 0x0000034C, 0x0000087E, - 0x0000034D, 0x00000687, 0x000003EB, 0x0000024E, 0x00000726, 0x00000698, - 0x00000703, 0x00000AF8, 0x00000ABB, 0x0000026F, 0x000008A8, 0x00000565, - 0x0000065D, 0x000004C6, 0x00000057, 0x0000006A, 0x00000A1E, 0x0000087D, - 0x00000959, 0x00000BB8, 0x0000097E, 0x00000606, 0x000003AD, 0x000000E2, - 0x00000370, 0x0000024D, 0x000005C6, 0x00000B8C, 0x00000036, 0x0000087F, - 0x00000172, 0x00000399, 0x0000040F, 0x0000091E, 0x000008D5, 0x000008DE, - 0x000002EB, 0x00000317, 0x0000034E, 0x00000111, 0x0000002B, 0x000008E1, - 0x0000042A, 0x00000765, 0x000009A2, 0x000004F2, 0x0000058A, 0x000007E0, - 0x00000802, 0x00000A1C, 0x00000940, 0x000002EC, 0x000003ED, 0x000004EB, - 0x00000234, 0x00000245, 0x00000603, 0x00000984, 0x0000076E, 0x00000841, - 0x000009DD, 0x000003F3, 0x00000B5A, 0x00000B58, 0x00000838, 0x00000218, - 0x00000A1D, 0x0000054B, 0x00000503, 0x00000169, 0x00000605, 0x0000048A, - 0x000002D3, 0x00000A7C, 0x00000171, 0x000001AF, 0x000004AC, 0x0000024F, - 0x00000ADE, 0x00000110, 0x00000212, 0x00000742, 0x00000389, 0x000006C4, - 0x00000B98, 0x000002AE, 0x000009B1, 0x00000741, 0x00000211, 0x00000A5B, - 0x000005EA, 0x00000310, 0x0000052A, 0x00000071, 0x00000107, 0x000006A2, - 0x00000B1B, 0x00000034, 0x0000024B, 0x000002AF, 0x00000A41, 0x00000A7E, - 0x0000034F, 0x00000901, 0x00000539, 0x0000091C, 0x000001A4, 0x00000666, - 0x00000833, 0x00000206, 0x00000210, 0x000002ED, 0x0000040D, 0x00000428, - 0x00000195, 0x000004C7, 0x00000AB0, 0x00000429, 0x00000B5F, 0x0000044C, - 0x00000B59, 0x00000344, 0x000007C7, 0x00000739, 0x0000091D, 0x000000D2, - 0x00000133, 0x000005C8, 0x00000A1B, 0x00000420, 0x000002B0, 0x00000A25, - 0x0000030E, 0x0000048B, 0x00000B7D, 0x00000073, 0x00000740, 0x00000173, - 0x000006C6, 0x00000567, 0x00000A3F, 0x00000B95, 0x0000038A, 0x000005CE, - 0x000006A3, 0x000006FA, 0x00000743, 0x000007C5, 0x0000038B, 0x00000ABA, - 0x00000B51, 0x00000914, 0x0000013C, 0x00000566, 0x0000097D, 0x00000A58, - 0x00000B5B, 0x00000704, 0x00000232, 0x000002EE, 0x000007A2, 0x00000763, - 0x00000135, 0x000000D3, 0x00000949, 0x000001D2, 0x00000604, 0x00000035, - 0x000004AE, 0x000007D6, 0x00000B7B, 0x00000AF7, 0x00000873, 0x000004E9, - 0x000007E1, 0x0000097F, 0x000001AE, 0x00000864, 0x000008E0, 0x000005A3, - 0x000006A4, 0x00000667, 0x00000961, 0x000004C9, 0x00000ABC, 0x00000627, - 0x000007A3, 0x00000AF9, 0x00000528, 0x00000B24, 0x0000020F, 0x000008A1, - 0x000004C8, 0x000004BD, 0x00000976, 0x000006A5, 0x0000054D, 0x000002E2, - 0x000000F6, 0x0000024C, 0x00000B97, 0x00000055, 0x00000B96, 0x00000689, - 0x00000096, 0x00000072, 0x000009A0, 0x0000014C, 0x00000059, 0x0000048C, - 0x000009BB, 0x00000588, 0x000003EC, 0x00000BBA, 0x00000665, 0x000005BC, - 0x00000529, 0x00000840, 0x0000051F, 0x000005FB, 0x000000D5, 0x000005C7, - 0x000009BA, 0x000000D4, 0x000009DF, 0x000006CD, 0x00000489, 0x000007F0, - 0x000003E1, 0x000009BC, 0x00000A59, 0x0000093E, 0x000007A9, 0x00000112, - 0x00000271, 0x000002D1, 0x0000057C, 0x0000038C, 0x0000003D, 0x00000A13, - 0x000001B0, 0x00000AEF, 0x000007DF, 0x00000842, 0x00000804, 0x00000903, - 0x000007A4, 0x00000482, 0x0004002B, 0x0000000B, 0x00000A0D, 0x00000001, - 0x0004002B, 0x0000000B, 0x00000A3A, 0x00000010, 0x0004002B, 0x0000000B, - 0x00000A0A, 0x00000000, 0x00040020, 0x00000607, 0x00000007, 0x00000388, - 0x0004002B, 0x0000000D, 0x00000A0C, 0x00000000, 0x0004002B, 0x0000000D, - 0x0000008A, 0x3F800000, 0x0004002B, 0x0000000B, 0x0000020D, 0x1FBC4639, - 0x0004002B, 0x0000000B, 0x00000345, 0x7EF07EBB, 0x0004002B, 0x0000000B, - 0x000000B2, 0x7EF19FFF, 0x0004002B, 0x0000000D, 0x00000019, 0x40000000, - 0x00090019, 0x00000097, 0x0000000D, 0x00000001, 0x00000000, 0x00000000, - 0x00000000, 0x00000001, 0x00000000, 0x0003001B, 0x000001FE, 0x00000097, - 0x00040020, 0x0000047B, 0x00000000, 0x000001FE, 0x0004003B, 0x0000047B, - 0x00000C4E, 0x00000000, 0x0004002B, 0x0000000C, 0x00000A0B, 0x00000000, - 0x00040017, 0x0000001D, 0x0000000D, 0x00000004, 0x0004002B, 0x0000000C, - 0x00000A08, 0xFFFFFFFF, 0x0005002C, 0x00000012, 0x0000070B, 0x00000A0B, - 0x00000A08, 0x0004002B, 0x0000000C, 0x00000A0E, 0x00000001, 0x0005002C, - 0x00000012, 0x00000714, 0x00000A0E, 0x00000A08, 0x0005002C, 0x00000012, - 0x0000070E, 0x00000A08, 0x00000A0B, 0x0005002C, 0x00000012, 0x00000720, - 0x00000A0E, 0x00000A0B, 0x0005002C, 0x00000012, 0x0000071A, 0x00000A08, - 0x00000A0E, 0x0005002C, 0x00000012, 0x00000723, 0x00000A0B, 0x00000A0E, - 0x0005002C, 0x00000012, 0x0000072C, 0x00000A0E, 0x00000A0E, 0x0004002B, - 0x0000000B, 0x00000A10, 0x00000002, 0x00040017, 0x00000013, 0x0000000D, - 0x00000002, 0x0004002B, 0x0000000C, 0x00000A11, 0x00000002, 0x0005002C, - 0x00000012, 0x00000729, 0x00000A11, 0x00000A0B, 0x0005002C, 0x00000012, - 0x0000072F, 0x00000A0B, 0x00000A11, 0x0005002C, 0x00000012, 0x00000735, - 0x00000A11, 0x00000A0E, 0x0005002C, 0x00000012, 0x00000738, 0x00000A0E, - 0x00000A11, 0x0004002B, 0x0000000D, 0x000002C4, 0x3D000000, 0x00040020, - 0x0000029A, 0x00000001, 0x0000001D, 0x0004003B, 0x0000029A, 0x00000C93, - 0x00000001, 0x0004001E, 0x000003F2, 0x00000012, 0x0000000D, 0x00040020, - 0x0000066F, 0x00000009, 0x000003F2, 0x0004003B, 0x0000066F, 0x00001342, - 0x00000009, 0x00040020, 0x0000028F, 0x00000009, 0x00000012, 0x00040020, - 0x0000028B, 0x00000009, 0x0000000D, 0x00040020, 0x0000029B, 0x00000003, - 0x0000001D, 0x0004003B, 0x0000029B, 0x00001400, 0x00000003, 0x00040020, - 0x0000028C, 0x00000003, 0x0000000D, 0x0006002C, 0x00000018, 0x00000A2C, - 0x00000A0C, 0x00000A0C, 0x00000A0C, 0x0006002C, 0x00000018, 0x00000A16, - 0x0000008A, 0x0000008A, 0x0000008A, 0x0004002B, 0x0000000B, 0x00000A14, - 0x00000003, 0x0005002C, 0x00000011, 0x0000084A, 0x00000A37, 0x00000A37, - 0x00050036, 0x00000008, 0x0000161F, 0x00000000, 0x00000502, 0x000200F8, - 0x00006179, 0x0004003B, 0x00000607, 0x000047EB, 0x00000007, 0x0004003D, - 0x0000001D, 0x00005647, 0x00000C93, 0x0007004F, 0x00000013, 0x000019A2, - 0x00005647, 0x00005647, 0x00000000, 0x00000001, 0x0004006E, 0x00000012, - 0x000044F8, 0x000019A2, 0x00050041, 0x0000028F, 0x00004B4F, 0x00001342, - 0x00000A0B, 0x0004003D, 0x00000012, 0x00005926, 0x00004B4F, 0x00050082, - 0x00000012, 0x00005B10, 0x000044F8, 0x00005926, 0x0004007C, 0x00000011, - 0x000026D2, 0x00005B10, 0x00050041, 0x0000028B, 0x00005205, 0x00001342, - 0x00000A0E, 0x0004003D, 0x0000000D, 0x000055F9, 0x00005205, 0x0004007C, - 0x0000000B, 0x00003FCE, 0x000055F9, 0x00040070, 0x00000013, 0x00005EBA, - 0x000026D2, 0x0006000C, 0x00000013, 0x00005C9D, 0x00000001, 0x00000008, - 0x00005EBA, 0x00050083, 0x00000013, 0x00002FE9, 0x00005EBA, 0x00005C9D, - 0x0004006E, 0x00000012, 0x000042A8, 0x00005C9D, 0x00050080, 0x00000012, - 0x000050B7, 0x000042A8, 0x0000070B, 0x0004003D, 0x000001FE, 0x0000415B, - 0x00000C4E, 0x00040064, 0x00000097, 0x00005C42, 0x0000415B, 0x0007005F, - 0x0000001D, 0x000040D3, 0x00005C42, 0x000050B7, 0x00000002, 0x00000A0B, - 0x00050080, 0x00000012, 0x00003C5E, 0x000042A8, 0x0000070E, 0x00040064, - 0x00000097, 0x00004DF7, 0x0000415B, 0x0007005F, 0x0000001D, 0x00003802, + 0x00030016, 0x0000000D, 0x00000020, 0x00040017, 0x00000018, 0x0000000D, + 0x00000003, 0x00040015, 0x0000000B, 0x00000020, 0x00000000, 0x00040017, + 0x00000011, 0x0000000B, 0x00000002, 0x00040020, 0x0000028A, 0x00000007, + 0x0000000D, 0x00040015, 0x0000000C, 0x00000020, 0x00000001, 0x00040017, + 0x00000012, 0x0000000C, 0x00000002, 0x0004002B, 0x0000000D, 0x00000A0C, + 0x00000000, 0x0006002C, 0x00000018, 0x00000A2C, 0x00000A0C, 0x00000A0C, + 0x00000A0C, 0x0004002B, 0x0000000D, 0x0000008A, 0x3F800000, 0x0006002C, + 0x00000018, 0x00000A16, 0x0000008A, 0x0000008A, 0x0000008A, 0x0004002B, + 0x0000000B, 0x00000A37, 0x0000000F, 0x0004002B, 0x0000000B, 0x00000147, + 0x00000100, 0x0004001C, 0x000003C9, 0x0000000D, 0x00000147, 0x0004002B, + 0x0000000D, 0x0000010F, 0xBA838384, 0x0004002B, 0x0000000D, 0x00000728, + 0x3A66E6E7, 0x0004002B, 0x0000000D, 0x00000705, 0x3ADDDDDE, 0x0004002B, + 0x0000000D, 0x00000A5A, 0xBACBCBCC, 0x0004002B, 0x0000000D, 0x000008DF, + 0x3AA7A7A8, 0x0004002B, 0x0000000D, 0x00000094, 0xBA1E9E9F, 0x0004002B, + 0x0000000D, 0x0000034C, 0x3A8B8B8C, 0x0004002B, 0x0000000D, 0x0000087E, + 0xBAB5B5B6, 0x0004002B, 0x0000000D, 0x0000034D, 0x3AB1B1B2, 0x0004002B, + 0x0000000D, 0x00000687, 0x3A068687, 0x0004002B, 0x0000000D, 0x000003EB, + 0x3A9F9FA0, 0x0004002B, 0x0000000D, 0x0000024E, 0xBAD1D1D2, 0x0004002B, + 0x0000000D, 0x00000726, 0x3A1A9A9B, 0x0004002B, 0x0000000D, 0x00000698, + 0xB9949495, 0x0004002B, 0x0000000D, 0x00000703, 0x3A919192, 0x0004002B, + 0x0000000D, 0x00000AF8, 0xBAB9B9BA, 0x0004002B, 0x0000000D, 0x00000ABB, + 0x3ABDBDBE, 0x0004002B, 0x0000000D, 0x0000026F, 0xBA0E8E8F, 0x0004002B, + 0x0000000D, 0x000008A8, 0x39088889, 0x0004002B, 0x0000000D, 0x00000565, + 0xBA9D9D9E, 0x0004002B, 0x0000000D, 0x0000065D, 0x39E4E4E5, 0x0004002B, + 0x0000000D, 0x000004C6, 0xBA89898A, 0x0004002B, 0x0000000D, 0x00000057, + 0x3A22A2A3, 0x0004002B, 0x0000000D, 0x0000006A, 0xB9FCFCFD, 0x0004002B, + 0x0000000D, 0x00000A1E, 0x3AF5F5F6, 0x0004002B, 0x0000000D, 0x0000087D, + 0xBA8F8F90, 0x0004002B, 0x0000000D, 0x00000959, 0xB8D0D0D1, 0x0004002B, + 0x0000000D, 0x00000BB8, 0xBA0A8A8B, 0x0004002B, 0x0000000D, 0x0000097E, + 0x3ABBBBBC, 0x0004002B, 0x0000000D, 0x00000606, 0xBAFDFDFE, 0x0004002B, + 0x0000000D, 0x000003AD, 0xBA36B6B7, 0x0004002B, 0x0000000D, 0x000000E2, + 0x3820A0A1, 0x0004002B, 0x0000000D, 0x00000370, 0x3A3ABABB, 0x0004002B, + 0x0000000D, 0x0000024D, 0xBAABABAC, 0x0004002B, 0x0000000D, 0x000005C6, + 0x3A8F8F90, 0x0004002B, 0x0000000D, 0x00000B8C, 0xB99C9C9D, 0x0004002B, + 0x0000000D, 0x00000036, 0x3AE5E5E6, 0x0004002B, 0x0000000D, 0x0000087F, + 0xBADBDBDC, 0x0004002B, 0x0000000D, 0x00000172, 0x3AC1C1C2, 0x0004002B, + 0x0000000D, 0x00000399, 0xB820A0A1, 0x0004002B, 0x0000000D, 0x0000040F, + 0x3A4ECECF, 0x0004002B, 0x0000000D, 0x0000091E, 0xBAEFEFF0, 0x0004002B, + 0x0000000D, 0x000008D5, 0x399C9C9D, 0x0004002B, 0x0000000D, 0x000008DE, + 0x3A818182, 0x0004002B, 0x0000000D, 0x000002EB, 0xBA99999A, 0x0004002B, + 0x0000000D, 0x00000317, 0x3938B8B9, 0x0004002B, 0x0000000D, 0x0000034E, + 0x3AD7D7D8, 0x0004002B, 0x0000000D, 0x00000111, 0xBACFCFD0, 0x0004002B, + 0x0000000D, 0x0000002B, 0x39B4B4B5, 0x0004002B, 0x0000000D, 0x000008E1, + 0x3AF3F3F4, 0x0004002B, 0x0000000D, 0x0000042A, 0xBAE7E7E8, 0x0004002B, + 0x0000000D, 0x00000765, 0xBA62E2E3, 0x0004002B, 0x0000000D, 0x000009A2, + 0x3A6AEAEB, 0x0004002B, 0x0000000D, 0x000004F2, 0x3928A8A9, 0x0004002B, + 0x0000000D, 0x0000058A, 0xBA72F2F3, 0x0004002B, 0x0000000D, 0x000007E0, + 0xBAC7C7C8, 0x0004002B, 0x0000000D, 0x00000802, 0xBA2AAAAB, 0x0004002B, + 0x0000000D, 0x00000A1C, 0x3AA9A9AA, 0x0004002B, 0x0000000D, 0x00000940, + 0xBA52D2D3, 0x0004002B, 0x0000000D, 0x000002EC, 0xBABFBFC0, 0x0004002B, + 0x0000000D, 0x000003ED, 0x3AEBEBEC, 0x0004002B, 0x0000000D, 0x000004EB, + 0xBA5EDEDF, 0x0004002B, 0x0000000D, 0x00000234, 0x3A5EDEDF, 0x0004002B, + 0x0000000D, 0x00000245, 0xB9ECECED, 0x0004002B, 0x0000000D, 0x00000603, + 0xBA8B8B8C, 0x0004002B, 0x0000000D, 0x00000984, 0xB9189899, 0x0004002B, + 0x0000000D, 0x0000076E, 0x3978F8F9, 0x0004002B, 0x0000000D, 0x00000841, + 0x3AB9B9BA, 0x0004002B, 0x0000000D, 0x000009DD, 0xBA1A9A9B, 0x0004002B, + 0x0000000D, 0x000003F3, 0xB948C8C9, 0x0004002B, 0x0000000D, 0x00000B5A, + 0x3AD1D1D2, 0x0004002B, 0x0000000D, 0x00000B58, 0x3A858586, 0x0004002B, + 0x0000000D, 0x00000838, 0x39D4D4D5, 0x0004002B, 0x0000000D, 0x00000218, + 0xB958D8D9, 0x0004002B, 0x0000000D, 0x00000A1D, 0x3ACFCFD0, 0x0004002B, + 0x0000000D, 0x0000054B, 0x3A2AAAAB, 0x0004002B, 0x0000000D, 0x00000503, + 0xB8909091, 0x0004002B, 0x0000000D, 0x00000169, 0x39DCDCDD, 0x0004002B, + 0x0000000D, 0x00000605, 0xBAD7D7D8, 0x0004002B, 0x0000000D, 0x0000048A, + 0x3AB3B3B4, 0x0004002B, 0x0000000D, 0x000002D3, 0x3A72F2F3, 0x0004002B, + 0x0000000D, 0x00000A7C, 0xBA2EAEAF, 0x0004002B, 0x0000000D, 0x00000171, + 0x3A9B9B9C, 0x0004002B, 0x0000000D, 0x000001AF, 0xBABDBDBE, 0x0004002B, + 0x0000000D, 0x000004AC, 0x3A169697, 0x0004002B, 0x0000000D, 0x0000024F, + 0xBAF7F7F8, 0x0004002B, 0x0000000D, 0x00000ADE, 0x3A46C6C7, 0x0004002B, + 0x0000000D, 0x00000110, 0xBAA9A9AA, 0x0004002B, 0x0000000D, 0x00000212, + 0x3AFBFBFC, 0x0004002B, 0x0000000D, 0x00000742, 0xBAD9D9DA, 0x0004002B, + 0x0000000D, 0x00000389, 0xBA878788, 0x0004002B, 0x0000000D, 0x000006C4, + 0xBA028283, 0x0004002B, 0x0000000D, 0x00000B98, 0xBAF3F3F4, 0x0004002B, + 0x0000000D, 0x000002AE, 0x3A9D9D9E, 0x0004002B, 0x0000000D, 0x000009B1, + 0xB9ACACAD, 0x0004002B, 0x0000000D, 0x00000741, 0xBAB3B3B4, 0x0004002B, + 0x0000000D, 0x00000211, 0x3AD5D5D6, 0x0004002B, 0x0000000D, 0x00000A5B, + 0xBAF1F1F2, 0x0004002B, 0x0000000D, 0x000005EA, 0x3A3EBEBF, 0x0004002B, + 0x0000000D, 0x00000310, 0xBA6EEEEF, 0x0004002B, 0x0000000D, 0x0000052A, + 0x3AEDEDEE, 0x0004002B, 0x0000000D, 0x00000071, 0xBA959596, 0x0004002B, + 0x0000000D, 0x00000107, 0xB9C4C4C5, 0x0004002B, 0x0000000D, 0x000006A2, + 0x38D0D0D1, 0x0004002B, 0x0000000D, 0x00000B1B, 0xBA42C2C3, 0x0004002B, + 0x0000000D, 0x00000034, 0x3A99999A, 0x0004002B, 0x0000000D, 0x0000024B, + 0x38909091, 0x0004002B, 0x0000000D, 0x000002AF, 0x3AC3C3C4, 0x0004002B, + 0x0000000D, 0x00000A41, 0x3A7EFEFF, 0x0004002B, 0x0000000D, 0x00000A7E, + 0xBA7AFAFB, 0x0004002B, 0x0000000D, 0x0000034F, 0x3AFDFDFE, 0x0004002B, + 0x0000000D, 0x00000901, 0x3A0A8A8B, 0x0004002B, 0x0000000D, 0x00000539, + 0x3860E0E1, 0x0004002B, 0x0000000D, 0x0000091C, 0xBAA3A3A4, 0x0004002B, + 0x0000000D, 0x000001A4, 0xB98C8C8D, 0x0004002B, 0x0000000D, 0x00000666, + 0x3AC9C9CA, 0x0004002B, 0x0000000D, 0x00000833, 0xB7008081, 0x0004002B, + 0x0000000D, 0x00000206, 0x39A4A4A5, 0x0004002B, 0x0000000D, 0x00000210, + 0x3AAFAFB0, 0x0004002B, 0x0000000D, 0x000002ED, 0xBAE5E5E6, 0x0004002B, + 0x0000000D, 0x0000040D, 0x3A028283, 0x0004002B, 0x0000000D, 0x00000428, + 0xBA9B9B9C, 0x0004002B, 0x0000000D, 0x00000195, 0x3A4ACACB, 0x0004002B, + 0x0000000D, 0x000004C7, 0xBAAFAFB0, 0x0004002B, 0x0000000D, 0x00000AB0, + 0x398C8C8D, 0x0004002B, 0x0000000D, 0x00000429, 0xBAC1C1C2, 0x0004002B, + 0x0000000D, 0x00000B5F, 0xB9088889, 0x0004002B, 0x0000000D, 0x0000044C, + 0xBA4ACACB, 0x0004002B, 0x0000000D, 0x00000B59, 0x3AABABAC, 0x0004002B, + 0x0000000D, 0x00000344, 0x39CCCCCD, 0x0004002B, 0x0000000D, 0x000007C7, + 0x3A7AFAFB, 0x0004002B, 0x0000000D, 0x00000739, 0xB9F4F4F5, 0x0004002B, + 0x0000000D, 0x0000091D, 0xBAC9C9CA, 0x0004002B, 0x0000000D, 0x000000D2, + 0x3A878788, 0x0004002B, 0x0000000D, 0x00000133, 0xBA32B2B3, 0x0004002B, + 0x0000000D, 0x000005C8, 0x3ADBDBDC, 0x0004002B, 0x0000000D, 0x00000A1B, + 0x3A838384, 0x0004002B, 0x0000000D, 0x00000420, 0xB9DCDCDD, 0x0004002B, + 0x0000000D, 0x000002B0, 0x3AE9E9EA, 0x0004002B, 0x0000000D, 0x00000A25, + 0xB978F8F9, 0x0004002B, 0x0000000D, 0x0000030E, 0xBA22A2A3, 0x0004002B, + 0x0000000D, 0x0000048B, 0x3AD9D9DA, 0x0004002B, 0x0000000D, 0x00000B7D, + 0x3A5ADADB, 0x0004002B, 0x0000000D, 0x00000073, 0xBAE1E1E2, 0x0004002B, + 0x0000000D, 0x00000740, 0xBA8D8D8E, 0x0004002B, 0x0000000D, 0x00000173, + 0x3AE7E7E8, 0x0004002B, 0x0000000D, 0x000006C6, 0xBA4ECECF, 0x0004002B, + 0x0000000D, 0x00000567, 0xBAE9E9EA, 0x0004002B, 0x0000000D, 0x00000A3F, + 0x3A32B2B3, 0x0004002B, 0x0000000D, 0x00000B95, 0xBA818182, 0x0004002B, + 0x0000000D, 0x0000038A, 0xBAADADAE, 0x0004002B, 0x0000000D, 0x000005CE, + 0xB938B8B9, 0x0004002B, 0x0000000D, 0x000006A3, 0xBAC5C5C6, 0x0004002B, + 0x0000000D, 0x000006FA, 0x39ACACAD, 0x0004002B, 0x0000000D, 0x00000743, + 0xBB000000, 0x0004002B, 0x0000000D, 0x000007C5, 0x3A2EAEAF, 0x0004002B, + 0x0000000D, 0x0000038B, 0xBAD3D3D4, 0x0004002B, 0x0000000D, 0x00000ABA, + 0x3A979798, 0x0004002B, 0x0000000D, 0x00000B51, 0x39ECECED, 0x0004002B, + 0x0000000D, 0x00000914, 0xB9E4E4E5, 0x0004002B, 0x0000000D, 0x0000013C, + 0x3948C8C9, 0x0004002B, 0x0000000D, 0x00000566, 0xBAC3C3C4, 0x0004002B, + 0x0000000D, 0x0000097D, 0x3A959596, 0x0004002B, 0x0000000D, 0x00000A58, + 0x38B0B0B1, 0x0004002B, 0x0000000D, 0x00000B5B, 0x3AF7F7F8, 0x0004002B, + 0x0000000D, 0x00000704, 0x3AB7B7B8, 0x0004002B, 0x0000000D, 0x00000232, + 0x3A129293, 0x0004002B, 0x0000000D, 0x000002EE, 0x38F0F0F1, 0x0004002B, + 0x0000000D, 0x000007A2, 0x3AA5A5A6, 0x0004002B, 0x0000000D, 0x00000763, + 0xBA169697, 0x0004002B, 0x0000000D, 0x00000135, 0xBA7EFEFF, 0x0004002B, + 0x0000000D, 0x000000D3, 0x3AADADAE, 0x0004002B, 0x0000000D, 0x00000949, + 0x3968E8E9, 0x0004002B, 0x0000000D, 0x000001D2, 0xBA46C6C7, 0x0004002B, + 0x0000000D, 0x00000604, 0xBAB1B1B2, 0x0004002B, 0x0000000D, 0x00000035, + 0x3ABFBFC0, 0x0004002B, 0x0000000D, 0x000004AE, 0x3A62E2E3, 0x0004002B, + 0x0000000D, 0x000007D6, 0xB9BCBCBD, 0x0004002B, 0x0000000D, 0x00000B7B, + 0x3A0E8E8F, 0x0004002B, 0x0000000D, 0x00000AF7, 0xBA939394, 0x0004002B, + 0x0000000D, 0x00000873, 0xB9848485, 0x0004002B, 0x0000000D, 0x000004E9, + 0xBA129293, 0x0004002B, 0x0000000D, 0x000007E1, 0xBAEDEDEE, 0x0004002B, + 0x0000000D, 0x0000097F, 0x3AE1E1E2, 0x0004002B, 0x0000000D, 0x000001AE, + 0xBA979798, 0x0004002B, 0x0000000D, 0x00000864, 0x3A42C2C3, 0x0004002B, + 0x0000000D, 0x000008E0, 0x3ACDCDCE, 0x0004002B, 0x0000000D, 0x000005A3, + 0xB8F0F0F1, 0x0004002B, 0x0000000D, 0x000006A4, 0xBA9F9FA0, 0x0004002B, + 0x0000000D, 0x00000667, 0x3AEFEFF0, 0x0004002B, 0x0000000D, 0x00000961, + 0x37C0C0C1, 0x0004002B, 0x0000000D, 0x000004C9, 0xBAFBFBFC, 0x0004002B, + 0x0000000D, 0x00000ABC, 0x3AE3E3E4, 0x0004002B, 0x0000000D, 0x00000627, + 0xBA3ABABB, 0x0004002B, 0x0000000D, 0x000007A3, 0x3ACBCBCC, 0x0004002B, + 0x0000000D, 0x00000AF9, 0xBADFDFE0, 0x0004002B, 0x0000000D, 0x00000528, + 0x3AA1A1A2, 0x0004002B, 0x0000000D, 0x00000B24, 0x3958D8D9, 0x0004002B, + 0x0000000D, 0x0000020F, 0x3A89898A, 0x0004002B, 0x0000000D, 0x000008A1, + 0xBA3EBEBF, 0x0004002B, 0x0000000D, 0x000004C8, 0xBAD5D5D6, 0x0004002B, + 0x0000000D, 0x000004BD, 0xB9A4A4A5, 0x0004002B, 0x0000000D, 0x00000976, + 0x39FCFCFD, 0x0004002B, 0x0000000D, 0x000006A5, 0xBAEBEBEC, 0x0004002B, + 0x0000000D, 0x0000054D, 0x3A76F6F7, 0x0004002B, 0x0000000D, 0x000002E2, + 0xB9B4B4B5, 0x0004002B, 0x0000000D, 0x000000F6, 0x3A36B6B7, 0x0004002B, + 0x0000000D, 0x0000024C, 0xBA858586, 0x0004002B, 0x0000000D, 0x00000B97, + 0xBACDCDCE, 0x0004002B, 0x0000000D, 0x00000055, 0xB7C0C0C1, 0x0004002B, + 0x0000000D, 0x00000B96, 0xBAA7A7A8, 0x0004002B, 0x0000000D, 0x00000689, + 0x3A52D2D3, 0x0004002B, 0x0000000D, 0x00000096, 0xBA6AEAEB, 0x0004002B, + 0x0000000D, 0x00000072, 0xBABBBBBC, 0x0004002B, 0x0000000D, 0x000009A0, + 0x3A1E9E9F, 0x0004002B, 0x0000000D, 0x0000014C, 0xB8B0B0B1, 0x0004002B, + 0x0000000D, 0x00000059, 0x3A6EEEEF, 0x0004002B, 0x0000000D, 0x0000048C, + 0x3B000000, 0x0004002B, 0x0000000D, 0x000009BB, 0xBAB7B7B8, 0x0004002B, + 0x0000000D, 0x00000588, 0xBA26A6A7, 0x0004002B, 0x0000000D, 0x000003EC, + 0x3AC5C5C6, 0x0004002B, 0x0000000D, 0x00000BBA, 0xBA56D6D7, 0x0004002B, + 0x0000000D, 0x00000665, 0x3AA3A3A4, 0x0004002B, 0x0000000D, 0x000005BC, + 0x39848485, 0x0004002B, 0x0000000D, 0x00000529, 0x3AC7C7C8, 0x0004002B, + 0x0000000D, 0x00000840, 0x3A939394, 0x0004002B, 0x0000000D, 0x0000051F, + 0x39BCBCBD, 0x0004002B, 0x0000000D, 0x000005FB, 0xB9CCCCCD, 0x0004002B, + 0x0000000D, 0x000000D5, 0x3AF9F9FA, 0x0004002B, 0x0000000D, 0x000005C7, + 0x3AB5B5B6, 0x0004002B, 0x0000000D, 0x000009BA, 0xBA919192, 0x0004002B, + 0x0000000D, 0x000000D4, 0x3AD3D3D4, 0x0004002B, 0x0000000D, 0x000009DF, + 0xBA66E6E7, 0x0004002B, 0x0000000D, 0x000006CD, 0x39189899, 0x0004002B, + 0x0000000D, 0x00000489, 0x3A8D8D8E, 0x0004002B, 0x0000000D, 0x000007F0, + 0xB860E0E1, 0x0004002B, 0x0000000D, 0x000003E1, 0x39949495, 0x0004002B, + 0x0000000D, 0x000009BC, 0xBADDDDDE, 0x0004002B, 0x0000000D, 0x00000A59, + 0xBAA5A5A6, 0x0004002B, 0x0000000D, 0x0000093E, 0xBA068687, 0x0004002B, + 0x0000000D, 0x000007A9, 0xB928A8A9, 0x0004002B, 0x0000000D, 0x00000112, + 0xBAF5F5F6, 0x0004002B, 0x0000000D, 0x00000271, 0xBA5ADADB, 0x0004002B, + 0x0000000D, 0x000002D1, 0x3A26A6A7, 0x0004002B, 0x0000000D, 0x0000057C, + 0x37008081, 0x0004002B, 0x0000000D, 0x0000038C, 0xBAF9F9FA, 0x0004002B, + 0x0000000D, 0x0000003D, 0xB968E8E9, 0x0004002B, 0x0000000D, 0x00000A13, + 0x39C4C4C5, 0x0004002B, 0x0000000D, 0x000001B0, 0xBAE3E3E4, 0x0004002B, + 0x0000000D, 0x00000AEF, 0xB9D4D4D5, 0x0004002B, 0x0000000D, 0x000007DF, + 0xBAA1A1A2, 0x0004002B, 0x0000000D, 0x00000842, 0x3ADFDFE0, 0x0004002B, + 0x0000000D, 0x00000804, 0xBA76F6F7, 0x0004002B, 0x0000000D, 0x00000903, + 0x3A56D6D7, 0x0004002B, 0x0000000D, 0x000007A4, 0x3AF1F1F2, 0x0004002B, + 0x0000000D, 0x00000482, 0x39F4F4F5, 0x0103002C, 0x000003C9, 0x00000890, + 0x0000010F, 0x00000728, 0x00000705, 0x00000A5A, 0x000008DF, 0x00000094, + 0x0000034C, 0x0000087E, 0x0000034D, 0x00000687, 0x000003EB, 0x0000024E, + 0x00000726, 0x00000698, 0x00000703, 0x00000AF8, 0x00000ABB, 0x0000026F, + 0x000008A8, 0x00000565, 0x0000065D, 0x000004C6, 0x00000057, 0x0000006A, + 0x00000A1E, 0x0000087D, 0x00000959, 0x00000BB8, 0x0000097E, 0x00000606, + 0x000003AD, 0x000000E2, 0x00000370, 0x0000024D, 0x000005C6, 0x00000B8C, + 0x00000036, 0x0000087F, 0x00000172, 0x00000399, 0x0000040F, 0x0000091E, + 0x000008D5, 0x000008DE, 0x000002EB, 0x00000317, 0x0000034E, 0x00000111, + 0x0000002B, 0x000008E1, 0x0000042A, 0x00000765, 0x000009A2, 0x000004F2, + 0x0000058A, 0x000007E0, 0x00000802, 0x00000A1C, 0x00000940, 0x000002EC, + 0x000003ED, 0x000004EB, 0x00000234, 0x00000245, 0x00000603, 0x00000984, + 0x0000076E, 0x00000841, 0x000009DD, 0x000003F3, 0x00000B5A, 0x00000B58, + 0x00000838, 0x00000218, 0x00000A1D, 0x0000054B, 0x00000503, 0x00000169, + 0x00000605, 0x0000048A, 0x000002D3, 0x00000A7C, 0x00000171, 0x000001AF, + 0x000004AC, 0x0000024F, 0x00000ADE, 0x00000110, 0x00000212, 0x00000742, + 0x00000389, 0x000006C4, 0x00000B98, 0x000002AE, 0x000009B1, 0x00000741, + 0x00000211, 0x00000A5B, 0x000005EA, 0x00000310, 0x0000052A, 0x00000071, + 0x00000107, 0x000006A2, 0x00000B1B, 0x00000034, 0x0000024B, 0x000002AF, + 0x00000A41, 0x00000A7E, 0x0000034F, 0x00000901, 0x00000539, 0x0000091C, + 0x000001A4, 0x00000666, 0x00000833, 0x00000206, 0x00000210, 0x000002ED, + 0x0000040D, 0x00000428, 0x00000195, 0x000004C7, 0x00000AB0, 0x00000429, + 0x00000B5F, 0x0000044C, 0x00000B59, 0x00000344, 0x000007C7, 0x00000739, + 0x0000091D, 0x000000D2, 0x00000133, 0x000005C8, 0x00000A1B, 0x00000420, + 0x000002B0, 0x00000A25, 0x0000030E, 0x0000048B, 0x00000B7D, 0x00000073, + 0x00000740, 0x00000173, 0x000006C6, 0x00000567, 0x00000A3F, 0x00000B95, + 0x0000038A, 0x000005CE, 0x000006A3, 0x000006FA, 0x00000743, 0x000007C5, + 0x0000038B, 0x00000ABA, 0x00000B51, 0x00000914, 0x0000013C, 0x00000566, + 0x0000097D, 0x00000A58, 0x00000B5B, 0x00000704, 0x00000232, 0x000002EE, + 0x000007A2, 0x00000763, 0x00000135, 0x000000D3, 0x00000949, 0x000001D2, + 0x00000604, 0x00000035, 0x000004AE, 0x000007D6, 0x00000B7B, 0x00000AF7, + 0x00000873, 0x000004E9, 0x000007E1, 0x0000097F, 0x000001AE, 0x00000864, + 0x000008E0, 0x000005A3, 0x000006A4, 0x00000667, 0x00000961, 0x000004C9, + 0x00000ABC, 0x00000627, 0x000007A3, 0x00000AF9, 0x00000528, 0x00000B24, + 0x0000020F, 0x000008A1, 0x000004C8, 0x000004BD, 0x00000976, 0x000006A5, + 0x0000054D, 0x000002E2, 0x000000F6, 0x0000024C, 0x00000B97, 0x00000055, + 0x00000B96, 0x00000689, 0x00000096, 0x00000072, 0x000009A0, 0x0000014C, + 0x00000059, 0x0000048C, 0x000009BB, 0x00000588, 0x000003EC, 0x00000BBA, + 0x00000665, 0x000005BC, 0x00000529, 0x00000840, 0x0000051F, 0x000005FB, + 0x000000D5, 0x000005C7, 0x000009BA, 0x000000D4, 0x000009DF, 0x000006CD, + 0x00000489, 0x000007F0, 0x000003E1, 0x000009BC, 0x00000A59, 0x0000093E, + 0x000007A9, 0x00000112, 0x00000271, 0x000002D1, 0x0000057C, 0x0000038C, + 0x0000003D, 0x00000A13, 0x000001B0, 0x00000AEF, 0x000007DF, 0x00000842, + 0x00000804, 0x00000903, 0x000007A4, 0x00000482, 0x0004002B, 0x0000000B, + 0x00000A0D, 0x00000001, 0x0004002B, 0x0000000B, 0x00000A3A, 0x00000010, + 0x0004002B, 0x0000000B, 0x00000A0A, 0x00000000, 0x00040020, 0x00000646, + 0x00000007, 0x000003C9, 0x00040017, 0x0000001D, 0x0000000D, 0x00000004, + 0x00040020, 0x0000029A, 0x00000001, 0x0000001D, 0x0004003B, 0x0000029A, + 0x00000C93, 0x00000001, 0x00040017, 0x00000013, 0x0000000D, 0x00000002, + 0x0004001E, 0x000003F2, 0x00000012, 0x0000000D, 0x00040020, 0x0000066F, + 0x00000009, 0x000003F2, 0x0004003B, 0x0000066F, 0x00000BEC, 0x00000009, + 0x0004002B, 0x0000000C, 0x00000A0B, 0x00000000, 0x00040020, 0x0000028F, + 0x00000009, 0x00000012, 0x0004002B, 0x0000000C, 0x00000A0E, 0x00000001, + 0x00040020, 0x0000028B, 0x00000009, 0x0000000D, 0x00040020, 0x0000029B, + 0x00000003, 0x0000001D, 0x0004003B, 0x0000029B, 0x000014D6, 0x00000003, + 0x00040020, 0x0000028C, 0x00000003, 0x0000000D, 0x0004002B, 0x0000000B, + 0x00000A10, 0x00000002, 0x0004002B, 0x0000000B, 0x00000A14, 0x00000003, + 0x0004002B, 0x0000000B, 0x0000020D, 0x1FBC4639, 0x0004002B, 0x0000000B, + 0x00000345, 0x7EF07EBB, 0x0004002B, 0x0000000B, 0x000000B2, 0x7EF19FFF, + 0x0004002B, 0x0000000D, 0x00000019, 0x40000000, 0x00090019, 0x00000097, + 0x0000000D, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000001, + 0x00000000, 0x0003001B, 0x000001FE, 0x00000097, 0x00040020, 0x0000047B, + 0x00000000, 0x000001FE, 0x0004003B, 0x0000047B, 0x0000142B, 0x00000000, + 0x0004002B, 0x0000000C, 0x00000A08, 0xFFFFFFFF, 0x0005002C, 0x00000012, + 0x0000070B, 0x00000A0B, 0x00000A08, 0x0005002C, 0x00000012, 0x0000070E, + 0x00000A08, 0x00000A0B, 0x0005002C, 0x00000012, 0x00000720, 0x00000A0E, + 0x00000A0B, 0x0005002C, 0x00000012, 0x00000723, 0x00000A0B, 0x00000A0E, + 0x0004002B, 0x0000000D, 0x00000B69, 0x40800000, 0x0005002C, 0x00000011, + 0x0000084A, 0x00000A37, 0x00000A37, 0x00050036, 0x00000008, 0x0000161F, + 0x00000000, 0x00000502, 0x000200F8, 0x00006179, 0x0004003B, 0x00000646, + 0x000047EB, 0x00000007, 0x0004003D, 0x0000001D, 0x00005647, 0x00000C93, + 0x0007004F, 0x00000013, 0x000019A2, 0x00005647, 0x00005647, 0x00000000, + 0x00000001, 0x0004006E, 0x00000012, 0x000044F8, 0x000019A2, 0x00050041, + 0x0000028F, 0x00004B4F, 0x00000BEC, 0x00000A0B, 0x0004003D, 0x00000012, + 0x00005926, 0x00004B4F, 0x00050082, 0x00000012, 0x00005B10, 0x000044F8, + 0x00005926, 0x0004007C, 0x00000011, 0x000026D2, 0x00005B10, 0x00050041, + 0x0000028B, 0x00005205, 0x00000BEC, 0x00000A0E, 0x0004003D, 0x0000000D, + 0x000056DD, 0x00005205, 0x0004007C, 0x0000000B, 0x00004046, 0x000056DD, + 0x0004007C, 0x00000012, 0x00001B4E, 0x000026D2, 0x00050080, 0x00000012, + 0x0000387C, 0x00001B4E, 0x0000070B, 0x0004003D, 0x000001FE, 0x0000543D, + 0x0000142B, 0x00040064, 0x00000097, 0x00005C42, 0x0000543D, 0x0007005F, + 0x0000001D, 0x000040D3, 0x00005C42, 0x0000387C, 0x00000002, 0x00000A0B, + 0x00050080, 0x00000012, 0x00003C5E, 0x00001B4E, 0x0000070E, 0x00040064, + 0x00000097, 0x00004DF7, 0x0000543D, 0x0007005F, 0x0000001D, 0x00003802, 0x00004DF7, 0x00003C5E, 0x00000002, 0x00000A0B, 0x00040064, 0x00000097, - 0x0000445A, 0x0000415B, 0x0007005F, 0x0000001D, 0x00006045, 0x0000445A, - 0x000042A8, 0x00000002, 0x00000A0B, 0x00050080, 0x00000012, 0x00003C5F, - 0x000042A8, 0x00000714, 0x00040064, 0x00000097, 0x0000500B, 0x0000415B, + 0x0000445A, 0x0000543D, 0x0007005F, 0x0000001D, 0x00006045, 0x0000445A, + 0x00001B4E, 0x00000002, 0x00000A0B, 0x00050080, 0x00000012, 0x00003C5F, + 0x00001B4E, 0x00000720, 0x00040064, 0x00000097, 0x0000500B, 0x0000543D, 0x0007005F, 0x0000001D, 0x00002575, 0x0000500B, 0x00003C5F, 0x00000002, - 0x00000A0B, 0x00050080, 0x00000012, 0x00003C60, 0x000042A8, 0x00000720, - 0x00040064, 0x00000097, 0x0000500C, 0x0000415B, 0x0007005F, 0x0000001D, - 0x00002576, 0x0000500C, 0x00003C60, 0x00000002, 0x00000A0B, 0x00050080, - 0x00000012, 0x00003C61, 0x000042A8, 0x00000729, 0x00040064, 0x00000097, - 0x0000500D, 0x0000415B, 0x0007005F, 0x0000001D, 0x00002577, 0x0000500D, - 0x00003C61, 0x00000002, 0x00000A0B, 0x00050080, 0x00000012, 0x00003C62, - 0x000042A8, 0x0000071A, 0x00040064, 0x00000097, 0x0000500E, 0x0000415B, - 0x0007005F, 0x0000001D, 0x00002578, 0x0000500E, 0x00003C62, 0x00000002, - 0x00000A0B, 0x00050080, 0x00000012, 0x00003C63, 0x000042A8, 0x00000723, - 0x00040064, 0x00000097, 0x0000500F, 0x0000415B, 0x0007005F, 0x0000001D, - 0x00002579, 0x0000500F, 0x00003C63, 0x00000002, 0x00000A0B, 0x00050080, - 0x00000012, 0x00003C64, 0x000042A8, 0x0000072F, 0x00040064, 0x00000097, - 0x00005010, 0x0000415B, 0x0007005F, 0x0000001D, 0x0000257A, 0x00005010, - 0x00003C64, 0x00000002, 0x00000A0B, 0x00050080, 0x00000012, 0x00003C65, - 0x000042A8, 0x0000072C, 0x00040064, 0x00000097, 0x00005011, 0x0000415B, - 0x0007005F, 0x0000001D, 0x0000257B, 0x00005011, 0x00003C65, 0x00000002, - 0x00000A0B, 0x00050080, 0x00000012, 0x00003C66, 0x000042A8, 0x00000735, - 0x00040064, 0x00000097, 0x00005012, 0x0000415B, 0x0007005F, 0x0000001D, - 0x0000257C, 0x00005012, 0x00003C66, 0x00000002, 0x00000A0B, 0x00050080, - 0x00000012, 0x00003C67, 0x000042A8, 0x00000738, 0x00040064, 0x00000097, - 0x00004C8E, 0x0000415B, 0x0007005F, 0x0000001D, 0x000043CF, 0x00004C8E, - 0x00003C67, 0x00000002, 0x00000A0B, 0x00050051, 0x0000000D, 0x0000566E, - 0x000040D3, 0x00000000, 0x00050051, 0x0000000D, 0x00001B71, 0x000040D3, - 0x00000001, 0x00050051, 0x0000000D, 0x00004923, 0x000040D3, 0x00000002, - 0x00050085, 0x0000000D, 0x0000611F, 0x0000566E, 0x0000566E, 0x00050085, - 0x0000000D, 0x00003F38, 0x00001B71, 0x00001B71, 0x00050085, 0x0000000D, - 0x00002459, 0x00004923, 0x00004923, 0x00050051, 0x0000000D, 0x000056DC, - 0x00002575, 0x00000000, 0x00050051, 0x0000000D, 0x00002E44, 0x00002575, - 0x00000001, 0x00050051, 0x0000000D, 0x00004924, 0x00002575, 0x00000002, - 0x00050085, 0x0000000D, 0x00006120, 0x000056DC, 0x000056DC, 0x00050085, - 0x0000000D, 0x00003F39, 0x00002E44, 0x00002E44, 0x00050085, 0x0000000D, - 0x0000245A, 0x00004924, 0x00004924, 0x00050051, 0x0000000D, 0x000056DD, - 0x00003802, 0x00000000, 0x00050051, 0x0000000D, 0x00002E45, 0x00003802, - 0x00000001, 0x00050051, 0x0000000D, 0x00004925, 0x00003802, 0x00000002, - 0x00050085, 0x0000000D, 0x00006121, 0x000056DD, 0x000056DD, 0x00050085, - 0x0000000D, 0x00003F3A, 0x00002E45, 0x00002E45, 0x00050085, 0x0000000D, - 0x0000245B, 0x00004925, 0x00004925, 0x00050051, 0x0000000D, 0x000056DE, - 0x00006045, 0x00000000, 0x00050051, 0x0000000D, 0x00002E46, 0x00006045, - 0x00000001, 0x00050051, 0x0000000D, 0x00004926, 0x00006045, 0x00000002, - 0x00050085, 0x0000000D, 0x00006122, 0x000056DE, 0x000056DE, 0x00050085, - 0x0000000D, 0x00003F3B, 0x00002E46, 0x00002E46, 0x00050085, 0x0000000D, - 0x0000245C, 0x00004926, 0x00004926, 0x00050051, 0x0000000D, 0x000056DF, - 0x00002576, 0x00000000, 0x00050051, 0x0000000D, 0x00002E47, 0x00002576, - 0x00000001, 0x00050051, 0x0000000D, 0x00004927, 0x00002576, 0x00000002, - 0x00050085, 0x0000000D, 0x00006123, 0x000056DF, 0x000056DF, 0x00050085, - 0x0000000D, 0x00003F3C, 0x00002E47, 0x00002E47, 0x00050085, 0x0000000D, - 0x0000245D, 0x00004927, 0x00004927, 0x00050051, 0x0000000D, 0x000056E0, - 0x00002577, 0x00000000, 0x00050051, 0x0000000D, 0x00002E48, 0x00002577, - 0x00000001, 0x00050051, 0x0000000D, 0x00004928, 0x00002577, 0x00000002, - 0x00050085, 0x0000000D, 0x00006124, 0x000056E0, 0x000056E0, 0x00050085, - 0x0000000D, 0x00003F3D, 0x00002E48, 0x00002E48, 0x00050085, 0x0000000D, - 0x0000245E, 0x00004928, 0x00004928, 0x00050051, 0x0000000D, 0x000056E1, - 0x00002578, 0x00000000, 0x00050051, 0x0000000D, 0x00002E49, 0x00002578, - 0x00000001, 0x00050051, 0x0000000D, 0x00004929, 0x00002578, 0x00000002, - 0x00050085, 0x0000000D, 0x00006125, 0x000056E1, 0x000056E1, 0x00050085, - 0x0000000D, 0x00003F3E, 0x00002E49, 0x00002E49, 0x00050085, 0x0000000D, - 0x0000245F, 0x00004929, 0x00004929, 0x00050051, 0x0000000D, 0x000056E2, - 0x00002579, 0x00000000, 0x00050051, 0x0000000D, 0x00002E4A, 0x00002579, - 0x00000001, 0x00050051, 0x0000000D, 0x0000492A, 0x00002579, 0x00000002, - 0x00050085, 0x0000000D, 0x00006126, 0x000056E2, 0x000056E2, 0x00050085, - 0x0000000D, 0x00003F3F, 0x00002E4A, 0x00002E4A, 0x00050085, 0x0000000D, - 0x00002460, 0x0000492A, 0x0000492A, 0x00050051, 0x0000000D, 0x000056E3, - 0x0000257B, 0x00000000, 0x00050051, 0x0000000D, 0x00002E4B, 0x0000257B, - 0x00000001, 0x00050051, 0x0000000D, 0x0000492B, 0x0000257B, 0x00000002, - 0x00050085, 0x0000000D, 0x00006127, 0x000056E3, 0x000056E3, 0x00050085, - 0x0000000D, 0x00003F40, 0x00002E4B, 0x00002E4B, 0x00050085, 0x0000000D, - 0x00002461, 0x0000492B, 0x0000492B, 0x00050051, 0x0000000D, 0x000056E4, - 0x0000257C, 0x00000000, 0x00050051, 0x0000000D, 0x00002E4C, 0x0000257C, - 0x00000001, 0x00050051, 0x0000000D, 0x0000492C, 0x0000257C, 0x00000002, - 0x00050085, 0x0000000D, 0x00006128, 0x000056E4, 0x000056E4, 0x00050085, - 0x0000000D, 0x00003F41, 0x00002E4C, 0x00002E4C, 0x00050085, 0x0000000D, - 0x00002462, 0x0000492C, 0x0000492C, 0x00050051, 0x0000000D, 0x000056E5, - 0x0000257A, 0x00000000, 0x00050051, 0x0000000D, 0x00002E4D, 0x0000257A, - 0x00000001, 0x00050051, 0x0000000D, 0x0000492D, 0x0000257A, 0x00000002, - 0x00050085, 0x0000000D, 0x00006129, 0x000056E5, 0x000056E5, 0x00050085, - 0x0000000D, 0x00003F42, 0x00002E4D, 0x00002E4D, 0x00050085, 0x0000000D, - 0x00002463, 0x0000492D, 0x0000492D, 0x00050051, 0x0000000D, 0x000056E6, - 0x000043CF, 0x00000000, 0x00050051, 0x0000000D, 0x00002E4E, 0x000043CF, - 0x00000001, 0x00050051, 0x0000000D, 0x0000492E, 0x000043CF, 0x00000002, - 0x00050085, 0x0000000D, 0x0000612A, 0x000056E6, 0x000056E6, 0x00050085, - 0x0000000D, 0x00003A3E, 0x00002E4E, 0x00002E4E, 0x00050085, 0x0000000D, - 0x0000218E, 0x0000492E, 0x0000492E, 0x0007000C, 0x0000000D, 0x00002A7D, - 0x00000001, 0x00000025, 0x00003F3A, 0x00003F3B, 0x0007000C, 0x0000000D, - 0x0000243C, 0x00000001, 0x00000025, 0x00003F38, 0x00002A7D, 0x0007000C, - 0x0000000D, 0x00003E4F, 0x00000001, 0x00000025, 0x00003F3C, 0x00003F3F, - 0x0007000C, 0x0000000D, 0x00002A99, 0x00000001, 0x00000025, 0x0000243C, - 0x00003E4F, 0x0007000C, 0x0000000D, 0x00005EE8, 0x00000001, 0x00000028, - 0x00003F3A, 0x00003F3B, 0x0007000C, 0x0000000D, 0x00004473, 0x00000001, - 0x00000028, 0x00003F38, 0x00005EE8, 0x0007000C, 0x0000000D, 0x00005558, - 0x00000001, 0x00000028, 0x00003F3C, 0x00003F3F, 0x0007000C, 0x0000000D, - 0x00001E8F, 0x00000001, 0x00000028, 0x00004473, 0x00005558, 0x0007000C, - 0x0000000D, 0x000034BF, 0x00000001, 0x00000025, 0x00003F3B, 0x00003F3C, - 0x0007000C, 0x0000000D, 0x000035FB, 0x00000001, 0x00000025, 0x00003F39, - 0x000034BF, 0x0007000C, 0x0000000D, 0x00003E50, 0x00000001, 0x00000025, - 0x00003F3D, 0x00003F40, 0x0007000C, 0x0000000D, 0x00002A9A, 0x00000001, - 0x00000025, 0x000035FB, 0x00003E50, 0x0007000C, 0x0000000D, 0x00005EE9, - 0x00000001, 0x00000028, 0x00003F3B, 0x00003F3C, 0x0007000C, 0x0000000D, - 0x00004474, 0x00000001, 0x00000028, 0x00003F39, 0x00005EE9, 0x0007000C, - 0x0000000D, 0x00005559, 0x00000001, 0x00000028, 0x00003F3D, 0x00003F40, - 0x0007000C, 0x0000000D, 0x00001E90, 0x00000001, 0x00000028, 0x00004474, - 0x00005559, 0x0007000C, 0x0000000D, 0x000034C0, 0x00000001, 0x00000025, - 0x00003F3E, 0x00003F3F, 0x0007000C, 0x0000000D, 0x000035FC, 0x00000001, - 0x00000025, 0x00003F3B, 0x000034C0, 0x0007000C, 0x0000000D, 0x00003E51, - 0x00000001, 0x00000025, 0x00003F40, 0x00003F42, 0x0007000C, 0x0000000D, - 0x00002A9B, 0x00000001, 0x00000025, 0x000035FC, 0x00003E51, 0x0007000C, - 0x0000000D, 0x00005EEA, 0x00000001, 0x00000028, 0x00003F3E, 0x00003F3F, - 0x0007000C, 0x0000000D, 0x00004475, 0x00000001, 0x00000028, 0x00003F3B, - 0x00005EEA, 0x0007000C, 0x0000000D, 0x0000555A, 0x00000001, 0x00000028, - 0x00003F40, 0x00003F42, 0x0007000C, 0x0000000D, 0x00001E91, 0x00000001, - 0x00000028, 0x00004475, 0x0000555A, 0x0007000C, 0x0000000D, 0x000034C1, - 0x00000001, 0x00000025, 0x00003F3F, 0x00003F40, 0x0007000C, 0x0000000D, - 0x000035FD, 0x00000001, 0x00000025, 0x00003F3C, 0x000034C1, 0x0007000C, - 0x0000000D, 0x00003E52, 0x00000001, 0x00000025, 0x00003F41, 0x00003A3E, - 0x0007000C, 0x0000000D, 0x00002A9C, 0x00000001, 0x00000025, 0x000035FD, - 0x00003E52, 0x0007000C, 0x0000000D, 0x00005EEB, 0x00000001, 0x00000028, - 0x00003F3F, 0x00003F40, 0x0007000C, 0x0000000D, 0x00004476, 0x00000001, - 0x00000028, 0x00003F3C, 0x00005EEB, 0x0007000C, 0x0000000D, 0x00005D83, - 0x00000001, 0x00000028, 0x00003F41, 0x00003A3E, 0x0007000C, 0x0000000D, - 0x0000526D, 0x00000001, 0x00000028, 0x00004476, 0x00005D83, 0x0004007C, - 0x0000000B, 0x00001FF5, 0x00001E8F, 0x00050082, 0x0000000B, 0x00002272, - 0x00000345, 0x00001FF5, 0x0004007C, 0x0000000D, 0x00002699, 0x00002272, - 0x0004007C, 0x0000000B, 0x00003AD6, 0x00001E90, 0x00050082, 0x0000000B, - 0x00001A2E, 0x00000345, 0x00003AD6, 0x0004007C, 0x0000000D, 0x0000269A, - 0x00001A2E, 0x0004007C, 0x0000000B, 0x00003AD7, 0x00001E91, 0x00050082, - 0x0000000B, 0x00001A2F, 0x00000345, 0x00003AD7, 0x0004007C, 0x0000000D, - 0x0000269B, 0x00001A2F, 0x0004007C, 0x0000000B, 0x00003AD8, 0x0000526D, - 0x00050082, 0x0000000B, 0x00001AB3, 0x00000345, 0x00003AD8, 0x0004007C, - 0x0000000D, 0x00001941, 0x00001AB3, 0x00050083, 0x0000000D, 0x00005E43, - 0x0000008A, 0x00001E8F, 0x0007000C, 0x0000000D, 0x00005B1C, 0x00000001, - 0x00000025, 0x00002A99, 0x00005E43, 0x00050085, 0x0000000D, 0x000059FC, - 0x00005B1C, 0x00002699, 0x0008000C, 0x0000000D, 0x00003EB3, 0x00000001, - 0x0000002B, 0x000059FC, 0x00000A0C, 0x0000008A, 0x00050083, 0x0000000D, - 0x000061AD, 0x0000008A, 0x00001E90, 0x0007000C, 0x0000000D, 0x000029C9, - 0x00000001, 0x00000025, 0x00002A9A, 0x000061AD, 0x00050085, 0x0000000D, - 0x000059FD, 0x000029C9, 0x0000269A, 0x0008000C, 0x0000000D, 0x00003EB4, - 0x00000001, 0x0000002B, 0x000059FD, 0x00000A0C, 0x0000008A, 0x00050083, - 0x0000000D, 0x000061AE, 0x0000008A, 0x00001E91, 0x0007000C, 0x0000000D, - 0x000029CA, 0x00000001, 0x00000025, 0x00002A9B, 0x000061AE, 0x00050085, - 0x0000000D, 0x000059FE, 0x000029CA, 0x0000269B, 0x0008000C, 0x0000000D, - 0x00003EB5, 0x00000001, 0x0000002B, 0x000059FE, 0x00000A0C, 0x0000008A, - 0x00050083, 0x0000000D, 0x000061AF, 0x0000008A, 0x0000526D, 0x0007000C, - 0x0000000D, 0x000029CB, 0x00000001, 0x00000025, 0x00002A9C, 0x000061AF, - 0x00050085, 0x0000000D, 0x00005977, 0x000029CB, 0x00001941, 0x0008000C, - 0x0000000D, 0x000050CB, 0x00000001, 0x0000002B, 0x00005977, 0x00000A0C, - 0x0000008A, 0x0004007C, 0x0000000B, 0x00005DCB, 0x00003EB3, 0x000500C2, - 0x0000000B, 0x0000564A, 0x00005DCB, 0x00000A0D, 0x00050080, 0x0000000B, - 0x00005ABD, 0x0000564A, 0x0000020D, 0x0004007C, 0x0000000D, 0x00005943, - 0x00005ABD, 0x0004007C, 0x0000000B, 0x000022CE, 0x00003EB4, 0x000500C2, - 0x0000000B, 0x000023E5, 0x000022CE, 0x00000A0D, 0x00050080, 0x0000000B, - 0x00005ABE, 0x000023E5, 0x0000020D, 0x0004007C, 0x0000000D, 0x00005944, - 0x00005ABE, 0x0004007C, 0x0000000B, 0x000022CF, 0x00003EB5, 0x000500C2, - 0x0000000B, 0x000023E6, 0x000022CF, 0x00000A0D, 0x00050080, 0x0000000B, - 0x00005ABF, 0x000023E6, 0x0000020D, 0x0004007C, 0x0000000D, 0x00005945, - 0x00005ABF, 0x0004007C, 0x0000000B, 0x000022D0, 0x000050CB, 0x000500C2, - 0x0000000B, 0x000023E7, 0x000022D0, 0x00000A0D, 0x00050080, 0x0000000B, - 0x00005AC0, 0x000023E7, 0x0000020D, 0x0004007C, 0x0000000D, 0x000054BC, - 0x00005AC0, 0x0004007C, 0x0000000D, 0x00004C66, 0x00003FCE, 0x00050085, - 0x0000000D, 0x000049BF, 0x00005943, 0x00004C66, 0x00050085, 0x0000000D, - 0x0000590B, 0x00005944, 0x00004C66, 0x00050085, 0x0000000D, 0x00004BB4, - 0x00005945, 0x00004C66, 0x00050085, 0x0000000D, 0x0000280F, 0x000054BC, - 0x00004C66, 0x00050051, 0x0000000D, 0x00003512, 0x00002FE9, 0x00000000, - 0x00050083, 0x0000000D, 0x000054D6, 0x0000008A, 0x00003512, 0x00050051, - 0x0000000D, 0x00002E64, 0x00002FE9, 0x00000001, 0x00050083, 0x0000000D, - 0x00002B8B, 0x0000008A, 0x00002E64, 0x00050085, 0x0000000D, 0x00004506, - 0x000054D6, 0x00002B8B, 0x00050085, 0x0000000D, 0x0000627C, 0x00003512, - 0x00002B8B, 0x00050085, 0x0000000D, 0x00004F6A, 0x000054D6, 0x00002E64, - 0x00050085, 0x0000000D, 0x0000509E, 0x00003512, 0x00002E64, 0x00050083, - 0x0000000D, 0x0000471C, 0x00001E8F, 0x00002A99, 0x00050081, 0x0000000D, - 0x00005B9D, 0x000002C4, 0x0000471C, 0x0004007C, 0x0000000B, 0x00002C83, - 0x00005B9D, 0x00050082, 0x0000000B, 0x00001DFD, 0x00000345, 0x00002C83, - 0x0004007C, 0x0000000D, 0x00002097, 0x00001DFD, 0x00050085, 0x0000000D, - 0x0000447B, 0x00004506, 0x00002097, 0x00050083, 0x0000000D, 0x00005097, - 0x00001E90, 0x00002A9A, 0x00050081, 0x0000000D, 0x00005B9E, 0x000002C4, - 0x00005097, 0x0004007C, 0x0000000B, 0x00002C84, 0x00005B9E, 0x00050082, - 0x0000000B, 0x00001DFE, 0x00000345, 0x00002C84, 0x0004007C, 0x0000000D, - 0x00002098, 0x00001DFE, 0x00050085, 0x0000000D, 0x0000447C, 0x0000627C, - 0x00002098, 0x00050083, 0x0000000D, 0x00005098, 0x00001E91, 0x00002A9B, - 0x00050081, 0x0000000D, 0x00005B9F, 0x000002C4, 0x00005098, 0x0004007C, - 0x0000000B, 0x00002C85, 0x00005B9F, 0x00050082, 0x0000000B, 0x00001DFF, - 0x00000345, 0x00002C85, 0x0004007C, 0x0000000D, 0x00002099, 0x00001DFF, - 0x00050085, 0x0000000D, 0x0000447D, 0x00004F6A, 0x00002099, 0x00050083, - 0x0000000D, 0x00005099, 0x0000526D, 0x00002A9C, 0x00050081, 0x0000000D, - 0x00005BA0, 0x000002C4, 0x00005099, 0x0004007C, 0x0000000B, 0x00002C86, - 0x00005BA0, 0x00050082, 0x0000000B, 0x00001E00, 0x00000345, 0x00002C86, - 0x0004007C, 0x0000000D, 0x000020BD, 0x00001E00, 0x00050085, 0x0000000D, - 0x0000436D, 0x0000509E, 0x000020BD, 0x00050085, 0x0000000D, 0x0000590C, - 0x000049BF, 0x0000447B, 0x00050085, 0x0000000D, 0x00004F44, 0x0000590B, - 0x0000447C, 0x00050085, 0x0000000D, 0x000051F8, 0x00004BB4, 0x0000447D, - 0x00050081, 0x0000000D, 0x00003D4A, 0x00004F44, 0x000051F8, 0x00050081, - 0x0000000D, 0x00005767, 0x00003D4A, 0x0000447B, 0x00050085, 0x0000000D, - 0x00003135, 0x0000280F, 0x0000436D, 0x00050081, 0x0000000D, 0x0000499D, - 0x0000590C, 0x00003135, 0x00050081, 0x0000000D, 0x00005A1B, 0x0000499D, - 0x0000447C, 0x00050081, 0x0000000D, 0x00001C3B, 0x0000499D, 0x0000447D, - 0x00050081, 0x0000000D, 0x00001C3C, 0x00003D4A, 0x0000436D, 0x00050081, - 0x0000000D, 0x00001C3D, 0x0000590C, 0x00004F44, 0x00050081, 0x0000000D, - 0x00001C87, 0x00001C3D, 0x000051F8, 0x00050081, 0x0000000D, 0x00001987, - 0x00001C87, 0x00003135, 0x00050085, 0x0000000D, 0x00003136, 0x00000019, - 0x00001987, 0x00050081, 0x0000000D, 0x0000499E, 0x00003136, 0x00005767, - 0x00050081, 0x0000000D, 0x00005A1C, 0x0000499E, 0x00005A1B, 0x00050081, - 0x0000000D, 0x00001BDC, 0x00005A1C, 0x00001C3B, 0x00050081, 0x0000000D, - 0x00001FAF, 0x00001BDC, 0x00001C3C, 0x0004007C, 0x0000000B, 0x00002636, - 0x00001FAF, 0x00050082, 0x0000000B, 0x00001D8B, 0x000000B2, 0x00002636, - 0x0004007C, 0x0000000D, 0x000024CB, 0x00001D8B, 0x0004007F, 0x0000000D, - 0x000023AA, 0x000024CB, 0x00050085, 0x0000000D, 0x0000304F, 0x000023AA, - 0x00001FAF, 0x00050081, 0x0000000D, 0x0000409C, 0x0000304F, 0x00000019, - 0x00050085, 0x0000000D, 0x000024E2, 0x000024CB, 0x0000409C, 0x00050081, - 0x0000000D, 0x00004735, 0x0000611F, 0x00006121, 0x00050085, 0x0000000D, - 0x000021E2, 0x0000590C, 0x00004735, 0x00050085, 0x0000000D, 0x00005EE3, - 0x00006120, 0x00004F44, 0x00050081, 0x0000000D, 0x00003A4A, 0x000021E2, - 0x00005EE3, 0x00050085, 0x0000000D, 0x000024E3, 0x00006124, 0x00004F44, - 0x00050081, 0x0000000D, 0x000046E9, 0x00003A4A, 0x000024E3, 0x00050085, - 0x0000000D, 0x000024E4, 0x00006125, 0x000051F8, 0x00050081, 0x0000000D, - 0x000046EA, 0x000046E9, 0x000024E4, 0x00050085, 0x0000000D, 0x000024E5, - 0x00006129, 0x000051F8, 0x00050081, 0x0000000D, 0x000046EB, 0x000046EA, - 0x000024E5, 0x00050085, 0x0000000D, 0x000024E6, 0x00006128, 0x00003135, - 0x00050081, 0x0000000D, 0x000046EC, 0x000046EB, 0x000024E6, 0x00050085, - 0x0000000D, 0x000024E7, 0x0000612A, 0x00003135, 0x00050081, 0x0000000D, - 0x000046ED, 0x000046EC, 0x000024E7, 0x00050085, 0x0000000D, 0x000024E8, - 0x00006122, 0x00005767, 0x00050081, 0x0000000D, 0x000046EE, 0x000046ED, - 0x000024E8, 0x00050085, 0x0000000D, 0x000024E9, 0x00006123, 0x00005A1B, - 0x00050081, 0x0000000D, 0x000046EF, 0x000046EE, 0x000024E9, 0x00050085, - 0x0000000D, 0x000024EA, 0x00006126, 0x00001C3B, 0x00050081, 0x0000000D, - 0x000046F0, 0x000046EF, 0x000024EA, 0x00050085, 0x0000000D, 0x000024EB, - 0x00006127, 0x00001C3C, 0x00050081, 0x0000000D, 0x00003E65, 0x000046F0, - 0x000024EB, 0x00050085, 0x0000000D, 0x00001FC9, 0x00003E65, 0x000024E2, - 0x0008000C, 0x0000000D, 0x00003B72, 0x00000001, 0x0000002B, 0x00001FC9, - 0x00000A0C, 0x0000008A, 0x00050081, 0x0000000D, 0x000031DD, 0x00003F38, - 0x00003F3A, 0x00050085, 0x0000000D, 0x00004489, 0x0000590C, 0x000031DD, - 0x00050085, 0x0000000D, 0x00005EE4, 0x00003F39, 0x00004F44, 0x00050081, - 0x0000000D, 0x00003A4B, 0x00004489, 0x00005EE4, 0x00050085, 0x0000000D, - 0x000024EC, 0x00003F3D, 0x00004F44, 0x00050081, 0x0000000D, 0x000046F1, - 0x00003A4B, 0x000024EC, 0x00050085, 0x0000000D, 0x000024ED, 0x00003F3E, - 0x000051F8, 0x00050081, 0x0000000D, 0x000046F2, 0x000046F1, 0x000024ED, - 0x00050085, 0x0000000D, 0x000024EE, 0x00003F42, 0x000051F8, 0x00050081, - 0x0000000D, 0x000046F3, 0x000046F2, 0x000024EE, 0x00050085, 0x0000000D, - 0x000024EF, 0x00003F41, 0x00003135, 0x00050081, 0x0000000D, 0x000046F4, - 0x000046F3, 0x000024EF, 0x00050085, 0x0000000D, 0x000024F0, 0x00003A3E, - 0x00003135, 0x00050081, 0x0000000D, 0x000046F5, 0x000046F4, 0x000024F0, - 0x00050085, 0x0000000D, 0x000024F1, 0x00003F3B, 0x00005767, 0x00050081, - 0x0000000D, 0x000046F6, 0x000046F5, 0x000024F1, 0x00050085, 0x0000000D, - 0x000024F2, 0x00003F3C, 0x00005A1B, 0x00050081, 0x0000000D, 0x000046F7, - 0x000046F6, 0x000024F2, 0x00050085, 0x0000000D, 0x000024F3, 0x00003F3F, - 0x00001C3B, 0x00050081, 0x0000000D, 0x000046F8, 0x000046F7, 0x000024F3, - 0x00050085, 0x0000000D, 0x000024F4, 0x00003F40, 0x00001C3C, 0x00050081, - 0x0000000D, 0x00003E66, 0x000046F8, 0x000024F4, 0x00050085, 0x0000000D, - 0x00001FCA, 0x00003E66, 0x000024E2, 0x0008000C, 0x0000000D, 0x00003B73, - 0x00000001, 0x0000002B, 0x00001FCA, 0x00000A0C, 0x0000008A, 0x00050081, - 0x0000000D, 0x000031DE, 0x00002459, 0x0000245B, 0x00050085, 0x0000000D, - 0x0000448A, 0x0000590C, 0x000031DE, 0x00050085, 0x0000000D, 0x00005EE5, - 0x0000245A, 0x00004F44, 0x00050081, 0x0000000D, 0x00003A4C, 0x0000448A, - 0x00005EE5, 0x00050085, 0x0000000D, 0x000024F5, 0x0000245E, 0x00004F44, - 0x00050081, 0x0000000D, 0x000046F9, 0x00003A4C, 0x000024F5, 0x00050085, - 0x0000000D, 0x000024F6, 0x0000245F, 0x000051F8, 0x00050081, 0x0000000D, - 0x000046FA, 0x000046F9, 0x000024F6, 0x00050085, 0x0000000D, 0x000024F7, - 0x00002463, 0x000051F8, 0x00050081, 0x0000000D, 0x000046FB, 0x000046FA, - 0x000024F7, 0x00050085, 0x0000000D, 0x000024F8, 0x00002462, 0x00003135, - 0x00050081, 0x0000000D, 0x000046FC, 0x000046FB, 0x000024F8, 0x00050085, - 0x0000000D, 0x000024F9, 0x0000218E, 0x00003135, 0x00050081, 0x0000000D, - 0x000046FD, 0x000046FC, 0x000024F9, 0x00050085, 0x0000000D, 0x000024FA, - 0x0000245C, 0x00005767, 0x00050081, 0x0000000D, 0x000046FE, 0x000046FD, - 0x000024FA, 0x00050085, 0x0000000D, 0x000024FB, 0x0000245D, 0x00005A1B, - 0x00050081, 0x0000000D, 0x000046FF, 0x000046FE, 0x000024FB, 0x00050085, - 0x0000000D, 0x000024FC, 0x00002460, 0x00001C3B, 0x00050081, 0x0000000D, - 0x00004700, 0x000046FF, 0x000024FC, 0x00050085, 0x0000000D, 0x000024FD, - 0x00002461, 0x00001C3C, 0x00050081, 0x0000000D, 0x00003E67, 0x00004700, - 0x000024FD, 0x00050085, 0x0000000D, 0x00001B09, 0x00003E67, 0x000024E2, - 0x0008000C, 0x0000000D, 0x0000616D, 0x00000001, 0x0000002B, 0x00001B09, - 0x00000A0C, 0x0000008A, 0x00050041, 0x0000028C, 0x00005061, 0x00001400, - 0x00000A0A, 0x0003003E, 0x00005061, 0x00003B72, 0x00050041, 0x0000028C, - 0x00004D14, 0x00001400, 0x00000A0D, 0x0003003E, 0x00004D14, 0x00003B73, - 0x00050041, 0x0000028C, 0x00004CC8, 0x00001400, 0x00000A10, 0x0003003E, - 0x00004CC8, 0x0000616D, 0x0004003D, 0x0000001D, 0x000028CD, 0x00001400, - 0x0008004F, 0x00000018, 0x00002397, 0x000028CD, 0x000028CD, 0x00000000, - 0x00000001, 0x00000002, 0x0006000C, 0x00000018, 0x000045F7, 0x00000001, - 0x0000001F, 0x00002397, 0x00050051, 0x0000000D, 0x00001BDB, 0x000045F7, - 0x00000000, 0x0003003E, 0x00005061, 0x00001BDB, 0x00050051, 0x0000000D, - 0x000057A3, 0x000045F7, 0x00000001, 0x0003003E, 0x00004D14, 0x000057A3, - 0x00050051, 0x0000000D, 0x00005627, 0x000045F7, 0x00000002, 0x0003003E, - 0x00004CC8, 0x00005627, 0x0004003D, 0x0000001D, 0x00003685, 0x00001400, - 0x0008004F, 0x00000018, 0x00003F43, 0x00003685, 0x00003685, 0x00000000, - 0x00000001, 0x00000002, 0x000500C7, 0x00000011, 0x00005F34, 0x000026D2, - 0x0000084A, 0x00050051, 0x0000000B, 0x0000260D, 0x00005F34, 0x00000001, - 0x00050084, 0x0000000B, 0x000053FA, 0x0000260D, 0x00000A3A, 0x00050051, - 0x0000000B, 0x00005B73, 0x00005F34, 0x00000000, 0x00050080, 0x0000000B, - 0x00003142, 0x000053FA, 0x00005B73, 0x0003003E, 0x000047EB, 0x0000084F, - 0x00050041, 0x0000028A, 0x000026E6, 0x000047EB, 0x00003142, 0x0004003D, - 0x0000000D, 0x00006234, 0x000026E6, 0x00060050, 0x00000018, 0x0000466C, - 0x00006234, 0x00006234, 0x00006234, 0x00050081, 0x00000018, 0x000053D2, - 0x00003F43, 0x0000466C, 0x0008000C, 0x00000018, 0x00004ADC, 0x00000001, - 0x0000002B, 0x000053D2, 0x00000A2C, 0x00000A16, 0x00050051, 0x0000000D, - 0x00004E60, 0x00004ADC, 0x00000000, 0x0003003E, 0x00005061, 0x00004E60, - 0x00050051, 0x0000000D, 0x000057A4, 0x00004ADC, 0x00000001, 0x0003003E, - 0x00004D14, 0x000057A4, 0x00050051, 0x0000000D, 0x00005673, 0x00004ADC, - 0x00000002, 0x0003003E, 0x00004CC8, 0x00005673, 0x00050041, 0x0000028C, - 0x00005AFE, 0x00001400, 0x00000A14, 0x0003003E, 0x00005AFE, 0x0000008A, - 0x000100FD, 0x00010038, + 0x00000A0B, 0x00050080, 0x00000012, 0x00003C60, 0x00001B4E, 0x00000723, + 0x00040064, 0x00000097, 0x00004C8E, 0x0000543D, 0x0007005F, 0x0000001D, + 0x000043CF, 0x00004C8E, 0x00003C60, 0x00000002, 0x00000A0B, 0x00050051, + 0x0000000D, 0x0000566E, 0x000040D3, 0x00000000, 0x00050051, 0x0000000D, + 0x00001B71, 0x000040D3, 0x00000001, 0x00050051, 0x0000000D, 0x00004923, + 0x000040D3, 0x00000002, 0x00050085, 0x0000000D, 0x0000611F, 0x0000566E, + 0x0000566E, 0x00050085, 0x0000000D, 0x00003F38, 0x00001B71, 0x00001B71, + 0x00050085, 0x0000000D, 0x00002459, 0x00004923, 0x00004923, 0x00050051, + 0x0000000D, 0x000056DC, 0x00003802, 0x00000000, 0x00050051, 0x0000000D, + 0x00002E44, 0x00003802, 0x00000001, 0x00050051, 0x0000000D, 0x00004924, + 0x00003802, 0x00000002, 0x00050085, 0x0000000D, 0x00006120, 0x000056DC, + 0x000056DC, 0x00050085, 0x0000000D, 0x00003F39, 0x00002E44, 0x00002E44, + 0x00050085, 0x0000000D, 0x0000245A, 0x00004924, 0x00004924, 0x00050051, + 0x0000000D, 0x000056DE, 0x00006045, 0x00000000, 0x00050051, 0x0000000D, + 0x00002E45, 0x00006045, 0x00000001, 0x00050051, 0x0000000D, 0x00004925, + 0x00006045, 0x00000002, 0x00050085, 0x0000000D, 0x00006121, 0x000056DE, + 0x000056DE, 0x00050085, 0x0000000D, 0x00003F3A, 0x00002E45, 0x00002E45, + 0x00050085, 0x0000000D, 0x0000245B, 0x00004925, 0x00004925, 0x00050051, + 0x0000000D, 0x000056DF, 0x00002575, 0x00000000, 0x00050051, 0x0000000D, + 0x00002E46, 0x00002575, 0x00000001, 0x00050051, 0x0000000D, 0x00004926, + 0x00002575, 0x00000002, 0x00050085, 0x0000000D, 0x00006122, 0x000056DF, + 0x000056DF, 0x00050085, 0x0000000D, 0x00003F3B, 0x00002E46, 0x00002E46, + 0x00050085, 0x0000000D, 0x0000245C, 0x00004926, 0x00004926, 0x00050051, + 0x0000000D, 0x000056E0, 0x000043CF, 0x00000000, 0x00050051, 0x0000000D, + 0x00002E47, 0x000043CF, 0x00000001, 0x00050051, 0x0000000D, 0x00004927, + 0x000043CF, 0x00000002, 0x00050085, 0x0000000D, 0x00006123, 0x000056E0, + 0x000056E0, 0x00050085, 0x0000000D, 0x00003A3E, 0x00002E47, 0x00002E47, + 0x00050085, 0x0000000D, 0x0000218E, 0x00004927, 0x00004927, 0x0007000C, + 0x0000000D, 0x00002A7D, 0x00000001, 0x00000025, 0x00003F3A, 0x00003F3B, + 0x0007000C, 0x0000000D, 0x0000243C, 0x00000001, 0x00000025, 0x00003F39, + 0x00002A7D, 0x0007000C, 0x0000000D, 0x00003E4F, 0x00000001, 0x00000025, + 0x00003F38, 0x00003A3E, 0x0007000C, 0x0000000D, 0x00002A99, 0x00000001, + 0x00000025, 0x0000243C, 0x00003E4F, 0x0007000C, 0x0000000D, 0x00005EE8, + 0x00000001, 0x00000028, 0x00003F3A, 0x00003F3B, 0x0007000C, 0x0000000D, + 0x00004473, 0x00000001, 0x00000028, 0x00003F39, 0x00005EE8, 0x0007000C, + 0x0000000D, 0x00005D83, 0x00000001, 0x00000028, 0x00003F38, 0x00003A3E, + 0x0007000C, 0x0000000D, 0x0000526D, 0x00000001, 0x00000028, 0x00004473, + 0x00005D83, 0x0004007C, 0x0000000B, 0x00001FF5, 0x0000526D, 0x00050082, + 0x0000000B, 0x000022F7, 0x00000345, 0x00001FF5, 0x0004007C, 0x0000000D, + 0x00001941, 0x000022F7, 0x00050083, 0x0000000D, 0x00005E43, 0x0000008A, + 0x0000526D, 0x0007000C, 0x0000000D, 0x00005B1C, 0x00000001, 0x00000025, + 0x00002A99, 0x00005E43, 0x00050085, 0x0000000D, 0x00005977, 0x00005B1C, + 0x00001941, 0x0008000C, 0x0000000D, 0x000050CB, 0x00000001, 0x0000002B, + 0x00005977, 0x00000A0C, 0x0000008A, 0x0004007C, 0x0000000B, 0x00005DCB, + 0x000050CB, 0x000500C2, 0x0000000B, 0x0000564A, 0x00005DCB, 0x00000A0D, + 0x00050080, 0x0000000B, 0x00005ABD, 0x0000564A, 0x0000020D, 0x0004007C, + 0x0000000D, 0x000054BC, 0x00005ABD, 0x0004007C, 0x0000000D, 0x00004C66, + 0x00004046, 0x00050085, 0x0000000D, 0x00004973, 0x000054BC, 0x00004C66, + 0x00050085, 0x0000000D, 0x00005B14, 0x00000B69, 0x00004973, 0x00050081, + 0x0000000D, 0x00004072, 0x0000008A, 0x00005B14, 0x0004007C, 0x0000000B, + 0x00001997, 0x00004072, 0x00050082, 0x0000000B, 0x00001D8B, 0x000000B2, + 0x00001997, 0x0004007C, 0x0000000D, 0x000024CB, 0x00001D8B, 0x0004007F, + 0x0000000D, 0x000023AA, 0x000024CB, 0x00050085, 0x0000000D, 0x0000304F, + 0x000023AA, 0x00004072, 0x00050081, 0x0000000D, 0x0000409C, 0x0000304F, + 0x00000019, 0x00050085, 0x0000000D, 0x00002496, 0x000024CB, 0x0000409C, + 0x00050081, 0x0000000D, 0x0000499D, 0x0000611F, 0x00006120, 0x00050081, + 0x0000000D, 0x00005A67, 0x0000499D, 0x00006122, 0x00050081, 0x0000000D, + 0x00001987, 0x00005A67, 0x00006123, 0x00050085, 0x0000000D, 0x00003181, + 0x00004973, 0x00001987, 0x00050081, 0x0000000D, 0x00003E65, 0x00003181, + 0x00006121, 0x00050085, 0x0000000D, 0x00001FC9, 0x00003E65, 0x00002496, + 0x0008000C, 0x0000000D, 0x00003B26, 0x00000001, 0x0000002B, 0x00001FC9, + 0x00000A0C, 0x0000008A, 0x00050081, 0x0000000D, 0x00003445, 0x00003F38, + 0x00003F39, 0x00050081, 0x0000000D, 0x0000328F, 0x00003445, 0x00003F3B, + 0x00050081, 0x0000000D, 0x00001988, 0x0000328F, 0x00003A3E, 0x00050085, + 0x0000000D, 0x00003182, 0x00004973, 0x00001988, 0x00050081, 0x0000000D, + 0x00003E66, 0x00003182, 0x00003F3A, 0x00050085, 0x0000000D, 0x00001FCA, + 0x00003E66, 0x00002496, 0x0008000C, 0x0000000D, 0x00003B27, 0x00000001, + 0x0000002B, 0x00001FCA, 0x00000A0C, 0x0000008A, 0x00050081, 0x0000000D, + 0x00003446, 0x00002459, 0x0000245A, 0x00050081, 0x0000000D, 0x00003290, + 0x00003446, 0x0000245C, 0x00050081, 0x0000000D, 0x00001989, 0x00003290, + 0x0000218E, 0x00050085, 0x0000000D, 0x00003183, 0x00004973, 0x00001989, + 0x00050081, 0x0000000D, 0x00003E67, 0x00003183, 0x0000245B, 0x00050085, + 0x0000000D, 0x00001B09, 0x00003E67, 0x00002496, 0x0008000C, 0x0000000D, + 0x0000616D, 0x00000001, 0x0000002B, 0x00001B09, 0x00000A0C, 0x0000008A, + 0x00050041, 0x0000028C, 0x00005061, 0x000014D6, 0x00000A0A, 0x0003003E, + 0x00005061, 0x00003B26, 0x00050041, 0x0000028C, 0x00004D14, 0x000014D6, + 0x00000A0D, 0x0003003E, 0x00004D14, 0x00003B27, 0x00050041, 0x0000028C, + 0x00004CC8, 0x000014D6, 0x00000A10, 0x0003003E, 0x00004CC8, 0x0000616D, + 0x0004003D, 0x0000001D, 0x000028CD, 0x000014D6, 0x0008004F, 0x00000018, + 0x00002397, 0x000028CD, 0x000028CD, 0x00000000, 0x00000001, 0x00000002, + 0x0006000C, 0x00000018, 0x000045F7, 0x00000001, 0x0000001F, 0x00002397, + 0x00050051, 0x0000000D, 0x00001BDB, 0x000045F7, 0x00000000, 0x0003003E, + 0x00005061, 0x00001BDB, 0x00050051, 0x0000000D, 0x000057A3, 0x000045F7, + 0x00000001, 0x0003003E, 0x00004D14, 0x000057A3, 0x00050051, 0x0000000D, + 0x00005627, 0x000045F7, 0x00000002, 0x0003003E, 0x00004CC8, 0x00005627, + 0x0004003D, 0x0000001D, 0x00003685, 0x000014D6, 0x0008004F, 0x00000018, + 0x00003F3C, 0x00003685, 0x00003685, 0x00000000, 0x00000001, 0x00000002, + 0x000500C7, 0x00000011, 0x00005F34, 0x000026D2, 0x0000084A, 0x00050051, + 0x0000000B, 0x0000260D, 0x00005F34, 0x00000001, 0x00050084, 0x0000000B, + 0x000053FA, 0x0000260D, 0x00000A3A, 0x00050051, 0x0000000B, 0x00005B73, + 0x00005F34, 0x00000000, 0x00050080, 0x0000000B, 0x00003142, 0x000053FA, + 0x00005B73, 0x0003003E, 0x000047EB, 0x00000890, 0x00050041, 0x0000028A, + 0x000026E6, 0x000047EB, 0x00003142, 0x0004003D, 0x0000000D, 0x00006234, + 0x000026E6, 0x00060050, 0x00000018, 0x0000466C, 0x00006234, 0x00006234, + 0x00006234, 0x00050081, 0x00000018, 0x000053D2, 0x00003F3C, 0x0000466C, + 0x0008000C, 0x00000018, 0x00004ADC, 0x00000001, 0x0000002B, 0x000053D2, + 0x00000A2C, 0x00000A16, 0x00050051, 0x0000000D, 0x00004E60, 0x00004ADC, + 0x00000000, 0x0003003E, 0x00005061, 0x00004E60, 0x00050051, 0x0000000D, + 0x000057A4, 0x00004ADC, 0x00000001, 0x0003003E, 0x00004D14, 0x000057A4, + 0x00050051, 0x0000000D, 0x00005673, 0x00004ADC, 0x00000002, 0x0003003E, + 0x00004CC8, 0x00005673, 0x00050041, 0x0000028C, 0x00005AFE, 0x000014D6, + 0x00000A14, 0x0003003E, 0x00005AFE, 0x0000008A, 0x000100FD, 0x00010038, }; diff --git a/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_ffx_cas_sharpen_ps.h b/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_ffx_cas_sharpen_ps.h index 7e382fd42..fef8233ab 100644 --- a/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_ffx_cas_sharpen_ps.h +++ b/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_ffx_cas_sharpen_ps.h @@ -3,20 +3,20 @@ ; SPIR-V ; Version: 1.0 ; Generator: Khronos Glslang Reference Front End; 10 -; Bound: 25213 +; Bound: 24950 ; Schema: 0 OpCapability Shader %1 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 - OpEntryPoint Fragment %5663 "main" %gl_FragCoord %5120 + OpEntryPoint Fragment %5663 "main" %gl_FragCoord %5334 OpExecutionMode %5663 OriginUpperLeft - OpDecorate %3150 DescriptorSet 0 - OpDecorate %3150 Binding 0 OpDecorate %gl_FragCoord BuiltIn FragCoord OpMemberDecorate %_struct_1010 0 Offset 16 OpMemberDecorate %_struct_1010 1 Offset 24 OpDecorate %_struct_1010 Block - OpDecorate %5120 Location 0 + OpDecorate %5334 Location 0 + OpDecorate %5163 DescriptorSet 0 + OpDecorate %5163 Binding 0 %void = OpTypeVoid %1282 = OpTypeFunction %void %float = OpTypeFloat 32 @@ -25,9 +25,26 @@ %v2int = OpTypeVector %int 2 %v3float = OpTypeVector %float 3 %v2uint = OpTypeVector %uint 2 - %float_0 = OpConstant %float 0 + %v4float = OpTypeVector %float 4 +%_ptr_Input_v4float = OpTypePointer Input %v4float +%gl_FragCoord = OpVariable %_ptr_Input_v4float Input + %v2float = OpTypeVector %float 2 +%_struct_1010 = OpTypeStruct %v2int %float +%_ptr_PushConstant__struct_1010 = OpTypePointer PushConstant %_struct_1010 + %3052 = OpVariable %_ptr_PushConstant__struct_1010 PushConstant + %int_0 = OpConstant %int 0 +%_ptr_PushConstant_v2int = OpTypePointer PushConstant %v2int %float_1 = OpConstant %float 1 + %float_0 = OpConstant %float 0 + %int_1 = OpConstant %int 1 +%_ptr_PushConstant_float = OpTypePointer PushConstant %float + %uint_0 = OpConstant %uint 0 +%_ptr_Output_v4float = OpTypePointer Output %v4float + %5334 = OpVariable %_ptr_Output_v4float Output +%_ptr_Output_float = OpTypePointer Output %float %uint_1 = OpConstant %uint 1 + %uint_2 = OpConstant %uint 2 + %uint_3 = OpConstant %uint 3 %uint_532432441 = OpConstant %uint 532432441 %uint_2129690299 = OpConstant %uint 2129690299 %uint_2129764351 = OpConstant %uint 2129764351 @@ -35,379 +52,129 @@ %150 = OpTypeImage %float 2D 0 0 0 1 Unknown %510 = OpTypeSampledImage %150 %_ptr_UniformConstant_510 = OpTypePointer UniformConstant %510 - %3150 = OpVariable %_ptr_UniformConstant_510 UniformConstant - %int_0 = OpConstant %int 0 - %v4float = OpTypeVector %float 4 + %5163 = OpVariable %_ptr_UniformConstant_510 UniformConstant %int_n1 = OpConstant %int -1 %1803 = OpConstantComposite %v2int %int_0 %int_n1 - %int_1 = OpConstant %int 1 - %1812 = OpConstantComposite %v2int %int_1 %int_n1 %1806 = OpConstantComposite %v2int %int_n1 %int_0 %1824 = OpConstantComposite %v2int %int_1 %int_0 - %1818 = OpConstantComposite %v2int %int_n1 %int_1 %1827 = OpConstantComposite %v2int %int_0 %int_1 - %1836 = OpConstantComposite %v2int %int_1 %int_1 - %uint_0 = OpConstant %uint 0 - %uint_2 = OpConstant %uint 2 - %v2float = OpTypeVector %float 2 - %int_2 = OpConstant %int 2 - %1833 = OpConstantComposite %v2int %int_2 %int_0 - %1839 = OpConstantComposite %v2int %int_0 %int_2 - %1845 = OpConstantComposite %v2int %int_2 %int_1 - %1848 = OpConstantComposite %v2int %int_1 %int_2 -%float_0_03125 = OpConstant %float 0.03125 -%_ptr_Input_v4float = OpTypePointer Input %v4float -%gl_FragCoord = OpVariable %_ptr_Input_v4float Input -%_struct_1010 = OpTypeStruct %v2int %float -%_ptr_PushConstant__struct_1010 = OpTypePointer PushConstant %_struct_1010 - %4930 = OpVariable %_ptr_PushConstant__struct_1010 PushConstant -%_ptr_PushConstant_v2int = OpTypePointer PushConstant %v2int -%_ptr_PushConstant_float = OpTypePointer PushConstant %float -%_ptr_Output_v4float = OpTypePointer Output %v4float - %5120 = OpVariable %_ptr_Output_v4float Output -%_ptr_Output_float = OpTypePointer Output %float - %uint_3 = OpConstant %uint 3 + %float_4 = OpConstant %float 4 %5663 = OpFunction %void None %1282 %24949 = OpLabel %18571 = OpLoad %v4float %gl_FragCoord %14008 = OpVectorShuffle %v2float %18571 %18571 0 1 %17656 = OpConvertFToS %v2int %14008 - %19279 = OpAccessChain %_ptr_PushConstant_v2int %4930 %int_0 + %19279 = OpAccessChain %_ptr_PushConstant_v2int %3052 %int_0 %22822 = OpLoad %v2int %19279 %23312 = OpISub %v2int %17656 %22822 %9938 = OpBitcast %v2uint %23312 - %20997 = OpAccessChain %_ptr_PushConstant_float %4930 %int_1 - %22009 = OpLoad %float %20997 - %16334 = OpBitcast %uint %22009 - %24250 = OpConvertUToF %v2float %9938 - %23709 = OpExtInst %v2float %1 Floor %24250 - %12265 = OpFSub %v2float %24250 %23709 - %17064 = OpConvertFToS %v2int %23709 - %20663 = OpIAdd %v2int %17064 %1803 - %16731 = OpLoad %510 %3150 - %23618 = OpImage %150 %16731 - %16595 = OpImageFetch %v4float %23618 %20663 Lod %int_0 - %15454 = OpIAdd %v2int %17064 %1806 - %19959 = OpImage %150 %16731 + %20997 = OpAccessChain %_ptr_PushConstant_float %3052 %int_1 + %22237 = OpLoad %float %20997 + %16454 = OpBitcast %uint %22237 + %6990 = OpBitcast %v2int %9938 + %14460 = OpIAdd %v2int %6990 %1803 + %21565 = OpLoad %510 %5163 + %23618 = OpImage %150 %21565 + %16595 = OpImageFetch %v4float %23618 %14460 Lod %int_0 + %15454 = OpIAdd %v2int %6990 %1806 + %19959 = OpImage %150 %21565 %14338 = OpImageFetch %v4float %19959 %15454 Lod %int_0 - %17498 = OpImage %150 %16731 - %24645 = OpImageFetch %v4float %17498 %17064 Lod %int_0 - %15455 = OpIAdd %v2int %17064 %1812 - %20491 = OpImage %150 %16731 + %17498 = OpImage %150 %21565 + %24645 = OpImageFetch %v4float %17498 %6990 Lod %int_0 + %15455 = OpIAdd %v2int %6990 %1824 + %20491 = OpImage %150 %21565 %9589 = OpImageFetch %v4float %20491 %15455 Lod %int_0 - %15456 = OpIAdd %v2int %17064 %1824 - %20492 = OpImage %150 %16731 - %9590 = OpImageFetch %v4float %20492 %15456 Lod %int_0 - %15457 = OpIAdd %v2int %17064 %1833 - %20493 = OpImage %150 %16731 - %9591 = OpImageFetch %v4float %20493 %15457 Lod %int_0 - %15458 = OpIAdd %v2int %17064 %1818 - %20494 = OpImage %150 %16731 - %9592 = OpImageFetch %v4float %20494 %15458 Lod %int_0 - %15459 = OpIAdd %v2int %17064 %1827 - %20495 = OpImage %150 %16731 - %9593 = OpImageFetch %v4float %20495 %15459 Lod %int_0 - %15460 = OpIAdd %v2int %17064 %1839 - %20496 = OpImage %150 %16731 - %9594 = OpImageFetch %v4float %20496 %15460 Lod %int_0 - %15461 = OpIAdd %v2int %17064 %1836 - %20497 = OpImage %150 %16731 - %9595 = OpImageFetch %v4float %20497 %15461 Lod %int_0 - %15462 = OpIAdd %v2int %17064 %1845 - %20498 = OpImage %150 %16731 - %9596 = OpImageFetch %v4float %20498 %15462 Lod %int_0 - %15463 = OpIAdd %v2int %17064 %1848 - %19598 = OpImage %150 %16731 - %17359 = OpImageFetch %v4float %19598 %15463 Lod %int_0 + %15456 = OpIAdd %v2int %6990 %1827 + %19598 = OpImage %150 %21565 + %17359 = OpImageFetch %v4float %19598 %15456 Lod %int_0 %22126 = OpCompositeExtract %float %16595 0 %7025 = OpCompositeExtract %float %16595 1 %18723 = OpCompositeExtract %float %16595 2 %24863 = OpFMul %float %22126 %22126 %16184 = OpFMul %float %7025 %7025 %9305 = OpFMul %float %18723 %18723 - %22236 = OpCompositeExtract %float %9589 0 - %11844 = OpCompositeExtract %float %9589 1 - %18724 = OpCompositeExtract %float %9589 2 + %22236 = OpCompositeExtract %float %14338 0 + %11844 = OpCompositeExtract %float %14338 1 + %18724 = OpCompositeExtract %float %14338 2 %24864 = OpFMul %float %22236 %22236 %16185 = OpFMul %float %11844 %11844 %9306 = OpFMul %float %18724 %18724 - %22237 = OpCompositeExtract %float %14338 0 - %11845 = OpCompositeExtract %float %14338 1 - %18725 = OpCompositeExtract %float %14338 2 - %24865 = OpFMul %float %22237 %22237 + %22238 = OpCompositeExtract %float %24645 0 + %11845 = OpCompositeExtract %float %24645 1 + %18725 = OpCompositeExtract %float %24645 2 + %24865 = OpFMul %float %22238 %22238 %16186 = OpFMul %float %11845 %11845 %9307 = OpFMul %float %18725 %18725 - %22238 = OpCompositeExtract %float %24645 0 - %11846 = OpCompositeExtract %float %24645 1 - %18726 = OpCompositeExtract %float %24645 2 - %24866 = OpFMul %float %22238 %22238 + %22239 = OpCompositeExtract %float %9589 0 + %11846 = OpCompositeExtract %float %9589 1 + %18726 = OpCompositeExtract %float %9589 2 + %24866 = OpFMul %float %22239 %22239 %16187 = OpFMul %float %11846 %11846 %9308 = OpFMul %float %18726 %18726 - %22239 = OpCompositeExtract %float %9590 0 - %11847 = OpCompositeExtract %float %9590 1 - %18727 = OpCompositeExtract %float %9590 2 - %24867 = OpFMul %float %22239 %22239 - %16188 = OpFMul %float %11847 %11847 - %9309 = OpFMul %float %18727 %18727 - %22240 = OpCompositeExtract %float %9591 0 - %11848 = OpCompositeExtract %float %9591 1 - %18728 = OpCompositeExtract %float %9591 2 - %24868 = OpFMul %float %22240 %22240 - %16189 = OpFMul %float %11848 %11848 - %9310 = OpFMul %float %18728 %18728 - %22241 = OpCompositeExtract %float %9592 0 - %11849 = OpCompositeExtract %float %9592 1 - %18729 = OpCompositeExtract %float %9592 2 - %24869 = OpFMul %float %22241 %22241 - %16190 = OpFMul %float %11849 %11849 - %9311 = OpFMul %float %18729 %18729 - %22242 = OpCompositeExtract %float %9593 0 - %11850 = OpCompositeExtract %float %9593 1 - %18730 = OpCompositeExtract %float %9593 2 - %24870 = OpFMul %float %22242 %22242 - %16191 = OpFMul %float %11850 %11850 - %9312 = OpFMul %float %18730 %18730 - %22243 = OpCompositeExtract %float %9595 0 - %11851 = OpCompositeExtract %float %9595 1 - %18731 = OpCompositeExtract %float %9595 2 - %24871 = OpFMul %float %22243 %22243 - %16192 = OpFMul %float %11851 %11851 - %9313 = OpFMul %float %18731 %18731 - %22244 = OpCompositeExtract %float %9596 0 - %11852 = OpCompositeExtract %float %9596 1 - %18732 = OpCompositeExtract %float %9596 2 - %24872 = OpFMul %float %22244 %22244 - %16193 = OpFMul %float %11852 %11852 - %9314 = OpFMul %float %18732 %18732 - %22245 = OpCompositeExtract %float %9594 0 - %11853 = OpCompositeExtract %float %9594 1 - %18733 = OpCompositeExtract %float %9594 2 - %24873 = OpFMul %float %22245 %22245 - %16194 = OpFMul %float %11853 %11853 - %9315 = OpFMul %float %18733 %18733 - %22246 = OpCompositeExtract %float %17359 0 - %11854 = OpCompositeExtract %float %17359 1 - %18734 = OpCompositeExtract %float %17359 2 - %24874 = OpFMul %float %22246 %22246 - %14910 = OpFMul %float %11854 %11854 - %8590 = OpFMul %float %18734 %18734 + %22240 = OpCompositeExtract %float %17359 0 + %11847 = OpCompositeExtract %float %17359 1 + %18727 = OpCompositeExtract %float %17359 2 + %24867 = OpFMul %float %22240 %22240 + %14910 = OpFMul %float %11847 %11847 + %8590 = OpFMul %float %18727 %18727 %10877 = OpExtInst %float %1 FMin %16186 %16187 - %9276 = OpExtInst %float %1 FMin %16184 %10877 - %15951 = OpExtInst %float %1 FMin %16188 %16191 + %9276 = OpExtInst %float %1 FMin %16185 %10877 + %15951 = OpExtInst %float %1 FMin %16184 %14910 %10905 = OpExtInst %float %1 FMin %9276 %15951 %24296 = OpExtInst %float %1 FMax %16186 %16187 - %17523 = OpExtInst %float %1 FMax %16184 %24296 - %21848 = OpExtInst %float %1 FMax %16188 %16191 - %7823 = OpExtInst %float %1 FMax %17523 %21848 - %13503 = OpExtInst %float %1 FMin %16187 %16188 - %13819 = OpExtInst %float %1 FMin %16185 %13503 - %15952 = OpExtInst %float %1 FMin %16189 %16192 - %10906 = OpExtInst %float %1 FMin %13819 %15952 - %24297 = OpExtInst %float %1 FMax %16187 %16188 - %17524 = OpExtInst %float %1 FMax %16185 %24297 - %21849 = OpExtInst %float %1 FMax %16189 %16192 - %7824 = OpExtInst %float %1 FMax %17524 %21849 - %13504 = OpExtInst %float %1 FMin %16190 %16191 - %13820 = OpExtInst %float %1 FMin %16187 %13504 - %15953 = OpExtInst %float %1 FMin %16192 %16194 - %10907 = OpExtInst %float %1 FMin %13820 %15953 - %24298 = OpExtInst %float %1 FMax %16190 %16191 - %17525 = OpExtInst %float %1 FMax %16187 %24298 - %21850 = OpExtInst %float %1 FMax %16192 %16194 - %7825 = OpExtInst %float %1 FMax %17525 %21850 - %13505 = OpExtInst %float %1 FMin %16191 %16192 - %13821 = OpExtInst %float %1 FMin %16188 %13505 - %15954 = OpExtInst %float %1 FMin %16193 %14910 - %10908 = OpExtInst %float %1 FMin %13821 %15954 - %24299 = OpExtInst %float %1 FMax %16191 %16192 - %17526 = OpExtInst %float %1 FMax %16188 %24299 - %23939 = OpExtInst %float %1 FMax %16193 %14910 - %21101 = OpExtInst %float %1 FMax %17526 %23939 - %8181 = OpBitcast %uint %7823 - %8818 = OpISub %uint %uint_2129690299 %8181 - %9881 = OpBitcast %float %8818 - %15062 = OpBitcast %uint %7824 - %6702 = OpISub %uint %uint_2129690299 %15062 - %9882 = OpBitcast %float %6702 - %15063 = OpBitcast %uint %7825 - %6703 = OpISub %uint %uint_2129690299 %15063 - %9883 = OpBitcast %float %6703 - %15064 = OpBitcast %uint %21101 - %6835 = OpISub %uint %uint_2129690299 %15064 - %6465 = OpBitcast %float %6835 - %24131 = OpFSub %float %float_1 %7823 + %17523 = OpExtInst %float %1 FMax %16185 %24296 + %23939 = OpExtInst %float %1 FMax %16184 %14910 + %21101 = OpExtInst %float %1 FMax %17523 %23939 + %8181 = OpBitcast %uint %21101 + %8951 = OpISub %uint %uint_2129690299 %8181 + %6465 = OpBitcast %float %8951 + %24131 = OpFSub %float %float_1 %21101 %23324 = OpExtInst %float %1 FMin %10905 %24131 - %23036 = OpFMul %float %23324 %9881 - %16051 = OpExtInst %float %1 FClamp %23036 %float_0 %float_1 - %25005 = OpFSub %float %float_1 %7824 - %10697 = OpExtInst %float %1 FMin %10906 %25005 - %23037 = OpFMul %float %10697 %9882 - %16052 = OpExtInst %float %1 FClamp %23037 %float_0 %float_1 - %25006 = OpFSub %float %float_1 %7825 - %10698 = OpExtInst %float %1 FMin %10907 %25006 - %23038 = OpFMul %float %10698 %9883 - %16053 = OpExtInst %float %1 FClamp %23038 %float_0 %float_1 - %25007 = OpFSub %float %float_1 %21101 - %10699 = OpExtInst %float %1 FMin %10908 %25007 - %22903 = OpFMul %float %10699 %6465 + %22903 = OpFMul %float %23324 %6465 %20683 = OpExtInst %float %1 FClamp %22903 %float_0 %float_1 - %24011 = OpBitcast %uint %16051 + %24011 = OpBitcast %uint %20683 %22090 = OpShiftRightLogical %uint %24011 %uint_1 %23229 = OpIAdd %uint %22090 %uint_532432441 - %22851 = OpBitcast %float %23229 - %8910 = OpBitcast %uint %16052 - %9189 = OpShiftRightLogical %uint %8910 %uint_1 - %23230 = OpIAdd %uint %9189 %uint_532432441 - %22852 = OpBitcast %float %23230 - %8911 = OpBitcast %uint %16053 - %9190 = OpShiftRightLogical %uint %8911 %uint_1 - %23231 = OpIAdd %uint %9190 %uint_532432441 - %22853 = OpBitcast %float %23231 - %8912 = OpBitcast %uint %20683 - %9191 = OpShiftRightLogical %uint %8912 %uint_1 - %23232 = OpIAdd %uint %9191 %uint_532432441 - %21692 = OpBitcast %float %23232 - %19558 = OpBitcast %float %16334 - %18879 = OpFMul %float %22851 %19558 - %22795 = OpFMul %float %22852 %19558 - %19380 = OpFMul %float %22853 %19558 - %10255 = OpFMul %float %21692 %19558 - %13586 = OpCompositeExtract %float %12265 0 - %21718 = OpFSub %float %float_1 %13586 - %11876 = OpCompositeExtract %float %12265 1 - %11147 = OpFSub %float %float_1 %11876 - %17670 = OpFMul %float %21718 %11147 - %25212 = OpFMul %float %13586 %11147 - %20330 = OpFMul %float %21718 %11876 - %20638 = OpFMul %float %13586 %11876 - %18204 = OpFSub %float %7823 %10905 - %23453 = OpFAdd %float %float_0_03125 %18204 - %11395 = OpBitcast %uint %23453 - %7677 = OpISub %uint %uint_2129690299 %11395 - %8343 = OpBitcast %float %7677 - %17531 = OpFMul %float %17670 %8343 - %20631 = OpFSub %float %7824 %10906 - %23454 = OpFAdd %float %float_0_03125 %20631 - %11396 = OpBitcast %uint %23454 - %7678 = OpISub %uint %uint_2129690299 %11396 - %8344 = OpBitcast %float %7678 - %17532 = OpFMul %float %25212 %8344 - %20632 = OpFSub %float %7825 %10907 - %23455 = OpFAdd %float %float_0_03125 %20632 - %11397 = OpBitcast %uint %23455 - %7679 = OpISub %uint %uint_2129690299 %11397 - %8345 = OpBitcast %float %7679 - %17533 = OpFMul %float %20330 %8345 - %20633 = OpFSub %float %21101 %10908 - %23456 = OpFAdd %float %float_0_03125 %20633 - %11398 = OpBitcast %uint %23456 - %7680 = OpISub %uint %uint_2129690299 %11398 - %8381 = OpBitcast %float %7680 - %17261 = OpFMul %float %20638 %8381 - %22796 = OpFMul %float %18879 %17531 - %20292 = OpFMul %float %22795 %17532 - %20984 = OpFMul %float %19380 %17533 - %15690 = OpFAdd %float %20292 %20984 - %22375 = OpFAdd %float %15690 %17531 - %12597 = OpFMul %float %10255 %17261 - %18845 = OpFAdd %float %22796 %12597 - %23067 = OpFAdd %float %18845 %17532 - %7227 = OpFAdd %float %18845 %17533 - %7228 = OpFAdd %float %15690 %17261 - %7229 = OpFAdd %float %22796 %20292 - %7303 = OpFAdd %float %7229 %20984 - %6535 = OpFAdd %float %7303 %12597 - %12598 = OpFMul %float %float_2 %6535 - %18846 = OpFAdd %float %12598 %22375 - %23068 = OpFAdd %float %18846 %23067 - %7132 = OpFAdd %float %23068 %7227 - %8111 = OpFAdd %float %7132 %7228 - %9782 = OpBitcast %uint %8111 - %7563 = OpISub %uint %uint_2129764351 %9782 + %21692 = OpBitcast %float %23229 + %19558 = OpBitcast %float %16454 + %18803 = OpFMul %float %21692 %19558 + %23316 = OpFMul %float %float_4 %18803 + %16498 = OpFAdd %float %float_1 %23316 + %6551 = OpBitcast %uint %16498 + %7563 = OpISub %uint %uint_2129764351 %6551 %9419 = OpBitcast %float %7563 %9130 = OpFNegate %float %9419 - %12367 = OpFMul %float %9130 %8111 + %12367 = OpFMul %float %9130 %16498 %16540 = OpFAdd %float %12367 %float_2 - %9442 = OpFMul %float %9419 %16540 - %18229 = OpFAdd %float %24863 %24865 - %8674 = OpFMul %float %22796 %18229 - %24291 = OpFMul %float %24864 %20292 - %14922 = OpFAdd %float %8674 %24291 - %9443 = OpFMul %float %24868 %20292 - %18153 = OpFAdd %float %14922 %9443 - %9444 = OpFMul %float %24869 %20984 - %18154 = OpFAdd %float %18153 %9444 - %9445 = OpFMul %float %24873 %20984 - %18155 = OpFAdd %float %18154 %9445 - %9446 = OpFMul %float %24872 %12597 - %18156 = OpFAdd %float %18155 %9446 - %9447 = OpFMul %float %24874 %12597 - %18157 = OpFAdd %float %18156 %9447 - %9448 = OpFMul %float %24866 %22375 - %18158 = OpFAdd %float %18157 %9448 - %9449 = OpFMul %float %24867 %23067 - %18159 = OpFAdd %float %18158 %9449 - %9450 = OpFMul %float %24870 %7227 - %18160 = OpFAdd %float %18159 %9450 - %9451 = OpFMul %float %24871 %7228 - %15973 = OpFAdd %float %18160 %9451 - %8137 = OpFMul %float %15973 %9442 - %15218 = OpExtInst %float %1 FClamp %8137 %float_0 %float_1 - %12765 = OpFAdd %float %16184 %16186 - %17545 = OpFMul %float %22796 %12765 - %24292 = OpFMul %float %16185 %20292 - %14923 = OpFAdd %float %17545 %24292 - %9452 = OpFMul %float %16189 %20292 - %18161 = OpFAdd %float %14923 %9452 - %9453 = OpFMul %float %16190 %20984 - %18162 = OpFAdd %float %18161 %9453 - %9454 = OpFMul %float %16194 %20984 - %18163 = OpFAdd %float %18162 %9454 - %9455 = OpFMul %float %16193 %12597 - %18164 = OpFAdd %float %18163 %9455 - %9456 = OpFMul %float %14910 %12597 - %18165 = OpFAdd %float %18164 %9456 - %9457 = OpFMul %float %16187 %22375 - %18166 = OpFAdd %float %18165 %9457 - %9458 = OpFMul %float %16188 %23067 - %18167 = OpFAdd %float %18166 %9458 - %9459 = OpFMul %float %16191 %7227 - %18168 = OpFAdd %float %18167 %9459 - %9460 = OpFMul %float %16192 %7228 - %15974 = OpFAdd %float %18168 %9460 - %8138 = OpFMul %float %15974 %9442 - %15219 = OpExtInst %float %1 FClamp %8138 %float_0 %float_1 - %12766 = OpFAdd %float %9305 %9307 - %17546 = OpFMul %float %22796 %12766 - %24293 = OpFMul %float %9306 %20292 - %14924 = OpFAdd %float %17546 %24293 - %9461 = OpFMul %float %9310 %20292 - %18169 = OpFAdd %float %14924 %9461 - %9462 = OpFMul %float %9311 %20984 - %18170 = OpFAdd %float %18169 %9462 - %9463 = OpFMul %float %9315 %20984 - %18171 = OpFAdd %float %18170 %9463 - %9464 = OpFMul %float %9314 %12597 - %18172 = OpFAdd %float %18171 %9464 - %9465 = OpFMul %float %8590 %12597 - %18173 = OpFAdd %float %18172 %9465 - %9466 = OpFMul %float %9308 %22375 - %18174 = OpFAdd %float %18173 %9466 - %9467 = OpFMul %float %9309 %23067 - %18175 = OpFAdd %float %18174 %9467 - %9468 = OpFMul %float %9312 %7227 - %18176 = OpFAdd %float %18175 %9468 - %9469 = OpFMul %float %9313 %7228 - %15975 = OpFAdd %float %18176 %9469 - %6921 = OpFMul %float %15975 %9442 + %9366 = OpFMul %float %9419 %16540 + %18845 = OpFAdd %float %24863 %24864 + %23143 = OpFAdd %float %18845 %24866 + %6535 = OpFAdd %float %23143 %24867 + %12673 = OpFMul %float %18803 %6535 + %15973 = OpFAdd %float %12673 %24865 + %8137 = OpFMul %float %15973 %9366 + %15142 = OpExtInst %float %1 FClamp %8137 %float_0 %float_1 + %13381 = OpFAdd %float %16184 %16185 + %12943 = OpFAdd %float %13381 %16187 + %6536 = OpFAdd %float %12943 %14910 + %12674 = OpFMul %float %18803 %6536 + %15974 = OpFAdd %float %12674 %16186 + %8138 = OpFMul %float %15974 %9366 + %15143 = OpExtInst %float %1 FClamp %8138 %float_0 %float_1 + %13382 = OpFAdd %float %9305 %9306 + %12944 = OpFAdd %float %13382 %9308 + %6537 = OpFAdd %float %12944 %8590 + %12675 = OpFMul %float %18803 %6537 + %15975 = OpFAdd %float %12675 %9307 + %6921 = OpFMul %float %15975 %9366 %24941 = OpExtInst %float %1 FClamp %6921 %float_0 %float_1 - %20577 = OpAccessChain %_ptr_Output_float %5120 %uint_0 - OpStore %20577 %15218 - %19732 = OpAccessChain %_ptr_Output_float %5120 %uint_1 - OpStore %19732 %15219 - %19656 = OpAccessChain %_ptr_Output_float %5120 %uint_2 + %20577 = OpAccessChain %_ptr_Output_float %5334 %uint_0 + OpStore %20577 %15142 + %19732 = OpAccessChain %_ptr_Output_float %5334 %uint_1 + OpStore %19732 %15143 + %19656 = OpAccessChain %_ptr_Output_float %5334 %uint_2 OpStore %19656 %24941 - %10445 = OpLoad %v4float %5120 + %10445 = OpLoad %v4float %5334 %9111 = OpVectorShuffle %v3float %10445 %10445 0 1 2 %17911 = OpExtInst %v3float %1 Sqrt %9111 %7131 = OpCompositeExtract %float %17911 0 @@ -416,358 +183,156 @@ OpStore %19732 %22435 %22131 = OpCompositeExtract %float %17911 2 OpStore %19656 %22131 - %23294 = OpAccessChain %_ptr_Output_float %5120 %uint_3 + %23294 = OpAccessChain %_ptr_Output_float %5334 %uint_3 OpStore %23294 %float_1 OpReturn OpFunctionEnd #endif const uint32_t guest_output_ffx_cas_sharpen_ps[] = { - 0x07230203, 0x00010000, 0x0008000A, 0x0000627D, 0x00000000, 0x00020011, + 0x07230203, 0x00010000, 0x0008000A, 0x00006176, 0x00000000, 0x00020011, 0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E, 0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0007000F, 0x00000004, - 0x0000161F, 0x6E69616D, 0x00000000, 0x00000C93, 0x00001400, 0x00030010, - 0x0000161F, 0x00000007, 0x00040047, 0x00000C4E, 0x00000022, 0x00000000, - 0x00040047, 0x00000C4E, 0x00000021, 0x00000000, 0x00040047, 0x00000C93, - 0x0000000B, 0x0000000F, 0x00050048, 0x000003F2, 0x00000000, 0x00000023, - 0x00000010, 0x00050048, 0x000003F2, 0x00000001, 0x00000023, 0x00000018, - 0x00030047, 0x000003F2, 0x00000002, 0x00040047, 0x00001400, 0x0000001E, + 0x0000161F, 0x6E69616D, 0x00000000, 0x00000C93, 0x000014D6, 0x00030010, + 0x0000161F, 0x00000007, 0x00040047, 0x00000C93, 0x0000000B, 0x0000000F, + 0x00050048, 0x000003F2, 0x00000000, 0x00000023, 0x00000010, 0x00050048, + 0x000003F2, 0x00000001, 0x00000023, 0x00000018, 0x00030047, 0x000003F2, + 0x00000002, 0x00040047, 0x000014D6, 0x0000001E, 0x00000000, 0x00040047, + 0x0000142B, 0x00000022, 0x00000000, 0x00040047, 0x0000142B, 0x00000021, 0x00000000, 0x00020013, 0x00000008, 0x00030021, 0x00000502, 0x00000008, 0x00030016, 0x0000000D, 0x00000020, 0x00040015, 0x0000000B, 0x00000020, 0x00000000, 0x00040015, 0x0000000C, 0x00000020, 0x00000001, 0x00040017, 0x00000012, 0x0000000C, 0x00000002, 0x00040017, 0x00000018, 0x0000000D, - 0x00000003, 0x00040017, 0x00000011, 0x0000000B, 0x00000002, 0x0004002B, - 0x0000000D, 0x00000A0C, 0x00000000, 0x0004002B, 0x0000000D, 0x0000008A, - 0x3F800000, 0x0004002B, 0x0000000B, 0x00000A0D, 0x00000001, 0x0004002B, - 0x0000000B, 0x0000020D, 0x1FBC4639, 0x0004002B, 0x0000000B, 0x00000344, - 0x7EF07EBB, 0x0004002B, 0x0000000B, 0x000000B2, 0x7EF19FFF, 0x0004002B, - 0x0000000D, 0x00000019, 0x40000000, 0x00090019, 0x00000096, 0x0000000D, - 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, - 0x0003001B, 0x000001FE, 0x00000096, 0x00040020, 0x0000047B, 0x00000000, - 0x000001FE, 0x0004003B, 0x0000047B, 0x00000C4E, 0x00000000, 0x0004002B, - 0x0000000C, 0x00000A0B, 0x00000000, 0x00040017, 0x0000001D, 0x0000000D, - 0x00000004, 0x0004002B, 0x0000000C, 0x00000A08, 0xFFFFFFFF, 0x0005002C, - 0x00000012, 0x0000070B, 0x00000A0B, 0x00000A08, 0x0004002B, 0x0000000C, - 0x00000A0E, 0x00000001, 0x0005002C, 0x00000012, 0x00000714, 0x00000A0E, - 0x00000A08, 0x0005002C, 0x00000012, 0x0000070E, 0x00000A08, 0x00000A0B, - 0x0005002C, 0x00000012, 0x00000720, 0x00000A0E, 0x00000A0B, 0x0005002C, - 0x00000012, 0x0000071A, 0x00000A08, 0x00000A0E, 0x0005002C, 0x00000012, - 0x00000723, 0x00000A0B, 0x00000A0E, 0x0005002C, 0x00000012, 0x0000072C, - 0x00000A0E, 0x00000A0E, 0x0004002B, 0x0000000B, 0x00000A0A, 0x00000000, - 0x0004002B, 0x0000000B, 0x00000A10, 0x00000002, 0x00040017, 0x00000013, - 0x0000000D, 0x00000002, 0x0004002B, 0x0000000C, 0x00000A11, 0x00000002, - 0x0005002C, 0x00000012, 0x00000729, 0x00000A11, 0x00000A0B, 0x0005002C, - 0x00000012, 0x0000072F, 0x00000A0B, 0x00000A11, 0x0005002C, 0x00000012, - 0x00000735, 0x00000A11, 0x00000A0E, 0x0005002C, 0x00000012, 0x00000738, - 0x00000A0E, 0x00000A11, 0x0004002B, 0x0000000D, 0x000002C4, 0x3D000000, - 0x00040020, 0x0000029A, 0x00000001, 0x0000001D, 0x0004003B, 0x0000029A, - 0x00000C93, 0x00000001, 0x0004001E, 0x000003F2, 0x00000012, 0x0000000D, - 0x00040020, 0x0000066F, 0x00000009, 0x000003F2, 0x0004003B, 0x0000066F, - 0x00001342, 0x00000009, 0x00040020, 0x0000028F, 0x00000009, 0x00000012, - 0x00040020, 0x0000028A, 0x00000009, 0x0000000D, 0x00040020, 0x0000029B, - 0x00000003, 0x0000001D, 0x0004003B, 0x0000029B, 0x00001400, 0x00000003, - 0x00040020, 0x0000028B, 0x00000003, 0x0000000D, 0x0004002B, 0x0000000B, - 0x00000A13, 0x00000003, 0x00050036, 0x00000008, 0x0000161F, 0x00000000, - 0x00000502, 0x000200F8, 0x00006175, 0x0004003D, 0x0000001D, 0x0000488B, - 0x00000C93, 0x0007004F, 0x00000013, 0x000036B8, 0x0000488B, 0x0000488B, - 0x00000000, 0x00000001, 0x0004006E, 0x00000012, 0x000044F8, 0x000036B8, - 0x00050041, 0x0000028F, 0x00004B4F, 0x00001342, 0x00000A0B, 0x0004003D, - 0x00000012, 0x00005926, 0x00004B4F, 0x00050082, 0x00000012, 0x00005B10, - 0x000044F8, 0x00005926, 0x0004007C, 0x00000011, 0x000026D2, 0x00005B10, - 0x00050041, 0x0000028A, 0x00005205, 0x00001342, 0x00000A0E, 0x0004003D, - 0x0000000D, 0x000055F9, 0x00005205, 0x0004007C, 0x0000000B, 0x00003FCE, - 0x000055F9, 0x00040070, 0x00000013, 0x00005EBA, 0x000026D2, 0x0006000C, - 0x00000013, 0x00005C9D, 0x00000001, 0x00000008, 0x00005EBA, 0x00050083, - 0x00000013, 0x00002FE9, 0x00005EBA, 0x00005C9D, 0x0004006E, 0x00000012, - 0x000042A8, 0x00005C9D, 0x00050080, 0x00000012, 0x000050B7, 0x000042A8, - 0x0000070B, 0x0004003D, 0x000001FE, 0x0000415B, 0x00000C4E, 0x00040064, - 0x00000096, 0x00005C42, 0x0000415B, 0x0007005F, 0x0000001D, 0x000040D3, - 0x00005C42, 0x000050B7, 0x00000002, 0x00000A0B, 0x00050080, 0x00000012, - 0x00003C5E, 0x000042A8, 0x0000070E, 0x00040064, 0x00000096, 0x00004DF7, - 0x0000415B, 0x0007005F, 0x0000001D, 0x00003802, 0x00004DF7, 0x00003C5E, - 0x00000002, 0x00000A0B, 0x00040064, 0x00000096, 0x0000445A, 0x0000415B, - 0x0007005F, 0x0000001D, 0x00006045, 0x0000445A, 0x000042A8, 0x00000002, - 0x00000A0B, 0x00050080, 0x00000012, 0x00003C5F, 0x000042A8, 0x00000714, - 0x00040064, 0x00000096, 0x0000500B, 0x0000415B, 0x0007005F, 0x0000001D, + 0x00000003, 0x00040017, 0x00000011, 0x0000000B, 0x00000002, 0x00040017, + 0x0000001D, 0x0000000D, 0x00000004, 0x00040020, 0x0000029A, 0x00000001, + 0x0000001D, 0x0004003B, 0x0000029A, 0x00000C93, 0x00000001, 0x00040017, + 0x00000013, 0x0000000D, 0x00000002, 0x0004001E, 0x000003F2, 0x00000012, + 0x0000000D, 0x00040020, 0x0000066F, 0x00000009, 0x000003F2, 0x0004003B, + 0x0000066F, 0x00000BEC, 0x00000009, 0x0004002B, 0x0000000C, 0x00000A0B, + 0x00000000, 0x00040020, 0x0000028F, 0x00000009, 0x00000012, 0x0004002B, + 0x0000000D, 0x0000008A, 0x3F800000, 0x0004002B, 0x0000000D, 0x00000A0C, + 0x00000000, 0x0004002B, 0x0000000C, 0x00000A0E, 0x00000001, 0x00040020, + 0x0000028A, 0x00000009, 0x0000000D, 0x0004002B, 0x0000000B, 0x00000A0A, + 0x00000000, 0x00040020, 0x0000029B, 0x00000003, 0x0000001D, 0x0004003B, + 0x0000029B, 0x000014D6, 0x00000003, 0x00040020, 0x0000028B, 0x00000003, + 0x0000000D, 0x0004002B, 0x0000000B, 0x00000A0D, 0x00000001, 0x0004002B, + 0x0000000B, 0x00000A10, 0x00000002, 0x0004002B, 0x0000000B, 0x00000A13, + 0x00000003, 0x0004002B, 0x0000000B, 0x0000020D, 0x1FBC4639, 0x0004002B, + 0x0000000B, 0x00000344, 0x7EF07EBB, 0x0004002B, 0x0000000B, 0x000000B2, + 0x7EF19FFF, 0x0004002B, 0x0000000D, 0x00000019, 0x40000000, 0x00090019, + 0x00000096, 0x0000000D, 0x00000001, 0x00000000, 0x00000000, 0x00000000, + 0x00000001, 0x00000000, 0x0003001B, 0x000001FE, 0x00000096, 0x00040020, + 0x0000047B, 0x00000000, 0x000001FE, 0x0004003B, 0x0000047B, 0x0000142B, + 0x00000000, 0x0004002B, 0x0000000C, 0x00000A08, 0xFFFFFFFF, 0x0005002C, + 0x00000012, 0x0000070B, 0x00000A0B, 0x00000A08, 0x0005002C, 0x00000012, + 0x0000070E, 0x00000A08, 0x00000A0B, 0x0005002C, 0x00000012, 0x00000720, + 0x00000A0E, 0x00000A0B, 0x0005002C, 0x00000012, 0x00000723, 0x00000A0B, + 0x00000A0E, 0x0004002B, 0x0000000D, 0x00000B69, 0x40800000, 0x00050036, + 0x00000008, 0x0000161F, 0x00000000, 0x00000502, 0x000200F8, 0x00006175, + 0x0004003D, 0x0000001D, 0x0000488B, 0x00000C93, 0x0007004F, 0x00000013, + 0x000036B8, 0x0000488B, 0x0000488B, 0x00000000, 0x00000001, 0x0004006E, + 0x00000012, 0x000044F8, 0x000036B8, 0x00050041, 0x0000028F, 0x00004B4F, + 0x00000BEC, 0x00000A0B, 0x0004003D, 0x00000012, 0x00005926, 0x00004B4F, + 0x00050082, 0x00000012, 0x00005B10, 0x000044F8, 0x00005926, 0x0004007C, + 0x00000011, 0x000026D2, 0x00005B10, 0x00050041, 0x0000028A, 0x00005205, + 0x00000BEC, 0x00000A0E, 0x0004003D, 0x0000000D, 0x000056DD, 0x00005205, + 0x0004007C, 0x0000000B, 0x00004046, 0x000056DD, 0x0004007C, 0x00000012, + 0x00001B4E, 0x000026D2, 0x00050080, 0x00000012, 0x0000387C, 0x00001B4E, + 0x0000070B, 0x0004003D, 0x000001FE, 0x0000543D, 0x0000142B, 0x00040064, + 0x00000096, 0x00005C42, 0x0000543D, 0x0007005F, 0x0000001D, 0x000040D3, + 0x00005C42, 0x0000387C, 0x00000002, 0x00000A0B, 0x00050080, 0x00000012, + 0x00003C5E, 0x00001B4E, 0x0000070E, 0x00040064, 0x00000096, 0x00004DF7, + 0x0000543D, 0x0007005F, 0x0000001D, 0x00003802, 0x00004DF7, 0x00003C5E, + 0x00000002, 0x00000A0B, 0x00040064, 0x00000096, 0x0000445A, 0x0000543D, + 0x0007005F, 0x0000001D, 0x00006045, 0x0000445A, 0x00001B4E, 0x00000002, + 0x00000A0B, 0x00050080, 0x00000012, 0x00003C5F, 0x00001B4E, 0x00000720, + 0x00040064, 0x00000096, 0x0000500B, 0x0000543D, 0x0007005F, 0x0000001D, 0x00002575, 0x0000500B, 0x00003C5F, 0x00000002, 0x00000A0B, 0x00050080, - 0x00000012, 0x00003C60, 0x000042A8, 0x00000720, 0x00040064, 0x00000096, - 0x0000500C, 0x0000415B, 0x0007005F, 0x0000001D, 0x00002576, 0x0000500C, - 0x00003C60, 0x00000002, 0x00000A0B, 0x00050080, 0x00000012, 0x00003C61, - 0x000042A8, 0x00000729, 0x00040064, 0x00000096, 0x0000500D, 0x0000415B, - 0x0007005F, 0x0000001D, 0x00002577, 0x0000500D, 0x00003C61, 0x00000002, - 0x00000A0B, 0x00050080, 0x00000012, 0x00003C62, 0x000042A8, 0x0000071A, - 0x00040064, 0x00000096, 0x0000500E, 0x0000415B, 0x0007005F, 0x0000001D, - 0x00002578, 0x0000500E, 0x00003C62, 0x00000002, 0x00000A0B, 0x00050080, - 0x00000012, 0x00003C63, 0x000042A8, 0x00000723, 0x00040064, 0x00000096, - 0x0000500F, 0x0000415B, 0x0007005F, 0x0000001D, 0x00002579, 0x0000500F, - 0x00003C63, 0x00000002, 0x00000A0B, 0x00050080, 0x00000012, 0x00003C64, - 0x000042A8, 0x0000072F, 0x00040064, 0x00000096, 0x00005010, 0x0000415B, - 0x0007005F, 0x0000001D, 0x0000257A, 0x00005010, 0x00003C64, 0x00000002, - 0x00000A0B, 0x00050080, 0x00000012, 0x00003C65, 0x000042A8, 0x0000072C, - 0x00040064, 0x00000096, 0x00005011, 0x0000415B, 0x0007005F, 0x0000001D, - 0x0000257B, 0x00005011, 0x00003C65, 0x00000002, 0x00000A0B, 0x00050080, - 0x00000012, 0x00003C66, 0x000042A8, 0x00000735, 0x00040064, 0x00000096, - 0x00005012, 0x0000415B, 0x0007005F, 0x0000001D, 0x0000257C, 0x00005012, - 0x00003C66, 0x00000002, 0x00000A0B, 0x00050080, 0x00000012, 0x00003C67, - 0x000042A8, 0x00000738, 0x00040064, 0x00000096, 0x00004C8E, 0x0000415B, - 0x0007005F, 0x0000001D, 0x000043CF, 0x00004C8E, 0x00003C67, 0x00000002, - 0x00000A0B, 0x00050051, 0x0000000D, 0x0000566E, 0x000040D3, 0x00000000, - 0x00050051, 0x0000000D, 0x00001B71, 0x000040D3, 0x00000001, 0x00050051, - 0x0000000D, 0x00004923, 0x000040D3, 0x00000002, 0x00050085, 0x0000000D, - 0x0000611F, 0x0000566E, 0x0000566E, 0x00050085, 0x0000000D, 0x00003F38, - 0x00001B71, 0x00001B71, 0x00050085, 0x0000000D, 0x00002459, 0x00004923, - 0x00004923, 0x00050051, 0x0000000D, 0x000056DC, 0x00002575, 0x00000000, - 0x00050051, 0x0000000D, 0x00002E44, 0x00002575, 0x00000001, 0x00050051, - 0x0000000D, 0x00004924, 0x00002575, 0x00000002, 0x00050085, 0x0000000D, - 0x00006120, 0x000056DC, 0x000056DC, 0x00050085, 0x0000000D, 0x00003F39, - 0x00002E44, 0x00002E44, 0x00050085, 0x0000000D, 0x0000245A, 0x00004924, - 0x00004924, 0x00050051, 0x0000000D, 0x000056DD, 0x00003802, 0x00000000, - 0x00050051, 0x0000000D, 0x00002E45, 0x00003802, 0x00000001, 0x00050051, - 0x0000000D, 0x00004925, 0x00003802, 0x00000002, 0x00050085, 0x0000000D, - 0x00006121, 0x000056DD, 0x000056DD, 0x00050085, 0x0000000D, 0x00003F3A, - 0x00002E45, 0x00002E45, 0x00050085, 0x0000000D, 0x0000245B, 0x00004925, - 0x00004925, 0x00050051, 0x0000000D, 0x000056DE, 0x00006045, 0x00000000, - 0x00050051, 0x0000000D, 0x00002E46, 0x00006045, 0x00000001, 0x00050051, - 0x0000000D, 0x00004926, 0x00006045, 0x00000002, 0x00050085, 0x0000000D, - 0x00006122, 0x000056DE, 0x000056DE, 0x00050085, 0x0000000D, 0x00003F3B, - 0x00002E46, 0x00002E46, 0x00050085, 0x0000000D, 0x0000245C, 0x00004926, - 0x00004926, 0x00050051, 0x0000000D, 0x000056DF, 0x00002576, 0x00000000, - 0x00050051, 0x0000000D, 0x00002E47, 0x00002576, 0x00000001, 0x00050051, - 0x0000000D, 0x00004927, 0x00002576, 0x00000002, 0x00050085, 0x0000000D, - 0x00006123, 0x000056DF, 0x000056DF, 0x00050085, 0x0000000D, 0x00003F3C, - 0x00002E47, 0x00002E47, 0x00050085, 0x0000000D, 0x0000245D, 0x00004927, - 0x00004927, 0x00050051, 0x0000000D, 0x000056E0, 0x00002577, 0x00000000, - 0x00050051, 0x0000000D, 0x00002E48, 0x00002577, 0x00000001, 0x00050051, - 0x0000000D, 0x00004928, 0x00002577, 0x00000002, 0x00050085, 0x0000000D, - 0x00006124, 0x000056E0, 0x000056E0, 0x00050085, 0x0000000D, 0x00003F3D, - 0x00002E48, 0x00002E48, 0x00050085, 0x0000000D, 0x0000245E, 0x00004928, - 0x00004928, 0x00050051, 0x0000000D, 0x000056E1, 0x00002578, 0x00000000, - 0x00050051, 0x0000000D, 0x00002E49, 0x00002578, 0x00000001, 0x00050051, - 0x0000000D, 0x00004929, 0x00002578, 0x00000002, 0x00050085, 0x0000000D, - 0x00006125, 0x000056E1, 0x000056E1, 0x00050085, 0x0000000D, 0x00003F3E, - 0x00002E49, 0x00002E49, 0x00050085, 0x0000000D, 0x0000245F, 0x00004929, - 0x00004929, 0x00050051, 0x0000000D, 0x000056E2, 0x00002579, 0x00000000, - 0x00050051, 0x0000000D, 0x00002E4A, 0x00002579, 0x00000001, 0x00050051, - 0x0000000D, 0x0000492A, 0x00002579, 0x00000002, 0x00050085, 0x0000000D, - 0x00006126, 0x000056E2, 0x000056E2, 0x00050085, 0x0000000D, 0x00003F3F, - 0x00002E4A, 0x00002E4A, 0x00050085, 0x0000000D, 0x00002460, 0x0000492A, - 0x0000492A, 0x00050051, 0x0000000D, 0x000056E3, 0x0000257B, 0x00000000, - 0x00050051, 0x0000000D, 0x00002E4B, 0x0000257B, 0x00000001, 0x00050051, - 0x0000000D, 0x0000492B, 0x0000257B, 0x00000002, 0x00050085, 0x0000000D, - 0x00006127, 0x000056E3, 0x000056E3, 0x00050085, 0x0000000D, 0x00003F40, - 0x00002E4B, 0x00002E4B, 0x00050085, 0x0000000D, 0x00002461, 0x0000492B, - 0x0000492B, 0x00050051, 0x0000000D, 0x000056E4, 0x0000257C, 0x00000000, - 0x00050051, 0x0000000D, 0x00002E4C, 0x0000257C, 0x00000001, 0x00050051, - 0x0000000D, 0x0000492C, 0x0000257C, 0x00000002, 0x00050085, 0x0000000D, - 0x00006128, 0x000056E4, 0x000056E4, 0x00050085, 0x0000000D, 0x00003F41, - 0x00002E4C, 0x00002E4C, 0x00050085, 0x0000000D, 0x00002462, 0x0000492C, - 0x0000492C, 0x00050051, 0x0000000D, 0x000056E5, 0x0000257A, 0x00000000, - 0x00050051, 0x0000000D, 0x00002E4D, 0x0000257A, 0x00000001, 0x00050051, - 0x0000000D, 0x0000492D, 0x0000257A, 0x00000002, 0x00050085, 0x0000000D, - 0x00006129, 0x000056E5, 0x000056E5, 0x00050085, 0x0000000D, 0x00003F42, - 0x00002E4D, 0x00002E4D, 0x00050085, 0x0000000D, 0x00002463, 0x0000492D, - 0x0000492D, 0x00050051, 0x0000000D, 0x000056E6, 0x000043CF, 0x00000000, - 0x00050051, 0x0000000D, 0x00002E4E, 0x000043CF, 0x00000001, 0x00050051, - 0x0000000D, 0x0000492E, 0x000043CF, 0x00000002, 0x00050085, 0x0000000D, - 0x0000612A, 0x000056E6, 0x000056E6, 0x00050085, 0x0000000D, 0x00003A3E, - 0x00002E4E, 0x00002E4E, 0x00050085, 0x0000000D, 0x0000218E, 0x0000492E, - 0x0000492E, 0x0007000C, 0x0000000D, 0x00002A7D, 0x00000001, 0x00000025, - 0x00003F3A, 0x00003F3B, 0x0007000C, 0x0000000D, 0x0000243C, 0x00000001, - 0x00000025, 0x00003F38, 0x00002A7D, 0x0007000C, 0x0000000D, 0x00003E4F, - 0x00000001, 0x00000025, 0x00003F3C, 0x00003F3F, 0x0007000C, 0x0000000D, - 0x00002A99, 0x00000001, 0x00000025, 0x0000243C, 0x00003E4F, 0x0007000C, - 0x0000000D, 0x00005EE8, 0x00000001, 0x00000028, 0x00003F3A, 0x00003F3B, - 0x0007000C, 0x0000000D, 0x00004473, 0x00000001, 0x00000028, 0x00003F38, - 0x00005EE8, 0x0007000C, 0x0000000D, 0x00005558, 0x00000001, 0x00000028, - 0x00003F3C, 0x00003F3F, 0x0007000C, 0x0000000D, 0x00001E8F, 0x00000001, - 0x00000028, 0x00004473, 0x00005558, 0x0007000C, 0x0000000D, 0x000034BF, - 0x00000001, 0x00000025, 0x00003F3B, 0x00003F3C, 0x0007000C, 0x0000000D, - 0x000035FB, 0x00000001, 0x00000025, 0x00003F39, 0x000034BF, 0x0007000C, - 0x0000000D, 0x00003E50, 0x00000001, 0x00000025, 0x00003F3D, 0x00003F40, - 0x0007000C, 0x0000000D, 0x00002A9A, 0x00000001, 0x00000025, 0x000035FB, - 0x00003E50, 0x0007000C, 0x0000000D, 0x00005EE9, 0x00000001, 0x00000028, - 0x00003F3B, 0x00003F3C, 0x0007000C, 0x0000000D, 0x00004474, 0x00000001, - 0x00000028, 0x00003F39, 0x00005EE9, 0x0007000C, 0x0000000D, 0x00005559, - 0x00000001, 0x00000028, 0x00003F3D, 0x00003F40, 0x0007000C, 0x0000000D, - 0x00001E90, 0x00000001, 0x00000028, 0x00004474, 0x00005559, 0x0007000C, - 0x0000000D, 0x000034C0, 0x00000001, 0x00000025, 0x00003F3E, 0x00003F3F, - 0x0007000C, 0x0000000D, 0x000035FC, 0x00000001, 0x00000025, 0x00003F3B, - 0x000034C0, 0x0007000C, 0x0000000D, 0x00003E51, 0x00000001, 0x00000025, - 0x00003F40, 0x00003F42, 0x0007000C, 0x0000000D, 0x00002A9B, 0x00000001, - 0x00000025, 0x000035FC, 0x00003E51, 0x0007000C, 0x0000000D, 0x00005EEA, - 0x00000001, 0x00000028, 0x00003F3E, 0x00003F3F, 0x0007000C, 0x0000000D, - 0x00004475, 0x00000001, 0x00000028, 0x00003F3B, 0x00005EEA, 0x0007000C, - 0x0000000D, 0x0000555A, 0x00000001, 0x00000028, 0x00003F40, 0x00003F42, - 0x0007000C, 0x0000000D, 0x00001E91, 0x00000001, 0x00000028, 0x00004475, - 0x0000555A, 0x0007000C, 0x0000000D, 0x000034C1, 0x00000001, 0x00000025, - 0x00003F3F, 0x00003F40, 0x0007000C, 0x0000000D, 0x000035FD, 0x00000001, - 0x00000025, 0x00003F3C, 0x000034C1, 0x0007000C, 0x0000000D, 0x00003E52, - 0x00000001, 0x00000025, 0x00003F41, 0x00003A3E, 0x0007000C, 0x0000000D, - 0x00002A9C, 0x00000001, 0x00000025, 0x000035FD, 0x00003E52, 0x0007000C, - 0x0000000D, 0x00005EEB, 0x00000001, 0x00000028, 0x00003F3F, 0x00003F40, - 0x0007000C, 0x0000000D, 0x00004476, 0x00000001, 0x00000028, 0x00003F3C, - 0x00005EEB, 0x0007000C, 0x0000000D, 0x00005D83, 0x00000001, 0x00000028, - 0x00003F41, 0x00003A3E, 0x0007000C, 0x0000000D, 0x0000526D, 0x00000001, - 0x00000028, 0x00004476, 0x00005D83, 0x0004007C, 0x0000000B, 0x00001FF5, - 0x00001E8F, 0x00050082, 0x0000000B, 0x00002272, 0x00000344, 0x00001FF5, - 0x0004007C, 0x0000000D, 0x00002699, 0x00002272, 0x0004007C, 0x0000000B, - 0x00003AD6, 0x00001E90, 0x00050082, 0x0000000B, 0x00001A2E, 0x00000344, - 0x00003AD6, 0x0004007C, 0x0000000D, 0x0000269A, 0x00001A2E, 0x0004007C, - 0x0000000B, 0x00003AD7, 0x00001E91, 0x00050082, 0x0000000B, 0x00001A2F, - 0x00000344, 0x00003AD7, 0x0004007C, 0x0000000D, 0x0000269B, 0x00001A2F, - 0x0004007C, 0x0000000B, 0x00003AD8, 0x0000526D, 0x00050082, 0x0000000B, - 0x00001AB3, 0x00000344, 0x00003AD8, 0x0004007C, 0x0000000D, 0x00001941, - 0x00001AB3, 0x00050083, 0x0000000D, 0x00005E43, 0x0000008A, 0x00001E8F, - 0x0007000C, 0x0000000D, 0x00005B1C, 0x00000001, 0x00000025, 0x00002A99, - 0x00005E43, 0x00050085, 0x0000000D, 0x000059FC, 0x00005B1C, 0x00002699, - 0x0008000C, 0x0000000D, 0x00003EB3, 0x00000001, 0x0000002B, 0x000059FC, - 0x00000A0C, 0x0000008A, 0x00050083, 0x0000000D, 0x000061AD, 0x0000008A, - 0x00001E90, 0x0007000C, 0x0000000D, 0x000029C9, 0x00000001, 0x00000025, - 0x00002A9A, 0x000061AD, 0x00050085, 0x0000000D, 0x000059FD, 0x000029C9, - 0x0000269A, 0x0008000C, 0x0000000D, 0x00003EB4, 0x00000001, 0x0000002B, - 0x000059FD, 0x00000A0C, 0x0000008A, 0x00050083, 0x0000000D, 0x000061AE, - 0x0000008A, 0x00001E91, 0x0007000C, 0x0000000D, 0x000029CA, 0x00000001, - 0x00000025, 0x00002A9B, 0x000061AE, 0x00050085, 0x0000000D, 0x000059FE, - 0x000029CA, 0x0000269B, 0x0008000C, 0x0000000D, 0x00003EB5, 0x00000001, - 0x0000002B, 0x000059FE, 0x00000A0C, 0x0000008A, 0x00050083, 0x0000000D, - 0x000061AF, 0x0000008A, 0x0000526D, 0x0007000C, 0x0000000D, 0x000029CB, - 0x00000001, 0x00000025, 0x00002A9C, 0x000061AF, 0x00050085, 0x0000000D, - 0x00005977, 0x000029CB, 0x00001941, 0x0008000C, 0x0000000D, 0x000050CB, - 0x00000001, 0x0000002B, 0x00005977, 0x00000A0C, 0x0000008A, 0x0004007C, - 0x0000000B, 0x00005DCB, 0x00003EB3, 0x000500C2, 0x0000000B, 0x0000564A, - 0x00005DCB, 0x00000A0D, 0x00050080, 0x0000000B, 0x00005ABD, 0x0000564A, - 0x0000020D, 0x0004007C, 0x0000000D, 0x00005943, 0x00005ABD, 0x0004007C, - 0x0000000B, 0x000022CE, 0x00003EB4, 0x000500C2, 0x0000000B, 0x000023E5, - 0x000022CE, 0x00000A0D, 0x00050080, 0x0000000B, 0x00005ABE, 0x000023E5, - 0x0000020D, 0x0004007C, 0x0000000D, 0x00005944, 0x00005ABE, 0x0004007C, - 0x0000000B, 0x000022CF, 0x00003EB5, 0x000500C2, 0x0000000B, 0x000023E6, - 0x000022CF, 0x00000A0D, 0x00050080, 0x0000000B, 0x00005ABF, 0x000023E6, - 0x0000020D, 0x0004007C, 0x0000000D, 0x00005945, 0x00005ABF, 0x0004007C, - 0x0000000B, 0x000022D0, 0x000050CB, 0x000500C2, 0x0000000B, 0x000023E7, - 0x000022D0, 0x00000A0D, 0x00050080, 0x0000000B, 0x00005AC0, 0x000023E7, - 0x0000020D, 0x0004007C, 0x0000000D, 0x000054BC, 0x00005AC0, 0x0004007C, - 0x0000000D, 0x00004C66, 0x00003FCE, 0x00050085, 0x0000000D, 0x000049BF, - 0x00005943, 0x00004C66, 0x00050085, 0x0000000D, 0x0000590B, 0x00005944, - 0x00004C66, 0x00050085, 0x0000000D, 0x00004BB4, 0x00005945, 0x00004C66, - 0x00050085, 0x0000000D, 0x0000280F, 0x000054BC, 0x00004C66, 0x00050051, - 0x0000000D, 0x00003512, 0x00002FE9, 0x00000000, 0x00050083, 0x0000000D, - 0x000054D6, 0x0000008A, 0x00003512, 0x00050051, 0x0000000D, 0x00002E64, - 0x00002FE9, 0x00000001, 0x00050083, 0x0000000D, 0x00002B8B, 0x0000008A, - 0x00002E64, 0x00050085, 0x0000000D, 0x00004506, 0x000054D6, 0x00002B8B, - 0x00050085, 0x0000000D, 0x0000627C, 0x00003512, 0x00002B8B, 0x00050085, - 0x0000000D, 0x00004F6A, 0x000054D6, 0x00002E64, 0x00050085, 0x0000000D, - 0x0000509E, 0x00003512, 0x00002E64, 0x00050083, 0x0000000D, 0x0000471C, - 0x00001E8F, 0x00002A99, 0x00050081, 0x0000000D, 0x00005B9D, 0x000002C4, - 0x0000471C, 0x0004007C, 0x0000000B, 0x00002C83, 0x00005B9D, 0x00050082, - 0x0000000B, 0x00001DFD, 0x00000344, 0x00002C83, 0x0004007C, 0x0000000D, - 0x00002097, 0x00001DFD, 0x00050085, 0x0000000D, 0x0000447B, 0x00004506, - 0x00002097, 0x00050083, 0x0000000D, 0x00005097, 0x00001E90, 0x00002A9A, - 0x00050081, 0x0000000D, 0x00005B9E, 0x000002C4, 0x00005097, 0x0004007C, - 0x0000000B, 0x00002C84, 0x00005B9E, 0x00050082, 0x0000000B, 0x00001DFE, - 0x00000344, 0x00002C84, 0x0004007C, 0x0000000D, 0x00002098, 0x00001DFE, - 0x00050085, 0x0000000D, 0x0000447C, 0x0000627C, 0x00002098, 0x00050083, - 0x0000000D, 0x00005098, 0x00001E91, 0x00002A9B, 0x00050081, 0x0000000D, - 0x00005B9F, 0x000002C4, 0x00005098, 0x0004007C, 0x0000000B, 0x00002C85, - 0x00005B9F, 0x00050082, 0x0000000B, 0x00001DFF, 0x00000344, 0x00002C85, - 0x0004007C, 0x0000000D, 0x00002099, 0x00001DFF, 0x00050085, 0x0000000D, - 0x0000447D, 0x00004F6A, 0x00002099, 0x00050083, 0x0000000D, 0x00005099, - 0x0000526D, 0x00002A9C, 0x00050081, 0x0000000D, 0x00005BA0, 0x000002C4, - 0x00005099, 0x0004007C, 0x0000000B, 0x00002C86, 0x00005BA0, 0x00050082, - 0x0000000B, 0x00001E00, 0x00000344, 0x00002C86, 0x0004007C, 0x0000000D, - 0x000020BD, 0x00001E00, 0x00050085, 0x0000000D, 0x0000436D, 0x0000509E, - 0x000020BD, 0x00050085, 0x0000000D, 0x0000590C, 0x000049BF, 0x0000447B, - 0x00050085, 0x0000000D, 0x00004F44, 0x0000590B, 0x0000447C, 0x00050085, - 0x0000000D, 0x000051F8, 0x00004BB4, 0x0000447D, 0x00050081, 0x0000000D, - 0x00003D4A, 0x00004F44, 0x000051F8, 0x00050081, 0x0000000D, 0x00005767, - 0x00003D4A, 0x0000447B, 0x00050085, 0x0000000D, 0x00003135, 0x0000280F, - 0x0000436D, 0x00050081, 0x0000000D, 0x0000499D, 0x0000590C, 0x00003135, - 0x00050081, 0x0000000D, 0x00005A1B, 0x0000499D, 0x0000447C, 0x00050081, - 0x0000000D, 0x00001C3B, 0x0000499D, 0x0000447D, 0x00050081, 0x0000000D, - 0x00001C3C, 0x00003D4A, 0x0000436D, 0x00050081, 0x0000000D, 0x00001C3D, - 0x0000590C, 0x00004F44, 0x00050081, 0x0000000D, 0x00001C87, 0x00001C3D, - 0x000051F8, 0x00050081, 0x0000000D, 0x00001987, 0x00001C87, 0x00003135, - 0x00050085, 0x0000000D, 0x00003136, 0x00000019, 0x00001987, 0x00050081, - 0x0000000D, 0x0000499E, 0x00003136, 0x00005767, 0x00050081, 0x0000000D, - 0x00005A1C, 0x0000499E, 0x00005A1B, 0x00050081, 0x0000000D, 0x00001BDC, - 0x00005A1C, 0x00001C3B, 0x00050081, 0x0000000D, 0x00001FAF, 0x00001BDC, - 0x00001C3C, 0x0004007C, 0x0000000B, 0x00002636, 0x00001FAF, 0x00050082, - 0x0000000B, 0x00001D8B, 0x000000B2, 0x00002636, 0x0004007C, 0x0000000D, - 0x000024CB, 0x00001D8B, 0x0004007F, 0x0000000D, 0x000023AA, 0x000024CB, - 0x00050085, 0x0000000D, 0x0000304F, 0x000023AA, 0x00001FAF, 0x00050081, - 0x0000000D, 0x0000409C, 0x0000304F, 0x00000019, 0x00050085, 0x0000000D, - 0x000024E2, 0x000024CB, 0x0000409C, 0x00050081, 0x0000000D, 0x00004735, - 0x0000611F, 0x00006121, 0x00050085, 0x0000000D, 0x000021E2, 0x0000590C, - 0x00004735, 0x00050085, 0x0000000D, 0x00005EE3, 0x00006120, 0x00004F44, - 0x00050081, 0x0000000D, 0x00003A4A, 0x000021E2, 0x00005EE3, 0x00050085, - 0x0000000D, 0x000024E3, 0x00006124, 0x00004F44, 0x00050081, 0x0000000D, - 0x000046E9, 0x00003A4A, 0x000024E3, 0x00050085, 0x0000000D, 0x000024E4, - 0x00006125, 0x000051F8, 0x00050081, 0x0000000D, 0x000046EA, 0x000046E9, - 0x000024E4, 0x00050085, 0x0000000D, 0x000024E5, 0x00006129, 0x000051F8, - 0x00050081, 0x0000000D, 0x000046EB, 0x000046EA, 0x000024E5, 0x00050085, - 0x0000000D, 0x000024E6, 0x00006128, 0x00003135, 0x00050081, 0x0000000D, - 0x000046EC, 0x000046EB, 0x000024E6, 0x00050085, 0x0000000D, 0x000024E7, - 0x0000612A, 0x00003135, 0x00050081, 0x0000000D, 0x000046ED, 0x000046EC, - 0x000024E7, 0x00050085, 0x0000000D, 0x000024E8, 0x00006122, 0x00005767, - 0x00050081, 0x0000000D, 0x000046EE, 0x000046ED, 0x000024E8, 0x00050085, - 0x0000000D, 0x000024E9, 0x00006123, 0x00005A1B, 0x00050081, 0x0000000D, - 0x000046EF, 0x000046EE, 0x000024E9, 0x00050085, 0x0000000D, 0x000024EA, - 0x00006126, 0x00001C3B, 0x00050081, 0x0000000D, 0x000046F0, 0x000046EF, - 0x000024EA, 0x00050085, 0x0000000D, 0x000024EB, 0x00006127, 0x00001C3C, - 0x00050081, 0x0000000D, 0x00003E65, 0x000046F0, 0x000024EB, 0x00050085, - 0x0000000D, 0x00001FC9, 0x00003E65, 0x000024E2, 0x0008000C, 0x0000000D, - 0x00003B72, 0x00000001, 0x0000002B, 0x00001FC9, 0x00000A0C, 0x0000008A, - 0x00050081, 0x0000000D, 0x000031DD, 0x00003F38, 0x00003F3A, 0x00050085, - 0x0000000D, 0x00004489, 0x0000590C, 0x000031DD, 0x00050085, 0x0000000D, - 0x00005EE4, 0x00003F39, 0x00004F44, 0x00050081, 0x0000000D, 0x00003A4B, - 0x00004489, 0x00005EE4, 0x00050085, 0x0000000D, 0x000024EC, 0x00003F3D, - 0x00004F44, 0x00050081, 0x0000000D, 0x000046F1, 0x00003A4B, 0x000024EC, - 0x00050085, 0x0000000D, 0x000024ED, 0x00003F3E, 0x000051F8, 0x00050081, - 0x0000000D, 0x000046F2, 0x000046F1, 0x000024ED, 0x00050085, 0x0000000D, - 0x000024EE, 0x00003F42, 0x000051F8, 0x00050081, 0x0000000D, 0x000046F3, - 0x000046F2, 0x000024EE, 0x00050085, 0x0000000D, 0x000024EF, 0x00003F41, - 0x00003135, 0x00050081, 0x0000000D, 0x000046F4, 0x000046F3, 0x000024EF, - 0x00050085, 0x0000000D, 0x000024F0, 0x00003A3E, 0x00003135, 0x00050081, - 0x0000000D, 0x000046F5, 0x000046F4, 0x000024F0, 0x00050085, 0x0000000D, - 0x000024F1, 0x00003F3B, 0x00005767, 0x00050081, 0x0000000D, 0x000046F6, - 0x000046F5, 0x000024F1, 0x00050085, 0x0000000D, 0x000024F2, 0x00003F3C, - 0x00005A1B, 0x00050081, 0x0000000D, 0x000046F7, 0x000046F6, 0x000024F2, - 0x00050085, 0x0000000D, 0x000024F3, 0x00003F3F, 0x00001C3B, 0x00050081, - 0x0000000D, 0x000046F8, 0x000046F7, 0x000024F3, 0x00050085, 0x0000000D, - 0x000024F4, 0x00003F40, 0x00001C3C, 0x00050081, 0x0000000D, 0x00003E66, - 0x000046F8, 0x000024F4, 0x00050085, 0x0000000D, 0x00001FCA, 0x00003E66, - 0x000024E2, 0x0008000C, 0x0000000D, 0x00003B73, 0x00000001, 0x0000002B, - 0x00001FCA, 0x00000A0C, 0x0000008A, 0x00050081, 0x0000000D, 0x000031DE, - 0x00002459, 0x0000245B, 0x00050085, 0x0000000D, 0x0000448A, 0x0000590C, - 0x000031DE, 0x00050085, 0x0000000D, 0x00005EE5, 0x0000245A, 0x00004F44, - 0x00050081, 0x0000000D, 0x00003A4C, 0x0000448A, 0x00005EE5, 0x00050085, - 0x0000000D, 0x000024F5, 0x0000245E, 0x00004F44, 0x00050081, 0x0000000D, - 0x000046F9, 0x00003A4C, 0x000024F5, 0x00050085, 0x0000000D, 0x000024F6, - 0x0000245F, 0x000051F8, 0x00050081, 0x0000000D, 0x000046FA, 0x000046F9, - 0x000024F6, 0x00050085, 0x0000000D, 0x000024F7, 0x00002463, 0x000051F8, - 0x00050081, 0x0000000D, 0x000046FB, 0x000046FA, 0x000024F7, 0x00050085, - 0x0000000D, 0x000024F8, 0x00002462, 0x00003135, 0x00050081, 0x0000000D, - 0x000046FC, 0x000046FB, 0x000024F8, 0x00050085, 0x0000000D, 0x000024F9, - 0x0000218E, 0x00003135, 0x00050081, 0x0000000D, 0x000046FD, 0x000046FC, - 0x000024F9, 0x00050085, 0x0000000D, 0x000024FA, 0x0000245C, 0x00005767, - 0x00050081, 0x0000000D, 0x000046FE, 0x000046FD, 0x000024FA, 0x00050085, - 0x0000000D, 0x000024FB, 0x0000245D, 0x00005A1B, 0x00050081, 0x0000000D, - 0x000046FF, 0x000046FE, 0x000024FB, 0x00050085, 0x0000000D, 0x000024FC, - 0x00002460, 0x00001C3B, 0x00050081, 0x0000000D, 0x00004700, 0x000046FF, - 0x000024FC, 0x00050085, 0x0000000D, 0x000024FD, 0x00002461, 0x00001C3C, - 0x00050081, 0x0000000D, 0x00003E67, 0x00004700, 0x000024FD, 0x00050085, - 0x0000000D, 0x00001B09, 0x00003E67, 0x000024E2, 0x0008000C, 0x0000000D, - 0x0000616D, 0x00000001, 0x0000002B, 0x00001B09, 0x00000A0C, 0x0000008A, - 0x00050041, 0x0000028B, 0x00005061, 0x00001400, 0x00000A0A, 0x0003003E, - 0x00005061, 0x00003B72, 0x00050041, 0x0000028B, 0x00004D14, 0x00001400, - 0x00000A0D, 0x0003003E, 0x00004D14, 0x00003B73, 0x00050041, 0x0000028B, - 0x00004CC8, 0x00001400, 0x00000A10, 0x0003003E, 0x00004CC8, 0x0000616D, - 0x0004003D, 0x0000001D, 0x000028CD, 0x00001400, 0x0008004F, 0x00000018, - 0x00002397, 0x000028CD, 0x000028CD, 0x00000000, 0x00000001, 0x00000002, - 0x0006000C, 0x00000018, 0x000045F7, 0x00000001, 0x0000001F, 0x00002397, - 0x00050051, 0x0000000D, 0x00001BDB, 0x000045F7, 0x00000000, 0x0003003E, - 0x00005061, 0x00001BDB, 0x00050051, 0x0000000D, 0x000057A3, 0x000045F7, - 0x00000001, 0x0003003E, 0x00004D14, 0x000057A3, 0x00050051, 0x0000000D, - 0x00005673, 0x000045F7, 0x00000002, 0x0003003E, 0x00004CC8, 0x00005673, - 0x00050041, 0x0000028B, 0x00005AFE, 0x00001400, 0x00000A13, 0x0003003E, - 0x00005AFE, 0x0000008A, 0x000100FD, 0x00010038, + 0x00000012, 0x00003C60, 0x00001B4E, 0x00000723, 0x00040064, 0x00000096, + 0x00004C8E, 0x0000543D, 0x0007005F, 0x0000001D, 0x000043CF, 0x00004C8E, + 0x00003C60, 0x00000002, 0x00000A0B, 0x00050051, 0x0000000D, 0x0000566E, + 0x000040D3, 0x00000000, 0x00050051, 0x0000000D, 0x00001B71, 0x000040D3, + 0x00000001, 0x00050051, 0x0000000D, 0x00004923, 0x000040D3, 0x00000002, + 0x00050085, 0x0000000D, 0x0000611F, 0x0000566E, 0x0000566E, 0x00050085, + 0x0000000D, 0x00003F38, 0x00001B71, 0x00001B71, 0x00050085, 0x0000000D, + 0x00002459, 0x00004923, 0x00004923, 0x00050051, 0x0000000D, 0x000056DC, + 0x00003802, 0x00000000, 0x00050051, 0x0000000D, 0x00002E44, 0x00003802, + 0x00000001, 0x00050051, 0x0000000D, 0x00004924, 0x00003802, 0x00000002, + 0x00050085, 0x0000000D, 0x00006120, 0x000056DC, 0x000056DC, 0x00050085, + 0x0000000D, 0x00003F39, 0x00002E44, 0x00002E44, 0x00050085, 0x0000000D, + 0x0000245A, 0x00004924, 0x00004924, 0x00050051, 0x0000000D, 0x000056DE, + 0x00006045, 0x00000000, 0x00050051, 0x0000000D, 0x00002E45, 0x00006045, + 0x00000001, 0x00050051, 0x0000000D, 0x00004925, 0x00006045, 0x00000002, + 0x00050085, 0x0000000D, 0x00006121, 0x000056DE, 0x000056DE, 0x00050085, + 0x0000000D, 0x00003F3A, 0x00002E45, 0x00002E45, 0x00050085, 0x0000000D, + 0x0000245B, 0x00004925, 0x00004925, 0x00050051, 0x0000000D, 0x000056DF, + 0x00002575, 0x00000000, 0x00050051, 0x0000000D, 0x00002E46, 0x00002575, + 0x00000001, 0x00050051, 0x0000000D, 0x00004926, 0x00002575, 0x00000002, + 0x00050085, 0x0000000D, 0x00006122, 0x000056DF, 0x000056DF, 0x00050085, + 0x0000000D, 0x00003F3B, 0x00002E46, 0x00002E46, 0x00050085, 0x0000000D, + 0x0000245C, 0x00004926, 0x00004926, 0x00050051, 0x0000000D, 0x000056E0, + 0x000043CF, 0x00000000, 0x00050051, 0x0000000D, 0x00002E47, 0x000043CF, + 0x00000001, 0x00050051, 0x0000000D, 0x00004927, 0x000043CF, 0x00000002, + 0x00050085, 0x0000000D, 0x00006123, 0x000056E0, 0x000056E0, 0x00050085, + 0x0000000D, 0x00003A3E, 0x00002E47, 0x00002E47, 0x00050085, 0x0000000D, + 0x0000218E, 0x00004927, 0x00004927, 0x0007000C, 0x0000000D, 0x00002A7D, + 0x00000001, 0x00000025, 0x00003F3A, 0x00003F3B, 0x0007000C, 0x0000000D, + 0x0000243C, 0x00000001, 0x00000025, 0x00003F39, 0x00002A7D, 0x0007000C, + 0x0000000D, 0x00003E4F, 0x00000001, 0x00000025, 0x00003F38, 0x00003A3E, + 0x0007000C, 0x0000000D, 0x00002A99, 0x00000001, 0x00000025, 0x0000243C, + 0x00003E4F, 0x0007000C, 0x0000000D, 0x00005EE8, 0x00000001, 0x00000028, + 0x00003F3A, 0x00003F3B, 0x0007000C, 0x0000000D, 0x00004473, 0x00000001, + 0x00000028, 0x00003F39, 0x00005EE8, 0x0007000C, 0x0000000D, 0x00005D83, + 0x00000001, 0x00000028, 0x00003F38, 0x00003A3E, 0x0007000C, 0x0000000D, + 0x0000526D, 0x00000001, 0x00000028, 0x00004473, 0x00005D83, 0x0004007C, + 0x0000000B, 0x00001FF5, 0x0000526D, 0x00050082, 0x0000000B, 0x000022F7, + 0x00000344, 0x00001FF5, 0x0004007C, 0x0000000D, 0x00001941, 0x000022F7, + 0x00050083, 0x0000000D, 0x00005E43, 0x0000008A, 0x0000526D, 0x0007000C, + 0x0000000D, 0x00005B1C, 0x00000001, 0x00000025, 0x00002A99, 0x00005E43, + 0x00050085, 0x0000000D, 0x00005977, 0x00005B1C, 0x00001941, 0x0008000C, + 0x0000000D, 0x000050CB, 0x00000001, 0x0000002B, 0x00005977, 0x00000A0C, + 0x0000008A, 0x0004007C, 0x0000000B, 0x00005DCB, 0x000050CB, 0x000500C2, + 0x0000000B, 0x0000564A, 0x00005DCB, 0x00000A0D, 0x00050080, 0x0000000B, + 0x00005ABD, 0x0000564A, 0x0000020D, 0x0004007C, 0x0000000D, 0x000054BC, + 0x00005ABD, 0x0004007C, 0x0000000D, 0x00004C66, 0x00004046, 0x00050085, + 0x0000000D, 0x00004973, 0x000054BC, 0x00004C66, 0x00050085, 0x0000000D, + 0x00005B14, 0x00000B69, 0x00004973, 0x00050081, 0x0000000D, 0x00004072, + 0x0000008A, 0x00005B14, 0x0004007C, 0x0000000B, 0x00001997, 0x00004072, + 0x00050082, 0x0000000B, 0x00001D8B, 0x000000B2, 0x00001997, 0x0004007C, + 0x0000000D, 0x000024CB, 0x00001D8B, 0x0004007F, 0x0000000D, 0x000023AA, + 0x000024CB, 0x00050085, 0x0000000D, 0x0000304F, 0x000023AA, 0x00004072, + 0x00050081, 0x0000000D, 0x0000409C, 0x0000304F, 0x00000019, 0x00050085, + 0x0000000D, 0x00002496, 0x000024CB, 0x0000409C, 0x00050081, 0x0000000D, + 0x0000499D, 0x0000611F, 0x00006120, 0x00050081, 0x0000000D, 0x00005A67, + 0x0000499D, 0x00006122, 0x00050081, 0x0000000D, 0x00001987, 0x00005A67, + 0x00006123, 0x00050085, 0x0000000D, 0x00003181, 0x00004973, 0x00001987, + 0x00050081, 0x0000000D, 0x00003E65, 0x00003181, 0x00006121, 0x00050085, + 0x0000000D, 0x00001FC9, 0x00003E65, 0x00002496, 0x0008000C, 0x0000000D, + 0x00003B26, 0x00000001, 0x0000002B, 0x00001FC9, 0x00000A0C, 0x0000008A, + 0x00050081, 0x0000000D, 0x00003445, 0x00003F38, 0x00003F39, 0x00050081, + 0x0000000D, 0x0000328F, 0x00003445, 0x00003F3B, 0x00050081, 0x0000000D, + 0x00001988, 0x0000328F, 0x00003A3E, 0x00050085, 0x0000000D, 0x00003182, + 0x00004973, 0x00001988, 0x00050081, 0x0000000D, 0x00003E66, 0x00003182, + 0x00003F3A, 0x00050085, 0x0000000D, 0x00001FCA, 0x00003E66, 0x00002496, + 0x0008000C, 0x0000000D, 0x00003B27, 0x00000001, 0x0000002B, 0x00001FCA, + 0x00000A0C, 0x0000008A, 0x00050081, 0x0000000D, 0x00003446, 0x00002459, + 0x0000245A, 0x00050081, 0x0000000D, 0x00003290, 0x00003446, 0x0000245C, + 0x00050081, 0x0000000D, 0x00001989, 0x00003290, 0x0000218E, 0x00050085, + 0x0000000D, 0x00003183, 0x00004973, 0x00001989, 0x00050081, 0x0000000D, + 0x00003E67, 0x00003183, 0x0000245B, 0x00050085, 0x0000000D, 0x00001B09, + 0x00003E67, 0x00002496, 0x0008000C, 0x0000000D, 0x0000616D, 0x00000001, + 0x0000002B, 0x00001B09, 0x00000A0C, 0x0000008A, 0x00050041, 0x0000028B, + 0x00005061, 0x000014D6, 0x00000A0A, 0x0003003E, 0x00005061, 0x00003B26, + 0x00050041, 0x0000028B, 0x00004D14, 0x000014D6, 0x00000A0D, 0x0003003E, + 0x00004D14, 0x00003B27, 0x00050041, 0x0000028B, 0x00004CC8, 0x000014D6, + 0x00000A10, 0x0003003E, 0x00004CC8, 0x0000616D, 0x0004003D, 0x0000001D, + 0x000028CD, 0x000014D6, 0x0008004F, 0x00000018, 0x00002397, 0x000028CD, + 0x000028CD, 0x00000000, 0x00000001, 0x00000002, 0x0006000C, 0x00000018, + 0x000045F7, 0x00000001, 0x0000001F, 0x00002397, 0x00050051, 0x0000000D, + 0x00001BDB, 0x000045F7, 0x00000000, 0x0003003E, 0x00005061, 0x00001BDB, + 0x00050051, 0x0000000D, 0x000057A3, 0x000045F7, 0x00000001, 0x0003003E, + 0x00004D14, 0x000057A3, 0x00050051, 0x0000000D, 0x00005673, 0x000045F7, + 0x00000002, 0x0003003E, 0x00004CC8, 0x00005673, 0x00050041, 0x0000028B, + 0x00005AFE, 0x000014D6, 0x00000A13, 0x0003003E, 0x00005AFE, 0x0000008A, + 0x000100FD, 0x00010038, }; diff --git a/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_ffx_fsr_easu_ps.h b/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_ffx_fsr_easu_ps.h index 29a22b275..245b86198 100644 --- a/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_ffx_fsr_easu_ps.h +++ b/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_ffx_fsr_easu_ps.h @@ -8,15 +8,15 @@ OpCapability Shader %1 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 - OpEntryPoint Fragment %5663 "main" %5120 %gl_FragCoord + OpEntryPoint Fragment %5663 "main" %5777 %gl_FragCoord OpExecutionMode %5663 OriginUpperLeft - OpDecorate %3150 DescriptorSet 0 - OpDecorate %3150 Binding 0 OpMemberDecorate %_struct_1030 0 Offset 16 OpMemberDecorate %_struct_1030 1 Offset 24 OpDecorate %_struct_1030 Block - OpDecorate %5120 Location 0 + OpDecorate %5777 Location 0 OpDecorate %gl_FragCoord BuiltIn FragCoord + OpDecorate %5056 DescriptorSet 0 + OpDecorate %5056 Binding 0 %void = OpTypeVoid %1282 = OpTypeFunction %void %float = OpTypeFloat 32 @@ -27,27 +27,41 @@ %bool = OpTypeBool %v2uint = OpTypeVector %uint 2 %v4uint = OpTypeVector %uint 4 +%_struct_1030 = OpTypeStruct %v2float %v2float +%_ptr_PushConstant__struct_1030 = OpTypePointer PushConstant %_struct_1030 + %3052 = OpVariable %_ptr_PushConstant__struct_1030 PushConstant + %int = OpTypeInt 32 1 + %int_0 = OpConstant %int 0 +%_ptr_PushConstant_v2float = OpTypePointer PushConstant %v2float + %float_0_5 = OpConstant %float 0.5 %float_1 = OpConstant %float 1 + %float_n1 = OpConstant %float -1 + %1284 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_n1 + %int_1 = OpConstant %int 1 + %float_2 = OpConstant %float 2 + %2460 = OpConstantComposite %v4float %float_n1 %float_2 %float_1 %float_2 %float_0 = OpConstant %float 0 + %float_4 = OpConstant %float 4 + %uint_1 = OpConstant %uint 1 +%_ptr_PushConstant_float = OpTypePointer PushConstant %float + %uint_0 = OpConstant %uint 0 +%_ptr_Output_v4float = OpTypePointer Output %v4float + %5777 = OpVariable %_ptr_Output_v4float Output +%_ptr_Input_v4float = OpTypePointer Input %v4float +%gl_FragCoord = OpVariable %_ptr_Input_v4float Input +%_ptr_Output_float = OpTypePointer Output %float + %uint_2 = OpConstant %uint 2 + %uint_3 = OpConstant %uint 3 %uint_2129690299 = OpConstant %uint 2129690299 %uint_1597275508 = OpConstant %uint 1597275508 - %uint_1 = OpConstant %uint 1 %150 = OpTypeImage %float 2D 0 0 0 1 Unknown %510 = OpTypeSampledImage %150 %_ptr_UniformConstant_510 = OpTypePointer UniformConstant %510 - %3150 = OpVariable %_ptr_UniformConstant_510 UniformConstant - %int = OpTypeInt 32 1 - %int_0 = OpConstant %int 0 - %int_1 = OpConstant %int 1 + %5056 = OpVariable %_ptr_UniformConstant_510 UniformConstant %int_2 = OpConstant %int 2 - %uint_0 = OpConstant %uint 0 %float_0_400000006 = OpConstant %float 0.400000006 - %float_n1 = OpConstant %float -1 %float_1_5625 = OpConstant %float 1.5625 %float_n0_5625 = OpConstant %float -0.5625 - %float_0_5 = OpConstant %float 0.5 - %uint_2 = OpConstant %uint 2 - %uint_3 = OpConstant %uint 3 %float_3_05175781en05 = OpConstant %float 3.05175781e-05 %float_n0_5 = OpConstant %float -0.5 %float_n0_289999992 = OpConstant %float -0.289999992 @@ -57,44 +71,30 @@ %890 = OpConstantComposite %v2float %float_0 %float_1 %2628 = OpConstantComposite %v2float %float_n1 %float_0 %769 = OpConstantComposite %v2float %float_1 %float_1 - %float_2 = OpConstant %float 2 %426 = OpConstantComposite %v2float %float_2 %float_1 %2981 = OpConstantComposite %v2float %float_2 %float_0 %312 = OpConstantComposite %v2float %float_1 %float_0 %313 = OpConstantComposite %v2float %float_1 %float_2 %1823 = OpConstantComposite %v2float %float_0 %float_2 -%_struct_1030 = OpTypeStruct %v2float %v2float -%_ptr_PushConstant__struct_1030 = OpTypePointer PushConstant %_struct_1030 - %4930 = OpVariable %_ptr_PushConstant__struct_1030 PushConstant -%_ptr_PushConstant_v2float = OpTypePointer PushConstant %v2float - %1284 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_n1 - %2460 = OpConstantComposite %v4float %float_n1 %float_2 %float_1 %float_2 - %float_4 = OpConstant %float 4 -%_ptr_PushConstant_float = OpTypePointer PushConstant %float -%_ptr_Output_v4float = OpTypePointer Output %v4float - %5120 = OpVariable %_ptr_Output_v4float Output -%_ptr_Input_v4float = OpTypePointer Input %v4float -%gl_FragCoord = OpVariable %_ptr_Input_v4float Input -%_ptr_Output_float = OpTypePointer Output %float %1566 = OpConstantComposite %v2float %float_0_5 %float_0_5 %325 = OpConstantComposite %v4float %float_0_5 %float_0_5 %float_0_5 %float_0_5 %10264 = OpUndef %v2float %5663 = OpFunction %void None %1282 %23915 = OpLabel - %8250 = OpAccessChain %_ptr_PushConstant_v2float %4930 %int_0 + %8250 = OpAccessChain %_ptr_PushConstant_v2float %3052 %int_0 %6959 = OpLoad %v2float %8250 %13397 = OpBitcast %v2uint %6959 %12762 = OpVectorTimesScalar %v2float %6959 %float_0_5 %24291 = OpFSub %v2float %12762 %1566 %20131 = OpBitcast %v2uint %24291 - %17720 = OpAccessChain %_ptr_PushConstant_v2float %4930 %int_1 + %17720 = OpAccessChain %_ptr_PushConstant_v2float %3052 %int_1 %11122 = OpLoad %v2float %17720 %8543 = OpVectorShuffle %v4float %11122 %11122 0 1 0 1 %11088 = OpFMul %v4float %1284 %8543 %12841 = OpBitcast %v4uint %11088 %16717 = OpFMul %v4float %2460 %8543 %11573 = OpBitcast %v4uint %16717 - %20359 = OpAccessChain %_ptr_PushConstant_float %4930 %int_1 %uint_1 + %20359 = OpAccessChain %_ptr_PushConstant_float %3052 %int_1 %uint_1 %20680 = OpLoad %float %20359 %17728 = OpFMul %float %float_4 %20680 %22839 = OpBitcast %uint %17728 @@ -131,7 +131,7 @@ %8254 = OpCompositeConstruct %v2uint %uint_0 %22839 %15702 = OpBitcast %v2float %8254 %15604 = OpFAdd %v2float %11859 %15702 - %15570 = OpLoad %510 %3150 + %15570 = OpLoad %510 %5056 %15045 = OpImageGather %v4float %15570 %11859 %int_0 %21315 = OpImageGather %v4float %15570 %11859 %int_1 %7872 = OpImageGather %v4float %15570 %11859 %int_2 @@ -763,16 +763,16 @@ %17132 = OpFMul %v3float %7049 %16189 %18007 = OpExtInst %v3float %1 FMax %10578 %17132 %12443 = OpExtInst %v3float %1 FMin %18959 %18007 - %9794 = OpAccessChain %_ptr_Output_float %5120 %uint_0 + %9794 = OpAccessChain %_ptr_Output_float %5777 %uint_0 %24795 = OpCompositeExtract %float %12443 0 OpStore %9794 %24795 - %16378 = OpAccessChain %_ptr_Output_float %5120 %uint_1 + %16378 = OpAccessChain %_ptr_Output_float %5777 %uint_1 %15746 = OpCompositeExtract %float %12443 1 OpStore %16378 %15746 - %16379 = OpAccessChain %_ptr_Output_float %5120 %uint_2 + %16379 = OpAccessChain %_ptr_Output_float %5777 %uint_2 %15747 = OpCompositeExtract %float %12443 2 OpStore %16379 %15747 - %23294 = OpAccessChain %_ptr_Output_float %5120 %uint_3 + %23294 = OpAccessChain %_ptr_Output_float %5777 %uint_3 OpStore %23294 %float_1 OpReturn OpFunctionEnd @@ -782,69 +782,69 @@ const uint32_t guest_output_ffx_fsr_easu_ps[] = { 0x07230203, 0x00010000, 0x0008000A, 0x0000617C, 0x00000000, 0x00020011, 0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E, 0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0007000F, 0x00000004, - 0x0000161F, 0x6E69616D, 0x00000000, 0x00001400, 0x00000C93, 0x00030010, - 0x0000161F, 0x00000007, 0x00040047, 0x00000C4E, 0x00000022, 0x00000000, - 0x00040047, 0x00000C4E, 0x00000021, 0x00000000, 0x00050048, 0x00000406, - 0x00000000, 0x00000023, 0x00000010, 0x00050048, 0x00000406, 0x00000001, - 0x00000023, 0x00000018, 0x00030047, 0x00000406, 0x00000002, 0x00040047, - 0x00001400, 0x0000001E, 0x00000000, 0x00040047, 0x00000C93, 0x0000000B, - 0x0000000F, 0x00020013, 0x00000008, 0x00030021, 0x00000502, 0x00000008, + 0x0000161F, 0x6E69616D, 0x00000000, 0x00001691, 0x00000C93, 0x00030010, + 0x0000161F, 0x00000007, 0x00050048, 0x00000406, 0x00000000, 0x00000023, + 0x00000010, 0x00050048, 0x00000406, 0x00000001, 0x00000023, 0x00000018, + 0x00030047, 0x00000406, 0x00000002, 0x00040047, 0x00001691, 0x0000001E, + 0x00000000, 0x00040047, 0x00000C93, 0x0000000B, 0x0000000F, 0x00040047, + 0x000013C0, 0x00000022, 0x00000000, 0x00040047, 0x000013C0, 0x00000021, + 0x00000000, 0x00020013, 0x00000008, 0x00030021, 0x00000502, 0x00000008, 0x00030016, 0x0000000D, 0x00000020, 0x00040017, 0x00000013, 0x0000000D, 0x00000002, 0x00040017, 0x00000018, 0x0000000D, 0x00000003, 0x00040017, 0x0000001D, 0x0000000D, 0x00000004, 0x00040015, 0x0000000B, 0x00000020, 0x00000000, 0x00020014, 0x00000009, 0x00040017, 0x00000011, 0x0000000B, - 0x00000002, 0x00040017, 0x00000017, 0x0000000B, 0x00000004, 0x0004002B, - 0x0000000D, 0x0000008A, 0x3F800000, 0x0004002B, 0x0000000D, 0x00000A0C, - 0x00000000, 0x0004002B, 0x0000000B, 0x00000344, 0x7EF07EBB, 0x0004002B, - 0x0000000B, 0x00000661, 0x5F347D74, 0x0004002B, 0x0000000B, 0x00000A0D, - 0x00000001, 0x00090019, 0x00000096, 0x0000000D, 0x00000001, 0x00000000, - 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x0003001B, 0x000001FE, - 0x00000096, 0x00040020, 0x0000047B, 0x00000000, 0x000001FE, 0x0004003B, - 0x0000047B, 0x00000C4E, 0x00000000, 0x00040015, 0x0000000C, 0x00000020, - 0x00000001, 0x0004002B, 0x0000000C, 0x00000A0B, 0x00000000, 0x0004002B, - 0x0000000C, 0x00000A0E, 0x00000001, 0x0004002B, 0x0000000C, 0x00000A11, - 0x00000002, 0x0004002B, 0x0000000B, 0x00000A0A, 0x00000000, 0x0004002B, - 0x0000000D, 0x00000A93, 0x3ECCCCCD, 0x0004002B, 0x0000000D, 0x00000341, - 0xBF800000, 0x0004002B, 0x0000000D, 0x000004B3, 0x3FC80000, 0x0004002B, - 0x0000000D, 0x000000B4, 0xBF100000, 0x0004002B, 0x0000000D, 0x000000FC, - 0x3F000000, 0x0004002B, 0x0000000B, 0x00000A10, 0x00000002, 0x0004002B, - 0x0000000B, 0x00000A13, 0x00000003, 0x0004002B, 0x0000000D, 0x00000738, - 0x38000000, 0x0004002B, 0x0000000D, 0x000003B3, 0xBF000000, 0x0004002B, - 0x0000000D, 0x0000075D, 0xBE947AE1, 0x0005002C, 0x00000013, 0x00000379, - 0x00000A0C, 0x00000341, 0x0005002C, 0x00000013, 0x00000300, 0x0000008A, - 0x00000341, 0x0005002C, 0x00000013, 0x00000049, 0x00000341, 0x0000008A, - 0x0005002C, 0x00000013, 0x0000037A, 0x00000A0C, 0x0000008A, 0x0005002C, - 0x00000013, 0x00000A44, 0x00000341, 0x00000A0C, 0x0005002C, 0x00000013, - 0x00000301, 0x0000008A, 0x0000008A, 0x0004002B, 0x0000000D, 0x00000019, - 0x40000000, 0x0005002C, 0x00000013, 0x000001AA, 0x00000019, 0x0000008A, - 0x0005002C, 0x00000013, 0x00000BA5, 0x00000019, 0x00000A0C, 0x0005002C, - 0x00000013, 0x00000138, 0x0000008A, 0x00000A0C, 0x0005002C, 0x00000013, - 0x00000139, 0x0000008A, 0x00000019, 0x0005002C, 0x00000013, 0x0000071F, - 0x00000A0C, 0x00000019, 0x0004001E, 0x00000406, 0x00000013, 0x00000013, - 0x00040020, 0x00000683, 0x00000009, 0x00000406, 0x0004003B, 0x00000683, - 0x00001342, 0x00000009, 0x00040020, 0x00000290, 0x00000009, 0x00000013, - 0x0007002C, 0x0000001D, 0x00000504, 0x0000008A, 0x0000008A, 0x0000008A, - 0x00000341, 0x0007002C, 0x0000001D, 0x0000099C, 0x00000341, 0x00000019, - 0x0000008A, 0x00000019, 0x0004002B, 0x0000000D, 0x00000B69, 0x40800000, - 0x00040020, 0x0000028A, 0x00000009, 0x0000000D, 0x00040020, 0x0000029A, - 0x00000003, 0x0000001D, 0x0004003B, 0x0000029A, 0x00001400, 0x00000003, - 0x00040020, 0x0000029B, 0x00000001, 0x0000001D, 0x0004003B, 0x0000029B, - 0x00000C93, 0x00000001, 0x00040020, 0x0000028B, 0x00000003, 0x0000000D, + 0x00000002, 0x00040017, 0x00000017, 0x0000000B, 0x00000004, 0x0004001E, + 0x00000406, 0x00000013, 0x00000013, 0x00040020, 0x00000683, 0x00000009, + 0x00000406, 0x0004003B, 0x00000683, 0x00000BEC, 0x00000009, 0x00040015, + 0x0000000C, 0x00000020, 0x00000001, 0x0004002B, 0x0000000C, 0x00000A0B, + 0x00000000, 0x00040020, 0x00000290, 0x00000009, 0x00000013, 0x0004002B, + 0x0000000D, 0x000000FC, 0x3F000000, 0x0004002B, 0x0000000D, 0x0000008A, + 0x3F800000, 0x0004002B, 0x0000000D, 0x00000341, 0xBF800000, 0x0007002C, + 0x0000001D, 0x00000504, 0x0000008A, 0x0000008A, 0x0000008A, 0x00000341, + 0x0004002B, 0x0000000C, 0x00000A0E, 0x00000001, 0x0004002B, 0x0000000D, + 0x00000019, 0x40000000, 0x0007002C, 0x0000001D, 0x0000099C, 0x00000341, + 0x00000019, 0x0000008A, 0x00000019, 0x0004002B, 0x0000000D, 0x00000A0C, + 0x00000000, 0x0004002B, 0x0000000D, 0x00000B69, 0x40800000, 0x0004002B, + 0x0000000B, 0x00000A0D, 0x00000001, 0x00040020, 0x0000028A, 0x00000009, + 0x0000000D, 0x0004002B, 0x0000000B, 0x00000A0A, 0x00000000, 0x00040020, + 0x0000029A, 0x00000003, 0x0000001D, 0x0004003B, 0x0000029A, 0x00001691, + 0x00000003, 0x00040020, 0x0000029B, 0x00000001, 0x0000001D, 0x0004003B, + 0x0000029B, 0x00000C93, 0x00000001, 0x00040020, 0x0000028B, 0x00000003, + 0x0000000D, 0x0004002B, 0x0000000B, 0x00000A10, 0x00000002, 0x0004002B, + 0x0000000B, 0x00000A13, 0x00000003, 0x0004002B, 0x0000000B, 0x00000344, + 0x7EF07EBB, 0x0004002B, 0x0000000B, 0x00000661, 0x5F347D74, 0x00090019, + 0x00000096, 0x0000000D, 0x00000001, 0x00000000, 0x00000000, 0x00000000, + 0x00000001, 0x00000000, 0x0003001B, 0x000001FE, 0x00000096, 0x00040020, + 0x0000047B, 0x00000000, 0x000001FE, 0x0004003B, 0x0000047B, 0x000013C0, + 0x00000000, 0x0004002B, 0x0000000C, 0x00000A11, 0x00000002, 0x0004002B, + 0x0000000D, 0x00000A93, 0x3ECCCCCD, 0x0004002B, 0x0000000D, 0x000004B3, + 0x3FC80000, 0x0004002B, 0x0000000D, 0x000000B4, 0xBF100000, 0x0004002B, + 0x0000000D, 0x00000738, 0x38000000, 0x0004002B, 0x0000000D, 0x000003B3, + 0xBF000000, 0x0004002B, 0x0000000D, 0x0000075D, 0xBE947AE1, 0x0005002C, + 0x00000013, 0x00000379, 0x00000A0C, 0x00000341, 0x0005002C, 0x00000013, + 0x00000300, 0x0000008A, 0x00000341, 0x0005002C, 0x00000013, 0x00000049, + 0x00000341, 0x0000008A, 0x0005002C, 0x00000013, 0x0000037A, 0x00000A0C, + 0x0000008A, 0x0005002C, 0x00000013, 0x00000A44, 0x00000341, 0x00000A0C, + 0x0005002C, 0x00000013, 0x00000301, 0x0000008A, 0x0000008A, 0x0005002C, + 0x00000013, 0x000001AA, 0x00000019, 0x0000008A, 0x0005002C, 0x00000013, + 0x00000BA5, 0x00000019, 0x00000A0C, 0x0005002C, 0x00000013, 0x00000138, + 0x0000008A, 0x00000A0C, 0x0005002C, 0x00000013, 0x00000139, 0x0000008A, + 0x00000019, 0x0005002C, 0x00000013, 0x0000071F, 0x00000A0C, 0x00000019, 0x0005002C, 0x00000013, 0x0000061E, 0x000000FC, 0x000000FC, 0x0007002C, 0x0000001D, 0x00000145, 0x000000FC, 0x000000FC, 0x000000FC, 0x000000FC, 0x00030001, 0x00000013, 0x00002818, 0x00050036, 0x00000008, 0x0000161F, 0x00000000, 0x00000502, 0x000200F8, 0x00005D6B, 0x00050041, 0x00000290, - 0x0000203A, 0x00001342, 0x00000A0B, 0x0004003D, 0x00000013, 0x00001B2F, + 0x0000203A, 0x00000BEC, 0x00000A0B, 0x0004003D, 0x00000013, 0x00001B2F, 0x0000203A, 0x0004007C, 0x00000011, 0x00003455, 0x00001B2F, 0x0005008E, 0x00000013, 0x000031DA, 0x00001B2F, 0x000000FC, 0x00050083, 0x00000013, 0x00005EE3, 0x000031DA, 0x0000061E, 0x0004007C, 0x00000011, 0x00004EA3, - 0x00005EE3, 0x00050041, 0x00000290, 0x00004538, 0x00001342, 0x00000A0E, + 0x00005EE3, 0x00050041, 0x00000290, 0x00004538, 0x00000BEC, 0x00000A0E, 0x0004003D, 0x00000013, 0x00002B72, 0x00004538, 0x0009004F, 0x0000001D, 0x0000215F, 0x00002B72, 0x00002B72, 0x00000000, 0x00000001, 0x00000000, 0x00000001, 0x00050085, 0x0000001D, 0x00002B50, 0x00000504, 0x0000215F, 0x0004007C, 0x00000017, 0x00003229, 0x00002B50, 0x00050085, 0x0000001D, 0x0000414D, 0x0000099C, 0x0000215F, 0x0004007C, 0x00000017, 0x00002D35, - 0x0000414D, 0x00060041, 0x0000028A, 0x00004F87, 0x00001342, 0x00000A0E, + 0x0000414D, 0x00060041, 0x0000028A, 0x00004F87, 0x00000BEC, 0x00000A0E, 0x00000A0D, 0x0004003D, 0x0000000D, 0x000050C8, 0x00004F87, 0x00050085, 0x0000000D, 0x00004540, 0x00000B69, 0x000050C8, 0x0004007C, 0x0000000B, 0x00005937, 0x00004540, 0x0004003D, 0x0000001D, 0x00002C9B, 0x00000C93, @@ -874,7 +874,7 @@ const uint32_t guest_output_ffx_fsr_easu_ps[] = { 0x00002E53, 0x000025A4, 0x00050050, 0x00000011, 0x0000203E, 0x00000A0A, 0x00005937, 0x0004007C, 0x00000013, 0x00003D56, 0x0000203E, 0x00050081, 0x00000013, 0x00003CF4, 0x00002E53, 0x00003D56, 0x0004003D, 0x000001FE, - 0x00003CD2, 0x00000C4E, 0x00060060, 0x0000001D, 0x00003AC5, 0x00003CD2, + 0x00003CD2, 0x000013C0, 0x00060060, 0x0000001D, 0x00003AC5, 0x00003CD2, 0x00002E53, 0x00000A0B, 0x00060060, 0x0000001D, 0x00005343, 0x00003CD2, 0x00002E53, 0x00000A0E, 0x00060060, 0x0000001D, 0x00001EC0, 0x00003CD2, 0x00002E53, 0x00000A11, 0x00060060, 0x0000001D, 0x00001EC1, 0x00003CD2, @@ -1423,12 +1423,12 @@ const uint32_t guest_output_ffx_fsr_easu_ps[] = { 0x00003F3D, 0x0007000C, 0x00000018, 0x00004657, 0x00000001, 0x00000028, 0x00002952, 0x000042EC, 0x0007000C, 0x00000018, 0x0000309B, 0x00000001, 0x00000025, 0x00004A0F, 0x00004657, 0x00050041, 0x0000028B, 0x00002642, - 0x00001400, 0x00000A0A, 0x00050051, 0x0000000D, 0x000060DB, 0x0000309B, + 0x00001691, 0x00000A0A, 0x00050051, 0x0000000D, 0x000060DB, 0x0000309B, 0x00000000, 0x0003003E, 0x00002642, 0x000060DB, 0x00050041, 0x0000028B, - 0x00003FFA, 0x00001400, 0x00000A0D, 0x00050051, 0x0000000D, 0x00003D82, + 0x00003FFA, 0x00001691, 0x00000A0D, 0x00050051, 0x0000000D, 0x00003D82, 0x0000309B, 0x00000001, 0x0003003E, 0x00003FFA, 0x00003D82, 0x00050041, - 0x0000028B, 0x00003FFB, 0x00001400, 0x00000A10, 0x00050051, 0x0000000D, + 0x0000028B, 0x00003FFB, 0x00001691, 0x00000A10, 0x00050051, 0x0000000D, 0x00003D83, 0x0000309B, 0x00000002, 0x0003003E, 0x00003FFB, 0x00003D83, - 0x00050041, 0x0000028B, 0x00005AFE, 0x00001400, 0x00000A13, 0x0003003E, + 0x00050041, 0x0000028B, 0x00005AFE, 0x00001691, 0x00000A13, 0x0003003E, 0x00005AFE, 0x0000008A, 0x000100FD, 0x00010038, }; diff --git a/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_ffx_fsr_rcas_dither_ps.h b/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_ffx_fsr_rcas_dither_ps.h index 726e06a0f..3f692dd60 100644 --- a/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_ffx_fsr_rcas_dither_ps.h +++ b/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_ffx_fsr_rcas_dither_ps.h @@ -8,24 +8,29 @@ OpCapability Shader %1 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 - OpEntryPoint Fragment %5663 "main" %gl_FragCoord %5120 + OpEntryPoint Fragment %5663 "main" %gl_FragCoord %3253 OpExecutionMode %5663 OriginUpperLeft - OpDecorate %3150 DescriptorSet 0 - OpDecorate %3150 Binding 0 OpDecorate %gl_FragCoord BuiltIn FragCoord OpMemberDecorate %_struct_1010 0 Offset 16 OpMemberDecorate %_struct_1010 1 Offset 24 OpDecorate %_struct_1010 Block - OpDecorate %5120 Location 0 + OpDecorate %3253 Location 0 + OpDecorate %3575 DescriptorSet 0 + OpDecorate %3575 Binding 0 %void = OpTypeVoid %1282 = OpTypeFunction %void + %float = OpTypeFloat 32 + %v3float = OpTypeVector %float 3 %uint = OpTypeInt 32 0 %v2uint = OpTypeVector %uint 2 - %float = OpTypeFloat 32 %_ptr_Function_float = OpTypePointer Function %float %int = OpTypeInt 32 1 %v2int = OpTypeVector %int 2 %v4float = OpTypeVector %float 4 + %float_0 = OpConstant %float 0 + %2604 = OpConstantComposite %v3float %float_0 %float_0 %float_0 + %float_1 = OpConstant %float 1 + %2582 = OpConstantComposite %v3float %float_1 %float_1 %float_1 %uint_15 = OpConstant %uint 15 %uint_256 = OpConstant %uint 256 %_arr_float_uint_256 = OpTypeArray %float %uint_256 @@ -285,45 +290,40 @@ %float_0_000819546578 = OpConstant %float 0.000819546578 %float_0_00184589461 = OpConstant %float 0.00184589461 %float_0_000467218139 = OpConstant %float 0.000467218139 - %2092 = OpConstantComposite %_arr_float_uint_256 %float_n0_00100337015 %float_0_000880821084 %float_0_00169270835 %float_n0_00155484071 %float_0_00127910543 %float_n0_000605085806 %float_0_00106464466 %float_n0_00138633582 %float_0_00135569857 %float_0_000513174047 %float_0_00121783093 %float_n0_00160079659 %float_0_00058976718 %float_n0_00028339462 %float_0_00111060054 %float_n0_00141697307 %float_0_00144761032 %float_n0_0005438113 %float_0_00013020834 %float_n0_0012025123 %float_0_000436580885 %float_n0_00104932603 %float_0_000620404433 %float_n0_000482536765 %float_0_00187653187 %float_n0_00109528191 %float_n9_95710798en05 %float_n0_000528492674 %float_0_0014322917 %float_n0_00193780637 %float_n0_000696997566 %float_3_829657en05 %float_0_000712316192 %float_n0_00130974269 %float_0_00109528191 %float_n0_000298713247 %float_0_00175398286 %float_n0_00167738972 %float_0_00147824758 %float_n3_829657en05 %float_0_000788909325 %float_n0_00183057599 %float_0_000298713247 %float_0_000988051528 %float_n0_00117187505 %float_0_00017616422 %float_0_00164675247 %float_n0_00158547796 %float_0_000344669126 %float_0_00186121324 %float_n0_00176930148 %float_n0_000865502458 %float_0_000896139711 %float_0_000160845593 %float_n0_000926776964 %float_n0_00152420346 %float_n0_000651041686 %float_0_00129442406 %float_n0_000804227951 %float_n0_00146292895 %float_0_00179993873 %float_n0_000850183831 %float_0_000850183831 %float_n0_000451899512 %float_n0_00106464466 %float_n0_000145526967 %float_0_000237438726 %float_0_00141697307 %float_n0_00058976718 %float_n0_000191482846 %float_0_00160079659 %float_0_00101868878 %float_0_000405943632 %float_n0_000206801473 %float_0_00158547796 %float_0_000651041686 %float_n6_89338267en05 %float_0_000421262259 %float_n0_00164675247 %float_0_00137101719 %float_0_000926776964 %float_n0_000666360313 %float_0_00118719367 %float_n0_00144761032 %float_0_000574448553 %float_n0_00189185049 %float_0_000758272072 %float_n0_00129442406 %float_0_00192248775 %float_n0_0016620711 %float_n0_00103400741 %float_n0_000497855421 %float_n0_00186121324 %float_0_0012025123 %float_n0_0003293505 %float_n0_00137101719 %float_0_00163143384 %float_n0_00184589461 %float_0_000727634819 %float_n0_000911458337 %float_0_00181525736 %float_n0_00114123779 %float_n0_000375306379 %float_9_95710798en05 %float_n0_000742953445 %float_0_00117187505 %float_6_89338267en05 %float_0_0014935662 %float_0_000972732843 %float_n0_000957414217 %float_0_00193780637 %float_0_000528492674 %float_5_36151965en05 %float_n0_00124846818 %float_n0_000268075994 %float_0_00153952208 %float_n7_65931418en06 %float_0_000314031873 %float_0_00134037994 %float_n0_00175398286 %float_0_000497855421 %float_n0_00118719367 %float_0_000773590698 %float_n0_00134037994 %float_0_000268075994 %float_n0_00147824758 %float_n0_00013020834 %float_n0_000773590698 %float_0_00130974269 %float_0_000390625006 %float_0_000957414217 %float_n0_000467218139 %float_n0_00153952208 %float_0_00103400741 %float_n0_000681678939 %float_0_00167738972 %float_0_00100337015 %float_n0_000421262259 %float_0_00178462011 %float_n0_000237438726 %float_n0_000620404433 %float_0_0016620711 %float_0_000834865205 %float_n0_0017233456 %float_n0_00107996329 %float_0_00176930148 %float_n0_000788909325 %float_n0_00178462011 %float_0_000681678939 %float_n0_000988051528 %float_n0_00132506131 %float_n0_00017616422 %float_n0_00150888483 %float_0_0003293505 %float_n0_001953125 %float_0_000666360313 %float_n0_00161611522 %float_0_00115655642 %float_0_000451899512 %float_n0_000436580885 %float_0_000191482846 %float_n0_0014935662 %float_0_00114123779 %float_8_42524532en05 %float_0_00189185049 %float_0_00140165444 %float_0_000559129927 %float_0_000114889706 %float_0_00126378681 %float_n0_000574448553 %float_n0_000972732843 %float_0_00132506131 %float_0_000222120099 %float_n0_000758272072 %float_n0_00135569857 %float_0_00146292895 %float_0_000865502458 %float_n0_000359987753 %float_0_0005438113 %float_n0_00112591917 %float_n0_000252757367 %float_n0_000559129927 %float_n0_00181525736 %float_0_0017233456 %float_n0_00115655642 %float_0_000742953445 %float_0_00157015934 %float_n0_000114889706 %float_n0_00121783093 %float_0_00183057599 %float_2_29779416en05 %float_n0_00192248775 %float_0_00173866423 %float_n0_000712316192 %float_0_00155484071 %float_n0_00170802698 %float_0_00123314955 %float_0_000206801473 %float_0_00104932603 %float_n0_000727634819 %float_n0_00163143384 %float_n0_000314031873 %float_0_000482536765 %float_n0_00179993873 %float_0_00094209559 %float_n0_000344669126 %float_0_000696997566 %float_n0_00101868878 %float_n0_00157015934 %float_n2_29779416en05 %float_n0_00127910543 %float_0_000804227951 %float_n0_000896139711 %float_n0_0014322917 %float_0_000605085806 %float_n8_42524532en05 %float_0_000911458337 %float_0_001953125 %float_n0_00140165444 %float_n0_00063572306 %float_0_00150888483 %float_n0_000819546578 %float_0_00124846818 %float_0_000252757367 %float_0_00152420346 %float_0_00112591917 %float_0_000359987753 %float_n0_000390625006 %float_0_00190716912 %float_0_00138633582 %float_n0_00111060054 %float_0_00161611522 %float_n0_000880821084 %float_0_000145526967 %float_0_00107996329 %float_n5_36151965en05 %float_0_00028339462 %float_n0_00169270835 %float_n0_00126378681 %float_n0_000513174047 %float_n0_000160845593 %float_n0_00187653187 %float_n0_000834865205 %float_0_00063572306 %float_7_65931418en06 %float_n0_00190716912 %float_n0_000222120099 %float_0_000375306379 %float_n0_00173866423 %float_n0_000405943632 %float_n0_00123314955 %float_0_00170802698 %float_n0_00094209559 %float_0_000819546578 %float_0_00184589461 %float_0_000467218139 + %2162 = OpConstantComposite %_arr_float_uint_256 %float_n0_00100337015 %float_0_000880821084 %float_0_00169270835 %float_n0_00155484071 %float_0_00127910543 %float_n0_000605085806 %float_0_00106464466 %float_n0_00138633582 %float_0_00135569857 %float_0_000513174047 %float_0_00121783093 %float_n0_00160079659 %float_0_00058976718 %float_n0_00028339462 %float_0_00111060054 %float_n0_00141697307 %float_0_00144761032 %float_n0_0005438113 %float_0_00013020834 %float_n0_0012025123 %float_0_000436580885 %float_n0_00104932603 %float_0_000620404433 %float_n0_000482536765 %float_0_00187653187 %float_n0_00109528191 %float_n9_95710798en05 %float_n0_000528492674 %float_0_0014322917 %float_n0_00193780637 %float_n0_000696997566 %float_3_829657en05 %float_0_000712316192 %float_n0_00130974269 %float_0_00109528191 %float_n0_000298713247 %float_0_00175398286 %float_n0_00167738972 %float_0_00147824758 %float_n3_829657en05 %float_0_000788909325 %float_n0_00183057599 %float_0_000298713247 %float_0_000988051528 %float_n0_00117187505 %float_0_00017616422 %float_0_00164675247 %float_n0_00158547796 %float_0_000344669126 %float_0_00186121324 %float_n0_00176930148 %float_n0_000865502458 %float_0_000896139711 %float_0_000160845593 %float_n0_000926776964 %float_n0_00152420346 %float_n0_000651041686 %float_0_00129442406 %float_n0_000804227951 %float_n0_00146292895 %float_0_00179993873 %float_n0_000850183831 %float_0_000850183831 %float_n0_000451899512 %float_n0_00106464466 %float_n0_000145526967 %float_0_000237438726 %float_0_00141697307 %float_n0_00058976718 %float_n0_000191482846 %float_0_00160079659 %float_0_00101868878 %float_0_000405943632 %float_n0_000206801473 %float_0_00158547796 %float_0_000651041686 %float_n6_89338267en05 %float_0_000421262259 %float_n0_00164675247 %float_0_00137101719 %float_0_000926776964 %float_n0_000666360313 %float_0_00118719367 %float_n0_00144761032 %float_0_000574448553 %float_n0_00189185049 %float_0_000758272072 %float_n0_00129442406 %float_0_00192248775 %float_n0_0016620711 %float_n0_00103400741 %float_n0_000497855421 %float_n0_00186121324 %float_0_0012025123 %float_n0_0003293505 %float_n0_00137101719 %float_0_00163143384 %float_n0_00184589461 %float_0_000727634819 %float_n0_000911458337 %float_0_00181525736 %float_n0_00114123779 %float_n0_000375306379 %float_9_95710798en05 %float_n0_000742953445 %float_0_00117187505 %float_6_89338267en05 %float_0_0014935662 %float_0_000972732843 %float_n0_000957414217 %float_0_00193780637 %float_0_000528492674 %float_5_36151965en05 %float_n0_00124846818 %float_n0_000268075994 %float_0_00153952208 %float_n7_65931418en06 %float_0_000314031873 %float_0_00134037994 %float_n0_00175398286 %float_0_000497855421 %float_n0_00118719367 %float_0_000773590698 %float_n0_00134037994 %float_0_000268075994 %float_n0_00147824758 %float_n0_00013020834 %float_n0_000773590698 %float_0_00130974269 %float_0_000390625006 %float_0_000957414217 %float_n0_000467218139 %float_n0_00153952208 %float_0_00103400741 %float_n0_000681678939 %float_0_00167738972 %float_0_00100337015 %float_n0_000421262259 %float_0_00178462011 %float_n0_000237438726 %float_n0_000620404433 %float_0_0016620711 %float_0_000834865205 %float_n0_0017233456 %float_n0_00107996329 %float_0_00176930148 %float_n0_000788909325 %float_n0_00178462011 %float_0_000681678939 %float_n0_000988051528 %float_n0_00132506131 %float_n0_00017616422 %float_n0_00150888483 %float_0_0003293505 %float_n0_001953125 %float_0_000666360313 %float_n0_00161611522 %float_0_00115655642 %float_0_000451899512 %float_n0_000436580885 %float_0_000191482846 %float_n0_0014935662 %float_0_00114123779 %float_8_42524532en05 %float_0_00189185049 %float_0_00140165444 %float_0_000559129927 %float_0_000114889706 %float_0_00126378681 %float_n0_000574448553 %float_n0_000972732843 %float_0_00132506131 %float_0_000222120099 %float_n0_000758272072 %float_n0_00135569857 %float_0_00146292895 %float_0_000865502458 %float_n0_000359987753 %float_0_0005438113 %float_n0_00112591917 %float_n0_000252757367 %float_n0_000559129927 %float_n0_00181525736 %float_0_0017233456 %float_n0_00115655642 %float_0_000742953445 %float_0_00157015934 %float_n0_000114889706 %float_n0_00121783093 %float_0_00183057599 %float_2_29779416en05 %float_n0_00192248775 %float_0_00173866423 %float_n0_000712316192 %float_0_00155484071 %float_n0_00170802698 %float_0_00123314955 %float_0_000206801473 %float_0_00104932603 %float_n0_000727634819 %float_n0_00163143384 %float_n0_000314031873 %float_0_000482536765 %float_n0_00179993873 %float_0_00094209559 %float_n0_000344669126 %float_0_000696997566 %float_n0_00101868878 %float_n0_00157015934 %float_n2_29779416en05 %float_n0_00127910543 %float_0_000804227951 %float_n0_000896139711 %float_n0_0014322917 %float_0_000605085806 %float_n8_42524532en05 %float_0_000911458337 %float_0_001953125 %float_n0_00140165444 %float_n0_00063572306 %float_0_00150888483 %float_n0_000819546578 %float_0_00124846818 %float_0_000252757367 %float_0_00152420346 %float_0_00112591917 %float_0_000359987753 %float_n0_000390625006 %float_0_00190716912 %float_0_00138633582 %float_n0_00111060054 %float_0_00161611522 %float_n0_000880821084 %float_0_000145526967 %float_0_00107996329 %float_n5_36151965en05 %float_0_00028339462 %float_n0_00169270835 %float_n0_00126378681 %float_n0_000513174047 %float_n0_000160845593 %float_n0_00187653187 %float_n0_000834865205 %float_0_00063572306 %float_7_65931418en06 %float_n0_00190716912 %float_n0_000222120099 %float_0_000375306379 %float_n0_00173866423 %float_n0_000405943632 %float_n0_00123314955 %float_0_00170802698 %float_n0_00094209559 %float_0_000819546578 %float_0_00184589461 %float_0_000467218139 %uint_1 = OpConstant %uint 1 %uint_16 = OpConstant %uint 16 %uint_0 = OpConstant %uint 0 %_ptr_Function__arr_float_uint_256 = OpTypePointer Function %_arr_float_uint_256 - %float_1 = OpConstant %float 1 - %float_0 = OpConstant %float 0 +%_ptr_Input_v4float = OpTypePointer Input %v4float +%gl_FragCoord = OpVariable %_ptr_Input_v4float Input + %v2float = OpTypeVector %float 2 +%_struct_1010 = OpTypeStruct %v2int %float +%_ptr_PushConstant__struct_1010 = OpTypePointer PushConstant %_struct_1010 + %3052 = OpVariable %_ptr_PushConstant__struct_1010 PushConstant + %int_0 = OpConstant %int 0 +%_ptr_PushConstant_v2int = OpTypePointer PushConstant %v2int + %int_1 = OpConstant %int 1 +%_ptr_PushConstant_float = OpTypePointer PushConstant %float +%_ptr_Output_v4float = OpTypePointer Output %v4float + %3253 = OpVariable %_ptr_Output_v4float Output +%_ptr_Output_float = OpTypePointer Output %float + %uint_2 = OpConstant %uint 2 + %uint_3 = OpConstant %uint 3 %uint_2129764351 = OpConstant %uint 2129764351 %float_2 = OpConstant %float 2 %151 = OpTypeImage %float 2D 0 0 0 1 Unknown %510 = OpTypeSampledImage %151 %_ptr_UniformConstant_510 = OpTypePointer UniformConstant %510 - %3150 = OpVariable %_ptr_UniformConstant_510 UniformConstant - %int_0 = OpConstant %int 0 - %v3float = OpTypeVector %float 3 + %3575 = OpVariable %_ptr_UniformConstant_510 UniformConstant %int_n1 = OpConstant %int -1 %1803 = OpConstantComposite %v2int %int_0 %int_n1 %1806 = OpConstantComposite %v2int %int_n1 %int_0 - %int_1 = OpConstant %int 1 %1824 = OpConstantComposite %v2int %int_1 %int_0 %1827 = OpConstantComposite %v2int %int_0 %int_1 - %uint_2 = OpConstant %uint 2 - %v2float = OpTypeVector %float 2 %float_n4 = OpConstant %float -4 %float_4 = OpConstant %float 4 %float_n0_1875 = OpConstant %float -0.1875 -%_ptr_Input_v4float = OpTypePointer Input %v4float -%gl_FragCoord = OpVariable %_ptr_Input_v4float Input -%_struct_1010 = OpTypeStruct %v2int %float -%_ptr_PushConstant__struct_1010 = OpTypePointer PushConstant %_struct_1010 - %4930 = OpVariable %_ptr_PushConstant__struct_1010 PushConstant -%_ptr_PushConstant_v2int = OpTypePointer PushConstant %v2int -%_ptr_PushConstant_float = OpTypePointer PushConstant %float -%_ptr_Output_v4float = OpTypePointer Output %v4float - %5120 = OpVariable %_ptr_Output_v4float Output -%_ptr_Output_float = OpTypePointer Output %float - %2604 = OpConstantComposite %v3float %float_0 %float_0 %float_0 - %2582 = OpConstantComposite %v3float %float_1 %float_1 %float_1 - %uint_3 = OpConstant %uint 3 %2122 = OpConstantComposite %v2uint %uint_15 %uint_15 %float_0_25 = OpConstant %float 0.25 %5663 = OpFunction %void None %1282 @@ -332,16 +332,16 @@ %22087 = OpLoad %v4float %gl_FragCoord %6562 = OpVectorShuffle %v2float %22087 %22087 0 1 %17656 = OpConvertFToS %v2int %6562 - %19279 = OpAccessChain %_ptr_PushConstant_v2int %4930 %int_0 + %19279 = OpAccessChain %_ptr_PushConstant_v2int %3052 %int_0 %22822 = OpLoad %v2int %19279 %23312 = OpISub %v2int %17656 %22822 %9938 = OpBitcast %v2uint %23312 - %20997 = OpAccessChain %_ptr_PushConstant_float %4930 %int_1 + %20997 = OpAccessChain %_ptr_PushConstant_float %3052 %int_1 %22237 = OpLoad %float %20997 %16454 = OpBitcast %uint %22237 %6990 = OpBitcast %v2int %9938 %14460 = OpIAdd %v2int %6990 %1803 - %21565 = OpLoad %510 %3150 + %21565 = OpLoad %510 %3575 %22725 = OpImage %151 %21565 %24365 = OpImageFetch %v4float %22725 %14460 Lod %int_0 %22126 = OpCompositeExtract %float %24365 0 @@ -454,20 +454,20 @@ %12675 = OpFMul %float %20919 %6537 %16937 = OpFAdd %float %12675 %18962 %19165 = OpFMul %float %16937 %9366 - %19584 = OpAccessChain %_ptr_Output_float %5120 %uint_0 + %19584 = OpAccessChain %_ptr_Output_float %3253 %uint_0 OpStore %19584 %9367 - %19732 = OpAccessChain %_ptr_Output_float %5120 %uint_1 + %19732 = OpAccessChain %_ptr_Output_float %3253 %uint_1 OpStore %19732 %9368 - %19656 = OpAccessChain %_ptr_Output_float %5120 %uint_2 + %19656 = OpAccessChain %_ptr_Output_float %3253 %uint_2 OpStore %19656 %19165 - %13967 = OpLoad %v4float %5120 + %13967 = OpLoad %v4float %3253 %16188 = OpVectorShuffle %v3float %13967 %13967 0 1 2 %24372 = OpBitwiseAnd %v2uint %9938 %2122 %9741 = OpCompositeExtract %uint %24372 1 %21498 = OpIMul %uint %9741 %uint_16 %23411 = OpCompositeExtract %uint %24372 0 %12610 = OpIAdd %uint %21498 %23411 - OpStore %18411 %2092 + OpStore %18411 %2162 %9958 = OpAccessChain %_ptr_Function_float %18411 %12610 %25140 = OpLoad %float %9958 %18028 = OpCompositeConstruct %v3float %25140 %25140 %25140 @@ -479,7 +479,7 @@ OpStore %19732 %22435 %22131 = OpCompositeExtract %float %19164 2 OpStore %19656 %22131 - %23294 = OpAccessChain %_ptr_Output_float %5120 %uint_3 + %23294 = OpAccessChain %_ptr_Output_float %3253 %uint_3 OpStore %23294 %float_1 OpReturn OpFunctionEnd @@ -489,20 +489,24 @@ const uint32_t guest_output_ffx_fsr_rcas_dither_ps[] = { 0x07230203, 0x00010000, 0x0008000A, 0x00006240, 0x00000000, 0x00020011, 0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E, 0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0007000F, 0x00000004, - 0x0000161F, 0x6E69616D, 0x00000000, 0x00000C93, 0x00001400, 0x00030010, - 0x0000161F, 0x00000007, 0x00040047, 0x00000C4E, 0x00000022, 0x00000000, - 0x00040047, 0x00000C4E, 0x00000021, 0x00000000, 0x00040047, 0x00000C93, - 0x0000000B, 0x0000000F, 0x00050048, 0x000003F2, 0x00000000, 0x00000023, - 0x00000010, 0x00050048, 0x000003F2, 0x00000001, 0x00000023, 0x00000018, - 0x00030047, 0x000003F2, 0x00000002, 0x00040047, 0x00001400, 0x0000001E, + 0x0000161F, 0x6E69616D, 0x00000000, 0x00000C93, 0x00000CB5, 0x00030010, + 0x0000161F, 0x00000007, 0x00040047, 0x00000C93, 0x0000000B, 0x0000000F, + 0x00050048, 0x000003F2, 0x00000000, 0x00000023, 0x00000010, 0x00050048, + 0x000003F2, 0x00000001, 0x00000023, 0x00000018, 0x00030047, 0x000003F2, + 0x00000002, 0x00040047, 0x00000CB5, 0x0000001E, 0x00000000, 0x00040047, + 0x00000DF7, 0x00000022, 0x00000000, 0x00040047, 0x00000DF7, 0x00000021, 0x00000000, 0x00020013, 0x00000008, 0x00030021, 0x00000502, 0x00000008, - 0x00040015, 0x0000000B, 0x00000020, 0x00000000, 0x00040017, 0x00000011, - 0x0000000B, 0x00000002, 0x00030016, 0x0000000D, 0x00000020, 0x00040020, - 0x0000028A, 0x00000007, 0x0000000D, 0x00040015, 0x0000000C, 0x00000020, - 0x00000001, 0x00040017, 0x00000012, 0x0000000C, 0x00000002, 0x00040017, - 0x0000001D, 0x0000000D, 0x00000004, 0x0004002B, 0x0000000B, 0x00000A37, + 0x00030016, 0x0000000D, 0x00000020, 0x00040017, 0x00000018, 0x0000000D, + 0x00000003, 0x00040015, 0x0000000B, 0x00000020, 0x00000000, 0x00040017, + 0x00000011, 0x0000000B, 0x00000002, 0x00040020, 0x0000028A, 0x00000007, + 0x0000000D, 0x00040015, 0x0000000C, 0x00000020, 0x00000001, 0x00040017, + 0x00000012, 0x0000000C, 0x00000002, 0x00040017, 0x0000001D, 0x0000000D, + 0x00000004, 0x0004002B, 0x0000000D, 0x00000A0C, 0x00000000, 0x0006002C, + 0x00000018, 0x00000A2C, 0x00000A0C, 0x00000A0C, 0x00000A0C, 0x0004002B, + 0x0000000D, 0x0000008A, 0x3F800000, 0x0006002C, 0x00000018, 0x00000A16, + 0x0000008A, 0x0000008A, 0x0000008A, 0x0004002B, 0x0000000B, 0x00000A37, 0x0000000F, 0x0004002B, 0x0000000B, 0x00000147, 0x00000100, 0x0004001C, - 0x00000365, 0x0000000D, 0x00000147, 0x0004002B, 0x0000000D, 0x0000010F, + 0x000003AB, 0x0000000D, 0x00000147, 0x0004002B, 0x0000000D, 0x0000010F, 0xBA838384, 0x0004002B, 0x0000000D, 0x00000728, 0x3A66E6E7, 0x0004002B, 0x0000000D, 0x00000705, 0x3ADDDDDE, 0x0004002B, 0x0000000D, 0x00000A5A, 0xBACBCBCC, 0x0004002B, 0x0000000D, 0x000008DF, 0x3AA7A7A8, 0x0004002B, @@ -673,7 +677,7 @@ const uint32_t guest_output_ffx_fsr_rcas_dither_ps[] = { 0x0000000D, 0x00000842, 0x3ADFDFE0, 0x0004002B, 0x0000000D, 0x00000804, 0xBA76F6F7, 0x0004002B, 0x0000000D, 0x00000903, 0x3A56D6D7, 0x0004002B, 0x0000000D, 0x000007A4, 0x3AF1F1F2, 0x0004002B, 0x0000000D, 0x00000482, - 0x39F4F4F5, 0x0103002C, 0x00000365, 0x0000082C, 0x0000010F, 0x00000728, + 0x39F4F4F5, 0x0103002C, 0x000003AB, 0x00000872, 0x0000010F, 0x00000728, 0x00000705, 0x00000A5A, 0x000008DF, 0x00000094, 0x0000034C, 0x0000087E, 0x0000034D, 0x00000687, 0x000003EB, 0x0000024E, 0x00000726, 0x00000698, 0x00000703, 0x00000AF8, 0x00000ABB, 0x0000026F, 0x000008A8, 0x00000565, @@ -718,45 +722,41 @@ const uint32_t guest_output_ffx_fsr_rcas_dither_ps[] = { 0x000001B0, 0x00000AEF, 0x000007DF, 0x00000842, 0x00000804, 0x00000903, 0x000007A4, 0x00000482, 0x0004002B, 0x0000000B, 0x00000A0D, 0x00000001, 0x0004002B, 0x0000000B, 0x00000A3A, 0x00000010, 0x0004002B, 0x0000000B, - 0x00000A0A, 0x00000000, 0x00040020, 0x000005E2, 0x00000007, 0x00000365, - 0x0004002B, 0x0000000D, 0x0000008A, 0x3F800000, 0x0004002B, 0x0000000D, - 0x00000A0C, 0x00000000, 0x0004002B, 0x0000000B, 0x000000B2, 0x7EF19FFF, - 0x0004002B, 0x0000000D, 0x00000018, 0x40000000, 0x00090019, 0x00000097, - 0x0000000D, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000001, - 0x00000000, 0x0003001B, 0x000001FE, 0x00000097, 0x00040020, 0x0000047B, - 0x00000000, 0x000001FE, 0x0004003B, 0x0000047B, 0x00000C4E, 0x00000000, - 0x0004002B, 0x0000000C, 0x00000A0B, 0x00000000, 0x00040017, 0x00000019, - 0x0000000D, 0x00000003, 0x0004002B, 0x0000000C, 0x00000A08, 0xFFFFFFFF, - 0x0005002C, 0x00000012, 0x0000070B, 0x00000A0B, 0x00000A08, 0x0005002C, - 0x00000012, 0x0000070E, 0x00000A08, 0x00000A0B, 0x0004002B, 0x0000000C, - 0x00000A0E, 0x00000001, 0x0005002C, 0x00000012, 0x00000720, 0x00000A0E, - 0x00000A0B, 0x0005002C, 0x00000012, 0x00000723, 0x00000A0B, 0x00000A0E, - 0x0004002B, 0x0000000B, 0x00000A10, 0x00000002, 0x00040017, 0x00000013, - 0x0000000D, 0x00000002, 0x0004002B, 0x0000000D, 0x0000025D, 0xC0800000, - 0x0004002B, 0x0000000D, 0x00000B69, 0x40800000, 0x0004002B, 0x0000000D, - 0x0000045E, 0xBE400000, 0x00040020, 0x0000029A, 0x00000001, 0x0000001D, - 0x0004003B, 0x0000029A, 0x00000C93, 0x00000001, 0x0004001E, 0x000003F2, - 0x00000012, 0x0000000D, 0x00040020, 0x0000066F, 0x00000009, 0x000003F2, - 0x0004003B, 0x0000066F, 0x00001342, 0x00000009, 0x00040020, 0x0000028F, - 0x00000009, 0x00000012, 0x00040020, 0x0000028B, 0x00000009, 0x0000000D, - 0x00040020, 0x0000029B, 0x00000003, 0x0000001D, 0x0004003B, 0x0000029B, - 0x00001400, 0x00000003, 0x00040020, 0x0000028C, 0x00000003, 0x0000000D, - 0x0006002C, 0x00000019, 0x00000A2C, 0x00000A0C, 0x00000A0C, 0x00000A0C, - 0x0006002C, 0x00000019, 0x00000A16, 0x0000008A, 0x0000008A, 0x0000008A, - 0x0004002B, 0x0000000B, 0x00000A14, 0x00000003, 0x0005002C, 0x00000011, + 0x00000A0A, 0x00000000, 0x00040020, 0x00000628, 0x00000007, 0x000003AB, + 0x00040020, 0x0000029A, 0x00000001, 0x0000001D, 0x0004003B, 0x0000029A, + 0x00000C93, 0x00000001, 0x00040017, 0x00000013, 0x0000000D, 0x00000002, + 0x0004001E, 0x000003F2, 0x00000012, 0x0000000D, 0x00040020, 0x0000066F, + 0x00000009, 0x000003F2, 0x0004003B, 0x0000066F, 0x00000BEC, 0x00000009, + 0x0004002B, 0x0000000C, 0x00000A0B, 0x00000000, 0x00040020, 0x0000028F, + 0x00000009, 0x00000012, 0x0004002B, 0x0000000C, 0x00000A0E, 0x00000001, + 0x00040020, 0x0000028B, 0x00000009, 0x0000000D, 0x00040020, 0x0000029B, + 0x00000003, 0x0000001D, 0x0004003B, 0x0000029B, 0x00000CB5, 0x00000003, + 0x00040020, 0x0000028C, 0x00000003, 0x0000000D, 0x0004002B, 0x0000000B, + 0x00000A10, 0x00000002, 0x0004002B, 0x0000000B, 0x00000A14, 0x00000003, + 0x0004002B, 0x0000000B, 0x000000B2, 0x7EF19FFF, 0x0004002B, 0x0000000D, + 0x00000019, 0x40000000, 0x00090019, 0x00000097, 0x0000000D, 0x00000001, + 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x0003001B, + 0x000001FE, 0x00000097, 0x00040020, 0x0000047B, 0x00000000, 0x000001FE, + 0x0004003B, 0x0000047B, 0x00000DF7, 0x00000000, 0x0004002B, 0x0000000C, + 0x00000A08, 0xFFFFFFFF, 0x0005002C, 0x00000012, 0x0000070B, 0x00000A0B, + 0x00000A08, 0x0005002C, 0x00000012, 0x0000070E, 0x00000A08, 0x00000A0B, + 0x0005002C, 0x00000012, 0x00000720, 0x00000A0E, 0x00000A0B, 0x0005002C, + 0x00000012, 0x00000723, 0x00000A0B, 0x00000A0E, 0x0004002B, 0x0000000D, + 0x0000025D, 0xC0800000, 0x0004002B, 0x0000000D, 0x00000B69, 0x40800000, + 0x0004002B, 0x0000000D, 0x0000045E, 0xBE400000, 0x0005002C, 0x00000011, 0x0000084A, 0x00000A37, 0x00000A37, 0x0004002B, 0x0000000D, 0x0000016E, 0x3E800000, 0x00050036, 0x00000008, 0x0000161F, 0x00000000, 0x00000502, - 0x000200F8, 0x00006179, 0x0004003B, 0x000005E2, 0x000047EB, 0x00000007, + 0x000200F8, 0x00006179, 0x0004003B, 0x00000628, 0x000047EB, 0x00000007, 0x0004003D, 0x0000001D, 0x00005647, 0x00000C93, 0x0007004F, 0x00000013, 0x000019A2, 0x00005647, 0x00005647, 0x00000000, 0x00000001, 0x0004006E, 0x00000012, 0x000044F8, 0x000019A2, 0x00050041, 0x0000028F, 0x00004B4F, - 0x00001342, 0x00000A0B, 0x0004003D, 0x00000012, 0x00005926, 0x00004B4F, + 0x00000BEC, 0x00000A0B, 0x0004003D, 0x00000012, 0x00005926, 0x00004B4F, 0x00050082, 0x00000012, 0x00005B10, 0x000044F8, 0x00005926, 0x0004007C, 0x00000011, 0x000026D2, 0x00005B10, 0x00050041, 0x0000028B, 0x00005205, - 0x00001342, 0x00000A0E, 0x0004003D, 0x0000000D, 0x000056DD, 0x00005205, + 0x00000BEC, 0x00000A0E, 0x0004003D, 0x0000000D, 0x000056DD, 0x00005205, 0x0004007C, 0x0000000B, 0x00004046, 0x000056DD, 0x0004007C, 0x00000012, 0x00001B4E, 0x000026D2, 0x00050080, 0x00000012, 0x0000387C, 0x00001B4E, - 0x0000070B, 0x0004003D, 0x000001FE, 0x0000543D, 0x00000C4E, 0x00040064, + 0x0000070B, 0x0004003D, 0x000001FE, 0x0000543D, 0x00000DF7, 0x00040064, 0x00000097, 0x000058C5, 0x0000543D, 0x0007005F, 0x0000001D, 0x00005F2D, 0x000058C5, 0x0000387C, 0x00000002, 0x00000A0B, 0x00050051, 0x0000000D, 0x0000566E, 0x00005F2D, 0x00000000, 0x00050051, 0x0000000D, 0x00001B12, @@ -844,7 +844,7 @@ const uint32_t guest_output_ffx_fsr_rcas_dither_ps[] = { 0x000000B2, 0x00001997, 0x0004007C, 0x0000000D, 0x000024CB, 0x00001D8B, 0x0004007F, 0x0000000D, 0x000023AA, 0x000024CB, 0x00050085, 0x0000000D, 0x0000304F, 0x000023AA, 0x00004072, 0x00050081, 0x0000000D, 0x0000409C, - 0x0000304F, 0x00000018, 0x00050085, 0x0000000D, 0x00002496, 0x000024CB, + 0x0000304F, 0x00000019, 0x00050085, 0x0000000D, 0x00002496, 0x000024CB, 0x0000409C, 0x00050081, 0x0000000D, 0x0000499D, 0x0000566E, 0x0000566F, 0x00050081, 0x0000000D, 0x00005A67, 0x0000499D, 0x00005672, 0x00050081, 0x0000000D, 0x00001987, 0x00005A67, 0x00005671, 0x00050085, 0x0000000D, @@ -860,26 +860,26 @@ const uint32_t guest_output_ffx_fsr_rcas_dither_ps[] = { 0x0000000D, 0x00001989, 0x00005A69, 0x00004A13, 0x00050085, 0x0000000D, 0x00003183, 0x000051B7, 0x00001989, 0x00050081, 0x0000000D, 0x00004229, 0x00003183, 0x00004A12, 0x00050085, 0x0000000D, 0x00004ADD, 0x00004229, - 0x00002496, 0x00050041, 0x0000028C, 0x00004C80, 0x00001400, 0x00000A0A, + 0x00002496, 0x00050041, 0x0000028C, 0x00004C80, 0x00000CB5, 0x00000A0A, 0x0003003E, 0x00004C80, 0x00002497, 0x00050041, 0x0000028C, 0x00004D14, - 0x00001400, 0x00000A0D, 0x0003003E, 0x00004D14, 0x00002498, 0x00050041, - 0x0000028C, 0x00004CC8, 0x00001400, 0x00000A10, 0x0003003E, 0x00004CC8, - 0x00004ADD, 0x0004003D, 0x0000001D, 0x0000368F, 0x00001400, 0x0008004F, - 0x00000019, 0x00003F3C, 0x0000368F, 0x0000368F, 0x00000000, 0x00000001, + 0x00000CB5, 0x00000A0D, 0x0003003E, 0x00004D14, 0x00002498, 0x00050041, + 0x0000028C, 0x00004CC8, 0x00000CB5, 0x00000A10, 0x0003003E, 0x00004CC8, + 0x00004ADD, 0x0004003D, 0x0000001D, 0x0000368F, 0x00000CB5, 0x0008004F, + 0x00000018, 0x00003F3C, 0x0000368F, 0x0000368F, 0x00000000, 0x00000001, 0x00000002, 0x000500C7, 0x00000011, 0x00005F34, 0x000026D2, 0x0000084A, 0x00050051, 0x0000000B, 0x0000260D, 0x00005F34, 0x00000001, 0x00050084, 0x0000000B, 0x000053FA, 0x0000260D, 0x00000A3A, 0x00050051, 0x0000000B, 0x00005B73, 0x00005F34, 0x00000000, 0x00050080, 0x0000000B, 0x00003142, - 0x000053FA, 0x00005B73, 0x0003003E, 0x000047EB, 0x0000082C, 0x00050041, + 0x000053FA, 0x00005B73, 0x0003003E, 0x000047EB, 0x00000872, 0x00050041, 0x0000028A, 0x000026E6, 0x000047EB, 0x00003142, 0x0004003D, 0x0000000D, - 0x00006234, 0x000026E6, 0x00060050, 0x00000019, 0x0000466C, 0x00006234, - 0x00006234, 0x00006234, 0x00050081, 0x00000019, 0x000053D2, 0x00003F3C, - 0x0000466C, 0x0008000C, 0x00000019, 0x00004ADC, 0x00000001, 0x0000002B, + 0x00006234, 0x000026E6, 0x00060050, 0x00000018, 0x0000466C, 0x00006234, + 0x00006234, 0x00006234, 0x00050081, 0x00000018, 0x000053D2, 0x00003F3C, + 0x0000466C, 0x0008000C, 0x00000018, 0x00004ADC, 0x00000001, 0x0000002B, 0x000053D2, 0x00000A2C, 0x00000A16, 0x00050051, 0x0000000D, 0x00004E60, 0x00004ADC, 0x00000000, 0x0003003E, 0x00004C80, 0x00004E60, 0x00050051, 0x0000000D, 0x000057A3, 0x00004ADC, 0x00000001, 0x0003003E, 0x00004D14, 0x000057A3, 0x00050051, 0x0000000D, 0x00005673, 0x00004ADC, 0x00000002, 0x0003003E, 0x00004CC8, 0x00005673, 0x00050041, 0x0000028C, 0x00005AFE, - 0x00001400, 0x00000A14, 0x0003003E, 0x00005AFE, 0x0000008A, 0x000100FD, + 0x00000CB5, 0x00000A14, 0x0003003E, 0x00005AFE, 0x0000008A, 0x000100FD, 0x00010038, }; diff --git a/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_ffx_fsr_rcas_ps.h b/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_ffx_fsr_rcas_ps.h index 5cd675f7d..8457c160e 100644 --- a/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_ffx_fsr_rcas_ps.h +++ b/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_ffx_fsr_rcas_ps.h @@ -8,15 +8,15 @@ OpCapability Shader %1 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 - OpEntryPoint Fragment %5663 "main" %gl_FragCoord %5120 + OpEntryPoint Fragment %5663 "main" %gl_FragCoord %3253 OpExecutionMode %5663 OriginUpperLeft - OpDecorate %3150 DescriptorSet 0 - OpDecorate %3150 Binding 0 OpDecorate %gl_FragCoord BuiltIn FragCoord OpMemberDecorate %_struct_1010 0 Offset 16 OpMemberDecorate %_struct_1010 1 Offset 24 OpDecorate %_struct_1010 Block - OpDecorate %5120 Location 0 + OpDecorate %3253 Location 0 + OpDecorate %3575 DescriptorSet 0 + OpDecorate %3575 Binding 0 %void = OpTypeVoid %1282 = OpTypeFunction %void %float = OpTypeFloat 32 @@ -25,55 +25,55 @@ %v2int = OpTypeVector %int 2 %v4float = OpTypeVector %float 4 %v2uint = OpTypeVector %uint 2 +%_ptr_Input_v4float = OpTypePointer Input %v4float +%gl_FragCoord = OpVariable %_ptr_Input_v4float Input + %v2float = OpTypeVector %float 2 +%_struct_1010 = OpTypeStruct %v2int %float +%_ptr_PushConstant__struct_1010 = OpTypePointer PushConstant %_struct_1010 + %3052 = OpVariable %_ptr_PushConstant__struct_1010 PushConstant + %int_0 = OpConstant %int 0 +%_ptr_PushConstant_v2int = OpTypePointer PushConstant %v2int + %int_1 = OpConstant %int 1 +%_ptr_PushConstant_float = OpTypePointer PushConstant %float + %uint_0 = OpConstant %uint 0 +%_ptr_Output_v4float = OpTypePointer Output %v4float + %3253 = OpVariable %_ptr_Output_v4float Output +%_ptr_Output_float = OpTypePointer Output %float + %uint_1 = OpConstant %uint 1 + %uint_2 = OpConstant %uint 2 %float_1 = OpConstant %float 1 + %uint_3 = OpConstant %uint 3 %float_0 = OpConstant %float 0 %uint_2129764351 = OpConstant %uint 2129764351 %float_2 = OpConstant %float 2 %150 = OpTypeImage %float 2D 0 0 0 1 Unknown %510 = OpTypeSampledImage %150 %_ptr_UniformConstant_510 = OpTypePointer UniformConstant %510 - %3150 = OpVariable %_ptr_UniformConstant_510 UniformConstant - %int_0 = OpConstant %int 0 + %3575 = OpVariable %_ptr_UniformConstant_510 UniformConstant %int_n1 = OpConstant %int -1 %1803 = OpConstantComposite %v2int %int_0 %int_n1 %1806 = OpConstantComposite %v2int %int_n1 %int_0 - %int_1 = OpConstant %int 1 %1824 = OpConstantComposite %v2int %int_1 %int_0 %1827 = OpConstantComposite %v2int %int_0 %int_1 - %uint_0 = OpConstant %uint 0 - %uint_1 = OpConstant %uint 1 - %uint_2 = OpConstant %uint 2 - %v2float = OpTypeVector %float 2 %float_n4 = OpConstant %float -4 %float_4 = OpConstant %float 4 %float_n0_1875 = OpConstant %float -0.1875 -%_ptr_Input_v4float = OpTypePointer Input %v4float -%gl_FragCoord = OpVariable %_ptr_Input_v4float Input -%_struct_1010 = OpTypeStruct %v2int %float -%_ptr_PushConstant__struct_1010 = OpTypePointer PushConstant %_struct_1010 - %4930 = OpVariable %_ptr_PushConstant__struct_1010 PushConstant -%_ptr_PushConstant_v2int = OpTypePointer PushConstant %v2int -%_ptr_PushConstant_float = OpTypePointer PushConstant %float -%_ptr_Output_v4float = OpTypePointer Output %v4float - %5120 = OpVariable %_ptr_Output_v4float Output -%_ptr_Output_float = OpTypePointer Output %float - %uint_3 = OpConstant %uint 3 %float_0_25 = OpConstant %float 0.25 %5663 = OpFunction %void None %1282 %24949 = OpLabel %18571 = OpLoad %v4float %gl_FragCoord %14008 = OpVectorShuffle %v2float %18571 %18571 0 1 %17656 = OpConvertFToS %v2int %14008 - %19279 = OpAccessChain %_ptr_PushConstant_v2int %4930 %int_0 + %19279 = OpAccessChain %_ptr_PushConstant_v2int %3052 %int_0 %22822 = OpLoad %v2int %19279 %23312 = OpISub %v2int %17656 %22822 %9938 = OpBitcast %v2uint %23312 - %20997 = OpAccessChain %_ptr_PushConstant_float %4930 %int_1 + %20997 = OpAccessChain %_ptr_PushConstant_float %3052 %int_1 %22237 = OpLoad %float %20997 %16454 = OpBitcast %uint %22237 %6990 = OpBitcast %v2int %9938 %14460 = OpIAdd %v2int %6990 %1803 - %21565 = OpLoad %510 %3150 + %21565 = OpLoad %510 %3575 %22725 = OpImage %150 %21565 %24365 = OpImageFetch %v4float %22725 %14460 Lod %int_0 %22126 = OpCompositeExtract %float %24365 0 @@ -186,13 +186,13 @@ %12675 = OpFMul %float %20919 %6537 %16937 = OpFAdd %float %12675 %18962 %19165 = OpFMul %float %16937 %9366 - %19584 = OpAccessChain %_ptr_Output_float %5120 %uint_0 + %19584 = OpAccessChain %_ptr_Output_float %3253 %uint_0 OpStore %19584 %9367 - %19732 = OpAccessChain %_ptr_Output_float %5120 %uint_1 + %19732 = OpAccessChain %_ptr_Output_float %3253 %uint_1 OpStore %19732 %9368 - %19733 = OpAccessChain %_ptr_Output_float %5120 %uint_2 + %19733 = OpAccessChain %_ptr_Output_float %3253 %uint_2 OpStore %19733 %19165 - %23304 = OpAccessChain %_ptr_Output_float %5120 %uint_3 + %23304 = OpAccessChain %_ptr_Output_float %3253 %uint_3 OpStore %23304 %float_1 OpReturn OpFunctionEnd @@ -202,52 +202,52 @@ const uint32_t guest_output_ffx_fsr_rcas_ps[] = { 0x07230203, 0x00010000, 0x0008000A, 0x00006240, 0x00000000, 0x00020011, 0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E, 0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0007000F, 0x00000004, - 0x0000161F, 0x6E69616D, 0x00000000, 0x00000C93, 0x00001400, 0x00030010, - 0x0000161F, 0x00000007, 0x00040047, 0x00000C4E, 0x00000022, 0x00000000, - 0x00040047, 0x00000C4E, 0x00000021, 0x00000000, 0x00040047, 0x00000C93, - 0x0000000B, 0x0000000F, 0x00050048, 0x000003F2, 0x00000000, 0x00000023, - 0x00000010, 0x00050048, 0x000003F2, 0x00000001, 0x00000023, 0x00000018, - 0x00030047, 0x000003F2, 0x00000002, 0x00040047, 0x00001400, 0x0000001E, + 0x0000161F, 0x6E69616D, 0x00000000, 0x00000C93, 0x00000CB5, 0x00030010, + 0x0000161F, 0x00000007, 0x00040047, 0x00000C93, 0x0000000B, 0x0000000F, + 0x00050048, 0x000003F2, 0x00000000, 0x00000023, 0x00000010, 0x00050048, + 0x000003F2, 0x00000001, 0x00000023, 0x00000018, 0x00030047, 0x000003F2, + 0x00000002, 0x00040047, 0x00000CB5, 0x0000001E, 0x00000000, 0x00040047, + 0x00000DF7, 0x00000022, 0x00000000, 0x00040047, 0x00000DF7, 0x00000021, 0x00000000, 0x00020013, 0x00000008, 0x00030021, 0x00000502, 0x00000008, 0x00030016, 0x0000000D, 0x00000020, 0x00040015, 0x0000000B, 0x00000020, 0x00000000, 0x00040015, 0x0000000C, 0x00000020, 0x00000001, 0x00040017, 0x00000012, 0x0000000C, 0x00000002, 0x00040017, 0x0000001D, 0x0000000D, - 0x00000004, 0x00040017, 0x00000011, 0x0000000B, 0x00000002, 0x0004002B, - 0x0000000D, 0x0000008A, 0x3F800000, 0x0004002B, 0x0000000D, 0x00000A0C, - 0x00000000, 0x0004002B, 0x0000000B, 0x000000B2, 0x7EF19FFF, 0x0004002B, - 0x0000000D, 0x00000018, 0x40000000, 0x00090019, 0x00000096, 0x0000000D, - 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, - 0x0003001B, 0x000001FE, 0x00000096, 0x00040020, 0x0000047B, 0x00000000, - 0x000001FE, 0x0004003B, 0x0000047B, 0x00000C4E, 0x00000000, 0x0004002B, - 0x0000000C, 0x00000A0B, 0x00000000, 0x0004002B, 0x0000000C, 0x00000A08, - 0xFFFFFFFF, 0x0005002C, 0x00000012, 0x0000070B, 0x00000A0B, 0x00000A08, - 0x0005002C, 0x00000012, 0x0000070E, 0x00000A08, 0x00000A0B, 0x0004002B, - 0x0000000C, 0x00000A0E, 0x00000001, 0x0005002C, 0x00000012, 0x00000720, - 0x00000A0E, 0x00000A0B, 0x0005002C, 0x00000012, 0x00000723, 0x00000A0B, - 0x00000A0E, 0x0004002B, 0x0000000B, 0x00000A0A, 0x00000000, 0x0004002B, - 0x0000000B, 0x00000A0D, 0x00000001, 0x0004002B, 0x0000000B, 0x00000A10, - 0x00000002, 0x00040017, 0x00000013, 0x0000000D, 0x00000002, 0x0004002B, - 0x0000000D, 0x0000025D, 0xC0800000, 0x0004002B, 0x0000000D, 0x00000B69, - 0x40800000, 0x0004002B, 0x0000000D, 0x0000045E, 0xBE400000, 0x00040020, + 0x00000004, 0x00040017, 0x00000011, 0x0000000B, 0x00000002, 0x00040020, 0x0000029A, 0x00000001, 0x0000001D, 0x0004003B, 0x0000029A, 0x00000C93, - 0x00000001, 0x0004001E, 0x000003F2, 0x00000012, 0x0000000D, 0x00040020, - 0x0000066F, 0x00000009, 0x000003F2, 0x0004003B, 0x0000066F, 0x00001342, - 0x00000009, 0x00040020, 0x0000028F, 0x00000009, 0x00000012, 0x00040020, - 0x0000028A, 0x00000009, 0x0000000D, 0x00040020, 0x0000029B, 0x00000003, - 0x0000001D, 0x0004003B, 0x0000029B, 0x00001400, 0x00000003, 0x00040020, - 0x0000028B, 0x00000003, 0x0000000D, 0x0004002B, 0x0000000B, 0x00000A13, - 0x00000003, 0x0004002B, 0x0000000D, 0x0000016E, 0x3E800000, 0x00050036, + 0x00000001, 0x00040017, 0x00000013, 0x0000000D, 0x00000002, 0x0004001E, + 0x000003F2, 0x00000012, 0x0000000D, 0x00040020, 0x0000066F, 0x00000009, + 0x000003F2, 0x0004003B, 0x0000066F, 0x00000BEC, 0x00000009, 0x0004002B, + 0x0000000C, 0x00000A0B, 0x00000000, 0x00040020, 0x0000028F, 0x00000009, + 0x00000012, 0x0004002B, 0x0000000C, 0x00000A0E, 0x00000001, 0x00040020, + 0x0000028A, 0x00000009, 0x0000000D, 0x0004002B, 0x0000000B, 0x00000A0A, + 0x00000000, 0x00040020, 0x0000029B, 0x00000003, 0x0000001D, 0x0004003B, + 0x0000029B, 0x00000CB5, 0x00000003, 0x00040020, 0x0000028B, 0x00000003, + 0x0000000D, 0x0004002B, 0x0000000B, 0x00000A0D, 0x00000001, 0x0004002B, + 0x0000000B, 0x00000A10, 0x00000002, 0x0004002B, 0x0000000D, 0x0000008A, + 0x3F800000, 0x0004002B, 0x0000000B, 0x00000A13, 0x00000003, 0x0004002B, + 0x0000000D, 0x00000A0C, 0x00000000, 0x0004002B, 0x0000000B, 0x000000B2, + 0x7EF19FFF, 0x0004002B, 0x0000000D, 0x00000018, 0x40000000, 0x00090019, + 0x00000096, 0x0000000D, 0x00000001, 0x00000000, 0x00000000, 0x00000000, + 0x00000001, 0x00000000, 0x0003001B, 0x000001FE, 0x00000096, 0x00040020, + 0x0000047B, 0x00000000, 0x000001FE, 0x0004003B, 0x0000047B, 0x00000DF7, + 0x00000000, 0x0004002B, 0x0000000C, 0x00000A08, 0xFFFFFFFF, 0x0005002C, + 0x00000012, 0x0000070B, 0x00000A0B, 0x00000A08, 0x0005002C, 0x00000012, + 0x0000070E, 0x00000A08, 0x00000A0B, 0x0005002C, 0x00000012, 0x00000720, + 0x00000A0E, 0x00000A0B, 0x0005002C, 0x00000012, 0x00000723, 0x00000A0B, + 0x00000A0E, 0x0004002B, 0x0000000D, 0x0000025D, 0xC0800000, 0x0004002B, + 0x0000000D, 0x00000B69, 0x40800000, 0x0004002B, 0x0000000D, 0x0000045E, + 0xBE400000, 0x0004002B, 0x0000000D, 0x0000016E, 0x3E800000, 0x00050036, 0x00000008, 0x0000161F, 0x00000000, 0x00000502, 0x000200F8, 0x00006175, 0x0004003D, 0x0000001D, 0x0000488B, 0x00000C93, 0x0007004F, 0x00000013, 0x000036B8, 0x0000488B, 0x0000488B, 0x00000000, 0x00000001, 0x0004006E, 0x00000012, 0x000044F8, 0x000036B8, 0x00050041, 0x0000028F, 0x00004B4F, - 0x00001342, 0x00000A0B, 0x0004003D, 0x00000012, 0x00005926, 0x00004B4F, + 0x00000BEC, 0x00000A0B, 0x0004003D, 0x00000012, 0x00005926, 0x00004B4F, 0x00050082, 0x00000012, 0x00005B10, 0x000044F8, 0x00005926, 0x0004007C, 0x00000011, 0x000026D2, 0x00005B10, 0x00050041, 0x0000028A, 0x00005205, - 0x00001342, 0x00000A0E, 0x0004003D, 0x0000000D, 0x000056DD, 0x00005205, + 0x00000BEC, 0x00000A0E, 0x0004003D, 0x0000000D, 0x000056DD, 0x00005205, 0x0004007C, 0x0000000B, 0x00004046, 0x000056DD, 0x0004007C, 0x00000012, 0x00001B4E, 0x000026D2, 0x00050080, 0x00000012, 0x0000387C, 0x00001B4E, - 0x0000070B, 0x0004003D, 0x000001FE, 0x0000543D, 0x00000C4E, 0x00040064, + 0x0000070B, 0x0004003D, 0x000001FE, 0x0000543D, 0x00000DF7, 0x00040064, 0x00000096, 0x000058C5, 0x0000543D, 0x0007005F, 0x0000001D, 0x00005F2D, 0x000058C5, 0x0000387C, 0x00000002, 0x00000A0B, 0x00050051, 0x0000000D, 0x0000566E, 0x00005F2D, 0x00000000, 0x00050051, 0x0000000D, 0x00001B12, @@ -351,10 +351,10 @@ const uint32_t guest_output_ffx_fsr_rcas_ps[] = { 0x0000000D, 0x00001989, 0x00005A69, 0x00004A13, 0x00050085, 0x0000000D, 0x00003183, 0x000051B7, 0x00001989, 0x00050081, 0x0000000D, 0x00004229, 0x00003183, 0x00004A12, 0x00050085, 0x0000000D, 0x00004ADD, 0x00004229, - 0x00002496, 0x00050041, 0x0000028B, 0x00004C80, 0x00001400, 0x00000A0A, + 0x00002496, 0x00050041, 0x0000028B, 0x00004C80, 0x00000CB5, 0x00000A0A, 0x0003003E, 0x00004C80, 0x00002497, 0x00050041, 0x0000028B, 0x00004D14, - 0x00001400, 0x00000A0D, 0x0003003E, 0x00004D14, 0x00002498, 0x00050041, - 0x0000028B, 0x00004D15, 0x00001400, 0x00000A10, 0x0003003E, 0x00004D15, - 0x00004ADD, 0x00050041, 0x0000028B, 0x00005B08, 0x00001400, 0x00000A13, + 0x00000CB5, 0x00000A0D, 0x0003003E, 0x00004D14, 0x00002498, 0x00050041, + 0x0000028B, 0x00004D15, 0x00000CB5, 0x00000A10, 0x0003003E, 0x00004D15, + 0x00004ADD, 0x00050041, 0x0000028B, 0x00005B08, 0x00000CB5, 0x00000A13, 0x0003003E, 0x00005B08, 0x0000008A, 0x000100FD, 0x00010038, }; diff --git a/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_triangle_strip_rect_vs.h b/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_triangle_strip_rect_vs.h index db2d4b1bf..922e30e3c 100644 --- a/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_triangle_strip_rect_vs.h +++ b/src/xenia/ui/shaders/bytecode/vulkan_spirv/guest_output_triangle_strip_rect_vs.h @@ -8,10 +8,12 @@ OpCapability Shader %1 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 - OpEntryPoint Vertex %5663 "main" %22044 %gl_VertexIndex - OpMemberDecorate %_struct_1032 0 BuiltIn Position - OpMemberDecorate %_struct_1032 1 BuiltIn PointSize - OpDecorate %_struct_1032 Block + OpEntryPoint Vertex %5663 "main" %4930 %gl_VertexIndex + OpMemberDecorate %_struct_2935 0 BuiltIn Position + OpMemberDecorate %_struct_2935 1 BuiltIn PointSize + OpMemberDecorate %_struct_2935 2 BuiltIn ClipDistance + OpMemberDecorate %_struct_2935 3 BuiltIn CullDistance + OpDecorate %_struct_2935 Block OpMemberDecorate %_struct_1030 0 Offset 0 OpMemberDecorate %_struct_1030 1 Offset 8 OpDecorate %_struct_1030 Block @@ -20,22 +22,23 @@ %1282 = OpTypeFunction %void %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 -%_struct_1032 = OpTypeStruct %v4float %float -%_ptr_Output__struct_1032 = OpTypePointer Output %_struct_1032 - %22044 = OpVariable %_ptr_Output__struct_1032 Output + %uint = OpTypeInt 32 0 + %uint_1 = OpConstant %uint 1 +%_arr_float_uint_1 = OpTypeArray %float %uint_1 +%_struct_2935 = OpTypeStruct %v4float %float %_arr_float_uint_1 %_arr_float_uint_1 +%_ptr_Output__struct_2935 = OpTypePointer Output %_struct_2935 + %4930 = OpVariable %_ptr_Output__struct_2935 Output %int = OpTypeInt 32 1 %int_0 = OpConstant %int 0 %v2float = OpTypeVector %float 2 %_struct_1030 = OpTypeStruct %v2float %v2float %_ptr_PushConstant__struct_1030 = OpTypePointer PushConstant %_struct_1030 - %4930 = OpVariable %_ptr_PushConstant__struct_1030 PushConstant + %3052 = OpVariable %_ptr_PushConstant__struct_1030 PushConstant %_ptr_PushConstant_v2float = OpTypePointer PushConstant %v2float %_ptr_Input_int = OpTypePointer Input %int %gl_VertexIndex = OpVariable %_ptr_Input_int Input - %uint = OpTypeInt 32 0 %v2uint = OpTypeVector %uint 2 %uint_0 = OpConstant %uint 0 - %uint_1 = OpConstant %uint 1 %1819 = OpConstantComposite %v2uint %uint_0 %uint_1 %int_1 = OpConstant %int 1 %float_0 = OpConstant %float 0 @@ -44,7 +47,7 @@ %1828 = OpConstantComposite %v2uint %uint_1 %uint_1 %5663 = OpFunction %void None %1282 %23915 = OpLabel - %7053 = OpAccessChain %_ptr_PushConstant_v2float %4930 %int_0 + %7053 = OpAccessChain %_ptr_PushConstant_v2float %3052 %int_0 %17516 = OpLoad %v2float %7053 %23241 = OpLoad %int %gl_VertexIndex %9480 = OpBitcast %uint %23241 @@ -52,14 +55,14 @@ %14991 = OpShiftRightLogical %v2uint %15408 %1819 %17567 = OpBitwiseAnd %v2uint %14991 %1828 %7856 = OpConvertUToF %v2float %17567 - %12606 = OpAccessChain %_ptr_PushConstant_v2float %4930 %int_1 + %12606 = OpAccessChain %_ptr_PushConstant_v2float %3052 %int_1 %24011 = OpLoad %v2float %12606 %17243 = OpFMul %v2float %7856 %24011 %16594 = OpFAdd %v2float %17516 %17243 %10599 = OpCompositeExtract %float %16594 0 %13956 = OpCompositeExtract %float %16594 1 %18260 = OpCompositeConstruct %v4float %10599 %13956 %float_0 %float_1 - %12055 = OpAccessChain %_ptr_Output_v4float %22044 %int_0 + %12055 = OpAccessChain %_ptr_Output_v4float %4930 %int_0 OpStore %12055 %18260 OpReturn OpFunctionEnd @@ -69,42 +72,45 @@ const uint32_t guest_output_triangle_strip_rect_vs[] = { 0x07230203, 0x00010000, 0x0008000A, 0x00005DCC, 0x00000000, 0x00020011, 0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E, 0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0007000F, 0x00000000, - 0x0000161F, 0x6E69616D, 0x00000000, 0x0000561C, 0x00001029, 0x00050048, - 0x00000408, 0x00000000, 0x0000000B, 0x00000000, 0x00050048, 0x00000408, - 0x00000001, 0x0000000B, 0x00000001, 0x00030047, 0x00000408, 0x00000002, - 0x00050048, 0x00000406, 0x00000000, 0x00000023, 0x00000000, 0x00050048, - 0x00000406, 0x00000001, 0x00000023, 0x00000008, 0x00030047, 0x00000406, - 0x00000002, 0x00040047, 0x00001029, 0x0000000B, 0x0000002A, 0x00020013, - 0x00000008, 0x00030021, 0x00000502, 0x00000008, 0x00030016, 0x0000000D, - 0x00000020, 0x00040017, 0x0000001D, 0x0000000D, 0x00000004, 0x0004001E, - 0x00000408, 0x0000001D, 0x0000000D, 0x00040020, 0x00000685, 0x00000003, - 0x00000408, 0x0004003B, 0x00000685, 0x0000561C, 0x00000003, 0x00040015, + 0x0000161F, 0x6E69616D, 0x00000000, 0x00001342, 0x00001029, 0x00050048, + 0x00000B77, 0x00000000, 0x0000000B, 0x00000000, 0x00050048, 0x00000B77, + 0x00000001, 0x0000000B, 0x00000001, 0x00050048, 0x00000B77, 0x00000002, + 0x0000000B, 0x00000003, 0x00050048, 0x00000B77, 0x00000003, 0x0000000B, + 0x00000004, 0x00030047, 0x00000B77, 0x00000002, 0x00050048, 0x00000406, + 0x00000000, 0x00000023, 0x00000000, 0x00050048, 0x00000406, 0x00000001, + 0x00000023, 0x00000008, 0x00030047, 0x00000406, 0x00000002, 0x00040047, + 0x00001029, 0x0000000B, 0x0000002A, 0x00020013, 0x00000008, 0x00030021, + 0x00000502, 0x00000008, 0x00030016, 0x0000000D, 0x00000020, 0x00040017, + 0x0000001D, 0x0000000D, 0x00000004, 0x00040015, 0x0000000B, 0x00000020, + 0x00000000, 0x0004002B, 0x0000000B, 0x00000A0D, 0x00000001, 0x0004001C, + 0x0000022A, 0x0000000D, 0x00000A0D, 0x0006001E, 0x00000B77, 0x0000001D, + 0x0000000D, 0x0000022A, 0x0000022A, 0x00040020, 0x00000231, 0x00000003, + 0x00000B77, 0x0004003B, 0x00000231, 0x00001342, 0x00000003, 0x00040015, 0x0000000C, 0x00000020, 0x00000001, 0x0004002B, 0x0000000C, 0x00000A0B, 0x00000000, 0x00040017, 0x00000013, 0x0000000D, 0x00000002, 0x0004001E, 0x00000406, 0x00000013, 0x00000013, 0x00040020, 0x00000683, 0x00000009, - 0x00000406, 0x0004003B, 0x00000683, 0x00001342, 0x00000009, 0x00040020, + 0x00000406, 0x0004003B, 0x00000683, 0x00000BEC, 0x00000009, 0x00040020, 0x00000290, 0x00000009, 0x00000013, 0x00040020, 0x00000289, 0x00000001, - 0x0000000C, 0x0004003B, 0x00000289, 0x00001029, 0x00000001, 0x00040015, - 0x0000000B, 0x00000020, 0x00000000, 0x00040017, 0x00000011, 0x0000000B, - 0x00000002, 0x0004002B, 0x0000000B, 0x00000A0A, 0x00000000, 0x0004002B, - 0x0000000B, 0x00000A0D, 0x00000001, 0x0005002C, 0x00000011, 0x0000071B, - 0x00000A0A, 0x00000A0D, 0x0004002B, 0x0000000C, 0x00000A0E, 0x00000001, - 0x0004002B, 0x0000000D, 0x00000A0C, 0x00000000, 0x0004002B, 0x0000000D, - 0x0000008A, 0x3F800000, 0x00040020, 0x0000029A, 0x00000003, 0x0000001D, - 0x0005002C, 0x00000011, 0x00000724, 0x00000A0D, 0x00000A0D, 0x00050036, - 0x00000008, 0x0000161F, 0x00000000, 0x00000502, 0x000200F8, 0x00005D6B, - 0x00050041, 0x00000290, 0x00001B8D, 0x00001342, 0x00000A0B, 0x0004003D, - 0x00000013, 0x0000446C, 0x00001B8D, 0x0004003D, 0x0000000C, 0x00005AC9, - 0x00001029, 0x0004007C, 0x0000000B, 0x00002508, 0x00005AC9, 0x00050050, - 0x00000011, 0x00003C30, 0x00002508, 0x00002508, 0x000500C2, 0x00000011, - 0x00003A8F, 0x00003C30, 0x0000071B, 0x000500C7, 0x00000011, 0x0000449F, - 0x00003A8F, 0x00000724, 0x00040070, 0x00000013, 0x00001EB0, 0x0000449F, - 0x00050041, 0x00000290, 0x0000313E, 0x00001342, 0x00000A0E, 0x0004003D, - 0x00000013, 0x00005DCB, 0x0000313E, 0x00050085, 0x00000013, 0x0000435B, - 0x00001EB0, 0x00005DCB, 0x00050081, 0x00000013, 0x000040D2, 0x0000446C, - 0x0000435B, 0x00050051, 0x0000000D, 0x00002967, 0x000040D2, 0x00000000, - 0x00050051, 0x0000000D, 0x00003684, 0x000040D2, 0x00000001, 0x00070050, - 0x0000001D, 0x00004754, 0x00002967, 0x00003684, 0x00000A0C, 0x0000008A, - 0x00050041, 0x0000029A, 0x00002F17, 0x0000561C, 0x00000A0B, 0x0003003E, - 0x00002F17, 0x00004754, 0x000100FD, 0x00010038, + 0x0000000C, 0x0004003B, 0x00000289, 0x00001029, 0x00000001, 0x00040017, + 0x00000011, 0x0000000B, 0x00000002, 0x0004002B, 0x0000000B, 0x00000A0A, + 0x00000000, 0x0005002C, 0x00000011, 0x0000071B, 0x00000A0A, 0x00000A0D, + 0x0004002B, 0x0000000C, 0x00000A0E, 0x00000001, 0x0004002B, 0x0000000D, + 0x00000A0C, 0x00000000, 0x0004002B, 0x0000000D, 0x0000008A, 0x3F800000, + 0x00040020, 0x0000029A, 0x00000003, 0x0000001D, 0x0005002C, 0x00000011, + 0x00000724, 0x00000A0D, 0x00000A0D, 0x00050036, 0x00000008, 0x0000161F, + 0x00000000, 0x00000502, 0x000200F8, 0x00005D6B, 0x00050041, 0x00000290, + 0x00001B8D, 0x00000BEC, 0x00000A0B, 0x0004003D, 0x00000013, 0x0000446C, + 0x00001B8D, 0x0004003D, 0x0000000C, 0x00005AC9, 0x00001029, 0x0004007C, + 0x0000000B, 0x00002508, 0x00005AC9, 0x00050050, 0x00000011, 0x00003C30, + 0x00002508, 0x00002508, 0x000500C2, 0x00000011, 0x00003A8F, 0x00003C30, + 0x0000071B, 0x000500C7, 0x00000011, 0x0000449F, 0x00003A8F, 0x00000724, + 0x00040070, 0x00000013, 0x00001EB0, 0x0000449F, 0x00050041, 0x00000290, + 0x0000313E, 0x00000BEC, 0x00000A0E, 0x0004003D, 0x00000013, 0x00005DCB, + 0x0000313E, 0x00050085, 0x00000013, 0x0000435B, 0x00001EB0, 0x00005DCB, + 0x00050081, 0x00000013, 0x000040D2, 0x0000446C, 0x0000435B, 0x00050051, + 0x0000000D, 0x00002967, 0x000040D2, 0x00000000, 0x00050051, 0x0000000D, + 0x00003684, 0x000040D2, 0x00000001, 0x00070050, 0x0000001D, 0x00004754, + 0x00002967, 0x00003684, 0x00000A0C, 0x0000008A, 0x00050041, 0x0000029A, + 0x00002F17, 0x00001342, 0x00000A0B, 0x0003003E, 0x00002F17, 0x00004754, + 0x000100FD, 0x00010038, }; diff --git a/src/xenia/ui/shaders/bytecode/vulkan_spirv/immediate_ps.h b/src/xenia/ui/shaders/bytecode/vulkan_spirv/immediate_ps.h index 8ac7b44ad..a1eba852a 100644 --- a/src/xenia/ui/shaders/bytecode/vulkan_spirv/immediate_ps.h +++ b/src/xenia/ui/shaders/bytecode/vulkan_spirv/immediate_ps.h @@ -8,44 +8,37 @@ OpCapability Shader %1 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 - OpEntryPoint Fragment %5663 "main" %5120 %5049 %3877 + OpEntryPoint Fragment %5663 "main" %3080 %5914 %4693 OpExecutionMode %5663 OriginUpperLeft - OpDecorate %5120 RelaxedPrecision - OpDecorate %5120 Location 0 - OpDecorate %5049 RelaxedPrecision - OpDecorate %5049 Location 1 - OpDecorate %20754 RelaxedPrecision - OpDecorate %5818 RelaxedPrecision + OpDecorate %3080 Location 0 + OpDecorate %5914 Location 1 OpDecorate %5818 DescriptorSet 0 OpDecorate %5818 Binding 0 - OpDecorate %24285 RelaxedPrecision - OpDecorate %3877 Location 0 - OpDecorate %6686 RelaxedPrecision - OpDecorate %8939 RelaxedPrecision + OpDecorate %4693 Location 0 %void = OpTypeVoid %1282 = OpTypeFunction %void %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 %_ptr_Output_v4float = OpTypePointer Output %v4float - %5120 = OpVariable %_ptr_Output_v4float Output + %3080 = OpVariable %_ptr_Output_v4float Output %_ptr_Input_v4float = OpTypePointer Input %v4float - %5049 = OpVariable %_ptr_Input_v4float Input + %5914 = OpVariable %_ptr_Input_v4float Input %150 = OpTypeImage %float 2D 0 0 0 1 Unknown %510 = OpTypeSampledImage %150 %_ptr_UniformConstant_510 = OpTypePointer UniformConstant %510 %5818 = OpVariable %_ptr_UniformConstant_510 UniformConstant %v2float = OpTypeVector %float 2 %_ptr_Input_v2float = OpTypePointer Input %v2float - %3877 = OpVariable %_ptr_Input_v2float Input + %4693 = OpVariable %_ptr_Input_v2float Input %float_0 = OpConstant %float 0 %5663 = OpFunction %void None %1282 %24607 = OpLabel - %20754 = OpLoad %v4float %5049 + %20754 = OpLoad %v4float %5914 %24285 = OpLoad %510 %5818 - %8179 = OpLoad %v2float %3877 + %8179 = OpLoad %v2float %4693 %6686 = OpImageSampleExplicitLod %v4float %24285 %8179 Lod %float_0 %8939 = OpFMul %v4float %20754 %6686 - OpStore %5120 %8939 + OpStore %3080 %8939 OpReturn OpFunctionEnd #endif @@ -54,29 +47,26 @@ const uint32_t immediate_ps[] = { 0x07230203, 0x00010000, 0x0008000A, 0x00006020, 0x00000000, 0x00020011, 0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E, 0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x0008000F, 0x00000004, - 0x0000161F, 0x6E69616D, 0x00000000, 0x00001400, 0x000013B9, 0x00000F25, - 0x00030010, 0x0000161F, 0x00000007, 0x00030047, 0x00001400, 0x00000000, - 0x00040047, 0x00001400, 0x0000001E, 0x00000000, 0x00030047, 0x000013B9, - 0x00000000, 0x00040047, 0x000013B9, 0x0000001E, 0x00000001, 0x00030047, - 0x00005112, 0x00000000, 0x00030047, 0x000016BA, 0x00000000, 0x00040047, + 0x0000161F, 0x6E69616D, 0x00000000, 0x00000C08, 0x0000171A, 0x00001255, + 0x00030010, 0x0000161F, 0x00000007, 0x00040047, 0x00000C08, 0x0000001E, + 0x00000000, 0x00040047, 0x0000171A, 0x0000001E, 0x00000001, 0x00040047, 0x000016BA, 0x00000022, 0x00000000, 0x00040047, 0x000016BA, 0x00000021, - 0x00000000, 0x00030047, 0x00005EDD, 0x00000000, 0x00040047, 0x00000F25, - 0x0000001E, 0x00000000, 0x00030047, 0x00001A1E, 0x00000000, 0x00030047, - 0x000022EB, 0x00000000, 0x00020013, 0x00000008, 0x00030021, 0x00000502, - 0x00000008, 0x00030016, 0x0000000D, 0x00000020, 0x00040017, 0x0000001D, - 0x0000000D, 0x00000004, 0x00040020, 0x0000029A, 0x00000003, 0x0000001D, - 0x0004003B, 0x0000029A, 0x00001400, 0x00000003, 0x00040020, 0x0000029B, - 0x00000001, 0x0000001D, 0x0004003B, 0x0000029B, 0x000013B9, 0x00000001, - 0x00090019, 0x00000096, 0x0000000D, 0x00000001, 0x00000000, 0x00000000, - 0x00000000, 0x00000001, 0x00000000, 0x0003001B, 0x000001FE, 0x00000096, - 0x00040020, 0x0000047B, 0x00000000, 0x000001FE, 0x0004003B, 0x0000047B, - 0x000016BA, 0x00000000, 0x00040017, 0x00000013, 0x0000000D, 0x00000002, - 0x00040020, 0x00000290, 0x00000001, 0x00000013, 0x0004003B, 0x00000290, - 0x00000F25, 0x00000001, 0x0004002B, 0x0000000D, 0x00000A0C, 0x00000000, - 0x00050036, 0x00000008, 0x0000161F, 0x00000000, 0x00000502, 0x000200F8, - 0x0000601F, 0x0004003D, 0x0000001D, 0x00005112, 0x000013B9, 0x0004003D, - 0x000001FE, 0x00005EDD, 0x000016BA, 0x0004003D, 0x00000013, 0x00001FF3, - 0x00000F25, 0x00070058, 0x0000001D, 0x00001A1E, 0x00005EDD, 0x00001FF3, - 0x00000002, 0x00000A0C, 0x00050085, 0x0000001D, 0x000022EB, 0x00005112, - 0x00001A1E, 0x0003003E, 0x00001400, 0x000022EB, 0x000100FD, 0x00010038, + 0x00000000, 0x00040047, 0x00001255, 0x0000001E, 0x00000000, 0x00020013, + 0x00000008, 0x00030021, 0x00000502, 0x00000008, 0x00030016, 0x0000000D, + 0x00000020, 0x00040017, 0x0000001D, 0x0000000D, 0x00000004, 0x00040020, + 0x0000029A, 0x00000003, 0x0000001D, 0x0004003B, 0x0000029A, 0x00000C08, + 0x00000003, 0x00040020, 0x0000029B, 0x00000001, 0x0000001D, 0x0004003B, + 0x0000029B, 0x0000171A, 0x00000001, 0x00090019, 0x00000096, 0x0000000D, + 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, + 0x0003001B, 0x000001FE, 0x00000096, 0x00040020, 0x0000047B, 0x00000000, + 0x000001FE, 0x0004003B, 0x0000047B, 0x000016BA, 0x00000000, 0x00040017, + 0x00000013, 0x0000000D, 0x00000002, 0x00040020, 0x00000290, 0x00000001, + 0x00000013, 0x0004003B, 0x00000290, 0x00001255, 0x00000001, 0x0004002B, + 0x0000000D, 0x00000A0C, 0x00000000, 0x00050036, 0x00000008, 0x0000161F, + 0x00000000, 0x00000502, 0x000200F8, 0x0000601F, 0x0004003D, 0x0000001D, + 0x00005112, 0x0000171A, 0x0004003D, 0x000001FE, 0x00005EDD, 0x000016BA, + 0x0004003D, 0x00000013, 0x00001FF3, 0x00001255, 0x00070058, 0x0000001D, + 0x00001A1E, 0x00005EDD, 0x00001FF3, 0x00000002, 0x00000A0C, 0x00050085, + 0x0000001D, 0x000022EB, 0x00005112, 0x00001A1E, 0x0003003E, 0x00000C08, + 0x000022EB, 0x000100FD, 0x00010038, }; diff --git a/src/xenia/ui/shaders/bytecode/vulkan_spirv/immediate_vs.h b/src/xenia/ui/shaders/bytecode/vulkan_spirv/immediate_vs.h index c952bcc62..323af512d 100644 --- a/src/xenia/ui/shaders/bytecode/vulkan_spirv/immediate_vs.h +++ b/src/xenia/ui/shaders/bytecode/vulkan_spirv/immediate_vs.h @@ -8,18 +8,17 @@ OpCapability Shader %1 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 - OpEntryPoint Vertex %5663 "main" %3877 %3591 %5049 %5249 %9116 %4372 - OpDecorate %3877 Location 0 - OpDecorate %3591 Location 1 - OpDecorate %5049 RelaxedPrecision - OpDecorate %5049 Location 1 - OpDecorate %5249 RelaxedPrecision - OpDecorate %5249 Location 2 - OpDecorate %11060 RelaxedPrecision - OpMemberDecorate %_struct_1032 0 BuiltIn Position - OpMemberDecorate %_struct_1032 1 BuiltIn PointSize - OpDecorate %_struct_1032 Block - OpDecorate %4372 Location 0 + OpEntryPoint Vertex %5663 "main" %4159 %4693 %3080 %5914 %4930 %5474 + OpDecorate %4159 Location 0 + OpDecorate %4693 Location 1 + OpDecorate %3080 Location 1 + OpDecorate %5914 Location 2 + OpMemberDecorate %_struct_419 0 BuiltIn Position + OpMemberDecorate %_struct_419 1 BuiltIn PointSize + OpMemberDecorate %_struct_419 2 BuiltIn ClipDistance + OpMemberDecorate %_struct_419 3 BuiltIn CullDistance + OpDecorate %_struct_419 Block + OpDecorate %5474 Location 0 OpMemberDecorate %_struct_997 0 Offset 0 OpDecorate %_struct_997 Block %void = OpTypeVoid @@ -27,44 +26,48 @@ %float = OpTypeFloat 32 %v2float = OpTypeVector %float 2 %_ptr_Output_v2float = OpTypePointer Output %v2float - %3877 = OpVariable %_ptr_Output_v2float Output + %4159 = OpVariable %_ptr_Output_v2float Output %_ptr_Input_v2float = OpTypePointer Input %v2float - %3591 = OpVariable %_ptr_Input_v2float Input + %4693 = OpVariable %_ptr_Input_v2float Input %v4float = OpTypeVector %float 4 %_ptr_Output_v4float = OpTypePointer Output %v4float - %5049 = OpVariable %_ptr_Output_v4float Output + %3080 = OpVariable %_ptr_Output_v4float Output %_ptr_Input_v4float = OpTypePointer Input %v4float - %5249 = OpVariable %_ptr_Input_v4float Input -%_struct_1032 = OpTypeStruct %v4float %float -%_ptr_Output__struct_1032 = OpTypePointer Output %_struct_1032 - %9116 = OpVariable %_ptr_Output__struct_1032 Output + %5914 = OpVariable %_ptr_Input_v4float Input + %uint = OpTypeInt 32 0 + %uint_1 = OpConstant %uint 1 +%_arr_float_uint_1 = OpTypeArray %float %uint_1 +%_struct_419 = OpTypeStruct %v4float %float %_arr_float_uint_1 %_arr_float_uint_1 +%_ptr_Output__struct_419 = OpTypePointer Output %_struct_419 + %4930 = OpVariable %_ptr_Output__struct_419 Output %int = OpTypeInt 32 1 %int_0 = OpConstant %int 0 - %4372 = OpVariable %_ptr_Input_v2float Input + %5474 = OpVariable %_ptr_Input_v2float Input %_struct_997 = OpTypeStruct %v2float %_ptr_PushConstant__struct_997 = OpTypePointer PushConstant %_struct_997 - %4930 = OpVariable %_ptr_PushConstant__struct_997 PushConstant + %3052 = OpVariable %_ptr_PushConstant__struct_997 PushConstant %_ptr_PushConstant_v2float = OpTypePointer PushConstant %v2float %float_2 = OpConstant %float 2 + %2981 = OpConstantComposite %v2float %float_2 %float_2 %float_1 = OpConstant %float 1 - %float_0 = OpConstant %float 0 %768 = OpConstantComposite %v2float %float_1 %float_1 + %float_0 = OpConstant %float 0 %5663 = OpFunction %void None %1282 %24626 = OpLabel - %20581 = OpLoad %v2float %3591 - OpStore %3877 %20581 - %11060 = OpLoad %v4float %5249 - OpStore %5049 %11060 - %10541 = OpLoad %v2float %4372 - %22255 = OpAccessChain %_ptr_PushConstant_v2float %4930 %int_0 - %12183 = OpLoad %v2float %22255 - %15944 = OpFMul %v2float %10541 %12183 - %15861 = OpVectorTimesScalar %v2float %15944 %float_2 - %10536 = OpFSub %v2float %15861 %768 - %7674 = OpCompositeExtract %float %10536 0 - %15569 = OpCompositeExtract %float %10536 1 - %18260 = OpCompositeConstruct %v4float %7674 %15569 %float_0 %float_1 - %12055 = OpAccessChain %_ptr_Output_v4float %9116 %int_0 + %20581 = OpLoad %v2float %4693 + OpStore %4159 %20581 + %11060 = OpLoad %v4float %5914 + OpStore %3080 %11060 + %10541 = OpLoad %v2float %5474 + %22255 = OpAccessChain %_ptr_PushConstant_v2float %3052 %int_0 + %12012 = OpLoad %v2float %22255 + %17501 = OpFMul %v2float %10541 %12012 + %13314 = OpFMul %v2float %17501 %2981 + %6620 = OpFSub %v2float %13314 %768 + %22715 = OpCompositeExtract %float %6620 0 + %15569 = OpCompositeExtract %float %6620 1 + %18260 = OpCompositeConstruct %v4float %22715 %15569 %float_0 %float_1 + %12055 = OpAccessChain %_ptr_Output_v4float %4930 %int_0 OpStore %12055 %18260 OpReturn OpFunctionEnd @@ -74,44 +77,48 @@ const uint32_t immediate_vs[] = { 0x07230203, 0x00010000, 0x0008000A, 0x00006033, 0x00000000, 0x00020011, 0x00000001, 0x0006000B, 0x00000001, 0x4C534C47, 0x6474732E, 0x3035342E, 0x00000000, 0x0003000E, 0x00000000, 0x00000001, 0x000B000F, 0x00000000, - 0x0000161F, 0x6E69616D, 0x00000000, 0x00000F25, 0x00000E07, 0x000013B9, - 0x00001481, 0x0000239C, 0x00001114, 0x00040047, 0x00000F25, 0x0000001E, - 0x00000000, 0x00040047, 0x00000E07, 0x0000001E, 0x00000001, 0x00030047, - 0x000013B9, 0x00000000, 0x00040047, 0x000013B9, 0x0000001E, 0x00000001, - 0x00030047, 0x00001481, 0x00000000, 0x00040047, 0x00001481, 0x0000001E, - 0x00000002, 0x00030047, 0x00002B34, 0x00000000, 0x00050048, 0x00000408, - 0x00000000, 0x0000000B, 0x00000000, 0x00050048, 0x00000408, 0x00000001, - 0x0000000B, 0x00000001, 0x00030047, 0x00000408, 0x00000002, 0x00040047, - 0x00001114, 0x0000001E, 0x00000000, 0x00050048, 0x000003E5, 0x00000000, - 0x00000023, 0x00000000, 0x00030047, 0x000003E5, 0x00000002, 0x00020013, - 0x00000008, 0x00030021, 0x00000502, 0x00000008, 0x00030016, 0x0000000D, - 0x00000020, 0x00040017, 0x00000013, 0x0000000D, 0x00000002, 0x00040020, - 0x00000290, 0x00000003, 0x00000013, 0x0004003B, 0x00000290, 0x00000F25, - 0x00000003, 0x00040020, 0x00000291, 0x00000001, 0x00000013, 0x0004003B, - 0x00000291, 0x00000E07, 0x00000001, 0x00040017, 0x0000001D, 0x0000000D, - 0x00000004, 0x00040020, 0x0000029A, 0x00000003, 0x0000001D, 0x0004003B, - 0x0000029A, 0x000013B9, 0x00000003, 0x00040020, 0x0000029B, 0x00000001, - 0x0000001D, 0x0004003B, 0x0000029B, 0x00001481, 0x00000001, 0x0004001E, - 0x00000408, 0x0000001D, 0x0000000D, 0x00040020, 0x00000685, 0x00000003, - 0x00000408, 0x0004003B, 0x00000685, 0x0000239C, 0x00000003, 0x00040015, - 0x0000000C, 0x00000020, 0x00000001, 0x0004002B, 0x0000000C, 0x00000A0B, - 0x00000000, 0x0004003B, 0x00000291, 0x00001114, 0x00000001, 0x0003001E, - 0x000003E5, 0x00000013, 0x00040020, 0x00000662, 0x00000009, 0x000003E5, - 0x0004003B, 0x00000662, 0x00001342, 0x00000009, 0x00040020, 0x00000292, - 0x00000009, 0x00000013, 0x0004002B, 0x0000000D, 0x00000018, 0x40000000, - 0x0004002B, 0x0000000D, 0x0000008A, 0x3F800000, 0x0004002B, 0x0000000D, - 0x00000A0C, 0x00000000, 0x0005002C, 0x00000013, 0x00000300, 0x0000008A, - 0x0000008A, 0x00050036, 0x00000008, 0x0000161F, 0x00000000, 0x00000502, - 0x000200F8, 0x00006032, 0x0004003D, 0x00000013, 0x00005065, 0x00000E07, - 0x0003003E, 0x00000F25, 0x00005065, 0x0004003D, 0x0000001D, 0x00002B34, - 0x00001481, 0x0003003E, 0x000013B9, 0x00002B34, 0x0004003D, 0x00000013, - 0x0000292D, 0x00001114, 0x00050041, 0x00000292, 0x000056EF, 0x00001342, - 0x00000A0B, 0x0004003D, 0x00000013, 0x00002F97, 0x000056EF, 0x00050085, - 0x00000013, 0x00003E48, 0x0000292D, 0x00002F97, 0x0005008E, 0x00000013, - 0x00003DF5, 0x00003E48, 0x00000018, 0x00050083, 0x00000013, 0x00002928, - 0x00003DF5, 0x00000300, 0x00050051, 0x0000000D, 0x00001DFA, 0x00002928, - 0x00000000, 0x00050051, 0x0000000D, 0x00003CD1, 0x00002928, 0x00000001, - 0x00070050, 0x0000001D, 0x00004754, 0x00001DFA, 0x00003CD1, 0x00000A0C, - 0x0000008A, 0x00050041, 0x0000029A, 0x00002F17, 0x0000239C, 0x00000A0B, - 0x0003003E, 0x00002F17, 0x00004754, 0x000100FD, 0x00010038, + 0x0000161F, 0x6E69616D, 0x00000000, 0x0000103F, 0x00001255, 0x00000C08, + 0x0000171A, 0x00001342, 0x00001562, 0x00040047, 0x0000103F, 0x0000001E, + 0x00000000, 0x00040047, 0x00001255, 0x0000001E, 0x00000001, 0x00040047, + 0x00000C08, 0x0000001E, 0x00000001, 0x00040047, 0x0000171A, 0x0000001E, + 0x00000002, 0x00050048, 0x000001A3, 0x00000000, 0x0000000B, 0x00000000, + 0x00050048, 0x000001A3, 0x00000001, 0x0000000B, 0x00000001, 0x00050048, + 0x000001A3, 0x00000002, 0x0000000B, 0x00000003, 0x00050048, 0x000001A3, + 0x00000003, 0x0000000B, 0x00000004, 0x00030047, 0x000001A3, 0x00000002, + 0x00040047, 0x00001562, 0x0000001E, 0x00000000, 0x00050048, 0x000003E5, + 0x00000000, 0x00000023, 0x00000000, 0x00030047, 0x000003E5, 0x00000002, + 0x00020013, 0x00000008, 0x00030021, 0x00000502, 0x00000008, 0x00030016, + 0x0000000D, 0x00000020, 0x00040017, 0x00000013, 0x0000000D, 0x00000002, + 0x00040020, 0x00000290, 0x00000003, 0x00000013, 0x0004003B, 0x00000290, + 0x0000103F, 0x00000003, 0x00040020, 0x00000291, 0x00000001, 0x00000013, + 0x0004003B, 0x00000291, 0x00001255, 0x00000001, 0x00040017, 0x0000001D, + 0x0000000D, 0x00000004, 0x00040020, 0x0000029A, 0x00000003, 0x0000001D, + 0x0004003B, 0x0000029A, 0x00000C08, 0x00000003, 0x00040020, 0x0000029B, + 0x00000001, 0x0000001D, 0x0004003B, 0x0000029B, 0x0000171A, 0x00000001, + 0x00040015, 0x0000000B, 0x00000020, 0x00000000, 0x0004002B, 0x0000000B, + 0x00000A0D, 0x00000001, 0x0004001C, 0x00000261, 0x0000000D, 0x00000A0D, + 0x0006001E, 0x000001A3, 0x0000001D, 0x0000000D, 0x00000261, 0x00000261, + 0x00040020, 0x00000420, 0x00000003, 0x000001A3, 0x0004003B, 0x00000420, + 0x00001342, 0x00000003, 0x00040015, 0x0000000C, 0x00000020, 0x00000001, + 0x0004002B, 0x0000000C, 0x00000A0B, 0x00000000, 0x0004003B, 0x00000291, + 0x00001562, 0x00000001, 0x0003001E, 0x000003E5, 0x00000013, 0x00040020, + 0x00000662, 0x00000009, 0x000003E5, 0x0004003B, 0x00000662, 0x00000BEC, + 0x00000009, 0x00040020, 0x00000292, 0x00000009, 0x00000013, 0x0004002B, + 0x0000000D, 0x00000018, 0x40000000, 0x0005002C, 0x00000013, 0x00000BA5, + 0x00000018, 0x00000018, 0x0004002B, 0x0000000D, 0x0000008A, 0x3F800000, + 0x0005002C, 0x00000013, 0x00000300, 0x0000008A, 0x0000008A, 0x0004002B, + 0x0000000D, 0x00000A0C, 0x00000000, 0x00050036, 0x00000008, 0x0000161F, + 0x00000000, 0x00000502, 0x000200F8, 0x00006032, 0x0004003D, 0x00000013, + 0x00005065, 0x00001255, 0x0003003E, 0x0000103F, 0x00005065, 0x0004003D, + 0x0000001D, 0x00002B34, 0x0000171A, 0x0003003E, 0x00000C08, 0x00002B34, + 0x0004003D, 0x00000013, 0x0000292D, 0x00001562, 0x00050041, 0x00000292, + 0x000056EF, 0x00000BEC, 0x00000A0B, 0x0004003D, 0x00000013, 0x00002EEC, + 0x000056EF, 0x00050085, 0x00000013, 0x0000445D, 0x0000292D, 0x00002EEC, + 0x00050085, 0x00000013, 0x00003402, 0x0000445D, 0x00000BA5, 0x00050083, + 0x00000013, 0x000019DC, 0x00003402, 0x00000300, 0x00050051, 0x0000000D, + 0x000058BB, 0x000019DC, 0x00000000, 0x00050051, 0x0000000D, 0x00003CD1, + 0x000019DC, 0x00000001, 0x00070050, 0x0000001D, 0x00004754, 0x000058BB, + 0x00003CD1, 0x00000A0C, 0x0000008A, 0x00050041, 0x0000029A, 0x00002F17, + 0x00001342, 0x00000A0B, 0x0003003E, 0x00002F17, 0x00004754, 0x000100FD, + 0x00010038, }; diff --git a/src/xenia/ui/shaders/dither_8bpc.xesli b/src/xenia/ui/shaders/dither_8bpc.xesli index 1f8b2946c..f8a2aec3d 100644 --- a/src/xenia/ui/shaders/dither_8bpc.xesli +++ b/src/xenia/ui/shaders/dither_8bpc.xesli @@ -1,3 +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. * + ****************************************************************************** + */ + #ifndef XENIA_UI_SHADERS_DITHER_8BPC_XESLI_ #define XENIA_UI_SHADERS_DITHER_8BPC_XESLI_ diff --git a/src/xenia/ui/shaders/guest_output_bilinear.glsli b/src/xenia/ui/shaders/guest_output_bilinear.glsli deleted file mode 100644 index bffd8842e..000000000 --- a/src/xenia/ui/shaders/guest_output_bilinear.glsli +++ /dev/null @@ -1,38 +0,0 @@ -// At least #version 420. - -#if XE_GUEST_OUTPUT_DITHER - #include "dither_8bpc.xesli" -#endif // XE_GUEST_OUTPUT_DITHER - -layout(push_constant) uniform XeBilinearConstants { - // 16 occupied by the vertex shader. - layout(offset = 16) ivec2 xe_bilinear_output_offset; - layout(offset = 24) vec2 xe_bilinear_output_size_inv; -}; - -layout(set = 0, binding = 0) uniform sampler2D xe_texture; - -layout(location = 0) out vec4 xe_frag_color; - -void main() { - uvec2 pixel_coord = uvec2(ivec2(gl_FragCoord.xy) - xe_bilinear_output_offset); - // + 0.5 so the origin is at the pixel center, and at 1:1 the original pixel - // is taken. - // Interpolating the four colors in the perceptual space because doing it in - // linear space causes, in particular, bright text on a dark background to - // become too thick, and aliasing of bright parts on top of dark areas to be - // too apparent (4D5307E6 HUD, for example, mainly the edges of the - // multiplayer score bars). - xe_frag_color.rgb = - textureLod(xe_texture, - (vec2(pixel_coord) + 0.5) * xe_bilinear_output_size_inv, - 0.0).rgb; - #if XE_GUEST_OUTPUT_DITHER - // Clamping because on Vulkan, the surface may specify any format, including - // floating-point. - xe_frag_color.rgb = - clamp(xe_frag_color.rgb + XeDitherOffset8bpc(pixel_coord), - vec3(0.0, 0.0, 0.0), vec3(1.0, 1.0, 1.0)); - #endif // XE_GUEST_OUTPUT_DITHER - xe_frag_color.a = 1.0; -} diff --git a/src/xenia/ui/shaders/guest_output_bilinear.hlsli b/src/xenia/ui/shaders/guest_output_bilinear.hlsli deleted file mode 100644 index 6685bfc29..000000000 --- a/src/xenia/ui/shaders/guest_output_bilinear.hlsli +++ /dev/null @@ -1,31 +0,0 @@ -#if XE_GUEST_OUTPUT_DITHER - #include "dither_8bpc.xesli" -#endif // XE_GUEST_OUTPUT_DITHER - -cbuffer XeBilinearConstants : register(b0) { - int2 xe_bilinear_output_offset; - float2 xe_bilinear_output_size_inv; -}; - -Texture2D xe_texture : register(t0); -SamplerState xe_sampler_linear_clamp : register(s0); - -float4 main(float4 xe_position : SV_Position) : SV_Target { - uint2 pixel_coord = uint2(int2(xe_position.xy) - xe_bilinear_output_offset); - // + 0.5 so the origin is at the pixel center, and at 1:1 the original pixel - // is taken. - // Interpolating the four colors in the perceptual space because doing it in - // linear space causes, in particular, bright text on a dark background to - // become too thick, and aliasing of bright parts on top of dark areas to be - // too apparent (4D5307E6 HUD, for example, mainly the edges of the - // multiplayer score bars). - float3 color = xe_texture.SampleLevel( - xe_sampler_linear_clamp, - (float2(pixel_coord) + 0.5f) * xe_bilinear_output_size_inv, - 0.0f); - #if XE_GUEST_OUTPUT_DITHER - // Not clamping because a normalized format is explicitly requested on DXGI. - color += XeDitherOffset8bpc(pixel_coord); - #endif // XE_GUEST_OUTPUT_DITHER - return float4(color, 1.0f); -} diff --git a/src/xenia/ui/shaders/guest_output_bilinear.ps.glsl b/src/xenia/ui/shaders/guest_output_bilinear.ps.glsl deleted file mode 100644 index 42fc74087..000000000 --- a/src/xenia/ui/shaders/guest_output_bilinear.ps.glsl +++ /dev/null @@ -1,3 +0,0 @@ -#version 420 -#extension GL_GOOGLE_include_directive : require -#include "guest_output_bilinear.glsli" diff --git a/src/xenia/ui/shaders/guest_output_bilinear.ps.hlsl b/src/xenia/ui/shaders/guest_output_bilinear.ps.hlsl deleted file mode 100644 index dd4e37b28..000000000 --- a/src/xenia/ui/shaders/guest_output_bilinear.ps.hlsl +++ /dev/null @@ -1 +0,0 @@ -#include "guest_output_bilinear.hlsli" diff --git a/src/xenia/ui/shaders/guest_output_bilinear.ps.xesl b/src/xenia/ui/shaders/guest_output_bilinear.ps.xesl new file mode 100644 index 000000000..477575411 --- /dev/null +++ b/src/xenia/ui/shaders/guest_output_bilinear.ps.xesl @@ -0,0 +1,10 @@ +/** + ****************************************************************************** + * 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 "guest_output_bilinear.xesli" diff --git a/src/xenia/ui/shaders/guest_output_bilinear.xesli b/src/xenia/ui/shaders/guest_output_bilinear.xesli new file mode 100644 index 000000000..5e8c9fad1 --- /dev/null +++ b/src/xenia/ui/shaders/guest_output_bilinear.xesli @@ -0,0 +1,55 @@ +/** + ****************************************************************************** + * 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 "xesl.xesli" + +#if XE_GUEST_OUTPUT_DITHER + #include "dither_8bpc.xesli" +#endif // XE_GUEST_OUTPUT_DITHER + +xesl_push_constants_begin(b0, space0) + // 16 used by the vertex shader (GLSL push constant offsets are across + // stages). + xesl_block_offset_member(16, c0.x, xesl_int2, xe_bilinear_output_offset) + // CasSetup const1.x. + xesl_block_offset_member(24, c0.z, xesl_float2, xe_bilinear_output_size_inv) +xesl_push_constants_end + +xesl_entry + xesl_sampler(xesl_sampler2D, xe_bilinear_source, set=0, binding=0, t0, + space0, s0, space0) +xesl_entry_bindings_end + xesl_input_frag_coord + xesl_entry_signature_next + xesl_output_color(xesl_float4, xe_bilinear_color, 0) +xesl_entry_signature_end + xesl_uint2 pixel_coord = + xesl_uint2(xesl_int2(xesl_FragCoord.xy) - + xesl_push_constant(xe_bilinear_output_offset)); + // + 0.5 so the origin is at the pixel center, and at 1:1 the original pixel + // is taken. + // Interpolating the four colors in the perceptual space because doing it in + // linear space causes, in particular, bright text on a dark background to + // become too thick, and aliasing of bright parts on top of dark areas to be + // too apparent (4D5307E6 HUD, for example, mainly the edges of the + // multiplayer score bars). + xe_bilinear_color.rgb = + xesl_textureSampleLod2D_comb( + xe_bilinear_source, + (xesl_float2(pixel_coord) + 0.5) * + xesl_push_constant(xe_bilinear_output_size_inv), + 0.0).rgb; + #if XE_GUEST_OUTPUT_DITHER + // Clamping because on Vulkan, the surface may specify any format, including + // floating-point. + xe_bilinear_color.rgb = + xesl_saturate(xe_bilinear_color.rgb + XeDitherOffset8bpc(pixel_coord)); + #endif // XE_GUEST_OUTPUT_DITHER + xe_bilinear_color.a = 1.0; +xesl_entry_end diff --git a/src/xenia/ui/shaders/guest_output_bilinear_dither.ps.glsl b/src/xenia/ui/shaders/guest_output_bilinear_dither.ps.glsl deleted file mode 100644 index b78b5a9a4..000000000 --- a/src/xenia/ui/shaders/guest_output_bilinear_dither.ps.glsl +++ /dev/null @@ -1,4 +0,0 @@ -#version 420 -#extension GL_GOOGLE_include_directive : require -#define XE_GUEST_OUTPUT_DITHER 1 -#include "guest_output_bilinear.glsli" diff --git a/src/xenia/ui/shaders/guest_output_bilinear_dither.ps.hlsl b/src/xenia/ui/shaders/guest_output_bilinear_dither.ps.hlsl deleted file mode 100644 index 13995e2bb..000000000 --- a/src/xenia/ui/shaders/guest_output_bilinear_dither.ps.hlsl +++ /dev/null @@ -1,2 +0,0 @@ -#define XE_GUEST_OUTPUT_DITHER 1 -#include "guest_output_bilinear.hlsli" diff --git a/src/xenia/ui/shaders/guest_output_bilinear_dither.ps.xesl b/src/xenia/ui/shaders/guest_output_bilinear_dither.ps.xesl new file mode 100644 index 000000000..24030cd1f --- /dev/null +++ b/src/xenia/ui/shaders/guest_output_bilinear_dither.ps.xesl @@ -0,0 +1,11 @@ +/** + ****************************************************************************** + * 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_GUEST_OUTPUT_DITHER 1 +#include "guest_output_bilinear.xesli" diff --git a/src/xenia/ui/shaders/guest_output_ffx_cas_resample.glsli b/src/xenia/ui/shaders/guest_output_ffx_cas_resample.glsli deleted file mode 100644 index 21a35528e..000000000 --- a/src/xenia/ui/shaders/guest_output_ffx_cas_resample.glsli +++ /dev/null @@ -1,57 +0,0 @@ -// At least #version 420. - -#if XE_GUEST_OUTPUT_DITHER - #include "dither_8bpc.xesli" -#endif // XE_GUEST_OUTPUT_DITHER - -layout(push_constant) uniform XeCasResampleConstants { - // 16 occupied by the vertex shader. - layout(offset = 16) ivec2 xe_cas_output_offset; - // CasSetup const0.xy. - layout(offset = 24) vec2 xe_cas_input_output_size_ratio; - // CasSetup const1.x. - layout(offset = 32) float xe_cas_sharpness_post_setup; -}; - -layout(set = 0, binding = 0) uniform sampler2D xe_texture; - -layout(location = 0) out vec4 xe_frag_color; - -#define A_GPU 1 -#define A_GLSL 1 -#include "../../../../third_party/FidelityFX-CAS/ffx-cas/ffx_a.h" -vec3 CasLoad(ivec2 p) { - return texelFetch(xe_texture, p, 0).rgb; -} -void CasInput(inout float r, inout float g, inout float b) { - // Linear conversion approximation as recommended in the CAS presentation. - r *= r; - g *= g; - b *= b; -} -#include "../../../../third_party/FidelityFX-CAS/ffx-cas/ffx_cas.h" - -void main() { - uvec2 pixel_coord = uvec2(ivec2(gl_FragCoord.xy) - xe_cas_output_offset); - // CasSetup with smaller push constant usage. - uvec4 cas_const_0 = - uvec4(floatBitsToUint(xe_cas_input_output_size_ratio), - floatBitsToUint(0.5 * xe_cas_input_output_size_ratio - 0.5)); - uvec4 cas_const_1 = - uvec4(floatBitsToUint(xe_cas_sharpness_post_setup), - packHalf2x16(vec2(xe_cas_sharpness_post_setup, 0.0)), - floatBitsToUint(8.0 * xe_cas_input_output_size_ratio.x), 0u); - CasFilter(xe_frag_color.r, xe_frag_color.g, xe_frag_color.b, pixel_coord, - cas_const_0, cas_const_1, false); - // Linear conversion approximation as recommended in the CAS presentation. - xe_frag_color.rgb = sqrt(xe_frag_color.rgb); - #if XE_GUEST_OUTPUT_DITHER - // Clamping because on Vulkan, the surface may specify any format, including - // floating-point. - xe_frag_color.rgb = - clamp(xe_frag_color.rgb + XeDitherOffset8bpc(pixel_coord), - vec3(0.0, 0.0, 0.0), vec3(1.0, 1.0, 1.0)); - #endif // XE_GUEST_OUTPUT_DITHER - // Force alpha to 1 to make sure the surface won't be translucent. - xe_frag_color.a = 1.0; -} diff --git a/src/xenia/ui/shaders/guest_output_ffx_cas_resample.hlsli b/src/xenia/ui/shaders/guest_output_ffx_cas_resample.hlsli deleted file mode 100644 index 843a00caa..000000000 --- a/src/xenia/ui/shaders/guest_output_ffx_cas_resample.hlsli +++ /dev/null @@ -1,49 +0,0 @@ -#if XE_GUEST_OUTPUT_DITHER - #include "dither_8bpc.xesli" -#endif // XE_GUEST_OUTPUT_DITHER - -cbuffer XeCasResampleConstants : register(b0) { - int2 xe_cas_output_offset; - // CasSetup const0.xy. - float2 xe_cas_input_output_size_ratio; - // CasSetup const1.x. - float xe_cas_sharpness_post_setup; -}; - -Texture2D xe_texture : register(t0); - -#define A_GPU 1 -#define A_HLSL 1 -#include "../../../../third_party/FidelityFX-CAS/ffx-cas/ffx_a.h" -float3 CasLoad(int2 p) { - return xe_texture.Load(int3(p, 0)).rgb; -} -void CasInput(inout float r, inout float g, inout float b) { - // Linear conversion approximation as recommended in the CAS presentation. - r *= r; - g *= g; - b *= b; -} -#include "../../../../third_party/FidelityFX-CAS/ffx-cas/ffx_cas.h" - -float4 main(float4 xe_position : SV_Position) : SV_Target { - uint2 pixel_coord = uint2(int2(xe_position.xy) - xe_cas_output_offset); - // CasSetup with smaller root signature usage. - uint4 cas_const_0 = - uint4(asuint(xe_cas_input_output_size_ratio), - asuint(0.5f * xe_cas_input_output_size_ratio - 0.5f)); - uint4 cas_const_1 = - uint4(asuint(xe_cas_sharpness_post_setup), - f32tof16(xe_cas_sharpness_post_setup), - asuint(8.0f * xe_cas_input_output_size_ratio.x), 0u); - float3 cas_color; - CasFilter(cas_color.r, cas_color.g, cas_color.b, pixel_coord, cas_const_0, - cas_const_1, false); - // Linear conversion approximation as recommended in the CAS presentation. - cas_color = sqrt(cas_color); - #if XE_GUEST_OUTPUT_DITHER - // Not clamping because a normalized format is explicitly requested on DXGI. - cas_color += XeDitherOffset8bpc(pixel_coord); - #endif // XE_GUEST_OUTPUT_DITHER - return float4(cas_color, 1.0f); -} diff --git a/src/xenia/ui/shaders/guest_output_ffx_cas_resample.ps.glsl b/src/xenia/ui/shaders/guest_output_ffx_cas_resample.ps.glsl deleted file mode 100644 index a495b7bb4..000000000 --- a/src/xenia/ui/shaders/guest_output_ffx_cas_resample.ps.glsl +++ /dev/null @@ -1,3 +0,0 @@ -#version 420 -#extension GL_GOOGLE_include_directive : require -#include "guest_output_ffx_cas_resample.glsli" diff --git a/src/xenia/ui/shaders/guest_output_ffx_cas_resample.ps.hlsl b/src/xenia/ui/shaders/guest_output_ffx_cas_resample.ps.hlsl deleted file mode 100644 index f970e5404..000000000 --- a/src/xenia/ui/shaders/guest_output_ffx_cas_resample.ps.hlsl +++ /dev/null @@ -1 +0,0 @@ -#include "guest_output_ffx_cas_resample.hlsli" diff --git a/src/xenia/ui/shaders/guest_output_ffx_cas_resample.ps.xesl b/src/xenia/ui/shaders/guest_output_ffx_cas_resample.ps.xesl new file mode 100644 index 000000000..ae07c1086 --- /dev/null +++ b/src/xenia/ui/shaders/guest_output_ffx_cas_resample.ps.xesl @@ -0,0 +1,10 @@ +/** + ****************************************************************************** + * 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 "guest_output_ffx_cas_resample.xesli" diff --git a/src/xenia/ui/shaders/guest_output_ffx_cas_resample.xesli b/src/xenia/ui/shaders/guest_output_ffx_cas_resample.xesli new file mode 100644 index 000000000..4dba90214 --- /dev/null +++ b/src/xenia/ui/shaders/guest_output_ffx_cas_resample.xesli @@ -0,0 +1,83 @@ +/** + ****************************************************************************** + * 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 "xesl.xesli" + +#include "amd_language.xesli" + +#if XE_GUEST_OUTPUT_DITHER + #include "dither_8bpc.xesli" +#endif // XE_GUEST_OUTPUT_DITHER + +xesl_push_constants_begin(b0, space0) + // 16 used by the vertex shader (GLSL push constant offsets are across + // stages). + xesl_block_offset_member(16, c0.x, xesl_int2, xe_cas_output_offset) + // CasSetup const0.xy. + xesl_block_offset_member(24, c0.z, xesl_float2, + xe_cas_input_output_size_ratio) + // CasSetup const1.x. + xesl_block_offset_member(32, c1.x, float, xe_cas_sharpness_post_setup) +xesl_push_constants_end + +// Forward declaration because CasLoad needs xe_cas_source from the entry point +// bindings. +void CasFilter(out float pixel_r, out float pixel_g, out float pixel_b, + xesl_uint2 pixel_position, xesl_uint4 const0, xesl_uint4 const1, + bool no_scaling); + +xesl_entry + xesl_fetchSampler(xesl_sampler2D, xe_cas_source, set=0, binding=0, t0, space0) +xesl_entry_bindings_end + xesl_input_frag_coord + xesl_entry_signature_next + xesl_output_color(xesl_float4, xe_cas_color, 0) +xesl_entry_signature_end + xesl_uint2 pixel_coord = + xesl_uint2(xesl_int2(xesl_FragCoord.xy) - + xesl_push_constant(xe_cas_output_offset)); + // CasSetup with smaller push constants usage. + xesl_uint4 cas_const_0 = + xesl_uint4( + xesl_floatBitsToUint( + xesl_push_constant(xe_cas_input_output_size_ratio)), + xesl_floatBitsToUint( + 0.5 * xesl_push_constant(xe_cas_input_output_size_ratio) - 0.5)); + xesl_uint4 cas_const_1 = + xesl_uint4( + xesl_floatBitsToUint(xesl_push_constant(xe_cas_sharpness_post_setup)), + xesl_packHalf2x16(xesl_float2( + xesl_push_constant(xe_cas_sharpness_post_setup), 0.0)), + xesl_floatBitsToUint(8.0), 0u); + CasFilter(xe_cas_color.r, xe_cas_color.g, xe_cas_color.b, pixel_coord, + cas_const_0, cas_const_1, false); + // Linear conversion approximation as recommended in the CAS presentation. + xe_cas_color.rgb = sqrt(xe_cas_color.rgb); + #if XE_GUEST_OUTPUT_DITHER + // Clamping because on Vulkan, the surface may specify any format, including + // floating-point. + xe_cas_color.rgb = + xesl_saturate(xe_cas_color.rgb + XeDitherOffset8bpc(pixel_coord)); + #endif // XE_GUEST_OUTPUT_DITHER + // Force alpha to 1 to make sure the surface won't be translucent. + xe_cas_color.a = 1.0; +xesl_entry_end + +#define A_GPU 1 +#include "../../../../third_party/FidelityFX-CAS/ffx-cas/ffx_a.h" +xesl_float3 CasLoad(xesl_int2 p) { + return xesl_texelFetch2D_comb(xe_cas_source, p, 0).rgb; +} +void CasInput(inout float r, inout float g, inout float b) { + // Linear conversion approximation as recommended in the CAS presentation. + r *= r; + g *= g; + b *= b; +} +#include "../../../../third_party/FidelityFX-CAS/ffx-cas/ffx_cas.h" diff --git a/src/xenia/ui/shaders/guest_output_ffx_cas_resample_dither.ps.glsl b/src/xenia/ui/shaders/guest_output_ffx_cas_resample_dither.ps.glsl deleted file mode 100644 index 476c02dd3..000000000 --- a/src/xenia/ui/shaders/guest_output_ffx_cas_resample_dither.ps.glsl +++ /dev/null @@ -1,4 +0,0 @@ -#version 420 -#extension GL_GOOGLE_include_directive : require -#define XE_GUEST_OUTPUT_DITHER 1 -#include "guest_output_ffx_cas_resample.glsli" diff --git a/src/xenia/ui/shaders/guest_output_ffx_cas_resample_dither.ps.hlsl b/src/xenia/ui/shaders/guest_output_ffx_cas_resample_dither.ps.hlsl deleted file mode 100644 index 4e76285b2..000000000 --- a/src/xenia/ui/shaders/guest_output_ffx_cas_resample_dither.ps.hlsl +++ /dev/null @@ -1,2 +0,0 @@ -#define XE_GUEST_OUTPUT_DITHER 1 -#include "guest_output_ffx_cas_resample.hlsli" diff --git a/src/xenia/ui/shaders/guest_output_ffx_cas_resample_dither.ps.xesl b/src/xenia/ui/shaders/guest_output_ffx_cas_resample_dither.ps.xesl new file mode 100644 index 000000000..490b51725 --- /dev/null +++ b/src/xenia/ui/shaders/guest_output_ffx_cas_resample_dither.ps.xesl @@ -0,0 +1,11 @@ +/** + ****************************************************************************** + * 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_GUEST_OUTPUT_DITHER 1 +#include "guest_output_ffx_cas_resample.xesli" diff --git a/src/xenia/ui/shaders/guest_output_ffx_cas_sharpen.glsli b/src/xenia/ui/shaders/guest_output_ffx_cas_sharpen.glsli deleted file mode 100644 index 0cb6ea359..000000000 --- a/src/xenia/ui/shaders/guest_output_ffx_cas_sharpen.glsli +++ /dev/null @@ -1,53 +0,0 @@ -// At least #version 420. - -#if XE_GUEST_OUTPUT_DITHER - #include "dither_8bpc.xesli" -#endif // XE_GUEST_OUTPUT_DITHER - -layout(push_constant) uniform XeCasSharpenConstants { - // 16 occupied by the vertex shader. - layout(offset = 16) ivec2 xe_cas_output_offset; - // CasSetup const1.x. - layout(offset = 24) float xe_cas_sharpness_post_setup; -}; - -layout(set = 0, binding = 0) uniform sampler2D xe_texture; - -layout(location = 0) out vec4 xe_frag_color; - -#define A_GPU 1 -#define A_GLSL 1 -#include "../../../../third_party/FidelityFX-CAS/ffx-cas/ffx_a.h" -vec3 CasLoad(ivec2 p) { - return texelFetch(xe_texture, p, 0).rgb; -} -void CasInput(inout float r, inout float g, inout float b) { - // Linear conversion approximation as recommended in the CAS presentation. - r *= r; - g *= g; - b *= b; -} -#include "../../../../third_party/FidelityFX-CAS/ffx-cas/ffx_cas.h" - -void main() { - uvec2 pixel_coord = uvec2(ivec2(gl_FragCoord.xy) - xe_cas_output_offset); - // CasSetup with smaller push constant usage. - uvec4 cas_const_0 = floatBitsToUint(vec4(1.0, 1.0, 0.0, 0.0)); - uvec4 cas_const_1 = - uvec4(floatBitsToUint(xe_cas_sharpness_post_setup), - packHalf2x16(vec2(xe_cas_sharpness_post_setup, 0.0)), - floatBitsToUint(8.0), 0u); - CasFilter(xe_frag_color.r, xe_frag_color.g, xe_frag_color.b, pixel_coord, - cas_const_0, cas_const_1, false); - // Linear conversion approximation as recommended in the CAS presentation. - xe_frag_color.rgb = sqrt(xe_frag_color.rgb); - #if XE_GUEST_OUTPUT_DITHER - // Clamping because on Vulkan, the surface may specify any format, including - // floating-point. - xe_frag_color.rgb = - clamp(xe_frag_color.rgb + XeDitherOffset8bpc(pixel_coord), - vec3(0.0, 0.0, 0.0), vec3(1.0, 1.0, 1.0)); - #endif // XE_GUEST_OUTPUT_DITHER - // Force alpha to 1 to make sure the surface won't be translucent. - xe_frag_color.a = 1.0; -} diff --git a/src/xenia/ui/shaders/guest_output_ffx_cas_sharpen.hlsli b/src/xenia/ui/shaders/guest_output_ffx_cas_sharpen.hlsli deleted file mode 100644 index 0c47cc0e3..000000000 --- a/src/xenia/ui/shaders/guest_output_ffx_cas_sharpen.hlsli +++ /dev/null @@ -1,44 +0,0 @@ -#if XE_GUEST_OUTPUT_DITHER - #include "dither_8bpc.xesli" -#endif // XE_GUEST_OUTPUT_DITHER - -cbuffer XeCasSharpenConstants : register(b0) { - int2 xe_cas_output_offset; - // CasSetup const1.x. - float xe_cas_sharpness_post_setup; -}; - -Texture2D xe_texture : register(t0); - -#define A_GPU 1 -#define A_HLSL 1 -#include "../../../../third_party/FidelityFX-CAS/ffx-cas/ffx_a.h" -float3 CasLoad(int2 p) { - return xe_texture.Load(int3(p, 0)).rgb; -} -void CasInput(inout float r, inout float g, inout float b) { - // Linear conversion approximation as recommended in the CAS presentation. - r *= r; - g *= g; - b *= b; -} -#include "../../../../third_party/FidelityFX-CAS/ffx-cas/ffx_cas.h" - -float4 main(float4 xe_position : SV_Position) : SV_Target { - uint2 pixel_coord = uint2(int2(xe_position.xy) - xe_cas_output_offset); - // CasSetup with smaller root signature usage. - uint4 cas_const_0 = asuint(float4(1.0f, 1.0f, 0.0f, 0.0f)); - uint4 cas_const_1 = - uint4(asuint(xe_cas_sharpness_post_setup), - f32tof16(xe_cas_sharpness_post_setup), asuint(8.0f), 0u); - float3 cas_color; - CasFilter(cas_color.r, cas_color.g, cas_color.b, pixel_coord, cas_const_0, - cas_const_1, true); - // Linear conversion approximation as recommended in the CAS presentation. - cas_color = sqrt(cas_color); - #if XE_GUEST_OUTPUT_DITHER - // Not clamping because a normalized format is explicitly requested on DXGI. - cas_color += XeDitherOffset8bpc(pixel_coord); - #endif // XE_GUEST_OUTPUT_DITHER - return float4(cas_color, 1.0f); -} diff --git a/src/xenia/ui/shaders/guest_output_ffx_cas_sharpen.ps.glsl b/src/xenia/ui/shaders/guest_output_ffx_cas_sharpen.ps.glsl deleted file mode 100644 index 059ea939d..000000000 --- a/src/xenia/ui/shaders/guest_output_ffx_cas_sharpen.ps.glsl +++ /dev/null @@ -1,3 +0,0 @@ -#version 420 -#extension GL_GOOGLE_include_directive : require -#include "guest_output_ffx_cas_sharpen.glsli" diff --git a/src/xenia/ui/shaders/guest_output_ffx_cas_sharpen.ps.hlsl b/src/xenia/ui/shaders/guest_output_ffx_cas_sharpen.ps.hlsl deleted file mode 100644 index 3ff89fe34..000000000 --- a/src/xenia/ui/shaders/guest_output_ffx_cas_sharpen.ps.hlsl +++ /dev/null @@ -1 +0,0 @@ -#include "guest_output_ffx_cas_sharpen.hlsli" diff --git a/src/xenia/ui/shaders/guest_output_ffx_cas_sharpen.ps.xesl b/src/xenia/ui/shaders/guest_output_ffx_cas_sharpen.ps.xesl new file mode 100644 index 000000000..d57b8e8f1 --- /dev/null +++ b/src/xenia/ui/shaders/guest_output_ffx_cas_sharpen.ps.xesl @@ -0,0 +1,10 @@ +/** + ****************************************************************************** + * 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 "guest_output_ffx_cas_sharpen.xesli" diff --git a/src/xenia/ui/shaders/guest_output_ffx_cas_sharpen.xesli b/src/xenia/ui/shaders/guest_output_ffx_cas_sharpen.xesli new file mode 100644 index 000000000..5b0ad7fd4 --- /dev/null +++ b/src/xenia/ui/shaders/guest_output_ffx_cas_sharpen.xesli @@ -0,0 +1,76 @@ +/** + ****************************************************************************** + * 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 "xesl.xesli" + +#include "amd_language.xesli" + +#if XE_GUEST_OUTPUT_DITHER + #include "dither_8bpc.xesli" +#endif // XE_GUEST_OUTPUT_DITHER + +xesl_push_constants_begin(b0, space0) + // 16 used by the vertex shader (GLSL push constant offsets are across + // stages). + xesl_block_offset_member(16, c0.x, xesl_int2, xe_cas_output_offset) + // CasSetup const1.x. + xesl_block_offset_member(24, c0.z, float, xe_cas_sharpness_post_setup) +xesl_push_constants_end + +// Forward declaration because CasLoad needs xe_cas_source from the entry point +// bindings. +void CasFilter(out float pixel_r, out float pixel_g, out float pixel_b, + xesl_uint2 pixel_position, xesl_uint4 const0, xesl_uint4 const1, + bool no_scaling); + +xesl_entry + xesl_fetchSampler(xesl_sampler2D, xe_cas_source, set=0, binding=0, t0, space0) +xesl_entry_bindings_end + xesl_input_frag_coord + xesl_entry_signature_next + xesl_output_color(xesl_float4, xe_cas_color, 0) +xesl_entry_signature_end + xesl_uint2 pixel_coord = + xesl_uint2(xesl_int2(xesl_FragCoord.xy) - + xesl_push_constant(xe_cas_output_offset)); + // CasSetup with smaller push constants usage. + xesl_uint4 cas_const_0 = + xesl_floatBitsToUint(xesl_float4(1.0, 1.0, 0.0, 0.0)); + xesl_uint4 cas_const_1 = + xesl_uint4( + xesl_floatBitsToUint(xesl_push_constant(xe_cas_sharpness_post_setup)), + xesl_packHalf2x16(xesl_float2( + xesl_push_constant(xe_cas_sharpness_post_setup), 0.0)), + xesl_floatBitsToUint(8.0), 0u); + CasFilter(xe_cas_color.r, xe_cas_color.g, xe_cas_color.b, pixel_coord, + cas_const_0, cas_const_1, true); + // Linear conversion approximation as recommended in the CAS presentation. + xe_cas_color.rgb = sqrt(xe_cas_color.rgb); + #if XE_GUEST_OUTPUT_DITHER + // Clamping because on Vulkan, the surface may specify any format, including + // floating-point. + xe_cas_color.rgb = + xesl_saturate(xe_cas_color.rgb + XeDitherOffset8bpc(pixel_coord)); + #endif // XE_GUEST_OUTPUT_DITHER + // Force alpha to 1 to make sure the surface won't be translucent. + xe_cas_color.a = 1.0; +xesl_entry_end + +#define A_GPU 1 +#include "../../../../third_party/FidelityFX-CAS/ffx-cas/ffx_a.h" +xesl_float3 CasLoad(xesl_int2 p) { + return xesl_texelFetch2D_comb(xe_cas_source, p, 0).rgb; +} +void CasInput(inout float r, inout float g, inout float b) { + // Linear conversion approximation as recommended in the CAS presentation. + r *= r; + g *= g; + b *= b; +} +#include "../../../../third_party/FidelityFX-CAS/ffx-cas/ffx_cas.h" diff --git a/src/xenia/ui/shaders/guest_output_ffx_cas_sharpen_dither.ps.glsl b/src/xenia/ui/shaders/guest_output_ffx_cas_sharpen_dither.ps.glsl deleted file mode 100644 index 60c6b2f8b..000000000 --- a/src/xenia/ui/shaders/guest_output_ffx_cas_sharpen_dither.ps.glsl +++ /dev/null @@ -1,4 +0,0 @@ -#version 420 -#extension GL_GOOGLE_include_directive : require -#define XE_GUEST_OUTPUT_DITHER 1 -#include "guest_output_ffx_cas_sharpen.glsli" diff --git a/src/xenia/ui/shaders/guest_output_ffx_cas_sharpen_dither.ps.hlsl b/src/xenia/ui/shaders/guest_output_ffx_cas_sharpen_dither.ps.hlsl deleted file mode 100644 index 3ad7b01b7..000000000 --- a/src/xenia/ui/shaders/guest_output_ffx_cas_sharpen_dither.ps.hlsl +++ /dev/null @@ -1,2 +0,0 @@ -#define XE_GUEST_OUTPUT_DITHER 1 -#include "guest_output_ffx_cas_sharpen.hlsli" diff --git a/src/xenia/ui/shaders/guest_output_ffx_cas_sharpen_dither.ps.xesl b/src/xenia/ui/shaders/guest_output_ffx_cas_sharpen_dither.ps.xesl new file mode 100644 index 000000000..84dd57a06 --- /dev/null +++ b/src/xenia/ui/shaders/guest_output_ffx_cas_sharpen_dither.ps.xesl @@ -0,0 +1,11 @@ +/** + ****************************************************************************** + * 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_GUEST_OUTPUT_DITHER 1 +#include "guest_output_ffx_cas_sharpen.xesli" diff --git a/src/xenia/ui/shaders/guest_output_ffx_fsr_easu.ps.glsl b/src/xenia/ui/shaders/guest_output_ffx_fsr_easu.ps.glsl deleted file mode 100644 index d5b2f1900..000000000 --- a/src/xenia/ui/shaders/guest_output_ffx_fsr_easu.ps.glsl +++ /dev/null @@ -1,38 +0,0 @@ -#version 420 -#extension GL_GOOGLE_include_directive : require - -layout(push_constant) uniform XeFsrEasuConstants { - // 16 occupied by the vertex shader. - layout(offset = 16) vec2 xe_fsr_easu_input_output_size_ratio; - layout(offset = 24) vec2 xe_fsr_easu_input_size_inv; -}; - -layout(set = 0, binding = 0) uniform sampler2D xe_texture; - -layout(location = 0) out vec4 xe_frag_color; - -#define A_GPU 1 -#define A_GLSL 1 -#include "../../../../third_party/FidelityFX-FSR/ffx-fsr/ffx_a.h" -#define FSR_EASU_F 1 -vec4 FsrEasuRF(vec2 p) { return textureGather(xe_texture, p, 0); } -vec4 FsrEasuGF(vec2 p) { return textureGather(xe_texture, p, 1); } -vec4 FsrEasuBF(vec2 p) { return textureGather(xe_texture, p, 2); } -#include "../../../../third_party/FidelityFX-FSR/ffx-fsr/ffx_fsr1.h" - -void main() { - // FsrEasuCon with smaller push constant usage. - uvec4 easu_const_0 = - uvec4(floatBitsToUint(xe_fsr_easu_input_output_size_ratio), - floatBitsToUint(0.5 * xe_fsr_easu_input_output_size_ratio - 0.5)); - uvec4 easu_const_1 = floatBitsToUint(vec4(1.0, 1.0, 1.0, -1.0) * - xe_fsr_easu_input_size_inv.xyxy); - uvec4 easu_const_2 = floatBitsToUint(vec4(-1.0, 2.0, 1.0, 2.0) * - xe_fsr_easu_input_size_inv.xyxy); - uvec4 easu_const_3 = - uvec4(floatBitsToUint(0.0), - floatBitsToUint(4.0 * xe_fsr_easu_input_size_inv.y), 0u, 0u); - FsrEasuF(xe_frag_color.rgb, uvec2(gl_FragCoord.xy), easu_const_0, - easu_const_1, easu_const_2, easu_const_3); - xe_frag_color.a = 1.0; -} diff --git a/src/xenia/ui/shaders/guest_output_ffx_fsr_easu.ps.hlsl b/src/xenia/ui/shaders/guest_output_ffx_fsr_easu.ps.hlsl deleted file mode 100644 index bd95e7a46..000000000 --- a/src/xenia/ui/shaders/guest_output_ffx_fsr_easu.ps.hlsl +++ /dev/null @@ -1,39 +0,0 @@ -cbuffer XeFsrEasuConstants : register(b0) { - float2 xe_fsr_easu_input_output_size_ratio; - float2 xe_fsr_easu_input_size_inv; -}; - -Texture2D xe_texture : register(t0); -SamplerState xe_sampler_linear_clamp : register(s0); - -#define A_GPU 1 -#define A_HLSL 1 -#include "../../../../third_party/FidelityFX-FSR/ffx-fsr/ffx_a.h" -#define FSR_EASU_F 1 -float4 FsrEasuRF(float2 p) { - return xe_texture.GatherRed(xe_sampler_linear_clamp, p); -} -float4 FsrEasuGF(float2 p) { - return xe_texture.GatherGreen(xe_sampler_linear_clamp, p); -} -float4 FsrEasuBF(float2 p) { - return xe_texture.GatherBlue(xe_sampler_linear_clamp, p); -} -#include "../../../../third_party/FidelityFX-FSR/ffx-fsr/ffx_fsr1.h" - -float4 main(float4 xe_position : SV_Position) : SV_Target { - // FsrEasuCon with smaller root signature usage. - uint4 easu_const_0 = - uint4(asuint(xe_fsr_easu_input_output_size_ratio), - asuint(0.5f * xe_fsr_easu_input_output_size_ratio - 0.5f)); - uint4 easu_const_1 = - asuint(float4(1.0f, 1.0f, 1.0f, -1.0f) * xe_fsr_easu_input_size_inv.xyxy); - uint4 easu_const_2 = - asuint(float4(-1.0f, 2.0f, 1.0f, 2.0f) * xe_fsr_easu_input_size_inv.xyxy); - uint4 easu_const_3 = - uint4(asuint(0.0f), asuint(4.0f * xe_fsr_easu_input_size_inv.y), 0u, 0u); - float3 easu_color; - FsrEasuF(easu_color, uint2(xe_position.xy), easu_const_0, easu_const_1, - easu_const_2, easu_const_3); - return float4(easu_color, 1.0f); -} diff --git a/src/xenia/ui/shaders/guest_output_ffx_fsr_easu.ps.xesl b/src/xenia/ui/shaders/guest_output_ffx_fsr_easu.ps.xesl new file mode 100644 index 000000000..acbc5efb4 --- /dev/null +++ b/src/xenia/ui/shaders/guest_output_ffx_fsr_easu.ps.xesl @@ -0,0 +1,72 @@ +/** + ****************************************************************************** + * Xenia : Xbox 360 Emulator Research Project * + ****************************************************************************** + * Copyright 2022 Ben Vanik. All rights reserved. * + * Released under the BSD license - see LICENSE in the root for more details. * + ****************************************************************************** + */ + +#include "xesl.xesli" + +#include "amd_language.xesli" + +xesl_push_constants_begin(b0, space0) + // 16 used by the vertex shader (GLSL push constant offsets are across + // stages). + xesl_block_offset_member(16, c0.x, xesl_float2, + xe_fsr_easu_input_output_size_ratio) + xesl_block_offset_member(24, c0.z, xesl_float2, xe_fsr_easu_input_size_inv) +xesl_push_constants_end + +// Forward declaration because FsrEasu#F need xe_fsr_easu_source from the entry +// point bindings. +void FsrEasuF(out xesl_float3 pixel, xesl_uint2 pixel_position, + xesl_uint4 const0, xesl_uint4 const1, xesl_uint4 const2, + xesl_uint4 const3); + +xesl_entry + xesl_sampler(xesl_sampler2D, xe_fsr_easu_source, set=0, binding=0, t0, space0, + s0, space0) +xesl_entry_bindings_end + xesl_input_frag_coord + xesl_entry_signature_next + xesl_output_color(xesl_float4, xe_fsr_easu_color, 0) +xesl_entry_signature_end + // FsrEasuCon with smaller push constant usage. + xesl_uint4 easu_const_0 = + xesl_uint4( + xesl_floatBitsToUint( + xesl_push_constant(xe_fsr_easu_input_output_size_ratio)), + xesl_floatBitsToUint( + 0.5 * xesl_push_constant(xe_fsr_easu_input_output_size_ratio) - + 0.5)); + xesl_uint4 easu_const_1 = + xesl_floatBitsToUint(xesl_float4(1.0, 1.0, 1.0, -1.0) * + xesl_push_constant(xe_fsr_easu_input_size_inv).xyxy); + xesl_uint4 easu_const_2 = + xesl_floatBitsToUint(xesl_float4(-1.0, 2.0, 1.0, 2.0) * + xesl_push_constant(xe_fsr_easu_input_size_inv).xyxy); + xesl_uint4 easu_const_3 = + xesl_uint4(xesl_floatBitsToUint(0.0), + xesl_floatBitsToUint( + 4.0 * xesl_push_constant(xe_fsr_easu_input_size_inv).y), + 0u, 0u); + FsrEasuF(xe_fsr_easu_color.rgb, xesl_uint2(xesl_FragCoord.xy), easu_const_0, + easu_const_1, easu_const_2, easu_const_3); + xe_fsr_easu_color.a = 1.0; +xesl_entry_end + +#define A_GPU 1 +#include "../../../../third_party/FidelityFX-FSR/ffx-fsr/ffx_a.h" +#define FSR_EASU_F 1 +xesl_float4 FsrEasuRF(xesl_float2 p) { + return xesl_textureGatherRed2D_comb(xe_fsr_easu_source, p); +} +xesl_float4 FsrEasuGF(xesl_float2 p) { + return xesl_textureGatherGreen2D_comb(xe_fsr_easu_source, p); +} +xesl_float4 FsrEasuBF(xesl_float2 p) { + return xesl_textureGatherBlue2D_comb(xe_fsr_easu_source, p); +} +#include "../../../../third_party/FidelityFX-FSR/ffx-fsr/ffx_fsr1.h" diff --git a/src/xenia/ui/shaders/guest_output_ffx_fsr_rcas.glsli b/src/xenia/ui/shaders/guest_output_ffx_fsr_rcas.glsli deleted file mode 100644 index 5c60cd8ea..000000000 --- a/src/xenia/ui/shaders/guest_output_ffx_fsr_rcas.glsli +++ /dev/null @@ -1,45 +0,0 @@ -// At least #version 420. - -#if XE_GUEST_OUTPUT_DITHER - #include "dither_8bpc.xesli" -#endif // XE_GUEST_OUTPUT_DITHER - -layout(push_constant) uniform XeFsrRcasConstants { - // 16 occupied by the vertex shader. - layout(offset = 16) ivec2 xe_fsr_rcas_output_offset; - // FsrRcasCon const0.x. - layout(offset = 24) float xe_fsr_rcas_sharpness_post_setup; -}; - -layout(set = 0, binding = 0) uniform sampler2D xe_texture; - -layout(location = 0) out vec4 xe_frag_color; - -#define A_GPU 1 -#define A_GLSL 1 -#include "../../../../third_party/FidelityFX-FSR/ffx-fsr/ffx_a.h" -#define FSR_RCAS_F 1 -vec4 FsrRcasLoadF(ivec2 p) { - return vec4(texelFetch(xe_texture, p, 0).rgb, 1.0); -} -void FsrRcasInputF(inout float r, inout float g, inout float b) {} -#include "../../../../third_party/FidelityFX-FSR/ffx-fsr/ffx_fsr1.h" - -void main() { - uvec2 pixel_coord = uvec2(ivec2(gl_FragCoord.xy) - xe_fsr_rcas_output_offset); - // FsrRcasCon with smaller push constant usage. - uvec4 rcas_const = - uvec4(floatBitsToUint(xe_fsr_rcas_sharpness_post_setup), - packHalf2x16(vec2(xe_fsr_rcas_sharpness_post_setup)), 0u, 0u); - FsrRcasF(xe_frag_color.r, xe_frag_color.g, xe_frag_color.b, pixel_coord, - rcas_const); - #if XE_GUEST_OUTPUT_DITHER - // Clamping because on Vulkan, the surface may specify any format, including - // floating-point. - xe_frag_color.rgb = - clamp(xe_frag_color.rgb + XeDitherOffset8bpc(pixel_coord), - vec3(0.0, 0.0, 0.0), vec3(1.0, 1.0, 1.0)); - #endif // XE_GUEST_OUTPUT_DITHER - // Force alpha to 1 to make sure the surface won't be translucent. - xe_frag_color.a = 1.0; -} diff --git a/src/xenia/ui/shaders/guest_output_ffx_fsr_rcas.hlsli b/src/xenia/ui/shaders/guest_output_ffx_fsr_rcas.hlsli deleted file mode 100644 index c9bc3e7bf..000000000 --- a/src/xenia/ui/shaders/guest_output_ffx_fsr_rcas.hlsli +++ /dev/null @@ -1,36 +0,0 @@ -#if XE_GUEST_OUTPUT_DITHER - #include "dither_8bpc.xesli" -#endif // XE_GUEST_OUTPUT_DITHER - -cbuffer XeFsrRcasConstants : register(b0) { - int2 xe_fsr_rcas_output_offset; - // FsrRcasCon const0.x. - float xe_fsr_rcas_sharpness_post_setup; -}; - -Texture2D xe_texture : register(t0); - -#define A_GPU 1 -#define A_HLSL 1 -#include "../../../../third_party/FidelityFX-FSR/ffx-fsr/ffx_a.h" -#define FSR_RCAS_F 1 -float4 FsrRcasLoadF(int2 p) { - return float4(xe_texture.Load(int3(p, 0)).rgb, 1.0f); -} -void FsrRcasInputF(inout float r, inout float g, inout float b) {} -#include "../../../../third_party/FidelityFX-FSR/ffx-fsr/ffx_fsr1.h" - -float4 main(float4 xe_position : SV_Position) : SV_Target { - uint2 pixel_coord = uint2(int2(xe_position.xy) - xe_fsr_rcas_output_offset); - // FsrRcasCon with smaller root signature usage. - uint4 rcas_const = - uint4(asuint(xe_fsr_rcas_sharpness_post_setup), - f32tof16(xe_fsr_rcas_sharpness_post_setup) * 0x00010001u, 0u, 0u); - float3 rcas_color; - FsrRcasF(rcas_color.r, rcas_color.g, rcas_color.b, pixel_coord, rcas_const); - #if XE_GUEST_OUTPUT_DITHER - // Not clamping because a normalized format is explicitly requested on DXGI. - rcas_color += XeDitherOffset8bpc(pixel_coord); - #endif // XE_GUEST_OUTPUT_DITHER - return float4(rcas_color, 1.0f); -} diff --git a/src/xenia/ui/shaders/guest_output_ffx_fsr_rcas.ps.glsl b/src/xenia/ui/shaders/guest_output_ffx_fsr_rcas.ps.glsl deleted file mode 100644 index a5bb9f7af..000000000 --- a/src/xenia/ui/shaders/guest_output_ffx_fsr_rcas.ps.glsl +++ /dev/null @@ -1,3 +0,0 @@ -#version 420 -#extension GL_GOOGLE_include_directive : require -#include "guest_output_ffx_fsr_rcas.glsli" diff --git a/src/xenia/ui/shaders/guest_output_ffx_fsr_rcas.ps.hlsl b/src/xenia/ui/shaders/guest_output_ffx_fsr_rcas.ps.hlsl deleted file mode 100644 index 6133ff540..000000000 --- a/src/xenia/ui/shaders/guest_output_ffx_fsr_rcas.ps.hlsl +++ /dev/null @@ -1 +0,0 @@ -#include "guest_output_ffx_fsr_rcas.hlsli" diff --git a/src/xenia/ui/shaders/guest_output_ffx_fsr_rcas.ps.xesl b/src/xenia/ui/shaders/guest_output_ffx_fsr_rcas.ps.xesl new file mode 100644 index 000000000..92af3c83c --- /dev/null +++ b/src/xenia/ui/shaders/guest_output_ffx_fsr_rcas.ps.xesl @@ -0,0 +1,10 @@ +/** + ****************************************************************************** + * 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 "guest_output_ffx_fsr_rcas.xesli" diff --git a/src/xenia/ui/shaders/guest_output_ffx_fsr_rcas.xesli b/src/xenia/ui/shaders/guest_output_ffx_fsr_rcas.xesli new file mode 100644 index 000000000..f3ec9f2bd --- /dev/null +++ b/src/xenia/ui/shaders/guest_output_ffx_fsr_rcas.xesli @@ -0,0 +1,66 @@ +/** + ****************************************************************************** + * 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 "xesl.xesli" + +#include "amd_language.xesli" + +#if XE_GUEST_OUTPUT_DITHER + #include "dither_8bpc.xesli" +#endif // XE_GUEST_OUTPUT_DITHER + +xesl_push_constants_begin(b0, space0) + // 16 used by the vertex shader (GLSL push constant offsets are across + // stages). + xesl_block_offset_member(16, c0.x, xesl_int2, + xe_fsr_rcas_output_offset) + xesl_block_offset_member(24, c0.z, float, xe_fsr_rcas_sharpness_post_setup) +xesl_push_constants_end + +// Forward declaration because FsrRcasLoadF needs xe_fsr_rcas_source from the +// entry point bindings. +void FsrRcasF(out float pixel_r, out float pixel_g, out float pixel_b, + xesl_uint2 pixel_position, xesl_uint4 constants); + +xesl_entry + xesl_fetchSampler(xesl_sampler2D, xe_fsr_rcas_source, set=0, binding=0, t0, + space0) +xesl_entry_bindings_end + xesl_input_frag_coord + xesl_entry_signature_next + xesl_output_color(xesl_float4, xe_fsr_rcas_color, 0) +xesl_entry_signature_end + xesl_uint2 pixel_coord = + xesl_uint2(xesl_int2(xesl_FragCoord.xy) - + xesl_push_constant(xe_fsr_rcas_output_offset)); + float sharpness = xesl_push_constant(xe_fsr_rcas_sharpness_post_setup); + // FsrRcasCon with smaller push constant usage. + xesl_uint4 rcas_const = + xesl_uint4(xesl_floatBitsToUint(sharpness), + xesl_packHalf2x16(xesl_float2(sharpness, sharpness)), 0u, 0u); + FsrRcasF(xe_fsr_rcas_color.r, xe_fsr_rcas_color.g, xe_fsr_rcas_color.b, + pixel_coord, rcas_const); + #if XE_GUEST_OUTPUT_DITHER + // Clamping because on Vulkan, the surface may specify any format, including + // floating-point. + xe_fsr_rcas_color.rgb = + xesl_saturate(xe_fsr_rcas_color.rgb + XeDitherOffset8bpc(pixel_coord)); + #endif // XE_GUEST_OUTPUT_DITHER + // Force alpha to 1 to make sure the surface won't be translucent. + xe_fsr_rcas_color.a = 1.0; +xesl_entry_end + +#define A_GPU 1 +#include "../../../../third_party/FidelityFX-FSR/ffx-fsr/ffx_a.h" +#define FSR_RCAS_F 1 +xesl_float4 FsrRcasLoadF(xesl_int2 p) { + return xesl_float4(xesl_texelFetch2D_comb(xe_fsr_rcas_source, p, 0).rgb, 1.0); +} +void FsrRcasInputF(inout float r, inout float g, inout float b) {} +#include "../../../../third_party/FidelityFX-FSR/ffx-fsr/ffx_fsr1.h" diff --git a/src/xenia/ui/shaders/guest_output_ffx_fsr_rcas_dither.ps.glsl b/src/xenia/ui/shaders/guest_output_ffx_fsr_rcas_dither.ps.glsl deleted file mode 100644 index 2e0f18cb8..000000000 --- a/src/xenia/ui/shaders/guest_output_ffx_fsr_rcas_dither.ps.glsl +++ /dev/null @@ -1,4 +0,0 @@ -#version 420 -#extension GL_GOOGLE_include_directive : require -#define XE_GUEST_OUTPUT_DITHER 1 -#include "guest_output_ffx_fsr_rcas.glsli" diff --git a/src/xenia/ui/shaders/guest_output_ffx_fsr_rcas_dither.ps.hlsl b/src/xenia/ui/shaders/guest_output_ffx_fsr_rcas_dither.ps.hlsl deleted file mode 100644 index ed669fa64..000000000 --- a/src/xenia/ui/shaders/guest_output_ffx_fsr_rcas_dither.ps.hlsl +++ /dev/null @@ -1,2 +0,0 @@ -#define XE_GUEST_OUTPUT_DITHER 1 -#include "guest_output_ffx_fsr_rcas.hlsli" diff --git a/src/xenia/ui/shaders/guest_output_ffx_fsr_rcas_dither.ps.xesl b/src/xenia/ui/shaders/guest_output_ffx_fsr_rcas_dither.ps.xesl new file mode 100644 index 000000000..0bbc2d3f1 --- /dev/null +++ b/src/xenia/ui/shaders/guest_output_ffx_fsr_rcas_dither.ps.xesl @@ -0,0 +1,11 @@ +/** + ****************************************************************************** + * 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_GUEST_OUTPUT_DITHER 1 +#include "guest_output_ffx_fsr_rcas.xesli" diff --git a/src/xenia/ui/shaders/guest_output_triangle_strip_rect.vs.glsl b/src/xenia/ui/shaders/guest_output_triangle_strip_rect.vs.glsl deleted file mode 100644 index 5127c10ae..000000000 --- a/src/xenia/ui/shaders/guest_output_triangle_strip_rect.vs.glsl +++ /dev/null @@ -1,17 +0,0 @@ -#version 310 es - -layout(push_constant) uniform XeTriangleStripRectConstants { - // If the layout is changed, update the base offset in all guest output - // fragment shaders! - vec2 xe_triangle_strip_rect_offset; - // Can be negative. - vec2 xe_triangle_strip_rect_size; -}; - -void main() { - // Passthrough - coordinate system differences are to be handled externally. - gl_Position = vec4(xe_triangle_strip_rect_offset + - vec2((uvec2(gl_VertexIndex) >> uvec2(0u, 1u)) & 1u) * - xe_triangle_strip_rect_size, - 0.0, 1.0); -} diff --git a/src/xenia/ui/shaders/guest_output_triangle_strip_rect.vs.hlsl b/src/xenia/ui/shaders/guest_output_triangle_strip_rect.vs.hlsl deleted file mode 100644 index f265ac0a3..000000000 --- a/src/xenia/ui/shaders/guest_output_triangle_strip_rect.vs.hlsl +++ /dev/null @@ -1,14 +0,0 @@ -cbuffer XeTriangleStripRectConstants : register(b0) { - float2 xe_triangle_strip_rect_offset; - // Can be negative. - float2 xe_triangle_strip_rect_size; -}; - -void main(uint xe_vertex_id : SV_VertexID, - out float4 xe_position : SV_Position) { - // Passthrough - coordinate system differences are to be handled externally. - xe_position = float4(xe_triangle_strip_rect_offset + - float2((xe_vertex_id >> uint2(0u, 1u)) & 1u) * - xe_triangle_strip_rect_size, - 0.0f, 1.0f); -} diff --git a/src/xenia/ui/shaders/guest_output_triangle_strip_rect.vs.xesl b/src/xenia/ui/shaders/guest_output_triangle_strip_rect.vs.xesl new file mode 100644 index 000000000..3b9e8d192 --- /dev/null +++ b/src/xenia/ui/shaders/guest_output_triangle_strip_rect.vs.xesl @@ -0,0 +1,33 @@ +/** + ****************************************************************************** + * 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 "xesl.xesli" + +xesl_push_constants_begin(b0, space0) + // If the layout is changed, update the base offset in all guest output pixel + // shaders! + xesl_float2 xe_triangle_strip_rect_offset; + // Can be negative. + xesl_float2 xe_triangle_strip_rect_size; +xesl_push_constants_end + +xesl_entry +xesl_entry_bindings_end + xesl_input_vertex_id + xesl_entry_signature_next + xesl_output_position +xesl_entry_signature_end + xesl_Position = + xesl_float4( + xesl_push_constant(xe_triangle_strip_rect_offset) + + xesl_float2((xesl_uint2(xesl_VertexID, xesl_VertexID) >> + xesl_uint2(0u, 1u)) & 1u) * + xesl_push_constant(xe_triangle_strip_rect_size), + 0.0, 1.0); +xesl_entry_end diff --git a/src/xenia/ui/shaders/immediate.ps.glsl b/src/xenia/ui/shaders/immediate.ps.glsl deleted file mode 100644 index 29e32f2bb..000000000 --- a/src/xenia/ui/shaders/immediate.ps.glsl +++ /dev/null @@ -1,14 +0,0 @@ -#version 310 es -precision highp float; - -layout(set = 0, binding = 0) uniform lowp sampler2D xe_immediate_texture; - -layout(location = 0) in vec2 xe_var_texcoord; -layout(location = 1) in lowp vec4 xe_var_color; - -layout(location = 0) out lowp vec4 xe_frag_color; - -void main() { - xe_frag_color = - xe_var_color * textureLod(xe_immediate_texture, xe_var_texcoord, 0.0); -} diff --git a/src/xenia/ui/shaders/immediate.ps.hlsl b/src/xenia/ui/shaders/immediate.ps.hlsl deleted file mode 100644 index 7f747f757..000000000 --- a/src/xenia/ui/shaders/immediate.ps.hlsl +++ /dev/null @@ -1,12 +0,0 @@ -Texture2D xe_immediate_texture : register(t0); -SamplerState xe_immediate_sampler : register(s0); - -struct XePixelShaderInput { - float2 texcoord : TEXCOORD0; - float4 color : TEXCOORD1; -}; - -float4 main(XePixelShaderInput input) : SV_Target { - return input.color * xe_immediate_texture.SampleLevel(xe_immediate_sampler, - input.texcoord, 0.0f); -} diff --git a/src/xenia/ui/shaders/immediate.ps.xesl b/src/xenia/ui/shaders/immediate.ps.xesl new file mode 100644 index 000000000..06caefc30 --- /dev/null +++ b/src/xenia/ui/shaders/immediate.ps.xesl @@ -0,0 +1,25 @@ +/** + ****************************************************************************** + * 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 "xesl.xesli" + +xesl_entry + xesl_sampler(xesl_sampler2D, xe_immediate_texture, set=0, binding=0, t0, + space0, s0, space0) +xesl_entry_bindings_end + xesl_input(xesl_float2, xe_in_texcoord, 0, TEXCOORD) + xesl_entry_signature_next + xesl_input(xesl_float4, xe_in_color, 1, COLOR) + xesl_entry_signature_next + xesl_output_color(xesl_float4, xe_out_color, 0) +xesl_entry_signature_end + xe_out_color = + xe_in_color * + xesl_textureSampleLod2D_comb(xe_immediate_texture, xe_in_texcoord, 0.0); +xesl_entry_end diff --git a/src/xenia/ui/shaders/immediate.vs.glsl b/src/xenia/ui/shaders/immediate.vs.glsl deleted file mode 100644 index ce84d6311..000000000 --- a/src/xenia/ui/shaders/immediate.vs.glsl +++ /dev/null @@ -1,20 +0,0 @@ -#version 310 es - -layout(push_constant) uniform XePushConstants { - vec2 xe_coordinate_space_size_inv; -}; - -layout(location = 0) in vec2 xe_attr_position; -layout(location = 1) in vec2 xe_attr_texcoord; -layout(location = 2) in lowp vec4 xe_attr_color; - -layout(location = 0) out vec2 xe_var_texcoord; -layout(location = 1) out lowp vec4 xe_var_color; - -void main() { - xe_var_texcoord = xe_attr_texcoord; - xe_var_color = xe_attr_color; - gl_Position = - vec4(xe_attr_position * xe_coordinate_space_size_inv * 2.0 - 1.0, 0.0, - 1.0); -} diff --git a/src/xenia/ui/shaders/immediate.vs.hlsl b/src/xenia/ui/shaders/immediate.vs.hlsl deleted file mode 100644 index 0746fa4c4..000000000 --- a/src/xenia/ui/shaders/immediate.vs.hlsl +++ /dev/null @@ -1,25 +0,0 @@ -cbuffer XeImmediateVertexConstants : register(b0) { - float2 xe_coordinate_space_size_inv; -}; - -struct XeVertexShaderInput { - float2 position : POSITION; - float2 texcoord : TEXCOORD; - float4 color : COLOR; -}; - -struct XeVertexShaderOutput { - float2 texcoord : TEXCOORD0; - float4 color : TEXCOORD1; - float4 position : SV_Position; -}; - -XeVertexShaderOutput main(XeVertexShaderInput input) { - XeVertexShaderOutput output; - output.position = float4( - input.position * xe_coordinate_space_size_inv * float2(2.0, -2.0) + - float2(-1.0, 1.0), 0.0, 1.0); - output.texcoord = input.texcoord; - output.color = input.color; - return output; -} diff --git a/src/xenia/ui/shaders/immediate.vs.xesl b/src/xenia/ui/shaders/immediate.vs.xesl new file mode 100644 index 000000000..311036fa4 --- /dev/null +++ b/src/xenia/ui/shaders/immediate.vs.xesl @@ -0,0 +1,38 @@ +/** + ****************************************************************************** + * 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 "xesl.xesli" + +xesl_push_constants_begin(b0, space0) + xesl_float2 xe_coordinate_space_size_inv; +xesl_push_constants_end + +xesl_entry +xesl_entry_bindings_end + xesl_input(xesl_float2, xe_in_position, 0, POSITION) + xesl_entry_signature_next + xesl_input(xesl_float2, xe_in_texcoord, 1, TEXCOORD) + xesl_entry_signature_next + xesl_input(xesl_float4, xe_in_color, 2, COLOR) + xesl_entry_signature_next + xesl_output(xesl_float2, xe_out_texcoord, 0, TEXCOORD) + xesl_entry_signature_next + xesl_output(xesl_float4, xe_out_color, 1, COLOR) + xesl_entry_signature_next + xesl_output_position +xesl_entry_signature_end + xe_out_texcoord = xe_in_texcoord; + xe_out_color = xe_in_color; + xesl_Position = + xesl_float4(xe_in_position * + xesl_push_constant(xe_coordinate_space_size_inv) * + xesl_float2(2.0, 2.0 * XESL_Y_SCREEN_DIRECTION) - + xesl_float2(1.0, XESL_Y_SCREEN_DIRECTION), + 0.0, 1.0); +xesl_entry_end diff --git a/src/xenia/ui/shaders/noise.xesli b/src/xenia/ui/shaders/noise.xesli index 4e3c897fa..4e3e8af54 100644 --- a/src/xenia/ui/shaders/noise.xesli +++ b/src/xenia/ui/shaders/noise.xesli @@ -1,3 +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. * + ****************************************************************************** + */ + #ifndef XENIA_UI_SHADERS_NOISE_XESLI_ #define XENIA_UI_SHADERS_NOISE_XESLI_ diff --git a/src/xenia/ui/shaders/xesl.xesli b/src/xenia/ui/shaders/xesl.xesli index d112c08a2..0c113eb05 100644 --- a/src/xenia/ui/shaders/xesl.xesli +++ b/src/xenia/ui/shaders/xesl.xesli @@ -1,9 +1,39 @@ +/** + ****************************************************************************** + * Xenia : Xbox 360 Emulator Research Project * + ****************************************************************************** + * Copyright 2022 Ben Vanik. All rights reserved. * + * Released under the BSD license - see LICENSE in the root for more details. * + ****************************************************************************** + */ + #ifndef XENIA_UI_SHADERS_XESL_XESLI_ #define XENIA_UI_SHADERS_XESL_XESLI_ -// XESL_LANGUAGE_GLSL / HLSL are expected to be defined via compiler arguments. +// XESL_LANGUAGE_GLSL / HLSL = 1 are expected to be defined via compiler +// arguments. + +// For functions, it's preferable to take the identifiers here from an existing +// target language, such as GLSL or HLSL, prefixing them with xesl_, only +// modifying the names when altering (generalizing or specializing usually) +// their functionality compared to that of the original function. The preferred +// name choice from all the shading languages is the name that reflects the +// functionality the closest, especially if some languages have a narrower input +// domain (for instance, HLSL has asuint that can accept both float and int, +// while GLSL has floatBitsToUint that accepts only float - there are two +// options here, a xesl_floatBitsToUint alias, or xesl_asuint overloads, but the +// former is more precisely descriptive, so it's preferred; xesl_lerp is +// preferred over xesl_mix because the former describes how exactly the mixing +// will be performed), and / or that is the most visually consistent +// (xesl_float4 over xesl_vec4 considering it's a float vector). // Vectors. + +// Scalars for definition consistency. +#define xesl_bool bool +#define xesl_int int +#define xesl_uint uint +#define xesl_float float #if XESL_LANGUAGE_GLSL #define xesl_bool2 bvec2 #define xesl_bool3 bvec3 @@ -33,13 +63,377 @@ #endif // XESL_LANGUAGE_GLSL // Declarations. +// +// Resource binding is very different between shading languages, so any +// customizations are fine in it. All binding slots for all APIs, however, +// should be explicitly specified by the shader for ease of manual lookup and +// tweaking. They should be alphabetically ordered by the name of the target +// shading language in the argument lists (GLSL before HLSL). For readability, +// the `set=` and `binding=` specifiers, and register types and the `space` +// prefix in HLSL, are exposed to the shader, even though they're redundant. +// +// The xesl_id_ prefix (with context-specific sub-prefixes) can be used to +// create internal derivative identifiers (such as buffer block names from +// instance names, or separate texture and sampler from a combined texture / +// sampler for languages not supporting the latter). + +// Shader entry point must be declared as: +// xesl_entry +// Everything here must be separated with xesl_entry_binding_next, with no +// leading or trailing separators. +// - Texel buffer, texture, sampler bindings. +// xesl_entry_bindings_end +// Everything here must be separated with xesl_entry_signature_next, with no +// leading or trailing separators. +// - Linked stage inputs. +// - Linked system stage inputs (like pixel position). +// - System stage inputs. +// - Linked stage outputs. +// - Linked system stage outputs (like vertex position). +// - System stage outputs. +// xesl_entry_signature_end +// - Main function code. +// xesl_entry_end +// Bindings are in the entry point because they are passed this way in MSL. +// Note that for the stage inputs / outputs, the order must be the same as in +// HLSL linkage. +// Both binding and signature entry names may be placed in the global scope in +// the target language, make sure they don't collide with anything there. +#if XESL_LANGUAGE_GLSL + #define xesl_entry_signature_end void main() { +#elif XESL_LANGUAGE_HLSL + #define xesl_entry_bindings_end void main( + #define xesl_entry_signature_next , + #define xesl_entry_signature_end ) { +#else + #error xesl_entry not defined for the target language. +#endif // XE_LANGUAGE +#ifndef xesl_entry + #define xesl_entry +#endif // !xesl_entry +#ifndef xesl_entry_binding_next + #define xesl_entry_binding_next +#endif // !xesl_entry_binding_next +#ifndef xesl_entry_bindings_end + #define xesl_entry_bindings_end +#endif // !xesl_entry_bindings_end +#ifndef xesl_entry_signature_next + #define xesl_entry_signature_next +#endif // !xesl_entry_signature_next +#ifndef xesl_entry_end + #define xesl_entry_end } +#endif // !xesl_entry_end + #if XESL_LANGUAGE_HLSL - // HLSL requires static const to declare a constant in the global scope so it - // doesn't go to $Globals instead. + // HLSL requires static const for declaring a constant in the global scope so + // it doesn't go to $Globals instead. #define xesl_static static #else - // GLSL requires just const to declare a constant in the global scope. + // GLSL requires just const for declaring a constant in the global scope. #define xesl_static #endif // XESL_LANGUAGE_HLSL +#if XESL_LANGUAGE_GLSL + #define xesl_block_offset_member(glsl_offset_bytes, hlsl_packoffset, type, \ + name_element_count) \ + layout(offset=glsl_offset_bytes) type name_element_count; +#elif XESL_LANGUAGE_HLSL + #define xesl_block_offset_member(glsl_offset_bytes, hlsl_packoffset, type, \ + name_element_count) \ + type name_element_count : packoffset(hlsl_packoffset); +#else + #error xesl_block_offset_member not defined for the target language. +#endif // XESL_LANGUAGE + +// Structures of constant and structured buffer bindings must be declared before +// the entry point declaration. + +// Constant buffers and push constants must be manually packed as std140 (which +// is stricter than HLSL packing) due to the GLSL requirement. This means that +// 32x4 and 32x3 vectors must start at 16-byte alignment, 32x2 at 8-byte, and a +// single 32-bit value can be placed immediately after a 32x3 vector (the Vulkan +// definition of this behavior). Specifically, all alignment padding must be +// inserted explicitly (or xesl_block_offset_member must be used), as by default +// HLSL doesn't have the alignment requirement, only the rule that elements +// (array elements, or single non-array members) must not cross 32x4 vector +// boundaries, so something like float|float3 or float|float2|float will be +// packed differently in GLSL (float|pad3|float3 or float|pad|float2|float) and +// HLSL (float|float3 or float|float2|float). + +// Constant buffer and push constant member names will be in the global scope in +// some target languages - they must not collide with anything else there. To +// access a constant, use xesl_constant or xesl_push_constant. + +// Push constants, even though may be spread across multiple constant buffers in +// the Direct3D 12 API, must be declared in a single structure in XeSL - the +// reason is that layout qualifiers in GLSL can't be used in regular structures, +// only in blocks, and sub-blocks can't be declared in a block, so there's no +// way to create separate identifiers for push constant ranges in GLSL. Though +// both GLSL and HLSL support anonymous push constants / cbuffers, MSL requires +// a name for the buffer binding. +// In GLSL, the offsets in the push constants are global across shader stages. +// In HLSL, they're local to the specific root constant buffer. +#if XESL_LANGUAGE_GLSL + #define xesl_push_constants_begin(hlsl_b, hlsl_b_space) \ + layout(push_constant) uniform xesl_push_constants_block { + #define xesl_push_constants_end \ + } xesl_push_constants; +#elif XESL_LANGUAGE_HLSL + #define XESL_PUSH_CONSTANTS_GLOBAL 1 + #define xesl_push_constants_begin(hlsl_b, hlsl_b_space) \ + cbuffer xesl_push_constants : register(hlsl_b, hlsl_b_space) { + #define xesl_push_constants_end \ + }; +#else + #error xesl_push_constants not defined for the target language. +#endif // XESL_LANGUAGE +#if XESL_PUSH_CONSTANTS_GLOBAL + #define xesl_push_constant(name) name +#else + #define xesl_push_constant(name) xesl_push_constants.name +#endif // XESL_PUSH_CONSTANTS_GLOBAL + +// Texture, sampler and image declarations must be in the entry point bindings +// declaration. +// - xesl_texture is a separate texture. +// - xesl_samplerState is a separate sampler. +// - xesl_sampler is a combined texture / sampler where available, internally +// separate where not. +// - xesl_fetchSampler is a special kind of xesl_sampler for use when only +// texelFetch is needed - it can be used with xesl_texelFetch#D_comb just like +// a xesl_sampler, but when the target language doesn't need the sampler state +// for texelFetch, the unused sampler will not be created. +#if XESL_LANGUAGE_GLSL + #define XESL_COMBINED_TEXTURE_SAMPLER 1 + #define XESL_TEXEL_FETCH_USES_SAMPLER 1 + // Types. + #define xesl_texture2D texture2D + #define xesl_sampler2D sampler2D + // Binding declarations. + #define xesl_texture(texture_type, name, glsl_set, glsl_binding, hlsl_t, \ + hlsl_t_space) \ + layout(glsl_set, glsl_binding) uniform texture_type name; + #define xesl_samplerState(name, glsl_set, glsl_binding, hlsl_s, \ + hlsl_s_space) \ + layout(glsl_set, glsl_binding) uniform sampler name; + #define xesl_sampler(sampler_type, name, glsl_set, glsl_binding, hlsl_t, \ + hlsl_t_space, hlsl_s, hlsl_s_space) \ + layout(glsl_set, glsl_binding) uniform sampler_type name; + // Fetching. + #define xesl_texelFetch2D_sep(texture_name, sampler_name, position, lod) \ + texelFetch(sampler2D(texture_name, sampler_name), position, lod) + #define xesl_texelFetch2D_comb(texture_sampler_name, position, lod) \ + texelFetch(texture_sampler_name, position, lod) + #define xesl_textureSampleLod2D_sep(texture, sampler_name, position, lod) \ + textureLod(sampler2D(texture_name, sampler_name), position, lod) + #define xesl_textureSampleLod2D_comb(texture_sampler_name, position, lod) \ + textureLod(texture_sampler_name, position, lod) + #define xesl_textureGatherRed2D_sep(texture_name, sampler_name, position) \ + textureGather(sampler2D(texture_name, sampler_name), position, 0) + #define xesl_textureGatherGreen2D_sep(texture_name, sampler_name, position) \ + textureGather(sampler2D(texture_name, sampler_name), position, 1) + #define xesl_textureGatherBlue2D_sep(texture_name, sampler_name, position) \ + textureGather(sampler2D(texture_name, sampler_name), position, 2) + #define xesl_textureGatherAlpha2D_sep(texture_name, sampler_name, position) \ + textureGather(sampler2D(texture_name, sampler_name), position, 3) + #define xesl_textureGatherRed2D_comb(texture_sampler_name, position) \ + textureGather(texture_sampler_name, position, 0) + #define xesl_textureGatherGreen2D_comb(texture_sampler_name, position) \ + textureGather(texture_sampler_name, position, 1) + #define xesl_textureGatherBlue2D_comb(texture_sampler_name, position) \ + textureGather(texture_sampler_name, position, 2) + #define xesl_textureGatherAlpha2D_comb(texture_sampler_name, position) \ + textureGather(texture_sampler_name, position, 3) +#elif XESL_LANGUAGE_HLSL + // Types. + #define xesl_texture2D Texture2D + // Binding declarations. + #define xesl_texture(texture_type, name, glsl_set, glsl_binding, hlsl_t, \ + hlsl_t_space) \ + texture_type name : register(hlsl_t, hlsl_t_space); + #define xesl_samplerState(name, glsl_set, glsl_binding, hlsl_s, \ + hlsl_s_space) \ + SamplerState name : register(hlsl_s, hlsl_s_space); + // Fetching. + #define xesl_texelFetch2D_sep(texture_name, sampler_name, position, lod) \ + ((texture_name).Load(int3(position, lod))) + #define xesl_texelFetch2D_comb(texture_sampler_name, position, lod) \ + ((xesl_id_texture_##texture_sampler_name).Load(int3(position, lod))) + #define xesl_textureSampleLod2D_sep(texture_name, sampler_name, position, \ + lod) \ + ((texture_name).SampleLevel(sampler_name, position, lod)) + #define xesl_textureGatherRed2D_sep(texture_name, sampler_name, position) \ + ((texture_name).GatherRed(sampler_name, position)) + #define xesl_textureGatherGreen2D_sep(texture_name, sampler_name, position) \ + ((texture_name).GatherGreen(sampler_name, position)) + #define xesl_textureGatherBlue2D_sep(texture_name, sampler_name, position) \ + ((texture_name).GatherBlue(sampler_name, position)) + #define xesl_textureGatherAlpha2D_sep(texture_name, sampler_name, position) \ + ((texture_name).GatherAlpha(sampler_name, position)) +#else + #error xesl_texture and xesl_samplerState not defined for the target language. +#endif // XESL_LANGUAGE +// If there's no language specialization doing this already, implement combined +// textures / samplers as separate, with `xesl_id_texture_` and +// `xesl_id_sampler_` prefixes. The sampler types become the texture types. +#if !XESL_COMBINED_TEXTURE_SAMPLER + #ifndef xesl_sampler2D + #define xesl_sampler2D xesl_texture2D + #endif // !xesl_sampler2D + #ifndef xesl_sampler + #define xesl_sampler(sampler_type, name, glsl_set, glsl_binding, hlsl_t, \ + hlsl_t_space, hlsl_s, hlsl_s_space) \ + xesl_texture(sampler_type, xesl_id_texture_##name, glsl_set, \ + glsl_binding, hlsl_t, hlsl_t_space) \ + xesl_entry_binding_next \ + xesl_samplerState(xesl_id_sampler_##name, glsl_set, glsl_binding, \ + hlsl_s, hlsl_s_space) + #endif // !xesl_sampler + #ifndef xesl_textureSampleLod2D_comb + #define xesl_textureSampleLod2D_comb(texture_sampler_name, position, lod) \ + xesl_textureSampleLod2D_sep(xesl_id_texture_##texture_sampler_name, \ + xesl_id_sampler_##texture_sampler_name, \ + position, lod) + #endif // !xesl_textureSampleLod2D_comb + #ifndef xesl_textureGatherRed2D_comb + #define xesl_textureGatherRed2D_comb(texture_sampler_name, position) \ + xesl_textureGatherRed2D_sep(xesl_id_texture_##texture_sampler_name, \ + xesl_id_sampler_##texture_sampler_name, \ + position) + #endif // !xesl_textureGatherRed2D_comb + #ifndef xesl_textureGatherGreen2D_comb + #define xesl_textureGatherGreen2D_comb(texture_sampler_name, position) \ + xesl_textureGatherGreen2D_sep(xesl_id_texture_##texture_sampler_name, \ + xesl_id_sampler_##texture_sampler_name, \ + position) + #endif // !xesl_textureGatherGreen2D_comb + #ifndef xesl_textureGatherBlue2D_comb + #define xesl_textureGatherBlue2D_comb(texture_sampler_name, position) \ + xesl_textureGatherBlue2D_sep(xesl_id_texture_##texture_sampler_name, \ + xesl_id_sampler_##texture_sampler_name, \ + position) + #endif // !xesl_textureGatherBlue2D_comb + #ifndef xesl_textureGatherAlpha2D_comb + #define xesl_textureGatherAlpha2D_comb(texture_sampler_name, position) \ + xesl_textureGatherAlpha2D_sep(xesl_id_texture_##texture_sampler_name, \ + xesl_id_sampler_##texture_sampler_name, \ + position) + #endif // !xesl_textureGatherAlpha2D_comb +#endif // !XESL_COMBINED_TEXTURE_SAMPLER +#if XESL_TEXEL_FETCH_USES_SAMPLER + #ifndef xesl_fetchSampler + #define xesl_fetchSampler(sampler_type, name, glsl_set, glsl_binding, \ + hlsl_t, hlsl_t_space) \ + xesl_sampler(sampler_type, name, glsl_set, glsl_binding, hlsl_t, \ + hlsl_t_space, s0, space0) + #endif // !xesl_fetchSampler +#else + #ifndef xesl_fetchSampler + #define xesl_fetchSampler(sampler_type, name, glsl_set, glsl_binding, \ + hlsl_t, hlsl_t_space) \ + xesl_texture(sampler_type, xesl_id_texture_##name, glsl_set, \ + glsl_binding, hlsl_t, hlsl_t_space) + #endif // !xesl_fetchSampler +#endif // XESL_TEXEL_FETCH_USES_SAMPLER + +// xesl_input_vertex_id declares int xesl_VertexID. +// xesl_input_frag_coord declares xesl_float4 xesl_FragCoord. +// xesl_FragCoord.w is 1/W if XESL_FRAG_COORD_W_IS_INVERSE, W otherwise. +// xesl_output_position declares xesl_float4 xesl_Position. +#if XESL_LANGUAGE_GLSL + #define XESL_FRAG_COORD_W_IS_INVERSE 1 + #define xesl_VertexID gl_VertexIndex + #define xesl_FragCoord gl_FragCoord + #define xesl_Position gl_Position + #define xesl_input(type, name, index, hlsl_semantic) \ + layout(location=index) in type name; + #define xesl_input_vertex_id + #define xesl_input_frag_coord + #define xesl_output(type, name, index, hlsl_semantic) \ + layout(location=index) out type name; + #define xesl_output_position + #define xesl_output_color(type, name, index) \ + layout(location=index) out type name; +#elif XESL_LANGUAGE_HLSL + #define xesl_VertexID (int(xesl_id_vertex_id)) + #define xesl_input(type, name, index, hlsl_semantic) \ + type name : hlsl_semantic + #define xesl_input_vertex_id \ + uint xesl_id_vertex_id : SV_VertexID + #define xesl_input_frag_coord \ + xesl_float4 xesl_FragCoord : SV_Position + #define xesl_output(type, name, index, hlsl_semantic) \ + out type name : hlsl_semantic + #define xesl_output_position \ + out xesl_float4 xesl_Position : SV_Position + #define xesl_output_color(type, name, index) \ + out type name : SV_Target##index +#else + #error xesl_input and xesl_output not defined for the target language. +#endif // XESL_LANGUAGE + +// XESL_Y_SCREEN_DIRECTION is 1.0 if with a positive viewport height, +// +xesl_Position.y is towards +xesl_FragCoord.y, -1.0 if +xesl_Position.y is +// towards -xesl_FragCoord.y. +#if XESL_LANGUAGE_GLSL + #define XESL_Y_SCREEN_DIRECTION 1.0 +#else + #define XESL_Y_SCREEN_DIRECTION -1.0 +#endif // XESL_LANGUAGE_GLSL + +// Function aliases. + +#if XESL_LANGUAGE_HLSL + // Using functions instead of #define for implicit argument conversion. + int xesl_floatBitsToInt(float value) { return asint(value); } + xesl_int2 xesl_floatBitsToInt(xesl_float2 value) { return asint(value); } + xesl_int3 xesl_floatBitsToInt(xesl_float3 value) { return asint(value); } + xesl_int4 xesl_floatBitsToInt(xesl_float4 value) { return asint(value); } + uint xesl_floatBitsToUint(float value) { return asuint(value); } + xesl_uint2 xesl_floatBitsToUint(xesl_float2 value) { return asuint(value); } + xesl_uint3 xesl_floatBitsToUint(xesl_float3 value) { return asuint(value); } + xesl_uint4 xesl_floatBitsToUint(xesl_float4 value) { return asuint(value); } + float xesl_intBitsToFloat(int value) { return asfloat(value); } + xesl_float2 xesl_intBitsToFloat(xesl_int2 value) { return asfloat(value); } + xesl_float3 xesl_intBitsToFloat(xesl_int3 value) { return asfloat(value); } + xesl_float4 xesl_intBitsToFloat(xesl_int4 value) { return asfloat(value); } + float xesl_uintBitsToFloat(uint value) { return asfloat(value); } + xesl_float2 xesl_uintBitsToFloat(xesl_uint2 value) { return asfloat(value); } + xesl_float3 xesl_uintBitsToFloat(xesl_uint3 value) { return asfloat(value); } + xesl_float4 xesl_uintBitsToFloat(xesl_uint4 value) { return asfloat(value); } +#else + #define xesl_floatBitsToInt floatBitsToInt + #define xesl_floatBitsToUint floatBitsToUint + #define xesl_intBitsToFloat intBitsToFloat + #define xesl_uintBitsToFloat uintBitsToFloat +#endif // XESL_LANGUAGE_HLSL + +#if XESL_LANGUAGE_GLSL + float xesl_saturate(float value) { + return clamp(value, 0.0, 1.0); + } + xesl_float2 xesl_saturate(xesl_float2 value) { + return clamp(value, xesl_float2(0.0, 0.0), xesl_float2(1.0, 1.0)); + } + xesl_float3 xesl_saturate(xesl_float3 value) { + return clamp(value, xesl_float3(0.0, 0.0, 0.0), xesl_float3(1.0, 1.0, 1.0)); + } + xesl_float4 xesl_saturate(xesl_float4 value) { + return clamp(value, xesl_float4(0.0, 0.0, 0.0, 0.0), + xesl_float4(1.0, 1.0, 1.0, 1.0)); + } +#else + #define xesl_saturate saturate +#endif // XESL_LANGUAGE_GLSL + +#if XESL_LANGUAGE_GLSL + #define xesl_packHalf2x16 packHalf2x16 +#elif XESL_LANGUAGE_HLSL + uint xesl_packHalf2x16(xesl_float2 value) { + return f32tof16(value.x) | (f32tof16(value.y) << 16u); + } +#else + #error xesl_packHalf2x16 not defined for the target language. +#endif // XESL_LANGUAGE + #endif // XENIA_UI_SHADERS_XESL_XESLI_