diff options
Diffstat (limited to 'src/shaders/out/GL')
| -rw-r--r-- | src/shaders/out/GL/BlurX_PS.cpp | 453 | ||||
| -rw-r--r-- | src/shaders/out/GL/BlurX_PS.h | 49 | ||||
| -rw-r--r-- | src/shaders/out/GL/BlurY_PS.cpp | 465 | ||||
| -rw-r--r-- | src/shaders/out/GL/BlurY_PS.h | 49 | ||||
| -rw-r--r-- | src/shaders/out/GL/CoarseAO_PS.cpp | 15519 | ||||
| -rw-r--r-- | src/shaders/out/GL/CoarseAO_PS.h | 72 | ||||
| -rw-r--r-- | src/shaders/out/GL/CopyDepth_PS.cpp | 139 | ||||
| -rw-r--r-- | src/shaders/out/GL/CopyDepth_PS.h | 38 | ||||
| -rw-r--r-- | src/shaders/out/GL/DebugNormals_PS.cpp | 313 | ||||
| -rw-r--r-- | src/shaders/out/GL/DebugNormals_PS.h | 39 | ||||
| -rw-r--r-- | src/shaders/out/GL/DeinterleaveDepth_PS.cpp | 112 | ||||
| -rw-r--r-- | src/shaders/out/GL/DeinterleaveDepth_PS.h | 27 | ||||
| -rw-r--r-- | src/shaders/out/GL/LinearizeDepth_PS.cpp | 145 | ||||
| -rw-r--r-- | src/shaders/out/GL/LinearizeDepth_PS.h | 38 | ||||
| -rw-r--r-- | src/shaders/out/GL/ReconstructNormal_PS.cpp | 125 | ||||
| -rw-r--r-- | src/shaders/out/GL/ReconstructNormal_PS.h | 27 | ||||
| -rw-r--r-- | src/shaders/out/GL/ReinterleaveAO_PS.cpp | 128 | ||||
| -rw-r--r-- | src/shaders/out/GL/ReinterleaveAO_PS.h | 38 |
18 files changed, 17776 insertions, 0 deletions
diff --git a/src/shaders/out/GL/BlurX_PS.cpp b/src/shaders/out/GL/BlurX_PS.cpp new file mode 100644 index 0000000..f42702c --- /dev/null +++ b/src/shaders/out/GL/BlurX_PS.cpp @@ -0,0 +1,453 @@ +static const char* g_BlurX_PS_ENABLE_SHARPNESS_PROFILE_0_KERNEL_RADIUS_2_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"uniform sampler2D g_t0;\n" +" in vec4 VtxGeoOutput1;\n" +"vec4 Input1;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[4];\n" +"ivec4 Temp_int[4];\n" +"uvec4 Temp_uint[4];\n" +"void main()\n" +"{\n" +" Input1 = VtxGeoOutput1;\n" +" Temp[0].xz = vec4(GlobalConstantBuffer_2.xxxy.zzzz).xz;\n" +" Temp[0].yw = vec4(vec4(0.000000, 0.000000, 0.000000, 2.000000)).yw;\n" +" Temp[1].xy = vec4(Temp[0].xyxx + Input1.xyxx).xy;\n" +" Temp[1].xy = (texture(g_t0, Temp[1].xy)).xy;\n" +" Temp[1].zw = (texture(g_t0, Input1.xy).zwxy).zw;\n" +" Temp[2].x = -Temp[1].w + Temp[1].y;\n" +" Temp[1].y = Temp[1].y + -Temp[2].x;\n" +" Temp[2].y = -Temp[1].w * GlobalConstantBuffer_16;\n" +" Temp[1].y = Temp[1].y * GlobalConstantBuffer_16 + Temp[2].y;\n" +" Temp[1].y = -Temp[1].y * Temp[1].y + -0.222222;\n" +" Temp[1].y = vec4(exp2(Temp[1].y)).y;\n" +" Temp[1].x = Temp[1].y * Temp[1].x + Temp[1].z;\n" +" Temp[1].y = Temp[1].y + 1.000000;\n" +" Temp[3] = vec4(Temp[0].zwzw * vec4(2.000000, 0.000000, -2.000000, -0.000000) + Input1.xyxy);\n" +" Temp[0].xy = vec4(-Temp[0].xyxx + Input1.xyxx).xy;\n" +" Temp[0].xy = (texture(g_t0, Temp[0].xy)).xy;\n" +" Temp[0].zw = (texture(g_t0, Temp[3].xy).zwxy).zw;\n" +" Temp[2].zw = (texture(g_t0, Temp[3].zw).zwxy).zw;\n" +" Temp[0].w = -Temp[2].x * 2.000000 + Temp[0].w;\n" +" Temp[0].w = Temp[0].w * GlobalConstantBuffer_16 + Temp[2].y;\n" +" Temp[0].w = -Temp[0].w * Temp[0].w + -0.888889;\n" +" Temp[0].w = vec4(exp2(Temp[0].w)).w;\n" +" Temp[0].z = Temp[0].w * Temp[0].z + Temp[1].x;\n" +" Temp[0].w = Temp[0].w + Temp[1].y;\n" +" Temp[1].x = -Temp[1].w + Temp[0].y;\n" +" Output0.y = vec4(Temp[1].w).y;\n" +" Temp[0].y = Temp[0].y + -Temp[1].x;\n" +" Temp[1].x = -Temp[1].x * 2.000000 + Temp[2].w;\n" +" Temp[1].x = Temp[1].x * GlobalConstantBuffer_16 + Temp[2].y;\n" +" Temp[0].y = Temp[0].y * GlobalConstantBuffer_16 + Temp[2].y;\n" +" Temp[0].y = -Temp[0].y * Temp[0].y + -0.222222;\n" +" Temp[0].y = vec4(exp2(Temp[0].y)).y;\n" +" Temp[1].x = -Temp[1].x * Temp[1].x + -0.888889;\n" +" Temp[1].x = vec4(exp2(Temp[1].x)).x;\n" +" Temp[0].x = Temp[0].y * Temp[0].x + Temp[0].z;\n" +" Temp[0].y = Temp[0].y + Temp[0].w;\n" +" Temp[0].y = Temp[1].x + Temp[0].y;\n" +" Temp[0].x = Temp[1].x * Temp[2].z + Temp[0].x;\n" +" Output0.x = Temp[0].x / Temp[0].y;\n" +" return;\n" +"}\n" +; +static const char* g_BlurX_PS_ENABLE_SHARPNESS_PROFILE_0_KERNEL_RADIUS_4_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"uniform sampler2D g_t0;\n" +"uniform sampler2D g_t1;\n" +" in vec4 VtxGeoOutput1;\n" +"vec4 Input1;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[5];\n" +"ivec4 Temp_int[5];\n" +"uvec4 Temp_uint[5];\n" +"void main()\n" +"{\n" +" Input1 = VtxGeoOutput1;\n" +" Temp[0].x = vec4(GlobalConstantBuffer_2.xxxy.z).x;\n" +" Temp[0].y = vec4(3.500000).y;\n" +" Temp[0] = vec4(Temp[0].xyxy * vec4(3.500000, 0.000000, -3.500000, -0.000000) + Input1.xyxy);\n" +" Temp[0].xy = (texture(g_t1, Temp[0].xy)).xy;\n" +" Temp[0].zw = (texture(g_t1, Temp[0].zw).zwxy).zw;\n" +" Temp[1].xz = vec4(GlobalConstantBuffer_2.xxxy.zzzz).xz;\n" +" Temp[1].yw = vec4(vec4(0.000000, 0.000000, 0.000000, 2.000000)).yw;\n" +" Temp[2].xy = vec4(Temp[1].xyxx + Input1.xyxx).xy;\n" +" Temp[2].xy = (texture(g_t0, Temp[2].xy)).xy;\n" +" Temp[2].zw = (texture(g_t0, Input1.xy).zwxy).zw;\n" +" Temp[3].x = -Temp[2].w + Temp[2].y;\n" +" Temp[2].y = Temp[2].y + -Temp[3].x;\n" +" Temp[3].y = -Temp[2].w * GlobalConstantBuffer_16;\n" +" Temp[2].y = Temp[2].y * GlobalConstantBuffer_16 + Temp[3].y;\n" +" Temp[2].y = -Temp[2].y * Temp[2].y + -0.080000;\n" +" Temp[2].y = vec4(exp2(Temp[2].y)).y;\n" +" Temp[2].x = Temp[2].y * Temp[2].x + Temp[2].z;\n" +" Temp[2].y = Temp[2].y + 1.000000;\n" +" Temp[4] = vec4(Temp[1].zwzw * vec4(2.000000, 0.000000, -2.000000, -0.000000) + Input1.xyxy);\n" +" Temp[1].xy = vec4(-Temp[1].xyxx + Input1.xyxx).xy;\n" +" Temp[1].xy = (texture(g_t0, Temp[1].xy)).xy;\n" +" Temp[1].zw = (texture(g_t0, Temp[4].xy).zwxy).zw;\n" +" Temp[3].zw = (texture(g_t0, Temp[4].zw).zwxy).zw;\n" +" Temp[1].w = -Temp[3].x * 2.000000 + Temp[1].w;\n" +" Temp[0].y = -Temp[3].x * 3.000000 + Temp[0].y;\n" +" Temp[0].y = Temp[0].y * GlobalConstantBuffer_16 + Temp[3].y;\n" +" Temp[0].y = -Temp[0].y * Temp[0].y + -0.720000;\n" +" Temp[0].y = vec4(exp2(Temp[0].y)).y;\n" +" Temp[1].w = Temp[1].w * GlobalConstantBuffer_16 + Temp[3].y;\n" +" Temp[1].w = -Temp[1].w * Temp[1].w + -0.320000;\n" +" Temp[1].w = vec4(exp2(Temp[1].w)).w;\n" +" Temp[1].z = Temp[1].w * Temp[1].z + Temp[2].x;\n" +" Temp[1].w = Temp[1].w + Temp[2].y;\n" +" Temp[1].w = Temp[0].y + Temp[1].w;\n" +" Temp[0].x = Temp[0].y * Temp[0].x + Temp[1].z;\n" +" Temp[0].y = -Temp[2].w + Temp[1].y;\n" +" Output0.y = vec4(Temp[2].w).y;\n" +" Temp[1].y = -Temp[0].y + Temp[1].y;\n" +" Temp[1].y = Temp[1].y * GlobalConstantBuffer_16 + Temp[3].y;\n" +" Temp[1].y = -Temp[1].y * Temp[1].y + -0.080000;\n" +" Temp[1].y = vec4(exp2(Temp[1].y)).y;\n" +" Temp[0].x = Temp[1].y * Temp[1].x + Temp[0].x;\n" +" Temp[1].x = Temp[1].y + Temp[1].w;\n" +" Temp[1].y = -Temp[0].y * 2.000000 + Temp[3].w;\n" +" Temp[0].y = -Temp[0].y * 3.000000 + Temp[0].w;\n" +" Temp[0].y = Temp[0].y * GlobalConstantBuffer_16 + Temp[3].y;\n" +" Temp[0].w = Temp[1].y * GlobalConstantBuffer_16 + Temp[3].y;\n" +" Temp[0].w = -Temp[0].w * Temp[0].w + -0.320000;\n" +" Temp[0].w = vec4(exp2(Temp[0].w)).w;\n" +" Temp[0].y = -Temp[0].y * Temp[0].y + -0.720000;\n" +" Temp[0].y = vec4(exp2(Temp[0].y)).y;\n" +" Temp[0].x = Temp[0].w * Temp[3].z + Temp[0].x;\n" +" Temp[0].w = Temp[0].w + Temp[1].x;\n" +" Temp[0].w = Temp[0].y + Temp[0].w;\n" +" Temp[0].x = Temp[0].y * Temp[0].z + Temp[0].x;\n" +" Output0.x = Temp[0].x / Temp[0].w;\n" +" return;\n" +"}\n" +; +static const char* g_BlurX_PS_ENABLE_SHARPNESS_PROFILE_1_KERNEL_RADIUS_2_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"uniform sampler2D g_t0;\n" +" in vec4 VtxGeoOutput1;\n" +"vec4 Input1;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[4];\n" +"ivec4 Temp_int[4];\n" +"uvec4 Temp_uint[4];\n" +"void main()\n" +"{\n" +" Input1 = VtxGeoOutput1;\n" +" Temp[0].xz = vec4(GlobalConstantBuffer_2.xxxy.zzzz).xz;\n" +" Temp[0].yw = vec4(vec4(0.000000, 0.000000, 0.000000, 2.000000)).yw;\n" +" Temp[1].xy = vec4(Temp[0].xyxx + Input1.xyxx).xy;\n" +" Temp[1].xy = (texture(g_t0, Temp[1].xy)).xy;\n" +" Temp[1].zw = (texture(g_t0, Input1.xy).zwxy).zw;\n" +" Temp[2].x = -Temp[1].w + Temp[1].y;\n" +" Temp[1].y = Temp[1].y + -Temp[2].x;\n" +" Temp[2].yz = vec4(-GlobalConstantBuffer_13 + GlobalConstantBuffer_14).yz;\n" +" Temp[2].w = Temp[1].w + -GlobalConstantBuffer_13;\n" +" Temp[2].y = Temp[2].w / Temp[2].y;\n" +" Temp[2].y = clamp(Temp[2].y, 0.0, 1.0);\n" +" Temp[2].y = Temp[2].y * Temp[2].z + GlobalConstantBuffer_15;\n" +" Temp[2].z = -Temp[1].w * Temp[2].y;\n" +" Temp[1].y = Temp[1].y * Temp[2].y + Temp[2].z;\n" +" Temp[1].y = -Temp[1].y * Temp[1].y + -0.222222;\n" +" Temp[1].y = vec4(exp2(Temp[1].y)).y;\n" +" Temp[1].x = Temp[1].y * Temp[1].x + Temp[1].z;\n" +" Temp[1].y = Temp[1].y + 1.000000;\n" +" Temp[3] = vec4(Temp[0].zwzw * vec4(2.000000, 0.000000, -2.000000, -0.000000) + Input1.xyxy);\n" +" Temp[0].xy = vec4(-Temp[0].xyxx + Input1.xyxx).xy;\n" +" Temp[0].xy = (texture(g_t0, Temp[0].xy)).xy;\n" +" Temp[0].zw = (texture(g_t0, Temp[3].xy).zwxy).zw;\n" +" Temp[3].xy = (texture(g_t0, Temp[3].zw)).xy;\n" +" Temp[0].w = -Temp[2].x * 2.000000 + Temp[0].w;\n" +" Temp[0].w = Temp[0].w * Temp[2].y + Temp[2].z;\n" +" Temp[0].w = -Temp[0].w * Temp[0].w + -0.888889;\n" +" Temp[0].w = vec4(exp2(Temp[0].w)).w;\n" +" Temp[0].z = Temp[0].w * Temp[0].z + Temp[1].x;\n" +" Temp[0].w = Temp[0].w + Temp[1].y;\n" +" Temp[1].x = -Temp[1].w + Temp[0].y;\n" +" Output0.y = vec4(Temp[1].w).y;\n" +" Temp[0].y = Temp[0].y + -Temp[1].x;\n" +" Temp[1].x = -Temp[1].x * 2.000000 + Temp[3].y;\n" +" Temp[1].x = Temp[1].x * Temp[2].y + Temp[2].z;\n" +" Temp[0].y = Temp[0].y * Temp[2].y + Temp[2].z;\n" +" Temp[0].y = -Temp[0].y * Temp[0].y + -0.222222;\n" +" Temp[0].y = vec4(exp2(Temp[0].y)).y;\n" +" Temp[1].x = -Temp[1].x * Temp[1].x + -0.888889;\n" +" Temp[1].x = vec4(exp2(Temp[1].x)).x;\n" +" Temp[0].x = Temp[0].y * Temp[0].x + Temp[0].z;\n" +" Temp[0].y = Temp[0].y + Temp[0].w;\n" +" Temp[0].y = Temp[1].x + Temp[0].y;\n" +" Temp[0].x = Temp[1].x * Temp[3].x + Temp[0].x;\n" +" Output0.x = Temp[0].x / Temp[0].y;\n" +" return;\n" +"}\n" +; +static const char* g_BlurX_PS_ENABLE_SHARPNESS_PROFILE_1_KERNEL_RADIUS_4_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"uniform sampler2D g_t0;\n" +"uniform sampler2D g_t1;\n" +" in vec4 VtxGeoOutput1;\n" +"vec4 Input1;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[5];\n" +"ivec4 Temp_int[5];\n" +"uvec4 Temp_uint[5];\n" +"void main()\n" +"{\n" +" Input1 = VtxGeoOutput1;\n" +" Temp[0].x = vec4(GlobalConstantBuffer_2.xxxy.z).x;\n" +" Temp[0].y = vec4(3.500000).y;\n" +" Temp[0] = vec4(Temp[0].xyxy * vec4(3.500000, 0.000000, -3.500000, -0.000000) + Input1.xyxy);\n" +" Temp[0].xy = (texture(g_t1, Temp[0].xy)).xy;\n" +" Temp[0].zw = (texture(g_t1, Temp[0].zw).zwxy).zw;\n" +" Temp[1].xz = vec4(GlobalConstantBuffer_2.xxxy.zzzz).xz;\n" +" Temp[1].yw = vec4(vec4(0.000000, 0.000000, 0.000000, 2.000000)).yw;\n" +" Temp[2].xy = vec4(Temp[1].xyxx + Input1.xyxx).xy;\n" +" Temp[2].xy = (texture(g_t0, Temp[2].xy)).xy;\n" +" Temp[2].zw = (texture(g_t0, Input1.xy).zwxy).zw;\n" +" Temp[3].x = -Temp[2].w + Temp[2].y;\n" +" Temp[2].y = Temp[2].y + -Temp[3].x;\n" +" Temp[3].yz = vec4(-GlobalConstantBuffer_13 + GlobalConstantBuffer_14).yz;\n" +" Temp[3].w = Temp[2].w + -GlobalConstantBuffer_13;\n" +" Temp[3].y = Temp[3].w / Temp[3].y;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * Temp[3].z + GlobalConstantBuffer_15;\n" +" Temp[3].z = -Temp[2].w * Temp[3].y;\n" +" Temp[2].y = Temp[2].y * Temp[3].y + Temp[3].z;\n" +" Temp[2].y = -Temp[2].y * Temp[2].y + -0.080000;\n" +" Temp[2].y = vec4(exp2(Temp[2].y)).y;\n" +" Temp[2].x = Temp[2].y * Temp[2].x + Temp[2].z;\n" +" Temp[2].y = Temp[2].y + 1.000000;\n" +" Temp[4] = vec4(Temp[1].zwzw * vec4(2.000000, 0.000000, -2.000000, -0.000000) + Input1.xyxy);\n" +" Temp[1].xy = vec4(-Temp[1].xyxx + Input1.xyxx).xy;\n" +" Temp[1].xy = (texture(g_t0, Temp[1].xy)).xy;\n" +" Temp[1].zw = (texture(g_t0, Temp[4].xy).zwxy).zw;\n" +" Temp[4].xy = (texture(g_t0, Temp[4].zw)).xy;\n" +" Temp[1].w = -Temp[3].x * 2.000000 + Temp[1].w;\n" +" Temp[0].y = -Temp[3].x * 3.000000 + Temp[0].y;\n" +" Temp[0].y = Temp[0].y * Temp[3].y + Temp[3].z;\n" +" Temp[0].y = -Temp[0].y * Temp[0].y + -0.720000;\n" +" Temp[0].y = vec4(exp2(Temp[0].y)).y;\n" +" Temp[1].w = Temp[1].w * Temp[3].y + Temp[3].z;\n" +" Temp[1].w = -Temp[1].w * Temp[1].w + -0.320000;\n" +" Temp[1].w = vec4(exp2(Temp[1].w)).w;\n" +" Temp[1].z = Temp[1].w * Temp[1].z + Temp[2].x;\n" +" Temp[1].w = Temp[1].w + Temp[2].y;\n" +" Temp[1].w = Temp[0].y + Temp[1].w;\n" +" Temp[0].x = Temp[0].y * Temp[0].x + Temp[1].z;\n" +" Temp[0].y = -Temp[2].w + Temp[1].y;\n" +" Output0.y = vec4(Temp[2].w).y;\n" +" Temp[1].y = -Temp[0].y + Temp[1].y;\n" +" Temp[1].y = Temp[1].y * Temp[3].y + Temp[3].z;\n" +" Temp[1].y = -Temp[1].y * Temp[1].y + -0.080000;\n" +" Temp[1].y = vec4(exp2(Temp[1].y)).y;\n" +" Temp[0].x = Temp[1].y * Temp[1].x + Temp[0].x;\n" +" Temp[1].x = Temp[1].y + Temp[1].w;\n" +" Temp[1].y = -Temp[0].y * 2.000000 + Temp[4].y;\n" +" Temp[0].y = -Temp[0].y * 3.000000 + Temp[0].w;\n" +" Temp[0].y = Temp[0].y * Temp[3].y + Temp[3].z;\n" +" Temp[0].w = Temp[1].y * Temp[3].y + Temp[3].z;\n" +" Temp[0].w = -Temp[0].w * Temp[0].w + -0.320000;\n" +" Temp[0].w = vec4(exp2(Temp[0].w)).w;\n" +" Temp[0].y = -Temp[0].y * Temp[0].y + -0.720000;\n" +" Temp[0].y = vec4(exp2(Temp[0].y)).y;\n" +" Temp[0].x = Temp[0].w * Temp[4].x + Temp[0].x;\n" +" Temp[0].w = Temp[0].w + Temp[1].x;\n" +" Temp[0].w = Temp[0].y + Temp[0].w;\n" +" Temp[0].x = Temp[0].y * Temp[0].z + Temp[0].x;\n" +" Output0.x = Temp[0].x / Temp[0].w;\n" +" return;\n" +"}\n" +; + +namespace Generated +{ + void BlurX_PS::Create(DevicePointer Device) + { + m_Shader[ShaderPermutations::ENABLE_SHARPNESS_PROFILE_0][ShaderPermutations::KERNEL_RADIUS_2].Create(Device, g_BlurX_PS_ENABLE_SHARPNESS_PROFILE_0_KERNEL_RADIUS_2_GL, sizeof(g_BlurX_PS_ENABLE_SHARPNESS_PROFILE_0_KERNEL_RADIUS_2_GL)); + m_Shader[ShaderPermutations::ENABLE_SHARPNESS_PROFILE_0][ShaderPermutations::KERNEL_RADIUS_4].Create(Device, g_BlurX_PS_ENABLE_SHARPNESS_PROFILE_0_KERNEL_RADIUS_4_GL, sizeof(g_BlurX_PS_ENABLE_SHARPNESS_PROFILE_0_KERNEL_RADIUS_4_GL)); + m_Shader[ShaderPermutations::ENABLE_SHARPNESS_PROFILE_1][ShaderPermutations::KERNEL_RADIUS_2].Create(Device, g_BlurX_PS_ENABLE_SHARPNESS_PROFILE_1_KERNEL_RADIUS_2_GL, sizeof(g_BlurX_PS_ENABLE_SHARPNESS_PROFILE_1_KERNEL_RADIUS_2_GL)); + m_Shader[ShaderPermutations::ENABLE_SHARPNESS_PROFILE_1][ShaderPermutations::KERNEL_RADIUS_4].Create(Device, g_BlurX_PS_ENABLE_SHARPNESS_PROFILE_1_KERNEL_RADIUS_4_GL, sizeof(g_BlurX_PS_ENABLE_SHARPNESS_PROFILE_1_KERNEL_RADIUS_4_GL)); + } + + void BlurX_PS::Release(DevicePointer Device) + { + m_Shader[ShaderPermutations::ENABLE_SHARPNESS_PROFILE_0][ShaderPermutations::KERNEL_RADIUS_2].Release(Device); + m_Shader[ShaderPermutations::ENABLE_SHARPNESS_PROFILE_0][ShaderPermutations::KERNEL_RADIUS_4].Release(Device); + m_Shader[ShaderPermutations::ENABLE_SHARPNESS_PROFILE_1][ShaderPermutations::KERNEL_RADIUS_2].Release(Device); + m_Shader[ShaderPermutations::ENABLE_SHARPNESS_PROFILE_1][ShaderPermutations::KERNEL_RADIUS_4].Release(Device); + } +} diff --git a/src/shaders/out/GL/BlurX_PS.h b/src/shaders/out/GL/BlurX_PS.h new file mode 100644 index 0000000..e8327ba --- /dev/null +++ b/src/shaders/out/GL/BlurX_PS.h @@ -0,0 +1,49 @@ +//! This file was auto-generated. Do not modify manually. +#pragma once + +namespace Generated +{ + +namespace ShaderPermutations +{ + +#ifndef ENABLE_SHARPNESS_PROFILE_DEFINED +#define ENABLE_SHARPNESS_PROFILE_DEFINED + enum ENABLE_SHARPNESS_PROFILE + { + ENABLE_SHARPNESS_PROFILE_0, + ENABLE_SHARPNESS_PROFILE_1, + ENABLE_SHARPNESS_PROFILE_COUNT, + }; +#endif + +#ifndef KERNEL_RADIUS_DEFINED +#define KERNEL_RADIUS_DEFINED + enum KERNEL_RADIUS + { + KERNEL_RADIUS_2, + KERNEL_RADIUS_4, + KERNEL_RADIUS_COUNT, + }; +#endif + +}; + +struct BlurX_PS +{ + void Create(DevicePointer Device); + void Release(DevicePointer Device); + GLSLPrograms::BlurX_PS& Get(ShaderPermutations::ENABLE_SHARPNESS_PROFILE A, ShaderPermutations::KERNEL_RADIUS B) + { + return m_Shader[A][B]; + } + +private: + GLSLPrograms::BlurX_PS m_Shader[ShaderPermutations::ENABLE_SHARPNESS_PROFILE_COUNT][ShaderPermutations::KERNEL_RADIUS_COUNT]; +#if _WIN32 + static_assert(ShaderPermutations::ENABLE_SHARPNESS_PROFILE_COUNT == 2, ""); + static_assert(ShaderPermutations::KERNEL_RADIUS_COUNT == 2, ""); +#endif +}; + +}; diff --git a/src/shaders/out/GL/BlurY_PS.cpp b/src/shaders/out/GL/BlurY_PS.cpp new file mode 100644 index 0000000..a11e0b6 --- /dev/null +++ b/src/shaders/out/GL/BlurY_PS.cpp @@ -0,0 +1,465 @@ +static const char* g_BlurY_PS_ENABLE_SHARPNESS_PROFILE_0_KERNEL_RADIUS_2_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"uniform sampler2D g_t0;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[3];\n" +"ivec4 Temp_int[3];\n" +"uvec4 Temp_uint[3];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].xy = vec4(Input0.xyxx + -GlobalConstantBuffer_21.xyxx.xyxx).xy;\n" +" Temp[1].xz = vec4(vec4(0.000000, 0.000000, -0.000000, 0.000000)).xz;\n" +" Temp[1].yw = vec4(GlobalConstantBuffer_2.xxxy.wwww).yw;\n" +" Temp[0].zw = vec4(Temp[0].xxxy * GlobalConstantBuffer_2.xxxy.zzzw + Temp[1].xxxy).zw;\n" +" Temp[0].zw = (texture(g_t0, Temp[0].zw).zwxy).zw;\n" +" Temp[2].xy = vec4(Temp[0].xyxx * GlobalConstantBuffer_2.xxxy.zwzz).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx * GlobalConstantBuffer_2.xxxy.zwzz + -Temp[1].xyxx).xy;\n" +" Temp[1] = vec4(vec4(2.000000, 2.000000, 2.000000, -2.000000) * Temp[1] + Temp[2].xyxy);\n" +" Temp[2].xy = (texture(g_t0, Temp[2].xy)).xy;\n" +" Temp[0].xy = (texture(g_t0, Temp[0].xy)).xy;\n" +" Temp[2].z = Temp[0].w + -Temp[2].y;\n" +" Temp[0].w = Temp[0].w + -Temp[2].z;\n" +" Temp[2].w = -Temp[2].y * GlobalConstantBuffer_16;\n" +" Temp[0].w = Temp[0].w * GlobalConstantBuffer_16 + Temp[2].w;\n" +" Temp[0].w = -Temp[0].w * Temp[0].w + -0.222222;\n" +" Temp[0].w = vec4(exp2(Temp[0].w)).w;\n" +" Temp[0].z = Temp[0].w * Temp[0].z + Temp[2].x;\n" +" Temp[0].w = Temp[0].w + 1.000000;\n" +" Temp[2].x = -Temp[2].y + Temp[0].y;\n" +" Temp[1].xy = (texture(g_t0, Temp[1].xy)).xy;\n" +" Temp[1].zw = (texture(g_t0, Temp[1].zw).zwxy).zw;\n" +" Temp[1].y = -Temp[2].z * 2.000000 + Temp[1].y;\n" +" Temp[1].y = Temp[1].y * GlobalConstantBuffer_16 + Temp[2].w;\n" +" Temp[1].y = -Temp[1].y * Temp[1].y + -0.888889;\n" +" Temp[1].y = vec4(exp2(Temp[1].y)).y;\n" +" Temp[0].z = Temp[1].y * Temp[1].x + Temp[0].z;\n" +" Temp[0].w = Temp[0].w + Temp[1].y;\n" +" Temp[0].y = Temp[0].y + -Temp[2].x;\n" +" Temp[1].x = -Temp[2].x * 2.000000 + Temp[1].w;\n" +" Temp[1].x = Temp[1].x * GlobalConstantBuffer_16 + Temp[2].w;\n" +" Temp[0].y = Temp[0].y * GlobalConstantBuffer_16 + Temp[2].w;\n" +" Temp[0].y = -Temp[0].y * Temp[0].y + -0.222222;\n" +" Temp[0].y = vec4(exp2(Temp[0].y)).y;\n" +" Temp[1].x = -Temp[1].x * Temp[1].x + -0.888889;\n" +" Temp[1].x = vec4(exp2(Temp[1].x)).x;\n" +" Temp[0].x = Temp[0].y * Temp[0].x + Temp[0].z;\n" +" Temp[0].y = Temp[0].y + Temp[0].w;\n" +" Temp[0].y = Temp[1].x + Temp[0].y;\n" +" Temp[0].x = Temp[1].x * Temp[1].z + Temp[0].x;\n" +" Temp[0].x = Temp[0].x / Temp[0].y;\n" +" Temp[0].x = clamp(Temp[0].x, 0.0, 1.0);\n" +" Temp[0].x = vec4(log2(Temp[0].x)).x;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_11;\n" +" Output0 = vec4(exp2(Temp[0].xxxx));\n" +" return;\n" +"}\n" +; +static const char* g_BlurY_PS_ENABLE_SHARPNESS_PROFILE_0_KERNEL_RADIUS_4_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"uniform sampler2D g_t0;\n" +"uniform sampler2D g_t1;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[5];\n" +"ivec4 Temp_int[5];\n" +"uvec4 Temp_uint[5];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].xy = vec4(Input0.xyxx + -GlobalConstantBuffer_21.xyxx.xyxx).xy;\n" +" Temp[1].xz = vec4(vec4(0.000000, 0.000000, -0.000000, 0.000000)).xz;\n" +" Temp[1].yw = vec4(GlobalConstantBuffer_2.xxxy.wwww).yw;\n" +" Temp[0].zw = vec4(Temp[0].xxxy * GlobalConstantBuffer_2.xxxy.zzzw + Temp[1].xxxy).zw;\n" +" Temp[0].zw = (texture(g_t0, Temp[0].zw).zwxy).zw;\n" +" Temp[2].xy = vec4(Temp[0].xyxx * GlobalConstantBuffer_2.xxxy.zwzz).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx * GlobalConstantBuffer_2.xxxy.zwzz + -Temp[1].xyxx).xy;\n" +" Temp[0].xy = (texture(g_t0, Temp[0].xy)).xy;\n" +" Temp[2].zw = (texture(g_t0, Temp[2].xy).zwxy).zw;\n" +" Temp[3].x = Temp[0].w + -Temp[2].w;\n" +" Temp[0].w = Temp[0].w + -Temp[3].x;\n" +" Temp[3].y = -Temp[2].w * GlobalConstantBuffer_16;\n" +" Temp[0].w = Temp[0].w * GlobalConstantBuffer_16 + Temp[3].y;\n" +" Temp[0].w = -Temp[0].w * Temp[0].w + -0.080000;\n" +" Temp[0].w = vec4(exp2(Temp[0].w)).w;\n" +" Temp[0].z = Temp[0].w * Temp[0].z + Temp[2].z;\n" +" Temp[0].w = Temp[0].w + 1.000000;\n" +" Temp[2].z = Temp[0].y + -Temp[2].w;\n" +" Temp[4] = vec4(vec4(2.000000, 2.000000, 3.500000, 3.500000) * Temp[1].xyxy + Temp[2].xyxy);\n" +" Temp[1] = vec4(vec4(2.000000, -2.000000, 3.500000, -3.500000) * Temp[1].zwzw + Temp[2].xyxy);\n" +" Temp[2].xy = (texture(g_t0, Temp[4].xy)).xy;\n" +" Temp[3].zw = (texture(g_t1, Temp[4].zw).zwxy).zw;\n" +" Temp[2].y = -Temp[3].x * 2.000000 + Temp[2].y;\n" +" Temp[2].w = -Temp[3].x * 3.000000 + Temp[3].w;\n" +" Temp[2].w = Temp[2].w * GlobalConstantBuffer_16 + Temp[3].y;\n" +" Temp[2].w = -Temp[2].w * Temp[2].w + -0.720000;\n" +" Temp[2].w = vec4(exp2(Temp[2].w)).w;\n" +" Temp[2].y = Temp[2].y * GlobalConstantBuffer_16 + Temp[3].y;\n" +" Temp[2].y = -Temp[2].y * Temp[2].y + -0.320000;\n" +" Temp[2].y = vec4(exp2(Temp[2].y)).y;\n" +" Temp[0].z = Temp[2].y * Temp[2].x + Temp[0].z;\n" +" Temp[0].w = Temp[0].w + Temp[2].y;\n" +" Temp[0].w = Temp[2].w + Temp[0].w;\n" +" Temp[0].z = Temp[2].w * Temp[3].z + Temp[0].z;\n" +" Temp[0].y = Temp[0].y + -Temp[2].z;\n" +" Temp[0].y = Temp[0].y * GlobalConstantBuffer_16 + Temp[3].y;\n" +" Temp[0].y = -Temp[0].y * Temp[0].y + -0.080000;\n" +" Temp[0].y = vec4(exp2(Temp[0].y)).y;\n" +" Temp[0].x = Temp[0].y * Temp[0].x + Temp[0].z;\n" +" Temp[0].y = Temp[0].y + Temp[0].w;\n" +" Temp[0].zw = (texture(g_t0, Temp[1].xy).zwxy).zw;\n" +" Temp[1].xy = (texture(g_t1, Temp[1].zw)).xy;\n" +" Temp[0].w = -Temp[2].z * 2.000000 + Temp[0].w;\n" +" Temp[1].y = -Temp[2].z * 3.000000 + Temp[1].y;\n" +" Temp[1].y = Temp[1].y * GlobalConstantBuffer_16 + Temp[3].y;\n" +" Temp[0].w = Temp[0].w * GlobalConstantBuffer_16 + Temp[3].y;\n" +" Temp[0].w = -Temp[0].w * Temp[0].w + -0.320000;\n" +" Temp[0].w = vec4(exp2(Temp[0].w)).w;\n" +" Temp[1].y = -Temp[1].y * Temp[1].y + -0.720000;\n" +" Temp[1].y = vec4(exp2(Temp[1].y)).y;\n" +" Temp[0].x = Temp[0].w * Temp[0].z + Temp[0].x;\n" +" Temp[0].y = Temp[0].w + Temp[0].y;\n" +" Temp[0].y = Temp[1].y + Temp[0].y;\n" +" Temp[0].x = Temp[1].y * Temp[1].x + Temp[0].x;\n" +" Temp[0].x = Temp[0].x / Temp[0].y;\n" +" Temp[0].x = clamp(Temp[0].x, 0.0, 1.0);\n" +" Temp[0].x = vec4(log2(Temp[0].x)).x;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_11;\n" +" Output0 = vec4(exp2(Temp[0].xxxx));\n" +" return;\n" +"}\n" +; +static const char* g_BlurY_PS_ENABLE_SHARPNESS_PROFILE_1_KERNEL_RADIUS_2_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"uniform sampler2D g_t0;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[4];\n" +"ivec4 Temp_int[4];\n" +"uvec4 Temp_uint[4];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].xy = vec4(Input0.xyxx + -GlobalConstantBuffer_21.xyxx.xyxx).xy;\n" +" Temp[1].xz = vec4(vec4(0.000000, 0.000000, -0.000000, 0.000000)).xz;\n" +" Temp[1].yw = vec4(GlobalConstantBuffer_2.xxxy.wwww).yw;\n" +" Temp[0].zw = vec4(Temp[0].xxxy * GlobalConstantBuffer_2.xxxy.zzzw + Temp[1].xxxy).zw;\n" +" Temp[0].zw = (texture(g_t0, Temp[0].zw).zwxy).zw;\n" +" Temp[2].xy = vec4(Temp[0].xyxx * GlobalConstantBuffer_2.xxxy.zwzz).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx * GlobalConstantBuffer_2.xxxy.zwzz + -Temp[1].xyxx).xy;\n" +" Temp[1] = vec4(vec4(2.000000, 2.000000, 2.000000, -2.000000) * Temp[1] + Temp[2].xyxy);\n" +" Temp[2].xy = (texture(g_t0, Temp[2].xy)).xy;\n" +" Temp[0].xy = (texture(g_t0, Temp[0].xy)).xy;\n" +" Temp[2].z = Temp[0].w + -Temp[2].y;\n" +" Temp[0].w = Temp[0].w + -Temp[2].z;\n" +" Temp[2].w = Temp[2].y + -GlobalConstantBuffer_13;\n" +" Temp[3].xy = vec4(-GlobalConstantBuffer_13 + GlobalConstantBuffer_14).xy;\n" +" Temp[2].w = Temp[2].w / Temp[3].x;\n" +" Temp[2].w = clamp(Temp[2].w, 0.0, 1.0);\n" +" Temp[2].w = Temp[2].w * Temp[3].y + GlobalConstantBuffer_15;\n" +" Temp[3].x = Temp[2].w * -Temp[2].y;\n" +" Temp[0].w = Temp[0].w * Temp[2].w + Temp[3].x;\n" +" Temp[0].w = -Temp[0].w * Temp[0].w + -0.222222;\n" +" Temp[0].w = vec4(exp2(Temp[0].w)).w;\n" +" Temp[0].z = Temp[0].w * Temp[0].z + Temp[2].x;\n" +" Temp[0].w = Temp[0].w + 1.000000;\n" +" Temp[2].x = -Temp[2].y + Temp[0].y;\n" +" Temp[1].xy = (texture(g_t0, Temp[1].xy)).xy;\n" +" Temp[1].zw = (texture(g_t0, Temp[1].zw).zwxy).zw;\n" +" Temp[1].y = -Temp[2].z * 2.000000 + Temp[1].y;\n" +" Temp[1].y = Temp[1].y * Temp[2].w + Temp[3].x;\n" +" Temp[1].y = -Temp[1].y * Temp[1].y + -0.888889;\n" +" Temp[1].y = vec4(exp2(Temp[1].y)).y;\n" +" Temp[0].z = Temp[1].y * Temp[1].x + Temp[0].z;\n" +" Temp[0].w = Temp[0].w + Temp[1].y;\n" +" Temp[0].y = Temp[0].y + -Temp[2].x;\n" +" Temp[1].x = -Temp[2].x * 2.000000 + Temp[1].w;\n" +" Temp[1].x = Temp[1].x * Temp[2].w + Temp[3].x;\n" +" Temp[0].y = Temp[0].y * Temp[2].w + Temp[3].x;\n" +" Temp[0].y = -Temp[0].y * Temp[0].y + -0.222222;\n" +" Temp[0].y = vec4(exp2(Temp[0].y)).y;\n" +" Temp[1].x = -Temp[1].x * Temp[1].x + -0.888889;\n" +" Temp[1].x = vec4(exp2(Temp[1].x)).x;\n" +" Temp[0].x = Temp[0].y * Temp[0].x + Temp[0].z;\n" +" Temp[0].y = Temp[0].y + Temp[0].w;\n" +" Temp[0].y = Temp[1].x + Temp[0].y;\n" +" Temp[0].x = Temp[1].x * Temp[1].z + Temp[0].x;\n" +" Temp[0].x = Temp[0].x / Temp[0].y;\n" +" Temp[0].x = clamp(Temp[0].x, 0.0, 1.0);\n" +" Temp[0].x = vec4(log2(Temp[0].x)).x;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_11;\n" +" Output0 = vec4(exp2(Temp[0].xxxx));\n" +" return;\n" +"}\n" +; +static const char* g_BlurY_PS_ENABLE_SHARPNESS_PROFILE_1_KERNEL_RADIUS_4_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"uniform sampler2D g_t0;\n" +"uniform sampler2D g_t1;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[5];\n" +"ivec4 Temp_int[5];\n" +"uvec4 Temp_uint[5];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].xy = vec4(Input0.xyxx + -GlobalConstantBuffer_21.xyxx.xyxx).xy;\n" +" Temp[1].xz = vec4(vec4(0.000000, 0.000000, -0.000000, 0.000000)).xz;\n" +" Temp[1].yw = vec4(GlobalConstantBuffer_2.xxxy.wwww).yw;\n" +" Temp[0].zw = vec4(Temp[0].xxxy * GlobalConstantBuffer_2.xxxy.zzzw + Temp[1].xxxy).zw;\n" +" Temp[0].zw = (texture(g_t0, Temp[0].zw).zwxy).zw;\n" +" Temp[2].xy = vec4(Temp[0].xyxx * GlobalConstantBuffer_2.xxxy.zwzz).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx * GlobalConstantBuffer_2.xxxy.zwzz + -Temp[1].xyxx).xy;\n" +" Temp[0].xy = (texture(g_t0, Temp[0].xy)).xy;\n" +" Temp[2].zw = (texture(g_t0, Temp[2].xy).zwxy).zw;\n" +" Temp[3].x = Temp[0].w + -Temp[2].w;\n" +" Temp[0].w = Temp[0].w + -Temp[3].x;\n" +" Temp[3].y = Temp[2].w + -GlobalConstantBuffer_13;\n" +" Temp[3].zw = vec4(-GlobalConstantBuffer_13 + GlobalConstantBuffer_14).zw;\n" +" Temp[3].y = Temp[3].y / Temp[3].z;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * Temp[3].w + GlobalConstantBuffer_15;\n" +" Temp[3].z = -Temp[2].w * Temp[3].y;\n" +" Temp[0].w = Temp[0].w * Temp[3].y + Temp[3].z;\n" +" Temp[0].w = -Temp[0].w * Temp[0].w + -0.080000;\n" +" Temp[0].w = vec4(exp2(Temp[0].w)).w;\n" +" Temp[0].z = Temp[0].w * Temp[0].z + Temp[2].z;\n" +" Temp[0].w = Temp[0].w + 1.000000;\n" +" Temp[2].z = Temp[0].y + -Temp[2].w;\n" +" Temp[4] = vec4(vec4(2.000000, 2.000000, 3.500000, 3.500000) * Temp[1].xyxy + Temp[2].xyxy);\n" +" Temp[1] = vec4(vec4(2.000000, -2.000000, 3.500000, -3.500000) * Temp[1].zwzw + Temp[2].xyxy);\n" +" Temp[2].xy = (texture(g_t0, Temp[4].xy)).xy;\n" +" Temp[4].xy = (texture(g_t1, Temp[4].zw)).xy;\n" +" Temp[2].y = -Temp[3].x * 2.000000 + Temp[2].y;\n" +" Temp[2].w = -Temp[3].x * 3.000000 + Temp[4].y;\n" +" Temp[2].w = Temp[2].w * Temp[3].y + Temp[3].z;\n" +" Temp[2].w = -Temp[2].w * Temp[2].w + -0.720000;\n" +" Temp[2].w = vec4(exp2(Temp[2].w)).w;\n" +" Temp[2].y = Temp[2].y * Temp[3].y + Temp[3].z;\n" +" Temp[2].y = -Temp[2].y * Temp[2].y + -0.320000;\n" +" Temp[2].y = vec4(exp2(Temp[2].y)).y;\n" +" Temp[0].z = Temp[2].y * Temp[2].x + Temp[0].z;\n" +" Temp[0].w = Temp[0].w + Temp[2].y;\n" +" Temp[0].w = Temp[2].w + Temp[0].w;\n" +" Temp[0].z = Temp[2].w * Temp[4].x + Temp[0].z;\n" +" Temp[0].y = Temp[0].y + -Temp[2].z;\n" +" Temp[0].y = Temp[0].y * Temp[3].y + Temp[3].z;\n" +" Temp[0].y = -Temp[0].y * Temp[0].y + -0.080000;\n" +" Temp[0].y = vec4(exp2(Temp[0].y)).y;\n" +" Temp[0].x = Temp[0].y * Temp[0].x + Temp[0].z;\n" +" Temp[0].y = Temp[0].y + Temp[0].w;\n" +" Temp[0].zw = (texture(g_t0, Temp[1].xy).zwxy).zw;\n" +" Temp[1].xy = (texture(g_t1, Temp[1].zw)).xy;\n" +" Temp[0].w = -Temp[2].z * 2.000000 + Temp[0].w;\n" +" Temp[1].y = -Temp[2].z * 3.000000 + Temp[1].y;\n" +" Temp[1].y = Temp[1].y * Temp[3].y + Temp[3].z;\n" +" Temp[0].w = Temp[0].w * Temp[3].y + Temp[3].z;\n" +" Temp[0].w = -Temp[0].w * Temp[0].w + -0.320000;\n" +" Temp[0].w = vec4(exp2(Temp[0].w)).w;\n" +" Temp[1].y = -Temp[1].y * Temp[1].y + -0.720000;\n" +" Temp[1].y = vec4(exp2(Temp[1].y)).y;\n" +" Temp[0].x = Temp[0].w * Temp[0].z + Temp[0].x;\n" +" Temp[0].y = Temp[0].w + Temp[0].y;\n" +" Temp[0].y = Temp[1].y + Temp[0].y;\n" +" Temp[0].x = Temp[1].y * Temp[1].x + Temp[0].x;\n" +" Temp[0].x = Temp[0].x / Temp[0].y;\n" +" Temp[0].x = clamp(Temp[0].x, 0.0, 1.0);\n" +" Temp[0].x = vec4(log2(Temp[0].x)).x;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_11;\n" +" Output0 = vec4(exp2(Temp[0].xxxx));\n" +" return;\n" +"}\n" +; + +namespace Generated +{ + void BlurY_PS::Create(DevicePointer Device) + { + m_Shader[ShaderPermutations::ENABLE_SHARPNESS_PROFILE_0][ShaderPermutations::KERNEL_RADIUS_2].Create(Device, g_BlurY_PS_ENABLE_SHARPNESS_PROFILE_0_KERNEL_RADIUS_2_GL, sizeof(g_BlurY_PS_ENABLE_SHARPNESS_PROFILE_0_KERNEL_RADIUS_2_GL)); + m_Shader[ShaderPermutations::ENABLE_SHARPNESS_PROFILE_0][ShaderPermutations::KERNEL_RADIUS_4].Create(Device, g_BlurY_PS_ENABLE_SHARPNESS_PROFILE_0_KERNEL_RADIUS_4_GL, sizeof(g_BlurY_PS_ENABLE_SHARPNESS_PROFILE_0_KERNEL_RADIUS_4_GL)); + m_Shader[ShaderPermutations::ENABLE_SHARPNESS_PROFILE_1][ShaderPermutations::KERNEL_RADIUS_2].Create(Device, g_BlurY_PS_ENABLE_SHARPNESS_PROFILE_1_KERNEL_RADIUS_2_GL, sizeof(g_BlurY_PS_ENABLE_SHARPNESS_PROFILE_1_KERNEL_RADIUS_2_GL)); + m_Shader[ShaderPermutations::ENABLE_SHARPNESS_PROFILE_1][ShaderPermutations::KERNEL_RADIUS_4].Create(Device, g_BlurY_PS_ENABLE_SHARPNESS_PROFILE_1_KERNEL_RADIUS_4_GL, sizeof(g_BlurY_PS_ENABLE_SHARPNESS_PROFILE_1_KERNEL_RADIUS_4_GL)); + } + + void BlurY_PS::Release(DevicePointer Device) + { + m_Shader[ShaderPermutations::ENABLE_SHARPNESS_PROFILE_0][ShaderPermutations::KERNEL_RADIUS_2].Release(Device); + m_Shader[ShaderPermutations::ENABLE_SHARPNESS_PROFILE_0][ShaderPermutations::KERNEL_RADIUS_4].Release(Device); + m_Shader[ShaderPermutations::ENABLE_SHARPNESS_PROFILE_1][ShaderPermutations::KERNEL_RADIUS_2].Release(Device); + m_Shader[ShaderPermutations::ENABLE_SHARPNESS_PROFILE_1][ShaderPermutations::KERNEL_RADIUS_4].Release(Device); + } +} diff --git a/src/shaders/out/GL/BlurY_PS.h b/src/shaders/out/GL/BlurY_PS.h new file mode 100644 index 0000000..7dc0d0e --- /dev/null +++ b/src/shaders/out/GL/BlurY_PS.h @@ -0,0 +1,49 @@ +//! This file was auto-generated. Do not modify manually. +#pragma once + +namespace Generated +{ + +namespace ShaderPermutations +{ + +#ifndef ENABLE_SHARPNESS_PROFILE_DEFINED +#define ENABLE_SHARPNESS_PROFILE_DEFINED + enum ENABLE_SHARPNESS_PROFILE + { + ENABLE_SHARPNESS_PROFILE_0, + ENABLE_SHARPNESS_PROFILE_1, + ENABLE_SHARPNESS_PROFILE_COUNT, + }; +#endif + +#ifndef KERNEL_RADIUS_DEFINED +#define KERNEL_RADIUS_DEFINED + enum KERNEL_RADIUS + { + KERNEL_RADIUS_2, + KERNEL_RADIUS_4, + KERNEL_RADIUS_COUNT, + }; +#endif + +}; + +struct BlurY_PS +{ + void Create(DevicePointer Device); + void Release(DevicePointer Device); + GLSLPrograms::BlurY_PS& Get(ShaderPermutations::ENABLE_SHARPNESS_PROFILE A, ShaderPermutations::KERNEL_RADIUS B) + { + return m_Shader[A][B]; + } + +private: + GLSLPrograms::BlurY_PS m_Shader[ShaderPermutations::ENABLE_SHARPNESS_PROFILE_COUNT][ShaderPermutations::KERNEL_RADIUS_COUNT]; +#if _WIN32 + static_assert(ShaderPermutations::ENABLE_SHARPNESS_PROFILE_COUNT == 2, ""); + static_assert(ShaderPermutations::KERNEL_RADIUS_COUNT == 2, ""); +#endif +}; + +}; diff --git a/src/shaders/out/GL/CoarseAO_PS.cpp b/src/shaders/out/GL/CoarseAO_PS.cpp new file mode 100644 index 0000000..a1bde56 --- /dev/null +++ b/src/shaders/out/GL/CoarseAO_PS.cpp @@ -0,0 +1,15519 @@ +static const char* g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_0_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"struct PerPassConstantBuffer_0_Type {\n" +" vec4 f4Jitter;\n" +" vec2 f2Offset;\n" +" float fSliceIndex;\n" +" uint uSliceIndex;\n" +"};\n" +"uniform PerPassConstantBuffer {\n" +" PerPassConstantBuffer_0_Type PerPassConstantBuffer_0;\n" +"};\n" +"uniform sampler2DArray g_t0;\n" +"uniform sampler2D g_t1;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[8];\n" +"ivec4 Temp_int[8];\n" +"uvec4 Temp_uint[8];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].xy = vec4(floor(Input0.xyxx)).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx * vec4(4.000000, 4.000000, 0.000000, 0.000000) + PerPassConstantBuffer_0.f2Offset.xyxx.xyxx).xy;\n" +" Temp[0].zw = vec4(Temp[0].xxxy * GlobalConstantBuffer_1.xyxx.xxxy).zw;\n" +" Temp[1].xy = vec4(Temp[0].zwzz * vec4(0.250000, 0.250000, 0.000000, 0.000000)).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[2].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[0].z = GlobalConstantBuffer_5 / Temp[2].z;\n" +" Temp_uint[0].w = ((Temp[0].z)< (1.000000)) ? 0xFFFFFFFFu : 0u;\n" +" if((Temp_uint[0].w)!=0u){\n" +" Output0.x = vec4(1.000000).x;\n" +" return;\n" +" //ENDIF\n" +" }\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[1].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[2].xy = vec4(Temp[2].zzzz * Temp[1].zwzz).xy;\n" +" Temp_int[3].xy = ivec4(Temp[0].xyxx).xy;\n" +" Temp[3].zw = vec4(vec4(0.000000, 0.000000, 0.000000, 0.000000)).zw;\n" +" Temp[0].xyw = texelFetch(g_t1, ivec2((Temp_int[3]).xy), 0).xywz.xyw;\n" +" Temp[0].xyw = vec4(Temp[0].xyxw * vec4(2.000000, 2.000000, 0.000000, 2.000000) + vec4(-1.000000, -1.000000, 0.000000, -1.000000)).xyw;\n" +" Temp[1].z = Temp[0].z * 0.050000;\n" +" Temp[1].z = PerPassConstantBuffer_0.f4Jitter.z * Temp[1].z + 1.000000;\n" +" Temp[3].xyz = vec4(PerPassConstantBuffer_0.f4Jitter.xyyx * vec4(1.000000, -1.000000, -0.707107, 0.000000)).xyz;\n" +" Temp[4].xy = vec4(Temp[1].zzzz * Temp[3].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[4].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[4].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[5].z = (textureLod(g_t0, Temp[4].xyz, 0.000000).yzxw).z;\n" +" Temp[4].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[4].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[5].xy = vec4(Temp[5].zzzz * Temp[4].xyxx).xy;\n" +" Temp[1].w = Temp[0].z * 0.050000 + Temp[1].z;\n" +" Temp[4].xyz = vec4(-Temp[2].xyzx + Temp[5].xyzx).xyz;\n" +" Temp[2].w = vec4(dot((Temp[4].xyzx).xyz, (Temp[4].xyzx).xyz)).w;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].xyzx).xyz)).w;\n" +" Temp[4].x = vec4(inversesqrt(Temp[2].w)).x;\n" +" Temp[3].w = Temp[3].w * Temp[4].x + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[2].w = Temp[2].w * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[2].w = clamp(Temp[2].w, 0.0, 1.0);\n" +" Temp[4].xy = vec4(Temp[3].xyxx * Temp[1].wwww).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[4].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[4].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[5].z = (textureLod(g_t0, Temp[4].xyz, 0.000000).yzxw).z;\n" +" Temp[4].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[4].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[5].xy = vec4(Temp[5].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].x = Temp[0].z * 0.050000 + Temp[1].w;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[5].xxyz).yzw;\n" +" Temp[5].x = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).x;\n" +" Temp[4].y = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[4].z = vec4(inversesqrt(Temp[5].x)).z;\n" +" Temp[4].y = Temp[4].y * Temp[4].z + -GlobalConstantBuffer_8;\n" +" Temp[4].y = clamp(Temp[4].y, 0.0, 1.0);\n" +" Temp[4].z = Temp[5].x * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[4].z = clamp(Temp[4].z, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[3].xyxx * Temp[4].xxxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[0].z = Temp[0].z * 0.050000 + Temp[4].x;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[4].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(dot((Temp[0].xywx).xyz, (Temp[5].xyzx).xyz)).x;\n" +" Temp[5].y = vec4(inversesqrt(Temp[4].w)).y;\n" +" Temp[5].x = Temp[5].x * Temp[5].y + -GlobalConstantBuffer_8;\n" +" Temp[5].x = clamp(Temp[5].x, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[5].x;\n" +" Temp[4].y = Temp[4].y * Temp[4].z + Temp[4].w;\n" +" Temp[3].xy = vec4(Temp[3].xyxx * Temp[0].zzzz).xy;\n" +" Temp[3].xy = vec4(roundEven(Temp[3].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[3].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[3].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[3].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].x = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).x;\n" +" Temp[3].y = vec4(dot((Temp[0].xywx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[4].z = vec4(inversesqrt(Temp[3].x)).z;\n" +" Temp[3].y = Temp[3].y * Temp[4].z + -GlobalConstantBuffer_8;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].x * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].x = clamp(Temp[3].x, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].y * Temp[3].x + Temp[4].y;\n" +" Temp[4].yz = vec4(PerPassConstantBuffer_0.f4Jitter.xxyx * vec4(0.000000, 0.707107, 0.707107, 0.000000)).yz;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].z;\n" +" Temp[3].y = Temp[4].y + Temp[4].z;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[5].zw = vec4(Temp[1].zzzz * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[4].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].y)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * Temp[4].w;\n" +" Temp[2].w = Temp[3].w * Temp[2].w + Temp[3].y;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[3].ywyy).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[3].ywyy).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[3].ywyy).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].y = PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yw = vec4(Temp[1].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[3].ywyy).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[2].w = Temp[3].w * Temp[3].y + Temp[2].w;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[3].ywyy).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[3].ywyy).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[3].ywyy).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[4].z;\n" +" Temp[3].y = PerPassConstantBuffer_0.f4Jitter.y * -0.707107 + Temp[4].y;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yw = vec4(Temp[1].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[2].w = Temp[3].w * Temp[3].y + Temp[2].w;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[5].x = -PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[3].y = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yw = vec4(Temp[1].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[2].w = Temp[3].w * Temp[3].y + Temp[2].w;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].y = PerPassConstantBuffer_0.f4Jitter.y * -0.707107;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[3].y;\n" +" Temp[3].y = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(-0.707107, -0.707107, 0.000000, 0.000000)).xy)).y;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yw = vec4(Temp[1].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[2].w = Temp[3].w * Temp[3].y + Temp[2].w;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.000000 + PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].y = PerPassConstantBuffer_0.f4Jitter.y * 0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yw = vec4(Temp[1].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[2].w = Temp[3].w * Temp[3].y + Temp[2].w;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[3].z;\n" +" Temp[3].y = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(0.707107, -0.707107, 0.000000, 0.000000)).xy)).y;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yz = vec4(Temp[1].zzzz * Temp[5].xxyx).yz;\n" +" Temp[3].yz = vec4(roundEven(Temp[3].yyzy)).yz;\n" +" Temp[6].xy = vec4(Temp[3].yzyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[3].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[4].yz = vec4(GlobalConstantBuffer_3.xyxx.xxyx * Temp[6].xxyx + GlobalConstantBuffer_4.xxxy.zzwz).yz;\n" +" Temp[3].yz = vec4(Temp[3].wwww * Temp[4].yyzy).yz;\n" +" Temp[3].yzw = vec4(-Temp[2].xxyz + Temp[3].yyzw).yzw;\n" +" Temp[1].z = vec4(dot((Temp[3].yzwy).xyz, (Temp[3].yzwy).xyz)).z;\n" +" Temp[3].y = vec4(dot((Temp[0].xywx).xyz, (Temp[3].yzwy).xyz)).y;\n" +" Temp[3].z = vec4(inversesqrt(Temp[1].z)).z;\n" +" Temp[3].y = Temp[3].y * Temp[3].z + -GlobalConstantBuffer_8;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[1].z = Temp[3].y * Temp[1].z + Temp[2].w;\n" +" Temp[3].yz = vec4(Temp[1].wwww * Temp[5].xxyx).yz;\n" +" Temp[3].yz = vec4(roundEven(Temp[3].yyzy)).yz;\n" +" Temp[6].xy = vec4(Temp[3].yzyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[3].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[4].yz = vec4(GlobalConstantBuffer_3.xyxx.xxyx * Temp[6].xxyx + GlobalConstantBuffer_4.xxxy.zzwz).yz;\n" +" Temp[3].yz = vec4(Temp[3].wwww * Temp[4].yyzy).yz;\n" +" Temp[3].yzw = vec4(-Temp[2].xxyz + Temp[3].yyzw).yzw;\n" +" Temp[1].w = vec4(dot((Temp[3].yzwy).xyz, (Temp[3].yzwy).xyz)).w;\n" +" Temp[2].w = vec4(dot((Temp[0].xywx).xyz, (Temp[3].yzwy).xyz)).w;\n" +" Temp[3].y = vec4(inversesqrt(Temp[1].w)).y;\n" +" Temp[2].w = Temp[2].w * Temp[3].y + -GlobalConstantBuffer_8;\n" +" Temp[2].w = clamp(Temp[2].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[1].w * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[2].w * Temp[1].w + Temp[3].x;\n" +" Temp[3].xy = vec4(Temp[4].xxxx * Temp[5].xyxx).xy;\n" +" Temp[3].xy = vec4(roundEven(Temp[3].xyxx)).xy;\n" +" Temp[3].xy = vec4(Temp[3].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[3].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].z = (textureLod(g_t0, Temp[3].xyz, 0.000000).yzxw).z;\n" +" Temp[3].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[3].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].zzzz * Temp[3].xyxx).xy;\n" +" Temp[3].xyz = vec4(-Temp[2].xyzx + Temp[4].xyzx).xyz;\n" +" Temp[2].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[3].xyzx).xyz)).w;\n" +" Temp[3].x = vec4(dot((Temp[0].xywx).xyz, (Temp[3].xyzx).xyz)).x;\n" +" Temp[3].y = vec4(inversesqrt(Temp[2].w)).y;\n" +" Temp[3].x = Temp[3].x * Temp[3].y + -GlobalConstantBuffer_8;\n" +" Temp[3].x = clamp(Temp[3].x, 0.0, 1.0);\n" +" Temp[2].w = Temp[2].w * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[2].w = clamp(Temp[2].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[3].x * Temp[2].w + Temp[1].w;\n" +" Temp[3].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[3].xy = vec4(roundEven(Temp[3].xyxx)).xy;\n" +" Temp[3].xy = vec4(Temp[3].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[3].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].z = (textureLod(g_t0, Temp[3].xyz, 0.000000).yzxw).z;\n" +" Temp[1].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[3].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].zzzz * Temp[1].xyxx).xy;\n" +" Temp[2].xyz = vec4(-Temp[2].xyzx + Temp[4].xyzx).xyz;\n" +" Temp[0].z = vec4(dot((Temp[2].xyzx).xyz, (Temp[2].xyzx).xyz)).z;\n" +" Temp[0].x = vec4(dot((Temp[0].xywx).xyz, (Temp[2].xyzx).xyz)).x;\n" +" Temp[0].y = vec4(inversesqrt(Temp[0].z)).y;\n" +" Temp[0].x = Temp[0].x * Temp[0].y + -GlobalConstantBuffer_8;\n" +" Temp[0].x = clamp(Temp[0].x, 0.0, 1.0);\n" +" Temp[0].y = Temp[0].z * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].x = Temp[0].x * Temp[0].y + Temp[1].w;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_10;\n" +" Temp[0].x = Temp[1].z * GlobalConstantBuffer_9 + Temp[0].x;\n" +" Output0.x = -Temp[0].x * 0.062500 + 1.000000;\n" +" Output0.x = clamp(Output0.x, 0.0, 1.0);\n" +" return;\n" +"}\n" +; +static const char* g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_1_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"struct PerPassConstantBuffer_0_Type {\n" +" vec4 f4Jitter;\n" +" vec2 f2Offset;\n" +" float fSliceIndex;\n" +" uint uSliceIndex;\n" +"};\n" +"uniform PerPassConstantBuffer {\n" +" PerPassConstantBuffer_0_Type PerPassConstantBuffer_0;\n" +"};\n" +"uniform sampler2DArray g_t0;\n" +"uniform sampler2D g_t1;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[8];\n" +"ivec4 Temp_int[8];\n" +"uvec4 Temp_uint[8];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].xy = vec4(floor(Input0.xyxx)).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx * vec4(4.000000, 4.000000, 0.000000, 0.000000) + PerPassConstantBuffer_0.f2Offset.xyxx.xyxx).xy;\n" +" Temp[0].zw = vec4(Temp[0].xxxy * GlobalConstantBuffer_1.xyxx.xxxy).zw;\n" +" Temp[1].xy = vec4(Temp[0].zwzz * vec4(0.250000, 0.250000, 0.000000, 0.000000)).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[2].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[0].z = GlobalConstantBuffer_5 / Temp[2].z;\n" +" Temp_uint[0].w = ((Temp[0].z)< (1.000000)) ? 0xFFFFFFFFu : 0u;\n" +" if((Temp_uint[0].w)!=0u){\n" +" Output0.x = vec4(1.000000).x;\n" +" return;\n" +" //ENDIF\n" +" }\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[1].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[2].xy = vec4(Temp[2].zzzz * Temp[1].zwzz).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx + GlobalConstantBuffer_21.xyxx.xyxx).xy;\n" +" Temp_int[3].xy = ivec4(Temp[0].xyxx).xy;\n" +" Temp[3].zw = vec4(vec4(0.000000, 0.000000, 0.000000, 0.000000)).zw;\n" +" Temp[0].xyw = texelFetch(g_t1, ivec2((Temp_int[3]).xy), 0).xywz.xyw;\n" +" Temp[0].xyw = vec4(Temp[0].xyxw * GlobalConstantBuffer_28 + GlobalConstantBuffer_29).xyw;\n" +" Temp[3].xyz = vec4(Temp[0].yyyy * GlobalConstantBuffer_27[1].xyzx).xyz;\n" +" Temp[3].xyz = vec4(Temp[0].xxxx * GlobalConstantBuffer_27[0].xyzx + Temp[3].xyzx).xyz;\n" +" Temp[0].xyw = vec4(Temp[0].wwww * GlobalConstantBuffer_27[2].xyxz + Temp[3].xyxz).xyw;\n" +" Temp[1].z = vec4(dot((Temp[0].xywx).xyz, (Temp[0].xywx).xyz)).z;\n" +" Temp[1].z = vec4(inversesqrt(Temp[1].z)).z;\n" +" Temp[0].xyw = vec4(Temp[0].xyxw * Temp[1].zzzz).xyw;\n" +" Temp[1].z = Temp[0].z * 0.050000;\n" +" Temp[1].z = PerPassConstantBuffer_0.f4Jitter.z * Temp[1].z + 1.000000;\n" +" Temp[3].xyz = vec4(PerPassConstantBuffer_0.f4Jitter.xyyx * vec4(1.000000, -1.000000, -0.707107, 0.000000)).xyz;\n" +" Temp[4].xy = vec4(Temp[1].zzzz * Temp[3].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[4].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[4].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[5].z = (textureLod(g_t0, Temp[4].xyz, 0.000000).yzxw).z;\n" +" Temp[4].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[4].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[5].xy = vec4(Temp[5].zzzz * Temp[4].xyxx).xy;\n" +" Temp[1].w = Temp[0].z * 0.050000 + Temp[1].z;\n" +" Temp[4].xyz = vec4(-Temp[2].xyzx + Temp[5].xyzx).xyz;\n" +" Temp[2].w = vec4(dot((Temp[4].xyzx).xyz, (Temp[4].xyzx).xyz)).w;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].xyzx).xyz)).w;\n" +" Temp[4].x = vec4(inversesqrt(Temp[2].w)).x;\n" +" Temp[3].w = Temp[3].w * Temp[4].x + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[2].w = Temp[2].w * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[2].w = clamp(Temp[2].w, 0.0, 1.0);\n" +" Temp[4].xy = vec4(Temp[3].xyxx * Temp[1].wwww).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[4].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[4].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[5].z = (textureLod(g_t0, Temp[4].xyz, 0.000000).yzxw).z;\n" +" Temp[4].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[4].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[5].xy = vec4(Temp[5].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].x = Temp[0].z * 0.050000 + Temp[1].w;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[5].xxyz).yzw;\n" +" Temp[5].x = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).x;\n" +" Temp[4].y = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[4].z = vec4(inversesqrt(Temp[5].x)).z;\n" +" Temp[4].y = Temp[4].y * Temp[4].z + -GlobalConstantBuffer_8;\n" +" Temp[4].y = clamp(Temp[4].y, 0.0, 1.0);\n" +" Temp[4].z = Temp[5].x * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[4].z = clamp(Temp[4].z, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[3].xyxx * Temp[4].xxxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[0].z = Temp[0].z * 0.050000 + Temp[4].x;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[4].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(dot((Temp[0].xywx).xyz, (Temp[5].xyzx).xyz)).x;\n" +" Temp[5].y = vec4(inversesqrt(Temp[4].w)).y;\n" +" Temp[5].x = Temp[5].x * Temp[5].y + -GlobalConstantBuffer_8;\n" +" Temp[5].x = clamp(Temp[5].x, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[5].x;\n" +" Temp[4].y = Temp[4].y * Temp[4].z + Temp[4].w;\n" +" Temp[3].xy = vec4(Temp[3].xyxx * Temp[0].zzzz).xy;\n" +" Temp[3].xy = vec4(roundEven(Temp[3].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[3].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[3].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[3].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].x = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).x;\n" +" Temp[3].y = vec4(dot((Temp[0].xywx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[4].z = vec4(inversesqrt(Temp[3].x)).z;\n" +" Temp[3].y = Temp[3].y * Temp[4].z + -GlobalConstantBuffer_8;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].x * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].x = clamp(Temp[3].x, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].y * Temp[3].x + Temp[4].y;\n" +" Temp[4].yz = vec4(PerPassConstantBuffer_0.f4Jitter.xxyx * vec4(0.000000, 0.707107, 0.707107, 0.000000)).yz;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].z;\n" +" Temp[3].y = Temp[4].y + Temp[4].z;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[5].zw = vec4(Temp[1].zzzz * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[4].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].y)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * Temp[4].w;\n" +" Temp[2].w = Temp[3].w * Temp[2].w + Temp[3].y;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[3].ywyy).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[3].ywyy).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[3].ywyy).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].y = PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yw = vec4(Temp[1].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[3].ywyy).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[2].w = Temp[3].w * Temp[3].y + Temp[2].w;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[3].ywyy).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[3].ywyy).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[3].ywyy).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[4].z;\n" +" Temp[3].y = PerPassConstantBuffer_0.f4Jitter.y * -0.707107 + Temp[4].y;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yw = vec4(Temp[1].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[2].w = Temp[3].w * Temp[3].y + Temp[2].w;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[5].x = -PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[3].y = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yw = vec4(Temp[1].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[2].w = Temp[3].w * Temp[3].y + Temp[2].w;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].y = PerPassConstantBuffer_0.f4Jitter.y * -0.707107;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[3].y;\n" +" Temp[3].y = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(-0.707107, -0.707107, 0.000000, 0.000000)).xy)).y;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yw = vec4(Temp[1].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[2].w = Temp[3].w * Temp[3].y + Temp[2].w;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.000000 + PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].y = PerPassConstantBuffer_0.f4Jitter.y * 0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yw = vec4(Temp[1].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[2].w = Temp[3].w * Temp[3].y + Temp[2].w;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[3].z;\n" +" Temp[3].y = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(0.707107, -0.707107, 0.000000, 0.000000)).xy)).y;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yz = vec4(Temp[1].zzzz * Temp[5].xxyx).yz;\n" +" Temp[3].yz = vec4(roundEven(Temp[3].yyzy)).yz;\n" +" Temp[6].xy = vec4(Temp[3].yzyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[3].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[4].yz = vec4(GlobalConstantBuffer_3.xyxx.xxyx * Temp[6].xxyx + GlobalConstantBuffer_4.xxxy.zzwz).yz;\n" +" Temp[3].yz = vec4(Temp[3].wwww * Temp[4].yyzy).yz;\n" +" Temp[3].yzw = vec4(-Temp[2].xxyz + Temp[3].yyzw).yzw;\n" +" Temp[1].z = vec4(dot((Temp[3].yzwy).xyz, (Temp[3].yzwy).xyz)).z;\n" +" Temp[3].y = vec4(dot((Temp[0].xywx).xyz, (Temp[3].yzwy).xyz)).y;\n" +" Temp[3].z = vec4(inversesqrt(Temp[1].z)).z;\n" +" Temp[3].y = Temp[3].y * Temp[3].z + -GlobalConstantBuffer_8;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[1].z = Temp[3].y * Temp[1].z + Temp[2].w;\n" +" Temp[3].yz = vec4(Temp[1].wwww * Temp[5].xxyx).yz;\n" +" Temp[3].yz = vec4(roundEven(Temp[3].yyzy)).yz;\n" +" Temp[6].xy = vec4(Temp[3].yzyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[3].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[4].yz = vec4(GlobalConstantBuffer_3.xyxx.xxyx * Temp[6].xxyx + GlobalConstantBuffer_4.xxxy.zzwz).yz;\n" +" Temp[3].yz = vec4(Temp[3].wwww * Temp[4].yyzy).yz;\n" +" Temp[3].yzw = vec4(-Temp[2].xxyz + Temp[3].yyzw).yzw;\n" +" Temp[1].w = vec4(dot((Temp[3].yzwy).xyz, (Temp[3].yzwy).xyz)).w;\n" +" Temp[2].w = vec4(dot((Temp[0].xywx).xyz, (Temp[3].yzwy).xyz)).w;\n" +" Temp[3].y = vec4(inversesqrt(Temp[1].w)).y;\n" +" Temp[2].w = Temp[2].w * Temp[3].y + -GlobalConstantBuffer_8;\n" +" Temp[2].w = clamp(Temp[2].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[1].w * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[2].w * Temp[1].w + Temp[3].x;\n" +" Temp[3].xy = vec4(Temp[4].xxxx * Temp[5].xyxx).xy;\n" +" Temp[3].xy = vec4(roundEven(Temp[3].xyxx)).xy;\n" +" Temp[3].xy = vec4(Temp[3].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[3].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].z = (textureLod(g_t0, Temp[3].xyz, 0.000000).yzxw).z;\n" +" Temp[3].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[3].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].zzzz * Temp[3].xyxx).xy;\n" +" Temp[3].xyz = vec4(-Temp[2].xyzx + Temp[4].xyzx).xyz;\n" +" Temp[2].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[3].xyzx).xyz)).w;\n" +" Temp[3].x = vec4(dot((Temp[0].xywx).xyz, (Temp[3].xyzx).xyz)).x;\n" +" Temp[3].y = vec4(inversesqrt(Temp[2].w)).y;\n" +" Temp[3].x = Temp[3].x * Temp[3].y + -GlobalConstantBuffer_8;\n" +" Temp[3].x = clamp(Temp[3].x, 0.0, 1.0);\n" +" Temp[2].w = Temp[2].w * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[2].w = clamp(Temp[2].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[3].x * Temp[2].w + Temp[1].w;\n" +" Temp[3].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[3].xy = vec4(roundEven(Temp[3].xyxx)).xy;\n" +" Temp[3].xy = vec4(Temp[3].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[3].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].z = (textureLod(g_t0, Temp[3].xyz, 0.000000).yzxw).z;\n" +" Temp[1].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[3].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].zzzz * Temp[1].xyxx).xy;\n" +" Temp[2].xyz = vec4(-Temp[2].xyzx + Temp[4].xyzx).xyz;\n" +" Temp[0].z = vec4(dot((Temp[2].xyzx).xyz, (Temp[2].xyzx).xyz)).z;\n" +" Temp[0].x = vec4(dot((Temp[0].xywx).xyz, (Temp[2].xyzx).xyz)).x;\n" +" Temp[0].y = vec4(inversesqrt(Temp[0].z)).y;\n" +" Temp[0].x = Temp[0].x * Temp[0].y + -GlobalConstantBuffer_8;\n" +" Temp[0].x = clamp(Temp[0].x, 0.0, 1.0);\n" +" Temp[0].y = Temp[0].z * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].x = Temp[0].x * Temp[0].y + Temp[1].w;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_10;\n" +" Temp[0].x = Temp[1].z * GlobalConstantBuffer_9 + Temp[0].x;\n" +" Output0.x = -Temp[0].x * 0.062500 + 1.000000;\n" +" Output0.x = clamp(Output0.x, 0.0, 1.0);\n" +" return;\n" +"}\n" +; +static const char* g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_2_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"struct PerPassConstantBuffer_0_Type {\n" +" vec4 f4Jitter;\n" +" vec2 f2Offset;\n" +" float fSliceIndex;\n" +" uint uSliceIndex;\n" +"};\n" +"uniform PerPassConstantBuffer {\n" +" PerPassConstantBuffer_0_Type PerPassConstantBuffer_0;\n" +"};\n" +"uniform sampler2DArray g_t0;\n" +"uniform sampler2DMS g_t1;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[8];\n" +"ivec4 Temp_int[8];\n" +"uvec4 Temp_uint[8];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].xy = vec4(floor(Input0.xyxx)).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx * vec4(4.000000, 4.000000, 0.000000, 0.000000) + PerPassConstantBuffer_0.f2Offset.xyxx.xyxx).xy;\n" +" Temp[0].zw = vec4(Temp[0].xxxy * GlobalConstantBuffer_1.xyxx.xxxy).zw;\n" +" Temp[1].xy = vec4(Temp[0].zwzz * vec4(0.250000, 0.250000, 0.000000, 0.000000)).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[2].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[0].z = GlobalConstantBuffer_5 / Temp[2].z;\n" +" Temp_uint[0].w = ((Temp[0].z)< (1.000000)) ? 0xFFFFFFFFu : 0u;\n" +" if((Temp_uint[0].w)!=0u){\n" +" Output0.x = vec4(1.000000).x;\n" +" return;\n" +" //ENDIF\n" +" }\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[1].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[2].xy = vec4(Temp[2].zzzz * Temp[1].zwzz).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx + GlobalConstantBuffer_21.xyxx.xyxx).xy;\n" +" Temp_int[3].xy = ivec4(Temp[0].xyxx).xy;\n" +" Temp[3].zw = vec4(vec4(0.000000, 0.000000, 0.000000, 0.000000)).zw;\n" +" Temp[0].xyw = texelFetch(g_t1, ivec2((Temp_int[3]).xy), 0).xywz.xyw;\n" +" Temp[0].xyw = vec4(Temp[0].xyxw * GlobalConstantBuffer_28 + GlobalConstantBuffer_29).xyw;\n" +" Temp[3].xyz = vec4(Temp[0].yyyy * GlobalConstantBuffer_27[1].xyzx).xyz;\n" +" Temp[3].xyz = vec4(Temp[0].xxxx * GlobalConstantBuffer_27[0].xyzx + Temp[3].xyzx).xyz;\n" +" Temp[0].xyw = vec4(Temp[0].wwww * GlobalConstantBuffer_27[2].xyxz + Temp[3].xyxz).xyw;\n" +" Temp[1].z = vec4(dot((Temp[0].xywx).xyz, (Temp[0].xywx).xyz)).z;\n" +" Temp[1].z = vec4(inversesqrt(Temp[1].z)).z;\n" +" Temp[0].xyw = vec4(Temp[0].xyxw * Temp[1].zzzz).xyw;\n" +" Temp[1].z = Temp[0].z * 0.050000;\n" +" Temp[1].z = PerPassConstantBuffer_0.f4Jitter.z * Temp[1].z + 1.000000;\n" +" Temp[3].xyz = vec4(PerPassConstantBuffer_0.f4Jitter.xyyx * vec4(1.000000, -1.000000, -0.707107, 0.000000)).xyz;\n" +" Temp[4].xy = vec4(Temp[1].zzzz * Temp[3].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[4].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[4].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[5].z = (textureLod(g_t0, Temp[4].xyz, 0.000000).yzxw).z;\n" +" Temp[4].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[4].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[5].xy = vec4(Temp[5].zzzz * Temp[4].xyxx).xy;\n" +" Temp[1].w = Temp[0].z * 0.050000 + Temp[1].z;\n" +" Temp[4].xyz = vec4(-Temp[2].xyzx + Temp[5].xyzx).xyz;\n" +" Temp[2].w = vec4(dot((Temp[4].xyzx).xyz, (Temp[4].xyzx).xyz)).w;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].xyzx).xyz)).w;\n" +" Temp[4].x = vec4(inversesqrt(Temp[2].w)).x;\n" +" Temp[3].w = Temp[3].w * Temp[4].x + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[2].w = Temp[2].w * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[2].w = clamp(Temp[2].w, 0.0, 1.0);\n" +" Temp[4].xy = vec4(Temp[3].xyxx * Temp[1].wwww).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[4].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[4].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[5].z = (textureLod(g_t0, Temp[4].xyz, 0.000000).yzxw).z;\n" +" Temp[4].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[4].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[5].xy = vec4(Temp[5].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].x = Temp[0].z * 0.050000 + Temp[1].w;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[5].xxyz).yzw;\n" +" Temp[5].x = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).x;\n" +" Temp[4].y = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[4].z = vec4(inversesqrt(Temp[5].x)).z;\n" +" Temp[4].y = Temp[4].y * Temp[4].z + -GlobalConstantBuffer_8;\n" +" Temp[4].y = clamp(Temp[4].y, 0.0, 1.0);\n" +" Temp[4].z = Temp[5].x * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[4].z = clamp(Temp[4].z, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[3].xyxx * Temp[4].xxxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[0].z = Temp[0].z * 0.050000 + Temp[4].x;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[4].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(dot((Temp[0].xywx).xyz, (Temp[5].xyzx).xyz)).x;\n" +" Temp[5].y = vec4(inversesqrt(Temp[4].w)).y;\n" +" Temp[5].x = Temp[5].x * Temp[5].y + -GlobalConstantBuffer_8;\n" +" Temp[5].x = clamp(Temp[5].x, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[5].x;\n" +" Temp[4].y = Temp[4].y * Temp[4].z + Temp[4].w;\n" +" Temp[3].xy = vec4(Temp[3].xyxx * Temp[0].zzzz).xy;\n" +" Temp[3].xy = vec4(roundEven(Temp[3].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[3].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[3].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[3].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].x = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).x;\n" +" Temp[3].y = vec4(dot((Temp[0].xywx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[4].z = vec4(inversesqrt(Temp[3].x)).z;\n" +" Temp[3].y = Temp[3].y * Temp[4].z + -GlobalConstantBuffer_8;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].x * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].x = clamp(Temp[3].x, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].y * Temp[3].x + Temp[4].y;\n" +" Temp[4].yz = vec4(PerPassConstantBuffer_0.f4Jitter.xxyx * vec4(0.000000, 0.707107, 0.707107, 0.000000)).yz;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].z;\n" +" Temp[3].y = Temp[4].y + Temp[4].z;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[5].zw = vec4(Temp[1].zzzz * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[4].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].y)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * Temp[4].w;\n" +" Temp[2].w = Temp[3].w * Temp[2].w + Temp[3].y;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[3].ywyy).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[3].ywyy).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[3].ywyy).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].y = PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yw = vec4(Temp[1].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[3].ywyy).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[2].w = Temp[3].w * Temp[3].y + Temp[2].w;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[3].ywyy).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[3].ywyy).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[3].ywyy).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[4].z;\n" +" Temp[3].y = PerPassConstantBuffer_0.f4Jitter.y * -0.707107 + Temp[4].y;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yw = vec4(Temp[1].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[2].w = Temp[3].w * Temp[3].y + Temp[2].w;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[5].x = -PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[3].y = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yw = vec4(Temp[1].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[2].w = Temp[3].w * Temp[3].y + Temp[2].w;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].y = PerPassConstantBuffer_0.f4Jitter.y * -0.707107;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[3].y;\n" +" Temp[3].y = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(-0.707107, -0.707107, 0.000000, 0.000000)).xy)).y;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yw = vec4(Temp[1].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[2].w = Temp[3].w * Temp[3].y + Temp[2].w;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.000000 + PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].y = PerPassConstantBuffer_0.f4Jitter.y * 0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yw = vec4(Temp[1].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[2].w = Temp[3].w * Temp[3].y + Temp[2].w;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[3].z;\n" +" Temp[3].y = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(0.707107, -0.707107, 0.000000, 0.000000)).xy)).y;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yz = vec4(Temp[1].zzzz * Temp[5].xxyx).yz;\n" +" Temp[3].yz = vec4(roundEven(Temp[3].yyzy)).yz;\n" +" Temp[6].xy = vec4(Temp[3].yzyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[3].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[4].yz = vec4(GlobalConstantBuffer_3.xyxx.xxyx * Temp[6].xxyx + GlobalConstantBuffer_4.xxxy.zzwz).yz;\n" +" Temp[3].yz = vec4(Temp[3].wwww * Temp[4].yyzy).yz;\n" +" Temp[3].yzw = vec4(-Temp[2].xxyz + Temp[3].yyzw).yzw;\n" +" Temp[1].z = vec4(dot((Temp[3].yzwy).xyz, (Temp[3].yzwy).xyz)).z;\n" +" Temp[3].y = vec4(dot((Temp[0].xywx).xyz, (Temp[3].yzwy).xyz)).y;\n" +" Temp[3].z = vec4(inversesqrt(Temp[1].z)).z;\n" +" Temp[3].y = Temp[3].y * Temp[3].z + -GlobalConstantBuffer_8;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[1].z = Temp[3].y * Temp[1].z + Temp[2].w;\n" +" Temp[3].yz = vec4(Temp[1].wwww * Temp[5].xxyx).yz;\n" +" Temp[3].yz = vec4(roundEven(Temp[3].yyzy)).yz;\n" +" Temp[6].xy = vec4(Temp[3].yzyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[3].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[4].yz = vec4(GlobalConstantBuffer_3.xyxx.xxyx * Temp[6].xxyx + GlobalConstantBuffer_4.xxxy.zzwz).yz;\n" +" Temp[3].yz = vec4(Temp[3].wwww * Temp[4].yyzy).yz;\n" +" Temp[3].yzw = vec4(-Temp[2].xxyz + Temp[3].yyzw).yzw;\n" +" Temp[1].w = vec4(dot((Temp[3].yzwy).xyz, (Temp[3].yzwy).xyz)).w;\n" +" Temp[2].w = vec4(dot((Temp[0].xywx).xyz, (Temp[3].yzwy).xyz)).w;\n" +" Temp[3].y = vec4(inversesqrt(Temp[1].w)).y;\n" +" Temp[2].w = Temp[2].w * Temp[3].y + -GlobalConstantBuffer_8;\n" +" Temp[2].w = clamp(Temp[2].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[1].w * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[2].w * Temp[1].w + Temp[3].x;\n" +" Temp[3].xy = vec4(Temp[4].xxxx * Temp[5].xyxx).xy;\n" +" Temp[3].xy = vec4(roundEven(Temp[3].xyxx)).xy;\n" +" Temp[3].xy = vec4(Temp[3].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[3].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].z = (textureLod(g_t0, Temp[3].xyz, 0.000000).yzxw).z;\n" +" Temp[3].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[3].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].zzzz * Temp[3].xyxx).xy;\n" +" Temp[3].xyz = vec4(-Temp[2].xyzx + Temp[4].xyzx).xyz;\n" +" Temp[2].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[3].xyzx).xyz)).w;\n" +" Temp[3].x = vec4(dot((Temp[0].xywx).xyz, (Temp[3].xyzx).xyz)).x;\n" +" Temp[3].y = vec4(inversesqrt(Temp[2].w)).y;\n" +" Temp[3].x = Temp[3].x * Temp[3].y + -GlobalConstantBuffer_8;\n" +" Temp[3].x = clamp(Temp[3].x, 0.0, 1.0);\n" +" Temp[2].w = Temp[2].w * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[2].w = clamp(Temp[2].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[3].x * Temp[2].w + Temp[1].w;\n" +" Temp[3].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[3].xy = vec4(roundEven(Temp[3].xyxx)).xy;\n" +" Temp[3].xy = vec4(Temp[3].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[3].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].z = (textureLod(g_t0, Temp[3].xyz, 0.000000).yzxw).z;\n" +" Temp[1].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[3].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].zzzz * Temp[1].xyxx).xy;\n" +" Temp[2].xyz = vec4(-Temp[2].xyzx + Temp[4].xyzx).xyz;\n" +" Temp[0].z = vec4(dot((Temp[2].xyzx).xyz, (Temp[2].xyzx).xyz)).z;\n" +" Temp[0].x = vec4(dot((Temp[0].xywx).xyz, (Temp[2].xyzx).xyz)).x;\n" +" Temp[0].y = vec4(inversesqrt(Temp[0].z)).y;\n" +" Temp[0].x = Temp[0].x * Temp[0].y + -GlobalConstantBuffer_8;\n" +" Temp[0].x = clamp(Temp[0].x, 0.0, 1.0);\n" +" Temp[0].y = Temp[0].z * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].x = Temp[0].x * Temp[0].y + Temp[1].w;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_10;\n" +" Temp[0].x = Temp[1].z * GlobalConstantBuffer_9 + Temp[0].x;\n" +" Output0.x = -Temp[0].x * 0.062500 + 1.000000;\n" +" Output0.x = clamp(Output0.x, 0.0, 1.0);\n" +" return;\n" +"}\n" +; +static const char* g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_0_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"struct PerPassConstantBuffer_0_Type {\n" +" vec4 f4Jitter;\n" +" vec2 f2Offset;\n" +" float fSliceIndex;\n" +" uint uSliceIndex;\n" +"};\n" +"uniform PerPassConstantBuffer {\n" +" PerPassConstantBuffer_0_Type PerPassConstantBuffer_0;\n" +"};\n" +"uniform sampler2DArray g_t0;\n" +"uniform sampler2D g_t1;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[8];\n" +"ivec4 Temp_int[8];\n" +"uvec4 Temp_uint[8];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].xy = vec4(floor(Input0.xyxx)).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx * vec4(4.000000, 4.000000, 0.000000, 0.000000) + PerPassConstantBuffer_0.f2Offset.xyxx.xyxx).xy;\n" +" Temp[0].zw = vec4(Temp[0].xxxy * GlobalConstantBuffer_1.xyxx.xxxy).zw;\n" +" Temp[1].xy = vec4(Temp[0].zwzz * vec4(0.250000, 0.250000, 0.000000, 0.000000)).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[2].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[0].z = GlobalConstantBuffer_5 / Temp[2].z;\n" +" Temp_uint[0].w = ((Temp[0].z)< (1.000000)) ? 0xFFFFFFFFu : 0u;\n" +" if((Temp_uint[0].w)!=0u){\n" +" Output0.x = vec4(1.000000).x;\n" +" return;\n" +" //ENDIF\n" +" }\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[1].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[2].xy = vec4(Temp[2].zzzz * Temp[1].zwzz).xy;\n" +" Temp_int[3].xy = ivec4(Temp[0].xyxx).xy;\n" +" Temp[3].zw = vec4(vec4(0.000000, 0.000000, 0.000000, 0.000000)).zw;\n" +" Temp[0].xyw = texelFetch(g_t1, ivec2((Temp_int[3]).xy), 0).xywz.xyw;\n" +" Temp[0].xyw = vec4(Temp[0].xyxw * vec4(2.000000, 2.000000, 0.000000, 2.000000) + vec4(-1.000000, -1.000000, 0.000000, -1.000000)).xyw;\n" +" Temp[1].z = Temp[0].z * 0.050000;\n" +" Temp[1].z = PerPassConstantBuffer_0.f4Jitter.z * Temp[1].z + 1.000000;\n" +" Temp[3].xyz = vec4(PerPassConstantBuffer_0.f4Jitter.xyyx * vec4(1.000000, -1.000000, -0.707107, 0.000000)).xyz;\n" +" Temp[4].xy = vec4(Temp[1].zzzz * Temp[3].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[4].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[4].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[5].z = (textureLod(g_t0, Temp[4].xyz, 0.000000).yzxw).z;\n" +" Temp[4].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[4].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[5].xy = vec4(Temp[5].zzzz * Temp[4].xyxx).xy;\n" +" Temp[1].w = Temp[0].z * 0.050000 + Temp[1].z;\n" +" Temp[4].xyz = vec4(-Temp[2].xyzx + Temp[5].xyzx).xyz;\n" +" Temp[2].w = vec4(dot((Temp[4].xyzx).xyz, (Temp[4].xyzx).xyz)).w;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].xyzx).xyz)).w;\n" +" Temp[4].x = vec4(inversesqrt(Temp[2].w)).x;\n" +" Temp[3].w = Temp[3].w * Temp[4].x + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[2].w = Temp[2].w * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[2].w = clamp(Temp[2].w, 0.0, 1.0);\n" +" Temp[4].xy = vec4(Temp[3].xyxx * Temp[1].wwww).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[4].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[4].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[5].z = (textureLod(g_t0, Temp[4].xyz, 0.000000).yzxw).z;\n" +" Temp[4].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[4].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[5].xy = vec4(Temp[5].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].x = Temp[0].z * 0.050000 + Temp[1].w;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[5].xxyz).yzw;\n" +" Temp[5].x = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).x;\n" +" Temp[4].y = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[4].z = vec4(inversesqrt(Temp[5].x)).z;\n" +" Temp[4].y = Temp[4].y * Temp[4].z + -GlobalConstantBuffer_8;\n" +" Temp[4].y = clamp(Temp[4].y, 0.0, 1.0);\n" +" Temp[4].z = Temp[5].x * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[4].z = clamp(Temp[4].z, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[3].xyxx * Temp[4].xxxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[0].z = Temp[0].z * 0.050000 + Temp[4].x;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[4].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(dot((Temp[0].xywx).xyz, (Temp[5].xyzx).xyz)).x;\n" +" Temp[5].y = vec4(inversesqrt(Temp[4].w)).y;\n" +" Temp[5].x = Temp[5].x * Temp[5].y + -GlobalConstantBuffer_8;\n" +" Temp[5].x = clamp(Temp[5].x, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[5].x;\n" +" Temp[4].y = Temp[4].y * Temp[4].z + Temp[4].w;\n" +" Temp[3].xy = vec4(Temp[3].xyxx * Temp[0].zzzz).xy;\n" +" Temp[3].xy = vec4(roundEven(Temp[3].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[3].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[3].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[3].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].x = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).x;\n" +" Temp[3].y = vec4(dot((Temp[0].xywx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[4].z = vec4(inversesqrt(Temp[3].x)).z;\n" +" Temp[3].y = Temp[3].y * Temp[4].z + -GlobalConstantBuffer_8;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].x * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].x = clamp(Temp[3].x, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].y * Temp[3].x + Temp[4].y;\n" +" Temp[4].yz = vec4(PerPassConstantBuffer_0.f4Jitter.xxyx * vec4(0.000000, 0.707107, 0.707107, 0.000000)).yz;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].z;\n" +" Temp[3].y = Temp[4].y + Temp[4].z;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[5].zw = vec4(Temp[1].zzzz * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[4].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].y)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * Temp[4].w;\n" +" Temp[2].w = Temp[3].w * Temp[2].w + Temp[3].y;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[3].ywyy).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[3].ywyy).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[3].ywyy).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].y = PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yw = vec4(Temp[1].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[3].ywyy).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[2].w = Temp[3].w * Temp[3].y + Temp[2].w;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[3].ywyy).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[3].ywyy).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[3].ywyy).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[4].z;\n" +" Temp[3].y = PerPassConstantBuffer_0.f4Jitter.y * -0.707107 + Temp[4].y;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yw = vec4(Temp[1].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[2].w = Temp[3].w * Temp[3].y + Temp[2].w;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[5].x = -PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[3].y = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yw = vec4(Temp[1].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[2].w = Temp[3].w * Temp[3].y + Temp[2].w;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].y = PerPassConstantBuffer_0.f4Jitter.y * -0.707107;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[3].y;\n" +" Temp[3].y = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(-0.707107, -0.707107, 0.000000, 0.000000)).xy)).y;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yw = vec4(Temp[1].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[2].w = Temp[3].w * Temp[3].y + Temp[2].w;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.000000 + PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].y = PerPassConstantBuffer_0.f4Jitter.y * 0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yw = vec4(Temp[1].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[2].w = Temp[3].w * Temp[3].y + Temp[2].w;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[3].z;\n" +" Temp[3].y = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(0.707107, -0.707107, 0.000000, 0.000000)).xy)).y;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yz = vec4(Temp[1].zzzz * Temp[5].xxyx).yz;\n" +" Temp[3].yz = vec4(roundEven(Temp[3].yyzy)).yz;\n" +" Temp[6].xy = vec4(Temp[3].yzyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[3].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[4].yz = vec4(GlobalConstantBuffer_3.xyxx.xxyx * Temp[6].xxyx + GlobalConstantBuffer_4.xxxy.zzwz).yz;\n" +" Temp[3].yz = vec4(Temp[3].wwww * Temp[4].yyzy).yz;\n" +" Temp[3].yzw = vec4(-Temp[2].xxyz + Temp[3].yyzw).yzw;\n" +" Temp[1].z = vec4(dot((Temp[3].yzwy).xyz, (Temp[3].yzwy).xyz)).z;\n" +" Temp[3].y = vec4(dot((Temp[0].xywx).xyz, (Temp[3].yzwy).xyz)).y;\n" +" Temp[3].z = vec4(inversesqrt(Temp[1].z)).z;\n" +" Temp[3].y = Temp[3].y * Temp[3].z + -GlobalConstantBuffer_8;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[1].z = Temp[3].y * Temp[1].z + Temp[2].w;\n" +" Temp[3].yz = vec4(Temp[1].wwww * Temp[5].xxyx).yz;\n" +" Temp[3].yz = vec4(roundEven(Temp[3].yyzy)).yz;\n" +" Temp[6].xy = vec4(Temp[3].yzyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[3].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[4].yz = vec4(GlobalConstantBuffer_3.xyxx.xxyx * Temp[6].xxyx + GlobalConstantBuffer_4.xxxy.zzwz).yz;\n" +" Temp[3].yz = vec4(Temp[3].wwww * Temp[4].yyzy).yz;\n" +" Temp[3].yzw = vec4(-Temp[2].xxyz + Temp[3].yyzw).yzw;\n" +" Temp[1].w = vec4(dot((Temp[3].yzwy).xyz, (Temp[3].yzwy).xyz)).w;\n" +" Temp[2].w = vec4(dot((Temp[0].xywx).xyz, (Temp[3].yzwy).xyz)).w;\n" +" Temp[3].y = vec4(inversesqrt(Temp[1].w)).y;\n" +" Temp[2].w = Temp[2].w * Temp[3].y + -GlobalConstantBuffer_8;\n" +" Temp[2].w = clamp(Temp[2].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[1].w * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[2].w * Temp[1].w + Temp[3].x;\n" +" Temp[3].xy = vec4(Temp[4].xxxx * Temp[5].xyxx).xy;\n" +" Temp[3].xy = vec4(roundEven(Temp[3].xyxx)).xy;\n" +" Temp[3].xy = vec4(Temp[3].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[3].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].z = (textureLod(g_t0, Temp[3].xyz, 0.000000).yzxw).z;\n" +" Temp[3].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[3].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].zzzz * Temp[3].xyxx).xy;\n" +" Temp[3].xyz = vec4(-Temp[2].xyzx + Temp[4].xyzx).xyz;\n" +" Temp[2].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[3].xyzx).xyz)).w;\n" +" Temp[3].x = vec4(dot((Temp[0].xywx).xyz, (Temp[3].xyzx).xyz)).x;\n" +" Temp[3].y = vec4(inversesqrt(Temp[2].w)).y;\n" +" Temp[3].x = Temp[3].x * Temp[3].y + -GlobalConstantBuffer_8;\n" +" Temp[3].x = clamp(Temp[3].x, 0.0, 1.0);\n" +" Temp[2].w = Temp[2].w * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[2].w = clamp(Temp[2].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[3].x * Temp[2].w + Temp[1].w;\n" +" Temp[3].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[3].xy = vec4(roundEven(Temp[3].xyxx)).xy;\n" +" Temp[3].xy = vec4(Temp[3].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[3].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].z = (textureLod(g_t0, Temp[3].xyz, 0.000000).yzxw).z;\n" +" Temp[1].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[3].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].zzzz * Temp[1].xyxx).xy;\n" +" Temp[2].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxz).xyw;\n" +" Temp[0].z = vec4(dot((Temp[2].xywx).xyz, (Temp[2].xywx).xyz)).z;\n" +" Temp[0].x = vec4(dot((Temp[0].xywx).xyz, (Temp[2].xywx).xyz)).x;\n" +" Temp[0].y = vec4(inversesqrt(Temp[0].z)).y;\n" +" Temp[0].x = Temp[0].x * Temp[0].y + -GlobalConstantBuffer_8;\n" +" Temp[0].x = clamp(Temp[0].x, 0.0, 1.0);\n" +" Temp[0].y = Temp[0].z * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].x = Temp[0].x * Temp[0].y + Temp[1].w;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_10;\n" +" Temp[0].x = Temp[1].z * GlobalConstantBuffer_9 + Temp[0].x;\n" +" Temp[0].x = Temp[0].x * 0.031250;\n" +" Temp[0].y = Temp[2].z * GlobalConstantBuffer_22 + 1.000000;\n" +" Temp[0].y = Temp[0].y * GlobalConstantBuffer_23;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].x = vec4(dot((Temp[0].xxxx).xy, (Temp[0].yyyy).xy)).x;\n" +" Output0.x = -Temp[0].x + 1.000000;\n" +" Output0.x = clamp(Output0.x, 0.0, 1.0);\n" +" return;\n" +"}\n" +; +static const char* g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_1_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"struct PerPassConstantBuffer_0_Type {\n" +" vec4 f4Jitter;\n" +" vec2 f2Offset;\n" +" float fSliceIndex;\n" +" uint uSliceIndex;\n" +"};\n" +"uniform PerPassConstantBuffer {\n" +" PerPassConstantBuffer_0_Type PerPassConstantBuffer_0;\n" +"};\n" +"uniform sampler2DArray g_t0;\n" +"uniform sampler2D g_t1;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[8];\n" +"ivec4 Temp_int[8];\n" +"uvec4 Temp_uint[8];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].xy = vec4(floor(Input0.xyxx)).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx * vec4(4.000000, 4.000000, 0.000000, 0.000000) + PerPassConstantBuffer_0.f2Offset.xyxx.xyxx).xy;\n" +" Temp[0].zw = vec4(Temp[0].xxxy * GlobalConstantBuffer_1.xyxx.xxxy).zw;\n" +" Temp[1].xy = vec4(Temp[0].zwzz * vec4(0.250000, 0.250000, 0.000000, 0.000000)).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[2].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[0].z = GlobalConstantBuffer_5 / Temp[2].z;\n" +" Temp_uint[0].w = ((Temp[0].z)< (1.000000)) ? 0xFFFFFFFFu : 0u;\n" +" if((Temp_uint[0].w)!=0u){\n" +" Output0.x = vec4(1.000000).x;\n" +" return;\n" +" //ENDIF\n" +" }\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[1].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[2].xy = vec4(Temp[2].zzzz * Temp[1].zwzz).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx + GlobalConstantBuffer_21.xyxx.xyxx).xy;\n" +" Temp_int[3].xy = ivec4(Temp[0].xyxx).xy;\n" +" Temp[3].zw = vec4(vec4(0.000000, 0.000000, 0.000000, 0.000000)).zw;\n" +" Temp[0].xyw = texelFetch(g_t1, ivec2((Temp_int[3]).xy), 0).xywz.xyw;\n" +" Temp[0].xyw = vec4(Temp[0].xyxw * GlobalConstantBuffer_28 + GlobalConstantBuffer_29).xyw;\n" +" Temp[3].xyz = vec4(Temp[0].yyyy * GlobalConstantBuffer_27[1].xyzx).xyz;\n" +" Temp[3].xyz = vec4(Temp[0].xxxx * GlobalConstantBuffer_27[0].xyzx + Temp[3].xyzx).xyz;\n" +" Temp[0].xyw = vec4(Temp[0].wwww * GlobalConstantBuffer_27[2].xyxz + Temp[3].xyxz).xyw;\n" +" Temp[1].z = vec4(dot((Temp[0].xywx).xyz, (Temp[0].xywx).xyz)).z;\n" +" Temp[1].z = vec4(inversesqrt(Temp[1].z)).z;\n" +" Temp[0].xyw = vec4(Temp[0].xyxw * Temp[1].zzzz).xyw;\n" +" Temp[1].z = Temp[0].z * 0.050000;\n" +" Temp[1].z = PerPassConstantBuffer_0.f4Jitter.z * Temp[1].z + 1.000000;\n" +" Temp[3].xyz = vec4(PerPassConstantBuffer_0.f4Jitter.xyyx * vec4(1.000000, -1.000000, -0.707107, 0.000000)).xyz;\n" +" Temp[4].xy = vec4(Temp[1].zzzz * Temp[3].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[4].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[4].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[5].z = (textureLod(g_t0, Temp[4].xyz, 0.000000).yzxw).z;\n" +" Temp[4].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[4].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[5].xy = vec4(Temp[5].zzzz * Temp[4].xyxx).xy;\n" +" Temp[1].w = Temp[0].z * 0.050000 + Temp[1].z;\n" +" Temp[4].xyz = vec4(-Temp[2].xyzx + Temp[5].xyzx).xyz;\n" +" Temp[2].w = vec4(dot((Temp[4].xyzx).xyz, (Temp[4].xyzx).xyz)).w;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].xyzx).xyz)).w;\n" +" Temp[4].x = vec4(inversesqrt(Temp[2].w)).x;\n" +" Temp[3].w = Temp[3].w * Temp[4].x + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[2].w = Temp[2].w * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[2].w = clamp(Temp[2].w, 0.0, 1.0);\n" +" Temp[4].xy = vec4(Temp[3].xyxx * Temp[1].wwww).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[4].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[4].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[5].z = (textureLod(g_t0, Temp[4].xyz, 0.000000).yzxw).z;\n" +" Temp[4].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[4].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[5].xy = vec4(Temp[5].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].x = Temp[0].z * 0.050000 + Temp[1].w;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[5].xxyz).yzw;\n" +" Temp[5].x = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).x;\n" +" Temp[4].y = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[4].z = vec4(inversesqrt(Temp[5].x)).z;\n" +" Temp[4].y = Temp[4].y * Temp[4].z + -GlobalConstantBuffer_8;\n" +" Temp[4].y = clamp(Temp[4].y, 0.0, 1.0);\n" +" Temp[4].z = Temp[5].x * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[4].z = clamp(Temp[4].z, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[3].xyxx * Temp[4].xxxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[0].z = Temp[0].z * 0.050000 + Temp[4].x;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[4].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(dot((Temp[0].xywx).xyz, (Temp[5].xyzx).xyz)).x;\n" +" Temp[5].y = vec4(inversesqrt(Temp[4].w)).y;\n" +" Temp[5].x = Temp[5].x * Temp[5].y + -GlobalConstantBuffer_8;\n" +" Temp[5].x = clamp(Temp[5].x, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[5].x;\n" +" Temp[4].y = Temp[4].y * Temp[4].z + Temp[4].w;\n" +" Temp[3].xy = vec4(Temp[3].xyxx * Temp[0].zzzz).xy;\n" +" Temp[3].xy = vec4(roundEven(Temp[3].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[3].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[3].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[3].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].x = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).x;\n" +" Temp[3].y = vec4(dot((Temp[0].xywx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[4].z = vec4(inversesqrt(Temp[3].x)).z;\n" +" Temp[3].y = Temp[3].y * Temp[4].z + -GlobalConstantBuffer_8;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].x * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].x = clamp(Temp[3].x, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].y * Temp[3].x + Temp[4].y;\n" +" Temp[4].yz = vec4(PerPassConstantBuffer_0.f4Jitter.xxyx * vec4(0.000000, 0.707107, 0.707107, 0.000000)).yz;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].z;\n" +" Temp[3].y = Temp[4].y + Temp[4].z;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[5].zw = vec4(Temp[1].zzzz * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[4].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].y)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * Temp[4].w;\n" +" Temp[2].w = Temp[3].w * Temp[2].w + Temp[3].y;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[3].ywyy).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[3].ywyy).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[3].ywyy).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].y = PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yw = vec4(Temp[1].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[3].ywyy).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[2].w = Temp[3].w * Temp[3].y + Temp[2].w;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[3].ywyy).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[3].ywyy).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[3].ywyy).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[4].z;\n" +" Temp[3].y = PerPassConstantBuffer_0.f4Jitter.y * -0.707107 + Temp[4].y;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yw = vec4(Temp[1].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[2].w = Temp[3].w * Temp[3].y + Temp[2].w;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[5].x = -PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[3].y = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yw = vec4(Temp[1].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[2].w = Temp[3].w * Temp[3].y + Temp[2].w;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].y = PerPassConstantBuffer_0.f4Jitter.y * -0.707107;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[3].y;\n" +" Temp[3].y = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(-0.707107, -0.707107, 0.000000, 0.000000)).xy)).y;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yw = vec4(Temp[1].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[2].w = Temp[3].w * Temp[3].y + Temp[2].w;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.000000 + PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].y = PerPassConstantBuffer_0.f4Jitter.y * 0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yw = vec4(Temp[1].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[2].w = Temp[3].w * Temp[3].y + Temp[2].w;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[3].z;\n" +" Temp[3].y = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(0.707107, -0.707107, 0.000000, 0.000000)).xy)).y;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yz = vec4(Temp[1].zzzz * Temp[5].xxyx).yz;\n" +" Temp[3].yz = vec4(roundEven(Temp[3].yyzy)).yz;\n" +" Temp[6].xy = vec4(Temp[3].yzyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[3].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[4].yz = vec4(GlobalConstantBuffer_3.xyxx.xxyx * Temp[6].xxyx + GlobalConstantBuffer_4.xxxy.zzwz).yz;\n" +" Temp[3].yz = vec4(Temp[3].wwww * Temp[4].yyzy).yz;\n" +" Temp[3].yzw = vec4(-Temp[2].xxyz + Temp[3].yyzw).yzw;\n" +" Temp[1].z = vec4(dot((Temp[3].yzwy).xyz, (Temp[3].yzwy).xyz)).z;\n" +" Temp[3].y = vec4(dot((Temp[0].xywx).xyz, (Temp[3].yzwy).xyz)).y;\n" +" Temp[3].z = vec4(inversesqrt(Temp[1].z)).z;\n" +" Temp[3].y = Temp[3].y * Temp[3].z + -GlobalConstantBuffer_8;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[1].z = Temp[3].y * Temp[1].z + Temp[2].w;\n" +" Temp[3].yz = vec4(Temp[1].wwww * Temp[5].xxyx).yz;\n" +" Temp[3].yz = vec4(roundEven(Temp[3].yyzy)).yz;\n" +" Temp[6].xy = vec4(Temp[3].yzyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[3].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[4].yz = vec4(GlobalConstantBuffer_3.xyxx.xxyx * Temp[6].xxyx + GlobalConstantBuffer_4.xxxy.zzwz).yz;\n" +" Temp[3].yz = vec4(Temp[3].wwww * Temp[4].yyzy).yz;\n" +" Temp[3].yzw = vec4(-Temp[2].xxyz + Temp[3].yyzw).yzw;\n" +" Temp[1].w = vec4(dot((Temp[3].yzwy).xyz, (Temp[3].yzwy).xyz)).w;\n" +" Temp[2].w = vec4(dot((Temp[0].xywx).xyz, (Temp[3].yzwy).xyz)).w;\n" +" Temp[3].y = vec4(inversesqrt(Temp[1].w)).y;\n" +" Temp[2].w = Temp[2].w * Temp[3].y + -GlobalConstantBuffer_8;\n" +" Temp[2].w = clamp(Temp[2].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[1].w * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[2].w * Temp[1].w + Temp[3].x;\n" +" Temp[3].xy = vec4(Temp[4].xxxx * Temp[5].xyxx).xy;\n" +" Temp[3].xy = vec4(roundEven(Temp[3].xyxx)).xy;\n" +" Temp[3].xy = vec4(Temp[3].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[3].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].z = (textureLod(g_t0, Temp[3].xyz, 0.000000).yzxw).z;\n" +" Temp[3].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[3].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].zzzz * Temp[3].xyxx).xy;\n" +" Temp[3].xyz = vec4(-Temp[2].xyzx + Temp[4].xyzx).xyz;\n" +" Temp[2].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[3].xyzx).xyz)).w;\n" +" Temp[3].x = vec4(dot((Temp[0].xywx).xyz, (Temp[3].xyzx).xyz)).x;\n" +" Temp[3].y = vec4(inversesqrt(Temp[2].w)).y;\n" +" Temp[3].x = Temp[3].x * Temp[3].y + -GlobalConstantBuffer_8;\n" +" Temp[3].x = clamp(Temp[3].x, 0.0, 1.0);\n" +" Temp[2].w = Temp[2].w * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[2].w = clamp(Temp[2].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[3].x * Temp[2].w + Temp[1].w;\n" +" Temp[3].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[3].xy = vec4(roundEven(Temp[3].xyxx)).xy;\n" +" Temp[3].xy = vec4(Temp[3].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[3].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].z = (textureLod(g_t0, Temp[3].xyz, 0.000000).yzxw).z;\n" +" Temp[1].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[3].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].zzzz * Temp[1].xyxx).xy;\n" +" Temp[2].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxz).xyw;\n" +" Temp[0].z = vec4(dot((Temp[2].xywx).xyz, (Temp[2].xywx).xyz)).z;\n" +" Temp[0].x = vec4(dot((Temp[0].xywx).xyz, (Temp[2].xywx).xyz)).x;\n" +" Temp[0].y = vec4(inversesqrt(Temp[0].z)).y;\n" +" Temp[0].x = Temp[0].x * Temp[0].y + -GlobalConstantBuffer_8;\n" +" Temp[0].x = clamp(Temp[0].x, 0.0, 1.0);\n" +" Temp[0].y = Temp[0].z * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].x = Temp[0].x * Temp[0].y + Temp[1].w;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_10;\n" +" Temp[0].x = Temp[1].z * GlobalConstantBuffer_9 + Temp[0].x;\n" +" Temp[0].x = Temp[0].x * 0.031250;\n" +" Temp[0].y = Temp[2].z * GlobalConstantBuffer_22 + 1.000000;\n" +" Temp[0].y = Temp[0].y * GlobalConstantBuffer_23;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].x = vec4(dot((Temp[0].xxxx).xy, (Temp[0].yyyy).xy)).x;\n" +" Output0.x = -Temp[0].x + 1.000000;\n" +" Output0.x = clamp(Output0.x, 0.0, 1.0);\n" +" return;\n" +"}\n" +; +static const char* g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_2_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"struct PerPassConstantBuffer_0_Type {\n" +" vec4 f4Jitter;\n" +" vec2 f2Offset;\n" +" float fSliceIndex;\n" +" uint uSliceIndex;\n" +"};\n" +"uniform PerPassConstantBuffer {\n" +" PerPassConstantBuffer_0_Type PerPassConstantBuffer_0;\n" +"};\n" +"uniform sampler2DArray g_t0;\n" +"uniform sampler2DMS g_t1;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[8];\n" +"ivec4 Temp_int[8];\n" +"uvec4 Temp_uint[8];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].xy = vec4(floor(Input0.xyxx)).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx * vec4(4.000000, 4.000000, 0.000000, 0.000000) + PerPassConstantBuffer_0.f2Offset.xyxx.xyxx).xy;\n" +" Temp[0].zw = vec4(Temp[0].xxxy * GlobalConstantBuffer_1.xyxx.xxxy).zw;\n" +" Temp[1].xy = vec4(Temp[0].zwzz * vec4(0.250000, 0.250000, 0.000000, 0.000000)).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[2].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[0].z = GlobalConstantBuffer_5 / Temp[2].z;\n" +" Temp_uint[0].w = ((Temp[0].z)< (1.000000)) ? 0xFFFFFFFFu : 0u;\n" +" if((Temp_uint[0].w)!=0u){\n" +" Output0.x = vec4(1.000000).x;\n" +" return;\n" +" //ENDIF\n" +" }\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[1].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[2].xy = vec4(Temp[2].zzzz * Temp[1].zwzz).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx + GlobalConstantBuffer_21.xyxx.xyxx).xy;\n" +" Temp_int[3].xy = ivec4(Temp[0].xyxx).xy;\n" +" Temp[3].zw = vec4(vec4(0.000000, 0.000000, 0.000000, 0.000000)).zw;\n" +" Temp[0].xyw = texelFetch(g_t1, ivec2((Temp_int[3]).xy), 0).xywz.xyw;\n" +" Temp[0].xyw = vec4(Temp[0].xyxw * GlobalConstantBuffer_28 + GlobalConstantBuffer_29).xyw;\n" +" Temp[3].xyz = vec4(Temp[0].yyyy * GlobalConstantBuffer_27[1].xyzx).xyz;\n" +" Temp[3].xyz = vec4(Temp[0].xxxx * GlobalConstantBuffer_27[0].xyzx + Temp[3].xyzx).xyz;\n" +" Temp[0].xyw = vec4(Temp[0].wwww * GlobalConstantBuffer_27[2].xyxz + Temp[3].xyxz).xyw;\n" +" Temp[1].z = vec4(dot((Temp[0].xywx).xyz, (Temp[0].xywx).xyz)).z;\n" +" Temp[1].z = vec4(inversesqrt(Temp[1].z)).z;\n" +" Temp[0].xyw = vec4(Temp[0].xyxw * Temp[1].zzzz).xyw;\n" +" Temp[1].z = Temp[0].z * 0.050000;\n" +" Temp[1].z = PerPassConstantBuffer_0.f4Jitter.z * Temp[1].z + 1.000000;\n" +" Temp[3].xyz = vec4(PerPassConstantBuffer_0.f4Jitter.xyyx * vec4(1.000000, -1.000000, -0.707107, 0.000000)).xyz;\n" +" Temp[4].xy = vec4(Temp[1].zzzz * Temp[3].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[4].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[4].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[5].z = (textureLod(g_t0, Temp[4].xyz, 0.000000).yzxw).z;\n" +" Temp[4].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[4].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[5].xy = vec4(Temp[5].zzzz * Temp[4].xyxx).xy;\n" +" Temp[1].w = Temp[0].z * 0.050000 + Temp[1].z;\n" +" Temp[4].xyz = vec4(-Temp[2].xyzx + Temp[5].xyzx).xyz;\n" +" Temp[2].w = vec4(dot((Temp[4].xyzx).xyz, (Temp[4].xyzx).xyz)).w;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].xyzx).xyz)).w;\n" +" Temp[4].x = vec4(inversesqrt(Temp[2].w)).x;\n" +" Temp[3].w = Temp[3].w * Temp[4].x + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[2].w = Temp[2].w * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[2].w = clamp(Temp[2].w, 0.0, 1.0);\n" +" Temp[4].xy = vec4(Temp[3].xyxx * Temp[1].wwww).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[4].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[4].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[5].z = (textureLod(g_t0, Temp[4].xyz, 0.000000).yzxw).z;\n" +" Temp[4].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[4].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[5].xy = vec4(Temp[5].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].x = Temp[0].z * 0.050000 + Temp[1].w;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[5].xxyz).yzw;\n" +" Temp[5].x = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).x;\n" +" Temp[4].y = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[4].z = vec4(inversesqrt(Temp[5].x)).z;\n" +" Temp[4].y = Temp[4].y * Temp[4].z + -GlobalConstantBuffer_8;\n" +" Temp[4].y = clamp(Temp[4].y, 0.0, 1.0);\n" +" Temp[4].z = Temp[5].x * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[4].z = clamp(Temp[4].z, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[3].xyxx * Temp[4].xxxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[0].z = Temp[0].z * 0.050000 + Temp[4].x;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[4].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(dot((Temp[0].xywx).xyz, (Temp[5].xyzx).xyz)).x;\n" +" Temp[5].y = vec4(inversesqrt(Temp[4].w)).y;\n" +" Temp[5].x = Temp[5].x * Temp[5].y + -GlobalConstantBuffer_8;\n" +" Temp[5].x = clamp(Temp[5].x, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[5].x;\n" +" Temp[4].y = Temp[4].y * Temp[4].z + Temp[4].w;\n" +" Temp[3].xy = vec4(Temp[3].xyxx * Temp[0].zzzz).xy;\n" +" Temp[3].xy = vec4(roundEven(Temp[3].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[3].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[3].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[3].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].x = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).x;\n" +" Temp[3].y = vec4(dot((Temp[0].xywx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[4].z = vec4(inversesqrt(Temp[3].x)).z;\n" +" Temp[3].y = Temp[3].y * Temp[4].z + -GlobalConstantBuffer_8;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].x * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].x = clamp(Temp[3].x, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].y * Temp[3].x + Temp[4].y;\n" +" Temp[4].yz = vec4(PerPassConstantBuffer_0.f4Jitter.xxyx * vec4(0.000000, 0.707107, 0.707107, 0.000000)).yz;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].z;\n" +" Temp[3].y = Temp[4].y + Temp[4].z;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[5].zw = vec4(Temp[1].zzzz * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[4].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].y)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * Temp[4].w;\n" +" Temp[2].w = Temp[3].w * Temp[2].w + Temp[3].y;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[3].ywyy).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[3].ywyy).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[3].ywyy).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].y = PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yw = vec4(Temp[1].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[3].ywyy).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[2].w = Temp[3].w * Temp[3].y + Temp[2].w;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[3].ywyy).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[3].ywyy).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[3].ywyy).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].y = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(inversesqrt(Temp[3].y)).w;\n" +" Temp[3].w = Temp[3].w * Temp[4].w + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[4].z;\n" +" Temp[3].y = PerPassConstantBuffer_0.f4Jitter.y * -0.707107 + Temp[4].y;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yw = vec4(Temp[1].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[2].w = Temp[3].w * Temp[3].y + Temp[2].w;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[5].x = -PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[3].y = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yw = vec4(Temp[1].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[2].w = Temp[3].w * Temp[3].y + Temp[2].w;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].y = PerPassConstantBuffer_0.f4Jitter.y * -0.707107;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[3].y;\n" +" Temp[3].y = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(-0.707107, -0.707107, 0.000000, 0.000000)).xy)).y;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yw = vec4(Temp[1].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[2].w = Temp[3].w * Temp[3].y + Temp[2].w;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.000000 + PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].y = PerPassConstantBuffer_0.f4Jitter.y * 0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yw = vec4(Temp[1].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[2].w = Temp[3].w * Temp[3].y + Temp[2].w;\n" +" Temp[3].yw = vec4(Temp[1].wwww * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[4].xxxx * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[6].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[3].yw = vec4(Temp[0].zzzz * Temp[5].xxxy).yw;\n" +" Temp[3].yw = vec4(roundEven(Temp[3].yyyw)).yw;\n" +" Temp[5].xy = vec4(Temp[3].ywyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).wyzx).w;\n" +" Temp[3].yw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).yw;\n" +" Temp[4].yz = vec4(Temp[4].wwww * Temp[3].yywy).yz;\n" +" Temp[4].yzw = vec4(-Temp[2].xxyz + Temp[4].yyzw).yzw;\n" +" Temp[3].y = vec4(dot((Temp[4].yzwy).xyz, (Temp[4].yzwy).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[0].xywx).xyz, (Temp[4].yzwy).xyz)).w;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].y)).y;\n" +" Temp[3].w = Temp[3].w * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[3].y = Temp[3].y * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[3].x = Temp[3].w * Temp[3].y + Temp[3].x;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[3].z;\n" +" Temp[3].y = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(0.707107, -0.707107, 0.000000, 0.000000)).xy)).y;\n" +" Temp[5].y = vec4(-Temp[3].y).y;\n" +" Temp[3].yz = vec4(Temp[1].zzzz * Temp[5].xxyx).yz;\n" +" Temp[3].yz = vec4(roundEven(Temp[3].yyzy)).yz;\n" +" Temp[6].xy = vec4(Temp[3].yzyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[3].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[4].yz = vec4(GlobalConstantBuffer_3.xyxx.xxyx * Temp[6].xxyx + GlobalConstantBuffer_4.xxxy.zzwz).yz;\n" +" Temp[3].yz = vec4(Temp[3].wwww * Temp[4].yyzy).yz;\n" +" Temp[3].yzw = vec4(-Temp[2].xxyz + Temp[3].yyzw).yzw;\n" +" Temp[1].z = vec4(dot((Temp[3].yzwy).xyz, (Temp[3].yzwy).xyz)).z;\n" +" Temp[3].y = vec4(dot((Temp[0].xywx).xyz, (Temp[3].yzwy).xyz)).y;\n" +" Temp[3].z = vec4(inversesqrt(Temp[1].z)).z;\n" +" Temp[3].y = Temp[3].y * Temp[3].z + -GlobalConstantBuffer_8;\n" +" Temp[3].y = clamp(Temp[3].y, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[1].z = Temp[3].y * Temp[1].z + Temp[2].w;\n" +" Temp[3].yz = vec4(Temp[1].wwww * Temp[5].xxyx).yz;\n" +" Temp[3].yz = vec4(roundEven(Temp[3].yyzy)).yz;\n" +" Temp[6].xy = vec4(Temp[3].yzyy * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[3].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).wyzx).w;\n" +" Temp[4].yz = vec4(GlobalConstantBuffer_3.xyxx.xxyx * Temp[6].xxyx + GlobalConstantBuffer_4.xxxy.zzwz).yz;\n" +" Temp[3].yz = vec4(Temp[3].wwww * Temp[4].yyzy).yz;\n" +" Temp[3].yzw = vec4(-Temp[2].xxyz + Temp[3].yyzw).yzw;\n" +" Temp[1].w = vec4(dot((Temp[3].yzwy).xyz, (Temp[3].yzwy).xyz)).w;\n" +" Temp[2].w = vec4(dot((Temp[0].xywx).xyz, (Temp[3].yzwy).xyz)).w;\n" +" Temp[3].y = vec4(inversesqrt(Temp[1].w)).y;\n" +" Temp[2].w = Temp[2].w * Temp[3].y + -GlobalConstantBuffer_8;\n" +" Temp[2].w = clamp(Temp[2].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[1].w * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[2].w * Temp[1].w + Temp[3].x;\n" +" Temp[3].xy = vec4(Temp[4].xxxx * Temp[5].xyxx).xy;\n" +" Temp[3].xy = vec4(roundEven(Temp[3].xyxx)).xy;\n" +" Temp[3].xy = vec4(Temp[3].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[3].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].z = (textureLod(g_t0, Temp[3].xyz, 0.000000).yzxw).z;\n" +" Temp[3].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[3].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].zzzz * Temp[3].xyxx).xy;\n" +" Temp[3].xyz = vec4(-Temp[2].xyzx + Temp[4].xyzx).xyz;\n" +" Temp[2].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[3].xyzx).xyz)).w;\n" +" Temp[3].x = vec4(dot((Temp[0].xywx).xyz, (Temp[3].xyzx).xyz)).x;\n" +" Temp[3].y = vec4(inversesqrt(Temp[2].w)).y;\n" +" Temp[3].x = Temp[3].x * Temp[3].y + -GlobalConstantBuffer_8;\n" +" Temp[3].x = clamp(Temp[3].x, 0.0, 1.0);\n" +" Temp[2].w = Temp[2].w * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[2].w = clamp(Temp[2].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[3].x * Temp[2].w + Temp[1].w;\n" +" Temp[3].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[3].xy = vec4(roundEven(Temp[3].xyxx)).xy;\n" +" Temp[3].xy = vec4(Temp[3].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[3].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].z = (textureLod(g_t0, Temp[3].xyz, 0.000000).yzxw).z;\n" +" Temp[1].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[3].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].zzzz * Temp[1].xyxx).xy;\n" +" Temp[2].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxz).xyw;\n" +" Temp[0].z = vec4(dot((Temp[2].xywx).xyz, (Temp[2].xywx).xyz)).z;\n" +" Temp[0].x = vec4(dot((Temp[0].xywx).xyz, (Temp[2].xywx).xyz)).x;\n" +" Temp[0].y = vec4(inversesqrt(Temp[0].z)).y;\n" +" Temp[0].x = Temp[0].x * Temp[0].y + -GlobalConstantBuffer_8;\n" +" Temp[0].x = clamp(Temp[0].x, 0.0, 1.0);\n" +" Temp[0].y = Temp[0].z * GlobalConstantBuffer_7 + 1.000000;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].x = Temp[0].x * Temp[0].y + Temp[1].w;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_10;\n" +" Temp[0].x = Temp[1].z * GlobalConstantBuffer_9 + Temp[0].x;\n" +" Temp[0].x = Temp[0].x * 0.031250;\n" +" Temp[0].y = Temp[2].z * GlobalConstantBuffer_22 + 1.000000;\n" +" Temp[0].y = Temp[0].y * GlobalConstantBuffer_23;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].x = vec4(dot((Temp[0].xxxx).xy, (Temp[0].yyyy).xy)).x;\n" +" Output0.x = -Temp[0].x + 1.000000;\n" +" Output0.x = clamp(Output0.x, 0.0, 1.0);\n" +" return;\n" +"}\n" +; +static const char* g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_0_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"struct PerPassConstantBuffer_0_Type {\n" +" vec4 f4Jitter;\n" +" vec2 f2Offset;\n" +" float fSliceIndex;\n" +" uint uSliceIndex;\n" +"};\n" +"uniform PerPassConstantBuffer {\n" +" PerPassConstantBuffer_0_Type PerPassConstantBuffer_0;\n" +"};\n" +"uniform sampler2DArray g_t0;\n" +"uniform sampler2D g_t1;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[8];\n" +"ivec4 Temp_int[8];\n" +"uvec4 Temp_uint[8];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].xy = vec4(floor(Input0.xyxx)).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx * vec4(4.000000, 4.000000, 0.000000, 0.000000) + PerPassConstantBuffer_0.f2Offset.xyxx.xyxx).xy;\n" +" Temp[0].zw = vec4(Temp[0].xxxy * GlobalConstantBuffer_1.xyxx.xxxy).zw;\n" +" Temp[1].xy = vec4(Temp[0].zwzz * vec4(0.250000, 0.250000, 0.000000, 0.000000)).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[2].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[0].z = GlobalConstantBuffer_5 / Temp[2].z;\n" +" Temp[0].w = GlobalConstantBuffer_24 / Temp[0].z;\n" +" Temp[0].w = vec4(max(Temp[0].w, 1.000000)).w;\n" +" Temp[0].z = Temp[0].w * Temp[0].z;\n" +" Temp_uint[1].z = ((Temp[0].z)< (1.000000)) ? 0xFFFFFFFFu : 0u;\n" +" if((Temp_uint[1].z)!=0u){\n" +" Output0.x = vec4(1.000000).x;\n" +" return;\n" +" //ENDIF\n" +" }\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[1].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[2].xy = vec4(Temp[2].zzzz * Temp[1].zwzz).xy;\n" +" Temp_int[3].xy = ivec4(Temp[0].xyxx).xy;\n" +" Temp[3].zw = vec4(vec4(0.000000, 0.000000, 0.000000, 0.000000)).zw;\n" +" Temp[3].xyz = texelFetch(g_t1, ivec2((Temp_int[3]).xy), 0).xyz;\n" +" Temp[3].xyz = vec4(Temp[3].xyzx * vec4(2.000000, 2.000000, 2.000000, 0.000000) + vec4(-1.000000, -1.000000, -1.000000, 0.000000)).xyz;\n" +" Temp[0].x = Temp[0].w * Temp[0].w;\n" +" Temp[0].x = vec4(vec4(1.000000, 1.000000, 1.000000, 1.000000) / Temp[0].x).x;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_7;\n" +" Temp[0].y = Temp[0].z * 0.050000;\n" +" Temp[0].y = PerPassConstantBuffer_0.f4Jitter.z * Temp[0].y + 1.000000;\n" +" Temp[4].xyz = vec4(PerPassConstantBuffer_0.f4Jitter.xyyx * vec4(1.000000, -1.000000, -0.707107, 0.000000)).xyz;\n" +" Temp[1].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[0].w = Temp[0].z * 0.050000 + Temp[0].y;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[0].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[2].w = Temp[0].z * 0.050000 + Temp[0].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[2].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[0].z = Temp[0].z * 0.050000 + Temp[2].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[5].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).x;\n" +" Temp[5].y = vec4(inversesqrt(Temp[5].w)).y;\n" +" Temp[5].x = Temp[5].x * Temp[5].y + -GlobalConstantBuffer_8;\n" +" Temp[5].x = clamp(Temp[5].x, 0.0, 1.0);\n" +" Temp[5].y = Temp[5].w * Temp[0].x + 1.000000;\n" +" Temp[5].y = clamp(Temp[5].y, 0.0, 1.0);\n" +" Temp[5].x = Temp[5].y * Temp[5].x;\n" +" Temp[3].w = Temp[4].w * Temp[3].w + Temp[5].x;\n" +" Temp[4].xy = vec4(Temp[4].xyxx * Temp[0].zzzz).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[5].x = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[5].x)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[4].y = Temp[5].x * Temp[0].x + 1.000000;\n" +" Temp[4].y = clamp(Temp[4].y, 0.0, 1.0);\n" +" Temp[3].w = Temp[4].x * Temp[4].y + Temp[3].w;\n" +" Temp[4].xy = vec4(PerPassConstantBuffer_0.f4Jitter.xyxx * vec4(0.707107, 0.707107, 0.000000, 0.000000)).xy;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].y;\n" +" Temp[4].w = Temp[4].x + Temp[4].y;\n" +" Temp[5].y = vec4(-Temp[4].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[4].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).z;\n" +" Temp[5].w = vec4(inversesqrt(Temp[4].w)).w;\n" +" Temp[5].z = Temp[5].z * Temp[5].w + -GlobalConstantBuffer_8;\n" +" Temp[5].z = clamp(Temp[5].z, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[0].x + 1.000000;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[5].z;\n" +" Temp[1].z = Temp[1].w * Temp[1].z + Temp[4].w;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[1].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[1].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[1].w * Temp[0].x + 1.000000;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[1].w + Temp[3].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[4].y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107 + Temp[4].x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[4].xy = vec4(Temp[0].yyyy * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].x * Temp[3].w + Temp[1].z;\n" +" Temp[4].xy = vec4(Temp[0].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[2].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = -PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[3].w;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(-0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.000000 + PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * 0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].z;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[4].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].y = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].z = vec4(inversesqrt(Temp[0].y)).z;\n" +" Temp[3].w = Temp[3].w * Temp[4].z + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[0].y = Temp[0].y * Temp[0].x + 1.000000;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].y = Temp[3].w * Temp[0].y + Temp[1].z;\n" +" Temp[4].zw = vec4(Temp[0].wwww * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[1].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[3].w = vec4(inversesqrt(Temp[0].w)).w;\n" +" Temp[1].z = Temp[1].z * Temp[3].w + -GlobalConstantBuffer_8;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[0].w * Temp[0].x + 1.000000;\n" +" Temp[0].w = clamp(Temp[0].w, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].z * Temp[0].w + Temp[1].w;\n" +" Temp[1].zw = vec4(Temp[2].wwww * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].w * Temp[1].z + Temp[0].w;\n" +" Temp[1].zw = vec4(Temp[0].zzzz * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[1].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[1].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[1].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].zzzz * Temp[1].xyxx).xy;\n" +" Temp[1].xyz = vec4(-Temp[2].xyzx + Temp[4].xyzx).xyz;\n" +" Temp[0].z = vec4(dot((Temp[1].xyzx).xyz, (Temp[1].xyzx).xyz)).z;\n" +" Temp[1].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[1].xyzx).xyz)).x;\n" +" Temp[1].y = vec4(inversesqrt(Temp[0].z)).y;\n" +" Temp[1].x = Temp[1].x * Temp[1].y + -GlobalConstantBuffer_8;\n" +" Temp[1].x = clamp(Temp[1].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[0].z * Temp[0].x + 1.000000;\n" +" Temp[0].x = clamp(Temp[0].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[1].x * Temp[0].x + Temp[0].w;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_10;\n" +" Temp[0].x = Temp[0].y * GlobalConstantBuffer_9 + Temp[0].x;\n" +" Output0.x = -Temp[0].x * 0.062500 + 1.000000;\n" +" Output0.x = clamp(Output0.x, 0.0, 1.0);\n" +" return;\n" +"}\n" +; +static const char* g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_1_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"struct PerPassConstantBuffer_0_Type {\n" +" vec4 f4Jitter;\n" +" vec2 f2Offset;\n" +" float fSliceIndex;\n" +" uint uSliceIndex;\n" +"};\n" +"uniform PerPassConstantBuffer {\n" +" PerPassConstantBuffer_0_Type PerPassConstantBuffer_0;\n" +"};\n" +"uniform sampler2DArray g_t0;\n" +"uniform sampler2D g_t1;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[8];\n" +"ivec4 Temp_int[8];\n" +"uvec4 Temp_uint[8];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].xy = vec4(floor(Input0.xyxx)).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx * vec4(4.000000, 4.000000, 0.000000, 0.000000) + PerPassConstantBuffer_0.f2Offset.xyxx.xyxx).xy;\n" +" Temp[0].zw = vec4(Temp[0].xxxy * GlobalConstantBuffer_1.xyxx.xxxy).zw;\n" +" Temp[1].xy = vec4(Temp[0].zwzz * vec4(0.250000, 0.250000, 0.000000, 0.000000)).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[2].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[0].z = GlobalConstantBuffer_5 / Temp[2].z;\n" +" Temp[0].w = GlobalConstantBuffer_24 / Temp[0].z;\n" +" Temp[0].w = vec4(max(Temp[0].w, 1.000000)).w;\n" +" Temp[0].z = Temp[0].w * Temp[0].z;\n" +" Temp_uint[1].z = ((Temp[0].z)< (1.000000)) ? 0xFFFFFFFFu : 0u;\n" +" if((Temp_uint[1].z)!=0u){\n" +" Output0.x = vec4(1.000000).x;\n" +" return;\n" +" //ENDIF\n" +" }\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[1].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[2].xy = vec4(Temp[2].zzzz * Temp[1].zwzz).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx + GlobalConstantBuffer_21.xyxx.xyxx).xy;\n" +" Temp_int[3].xy = ivec4(Temp[0].xyxx).xy;\n" +" Temp[3].zw = vec4(vec4(0.000000, 0.000000, 0.000000, 0.000000)).zw;\n" +" Temp[3].xyz = texelFetch(g_t1, ivec2((Temp_int[3]).xy), 0).xyz;\n" +" Temp[3].xyz = vec4(Temp[3].xyzx * GlobalConstantBuffer_28 + GlobalConstantBuffer_29).xyz;\n" +" Temp[4].xyz = vec4(Temp[3].yyyy * GlobalConstantBuffer_27[1].xyzx).xyz;\n" +" Temp[3].xyw = vec4(Temp[3].xxxx * GlobalConstantBuffer_27[0].xyxz + Temp[4].xyxz).xyw;\n" +" Temp[3].xyz = vec4(Temp[3].zzzz * GlobalConstantBuffer_27[2].xyzx + Temp[3].xywx).xyz;\n" +" Temp[0].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[3].xyzx).xyz)).x;\n" +" Temp[0].x = vec4(inversesqrt(Temp[0].x)).x;\n" +" Temp[3].xyz = vec4(Temp[0].xxxx * Temp[3].xyzx).xyz;\n" +" Temp[0].x = Temp[0].w * Temp[0].w;\n" +" Temp[0].x = vec4(vec4(1.000000, 1.000000, 1.000000, 1.000000) / Temp[0].x).x;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_7;\n" +" Temp[0].y = Temp[0].z * 0.050000;\n" +" Temp[0].y = PerPassConstantBuffer_0.f4Jitter.z * Temp[0].y + 1.000000;\n" +" Temp[4].xyz = vec4(PerPassConstantBuffer_0.f4Jitter.xyyx * vec4(1.000000, -1.000000, -0.707107, 0.000000)).xyz;\n" +" Temp[1].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[0].w = Temp[0].z * 0.050000 + Temp[0].y;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[0].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[2].w = Temp[0].z * 0.050000 + Temp[0].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[2].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[0].z = Temp[0].z * 0.050000 + Temp[2].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[5].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).x;\n" +" Temp[5].y = vec4(inversesqrt(Temp[5].w)).y;\n" +" Temp[5].x = Temp[5].x * Temp[5].y + -GlobalConstantBuffer_8;\n" +" Temp[5].x = clamp(Temp[5].x, 0.0, 1.0);\n" +" Temp[5].y = Temp[5].w * Temp[0].x + 1.000000;\n" +" Temp[5].y = clamp(Temp[5].y, 0.0, 1.0);\n" +" Temp[5].x = Temp[5].y * Temp[5].x;\n" +" Temp[3].w = Temp[4].w * Temp[3].w + Temp[5].x;\n" +" Temp[4].xy = vec4(Temp[4].xyxx * Temp[0].zzzz).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[5].x = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[5].x)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[4].y = Temp[5].x * Temp[0].x + 1.000000;\n" +" Temp[4].y = clamp(Temp[4].y, 0.0, 1.0);\n" +" Temp[3].w = Temp[4].x * Temp[4].y + Temp[3].w;\n" +" Temp[4].xy = vec4(PerPassConstantBuffer_0.f4Jitter.xyxx * vec4(0.707107, 0.707107, 0.000000, 0.000000)).xy;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].y;\n" +" Temp[4].w = Temp[4].x + Temp[4].y;\n" +" Temp[5].y = vec4(-Temp[4].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[4].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).z;\n" +" Temp[5].w = vec4(inversesqrt(Temp[4].w)).w;\n" +" Temp[5].z = Temp[5].z * Temp[5].w + -GlobalConstantBuffer_8;\n" +" Temp[5].z = clamp(Temp[5].z, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[0].x + 1.000000;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[5].z;\n" +" Temp[1].z = Temp[1].w * Temp[1].z + Temp[4].w;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[1].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[1].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[1].w * Temp[0].x + 1.000000;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[1].w + Temp[3].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[4].y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107 + Temp[4].x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[4].xy = vec4(Temp[0].yyyy * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].x * Temp[3].w + Temp[1].z;\n" +" Temp[4].xy = vec4(Temp[0].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[2].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = -PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[3].w;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(-0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.000000 + PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * 0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].z;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[4].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].y = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].z = vec4(inversesqrt(Temp[0].y)).z;\n" +" Temp[3].w = Temp[3].w * Temp[4].z + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[0].y = Temp[0].y * Temp[0].x + 1.000000;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].y = Temp[3].w * Temp[0].y + Temp[1].z;\n" +" Temp[4].zw = vec4(Temp[0].wwww * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[1].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[3].w = vec4(inversesqrt(Temp[0].w)).w;\n" +" Temp[1].z = Temp[1].z * Temp[3].w + -GlobalConstantBuffer_8;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[0].w * Temp[0].x + 1.000000;\n" +" Temp[0].w = clamp(Temp[0].w, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].z * Temp[0].w + Temp[1].w;\n" +" Temp[1].zw = vec4(Temp[2].wwww * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].w * Temp[1].z + Temp[0].w;\n" +" Temp[1].zw = vec4(Temp[0].zzzz * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[1].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[1].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[1].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].zzzz * Temp[1].xyxx).xy;\n" +" Temp[1].xyz = vec4(-Temp[2].xyzx + Temp[4].xyzx).xyz;\n" +" Temp[0].z = vec4(dot((Temp[1].xyzx).xyz, (Temp[1].xyzx).xyz)).z;\n" +" Temp[1].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[1].xyzx).xyz)).x;\n" +" Temp[1].y = vec4(inversesqrt(Temp[0].z)).y;\n" +" Temp[1].x = Temp[1].x * Temp[1].y + -GlobalConstantBuffer_8;\n" +" Temp[1].x = clamp(Temp[1].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[0].z * Temp[0].x + 1.000000;\n" +" Temp[0].x = clamp(Temp[0].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[1].x * Temp[0].x + Temp[0].w;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_10;\n" +" Temp[0].x = Temp[0].y * GlobalConstantBuffer_9 + Temp[0].x;\n" +" Output0.x = -Temp[0].x * 0.062500 + 1.000000;\n" +" Output0.x = clamp(Output0.x, 0.0, 1.0);\n" +" return;\n" +"}\n" +; +static const char* g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_2_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"struct PerPassConstantBuffer_0_Type {\n" +" vec4 f4Jitter;\n" +" vec2 f2Offset;\n" +" float fSliceIndex;\n" +" uint uSliceIndex;\n" +"};\n" +"uniform PerPassConstantBuffer {\n" +" PerPassConstantBuffer_0_Type PerPassConstantBuffer_0;\n" +"};\n" +"uniform sampler2DArray g_t0;\n" +"uniform sampler2DMS g_t1;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[8];\n" +"ivec4 Temp_int[8];\n" +"uvec4 Temp_uint[8];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].xy = vec4(floor(Input0.xyxx)).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx * vec4(4.000000, 4.000000, 0.000000, 0.000000) + PerPassConstantBuffer_0.f2Offset.xyxx.xyxx).xy;\n" +" Temp[0].zw = vec4(Temp[0].xxxy * GlobalConstantBuffer_1.xyxx.xxxy).zw;\n" +" Temp[1].xy = vec4(Temp[0].zwzz * vec4(0.250000, 0.250000, 0.000000, 0.000000)).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[2].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[0].z = GlobalConstantBuffer_5 / Temp[2].z;\n" +" Temp[0].w = GlobalConstantBuffer_24 / Temp[0].z;\n" +" Temp[0].w = vec4(max(Temp[0].w, 1.000000)).w;\n" +" Temp[0].z = Temp[0].w * Temp[0].z;\n" +" Temp_uint[1].z = ((Temp[0].z)< (1.000000)) ? 0xFFFFFFFFu : 0u;\n" +" if((Temp_uint[1].z)!=0u){\n" +" Output0.x = vec4(1.000000).x;\n" +" return;\n" +" //ENDIF\n" +" }\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[1].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[2].xy = vec4(Temp[2].zzzz * Temp[1].zwzz).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx + GlobalConstantBuffer_21.xyxx.xyxx).xy;\n" +" Temp_int[3].xy = ivec4(Temp[0].xyxx).xy;\n" +" Temp[3].zw = vec4(vec4(0.000000, 0.000000, 0.000000, 0.000000)).zw;\n" +" Temp[3].xyz = texelFetch(g_t1, ivec2((Temp_int[3]).xy), 0).xyz;\n" +" Temp[3].xyz = vec4(Temp[3].xyzx * GlobalConstantBuffer_28 + GlobalConstantBuffer_29).xyz;\n" +" Temp[4].xyz = vec4(Temp[3].yyyy * GlobalConstantBuffer_27[1].xyzx).xyz;\n" +" Temp[3].xyw = vec4(Temp[3].xxxx * GlobalConstantBuffer_27[0].xyxz + Temp[4].xyxz).xyw;\n" +" Temp[3].xyz = vec4(Temp[3].zzzz * GlobalConstantBuffer_27[2].xyzx + Temp[3].xywx).xyz;\n" +" Temp[0].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[3].xyzx).xyz)).x;\n" +" Temp[0].x = vec4(inversesqrt(Temp[0].x)).x;\n" +" Temp[3].xyz = vec4(Temp[0].xxxx * Temp[3].xyzx).xyz;\n" +" Temp[0].x = Temp[0].w * Temp[0].w;\n" +" Temp[0].x = vec4(vec4(1.000000, 1.000000, 1.000000, 1.000000) / Temp[0].x).x;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_7;\n" +" Temp[0].y = Temp[0].z * 0.050000;\n" +" Temp[0].y = PerPassConstantBuffer_0.f4Jitter.z * Temp[0].y + 1.000000;\n" +" Temp[4].xyz = vec4(PerPassConstantBuffer_0.f4Jitter.xyyx * vec4(1.000000, -1.000000, -0.707107, 0.000000)).xyz;\n" +" Temp[1].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[0].w = Temp[0].z * 0.050000 + Temp[0].y;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[0].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[2].w = Temp[0].z * 0.050000 + Temp[0].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[2].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[0].z = Temp[0].z * 0.050000 + Temp[2].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[5].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).x;\n" +" Temp[5].y = vec4(inversesqrt(Temp[5].w)).y;\n" +" Temp[5].x = Temp[5].x * Temp[5].y + -GlobalConstantBuffer_8;\n" +" Temp[5].x = clamp(Temp[5].x, 0.0, 1.0);\n" +" Temp[5].y = Temp[5].w * Temp[0].x + 1.000000;\n" +" Temp[5].y = clamp(Temp[5].y, 0.0, 1.0);\n" +" Temp[5].x = Temp[5].y * Temp[5].x;\n" +" Temp[3].w = Temp[4].w * Temp[3].w + Temp[5].x;\n" +" Temp[4].xy = vec4(Temp[4].xyxx * Temp[0].zzzz).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[5].x = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[5].x)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[4].y = Temp[5].x * Temp[0].x + 1.000000;\n" +" Temp[4].y = clamp(Temp[4].y, 0.0, 1.0);\n" +" Temp[3].w = Temp[4].x * Temp[4].y + Temp[3].w;\n" +" Temp[4].xy = vec4(PerPassConstantBuffer_0.f4Jitter.xyxx * vec4(0.707107, 0.707107, 0.000000, 0.000000)).xy;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].y;\n" +" Temp[4].w = Temp[4].x + Temp[4].y;\n" +" Temp[5].y = vec4(-Temp[4].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[4].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).z;\n" +" Temp[5].w = vec4(inversesqrt(Temp[4].w)).w;\n" +" Temp[5].z = Temp[5].z * Temp[5].w + -GlobalConstantBuffer_8;\n" +" Temp[5].z = clamp(Temp[5].z, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[0].x + 1.000000;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[5].z;\n" +" Temp[1].z = Temp[1].w * Temp[1].z + Temp[4].w;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[1].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[1].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[1].w * Temp[0].x + 1.000000;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[1].w + Temp[3].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[4].y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107 + Temp[4].x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[4].xy = vec4(Temp[0].yyyy * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].x * Temp[3].w + Temp[1].z;\n" +" Temp[4].xy = vec4(Temp[0].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[2].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = -PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[3].w;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(-0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.000000 + PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * 0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].z;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[4].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].y = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].z = vec4(inversesqrt(Temp[0].y)).z;\n" +" Temp[3].w = Temp[3].w * Temp[4].z + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[0].y = Temp[0].y * Temp[0].x + 1.000000;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].y = Temp[3].w * Temp[0].y + Temp[1].z;\n" +" Temp[4].zw = vec4(Temp[0].wwww * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[1].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[3].w = vec4(inversesqrt(Temp[0].w)).w;\n" +" Temp[1].z = Temp[1].z * Temp[3].w + -GlobalConstantBuffer_8;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[0].w * Temp[0].x + 1.000000;\n" +" Temp[0].w = clamp(Temp[0].w, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].z * Temp[0].w + Temp[1].w;\n" +" Temp[1].zw = vec4(Temp[2].wwww * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].w * Temp[1].z + Temp[0].w;\n" +" Temp[1].zw = vec4(Temp[0].zzzz * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[1].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[1].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[1].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].zzzz * Temp[1].xyxx).xy;\n" +" Temp[1].xyz = vec4(-Temp[2].xyzx + Temp[4].xyzx).xyz;\n" +" Temp[0].z = vec4(dot((Temp[1].xyzx).xyz, (Temp[1].xyzx).xyz)).z;\n" +" Temp[1].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[1].xyzx).xyz)).x;\n" +" Temp[1].y = vec4(inversesqrt(Temp[0].z)).y;\n" +" Temp[1].x = Temp[1].x * Temp[1].y + -GlobalConstantBuffer_8;\n" +" Temp[1].x = clamp(Temp[1].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[0].z * Temp[0].x + 1.000000;\n" +" Temp[0].x = clamp(Temp[0].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[1].x * Temp[0].x + Temp[0].w;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_10;\n" +" Temp[0].x = Temp[0].y * GlobalConstantBuffer_9 + Temp[0].x;\n" +" Output0.x = -Temp[0].x * 0.062500 + 1.000000;\n" +" Output0.x = clamp(Output0.x, 0.0, 1.0);\n" +" return;\n" +"}\n" +; +static const char* g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_0_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"struct PerPassConstantBuffer_0_Type {\n" +" vec4 f4Jitter;\n" +" vec2 f2Offset;\n" +" float fSliceIndex;\n" +" uint uSliceIndex;\n" +"};\n" +"uniform PerPassConstantBuffer {\n" +" PerPassConstantBuffer_0_Type PerPassConstantBuffer_0;\n" +"};\n" +"uniform sampler2DArray g_t0;\n" +"uniform sampler2D g_t1;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[8];\n" +"ivec4 Temp_int[8];\n" +"uvec4 Temp_uint[8];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].xy = vec4(floor(Input0.xyxx)).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx * vec4(4.000000, 4.000000, 0.000000, 0.000000) + PerPassConstantBuffer_0.f2Offset.xyxx.xyxx).xy;\n" +" Temp[0].zw = vec4(Temp[0].xxxy * GlobalConstantBuffer_1.xyxx.xxxy).zw;\n" +" Temp[1].xy = vec4(Temp[0].zwzz * vec4(0.250000, 0.250000, 0.000000, 0.000000)).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[2].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[0].z = GlobalConstantBuffer_5 / Temp[2].z;\n" +" Temp[0].w = GlobalConstantBuffer_24 / Temp[0].z;\n" +" Temp[0].w = vec4(max(Temp[0].w, 1.000000)).w;\n" +" Temp[0].z = Temp[0].w * Temp[0].z;\n" +" Temp_uint[1].z = ((Temp[0].z)< (1.000000)) ? 0xFFFFFFFFu : 0u;\n" +" if((Temp_uint[1].z)!=0u){\n" +" Output0.x = vec4(1.000000).x;\n" +" return;\n" +" //ENDIF\n" +" }\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[1].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[2].xy = vec4(Temp[2].zzzz * Temp[1].zwzz).xy;\n" +" Temp_int[3].xy = ivec4(Temp[0].xyxx).xy;\n" +" Temp[3].zw = vec4(vec4(0.000000, 0.000000, 0.000000, 0.000000)).zw;\n" +" Temp[3].xyz = texelFetch(g_t1, ivec2((Temp_int[3]).xy), 0).xyz;\n" +" Temp[3].xyz = vec4(Temp[3].xyzx * vec4(2.000000, 2.000000, 2.000000, 0.000000) + vec4(-1.000000, -1.000000, -1.000000, 0.000000)).xyz;\n" +" Temp[0].x = Temp[0].w * Temp[0].w;\n" +" Temp[0].x = vec4(vec4(1.000000, 1.000000, 1.000000, 1.000000) / Temp[0].x).x;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_7;\n" +" Temp[0].y = Temp[0].z * 0.050000;\n" +" Temp[0].y = PerPassConstantBuffer_0.f4Jitter.z * Temp[0].y + 1.000000;\n" +" Temp[4].xyz = vec4(PerPassConstantBuffer_0.f4Jitter.xyyx * vec4(1.000000, -1.000000, -0.707107, 0.000000)).xyz;\n" +" Temp[1].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[0].w = Temp[0].z * 0.050000 + Temp[0].y;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[0].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[2].w = Temp[0].z * 0.050000 + Temp[0].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[2].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[0].z = Temp[0].z * 0.050000 + Temp[2].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[5].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).x;\n" +" Temp[5].y = vec4(inversesqrt(Temp[5].w)).y;\n" +" Temp[5].x = Temp[5].x * Temp[5].y + -GlobalConstantBuffer_8;\n" +" Temp[5].x = clamp(Temp[5].x, 0.0, 1.0);\n" +" Temp[5].y = Temp[5].w * Temp[0].x + 1.000000;\n" +" Temp[5].y = clamp(Temp[5].y, 0.0, 1.0);\n" +" Temp[5].x = Temp[5].y * Temp[5].x;\n" +" Temp[3].w = Temp[4].w * Temp[3].w + Temp[5].x;\n" +" Temp[4].xy = vec4(Temp[4].xyxx * Temp[0].zzzz).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[5].x = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[5].x)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[4].y = Temp[5].x * Temp[0].x + 1.000000;\n" +" Temp[4].y = clamp(Temp[4].y, 0.0, 1.0);\n" +" Temp[3].w = Temp[4].x * Temp[4].y + Temp[3].w;\n" +" Temp[4].xy = vec4(PerPassConstantBuffer_0.f4Jitter.xyxx * vec4(0.707107, 0.707107, 0.000000, 0.000000)).xy;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].y;\n" +" Temp[4].w = Temp[4].x + Temp[4].y;\n" +" Temp[5].y = vec4(-Temp[4].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[4].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).z;\n" +" Temp[5].w = vec4(inversesqrt(Temp[4].w)).w;\n" +" Temp[5].z = Temp[5].z * Temp[5].w + -GlobalConstantBuffer_8;\n" +" Temp[5].z = clamp(Temp[5].z, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[0].x + 1.000000;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[5].z;\n" +" Temp[1].z = Temp[1].w * Temp[1].z + Temp[4].w;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[1].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[1].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[1].w * Temp[0].x + 1.000000;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[1].w + Temp[3].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[4].y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107 + Temp[4].x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[4].xy = vec4(Temp[0].yyyy * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].x * Temp[3].w + Temp[1].z;\n" +" Temp[4].xy = vec4(Temp[0].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[2].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = -PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[3].w;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(-0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.000000 + PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * 0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].z;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[4].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].y = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].z = vec4(inversesqrt(Temp[0].y)).z;\n" +" Temp[3].w = Temp[3].w * Temp[4].z + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[0].y = Temp[0].y * Temp[0].x + 1.000000;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].y = Temp[3].w * Temp[0].y + Temp[1].z;\n" +" Temp[4].zw = vec4(Temp[0].wwww * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[1].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[3].w = vec4(inversesqrt(Temp[0].w)).w;\n" +" Temp[1].z = Temp[1].z * Temp[3].w + -GlobalConstantBuffer_8;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[0].w * Temp[0].x + 1.000000;\n" +" Temp[0].w = clamp(Temp[0].w, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].z * Temp[0].w + Temp[1].w;\n" +" Temp[1].zw = vec4(Temp[2].wwww * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].w * Temp[1].z + Temp[0].w;\n" +" Temp[1].zw = vec4(Temp[0].zzzz * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[1].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[1].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[1].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].zzzz * Temp[1].xyxx).xy;\n" +" Temp[1].xyz = vec4(-Temp[2].xyzx + Temp[4].xyzx).xyz;\n" +" Temp[0].z = vec4(dot((Temp[1].xyzx).xyz, (Temp[1].xyzx).xyz)).z;\n" +" Temp[1].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[1].xyzx).xyz)).x;\n" +" Temp[1].y = vec4(inversesqrt(Temp[0].z)).y;\n" +" Temp[1].x = Temp[1].x * Temp[1].y + -GlobalConstantBuffer_8;\n" +" Temp[1].x = clamp(Temp[1].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[0].z * Temp[0].x + 1.000000;\n" +" Temp[0].x = clamp(Temp[0].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[1].x * Temp[0].x + Temp[0].w;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_10;\n" +" Temp[0].x = Temp[0].y * GlobalConstantBuffer_9 + Temp[0].x;\n" +" Temp[0].x = Temp[0].x * 0.031250;\n" +" Temp[0].y = Temp[2].z * GlobalConstantBuffer_22 + 1.000000;\n" +" Temp[0].y = Temp[0].y * GlobalConstantBuffer_23;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].x = vec4(dot((Temp[0].xxxx).xy, (Temp[0].yyyy).xy)).x;\n" +" Output0.x = -Temp[0].x + 1.000000;\n" +" Output0.x = clamp(Output0.x, 0.0, 1.0);\n" +" return;\n" +"}\n" +; +static const char* g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_1_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"struct PerPassConstantBuffer_0_Type {\n" +" vec4 f4Jitter;\n" +" vec2 f2Offset;\n" +" float fSliceIndex;\n" +" uint uSliceIndex;\n" +"};\n" +"uniform PerPassConstantBuffer {\n" +" PerPassConstantBuffer_0_Type PerPassConstantBuffer_0;\n" +"};\n" +"uniform sampler2DArray g_t0;\n" +"uniform sampler2D g_t1;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[8];\n" +"ivec4 Temp_int[8];\n" +"uvec4 Temp_uint[8];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].xy = vec4(floor(Input0.xyxx)).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx * vec4(4.000000, 4.000000, 0.000000, 0.000000) + PerPassConstantBuffer_0.f2Offset.xyxx.xyxx).xy;\n" +" Temp[0].zw = vec4(Temp[0].xxxy * GlobalConstantBuffer_1.xyxx.xxxy).zw;\n" +" Temp[1].xy = vec4(Temp[0].zwzz * vec4(0.250000, 0.250000, 0.000000, 0.000000)).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[2].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[0].z = GlobalConstantBuffer_5 / Temp[2].z;\n" +" Temp[0].w = GlobalConstantBuffer_24 / Temp[0].z;\n" +" Temp[0].w = vec4(max(Temp[0].w, 1.000000)).w;\n" +" Temp[0].z = Temp[0].w * Temp[0].z;\n" +" Temp_uint[1].z = ((Temp[0].z)< (1.000000)) ? 0xFFFFFFFFu : 0u;\n" +" if((Temp_uint[1].z)!=0u){\n" +" Output0.x = vec4(1.000000).x;\n" +" return;\n" +" //ENDIF\n" +" }\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[1].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[2].xy = vec4(Temp[2].zzzz * Temp[1].zwzz).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx + GlobalConstantBuffer_21.xyxx.xyxx).xy;\n" +" Temp_int[3].xy = ivec4(Temp[0].xyxx).xy;\n" +" Temp[3].zw = vec4(vec4(0.000000, 0.000000, 0.000000, 0.000000)).zw;\n" +" Temp[3].xyz = texelFetch(g_t1, ivec2((Temp_int[3]).xy), 0).xyz;\n" +" Temp[3].xyz = vec4(Temp[3].xyzx * GlobalConstantBuffer_28 + GlobalConstantBuffer_29).xyz;\n" +" Temp[4].xyz = vec4(Temp[3].yyyy * GlobalConstantBuffer_27[1].xyzx).xyz;\n" +" Temp[3].xyw = vec4(Temp[3].xxxx * GlobalConstantBuffer_27[0].xyxz + Temp[4].xyxz).xyw;\n" +" Temp[3].xyz = vec4(Temp[3].zzzz * GlobalConstantBuffer_27[2].xyzx + Temp[3].xywx).xyz;\n" +" Temp[0].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[3].xyzx).xyz)).x;\n" +" Temp[0].x = vec4(inversesqrt(Temp[0].x)).x;\n" +" Temp[3].xyz = vec4(Temp[0].xxxx * Temp[3].xyzx).xyz;\n" +" Temp[0].x = Temp[0].w * Temp[0].w;\n" +" Temp[0].x = vec4(vec4(1.000000, 1.000000, 1.000000, 1.000000) / Temp[0].x).x;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_7;\n" +" Temp[0].y = Temp[0].z * 0.050000;\n" +" Temp[0].y = PerPassConstantBuffer_0.f4Jitter.z * Temp[0].y + 1.000000;\n" +" Temp[4].xyz = vec4(PerPassConstantBuffer_0.f4Jitter.xyyx * vec4(1.000000, -1.000000, -0.707107, 0.000000)).xyz;\n" +" Temp[1].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[0].w = Temp[0].z * 0.050000 + Temp[0].y;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[0].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[2].w = Temp[0].z * 0.050000 + Temp[0].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[2].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[0].z = Temp[0].z * 0.050000 + Temp[2].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[5].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).x;\n" +" Temp[5].y = vec4(inversesqrt(Temp[5].w)).y;\n" +" Temp[5].x = Temp[5].x * Temp[5].y + -GlobalConstantBuffer_8;\n" +" Temp[5].x = clamp(Temp[5].x, 0.0, 1.0);\n" +" Temp[5].y = Temp[5].w * Temp[0].x + 1.000000;\n" +" Temp[5].y = clamp(Temp[5].y, 0.0, 1.0);\n" +" Temp[5].x = Temp[5].y * Temp[5].x;\n" +" Temp[3].w = Temp[4].w * Temp[3].w + Temp[5].x;\n" +" Temp[4].xy = vec4(Temp[4].xyxx * Temp[0].zzzz).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[5].x = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[5].x)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[4].y = Temp[5].x * Temp[0].x + 1.000000;\n" +" Temp[4].y = clamp(Temp[4].y, 0.0, 1.0);\n" +" Temp[3].w = Temp[4].x * Temp[4].y + Temp[3].w;\n" +" Temp[4].xy = vec4(PerPassConstantBuffer_0.f4Jitter.xyxx * vec4(0.707107, 0.707107, 0.000000, 0.000000)).xy;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].y;\n" +" Temp[4].w = Temp[4].x + Temp[4].y;\n" +" Temp[5].y = vec4(-Temp[4].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[4].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).z;\n" +" Temp[5].w = vec4(inversesqrt(Temp[4].w)).w;\n" +" Temp[5].z = Temp[5].z * Temp[5].w + -GlobalConstantBuffer_8;\n" +" Temp[5].z = clamp(Temp[5].z, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[0].x + 1.000000;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[5].z;\n" +" Temp[1].z = Temp[1].w * Temp[1].z + Temp[4].w;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[1].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[1].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[1].w * Temp[0].x + 1.000000;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[1].w + Temp[3].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[4].y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107 + Temp[4].x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[4].xy = vec4(Temp[0].yyyy * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].x * Temp[3].w + Temp[1].z;\n" +" Temp[4].xy = vec4(Temp[0].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[2].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = -PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[3].w;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(-0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.000000 + PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * 0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].z;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[4].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].y = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].z = vec4(inversesqrt(Temp[0].y)).z;\n" +" Temp[3].w = Temp[3].w * Temp[4].z + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[0].y = Temp[0].y * Temp[0].x + 1.000000;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].y = Temp[3].w * Temp[0].y + Temp[1].z;\n" +" Temp[4].zw = vec4(Temp[0].wwww * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[1].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[3].w = vec4(inversesqrt(Temp[0].w)).w;\n" +" Temp[1].z = Temp[1].z * Temp[3].w + -GlobalConstantBuffer_8;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[0].w * Temp[0].x + 1.000000;\n" +" Temp[0].w = clamp(Temp[0].w, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].z * Temp[0].w + Temp[1].w;\n" +" Temp[1].zw = vec4(Temp[2].wwww * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].w * Temp[1].z + Temp[0].w;\n" +" Temp[1].zw = vec4(Temp[0].zzzz * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[1].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[1].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[1].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].zzzz * Temp[1].xyxx).xy;\n" +" Temp[1].xyz = vec4(-Temp[2].xyzx + Temp[4].xyzx).xyz;\n" +" Temp[0].z = vec4(dot((Temp[1].xyzx).xyz, (Temp[1].xyzx).xyz)).z;\n" +" Temp[1].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[1].xyzx).xyz)).x;\n" +" Temp[1].y = vec4(inversesqrt(Temp[0].z)).y;\n" +" Temp[1].x = Temp[1].x * Temp[1].y + -GlobalConstantBuffer_8;\n" +" Temp[1].x = clamp(Temp[1].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[0].z * Temp[0].x + 1.000000;\n" +" Temp[0].x = clamp(Temp[0].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[1].x * Temp[0].x + Temp[0].w;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_10;\n" +" Temp[0].x = Temp[0].y * GlobalConstantBuffer_9 + Temp[0].x;\n" +" Temp[0].x = Temp[0].x * 0.031250;\n" +" Temp[0].y = Temp[2].z * GlobalConstantBuffer_22 + 1.000000;\n" +" Temp[0].y = Temp[0].y * GlobalConstantBuffer_23;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].x = vec4(dot((Temp[0].xxxx).xy, (Temp[0].yyyy).xy)).x;\n" +" Output0.x = -Temp[0].x + 1.000000;\n" +" Output0.x = clamp(Output0.x, 0.0, 1.0);\n" +" return;\n" +"}\n" +; +static const char* g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_2_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"struct PerPassConstantBuffer_0_Type {\n" +" vec4 f4Jitter;\n" +" vec2 f2Offset;\n" +" float fSliceIndex;\n" +" uint uSliceIndex;\n" +"};\n" +"uniform PerPassConstantBuffer {\n" +" PerPassConstantBuffer_0_Type PerPassConstantBuffer_0;\n" +"};\n" +"uniform sampler2DArray g_t0;\n" +"uniform sampler2DMS g_t1;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[8];\n" +"ivec4 Temp_int[8];\n" +"uvec4 Temp_uint[8];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].xy = vec4(floor(Input0.xyxx)).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx * vec4(4.000000, 4.000000, 0.000000, 0.000000) + PerPassConstantBuffer_0.f2Offset.xyxx.xyxx).xy;\n" +" Temp[0].zw = vec4(Temp[0].xxxy * GlobalConstantBuffer_1.xyxx.xxxy).zw;\n" +" Temp[1].xy = vec4(Temp[0].zwzz * vec4(0.250000, 0.250000, 0.000000, 0.000000)).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[2].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[0].z = GlobalConstantBuffer_5 / Temp[2].z;\n" +" Temp[0].w = GlobalConstantBuffer_24 / Temp[0].z;\n" +" Temp[0].w = vec4(max(Temp[0].w, 1.000000)).w;\n" +" Temp[0].z = Temp[0].w * Temp[0].z;\n" +" Temp_uint[1].z = ((Temp[0].z)< (1.000000)) ? 0xFFFFFFFFu : 0u;\n" +" if((Temp_uint[1].z)!=0u){\n" +" Output0.x = vec4(1.000000).x;\n" +" return;\n" +" //ENDIF\n" +" }\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[1].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[2].xy = vec4(Temp[2].zzzz * Temp[1].zwzz).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx + GlobalConstantBuffer_21.xyxx.xyxx).xy;\n" +" Temp_int[3].xy = ivec4(Temp[0].xyxx).xy;\n" +" Temp[3].zw = vec4(vec4(0.000000, 0.000000, 0.000000, 0.000000)).zw;\n" +" Temp[3].xyz = texelFetch(g_t1, ivec2((Temp_int[3]).xy), 0).xyz;\n" +" Temp[3].xyz = vec4(Temp[3].xyzx * GlobalConstantBuffer_28 + GlobalConstantBuffer_29).xyz;\n" +" Temp[4].xyz = vec4(Temp[3].yyyy * GlobalConstantBuffer_27[1].xyzx).xyz;\n" +" Temp[3].xyw = vec4(Temp[3].xxxx * GlobalConstantBuffer_27[0].xyxz + Temp[4].xyxz).xyw;\n" +" Temp[3].xyz = vec4(Temp[3].zzzz * GlobalConstantBuffer_27[2].xyzx + Temp[3].xywx).xyz;\n" +" Temp[0].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[3].xyzx).xyz)).x;\n" +" Temp[0].x = vec4(inversesqrt(Temp[0].x)).x;\n" +" Temp[3].xyz = vec4(Temp[0].xxxx * Temp[3].xyzx).xyz;\n" +" Temp[0].x = Temp[0].w * Temp[0].w;\n" +" Temp[0].x = vec4(vec4(1.000000, 1.000000, 1.000000, 1.000000) / Temp[0].x).x;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_7;\n" +" Temp[0].y = Temp[0].z * 0.050000;\n" +" Temp[0].y = PerPassConstantBuffer_0.f4Jitter.z * Temp[0].y + 1.000000;\n" +" Temp[4].xyz = vec4(PerPassConstantBuffer_0.f4Jitter.xyyx * vec4(1.000000, -1.000000, -0.707107, 0.000000)).xyz;\n" +" Temp[1].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[0].w = Temp[0].z * 0.050000 + Temp[0].y;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[0].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[2].w = Temp[0].z * 0.050000 + Temp[0].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[2].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[0].z = Temp[0].z * 0.050000 + Temp[2].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[5].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).x;\n" +" Temp[5].y = vec4(inversesqrt(Temp[5].w)).y;\n" +" Temp[5].x = Temp[5].x * Temp[5].y + -GlobalConstantBuffer_8;\n" +" Temp[5].x = clamp(Temp[5].x, 0.0, 1.0);\n" +" Temp[5].y = Temp[5].w * Temp[0].x + 1.000000;\n" +" Temp[5].y = clamp(Temp[5].y, 0.0, 1.0);\n" +" Temp[5].x = Temp[5].y * Temp[5].x;\n" +" Temp[3].w = Temp[4].w * Temp[3].w + Temp[5].x;\n" +" Temp[4].xy = vec4(Temp[4].xyxx * Temp[0].zzzz).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[5].x = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[5].x)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[4].y = Temp[5].x * Temp[0].x + 1.000000;\n" +" Temp[4].y = clamp(Temp[4].y, 0.0, 1.0);\n" +" Temp[3].w = Temp[4].x * Temp[4].y + Temp[3].w;\n" +" Temp[4].xy = vec4(PerPassConstantBuffer_0.f4Jitter.xyxx * vec4(0.707107, 0.707107, 0.000000, 0.000000)).xy;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].y;\n" +" Temp[4].w = Temp[4].x + Temp[4].y;\n" +" Temp[5].y = vec4(-Temp[4].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[4].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).z;\n" +" Temp[5].w = vec4(inversesqrt(Temp[4].w)).w;\n" +" Temp[5].z = Temp[5].z * Temp[5].w + -GlobalConstantBuffer_8;\n" +" Temp[5].z = clamp(Temp[5].z, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[0].x + 1.000000;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[5].z;\n" +" Temp[1].z = Temp[1].w * Temp[1].z + Temp[4].w;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[1].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[1].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[1].w * Temp[0].x + 1.000000;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[1].w + Temp[3].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[4].y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107 + Temp[4].x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[4].xy = vec4(Temp[0].yyyy * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].x * Temp[3].w + Temp[1].z;\n" +" Temp[4].xy = vec4(Temp[0].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[2].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = -PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[3].w;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(-0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.000000 + PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * 0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].z;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[4].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].y = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].z = vec4(inversesqrt(Temp[0].y)).z;\n" +" Temp[3].w = Temp[3].w * Temp[4].z + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[0].y = Temp[0].y * Temp[0].x + 1.000000;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].y = Temp[3].w * Temp[0].y + Temp[1].z;\n" +" Temp[4].zw = vec4(Temp[0].wwww * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[1].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[3].w = vec4(inversesqrt(Temp[0].w)).w;\n" +" Temp[1].z = Temp[1].z * Temp[3].w + -GlobalConstantBuffer_8;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[0].w * Temp[0].x + 1.000000;\n" +" Temp[0].w = clamp(Temp[0].w, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].z * Temp[0].w + Temp[1].w;\n" +" Temp[1].zw = vec4(Temp[2].wwww * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].w * Temp[1].z + Temp[0].w;\n" +" Temp[1].zw = vec4(Temp[0].zzzz * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[1].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[1].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[1].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].zzzz * Temp[1].xyxx).xy;\n" +" Temp[1].xyz = vec4(-Temp[2].xyzx + Temp[4].xyzx).xyz;\n" +" Temp[0].z = vec4(dot((Temp[1].xyzx).xyz, (Temp[1].xyzx).xyz)).z;\n" +" Temp[1].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[1].xyzx).xyz)).x;\n" +" Temp[1].y = vec4(inversesqrt(Temp[0].z)).y;\n" +" Temp[1].x = Temp[1].x * Temp[1].y + -GlobalConstantBuffer_8;\n" +" Temp[1].x = clamp(Temp[1].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[0].z * Temp[0].x + 1.000000;\n" +" Temp[0].x = clamp(Temp[0].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[1].x * Temp[0].x + Temp[0].w;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_10;\n" +" Temp[0].x = Temp[0].y * GlobalConstantBuffer_9 + Temp[0].x;\n" +" Temp[0].x = Temp[0].x * 0.031250;\n" +" Temp[0].y = Temp[2].z * GlobalConstantBuffer_22 + 1.000000;\n" +" Temp[0].y = Temp[0].y * GlobalConstantBuffer_23;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].x = vec4(dot((Temp[0].xxxx).xy, (Temp[0].yyyy).xy)).x;\n" +" Output0.x = -Temp[0].x + 1.000000;\n" +" Output0.x = clamp(Output0.x, 0.0, 1.0);\n" +" return;\n" +"}\n" +; +static const char* g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_0_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"struct PerPassConstantBuffer_0_Type {\n" +" vec4 f4Jitter;\n" +" vec2 f2Offset;\n" +" float fSliceIndex;\n" +" uint uSliceIndex;\n" +"};\n" +"uniform PerPassConstantBuffer {\n" +" PerPassConstantBuffer_0_Type PerPassConstantBuffer_0;\n" +"};\n" +"uniform sampler2DArray g_t0;\n" +"uniform sampler2D g_t1;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[8];\n" +"ivec4 Temp_int[8];\n" +"uvec4 Temp_uint[8];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].xy = vec4(floor(Input0.xyxx)).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx * vec4(4.000000, 4.000000, 0.000000, 0.000000) + PerPassConstantBuffer_0.f2Offset.xyxx.xyxx).xy;\n" +" Temp[0].zw = vec4(Temp[0].xxxy * GlobalConstantBuffer_1.xyxx.xxxy).zw;\n" +" Temp[1].xy = vec4(Temp[0].zwzz * vec4(0.250000, 0.250000, 0.000000, 0.000000)).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[2].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[0].z = GlobalConstantBuffer_5 / Temp[2].z;\n" +" Temp[0].w = GlobalConstantBuffer_25 / Temp[0].z;\n" +" Temp[0].w = vec4(min(Temp[0].w, 1.000000)).w;\n" +" Temp[0].z = Temp[0].w * Temp[0].z;\n" +" Temp_uint[1].z = ((Temp[0].z)< (1.000000)) ? 0xFFFFFFFFu : 0u;\n" +" if((Temp_uint[1].z)!=0u){\n" +" Output0.x = vec4(1.000000).x;\n" +" return;\n" +" //ENDIF\n" +" }\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[1].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[2].xy = vec4(Temp[2].zzzz * Temp[1].zwzz).xy;\n" +" Temp_int[3].xy = ivec4(Temp[0].xyxx).xy;\n" +" Temp[3].zw = vec4(vec4(0.000000, 0.000000, 0.000000, 0.000000)).zw;\n" +" Temp[3].xyz = texelFetch(g_t1, ivec2((Temp_int[3]).xy), 0).xyz;\n" +" Temp[3].xyz = vec4(Temp[3].xyzx * vec4(2.000000, 2.000000, 2.000000, 0.000000) + vec4(-1.000000, -1.000000, -1.000000, 0.000000)).xyz;\n" +" Temp[0].x = Temp[0].w * Temp[0].w;\n" +" Temp[0].x = vec4(vec4(1.000000, 1.000000, 1.000000, 1.000000) / Temp[0].x).x;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_7;\n" +" Temp[0].y = Temp[0].z * 0.050000;\n" +" Temp[0].y = PerPassConstantBuffer_0.f4Jitter.z * Temp[0].y + 1.000000;\n" +" Temp[4].xyz = vec4(PerPassConstantBuffer_0.f4Jitter.xyyx * vec4(1.000000, -1.000000, -0.707107, 0.000000)).xyz;\n" +" Temp[1].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[0].w = Temp[0].z * 0.050000 + Temp[0].y;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[0].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[2].w = Temp[0].z * 0.050000 + Temp[0].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[2].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[0].z = Temp[0].z * 0.050000 + Temp[2].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[5].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).x;\n" +" Temp[5].y = vec4(inversesqrt(Temp[5].w)).y;\n" +" Temp[5].x = Temp[5].x * Temp[5].y + -GlobalConstantBuffer_8;\n" +" Temp[5].x = clamp(Temp[5].x, 0.0, 1.0);\n" +" Temp[5].y = Temp[5].w * Temp[0].x + 1.000000;\n" +" Temp[5].y = clamp(Temp[5].y, 0.0, 1.0);\n" +" Temp[5].x = Temp[5].y * Temp[5].x;\n" +" Temp[3].w = Temp[4].w * Temp[3].w + Temp[5].x;\n" +" Temp[4].xy = vec4(Temp[4].xyxx * Temp[0].zzzz).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[5].x = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[5].x)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[4].y = Temp[5].x * Temp[0].x + 1.000000;\n" +" Temp[4].y = clamp(Temp[4].y, 0.0, 1.0);\n" +" Temp[3].w = Temp[4].x * Temp[4].y + Temp[3].w;\n" +" Temp[4].xy = vec4(PerPassConstantBuffer_0.f4Jitter.xyxx * vec4(0.707107, 0.707107, 0.000000, 0.000000)).xy;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].y;\n" +" Temp[4].w = Temp[4].x + Temp[4].y;\n" +" Temp[5].y = vec4(-Temp[4].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[4].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).z;\n" +" Temp[5].w = vec4(inversesqrt(Temp[4].w)).w;\n" +" Temp[5].z = Temp[5].z * Temp[5].w + -GlobalConstantBuffer_8;\n" +" Temp[5].z = clamp(Temp[5].z, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[0].x + 1.000000;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[5].z;\n" +" Temp[1].z = Temp[1].w * Temp[1].z + Temp[4].w;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[1].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[1].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[1].w * Temp[0].x + 1.000000;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[1].w + Temp[3].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[4].y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107 + Temp[4].x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[4].xy = vec4(Temp[0].yyyy * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].x * Temp[3].w + Temp[1].z;\n" +" Temp[4].xy = vec4(Temp[0].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[2].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = -PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[3].w;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(-0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.000000 + PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * 0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].z;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[4].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].y = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].z = vec4(inversesqrt(Temp[0].y)).z;\n" +" Temp[3].w = Temp[3].w * Temp[4].z + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[0].y = Temp[0].y * Temp[0].x + 1.000000;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].y = Temp[3].w * Temp[0].y + Temp[1].z;\n" +" Temp[4].zw = vec4(Temp[0].wwww * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[1].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[3].w = vec4(inversesqrt(Temp[0].w)).w;\n" +" Temp[1].z = Temp[1].z * Temp[3].w + -GlobalConstantBuffer_8;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[0].w * Temp[0].x + 1.000000;\n" +" Temp[0].w = clamp(Temp[0].w, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].z * Temp[0].w + Temp[1].w;\n" +" Temp[1].zw = vec4(Temp[2].wwww * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].w * Temp[1].z + Temp[0].w;\n" +" Temp[1].zw = vec4(Temp[0].zzzz * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[1].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[1].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[1].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].zzzz * Temp[1].xyxx).xy;\n" +" Temp[1].xyz = vec4(-Temp[2].xyzx + Temp[4].xyzx).xyz;\n" +" Temp[0].z = vec4(dot((Temp[1].xyzx).xyz, (Temp[1].xyzx).xyz)).z;\n" +" Temp[1].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[1].xyzx).xyz)).x;\n" +" Temp[1].y = vec4(inversesqrt(Temp[0].z)).y;\n" +" Temp[1].x = Temp[1].x * Temp[1].y + -GlobalConstantBuffer_8;\n" +" Temp[1].x = clamp(Temp[1].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[0].z * Temp[0].x + 1.000000;\n" +" Temp[0].x = clamp(Temp[0].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[1].x * Temp[0].x + Temp[0].w;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_10;\n" +" Temp[0].x = Temp[0].y * GlobalConstantBuffer_9 + Temp[0].x;\n" +" Output0.x = -Temp[0].x * 0.062500 + 1.000000;\n" +" Output0.x = clamp(Output0.x, 0.0, 1.0);\n" +" return;\n" +"}\n" +; +static const char* g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_1_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"struct PerPassConstantBuffer_0_Type {\n" +" vec4 f4Jitter;\n" +" vec2 f2Offset;\n" +" float fSliceIndex;\n" +" uint uSliceIndex;\n" +"};\n" +"uniform PerPassConstantBuffer {\n" +" PerPassConstantBuffer_0_Type PerPassConstantBuffer_0;\n" +"};\n" +"uniform sampler2DArray g_t0;\n" +"uniform sampler2D g_t1;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[8];\n" +"ivec4 Temp_int[8];\n" +"uvec4 Temp_uint[8];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].xy = vec4(floor(Input0.xyxx)).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx * vec4(4.000000, 4.000000, 0.000000, 0.000000) + PerPassConstantBuffer_0.f2Offset.xyxx.xyxx).xy;\n" +" Temp[0].zw = vec4(Temp[0].xxxy * GlobalConstantBuffer_1.xyxx.xxxy).zw;\n" +" Temp[1].xy = vec4(Temp[0].zwzz * vec4(0.250000, 0.250000, 0.000000, 0.000000)).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[2].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[0].z = GlobalConstantBuffer_5 / Temp[2].z;\n" +" Temp[0].w = GlobalConstantBuffer_25 / Temp[0].z;\n" +" Temp[0].w = vec4(min(Temp[0].w, 1.000000)).w;\n" +" Temp[0].z = Temp[0].w * Temp[0].z;\n" +" Temp_uint[1].z = ((Temp[0].z)< (1.000000)) ? 0xFFFFFFFFu : 0u;\n" +" if((Temp_uint[1].z)!=0u){\n" +" Output0.x = vec4(1.000000).x;\n" +" return;\n" +" //ENDIF\n" +" }\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[1].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[2].xy = vec4(Temp[2].zzzz * Temp[1].zwzz).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx + GlobalConstantBuffer_21.xyxx.xyxx).xy;\n" +" Temp_int[3].xy = ivec4(Temp[0].xyxx).xy;\n" +" Temp[3].zw = vec4(vec4(0.000000, 0.000000, 0.000000, 0.000000)).zw;\n" +" Temp[3].xyz = texelFetch(g_t1, ivec2((Temp_int[3]).xy), 0).xyz;\n" +" Temp[3].xyz = vec4(Temp[3].xyzx * GlobalConstantBuffer_28 + GlobalConstantBuffer_29).xyz;\n" +" Temp[4].xyz = vec4(Temp[3].yyyy * GlobalConstantBuffer_27[1].xyzx).xyz;\n" +" Temp[3].xyw = vec4(Temp[3].xxxx * GlobalConstantBuffer_27[0].xyxz + Temp[4].xyxz).xyw;\n" +" Temp[3].xyz = vec4(Temp[3].zzzz * GlobalConstantBuffer_27[2].xyzx + Temp[3].xywx).xyz;\n" +" Temp[0].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[3].xyzx).xyz)).x;\n" +" Temp[0].x = vec4(inversesqrt(Temp[0].x)).x;\n" +" Temp[3].xyz = vec4(Temp[0].xxxx * Temp[3].xyzx).xyz;\n" +" Temp[0].x = Temp[0].w * Temp[0].w;\n" +" Temp[0].x = vec4(vec4(1.000000, 1.000000, 1.000000, 1.000000) / Temp[0].x).x;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_7;\n" +" Temp[0].y = Temp[0].z * 0.050000;\n" +" Temp[0].y = PerPassConstantBuffer_0.f4Jitter.z * Temp[0].y + 1.000000;\n" +" Temp[4].xyz = vec4(PerPassConstantBuffer_0.f4Jitter.xyyx * vec4(1.000000, -1.000000, -0.707107, 0.000000)).xyz;\n" +" Temp[1].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[0].w = Temp[0].z * 0.050000 + Temp[0].y;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[0].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[2].w = Temp[0].z * 0.050000 + Temp[0].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[2].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[0].z = Temp[0].z * 0.050000 + Temp[2].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[5].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).x;\n" +" Temp[5].y = vec4(inversesqrt(Temp[5].w)).y;\n" +" Temp[5].x = Temp[5].x * Temp[5].y + -GlobalConstantBuffer_8;\n" +" Temp[5].x = clamp(Temp[5].x, 0.0, 1.0);\n" +" Temp[5].y = Temp[5].w * Temp[0].x + 1.000000;\n" +" Temp[5].y = clamp(Temp[5].y, 0.0, 1.0);\n" +" Temp[5].x = Temp[5].y * Temp[5].x;\n" +" Temp[3].w = Temp[4].w * Temp[3].w + Temp[5].x;\n" +" Temp[4].xy = vec4(Temp[4].xyxx * Temp[0].zzzz).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[5].x = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[5].x)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[4].y = Temp[5].x * Temp[0].x + 1.000000;\n" +" Temp[4].y = clamp(Temp[4].y, 0.0, 1.0);\n" +" Temp[3].w = Temp[4].x * Temp[4].y + Temp[3].w;\n" +" Temp[4].xy = vec4(PerPassConstantBuffer_0.f4Jitter.xyxx * vec4(0.707107, 0.707107, 0.000000, 0.000000)).xy;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].y;\n" +" Temp[4].w = Temp[4].x + Temp[4].y;\n" +" Temp[5].y = vec4(-Temp[4].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[4].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).z;\n" +" Temp[5].w = vec4(inversesqrt(Temp[4].w)).w;\n" +" Temp[5].z = Temp[5].z * Temp[5].w + -GlobalConstantBuffer_8;\n" +" Temp[5].z = clamp(Temp[5].z, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[0].x + 1.000000;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[5].z;\n" +" Temp[1].z = Temp[1].w * Temp[1].z + Temp[4].w;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[1].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[1].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[1].w * Temp[0].x + 1.000000;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[1].w + Temp[3].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[4].y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107 + Temp[4].x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[4].xy = vec4(Temp[0].yyyy * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].x * Temp[3].w + Temp[1].z;\n" +" Temp[4].xy = vec4(Temp[0].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[2].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = -PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[3].w;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(-0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.000000 + PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * 0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].z;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[4].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].y = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].z = vec4(inversesqrt(Temp[0].y)).z;\n" +" Temp[3].w = Temp[3].w * Temp[4].z + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[0].y = Temp[0].y * Temp[0].x + 1.000000;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].y = Temp[3].w * Temp[0].y + Temp[1].z;\n" +" Temp[4].zw = vec4(Temp[0].wwww * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[1].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[3].w = vec4(inversesqrt(Temp[0].w)).w;\n" +" Temp[1].z = Temp[1].z * Temp[3].w + -GlobalConstantBuffer_8;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[0].w * Temp[0].x + 1.000000;\n" +" Temp[0].w = clamp(Temp[0].w, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].z * Temp[0].w + Temp[1].w;\n" +" Temp[1].zw = vec4(Temp[2].wwww * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].w * Temp[1].z + Temp[0].w;\n" +" Temp[1].zw = vec4(Temp[0].zzzz * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[1].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[1].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[1].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].zzzz * Temp[1].xyxx).xy;\n" +" Temp[1].xyz = vec4(-Temp[2].xyzx + Temp[4].xyzx).xyz;\n" +" Temp[0].z = vec4(dot((Temp[1].xyzx).xyz, (Temp[1].xyzx).xyz)).z;\n" +" Temp[1].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[1].xyzx).xyz)).x;\n" +" Temp[1].y = vec4(inversesqrt(Temp[0].z)).y;\n" +" Temp[1].x = Temp[1].x * Temp[1].y + -GlobalConstantBuffer_8;\n" +" Temp[1].x = clamp(Temp[1].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[0].z * Temp[0].x + 1.000000;\n" +" Temp[0].x = clamp(Temp[0].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[1].x * Temp[0].x + Temp[0].w;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_10;\n" +" Temp[0].x = Temp[0].y * GlobalConstantBuffer_9 + Temp[0].x;\n" +" Output0.x = -Temp[0].x * 0.062500 + 1.000000;\n" +" Output0.x = clamp(Output0.x, 0.0, 1.0);\n" +" return;\n" +"}\n" +; +static const char* g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_2_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"struct PerPassConstantBuffer_0_Type {\n" +" vec4 f4Jitter;\n" +" vec2 f2Offset;\n" +" float fSliceIndex;\n" +" uint uSliceIndex;\n" +"};\n" +"uniform PerPassConstantBuffer {\n" +" PerPassConstantBuffer_0_Type PerPassConstantBuffer_0;\n" +"};\n" +"uniform sampler2DArray g_t0;\n" +"uniform sampler2DMS g_t1;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[8];\n" +"ivec4 Temp_int[8];\n" +"uvec4 Temp_uint[8];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].xy = vec4(floor(Input0.xyxx)).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx * vec4(4.000000, 4.000000, 0.000000, 0.000000) + PerPassConstantBuffer_0.f2Offset.xyxx.xyxx).xy;\n" +" Temp[0].zw = vec4(Temp[0].xxxy * GlobalConstantBuffer_1.xyxx.xxxy).zw;\n" +" Temp[1].xy = vec4(Temp[0].zwzz * vec4(0.250000, 0.250000, 0.000000, 0.000000)).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[2].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[0].z = GlobalConstantBuffer_5 / Temp[2].z;\n" +" Temp[0].w = GlobalConstantBuffer_25 / Temp[0].z;\n" +" Temp[0].w = vec4(min(Temp[0].w, 1.000000)).w;\n" +" Temp[0].z = Temp[0].w * Temp[0].z;\n" +" Temp_uint[1].z = ((Temp[0].z)< (1.000000)) ? 0xFFFFFFFFu : 0u;\n" +" if((Temp_uint[1].z)!=0u){\n" +" Output0.x = vec4(1.000000).x;\n" +" return;\n" +" //ENDIF\n" +" }\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[1].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[2].xy = vec4(Temp[2].zzzz * Temp[1].zwzz).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx + GlobalConstantBuffer_21.xyxx.xyxx).xy;\n" +" Temp_int[3].xy = ivec4(Temp[0].xyxx).xy;\n" +" Temp[3].zw = vec4(vec4(0.000000, 0.000000, 0.000000, 0.000000)).zw;\n" +" Temp[3].xyz = texelFetch(g_t1, ivec2((Temp_int[3]).xy), 0).xyz;\n" +" Temp[3].xyz = vec4(Temp[3].xyzx * GlobalConstantBuffer_28 + GlobalConstantBuffer_29).xyz;\n" +" Temp[4].xyz = vec4(Temp[3].yyyy * GlobalConstantBuffer_27[1].xyzx).xyz;\n" +" Temp[3].xyw = vec4(Temp[3].xxxx * GlobalConstantBuffer_27[0].xyxz + Temp[4].xyxz).xyw;\n" +" Temp[3].xyz = vec4(Temp[3].zzzz * GlobalConstantBuffer_27[2].xyzx + Temp[3].xywx).xyz;\n" +" Temp[0].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[3].xyzx).xyz)).x;\n" +" Temp[0].x = vec4(inversesqrt(Temp[0].x)).x;\n" +" Temp[3].xyz = vec4(Temp[0].xxxx * Temp[3].xyzx).xyz;\n" +" Temp[0].x = Temp[0].w * Temp[0].w;\n" +" Temp[0].x = vec4(vec4(1.000000, 1.000000, 1.000000, 1.000000) / Temp[0].x).x;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_7;\n" +" Temp[0].y = Temp[0].z * 0.050000;\n" +" Temp[0].y = PerPassConstantBuffer_0.f4Jitter.z * Temp[0].y + 1.000000;\n" +" Temp[4].xyz = vec4(PerPassConstantBuffer_0.f4Jitter.xyyx * vec4(1.000000, -1.000000, -0.707107, 0.000000)).xyz;\n" +" Temp[1].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[0].w = Temp[0].z * 0.050000 + Temp[0].y;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[0].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[2].w = Temp[0].z * 0.050000 + Temp[0].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[2].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[0].z = Temp[0].z * 0.050000 + Temp[2].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[5].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).x;\n" +" Temp[5].y = vec4(inversesqrt(Temp[5].w)).y;\n" +" Temp[5].x = Temp[5].x * Temp[5].y + -GlobalConstantBuffer_8;\n" +" Temp[5].x = clamp(Temp[5].x, 0.0, 1.0);\n" +" Temp[5].y = Temp[5].w * Temp[0].x + 1.000000;\n" +" Temp[5].y = clamp(Temp[5].y, 0.0, 1.0);\n" +" Temp[5].x = Temp[5].y * Temp[5].x;\n" +" Temp[3].w = Temp[4].w * Temp[3].w + Temp[5].x;\n" +" Temp[4].xy = vec4(Temp[4].xyxx * Temp[0].zzzz).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[5].x = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[5].x)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[4].y = Temp[5].x * Temp[0].x + 1.000000;\n" +" Temp[4].y = clamp(Temp[4].y, 0.0, 1.0);\n" +" Temp[3].w = Temp[4].x * Temp[4].y + Temp[3].w;\n" +" Temp[4].xy = vec4(PerPassConstantBuffer_0.f4Jitter.xyxx * vec4(0.707107, 0.707107, 0.000000, 0.000000)).xy;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].y;\n" +" Temp[4].w = Temp[4].x + Temp[4].y;\n" +" Temp[5].y = vec4(-Temp[4].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[4].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).z;\n" +" Temp[5].w = vec4(inversesqrt(Temp[4].w)).w;\n" +" Temp[5].z = Temp[5].z * Temp[5].w + -GlobalConstantBuffer_8;\n" +" Temp[5].z = clamp(Temp[5].z, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[0].x + 1.000000;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[5].z;\n" +" Temp[1].z = Temp[1].w * Temp[1].z + Temp[4].w;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[1].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[1].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[1].w * Temp[0].x + 1.000000;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[1].w + Temp[3].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[4].y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107 + Temp[4].x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[4].xy = vec4(Temp[0].yyyy * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].x * Temp[3].w + Temp[1].z;\n" +" Temp[4].xy = vec4(Temp[0].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[2].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = -PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[3].w;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(-0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.000000 + PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * 0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].z;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[4].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].y = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].z = vec4(inversesqrt(Temp[0].y)).z;\n" +" Temp[3].w = Temp[3].w * Temp[4].z + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[0].y = Temp[0].y * Temp[0].x + 1.000000;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].y = Temp[3].w * Temp[0].y + Temp[1].z;\n" +" Temp[4].zw = vec4(Temp[0].wwww * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[1].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[3].w = vec4(inversesqrt(Temp[0].w)).w;\n" +" Temp[1].z = Temp[1].z * Temp[3].w + -GlobalConstantBuffer_8;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[0].w * Temp[0].x + 1.000000;\n" +" Temp[0].w = clamp(Temp[0].w, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].z * Temp[0].w + Temp[1].w;\n" +" Temp[1].zw = vec4(Temp[2].wwww * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].w * Temp[1].z + Temp[0].w;\n" +" Temp[1].zw = vec4(Temp[0].zzzz * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[1].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[1].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[1].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].zzzz * Temp[1].xyxx).xy;\n" +" Temp[1].xyz = vec4(-Temp[2].xyzx + Temp[4].xyzx).xyz;\n" +" Temp[0].z = vec4(dot((Temp[1].xyzx).xyz, (Temp[1].xyzx).xyz)).z;\n" +" Temp[1].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[1].xyzx).xyz)).x;\n" +" Temp[1].y = vec4(inversesqrt(Temp[0].z)).y;\n" +" Temp[1].x = Temp[1].x * Temp[1].y + -GlobalConstantBuffer_8;\n" +" Temp[1].x = clamp(Temp[1].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[0].z * Temp[0].x + 1.000000;\n" +" Temp[0].x = clamp(Temp[0].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[1].x * Temp[0].x + Temp[0].w;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_10;\n" +" Temp[0].x = Temp[0].y * GlobalConstantBuffer_9 + Temp[0].x;\n" +" Output0.x = -Temp[0].x * 0.062500 + 1.000000;\n" +" Output0.x = clamp(Output0.x, 0.0, 1.0);\n" +" return;\n" +"}\n" +; +static const char* g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_0_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"struct PerPassConstantBuffer_0_Type {\n" +" vec4 f4Jitter;\n" +" vec2 f2Offset;\n" +" float fSliceIndex;\n" +" uint uSliceIndex;\n" +"};\n" +"uniform PerPassConstantBuffer {\n" +" PerPassConstantBuffer_0_Type PerPassConstantBuffer_0;\n" +"};\n" +"uniform sampler2DArray g_t0;\n" +"uniform sampler2D g_t1;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[8];\n" +"ivec4 Temp_int[8];\n" +"uvec4 Temp_uint[8];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].xy = vec4(floor(Input0.xyxx)).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx * vec4(4.000000, 4.000000, 0.000000, 0.000000) + PerPassConstantBuffer_0.f2Offset.xyxx.xyxx).xy;\n" +" Temp[0].zw = vec4(Temp[0].xxxy * GlobalConstantBuffer_1.xyxx.xxxy).zw;\n" +" Temp[1].xy = vec4(Temp[0].zwzz * vec4(0.250000, 0.250000, 0.000000, 0.000000)).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[2].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[0].z = GlobalConstantBuffer_5 / Temp[2].z;\n" +" Temp[0].w = GlobalConstantBuffer_25 / Temp[0].z;\n" +" Temp[0].w = vec4(min(Temp[0].w, 1.000000)).w;\n" +" Temp[0].z = Temp[0].w * Temp[0].z;\n" +" Temp_uint[1].z = ((Temp[0].z)< (1.000000)) ? 0xFFFFFFFFu : 0u;\n" +" if((Temp_uint[1].z)!=0u){\n" +" Output0.x = vec4(1.000000).x;\n" +" return;\n" +" //ENDIF\n" +" }\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[1].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[2].xy = vec4(Temp[2].zzzz * Temp[1].zwzz).xy;\n" +" Temp_int[3].xy = ivec4(Temp[0].xyxx).xy;\n" +" Temp[3].zw = vec4(vec4(0.000000, 0.000000, 0.000000, 0.000000)).zw;\n" +" Temp[3].xyz = texelFetch(g_t1, ivec2((Temp_int[3]).xy), 0).xyz;\n" +" Temp[3].xyz = vec4(Temp[3].xyzx * vec4(2.000000, 2.000000, 2.000000, 0.000000) + vec4(-1.000000, -1.000000, -1.000000, 0.000000)).xyz;\n" +" Temp[0].x = Temp[0].w * Temp[0].w;\n" +" Temp[0].x = vec4(vec4(1.000000, 1.000000, 1.000000, 1.000000) / Temp[0].x).x;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_7;\n" +" Temp[0].y = Temp[0].z * 0.050000;\n" +" Temp[0].y = PerPassConstantBuffer_0.f4Jitter.z * Temp[0].y + 1.000000;\n" +" Temp[4].xyz = vec4(PerPassConstantBuffer_0.f4Jitter.xyyx * vec4(1.000000, -1.000000, -0.707107, 0.000000)).xyz;\n" +" Temp[1].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[0].w = Temp[0].z * 0.050000 + Temp[0].y;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[0].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[2].w = Temp[0].z * 0.050000 + Temp[0].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[2].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[0].z = Temp[0].z * 0.050000 + Temp[2].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[5].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).x;\n" +" Temp[5].y = vec4(inversesqrt(Temp[5].w)).y;\n" +" Temp[5].x = Temp[5].x * Temp[5].y + -GlobalConstantBuffer_8;\n" +" Temp[5].x = clamp(Temp[5].x, 0.0, 1.0);\n" +" Temp[5].y = Temp[5].w * Temp[0].x + 1.000000;\n" +" Temp[5].y = clamp(Temp[5].y, 0.0, 1.0);\n" +" Temp[5].x = Temp[5].y * Temp[5].x;\n" +" Temp[3].w = Temp[4].w * Temp[3].w + Temp[5].x;\n" +" Temp[4].xy = vec4(Temp[4].xyxx * Temp[0].zzzz).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[5].x = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[5].x)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[4].y = Temp[5].x * Temp[0].x + 1.000000;\n" +" Temp[4].y = clamp(Temp[4].y, 0.0, 1.0);\n" +" Temp[3].w = Temp[4].x * Temp[4].y + Temp[3].w;\n" +" Temp[4].xy = vec4(PerPassConstantBuffer_0.f4Jitter.xyxx * vec4(0.707107, 0.707107, 0.000000, 0.000000)).xy;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].y;\n" +" Temp[4].w = Temp[4].x + Temp[4].y;\n" +" Temp[5].y = vec4(-Temp[4].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[4].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).z;\n" +" Temp[5].w = vec4(inversesqrt(Temp[4].w)).w;\n" +" Temp[5].z = Temp[5].z * Temp[5].w + -GlobalConstantBuffer_8;\n" +" Temp[5].z = clamp(Temp[5].z, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[0].x + 1.000000;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[5].z;\n" +" Temp[1].z = Temp[1].w * Temp[1].z + Temp[4].w;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[1].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[1].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[1].w * Temp[0].x + 1.000000;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[1].w + Temp[3].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[4].y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107 + Temp[4].x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[4].xy = vec4(Temp[0].yyyy * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].x * Temp[3].w + Temp[1].z;\n" +" Temp[4].xy = vec4(Temp[0].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[2].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = -PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[3].w;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(-0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.000000 + PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * 0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].z;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[4].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].y = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].z = vec4(inversesqrt(Temp[0].y)).z;\n" +" Temp[3].w = Temp[3].w * Temp[4].z + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[0].y = Temp[0].y * Temp[0].x + 1.000000;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].y = Temp[3].w * Temp[0].y + Temp[1].z;\n" +" Temp[4].zw = vec4(Temp[0].wwww * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[1].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[3].w = vec4(inversesqrt(Temp[0].w)).w;\n" +" Temp[1].z = Temp[1].z * Temp[3].w + -GlobalConstantBuffer_8;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[0].w * Temp[0].x + 1.000000;\n" +" Temp[0].w = clamp(Temp[0].w, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].z * Temp[0].w + Temp[1].w;\n" +" Temp[1].zw = vec4(Temp[2].wwww * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].w * Temp[1].z + Temp[0].w;\n" +" Temp[1].zw = vec4(Temp[0].zzzz * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[1].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[1].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[1].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].zzzz * Temp[1].xyxx).xy;\n" +" Temp[1].xyz = vec4(-Temp[2].xyzx + Temp[4].xyzx).xyz;\n" +" Temp[0].z = vec4(dot((Temp[1].xyzx).xyz, (Temp[1].xyzx).xyz)).z;\n" +" Temp[1].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[1].xyzx).xyz)).x;\n" +" Temp[1].y = vec4(inversesqrt(Temp[0].z)).y;\n" +" Temp[1].x = Temp[1].x * Temp[1].y + -GlobalConstantBuffer_8;\n" +" Temp[1].x = clamp(Temp[1].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[0].z * Temp[0].x + 1.000000;\n" +" Temp[0].x = clamp(Temp[0].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[1].x * Temp[0].x + Temp[0].w;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_10;\n" +" Temp[0].x = Temp[0].y * GlobalConstantBuffer_9 + Temp[0].x;\n" +" Temp[0].x = Temp[0].x * 0.031250;\n" +" Temp[0].y = Temp[2].z * GlobalConstantBuffer_22 + 1.000000;\n" +" Temp[0].y = Temp[0].y * GlobalConstantBuffer_23;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].x = vec4(dot((Temp[0].xxxx).xy, (Temp[0].yyyy).xy)).x;\n" +" Output0.x = -Temp[0].x + 1.000000;\n" +" Output0.x = clamp(Output0.x, 0.0, 1.0);\n" +" return;\n" +"}\n" +; +static const char* g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_1_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"struct PerPassConstantBuffer_0_Type {\n" +" vec4 f4Jitter;\n" +" vec2 f2Offset;\n" +" float fSliceIndex;\n" +" uint uSliceIndex;\n" +"};\n" +"uniform PerPassConstantBuffer {\n" +" PerPassConstantBuffer_0_Type PerPassConstantBuffer_0;\n" +"};\n" +"uniform sampler2DArray g_t0;\n" +"uniform sampler2D g_t1;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[8];\n" +"ivec4 Temp_int[8];\n" +"uvec4 Temp_uint[8];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].xy = vec4(floor(Input0.xyxx)).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx * vec4(4.000000, 4.000000, 0.000000, 0.000000) + PerPassConstantBuffer_0.f2Offset.xyxx.xyxx).xy;\n" +" Temp[0].zw = vec4(Temp[0].xxxy * GlobalConstantBuffer_1.xyxx.xxxy).zw;\n" +" Temp[1].xy = vec4(Temp[0].zwzz * vec4(0.250000, 0.250000, 0.000000, 0.000000)).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[2].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[0].z = GlobalConstantBuffer_5 / Temp[2].z;\n" +" Temp[0].w = GlobalConstantBuffer_25 / Temp[0].z;\n" +" Temp[0].w = vec4(min(Temp[0].w, 1.000000)).w;\n" +" Temp[0].z = Temp[0].w * Temp[0].z;\n" +" Temp_uint[1].z = ((Temp[0].z)< (1.000000)) ? 0xFFFFFFFFu : 0u;\n" +" if((Temp_uint[1].z)!=0u){\n" +" Output0.x = vec4(1.000000).x;\n" +" return;\n" +" //ENDIF\n" +" }\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[1].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[2].xy = vec4(Temp[2].zzzz * Temp[1].zwzz).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx + GlobalConstantBuffer_21.xyxx.xyxx).xy;\n" +" Temp_int[3].xy = ivec4(Temp[0].xyxx).xy;\n" +" Temp[3].zw = vec4(vec4(0.000000, 0.000000, 0.000000, 0.000000)).zw;\n" +" Temp[3].xyz = texelFetch(g_t1, ivec2((Temp_int[3]).xy), 0).xyz;\n" +" Temp[3].xyz = vec4(Temp[3].xyzx * GlobalConstantBuffer_28 + GlobalConstantBuffer_29).xyz;\n" +" Temp[4].xyz = vec4(Temp[3].yyyy * GlobalConstantBuffer_27[1].xyzx).xyz;\n" +" Temp[3].xyw = vec4(Temp[3].xxxx * GlobalConstantBuffer_27[0].xyxz + Temp[4].xyxz).xyw;\n" +" Temp[3].xyz = vec4(Temp[3].zzzz * GlobalConstantBuffer_27[2].xyzx + Temp[3].xywx).xyz;\n" +" Temp[0].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[3].xyzx).xyz)).x;\n" +" Temp[0].x = vec4(inversesqrt(Temp[0].x)).x;\n" +" Temp[3].xyz = vec4(Temp[0].xxxx * Temp[3].xyzx).xyz;\n" +" Temp[0].x = Temp[0].w * Temp[0].w;\n" +" Temp[0].x = vec4(vec4(1.000000, 1.000000, 1.000000, 1.000000) / Temp[0].x).x;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_7;\n" +" Temp[0].y = Temp[0].z * 0.050000;\n" +" Temp[0].y = PerPassConstantBuffer_0.f4Jitter.z * Temp[0].y + 1.000000;\n" +" Temp[4].xyz = vec4(PerPassConstantBuffer_0.f4Jitter.xyyx * vec4(1.000000, -1.000000, -0.707107, 0.000000)).xyz;\n" +" Temp[1].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[0].w = Temp[0].z * 0.050000 + Temp[0].y;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[0].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[2].w = Temp[0].z * 0.050000 + Temp[0].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[2].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[0].z = Temp[0].z * 0.050000 + Temp[2].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[5].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).x;\n" +" Temp[5].y = vec4(inversesqrt(Temp[5].w)).y;\n" +" Temp[5].x = Temp[5].x * Temp[5].y + -GlobalConstantBuffer_8;\n" +" Temp[5].x = clamp(Temp[5].x, 0.0, 1.0);\n" +" Temp[5].y = Temp[5].w * Temp[0].x + 1.000000;\n" +" Temp[5].y = clamp(Temp[5].y, 0.0, 1.0);\n" +" Temp[5].x = Temp[5].y * Temp[5].x;\n" +" Temp[3].w = Temp[4].w * Temp[3].w + Temp[5].x;\n" +" Temp[4].xy = vec4(Temp[4].xyxx * Temp[0].zzzz).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[5].x = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[5].x)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[4].y = Temp[5].x * Temp[0].x + 1.000000;\n" +" Temp[4].y = clamp(Temp[4].y, 0.0, 1.0);\n" +" Temp[3].w = Temp[4].x * Temp[4].y + Temp[3].w;\n" +" Temp[4].xy = vec4(PerPassConstantBuffer_0.f4Jitter.xyxx * vec4(0.707107, 0.707107, 0.000000, 0.000000)).xy;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].y;\n" +" Temp[4].w = Temp[4].x + Temp[4].y;\n" +" Temp[5].y = vec4(-Temp[4].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[4].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).z;\n" +" Temp[5].w = vec4(inversesqrt(Temp[4].w)).w;\n" +" Temp[5].z = Temp[5].z * Temp[5].w + -GlobalConstantBuffer_8;\n" +" Temp[5].z = clamp(Temp[5].z, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[0].x + 1.000000;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[5].z;\n" +" Temp[1].z = Temp[1].w * Temp[1].z + Temp[4].w;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[1].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[1].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[1].w * Temp[0].x + 1.000000;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[1].w + Temp[3].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[4].y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107 + Temp[4].x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[4].xy = vec4(Temp[0].yyyy * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].x * Temp[3].w + Temp[1].z;\n" +" Temp[4].xy = vec4(Temp[0].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[2].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = -PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[3].w;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(-0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.000000 + PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * 0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].z;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[4].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].y = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].z = vec4(inversesqrt(Temp[0].y)).z;\n" +" Temp[3].w = Temp[3].w * Temp[4].z + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[0].y = Temp[0].y * Temp[0].x + 1.000000;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].y = Temp[3].w * Temp[0].y + Temp[1].z;\n" +" Temp[4].zw = vec4(Temp[0].wwww * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[1].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[3].w = vec4(inversesqrt(Temp[0].w)).w;\n" +" Temp[1].z = Temp[1].z * Temp[3].w + -GlobalConstantBuffer_8;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[0].w * Temp[0].x + 1.000000;\n" +" Temp[0].w = clamp(Temp[0].w, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].z * Temp[0].w + Temp[1].w;\n" +" Temp[1].zw = vec4(Temp[2].wwww * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].w * Temp[1].z + Temp[0].w;\n" +" Temp[1].zw = vec4(Temp[0].zzzz * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[1].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[1].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[1].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].zzzz * Temp[1].xyxx).xy;\n" +" Temp[1].xyz = vec4(-Temp[2].xyzx + Temp[4].xyzx).xyz;\n" +" Temp[0].z = vec4(dot((Temp[1].xyzx).xyz, (Temp[1].xyzx).xyz)).z;\n" +" Temp[1].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[1].xyzx).xyz)).x;\n" +" Temp[1].y = vec4(inversesqrt(Temp[0].z)).y;\n" +" Temp[1].x = Temp[1].x * Temp[1].y + -GlobalConstantBuffer_8;\n" +" Temp[1].x = clamp(Temp[1].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[0].z * Temp[0].x + 1.000000;\n" +" Temp[0].x = clamp(Temp[0].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[1].x * Temp[0].x + Temp[0].w;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_10;\n" +" Temp[0].x = Temp[0].y * GlobalConstantBuffer_9 + Temp[0].x;\n" +" Temp[0].x = Temp[0].x * 0.031250;\n" +" Temp[0].y = Temp[2].z * GlobalConstantBuffer_22 + 1.000000;\n" +" Temp[0].y = Temp[0].y * GlobalConstantBuffer_23;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].x = vec4(dot((Temp[0].xxxx).xy, (Temp[0].yyyy).xy)).x;\n" +" Output0.x = -Temp[0].x + 1.000000;\n" +" Output0.x = clamp(Output0.x, 0.0, 1.0);\n" +" return;\n" +"}\n" +; +static const char* g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_2_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"struct PerPassConstantBuffer_0_Type {\n" +" vec4 f4Jitter;\n" +" vec2 f2Offset;\n" +" float fSliceIndex;\n" +" uint uSliceIndex;\n" +"};\n" +"uniform PerPassConstantBuffer {\n" +" PerPassConstantBuffer_0_Type PerPassConstantBuffer_0;\n" +"};\n" +"uniform sampler2DArray g_t0;\n" +"uniform sampler2DMS g_t1;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[8];\n" +"ivec4 Temp_int[8];\n" +"uvec4 Temp_uint[8];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].xy = vec4(floor(Input0.xyxx)).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx * vec4(4.000000, 4.000000, 0.000000, 0.000000) + PerPassConstantBuffer_0.f2Offset.xyxx.xyxx).xy;\n" +" Temp[0].zw = vec4(Temp[0].xxxy * GlobalConstantBuffer_1.xyxx.xxxy).zw;\n" +" Temp[1].xy = vec4(Temp[0].zwzz * vec4(0.250000, 0.250000, 0.000000, 0.000000)).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[2].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[0].z = GlobalConstantBuffer_5 / Temp[2].z;\n" +" Temp[0].w = GlobalConstantBuffer_25 / Temp[0].z;\n" +" Temp[0].w = vec4(min(Temp[0].w, 1.000000)).w;\n" +" Temp[0].z = Temp[0].w * Temp[0].z;\n" +" Temp_uint[1].z = ((Temp[0].z)< (1.000000)) ? 0xFFFFFFFFu : 0u;\n" +" if((Temp_uint[1].z)!=0u){\n" +" Output0.x = vec4(1.000000).x;\n" +" return;\n" +" //ENDIF\n" +" }\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[1].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[2].xy = vec4(Temp[2].zzzz * Temp[1].zwzz).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx + GlobalConstantBuffer_21.xyxx.xyxx).xy;\n" +" Temp_int[3].xy = ivec4(Temp[0].xyxx).xy;\n" +" Temp[3].zw = vec4(vec4(0.000000, 0.000000, 0.000000, 0.000000)).zw;\n" +" Temp[3].xyz = texelFetch(g_t1, ivec2((Temp_int[3]).xy), 0).xyz;\n" +" Temp[3].xyz = vec4(Temp[3].xyzx * GlobalConstantBuffer_28 + GlobalConstantBuffer_29).xyz;\n" +" Temp[4].xyz = vec4(Temp[3].yyyy * GlobalConstantBuffer_27[1].xyzx).xyz;\n" +" Temp[3].xyw = vec4(Temp[3].xxxx * GlobalConstantBuffer_27[0].xyxz + Temp[4].xyxz).xyw;\n" +" Temp[3].xyz = vec4(Temp[3].zzzz * GlobalConstantBuffer_27[2].xyzx + Temp[3].xywx).xyz;\n" +" Temp[0].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[3].xyzx).xyz)).x;\n" +" Temp[0].x = vec4(inversesqrt(Temp[0].x)).x;\n" +" Temp[3].xyz = vec4(Temp[0].xxxx * Temp[3].xyzx).xyz;\n" +" Temp[0].x = Temp[0].w * Temp[0].w;\n" +" Temp[0].x = vec4(vec4(1.000000, 1.000000, 1.000000, 1.000000) / Temp[0].x).x;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_7;\n" +" Temp[0].y = Temp[0].z * 0.050000;\n" +" Temp[0].y = PerPassConstantBuffer_0.f4Jitter.z * Temp[0].y + 1.000000;\n" +" Temp[4].xyz = vec4(PerPassConstantBuffer_0.f4Jitter.xyyx * vec4(1.000000, -1.000000, -0.707107, 0.000000)).xyz;\n" +" Temp[1].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[0].w = Temp[0].z * 0.050000 + Temp[0].y;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[0].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[2].w = Temp[0].z * 0.050000 + Temp[0].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[2].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[0].z = Temp[0].z * 0.050000 + Temp[2].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[5].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).x;\n" +" Temp[5].y = vec4(inversesqrt(Temp[5].w)).y;\n" +" Temp[5].x = Temp[5].x * Temp[5].y + -GlobalConstantBuffer_8;\n" +" Temp[5].x = clamp(Temp[5].x, 0.0, 1.0);\n" +" Temp[5].y = Temp[5].w * Temp[0].x + 1.000000;\n" +" Temp[5].y = clamp(Temp[5].y, 0.0, 1.0);\n" +" Temp[5].x = Temp[5].y * Temp[5].x;\n" +" Temp[3].w = Temp[4].w * Temp[3].w + Temp[5].x;\n" +" Temp[4].xy = vec4(Temp[4].xyxx * Temp[0].zzzz).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[5].x = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[5].x)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[4].y = Temp[5].x * Temp[0].x + 1.000000;\n" +" Temp[4].y = clamp(Temp[4].y, 0.0, 1.0);\n" +" Temp[3].w = Temp[4].x * Temp[4].y + Temp[3].w;\n" +" Temp[4].xy = vec4(PerPassConstantBuffer_0.f4Jitter.xyxx * vec4(0.707107, 0.707107, 0.000000, 0.000000)).xy;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].y;\n" +" Temp[4].w = Temp[4].x + Temp[4].y;\n" +" Temp[5].y = vec4(-Temp[4].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[4].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).z;\n" +" Temp[5].w = vec4(inversesqrt(Temp[4].w)).w;\n" +" Temp[5].z = Temp[5].z * Temp[5].w + -GlobalConstantBuffer_8;\n" +" Temp[5].z = clamp(Temp[5].z, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[0].x + 1.000000;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[5].z;\n" +" Temp[1].z = Temp[1].w * Temp[1].z + Temp[4].w;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[1].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[1].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[1].w * Temp[0].x + 1.000000;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[1].w + Temp[3].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[4].y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107 + Temp[4].x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[4].xy = vec4(Temp[0].yyyy * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].x * Temp[3].w + Temp[1].z;\n" +" Temp[4].xy = vec4(Temp[0].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[2].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = -PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[3].w;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(-0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.000000 + PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * 0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].z;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[4].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].y = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].z = vec4(inversesqrt(Temp[0].y)).z;\n" +" Temp[3].w = Temp[3].w * Temp[4].z + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[0].y = Temp[0].y * Temp[0].x + 1.000000;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].y = Temp[3].w * Temp[0].y + Temp[1].z;\n" +" Temp[4].zw = vec4(Temp[0].wwww * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[1].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[3].w = vec4(inversesqrt(Temp[0].w)).w;\n" +" Temp[1].z = Temp[1].z * Temp[3].w + -GlobalConstantBuffer_8;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[0].w * Temp[0].x + 1.000000;\n" +" Temp[0].w = clamp(Temp[0].w, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].z * Temp[0].w + Temp[1].w;\n" +" Temp[1].zw = vec4(Temp[2].wwww * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].w * Temp[1].z + Temp[0].w;\n" +" Temp[1].zw = vec4(Temp[0].zzzz * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[1].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[1].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[1].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].zzzz * Temp[1].xyxx).xy;\n" +" Temp[1].xyz = vec4(-Temp[2].xyzx + Temp[4].xyzx).xyz;\n" +" Temp[0].z = vec4(dot((Temp[1].xyzx).xyz, (Temp[1].xyzx).xyz)).z;\n" +" Temp[1].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[1].xyzx).xyz)).x;\n" +" Temp[1].y = vec4(inversesqrt(Temp[0].z)).y;\n" +" Temp[1].x = Temp[1].x * Temp[1].y + -GlobalConstantBuffer_8;\n" +" Temp[1].x = clamp(Temp[1].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[0].z * Temp[0].x + 1.000000;\n" +" Temp[0].x = clamp(Temp[0].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[1].x * Temp[0].x + Temp[0].w;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_10;\n" +" Temp[0].x = Temp[0].y * GlobalConstantBuffer_9 + Temp[0].x;\n" +" Temp[0].x = Temp[0].x * 0.031250;\n" +" Temp[0].y = Temp[2].z * GlobalConstantBuffer_22 + 1.000000;\n" +" Temp[0].y = Temp[0].y * GlobalConstantBuffer_23;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].x = vec4(dot((Temp[0].xxxx).xy, (Temp[0].yyyy).xy)).x;\n" +" Output0.x = -Temp[0].x + 1.000000;\n" +" Output0.x = clamp(Output0.x, 0.0, 1.0);\n" +" return;\n" +"}\n" +; +static const char* g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_0_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"struct PerPassConstantBuffer_0_Type {\n" +" vec4 f4Jitter;\n" +" vec2 f2Offset;\n" +" float fSliceIndex;\n" +" uint uSliceIndex;\n" +"};\n" +"uniform PerPassConstantBuffer {\n" +" PerPassConstantBuffer_0_Type PerPassConstantBuffer_0;\n" +"};\n" +"uniform sampler2DArray g_t0;\n" +"uniform sampler2D g_t1;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[8];\n" +"ivec4 Temp_int[8];\n" +"uvec4 Temp_uint[8];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].xy = vec4(floor(Input0.xyxx)).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx * vec4(4.000000, 4.000000, 0.000000, 0.000000) + PerPassConstantBuffer_0.f2Offset.xyxx.xyxx).xy;\n" +" Temp[0].zw = vec4(Temp[0].xxxy * GlobalConstantBuffer_1.xyxx.xxxy).zw;\n" +" Temp[1].xy = vec4(Temp[0].zwzz * vec4(0.250000, 0.250000, 0.000000, 0.000000)).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[2].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[0].z = GlobalConstantBuffer_5 / Temp[2].z;\n" +" Temp[0].w = GlobalConstantBuffer_24 / Temp[0].z;\n" +" Temp[0].w = vec4(max(Temp[0].w, 1.000000)).w;\n" +" Temp[0].z = Temp[0].w * Temp[0].z;\n" +" Temp[1].z = GlobalConstantBuffer_25 / Temp[0].z;\n" +" Temp[1].z = vec4(min(Temp[1].z, 1.000000)).z;\n" +" Temp[0].z = Temp[0].z * Temp[1].z;\n" +" Temp_uint[1].w = ((Temp[0].z)< (1.000000)) ? 0xFFFFFFFFu : 0u;\n" +" if((Temp_uint[1].w)!=0u){\n" +" Output0.x = vec4(1.000000).x;\n" +" return;\n" +" //ENDIF\n" +" }\n" +" Temp[3].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[1].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[2].xy = vec4(Temp[2].zzzz * Temp[3].xyxx).xy;\n" +" Temp_int[3].xy = ivec4(Temp[0].xyxx).xy;\n" +" Temp[3].zw = vec4(vec4(0.000000, 0.000000, 0.000000, 0.000000)).zw;\n" +" Temp[3].xyz = texelFetch(g_t1, ivec2((Temp_int[3]).xy), 0).xyz;\n" +" Temp[3].xyz = vec4(Temp[3].xyzx * vec4(2.000000, 2.000000, 2.000000, 0.000000) + vec4(-1.000000, -1.000000, -1.000000, 0.000000)).xyz;\n" +" Temp[0].x = Temp[0].w * Temp[0].w;\n" +" Temp[0].x = vec4(vec4(1.000000, 1.000000, 1.000000, 1.000000) / Temp[0].x).x;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_7;\n" +" Temp[0].y = Temp[1].z * Temp[1].z;\n" +" Temp[0].y = vec4(vec4(1.000000, 1.000000, 1.000000, 1.000000) / Temp[0].y).y;\n" +" Temp[0].x = Temp[0].y * Temp[0].x;\n" +" Temp[0].y = Temp[0].z * 0.050000;\n" +" Temp[0].y = PerPassConstantBuffer_0.f4Jitter.z * Temp[0].y + 1.000000;\n" +" Temp[4].xyz = vec4(PerPassConstantBuffer_0.f4Jitter.xyyx * vec4(1.000000, -1.000000, -0.707107, 0.000000)).xyz;\n" +" Temp[1].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[0].w = Temp[0].z * 0.050000 + Temp[0].y;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[0].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[2].w = Temp[0].z * 0.050000 + Temp[0].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[2].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[0].z = Temp[0].z * 0.050000 + Temp[2].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[5].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).x;\n" +" Temp[5].y = vec4(inversesqrt(Temp[5].w)).y;\n" +" Temp[5].x = Temp[5].x * Temp[5].y + -GlobalConstantBuffer_8;\n" +" Temp[5].x = clamp(Temp[5].x, 0.0, 1.0);\n" +" Temp[5].y = Temp[5].w * Temp[0].x + 1.000000;\n" +" Temp[5].y = clamp(Temp[5].y, 0.0, 1.0);\n" +" Temp[5].x = Temp[5].y * Temp[5].x;\n" +" Temp[3].w = Temp[4].w * Temp[3].w + Temp[5].x;\n" +" Temp[4].xy = vec4(Temp[4].xyxx * Temp[0].zzzz).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[5].x = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[5].x)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[4].y = Temp[5].x * Temp[0].x + 1.000000;\n" +" Temp[4].y = clamp(Temp[4].y, 0.0, 1.0);\n" +" Temp[3].w = Temp[4].x * Temp[4].y + Temp[3].w;\n" +" Temp[4].xy = vec4(PerPassConstantBuffer_0.f4Jitter.xyxx * vec4(0.707107, 0.707107, 0.000000, 0.000000)).xy;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].y;\n" +" Temp[4].w = Temp[4].x + Temp[4].y;\n" +" Temp[5].y = vec4(-Temp[4].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[4].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).z;\n" +" Temp[5].w = vec4(inversesqrt(Temp[4].w)).w;\n" +" Temp[5].z = Temp[5].z * Temp[5].w + -GlobalConstantBuffer_8;\n" +" Temp[5].z = clamp(Temp[5].z, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[0].x + 1.000000;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[5].z;\n" +" Temp[1].z = Temp[1].w * Temp[1].z + Temp[4].w;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[1].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[1].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[1].w * Temp[0].x + 1.000000;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[1].w + Temp[3].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[4].y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107 + Temp[4].x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[4].xy = vec4(Temp[0].yyyy * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].x * Temp[3].w + Temp[1].z;\n" +" Temp[4].xy = vec4(Temp[0].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[2].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = -PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[3].w;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(-0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.000000 + PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * 0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].z;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[4].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].y = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].z = vec4(inversesqrt(Temp[0].y)).z;\n" +" Temp[3].w = Temp[3].w * Temp[4].z + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[0].y = Temp[0].y * Temp[0].x + 1.000000;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].y = Temp[3].w * Temp[0].y + Temp[1].z;\n" +" Temp[4].zw = vec4(Temp[0].wwww * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[1].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[3].w = vec4(inversesqrt(Temp[0].w)).w;\n" +" Temp[1].z = Temp[1].z * Temp[3].w + -GlobalConstantBuffer_8;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[0].w * Temp[0].x + 1.000000;\n" +" Temp[0].w = clamp(Temp[0].w, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].z * Temp[0].w + Temp[1].w;\n" +" Temp[1].zw = vec4(Temp[2].wwww * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].w * Temp[1].z + Temp[0].w;\n" +" Temp[1].zw = vec4(Temp[0].zzzz * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[1].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[1].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[1].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].zzzz * Temp[1].xyxx).xy;\n" +" Temp[1].xyz = vec4(-Temp[2].xyzx + Temp[4].xyzx).xyz;\n" +" Temp[0].z = vec4(dot((Temp[1].xyzx).xyz, (Temp[1].xyzx).xyz)).z;\n" +" Temp[1].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[1].xyzx).xyz)).x;\n" +" Temp[1].y = vec4(inversesqrt(Temp[0].z)).y;\n" +" Temp[1].x = Temp[1].x * Temp[1].y + -GlobalConstantBuffer_8;\n" +" Temp[1].x = clamp(Temp[1].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[0].z * Temp[0].x + 1.000000;\n" +" Temp[0].x = clamp(Temp[0].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[1].x * Temp[0].x + Temp[0].w;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_10;\n" +" Temp[0].x = Temp[0].y * GlobalConstantBuffer_9 + Temp[0].x;\n" +" Output0.x = -Temp[0].x * 0.062500 + 1.000000;\n" +" Output0.x = clamp(Output0.x, 0.0, 1.0);\n" +" return;\n" +"}\n" +; +static const char* g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_1_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"struct PerPassConstantBuffer_0_Type {\n" +" vec4 f4Jitter;\n" +" vec2 f2Offset;\n" +" float fSliceIndex;\n" +" uint uSliceIndex;\n" +"};\n" +"uniform PerPassConstantBuffer {\n" +" PerPassConstantBuffer_0_Type PerPassConstantBuffer_0;\n" +"};\n" +"uniform sampler2DArray g_t0;\n" +"uniform sampler2D g_t1;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[8];\n" +"ivec4 Temp_int[8];\n" +"uvec4 Temp_uint[8];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].xy = vec4(floor(Input0.xyxx)).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx * vec4(4.000000, 4.000000, 0.000000, 0.000000) + PerPassConstantBuffer_0.f2Offset.xyxx.xyxx).xy;\n" +" Temp[0].zw = vec4(Temp[0].xxxy * GlobalConstantBuffer_1.xyxx.xxxy).zw;\n" +" Temp[1].xy = vec4(Temp[0].zwzz * vec4(0.250000, 0.250000, 0.000000, 0.000000)).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[2].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[0].z = GlobalConstantBuffer_5 / Temp[2].z;\n" +" Temp[0].w = GlobalConstantBuffer_24 / Temp[0].z;\n" +" Temp[0].w = vec4(max(Temp[0].w, 1.000000)).w;\n" +" Temp[0].z = Temp[0].w * Temp[0].z;\n" +" Temp[1].z = GlobalConstantBuffer_25 / Temp[0].z;\n" +" Temp[1].z = vec4(min(Temp[1].z, 1.000000)).z;\n" +" Temp[0].z = Temp[0].z * Temp[1].z;\n" +" Temp_uint[1].w = ((Temp[0].z)< (1.000000)) ? 0xFFFFFFFFu : 0u;\n" +" if((Temp_uint[1].w)!=0u){\n" +" Output0.x = vec4(1.000000).x;\n" +" return;\n" +" //ENDIF\n" +" }\n" +" Temp[3].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[1].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[2].xy = vec4(Temp[2].zzzz * Temp[3].xyxx).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx + GlobalConstantBuffer_21.xyxx.xyxx).xy;\n" +" Temp_int[3].xy = ivec4(Temp[0].xyxx).xy;\n" +" Temp[3].zw = vec4(vec4(0.000000, 0.000000, 0.000000, 0.000000)).zw;\n" +" Temp[3].xyz = texelFetch(g_t1, ivec2((Temp_int[3]).xy), 0).xyz;\n" +" Temp[3].xyz = vec4(Temp[3].xyzx * GlobalConstantBuffer_28 + GlobalConstantBuffer_29).xyz;\n" +" Temp[4].xyz = vec4(Temp[3].yyyy * GlobalConstantBuffer_27[1].xyzx).xyz;\n" +" Temp[3].xyw = vec4(Temp[3].xxxx * GlobalConstantBuffer_27[0].xyxz + Temp[4].xyxz).xyw;\n" +" Temp[3].xyz = vec4(Temp[3].zzzz * GlobalConstantBuffer_27[2].xyzx + Temp[3].xywx).xyz;\n" +" Temp[0].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[3].xyzx).xyz)).x;\n" +" Temp[0].x = vec4(inversesqrt(Temp[0].x)).x;\n" +" Temp[3].xyz = vec4(Temp[0].xxxx * Temp[3].xyzx).xyz;\n" +" Temp[0].x = Temp[0].w * Temp[0].w;\n" +" Temp[0].x = vec4(vec4(1.000000, 1.000000, 1.000000, 1.000000) / Temp[0].x).x;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_7;\n" +" Temp[0].y = Temp[1].z * Temp[1].z;\n" +" Temp[0].y = vec4(vec4(1.000000, 1.000000, 1.000000, 1.000000) / Temp[0].y).y;\n" +" Temp[0].x = Temp[0].y * Temp[0].x;\n" +" Temp[0].y = Temp[0].z * 0.050000;\n" +" Temp[0].y = PerPassConstantBuffer_0.f4Jitter.z * Temp[0].y + 1.000000;\n" +" Temp[4].xyz = vec4(PerPassConstantBuffer_0.f4Jitter.xyyx * vec4(1.000000, -1.000000, -0.707107, 0.000000)).xyz;\n" +" Temp[1].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[0].w = Temp[0].z * 0.050000 + Temp[0].y;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[0].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[2].w = Temp[0].z * 0.050000 + Temp[0].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[2].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[0].z = Temp[0].z * 0.050000 + Temp[2].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[5].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).x;\n" +" Temp[5].y = vec4(inversesqrt(Temp[5].w)).y;\n" +" Temp[5].x = Temp[5].x * Temp[5].y + -GlobalConstantBuffer_8;\n" +" Temp[5].x = clamp(Temp[5].x, 0.0, 1.0);\n" +" Temp[5].y = Temp[5].w * Temp[0].x + 1.000000;\n" +" Temp[5].y = clamp(Temp[5].y, 0.0, 1.0);\n" +" Temp[5].x = Temp[5].y * Temp[5].x;\n" +" Temp[3].w = Temp[4].w * Temp[3].w + Temp[5].x;\n" +" Temp[4].xy = vec4(Temp[4].xyxx * Temp[0].zzzz).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[5].x = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[5].x)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[4].y = Temp[5].x * Temp[0].x + 1.000000;\n" +" Temp[4].y = clamp(Temp[4].y, 0.0, 1.0);\n" +" Temp[3].w = Temp[4].x * Temp[4].y + Temp[3].w;\n" +" Temp[4].xy = vec4(PerPassConstantBuffer_0.f4Jitter.xyxx * vec4(0.707107, 0.707107, 0.000000, 0.000000)).xy;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].y;\n" +" Temp[4].w = Temp[4].x + Temp[4].y;\n" +" Temp[5].y = vec4(-Temp[4].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[4].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).z;\n" +" Temp[5].w = vec4(inversesqrt(Temp[4].w)).w;\n" +" Temp[5].z = Temp[5].z * Temp[5].w + -GlobalConstantBuffer_8;\n" +" Temp[5].z = clamp(Temp[5].z, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[0].x + 1.000000;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[5].z;\n" +" Temp[1].z = Temp[1].w * Temp[1].z + Temp[4].w;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[1].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[1].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[1].w * Temp[0].x + 1.000000;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[1].w + Temp[3].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[4].y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107 + Temp[4].x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[4].xy = vec4(Temp[0].yyyy * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].x * Temp[3].w + Temp[1].z;\n" +" Temp[4].xy = vec4(Temp[0].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[2].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = -PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[3].w;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(-0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.000000 + PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * 0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].z;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[4].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].y = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].z = vec4(inversesqrt(Temp[0].y)).z;\n" +" Temp[3].w = Temp[3].w * Temp[4].z + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[0].y = Temp[0].y * Temp[0].x + 1.000000;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].y = Temp[3].w * Temp[0].y + Temp[1].z;\n" +" Temp[4].zw = vec4(Temp[0].wwww * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[1].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[3].w = vec4(inversesqrt(Temp[0].w)).w;\n" +" Temp[1].z = Temp[1].z * Temp[3].w + -GlobalConstantBuffer_8;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[0].w * Temp[0].x + 1.000000;\n" +" Temp[0].w = clamp(Temp[0].w, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].z * Temp[0].w + Temp[1].w;\n" +" Temp[1].zw = vec4(Temp[2].wwww * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].w * Temp[1].z + Temp[0].w;\n" +" Temp[1].zw = vec4(Temp[0].zzzz * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[1].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[1].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[1].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].zzzz * Temp[1].xyxx).xy;\n" +" Temp[1].xyz = vec4(-Temp[2].xyzx + Temp[4].xyzx).xyz;\n" +" Temp[0].z = vec4(dot((Temp[1].xyzx).xyz, (Temp[1].xyzx).xyz)).z;\n" +" Temp[1].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[1].xyzx).xyz)).x;\n" +" Temp[1].y = vec4(inversesqrt(Temp[0].z)).y;\n" +" Temp[1].x = Temp[1].x * Temp[1].y + -GlobalConstantBuffer_8;\n" +" Temp[1].x = clamp(Temp[1].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[0].z * Temp[0].x + 1.000000;\n" +" Temp[0].x = clamp(Temp[0].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[1].x * Temp[0].x + Temp[0].w;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_10;\n" +" Temp[0].x = Temp[0].y * GlobalConstantBuffer_9 + Temp[0].x;\n" +" Output0.x = -Temp[0].x * 0.062500 + 1.000000;\n" +" Output0.x = clamp(Output0.x, 0.0, 1.0);\n" +" return;\n" +"}\n" +; +static const char* g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_2_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"struct PerPassConstantBuffer_0_Type {\n" +" vec4 f4Jitter;\n" +" vec2 f2Offset;\n" +" float fSliceIndex;\n" +" uint uSliceIndex;\n" +"};\n" +"uniform PerPassConstantBuffer {\n" +" PerPassConstantBuffer_0_Type PerPassConstantBuffer_0;\n" +"};\n" +"uniform sampler2DArray g_t0;\n" +"uniform sampler2DMS g_t1;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[8];\n" +"ivec4 Temp_int[8];\n" +"uvec4 Temp_uint[8];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].xy = vec4(floor(Input0.xyxx)).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx * vec4(4.000000, 4.000000, 0.000000, 0.000000) + PerPassConstantBuffer_0.f2Offset.xyxx.xyxx).xy;\n" +" Temp[0].zw = vec4(Temp[0].xxxy * GlobalConstantBuffer_1.xyxx.xxxy).zw;\n" +" Temp[1].xy = vec4(Temp[0].zwzz * vec4(0.250000, 0.250000, 0.000000, 0.000000)).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[2].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[0].z = GlobalConstantBuffer_5 / Temp[2].z;\n" +" Temp[0].w = GlobalConstantBuffer_24 / Temp[0].z;\n" +" Temp[0].w = vec4(max(Temp[0].w, 1.000000)).w;\n" +" Temp[0].z = Temp[0].w * Temp[0].z;\n" +" Temp[1].z = GlobalConstantBuffer_25 / Temp[0].z;\n" +" Temp[1].z = vec4(min(Temp[1].z, 1.000000)).z;\n" +" Temp[0].z = Temp[0].z * Temp[1].z;\n" +" Temp_uint[1].w = ((Temp[0].z)< (1.000000)) ? 0xFFFFFFFFu : 0u;\n" +" if((Temp_uint[1].w)!=0u){\n" +" Output0.x = vec4(1.000000).x;\n" +" return;\n" +" //ENDIF\n" +" }\n" +" Temp[3].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[1].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[2].xy = vec4(Temp[2].zzzz * Temp[3].xyxx).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx + GlobalConstantBuffer_21.xyxx.xyxx).xy;\n" +" Temp_int[3].xy = ivec4(Temp[0].xyxx).xy;\n" +" Temp[3].zw = vec4(vec4(0.000000, 0.000000, 0.000000, 0.000000)).zw;\n" +" Temp[3].xyz = texelFetch(g_t1, ivec2((Temp_int[3]).xy), 0).xyz;\n" +" Temp[3].xyz = vec4(Temp[3].xyzx * GlobalConstantBuffer_28 + GlobalConstantBuffer_29).xyz;\n" +" Temp[4].xyz = vec4(Temp[3].yyyy * GlobalConstantBuffer_27[1].xyzx).xyz;\n" +" Temp[3].xyw = vec4(Temp[3].xxxx * GlobalConstantBuffer_27[0].xyxz + Temp[4].xyxz).xyw;\n" +" Temp[3].xyz = vec4(Temp[3].zzzz * GlobalConstantBuffer_27[2].xyzx + Temp[3].xywx).xyz;\n" +" Temp[0].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[3].xyzx).xyz)).x;\n" +" Temp[0].x = vec4(inversesqrt(Temp[0].x)).x;\n" +" Temp[3].xyz = vec4(Temp[0].xxxx * Temp[3].xyzx).xyz;\n" +" Temp[0].x = Temp[0].w * Temp[0].w;\n" +" Temp[0].x = vec4(vec4(1.000000, 1.000000, 1.000000, 1.000000) / Temp[0].x).x;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_7;\n" +" Temp[0].y = Temp[1].z * Temp[1].z;\n" +" Temp[0].y = vec4(vec4(1.000000, 1.000000, 1.000000, 1.000000) / Temp[0].y).y;\n" +" Temp[0].x = Temp[0].y * Temp[0].x;\n" +" Temp[0].y = Temp[0].z * 0.050000;\n" +" Temp[0].y = PerPassConstantBuffer_0.f4Jitter.z * Temp[0].y + 1.000000;\n" +" Temp[4].xyz = vec4(PerPassConstantBuffer_0.f4Jitter.xyyx * vec4(1.000000, -1.000000, -0.707107, 0.000000)).xyz;\n" +" Temp[1].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[0].w = Temp[0].z * 0.050000 + Temp[0].y;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[0].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[2].w = Temp[0].z * 0.050000 + Temp[0].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[2].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[0].z = Temp[0].z * 0.050000 + Temp[2].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[5].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).x;\n" +" Temp[5].y = vec4(inversesqrt(Temp[5].w)).y;\n" +" Temp[5].x = Temp[5].x * Temp[5].y + -GlobalConstantBuffer_8;\n" +" Temp[5].x = clamp(Temp[5].x, 0.0, 1.0);\n" +" Temp[5].y = Temp[5].w * Temp[0].x + 1.000000;\n" +" Temp[5].y = clamp(Temp[5].y, 0.0, 1.0);\n" +" Temp[5].x = Temp[5].y * Temp[5].x;\n" +" Temp[3].w = Temp[4].w * Temp[3].w + Temp[5].x;\n" +" Temp[4].xy = vec4(Temp[4].xyxx * Temp[0].zzzz).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[5].x = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[5].x)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[4].y = Temp[5].x * Temp[0].x + 1.000000;\n" +" Temp[4].y = clamp(Temp[4].y, 0.0, 1.0);\n" +" Temp[3].w = Temp[4].x * Temp[4].y + Temp[3].w;\n" +" Temp[4].xy = vec4(PerPassConstantBuffer_0.f4Jitter.xyxx * vec4(0.707107, 0.707107, 0.000000, 0.000000)).xy;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].y;\n" +" Temp[4].w = Temp[4].x + Temp[4].y;\n" +" Temp[5].y = vec4(-Temp[4].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[4].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).z;\n" +" Temp[5].w = vec4(inversesqrt(Temp[4].w)).w;\n" +" Temp[5].z = Temp[5].z * Temp[5].w + -GlobalConstantBuffer_8;\n" +" Temp[5].z = clamp(Temp[5].z, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[0].x + 1.000000;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[5].z;\n" +" Temp[1].z = Temp[1].w * Temp[1].z + Temp[4].w;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[1].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[1].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[1].w * Temp[0].x + 1.000000;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[1].w + Temp[3].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[4].y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107 + Temp[4].x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[4].xy = vec4(Temp[0].yyyy * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].x * Temp[3].w + Temp[1].z;\n" +" Temp[4].xy = vec4(Temp[0].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[2].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = -PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[3].w;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(-0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.000000 + PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * 0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].z;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[4].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].y = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].z = vec4(inversesqrt(Temp[0].y)).z;\n" +" Temp[3].w = Temp[3].w * Temp[4].z + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[0].y = Temp[0].y * Temp[0].x + 1.000000;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].y = Temp[3].w * Temp[0].y + Temp[1].z;\n" +" Temp[4].zw = vec4(Temp[0].wwww * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[1].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[3].w = vec4(inversesqrt(Temp[0].w)).w;\n" +" Temp[1].z = Temp[1].z * Temp[3].w + -GlobalConstantBuffer_8;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[0].w * Temp[0].x + 1.000000;\n" +" Temp[0].w = clamp(Temp[0].w, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].z * Temp[0].w + Temp[1].w;\n" +" Temp[1].zw = vec4(Temp[2].wwww * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].w * Temp[1].z + Temp[0].w;\n" +" Temp[1].zw = vec4(Temp[0].zzzz * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[1].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[1].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[1].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].zzzz * Temp[1].xyxx).xy;\n" +" Temp[1].xyz = vec4(-Temp[2].xyzx + Temp[4].xyzx).xyz;\n" +" Temp[0].z = vec4(dot((Temp[1].xyzx).xyz, (Temp[1].xyzx).xyz)).z;\n" +" Temp[1].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[1].xyzx).xyz)).x;\n" +" Temp[1].y = vec4(inversesqrt(Temp[0].z)).y;\n" +" Temp[1].x = Temp[1].x * Temp[1].y + -GlobalConstantBuffer_8;\n" +" Temp[1].x = clamp(Temp[1].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[0].z * Temp[0].x + 1.000000;\n" +" Temp[0].x = clamp(Temp[0].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[1].x * Temp[0].x + Temp[0].w;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_10;\n" +" Temp[0].x = Temp[0].y * GlobalConstantBuffer_9 + Temp[0].x;\n" +" Output0.x = -Temp[0].x * 0.062500 + 1.000000;\n" +" Output0.x = clamp(Output0.x, 0.0, 1.0);\n" +" return;\n" +"}\n" +; +static const char* g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_0_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"struct PerPassConstantBuffer_0_Type {\n" +" vec4 f4Jitter;\n" +" vec2 f2Offset;\n" +" float fSliceIndex;\n" +" uint uSliceIndex;\n" +"};\n" +"uniform PerPassConstantBuffer {\n" +" PerPassConstantBuffer_0_Type PerPassConstantBuffer_0;\n" +"};\n" +"uniform sampler2DArray g_t0;\n" +"uniform sampler2D g_t1;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[8];\n" +"ivec4 Temp_int[8];\n" +"uvec4 Temp_uint[8];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].xy = vec4(floor(Input0.xyxx)).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx * vec4(4.000000, 4.000000, 0.000000, 0.000000) + PerPassConstantBuffer_0.f2Offset.xyxx.xyxx).xy;\n" +" Temp[0].zw = vec4(Temp[0].xxxy * GlobalConstantBuffer_1.xyxx.xxxy).zw;\n" +" Temp[1].xy = vec4(Temp[0].zwzz * vec4(0.250000, 0.250000, 0.000000, 0.000000)).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[2].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[0].z = GlobalConstantBuffer_5 / Temp[2].z;\n" +" Temp[0].w = GlobalConstantBuffer_24 / Temp[0].z;\n" +" Temp[0].w = vec4(max(Temp[0].w, 1.000000)).w;\n" +" Temp[0].z = Temp[0].w * Temp[0].z;\n" +" Temp[1].z = GlobalConstantBuffer_25 / Temp[0].z;\n" +" Temp[1].z = vec4(min(Temp[1].z, 1.000000)).z;\n" +" Temp[0].z = Temp[0].z * Temp[1].z;\n" +" Temp_uint[1].w = ((Temp[0].z)< (1.000000)) ? 0xFFFFFFFFu : 0u;\n" +" if((Temp_uint[1].w)!=0u){\n" +" Output0.x = vec4(1.000000).x;\n" +" return;\n" +" //ENDIF\n" +" }\n" +" Temp[3].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[1].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[2].xy = vec4(Temp[2].zzzz * Temp[3].xyxx).xy;\n" +" Temp_int[3].xy = ivec4(Temp[0].xyxx).xy;\n" +" Temp[3].zw = vec4(vec4(0.000000, 0.000000, 0.000000, 0.000000)).zw;\n" +" Temp[3].xyz = texelFetch(g_t1, ivec2((Temp_int[3]).xy), 0).xyz;\n" +" Temp[3].xyz = vec4(Temp[3].xyzx * vec4(2.000000, 2.000000, 2.000000, 0.000000) + vec4(-1.000000, -1.000000, -1.000000, 0.000000)).xyz;\n" +" Temp[0].x = Temp[0].w * Temp[0].w;\n" +" Temp[0].x = vec4(vec4(1.000000, 1.000000, 1.000000, 1.000000) / Temp[0].x).x;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_7;\n" +" Temp[0].y = Temp[1].z * Temp[1].z;\n" +" Temp[0].y = vec4(vec4(1.000000, 1.000000, 1.000000, 1.000000) / Temp[0].y).y;\n" +" Temp[0].x = Temp[0].y * Temp[0].x;\n" +" Temp[0].y = Temp[0].z * 0.050000;\n" +" Temp[0].y = PerPassConstantBuffer_0.f4Jitter.z * Temp[0].y + 1.000000;\n" +" Temp[4].xyz = vec4(PerPassConstantBuffer_0.f4Jitter.xyyx * vec4(1.000000, -1.000000, -0.707107, 0.000000)).xyz;\n" +" Temp[1].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[0].w = Temp[0].z * 0.050000 + Temp[0].y;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[0].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[2].w = Temp[0].z * 0.050000 + Temp[0].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[2].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[0].z = Temp[0].z * 0.050000 + Temp[2].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[5].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).x;\n" +" Temp[5].y = vec4(inversesqrt(Temp[5].w)).y;\n" +" Temp[5].x = Temp[5].x * Temp[5].y + -GlobalConstantBuffer_8;\n" +" Temp[5].x = clamp(Temp[5].x, 0.0, 1.0);\n" +" Temp[5].y = Temp[5].w * Temp[0].x + 1.000000;\n" +" Temp[5].y = clamp(Temp[5].y, 0.0, 1.0);\n" +" Temp[5].x = Temp[5].y * Temp[5].x;\n" +" Temp[3].w = Temp[4].w * Temp[3].w + Temp[5].x;\n" +" Temp[4].xy = vec4(Temp[4].xyxx * Temp[0].zzzz).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[5].x = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[5].x)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[4].y = Temp[5].x * Temp[0].x + 1.000000;\n" +" Temp[4].y = clamp(Temp[4].y, 0.0, 1.0);\n" +" Temp[3].w = Temp[4].x * Temp[4].y + Temp[3].w;\n" +" Temp[4].xy = vec4(PerPassConstantBuffer_0.f4Jitter.xyxx * vec4(0.707107, 0.707107, 0.000000, 0.000000)).xy;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].y;\n" +" Temp[4].w = Temp[4].x + Temp[4].y;\n" +" Temp[5].y = vec4(-Temp[4].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[4].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).z;\n" +" Temp[5].w = vec4(inversesqrt(Temp[4].w)).w;\n" +" Temp[5].z = Temp[5].z * Temp[5].w + -GlobalConstantBuffer_8;\n" +" Temp[5].z = clamp(Temp[5].z, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[0].x + 1.000000;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[5].z;\n" +" Temp[1].z = Temp[1].w * Temp[1].z + Temp[4].w;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[1].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[1].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[1].w * Temp[0].x + 1.000000;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[1].w + Temp[3].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[4].y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107 + Temp[4].x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[4].xy = vec4(Temp[0].yyyy * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].x * Temp[3].w + Temp[1].z;\n" +" Temp[4].xy = vec4(Temp[0].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[2].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = -PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[3].w;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(-0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.000000 + PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * 0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].z;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[4].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].y = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].z = vec4(inversesqrt(Temp[0].y)).z;\n" +" Temp[3].w = Temp[3].w * Temp[4].z + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[0].y = Temp[0].y * Temp[0].x + 1.000000;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].y = Temp[3].w * Temp[0].y + Temp[1].z;\n" +" Temp[4].zw = vec4(Temp[0].wwww * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[1].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[3].w = vec4(inversesqrt(Temp[0].w)).w;\n" +" Temp[1].z = Temp[1].z * Temp[3].w + -GlobalConstantBuffer_8;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[0].w * Temp[0].x + 1.000000;\n" +" Temp[0].w = clamp(Temp[0].w, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].z * Temp[0].w + Temp[1].w;\n" +" Temp[1].zw = vec4(Temp[2].wwww * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].w * Temp[1].z + Temp[0].w;\n" +" Temp[1].zw = vec4(Temp[0].zzzz * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[1].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[1].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[1].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].zzzz * Temp[1].xyxx).xy;\n" +" Temp[1].xyz = vec4(-Temp[2].xyzx + Temp[4].xyzx).xyz;\n" +" Temp[0].z = vec4(dot((Temp[1].xyzx).xyz, (Temp[1].xyzx).xyz)).z;\n" +" Temp[1].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[1].xyzx).xyz)).x;\n" +" Temp[1].y = vec4(inversesqrt(Temp[0].z)).y;\n" +" Temp[1].x = Temp[1].x * Temp[1].y + -GlobalConstantBuffer_8;\n" +" Temp[1].x = clamp(Temp[1].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[0].z * Temp[0].x + 1.000000;\n" +" Temp[0].x = clamp(Temp[0].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[1].x * Temp[0].x + Temp[0].w;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_10;\n" +" Temp[0].x = Temp[0].y * GlobalConstantBuffer_9 + Temp[0].x;\n" +" Temp[0].x = Temp[0].x * 0.031250;\n" +" Temp[0].y = Temp[2].z * GlobalConstantBuffer_22 + 1.000000;\n" +" Temp[0].y = Temp[0].y * GlobalConstantBuffer_23;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].x = vec4(dot((Temp[0].xxxx).xy, (Temp[0].yyyy).xy)).x;\n" +" Output0.x = -Temp[0].x + 1.000000;\n" +" Output0.x = clamp(Output0.x, 0.0, 1.0);\n" +" return;\n" +"}\n" +; +static const char* g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_1_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"struct PerPassConstantBuffer_0_Type {\n" +" vec4 f4Jitter;\n" +" vec2 f2Offset;\n" +" float fSliceIndex;\n" +" uint uSliceIndex;\n" +"};\n" +"uniform PerPassConstantBuffer {\n" +" PerPassConstantBuffer_0_Type PerPassConstantBuffer_0;\n" +"};\n" +"uniform sampler2DArray g_t0;\n" +"uniform sampler2D g_t1;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[8];\n" +"ivec4 Temp_int[8];\n" +"uvec4 Temp_uint[8];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].xy = vec4(floor(Input0.xyxx)).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx * vec4(4.000000, 4.000000, 0.000000, 0.000000) + PerPassConstantBuffer_0.f2Offset.xyxx.xyxx).xy;\n" +" Temp[0].zw = vec4(Temp[0].xxxy * GlobalConstantBuffer_1.xyxx.xxxy).zw;\n" +" Temp[1].xy = vec4(Temp[0].zwzz * vec4(0.250000, 0.250000, 0.000000, 0.000000)).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[2].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[0].z = GlobalConstantBuffer_5 / Temp[2].z;\n" +" Temp[0].w = GlobalConstantBuffer_24 / Temp[0].z;\n" +" Temp[0].w = vec4(max(Temp[0].w, 1.000000)).w;\n" +" Temp[0].z = Temp[0].w * Temp[0].z;\n" +" Temp[1].z = GlobalConstantBuffer_25 / Temp[0].z;\n" +" Temp[1].z = vec4(min(Temp[1].z, 1.000000)).z;\n" +" Temp[0].z = Temp[0].z * Temp[1].z;\n" +" Temp_uint[1].w = ((Temp[0].z)< (1.000000)) ? 0xFFFFFFFFu : 0u;\n" +" if((Temp_uint[1].w)!=0u){\n" +" Output0.x = vec4(1.000000).x;\n" +" return;\n" +" //ENDIF\n" +" }\n" +" Temp[3].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[1].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[2].xy = vec4(Temp[2].zzzz * Temp[3].xyxx).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx + GlobalConstantBuffer_21.xyxx.xyxx).xy;\n" +" Temp_int[3].xy = ivec4(Temp[0].xyxx).xy;\n" +" Temp[3].zw = vec4(vec4(0.000000, 0.000000, 0.000000, 0.000000)).zw;\n" +" Temp[3].xyz = texelFetch(g_t1, ivec2((Temp_int[3]).xy), 0).xyz;\n" +" Temp[3].xyz = vec4(Temp[3].xyzx * GlobalConstantBuffer_28 + GlobalConstantBuffer_29).xyz;\n" +" Temp[4].xyz = vec4(Temp[3].yyyy * GlobalConstantBuffer_27[1].xyzx).xyz;\n" +" Temp[3].xyw = vec4(Temp[3].xxxx * GlobalConstantBuffer_27[0].xyxz + Temp[4].xyxz).xyw;\n" +" Temp[3].xyz = vec4(Temp[3].zzzz * GlobalConstantBuffer_27[2].xyzx + Temp[3].xywx).xyz;\n" +" Temp[0].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[3].xyzx).xyz)).x;\n" +" Temp[0].x = vec4(inversesqrt(Temp[0].x)).x;\n" +" Temp[3].xyz = vec4(Temp[0].xxxx * Temp[3].xyzx).xyz;\n" +" Temp[0].x = Temp[0].w * Temp[0].w;\n" +" Temp[0].x = vec4(vec4(1.000000, 1.000000, 1.000000, 1.000000) / Temp[0].x).x;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_7;\n" +" Temp[0].y = Temp[1].z * Temp[1].z;\n" +" Temp[0].y = vec4(vec4(1.000000, 1.000000, 1.000000, 1.000000) / Temp[0].y).y;\n" +" Temp[0].x = Temp[0].y * Temp[0].x;\n" +" Temp[0].y = Temp[0].z * 0.050000;\n" +" Temp[0].y = PerPassConstantBuffer_0.f4Jitter.z * Temp[0].y + 1.000000;\n" +" Temp[4].xyz = vec4(PerPassConstantBuffer_0.f4Jitter.xyyx * vec4(1.000000, -1.000000, -0.707107, 0.000000)).xyz;\n" +" Temp[1].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[0].w = Temp[0].z * 0.050000 + Temp[0].y;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[0].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[2].w = Temp[0].z * 0.050000 + Temp[0].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[2].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[0].z = Temp[0].z * 0.050000 + Temp[2].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[5].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).x;\n" +" Temp[5].y = vec4(inversesqrt(Temp[5].w)).y;\n" +" Temp[5].x = Temp[5].x * Temp[5].y + -GlobalConstantBuffer_8;\n" +" Temp[5].x = clamp(Temp[5].x, 0.0, 1.0);\n" +" Temp[5].y = Temp[5].w * Temp[0].x + 1.000000;\n" +" Temp[5].y = clamp(Temp[5].y, 0.0, 1.0);\n" +" Temp[5].x = Temp[5].y * Temp[5].x;\n" +" Temp[3].w = Temp[4].w * Temp[3].w + Temp[5].x;\n" +" Temp[4].xy = vec4(Temp[4].xyxx * Temp[0].zzzz).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[5].x = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[5].x)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[4].y = Temp[5].x * Temp[0].x + 1.000000;\n" +" Temp[4].y = clamp(Temp[4].y, 0.0, 1.0);\n" +" Temp[3].w = Temp[4].x * Temp[4].y + Temp[3].w;\n" +" Temp[4].xy = vec4(PerPassConstantBuffer_0.f4Jitter.xyxx * vec4(0.707107, 0.707107, 0.000000, 0.000000)).xy;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].y;\n" +" Temp[4].w = Temp[4].x + Temp[4].y;\n" +" Temp[5].y = vec4(-Temp[4].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[4].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).z;\n" +" Temp[5].w = vec4(inversesqrt(Temp[4].w)).w;\n" +" Temp[5].z = Temp[5].z * Temp[5].w + -GlobalConstantBuffer_8;\n" +" Temp[5].z = clamp(Temp[5].z, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[0].x + 1.000000;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[5].z;\n" +" Temp[1].z = Temp[1].w * Temp[1].z + Temp[4].w;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[1].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[1].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[1].w * Temp[0].x + 1.000000;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[1].w + Temp[3].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[4].y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107 + Temp[4].x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[4].xy = vec4(Temp[0].yyyy * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].x * Temp[3].w + Temp[1].z;\n" +" Temp[4].xy = vec4(Temp[0].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[2].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = -PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[3].w;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(-0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.000000 + PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * 0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].z;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[4].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].y = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].z = vec4(inversesqrt(Temp[0].y)).z;\n" +" Temp[3].w = Temp[3].w * Temp[4].z + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[0].y = Temp[0].y * Temp[0].x + 1.000000;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].y = Temp[3].w * Temp[0].y + Temp[1].z;\n" +" Temp[4].zw = vec4(Temp[0].wwww * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[1].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[3].w = vec4(inversesqrt(Temp[0].w)).w;\n" +" Temp[1].z = Temp[1].z * Temp[3].w + -GlobalConstantBuffer_8;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[0].w * Temp[0].x + 1.000000;\n" +" Temp[0].w = clamp(Temp[0].w, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].z * Temp[0].w + Temp[1].w;\n" +" Temp[1].zw = vec4(Temp[2].wwww * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].w * Temp[1].z + Temp[0].w;\n" +" Temp[1].zw = vec4(Temp[0].zzzz * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[1].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[1].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[1].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].zzzz * Temp[1].xyxx).xy;\n" +" Temp[1].xyz = vec4(-Temp[2].xyzx + Temp[4].xyzx).xyz;\n" +" Temp[0].z = vec4(dot((Temp[1].xyzx).xyz, (Temp[1].xyzx).xyz)).z;\n" +" Temp[1].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[1].xyzx).xyz)).x;\n" +" Temp[1].y = vec4(inversesqrt(Temp[0].z)).y;\n" +" Temp[1].x = Temp[1].x * Temp[1].y + -GlobalConstantBuffer_8;\n" +" Temp[1].x = clamp(Temp[1].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[0].z * Temp[0].x + 1.000000;\n" +" Temp[0].x = clamp(Temp[0].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[1].x * Temp[0].x + Temp[0].w;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_10;\n" +" Temp[0].x = Temp[0].y * GlobalConstantBuffer_9 + Temp[0].x;\n" +" Temp[0].x = Temp[0].x * 0.031250;\n" +" Temp[0].y = Temp[2].z * GlobalConstantBuffer_22 + 1.000000;\n" +" Temp[0].y = Temp[0].y * GlobalConstantBuffer_23;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].x = vec4(dot((Temp[0].xxxx).xy, (Temp[0].yyyy).xy)).x;\n" +" Output0.x = -Temp[0].x + 1.000000;\n" +" Output0.x = clamp(Output0.x, 0.0, 1.0);\n" +" return;\n" +"}\n" +; +static const char* g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_2_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"struct PerPassConstantBuffer_0_Type {\n" +" vec4 f4Jitter;\n" +" vec2 f2Offset;\n" +" float fSliceIndex;\n" +" uint uSliceIndex;\n" +"};\n" +"uniform PerPassConstantBuffer {\n" +" PerPassConstantBuffer_0_Type PerPassConstantBuffer_0;\n" +"};\n" +"uniform sampler2DArray g_t0;\n" +"uniform sampler2DMS g_t1;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[8];\n" +"ivec4 Temp_int[8];\n" +"uvec4 Temp_uint[8];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].xy = vec4(floor(Input0.xyxx)).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx * vec4(4.000000, 4.000000, 0.000000, 0.000000) + PerPassConstantBuffer_0.f2Offset.xyxx.xyxx).xy;\n" +" Temp[0].zw = vec4(Temp[0].xxxy * GlobalConstantBuffer_1.xyxx.xxxy).zw;\n" +" Temp[1].xy = vec4(Temp[0].zwzz * vec4(0.250000, 0.250000, 0.000000, 0.000000)).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[2].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[0].z = GlobalConstantBuffer_5 / Temp[2].z;\n" +" Temp[0].w = GlobalConstantBuffer_24 / Temp[0].z;\n" +" Temp[0].w = vec4(max(Temp[0].w, 1.000000)).w;\n" +" Temp[0].z = Temp[0].w * Temp[0].z;\n" +" Temp[1].z = GlobalConstantBuffer_25 / Temp[0].z;\n" +" Temp[1].z = vec4(min(Temp[1].z, 1.000000)).z;\n" +" Temp[0].z = Temp[0].z * Temp[1].z;\n" +" Temp_uint[1].w = ((Temp[0].z)< (1.000000)) ? 0xFFFFFFFFu : 0u;\n" +" if((Temp_uint[1].w)!=0u){\n" +" Output0.x = vec4(1.000000).x;\n" +" return;\n" +" //ENDIF\n" +" }\n" +" Temp[3].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[1].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[2].xy = vec4(Temp[2].zzzz * Temp[3].xyxx).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx + GlobalConstantBuffer_21.xyxx.xyxx).xy;\n" +" Temp_int[3].xy = ivec4(Temp[0].xyxx).xy;\n" +" Temp[3].zw = vec4(vec4(0.000000, 0.000000, 0.000000, 0.000000)).zw;\n" +" Temp[3].xyz = texelFetch(g_t1, ivec2((Temp_int[3]).xy), 0).xyz;\n" +" Temp[3].xyz = vec4(Temp[3].xyzx * GlobalConstantBuffer_28 + GlobalConstantBuffer_29).xyz;\n" +" Temp[4].xyz = vec4(Temp[3].yyyy * GlobalConstantBuffer_27[1].xyzx).xyz;\n" +" Temp[3].xyw = vec4(Temp[3].xxxx * GlobalConstantBuffer_27[0].xyxz + Temp[4].xyxz).xyw;\n" +" Temp[3].xyz = vec4(Temp[3].zzzz * GlobalConstantBuffer_27[2].xyzx + Temp[3].xywx).xyz;\n" +" Temp[0].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[3].xyzx).xyz)).x;\n" +" Temp[0].x = vec4(inversesqrt(Temp[0].x)).x;\n" +" Temp[3].xyz = vec4(Temp[0].xxxx * Temp[3].xyzx).xyz;\n" +" Temp[0].x = Temp[0].w * Temp[0].w;\n" +" Temp[0].x = vec4(vec4(1.000000, 1.000000, 1.000000, 1.000000) / Temp[0].x).x;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_7;\n" +" Temp[0].y = Temp[1].z * Temp[1].z;\n" +" Temp[0].y = vec4(vec4(1.000000, 1.000000, 1.000000, 1.000000) / Temp[0].y).y;\n" +" Temp[0].x = Temp[0].y * Temp[0].x;\n" +" Temp[0].y = Temp[0].z * 0.050000;\n" +" Temp[0].y = PerPassConstantBuffer_0.f4Jitter.z * Temp[0].y + 1.000000;\n" +" Temp[4].xyz = vec4(PerPassConstantBuffer_0.f4Jitter.xyyx * vec4(1.000000, -1.000000, -0.707107, 0.000000)).xyz;\n" +" Temp[1].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[0].w = Temp[0].z * 0.050000 + Temp[0].y;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[0].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[2].w = Temp[0].z * 0.050000 + Temp[0].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[5].xy = vec4(Temp[4].xyxx * Temp[2].wwww).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[0].z = Temp[0].z * 0.050000 + Temp[2].w;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[5].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).x;\n" +" Temp[5].y = vec4(inversesqrt(Temp[5].w)).y;\n" +" Temp[5].x = Temp[5].x * Temp[5].y + -GlobalConstantBuffer_8;\n" +" Temp[5].x = clamp(Temp[5].x, 0.0, 1.0);\n" +" Temp[5].y = Temp[5].w * Temp[0].x + 1.000000;\n" +" Temp[5].y = clamp(Temp[5].y, 0.0, 1.0);\n" +" Temp[5].x = Temp[5].y * Temp[5].x;\n" +" Temp[3].w = Temp[4].w * Temp[3].w + Temp[5].x;\n" +" Temp[4].xy = vec4(Temp[4].xyxx * Temp[0].zzzz).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[5].x = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[5].x)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[4].y = Temp[5].x * Temp[0].x + 1.000000;\n" +" Temp[4].y = clamp(Temp[4].y, 0.0, 1.0);\n" +" Temp[3].w = Temp[4].x * Temp[4].y + Temp[3].w;\n" +" Temp[4].xy = vec4(PerPassConstantBuffer_0.f4Jitter.xyxx * vec4(0.707107, 0.707107, 0.000000, 0.000000)).xy;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].y;\n" +" Temp[4].w = Temp[4].x + Temp[4].y;\n" +" Temp[5].y = vec4(-Temp[4].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[4].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).z;\n" +" Temp[5].w = vec4(inversesqrt(Temp[4].w)).w;\n" +" Temp[5].z = Temp[5].z * Temp[5].w + -GlobalConstantBuffer_8;\n" +" Temp[5].z = clamp(Temp[5].z, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[0].x + 1.000000;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[4].w = Temp[4].w * Temp[5].z;\n" +" Temp[1].z = Temp[1].w * Temp[1].z + Temp[4].w;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[1].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[1].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[1].w * Temp[0].x + 1.000000;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[1].w + Temp[3].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[5].zw = vec4(Temp[0].yyyy * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].zw = vec4(Temp[0].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].zw = vec4(Temp[2].wwww * Temp[5].xxxy).zw;\n" +" Temp[5].zw = vec4(roundEven(Temp[5].zzzw)).zw;\n" +" Temp[6].xy = vec4(Temp[5].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[7].z = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzxw).z;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[7].xy = vec4(Temp[7].zzzz * Temp[5].zwzz).xy;\n" +" Temp[6].xyz = vec4(-Temp[2].xyzx + Temp[7].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[6].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[6].xyzx).xyz)).w;\n" +" Temp[5].z = vec4(inversesqrt(Temp[3].w)).z;\n" +" Temp[4].w = Temp[4].w * Temp[5].z + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[4].y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107 + Temp[4].x;\n" +" Temp[5].y = vec4(-Temp[3].w).y;\n" +" Temp[4].xy = vec4(Temp[0].yyyy * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].x * Temp[3].w + Temp[1].z;\n" +" Temp[4].xy = vec4(Temp[0].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[2].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[6].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[6].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[6].xyz, 0.000000).yzwx).w;\n" +" Temp[5].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[6].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].zwzz).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[5].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = -PerPassConstantBuffer_0.f4Jitter.y * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.x * -0.000000 + -PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * -0.707107;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * -0.707107 + -Temp[3].w;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(-0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.000000 + PerPassConstantBuffer_0.f4Jitter.y;\n" +" Temp[3].w = PerPassConstantBuffer_0.f4Jitter.y * 0.000000 + -PerPassConstantBuffer_0.f4Jitter.x;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[5].xy = vec4(Temp[0].yyyy * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[4].w * Temp[3].w + Temp[1].z;\n" +" Temp[5].xy = vec4(Temp[0].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[5].xy = vec4(Temp[2].wwww * Temp[4].xyxx).xy;\n" +" Temp[5].xy = vec4(roundEven(Temp[5].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[5].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[5].xyxx).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[3].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[5].x = vec4(inversesqrt(Temp[3].w)).x;\n" +" Temp[4].w = Temp[4].w * Temp[5].x + -GlobalConstantBuffer_8;\n" +" Temp[4].w = clamp(Temp[4].w, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].w * Temp[3].w + Temp[1].w;\n" +" Temp[4].xy = vec4(Temp[0].zzzz * Temp[4].xyxx).xy;\n" +" Temp[4].xy = vec4(roundEven(Temp[4].xyxx)).xy;\n" +" Temp[5].xy = vec4(Temp[4].xyxx * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].w = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzwx).w;\n" +" Temp[5].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[5].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].wwww * Temp[5].xyxx).xy;\n" +" Temp[4].xyw = vec4(-Temp[2].xyxz + Temp[4].xyxw).xyw;\n" +" Temp[3].w = vec4(dot((Temp[4].xywx).xyz, (Temp[4].xywx).xyz)).w;\n" +" Temp[4].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[4].xywx).xyz)).x;\n" +" Temp[4].y = vec4(inversesqrt(Temp[3].w)).y;\n" +" Temp[4].x = Temp[4].x * Temp[4].y + -GlobalConstantBuffer_8;\n" +" Temp[4].x = clamp(Temp[4].x, 0.0, 1.0);\n" +" Temp[3].w = Temp[3].w * Temp[0].x + 1.000000;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[1].w = Temp[4].x * Temp[3].w + Temp[1].w;\n" +" Temp[4].x = PerPassConstantBuffer_0.f4Jitter.x * 0.707107 + -Temp[4].z;\n" +" Temp[3].w = vec4(dot((PerPassConstantBuffer_0.f4Jitter.yxyy).xy, (vec4(0.707107, -0.707107, 0.000000, 0.000000)).xy)).w;\n" +" Temp[4].y = vec4(-Temp[3].w).y;\n" +" Temp[4].zw = vec4(Temp[0].yyyy * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].y = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).y;\n" +" Temp[3].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[4].z = vec4(inversesqrt(Temp[0].y)).z;\n" +" Temp[3].w = Temp[3].w * Temp[4].z + -GlobalConstantBuffer_8;\n" +" Temp[3].w = clamp(Temp[3].w, 0.0, 1.0);\n" +" Temp[0].y = Temp[0].y * Temp[0].x + 1.000000;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].y = Temp[3].w * Temp[0].y + Temp[1].z;\n" +" Temp[4].zw = vec4(Temp[0].wwww * Temp[4].xxxy).zw;\n" +" Temp[4].zw = vec4(roundEven(Temp[4].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[4].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[4].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[4].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[0].w = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[1].z = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[3].w = vec4(inversesqrt(Temp[0].w)).w;\n" +" Temp[1].z = Temp[1].z * Temp[3].w + -GlobalConstantBuffer_8;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[0].w * Temp[0].x + 1.000000;\n" +" Temp[0].w = clamp(Temp[0].w, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].z * Temp[0].w + Temp[1].w;\n" +" Temp[1].zw = vec4(Temp[2].wwww * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[5].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[5].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[6].z = (textureLod(g_t0, Temp[5].xyz, 0.000000).yzxw).z;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[5].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[6].xy = vec4(Temp[6].zzzz * Temp[1].zwzz).xy;\n" +" Temp[5].xyz = vec4(-Temp[2].xyzx + Temp[6].xyzx).xyz;\n" +" Temp[1].z = vec4(dot((Temp[5].xyzx).xyz, (Temp[5].xyzx).xyz)).z;\n" +" Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[5].xyzx).xyz)).w;\n" +" Temp[2].w = vec4(inversesqrt(Temp[1].z)).w;\n" +" Temp[1].w = Temp[1].w * Temp[2].w + -GlobalConstantBuffer_8;\n" +" Temp[1].w = clamp(Temp[1].w, 0.0, 1.0);\n" +" Temp[1].z = Temp[1].z * Temp[0].x + 1.000000;\n" +" Temp[1].z = clamp(Temp[1].z, 0.0, 1.0);\n" +" Temp[0].w = Temp[1].w * Temp[1].z + Temp[0].w;\n" +" Temp[1].zw = vec4(Temp[0].zzzz * Temp[4].xxxy).zw;\n" +" Temp[1].zw = vec4(roundEven(Temp[1].zzzw)).zw;\n" +" Temp[1].xy = vec4(Temp[1].zwzz * GlobalConstantBuffer_1.xyxx.xyxx + Temp[1].xyxx).xy;\n" +" Temp[1].z = vec4(PerPassConstantBuffer_0.fSliceIndex).z;\n" +" Temp[4].z = (textureLod(g_t0, Temp[1].xyz, 0.000000).yzxw).z;\n" +" Temp[1].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[1].xyxx + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[4].xy = vec4(Temp[4].zzzz * Temp[1].xyxx).xy;\n" +" Temp[1].xyz = vec4(-Temp[2].xyzx + Temp[4].xyzx).xyz;\n" +" Temp[0].z = vec4(dot((Temp[1].xyzx).xyz, (Temp[1].xyzx).xyz)).z;\n" +" Temp[1].x = vec4(dot((Temp[3].xyzx).xyz, (Temp[1].xyzx).xyz)).x;\n" +" Temp[1].y = vec4(inversesqrt(Temp[0].z)).y;\n" +" Temp[1].x = Temp[1].x * Temp[1].y + -GlobalConstantBuffer_8;\n" +" Temp[1].x = clamp(Temp[1].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[0].z * Temp[0].x + 1.000000;\n" +" Temp[0].x = clamp(Temp[0].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[1].x * Temp[0].x + Temp[0].w;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_10;\n" +" Temp[0].x = Temp[0].y * GlobalConstantBuffer_9 + Temp[0].x;\n" +" Temp[0].x = Temp[0].x * 0.031250;\n" +" Temp[0].y = Temp[2].z * GlobalConstantBuffer_22 + 1.000000;\n" +" Temp[0].y = Temp[0].y * GlobalConstantBuffer_23;\n" +" Temp[0].y = clamp(Temp[0].y, 0.0, 1.0);\n" +" Temp[0].x = vec4(dot((Temp[0].xxxx).xy, (Temp[0].yyyy).xy)).x;\n" +" Output0.x = -Temp[0].x + 1.000000;\n" +" Output0.x = clamp(Output0.x, 0.0, 1.0);\n" +" return;\n" +"}\n" +; + +namespace Generated +{ + void CoarseAO_PS::Create(DevicePointer Device) + { + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_0][ShaderPermutations::ENABLE_BACKGROUND_AO_0][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_0][ShaderPermutations::FETCH_GBUFFER_NORMAL_0].Create(Device, g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_0_GL, sizeof(g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_0_GL)); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_0][ShaderPermutations::ENABLE_BACKGROUND_AO_0][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_0][ShaderPermutations::FETCH_GBUFFER_NORMAL_1].Create(Device, g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_1_GL, sizeof(g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_1_GL)); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_0][ShaderPermutations::ENABLE_BACKGROUND_AO_0][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_0][ShaderPermutations::FETCH_GBUFFER_NORMAL_2].Create(Device, g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_2_GL, sizeof(g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_2_GL)); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_0][ShaderPermutations::ENABLE_BACKGROUND_AO_0][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_1][ShaderPermutations::FETCH_GBUFFER_NORMAL_0].Create(Device, g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_0_GL, sizeof(g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_0_GL)); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_0][ShaderPermutations::ENABLE_BACKGROUND_AO_0][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_1][ShaderPermutations::FETCH_GBUFFER_NORMAL_1].Create(Device, g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_1_GL, sizeof(g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_1_GL)); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_0][ShaderPermutations::ENABLE_BACKGROUND_AO_0][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_1][ShaderPermutations::FETCH_GBUFFER_NORMAL_2].Create(Device, g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_2_GL, sizeof(g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_2_GL)); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_0][ShaderPermutations::ENABLE_BACKGROUND_AO_1][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_0][ShaderPermutations::FETCH_GBUFFER_NORMAL_0].Create(Device, g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_0_GL, sizeof(g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_0_GL)); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_0][ShaderPermutations::ENABLE_BACKGROUND_AO_1][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_0][ShaderPermutations::FETCH_GBUFFER_NORMAL_1].Create(Device, g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_1_GL, sizeof(g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_1_GL)); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_0][ShaderPermutations::ENABLE_BACKGROUND_AO_1][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_0][ShaderPermutations::FETCH_GBUFFER_NORMAL_2].Create(Device, g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_2_GL, sizeof(g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_2_GL)); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_0][ShaderPermutations::ENABLE_BACKGROUND_AO_1][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_1][ShaderPermutations::FETCH_GBUFFER_NORMAL_0].Create(Device, g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_0_GL, sizeof(g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_0_GL)); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_0][ShaderPermutations::ENABLE_BACKGROUND_AO_1][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_1][ShaderPermutations::FETCH_GBUFFER_NORMAL_1].Create(Device, g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_1_GL, sizeof(g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_1_GL)); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_0][ShaderPermutations::ENABLE_BACKGROUND_AO_1][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_1][ShaderPermutations::FETCH_GBUFFER_NORMAL_2].Create(Device, g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_2_GL, sizeof(g_CoarseAO_PS_ENABLE_FOREGROUND_AO_0_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_2_GL)); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_1][ShaderPermutations::ENABLE_BACKGROUND_AO_0][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_0][ShaderPermutations::FETCH_GBUFFER_NORMAL_0].Create(Device, g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_0_GL, sizeof(g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_0_GL)); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_1][ShaderPermutations::ENABLE_BACKGROUND_AO_0][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_0][ShaderPermutations::FETCH_GBUFFER_NORMAL_1].Create(Device, g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_1_GL, sizeof(g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_1_GL)); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_1][ShaderPermutations::ENABLE_BACKGROUND_AO_0][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_0][ShaderPermutations::FETCH_GBUFFER_NORMAL_2].Create(Device, g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_2_GL, sizeof(g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_2_GL)); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_1][ShaderPermutations::ENABLE_BACKGROUND_AO_0][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_1][ShaderPermutations::FETCH_GBUFFER_NORMAL_0].Create(Device, g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_0_GL, sizeof(g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_0_GL)); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_1][ShaderPermutations::ENABLE_BACKGROUND_AO_0][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_1][ShaderPermutations::FETCH_GBUFFER_NORMAL_1].Create(Device, g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_1_GL, sizeof(g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_1_GL)); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_1][ShaderPermutations::ENABLE_BACKGROUND_AO_0][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_1][ShaderPermutations::FETCH_GBUFFER_NORMAL_2].Create(Device, g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_2_GL, sizeof(g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_0_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_2_GL)); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_1][ShaderPermutations::ENABLE_BACKGROUND_AO_1][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_0][ShaderPermutations::FETCH_GBUFFER_NORMAL_0].Create(Device, g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_0_GL, sizeof(g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_0_GL)); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_1][ShaderPermutations::ENABLE_BACKGROUND_AO_1][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_0][ShaderPermutations::FETCH_GBUFFER_NORMAL_1].Create(Device, g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_1_GL, sizeof(g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_1_GL)); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_1][ShaderPermutations::ENABLE_BACKGROUND_AO_1][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_0][ShaderPermutations::FETCH_GBUFFER_NORMAL_2].Create(Device, g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_2_GL, sizeof(g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_0_FETCH_GBUFFER_NORMAL_2_GL)); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_1][ShaderPermutations::ENABLE_BACKGROUND_AO_1][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_1][ShaderPermutations::FETCH_GBUFFER_NORMAL_0].Create(Device, g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_0_GL, sizeof(g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_0_GL)); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_1][ShaderPermutations::ENABLE_BACKGROUND_AO_1][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_1][ShaderPermutations::FETCH_GBUFFER_NORMAL_1].Create(Device, g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_1_GL, sizeof(g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_1_GL)); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_1][ShaderPermutations::ENABLE_BACKGROUND_AO_1][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_1][ShaderPermutations::FETCH_GBUFFER_NORMAL_2].Create(Device, g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_2_GL, sizeof(g_CoarseAO_PS_ENABLE_FOREGROUND_AO_1_ENABLE_BACKGROUND_AO_1_ENABLE_DEPTH_THRESHOLD_1_FETCH_GBUFFER_NORMAL_2_GL)); + } + + void CoarseAO_PS::Release(DevicePointer Device) + { + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_0][ShaderPermutations::ENABLE_BACKGROUND_AO_0][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_0][ShaderPermutations::FETCH_GBUFFER_NORMAL_0].Release(Device); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_0][ShaderPermutations::ENABLE_BACKGROUND_AO_0][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_0][ShaderPermutations::FETCH_GBUFFER_NORMAL_1].Release(Device); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_0][ShaderPermutations::ENABLE_BACKGROUND_AO_0][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_0][ShaderPermutations::FETCH_GBUFFER_NORMAL_2].Release(Device); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_0][ShaderPermutations::ENABLE_BACKGROUND_AO_0][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_1][ShaderPermutations::FETCH_GBUFFER_NORMAL_0].Release(Device); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_0][ShaderPermutations::ENABLE_BACKGROUND_AO_0][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_1][ShaderPermutations::FETCH_GBUFFER_NORMAL_1].Release(Device); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_0][ShaderPermutations::ENABLE_BACKGROUND_AO_0][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_1][ShaderPermutations::FETCH_GBUFFER_NORMAL_2].Release(Device); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_0][ShaderPermutations::ENABLE_BACKGROUND_AO_1][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_0][ShaderPermutations::FETCH_GBUFFER_NORMAL_0].Release(Device); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_0][ShaderPermutations::ENABLE_BACKGROUND_AO_1][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_0][ShaderPermutations::FETCH_GBUFFER_NORMAL_1].Release(Device); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_0][ShaderPermutations::ENABLE_BACKGROUND_AO_1][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_0][ShaderPermutations::FETCH_GBUFFER_NORMAL_2].Release(Device); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_0][ShaderPermutations::ENABLE_BACKGROUND_AO_1][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_1][ShaderPermutations::FETCH_GBUFFER_NORMAL_0].Release(Device); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_0][ShaderPermutations::ENABLE_BACKGROUND_AO_1][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_1][ShaderPermutations::FETCH_GBUFFER_NORMAL_1].Release(Device); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_0][ShaderPermutations::ENABLE_BACKGROUND_AO_1][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_1][ShaderPermutations::FETCH_GBUFFER_NORMAL_2].Release(Device); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_1][ShaderPermutations::ENABLE_BACKGROUND_AO_0][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_0][ShaderPermutations::FETCH_GBUFFER_NORMAL_0].Release(Device); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_1][ShaderPermutations::ENABLE_BACKGROUND_AO_0][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_0][ShaderPermutations::FETCH_GBUFFER_NORMAL_1].Release(Device); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_1][ShaderPermutations::ENABLE_BACKGROUND_AO_0][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_0][ShaderPermutations::FETCH_GBUFFER_NORMAL_2].Release(Device); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_1][ShaderPermutations::ENABLE_BACKGROUND_AO_0][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_1][ShaderPermutations::FETCH_GBUFFER_NORMAL_0].Release(Device); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_1][ShaderPermutations::ENABLE_BACKGROUND_AO_0][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_1][ShaderPermutations::FETCH_GBUFFER_NORMAL_1].Release(Device); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_1][ShaderPermutations::ENABLE_BACKGROUND_AO_0][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_1][ShaderPermutations::FETCH_GBUFFER_NORMAL_2].Release(Device); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_1][ShaderPermutations::ENABLE_BACKGROUND_AO_1][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_0][ShaderPermutations::FETCH_GBUFFER_NORMAL_0].Release(Device); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_1][ShaderPermutations::ENABLE_BACKGROUND_AO_1][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_0][ShaderPermutations::FETCH_GBUFFER_NORMAL_1].Release(Device); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_1][ShaderPermutations::ENABLE_BACKGROUND_AO_1][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_0][ShaderPermutations::FETCH_GBUFFER_NORMAL_2].Release(Device); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_1][ShaderPermutations::ENABLE_BACKGROUND_AO_1][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_1][ShaderPermutations::FETCH_GBUFFER_NORMAL_0].Release(Device); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_1][ShaderPermutations::ENABLE_BACKGROUND_AO_1][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_1][ShaderPermutations::FETCH_GBUFFER_NORMAL_1].Release(Device); + m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_1][ShaderPermutations::ENABLE_BACKGROUND_AO_1][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_1][ShaderPermutations::FETCH_GBUFFER_NORMAL_2].Release(Device); + } +} diff --git a/src/shaders/out/GL/CoarseAO_PS.h b/src/shaders/out/GL/CoarseAO_PS.h new file mode 100644 index 0000000..35da283 --- /dev/null +++ b/src/shaders/out/GL/CoarseAO_PS.h @@ -0,0 +1,72 @@ +//! This file was auto-generated. Do not modify manually. +#pragma once + +namespace Generated +{ + +namespace ShaderPermutations +{ + +#ifndef ENABLE_FOREGROUND_AO_DEFINED +#define ENABLE_FOREGROUND_AO_DEFINED + enum ENABLE_FOREGROUND_AO + { + ENABLE_FOREGROUND_AO_0, + ENABLE_FOREGROUND_AO_1, + ENABLE_FOREGROUND_AO_COUNT, + }; +#endif + +#ifndef ENABLE_BACKGROUND_AO_DEFINED +#define ENABLE_BACKGROUND_AO_DEFINED + enum ENABLE_BACKGROUND_AO + { + ENABLE_BACKGROUND_AO_0, + ENABLE_BACKGROUND_AO_1, + ENABLE_BACKGROUND_AO_COUNT, + }; +#endif + +#ifndef ENABLE_DEPTH_THRESHOLD_DEFINED +#define ENABLE_DEPTH_THRESHOLD_DEFINED + enum ENABLE_DEPTH_THRESHOLD + { + ENABLE_DEPTH_THRESHOLD_0, + ENABLE_DEPTH_THRESHOLD_1, + ENABLE_DEPTH_THRESHOLD_COUNT, + }; +#endif + +#ifndef FETCH_GBUFFER_NORMAL_DEFINED +#define FETCH_GBUFFER_NORMAL_DEFINED + enum FETCH_GBUFFER_NORMAL + { + FETCH_GBUFFER_NORMAL_0, + FETCH_GBUFFER_NORMAL_1, + FETCH_GBUFFER_NORMAL_2, + FETCH_GBUFFER_NORMAL_COUNT, + }; +#endif + +}; + +struct CoarseAO_PS +{ + void Create(DevicePointer Device); + void Release(DevicePointer Device); + GLSLPrograms::CoarseAO_PS& Get(ShaderPermutations::ENABLE_FOREGROUND_AO A, ShaderPermutations::ENABLE_BACKGROUND_AO B, ShaderPermutations::ENABLE_DEPTH_THRESHOLD C, ShaderPermutations::FETCH_GBUFFER_NORMAL D) + { + return m_Shader[A][B][C][D]; + } + +private: + GLSLPrograms::CoarseAO_PS m_Shader[ShaderPermutations::ENABLE_FOREGROUND_AO_COUNT][ShaderPermutations::ENABLE_BACKGROUND_AO_COUNT][ShaderPermutations::ENABLE_DEPTH_THRESHOLD_COUNT][ShaderPermutations::FETCH_GBUFFER_NORMAL_COUNT]; +#if _WIN32 + static_assert(ShaderPermutations::ENABLE_FOREGROUND_AO_COUNT == 2, ""); + static_assert(ShaderPermutations::ENABLE_BACKGROUND_AO_COUNT == 2, ""); + static_assert(ShaderPermutations::ENABLE_DEPTH_THRESHOLD_COUNT == 2, ""); + static_assert(ShaderPermutations::FETCH_GBUFFER_NORMAL_COUNT == 3, ""); +#endif +}; + +}; diff --git a/src/shaders/out/GL/CopyDepth_PS.cpp b/src/shaders/out/GL/CopyDepth_PS.cpp new file mode 100644 index 0000000..362b6f4 --- /dev/null +++ b/src/shaders/out/GL/CopyDepth_PS.cpp @@ -0,0 +1,139 @@ +static const char* g_CopyDepth_PS_RESOLVE_DEPTH_0_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"uniform sampler2D g_t0;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[1];\n" +"ivec4 Temp_int[1];\n" +"uvec4 Temp_uint[1];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].xy = vec4(Input0.xyxx + GlobalConstantBuffer_21.xyxx.xyxx).xy;\n" +" Temp_int[0].xy = ivec4(Temp[0].xyxx).xy;\n" +" Temp[0].zw = vec4(vec4(0.000000, 0.000000, 0.000000, 0.000000)).zw;\n" +" Temp[0].x = texelFetch(g_t0, ivec2((Temp_int[0]).xy), 0).x;\n" +" Output0.x = vec4(Temp[0].x).x;\n" +" return;\n" +"}\n" +; +static const char* g_CopyDepth_PS_RESOLVE_DEPTH_1_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"uniform sampler2DMS g_t0;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[1];\n" +"ivec4 Temp_int[1];\n" +"uvec4 Temp_uint[1];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].xy = vec4(Input0.xyxx + GlobalConstantBuffer_21.xyxx.xyxx).xy;\n" +" Temp_int[0].xy = ivec4(Temp[0].xyxx).xy;\n" +" Temp[0].zw = vec4(vec4(0.000000, 0.000000, 0.000000, 0.000000)).zw;\n" +" Temp[0].x = texelFetch(g_t0, ivec2((Temp_int[0]).xy), 0).x;\n" +" Output0.x = vec4(Temp[0].x).x;\n" +" return;\n" +"}\n" +; + +namespace Generated +{ + void CopyDepth_PS::Create(DevicePointer Device) + { + m_Shader[ShaderPermutations::RESOLVE_DEPTH_0].Create(Device, g_CopyDepth_PS_RESOLVE_DEPTH_0_GL, sizeof(g_CopyDepth_PS_RESOLVE_DEPTH_0_GL)); + m_Shader[ShaderPermutations::RESOLVE_DEPTH_1].Create(Device, g_CopyDepth_PS_RESOLVE_DEPTH_1_GL, sizeof(g_CopyDepth_PS_RESOLVE_DEPTH_1_GL)); + } + + void CopyDepth_PS::Release(DevicePointer Device) + { + m_Shader[ShaderPermutations::RESOLVE_DEPTH_0].Release(Device); + m_Shader[ShaderPermutations::RESOLVE_DEPTH_1].Release(Device); + } +} diff --git a/src/shaders/out/GL/CopyDepth_PS.h b/src/shaders/out/GL/CopyDepth_PS.h new file mode 100644 index 0000000..533b3a6 --- /dev/null +++ b/src/shaders/out/GL/CopyDepth_PS.h @@ -0,0 +1,38 @@ +//! This file was auto-generated. Do not modify manually. +#pragma once + +namespace Generated +{ + +namespace ShaderPermutations +{ + +#ifndef RESOLVE_DEPTH_DEFINED +#define RESOLVE_DEPTH_DEFINED + enum RESOLVE_DEPTH + { + RESOLVE_DEPTH_0, + RESOLVE_DEPTH_1, + RESOLVE_DEPTH_COUNT, + }; +#endif + +}; + +struct CopyDepth_PS +{ + void Create(DevicePointer Device); + void Release(DevicePointer Device); + GLSLPrograms::CopyDepth_PS& Get(ShaderPermutations::RESOLVE_DEPTH A) + { + return m_Shader[A]; + } + +private: + GLSLPrograms::CopyDepth_PS m_Shader[ShaderPermutations::RESOLVE_DEPTH_COUNT]; +#if _WIN32 + static_assert(ShaderPermutations::RESOLVE_DEPTH_COUNT == 2, ""); +#endif +}; + +}; diff --git a/src/shaders/out/GL/DebugNormals_PS.cpp b/src/shaders/out/GL/DebugNormals_PS.cpp new file mode 100644 index 0000000..f53ce0e --- /dev/null +++ b/src/shaders/out/GL/DebugNormals_PS.cpp @@ -0,0 +1,313 @@ +static const char* g_DebugNormals_PS_FETCH_GBUFFER_NORMAL_0_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"uniform sampler2D g_t0;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[5];\n" +"ivec4 Temp_int[5];\n" +"uvec4 Temp_uint[5];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].y = vec4(GlobalConstantBuffer_2.xxxy.z).y;\n" +" Temp[0].z = vec4(0.000000).z;\n" +" Temp[0].xw = vec4(Input0.yyyx + -GlobalConstantBuffer_21.xyxx.yyyx).xw;\n" +" Temp[0].yz = vec4(Temp[0].wwxw * GlobalConstantBuffer_2.xxxy.zzwz + Temp[0].yyzy).yz;\n" +" Temp[1].xy = vec4(GlobalConstantBuffer_3.xyxx.xyxx * Temp[0].yzyy + GlobalConstantBuffer_4.xxxy.zwzz).xy;\n" +" Temp[2].x = (textureLod(g_t0, Temp[0].yz, 0.000000)).x;\n" +" Temp[2].yz = vec4(Temp[1].xxyx * Temp[2].xxxx).yz;\n" +" Temp[0].yz = vec4(Temp[0].xxwx * GlobalConstantBuffer_2.xxxy.wwzw).yz;\n" +" Temp[1].xy = vec4(GlobalConstantBuffer_3.xyxx.yxyy * Temp[0].yzyy + GlobalConstantBuffer_4.xxxy.wzww).xy;\n" +" Temp[3].y = (textureLod(g_t0, Temp[0].zy, 0.000000).yxzw).y;\n" +" Temp[3].xz = vec4(Temp[1].xxyx * Temp[3].yyyy).xz;\n" +" Temp[1].xyz = vec4(Temp[2].xyzx + -Temp[3].yzxy).xyz;\n" +" Temp[0].y = vec4(dot((Temp[1].xyzx).xyz, (Temp[1].xyzx).xyz)).y;\n" +" Temp[2].y = vec4(-GlobalConstantBuffer_2.xxxy.z).y;\n" +" Temp[2].z = vec4(0.000000).z;\n" +" Temp[2].xy = vec4(Temp[0].wxww * GlobalConstantBuffer_2.xxxy.zwzz + Temp[2].yzyy).xy;\n" +" Temp[2].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[2].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[4].x = (textureLod(g_t0, Temp[2].xy, 0.000000)).x;\n" +" Temp[4].yz = vec4(Temp[2].zzwz * Temp[4].xxxx).yz;\n" +" Temp[2].xyz = vec4(Temp[3].yzxy + -Temp[4].xyzx).xyz;\n" +" Temp[0].z = vec4(dot((Temp[2].xyzx).xyz, (Temp[2].xyzx).xyz)).z;\n" +" Temp_uint[0].y = ((Temp[0].y)< (Temp[0].z)) ? 0xFFFFFFFFu : 0u;\n" +" if(vec4(Temp_uint[0].yyyy).x != 0.0) {\n" +" Temp[1].xyz = vec4(Temp[1].xyzx).xyz;\n" +" } else {\n" +" Temp[1].xyz = vec4(Temp[2].xyzx).xyz;\n" +" }\n" +" Temp[2].z = vec4(0.000000).z;\n" +" Temp[2].x = vec4(GlobalConstantBuffer_2.xxxy.w).x;\n" +" Temp[0].yz = vec4(Temp[0].xxwx * GlobalConstantBuffer_2.xxxy.wwzw + Temp[2].xxzx).yz;\n" +" Temp[2].xy = vec4(GlobalConstantBuffer_3.xyxx.yxyy * Temp[0].yzyy + GlobalConstantBuffer_4.xxxy.wzww).xy;\n" +" Temp[4].y = (textureLod(g_t0, Temp[0].zy, 0.000000).yxzw).y;\n" +" Temp[4].xz = vec4(Temp[2].xxyx * Temp[4].yyyy).xz;\n" +" Temp[2].xyz = vec4(-Temp[3].xyzx + Temp[4].xyzx).xyz;\n" +" Temp[0].y = vec4(dot((Temp[2].xyzx).xyz, (Temp[2].xyzx).xyz)).y;\n" +" Temp[4].z = vec4(0.000000).z;\n" +" Temp[4].x = vec4(-GlobalConstantBuffer_2.xxxy.w).x;\n" +" Temp[0].xz = vec4(Temp[0].xxwx * GlobalConstantBuffer_2.xxxy.wwzw + Temp[4].xxzx).xz;\n" +" Temp[4].xy = vec4(GlobalConstantBuffer_3.xyxx.yxyy * Temp[0].xzxx + GlobalConstantBuffer_4.xxxy.wzww).xy;\n" +" Temp[0].z = (textureLod(g_t0, Temp[0].zx, 0.000000).ywxz).z;\n" +" Temp[0].xw = vec4(Temp[0].zzzz * Temp[4].xxxy).xw;\n" +" Temp[0].xzw = vec4(-Temp[0].xxzw + Temp[3].xxyz).xzw;\n" +" Temp[1].w = vec4(dot((Temp[0].xzwx).xyz, (Temp[0].xzwx).xyz)).w;\n" +" Temp_uint[0].y = ((Temp[0].y)< (Temp[1].w)) ? 0xFFFFFFFFu : 0u;\n" +" if(vec4(Temp_uint[0].yyyy).x != 0.0) {\n" +" Temp[0].xyz = vec4(Temp[2].xyzx).xyz;\n" +" } else {\n" +" Temp[0].xyz = vec4(Temp[0].xzwx).xyz;\n" +" }\n" +" Temp[2].xyz = vec4(Temp[0].xyzx * Temp[1].xyzx).xyz;\n" +" Temp[0].xyz = vec4(Temp[1].zxyz * Temp[0].yzxy + -Temp[2].xyzx).xyz;\n" +" Temp[0].w = vec4(dot((Temp[0].xyzx).xyz, (Temp[0].xyzx).xyz)).w;\n" +" Temp[0].w = vec4(inversesqrt(Temp[0].w)).w;\n" +" Temp[0].xyz = vec4(Temp[0].wwww * Temp[0].xyzx).xyz;\n" +" Temp_uint[1].xy = uvec2(equal(ivec4(GlobalConstantBuffer_26).xy, ivec4(ivec4(1, 2, 0, 0)).xy)) * 0xFFFFFFFFu;\n" +" if(vec4(Temp_uint[1].yyyy).x != 0.0) {\n" +" Temp[1].yzw = vec4(-Temp[0].zzzz).xyz;\n" +" } else {\n" +" Temp[1].yzw = vec4(-Temp[0].xxyz).xyz;\n" +" }\n" +" if(vec4(Temp_uint[1].xxxx).x != 0.0) {\n" +" Temp[0].yzw = vec4(-Temp[0].yyyy).xyz;\n" +" } else {\n" +" Temp[0].yzw = vec4(Temp[1].yyzw).xyz;\n" +" }\n" +" if(vec4(GlobalConstantBuffer_26).x != 0.0) {\n" +" Output0.xyz = vec4(Temp[0].yzwy).xyz;\n" +" } else {\n" +" Output0.xyz = vec4(-Temp[0].xxxx).xyz;\n" +" }\n" +" Output0.w = vec4(0.000000).w;\n" +" return;\n" +"}\n" +; +static const char* g_DebugNormals_PS_FETCH_GBUFFER_NORMAL_1_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"uniform sampler2D g_t1;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[2];\n" +"ivec4 Temp_int[2];\n" +"uvec4 Temp_uint[2];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp_int[0].xy = ivec4(Input0.xyxx).xy;\n" +" Temp[0].zw = vec4(vec4(0.000000, 0.000000, 0.000000, 0.000000)).zw;\n" +" Temp[0].xyz = texelFetch(g_t1, ivec2((Temp_int[0]).xy), 0).xyz;\n" +" Temp[0].xyz = vec4(Temp[0].xyzx * GlobalConstantBuffer_28 + GlobalConstantBuffer_29).xyz;\n" +" Temp[1].xyz = vec4(Temp[0].yyyy * GlobalConstantBuffer_27[1].xyzx).xyz;\n" +" Temp[0].xyw = vec4(Temp[0].xxxx * GlobalConstantBuffer_27[0].xyxz + Temp[1].xyxz).xyw;\n" +" Temp[0].xyz = vec4(Temp[0].zzzz * GlobalConstantBuffer_27[2].xyzx + Temp[0].xywx).xyz;\n" +" Temp[0].w = vec4(dot((Temp[0].xyzx).xyz, (Temp[0].xyzx).xyz)).w;\n" +" Temp[0].w = vec4(inversesqrt(Temp[0].w)).w;\n" +" Temp[0].xyz = vec4(Temp[0].wwww * Temp[0].xyzx).xyz;\n" +" Temp_uint[1].xy = uvec2(equal(ivec4(GlobalConstantBuffer_26).xy, ivec4(ivec4(1, 2, 0, 0)).xy)) * 0xFFFFFFFFu;\n" +" if(vec4(Temp_uint[1].yyyy).x != 0.0) {\n" +" Temp[1].yzw = vec4(-Temp[0].zzzz).xyz;\n" +" } else {\n" +" Temp[1].yzw = vec4(-Temp[0].xxyz).xyz;\n" +" }\n" +" if(vec4(Temp_uint[1].xxxx).x != 0.0) {\n" +" Temp[0].yzw = vec4(-Temp[0].yyyy).xyz;\n" +" } else {\n" +" Temp[0].yzw = vec4(Temp[1].yyzw).xyz;\n" +" }\n" +" if(vec4(GlobalConstantBuffer_26).x != 0.0) {\n" +" Output0.xyz = vec4(Temp[0].yzwy).xyz;\n" +" } else {\n" +" Output0.xyz = vec4(-Temp[0].xxxx).xyz;\n" +" }\n" +" Output0.w = vec4(0.000000).w;\n" +" return;\n" +"}\n" +; +static const char* g_DebugNormals_PS_FETCH_GBUFFER_NORMAL_2_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"uniform sampler2DMS g_t1;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[2];\n" +"ivec4 Temp_int[2];\n" +"uvec4 Temp_uint[2];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp_int[0].xy = ivec4(Input0.xyxx).xy;\n" +" Temp[0].zw = vec4(vec4(0.000000, 0.000000, 0.000000, 0.000000)).zw;\n" +" Temp[0].xyz = texelFetch(g_t1, ivec2((Temp_int[0]).xy), 0).xyz;\n" +" Temp[0].xyz = vec4(Temp[0].xyzx * GlobalConstantBuffer_28 + GlobalConstantBuffer_29).xyz;\n" +" Temp[1].xyz = vec4(Temp[0].yyyy * GlobalConstantBuffer_27[1].xyzx).xyz;\n" +" Temp[0].xyw = vec4(Temp[0].xxxx * GlobalConstantBuffer_27[0].xyxz + Temp[1].xyxz).xyw;\n" +" Temp[0].xyz = vec4(Temp[0].zzzz * GlobalConstantBuffer_27[2].xyzx + Temp[0].xywx).xyz;\n" +" Temp[0].w = vec4(dot((Temp[0].xyzx).xyz, (Temp[0].xyzx).xyz)).w;\n" +" Temp[0].w = vec4(inversesqrt(Temp[0].w)).w;\n" +" Temp[0].xyz = vec4(Temp[0].wwww * Temp[0].xyzx).xyz;\n" +" Temp_uint[1].xy = uvec2(equal(ivec4(GlobalConstantBuffer_26).xy, ivec4(ivec4(1, 2, 0, 0)).xy)) * 0xFFFFFFFFu;\n" +" if(vec4(Temp_uint[1].yyyy).x != 0.0) {\n" +" Temp[1].yzw = vec4(-Temp[0].zzzz).xyz;\n" +" } else {\n" +" Temp[1].yzw = vec4(-Temp[0].xxyz).xyz;\n" +" }\n" +" if(vec4(Temp_uint[1].xxxx).x != 0.0) {\n" +" Temp[0].yzw = vec4(-Temp[0].yyyy).xyz;\n" +" } else {\n" +" Temp[0].yzw = vec4(Temp[1].yyzw).xyz;\n" +" }\n" +" if(vec4(GlobalConstantBuffer_26).x != 0.0) {\n" +" Output0.xyz = vec4(Temp[0].yzwy).xyz;\n" +" } else {\n" +" Output0.xyz = vec4(-Temp[0].xxxx).xyz;\n" +" }\n" +" Output0.w = vec4(0.000000).w;\n" +" return;\n" +"}\n" +; + +namespace Generated +{ + void DebugNormals_PS::Create(DevicePointer Device) + { + m_Shader[ShaderPermutations::FETCH_GBUFFER_NORMAL_0].Create(Device, g_DebugNormals_PS_FETCH_GBUFFER_NORMAL_0_GL, sizeof(g_DebugNormals_PS_FETCH_GBUFFER_NORMAL_0_GL)); + m_Shader[ShaderPermutations::FETCH_GBUFFER_NORMAL_1].Create(Device, g_DebugNormals_PS_FETCH_GBUFFER_NORMAL_1_GL, sizeof(g_DebugNormals_PS_FETCH_GBUFFER_NORMAL_1_GL)); + m_Shader[ShaderPermutations::FETCH_GBUFFER_NORMAL_2].Create(Device, g_DebugNormals_PS_FETCH_GBUFFER_NORMAL_2_GL, sizeof(g_DebugNormals_PS_FETCH_GBUFFER_NORMAL_2_GL)); + } + + void DebugNormals_PS::Release(DevicePointer Device) + { + m_Shader[ShaderPermutations::FETCH_GBUFFER_NORMAL_0].Release(Device); + m_Shader[ShaderPermutations::FETCH_GBUFFER_NORMAL_1].Release(Device); + m_Shader[ShaderPermutations::FETCH_GBUFFER_NORMAL_2].Release(Device); + } +} diff --git a/src/shaders/out/GL/DebugNormals_PS.h b/src/shaders/out/GL/DebugNormals_PS.h new file mode 100644 index 0000000..ad529f2 --- /dev/null +++ b/src/shaders/out/GL/DebugNormals_PS.h @@ -0,0 +1,39 @@ +//! This file was auto-generated. Do not modify manually. +#pragma once + +namespace Generated +{ + +namespace ShaderPermutations +{ + +#ifndef FETCH_GBUFFER_NORMAL_DEFINED +#define FETCH_GBUFFER_NORMAL_DEFINED + enum FETCH_GBUFFER_NORMAL + { + FETCH_GBUFFER_NORMAL_0, + FETCH_GBUFFER_NORMAL_1, + FETCH_GBUFFER_NORMAL_2, + FETCH_GBUFFER_NORMAL_COUNT, + }; +#endif + +}; + +struct DebugNormals_PS +{ + void Create(DevicePointer Device); + void Release(DevicePointer Device); + GLSLPrograms::DebugNormals_PS& Get(ShaderPermutations::FETCH_GBUFFER_NORMAL A) + { + return m_Shader[A]; + } + +private: + GLSLPrograms::DebugNormals_PS m_Shader[ShaderPermutations::FETCH_GBUFFER_NORMAL_COUNT]; +#if _WIN32 + static_assert(ShaderPermutations::FETCH_GBUFFER_NORMAL_COUNT == 3, ""); +#endif +}; + +}; diff --git a/src/shaders/out/GL/DeinterleaveDepth_PS.cpp b/src/shaders/out/GL/DeinterleaveDepth_PS.cpp new file mode 100644 index 0000000..13aa843 --- /dev/null +++ b/src/shaders/out/GL/DeinterleaveDepth_PS.cpp @@ -0,0 +1,112 @@ +static const char* g_DeinterleaveDepth_PS_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"struct PerPassConstantBuffer_0_Type {\n" +" vec4 f4Jitter;\n" +" vec2 f2Offset;\n" +" float fSliceIndex;\n" +" uint uSliceIndex;\n" +"};\n" +"uniform PerPassConstantBuffer {\n" +" PerPassConstantBuffer_0_Type PerPassConstantBuffer_0;\n" +"};\n" +"uniform sampler2D g_t0;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"out vec4 PixOutput1;\n" +"#define Output1 PixOutput1\n" +"out vec4 PixOutput2;\n" +"#define Output2 PixOutput2\n" +"out vec4 PixOutput3;\n" +"#define Output3 PixOutput3\n" +"out vec4 PixOutput4;\n" +"#define Output4 PixOutput4\n" +"out vec4 PixOutput5;\n" +"#define Output5 PixOutput5\n" +"out vec4 PixOutput6;\n" +"#define Output6 PixOutput6\n" +"out vec4 PixOutput7;\n" +"#define Output7 PixOutput7\n" +"vec4 Temp[1];\n" +"ivec4 Temp_int[1];\n" +"uvec4 Temp_uint[1];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].xy = vec4(floor(Input0.xyxx)).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx * vec4(4.000000, 4.000000, 0.000000, 0.000000) + PerPassConstantBuffer_0.f2Offset.xyxx.xyxx).xy;\n" +" Temp[0].xy = vec4(Temp[0].xyxx * GlobalConstantBuffer_2.xxxy.zwzz).xy;\n" +" Temp[0].z = (texture(g_t0, Temp[0].xy).yzxw).z;\n" +" Output0.x = vec4(Temp[0].z).x;\n" +" Temp[0].z = (textureOffset(g_t0, Temp[0].xy, ivec2(1, 0)).yzxw).z;\n" +" Output1.x = vec4(Temp[0].z).x;\n" +" Temp[0].z = (textureOffset(g_t0, Temp[0].xy, ivec2(2, 0)).yzxw).z;\n" +" Output2.x = vec4(Temp[0].z).x;\n" +" Temp[0].z = (textureOffset(g_t0, Temp[0].xy, ivec2(3, 0)).yzxw).z;\n" +" Output3.x = vec4(Temp[0].z).x;\n" +" Temp[0].z = (textureOffset(g_t0, Temp[0].xy, ivec2(0, 1)).yzxw).z;\n" +" Output4.x = vec4(Temp[0].z).x;\n" +" Temp[0].z = (textureOffset(g_t0, Temp[0].xy, ivec2(1, 1)).yzxw).z;\n" +" Output5.x = vec4(Temp[0].z).x;\n" +" Temp[0].z = (textureOffset(g_t0, Temp[0].xy, ivec2(2, 1)).yzxw).z;\n" +" Temp[0].x = (textureOffset(g_t0, Temp[0].xy, ivec2(3, 1))).x;\n" +" Output7.x = vec4(Temp[0].x).x;\n" +" Output6.x = vec4(Temp[0].z).x;\n" +" return;\n" +"}\n" +; + +namespace Generated +{ + void DeinterleaveDepth_PS::Create(DevicePointer Device) + { + m_Shader.Create(Device, g_DeinterleaveDepth_PS_GL, sizeof(g_DeinterleaveDepth_PS_GL)); + } + + void DeinterleaveDepth_PS::Release(DevicePointer Device) + { + m_Shader.Release(Device); + } +} diff --git a/src/shaders/out/GL/DeinterleaveDepth_PS.h b/src/shaders/out/GL/DeinterleaveDepth_PS.h new file mode 100644 index 0000000..d4d0c07 --- /dev/null +++ b/src/shaders/out/GL/DeinterleaveDepth_PS.h @@ -0,0 +1,27 @@ +//! This file was auto-generated. Do not modify manually. +#pragma once + +namespace Generated +{ + +namespace ShaderPermutations +{ + +}; + +struct DeinterleaveDepth_PS +{ + void Create(DevicePointer Device); + void Release(DevicePointer Device); + GLSLPrograms::DeinterleaveDepth_PS& Get() + { + return m_Shader; + } + +private: + GLSLPrograms::DeinterleaveDepth_PS m_Shader; +#if _WIN32 +#endif +}; + +}; diff --git a/src/shaders/out/GL/LinearizeDepth_PS.cpp b/src/shaders/out/GL/LinearizeDepth_PS.cpp new file mode 100644 index 0000000..13b0522 --- /dev/null +++ b/src/shaders/out/GL/LinearizeDepth_PS.cpp @@ -0,0 +1,145 @@ +static const char* g_LinearizeDepth_PS_RESOLVE_DEPTH_0_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"uniform sampler2D g_t0;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[1];\n" +"ivec4 Temp_int[1];\n" +"uvec4 Temp_uint[1];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].xy = vec4(Input0.xyxx + GlobalConstantBuffer_21.xyxx.xyxx).xy;\n" +" Temp_int[0].xy = ivec4(Temp[0].xyxx).xy;\n" +" Temp[0].zw = vec4(vec4(0.000000, 0.000000, 0.000000, 0.000000)).zw;\n" +" Temp[0].x = texelFetch(g_t0, ivec2((Temp_int[0]).xy), 0).x;\n" +" Temp[0].x = GlobalConstantBuffer_19 * Temp[0].x + GlobalConstantBuffer_20;\n" +" Temp[0].x = clamp(Temp[0].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_17 + GlobalConstantBuffer_18;\n" +" Output0.x = vec4(vec4(1.000000, 1.000000, 1.000000, 1.000000) / Temp[0].x).x;\n" +" return;\n" +"}\n" +; +static const char* g_LinearizeDepth_PS_RESOLVE_DEPTH_1_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"uniform sampler2DMS g_t0;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[1];\n" +"ivec4 Temp_int[1];\n" +"uvec4 Temp_uint[1];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].xy = vec4(Input0.xyxx + GlobalConstantBuffer_21.xyxx.xyxx).xy;\n" +" Temp_int[0].xy = ivec4(Temp[0].xyxx).xy;\n" +" Temp[0].zw = vec4(vec4(0.000000, 0.000000, 0.000000, 0.000000)).zw;\n" +" Temp[0].x = texelFetch(g_t0, ivec2((Temp_int[0]).xy), 0).x;\n" +" Temp[0].x = GlobalConstantBuffer_19 * Temp[0].x + GlobalConstantBuffer_20;\n" +" Temp[0].x = clamp(Temp[0].x, 0.0, 1.0);\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_17 + GlobalConstantBuffer_18;\n" +" Output0.x = vec4(vec4(1.000000, 1.000000, 1.000000, 1.000000) / Temp[0].x).x;\n" +" return;\n" +"}\n" +; + +namespace Generated +{ + void LinearizeDepth_PS::Create(DevicePointer Device) + { + m_Shader[ShaderPermutations::RESOLVE_DEPTH_0].Create(Device, g_LinearizeDepth_PS_RESOLVE_DEPTH_0_GL, sizeof(g_LinearizeDepth_PS_RESOLVE_DEPTH_0_GL)); + m_Shader[ShaderPermutations::RESOLVE_DEPTH_1].Create(Device, g_LinearizeDepth_PS_RESOLVE_DEPTH_1_GL, sizeof(g_LinearizeDepth_PS_RESOLVE_DEPTH_1_GL)); + } + + void LinearizeDepth_PS::Release(DevicePointer Device) + { + m_Shader[ShaderPermutations::RESOLVE_DEPTH_0].Release(Device); + m_Shader[ShaderPermutations::RESOLVE_DEPTH_1].Release(Device); + } +} diff --git a/src/shaders/out/GL/LinearizeDepth_PS.h b/src/shaders/out/GL/LinearizeDepth_PS.h new file mode 100644 index 0000000..7f2d16a --- /dev/null +++ b/src/shaders/out/GL/LinearizeDepth_PS.h @@ -0,0 +1,38 @@ +//! This file was auto-generated. Do not modify manually. +#pragma once + +namespace Generated +{ + +namespace ShaderPermutations +{ + +#ifndef RESOLVE_DEPTH_DEFINED +#define RESOLVE_DEPTH_DEFINED + enum RESOLVE_DEPTH + { + RESOLVE_DEPTH_0, + RESOLVE_DEPTH_1, + RESOLVE_DEPTH_COUNT, + }; +#endif + +}; + +struct LinearizeDepth_PS +{ + void Create(DevicePointer Device); + void Release(DevicePointer Device); + GLSLPrograms::LinearizeDepth_PS& Get(ShaderPermutations::RESOLVE_DEPTH A) + { + return m_Shader[A]; + } + +private: + GLSLPrograms::LinearizeDepth_PS m_Shader[ShaderPermutations::RESOLVE_DEPTH_COUNT]; +#if _WIN32 + static_assert(ShaderPermutations::RESOLVE_DEPTH_COUNT == 2, ""); +#endif +}; + +}; diff --git a/src/shaders/out/GL/ReconstructNormal_PS.cpp b/src/shaders/out/GL/ReconstructNormal_PS.cpp new file mode 100644 index 0000000..4281d4e --- /dev/null +++ b/src/shaders/out/GL/ReconstructNormal_PS.cpp @@ -0,0 +1,125 @@ +static const char* g_ReconstructNormal_PS_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"uniform sampler2D g_t0;\n" +" in vec4 VtxGeoOutput1;\n" +"vec4 Input1;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[5];\n" +"ivec4 Temp_int[5];\n" +"uvec4 Temp_uint[5];\n" +"void main()\n" +"{\n" +" Input1 = VtxGeoOutput1;\n" +" Temp[0].y = vec4(GlobalConstantBuffer_2.xxxy.z).y;\n" +" Temp[0].z = vec4(0.000000).z;\n" +" Temp[0].xy = vec4(Temp[0].yzyy + Input1.xyxx).xy;\n" +" Temp[0].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[0].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[1].x = (textureLod(g_t0, Temp[0].xy, 0.000000)).x;\n" +" Temp[1].yz = vec4(Temp[0].zzwz * Temp[1].xxxx).yz;\n" +" Temp[0].xy = vec4(GlobalConstantBuffer_3.xyxx.yxyy * Input1.yxyy + GlobalConstantBuffer_4.xxxy.wzww).xy;\n" +" Temp[2].y = (textureLod(g_t0, Input1.xy, 0.000000).yxzw).y;\n" +" Temp[2].xz = vec4(Temp[0].xxyx * Temp[2].yyyy).xz;\n" +" Temp[0].xyz = vec4(Temp[1].xyzx + -Temp[2].yzxy).xyz;\n" +" Temp[0].w = vec4(dot((Temp[0].xyzx).xyz, (Temp[0].xyzx).xyz)).w;\n" +" Temp[1].y = vec4(-GlobalConstantBuffer_2.xxxy.z).y;\n" +" Temp[1].z = vec4(0.000000).z;\n" +" Temp[1].xy = vec4(Temp[1].yzyy + Input1.xyxx).xy;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[1].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" +" Temp[3].x = (textureLod(g_t0, Temp[1].xy, 0.000000)).x;\n" +" Temp[3].yz = vec4(Temp[1].zzwz * Temp[3].xxxx).yz;\n" +" Temp[1].xyz = vec4(Temp[2].yzxy + -Temp[3].xyzx).xyz;\n" +" Temp[1].w = vec4(dot((Temp[1].xyzx).xyz, (Temp[1].xyzx).xyz)).w;\n" +" Temp_uint[0].w = ((Temp[0].w)< (Temp[1].w)) ? 0xFFFFFFFFu : 0u;\n" +" if(vec4(Temp_uint[0].wwww).x != 0.0) {\n" +" Temp[0].xyz = vec4(Temp[0].xyzx).xyz;\n" +" } else {\n" +" Temp[0].xyz = vec4(Temp[1].xyzx).xyz;\n" +" }\n" +" Temp[1].z = vec4(0.000000).z;\n" +" Temp[1].x = vec4(GlobalConstantBuffer_2.xxxy.w).x;\n" +" Temp[1].xy = vec4(Temp[1].xzxx + Input1.yxyy).xy;\n" +" Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.yyyx * Temp[1].xxxy + GlobalConstantBuffer_4.xxxy.wwwz).zw;\n" +" Temp[3].y = (textureLod(g_t0, Temp[1].yx, 0.000000).yxzw).y;\n" +" Temp[3].xz = vec4(Temp[1].zzwz * Temp[3].yyyy).xz;\n" +" Temp[1].xyz = vec4(-Temp[2].xyzx + Temp[3].xyzx).xyz;\n" +" Temp[0].w = vec4(dot((Temp[1].xyzx).xyz, (Temp[1].xyzx).xyz)).w;\n" +" Temp[3].z = vec4(0.000000).z;\n" +" Temp[3].x = vec4(-GlobalConstantBuffer_2.xxxy.w).x;\n" +" Temp[3].xy = vec4(Temp[3].xzxx + Input1.yxyy).xy;\n" +" Temp[3].zw = vec4(GlobalConstantBuffer_3.xyxx.yyyx * Temp[3].xxxy + GlobalConstantBuffer_4.xxxy.wwwz).zw;\n" +" Temp[4].y = (textureLod(g_t0, Temp[3].yx, 0.000000).yxzw).y;\n" +" Temp[4].xz = vec4(Temp[3].zzwz * Temp[4].yyyy).xz;\n" +" Temp[2].xyz = vec4(Temp[2].xyzx + -Temp[4].xyzx).xyz;\n" +" Temp[1].w = vec4(dot((Temp[2].xyzx).xyz, (Temp[2].xyzx).xyz)).w;\n" +" Temp_uint[0].w = ((Temp[0].w)< (Temp[1].w)) ? 0xFFFFFFFFu : 0u;\n" +" if(vec4(Temp_uint[0].wwww).x != 0.0) {\n" +" Temp[1].xyz = vec4(Temp[1].xyzx).xyz;\n" +" } else {\n" +" Temp[1].xyz = vec4(Temp[2].xyzx).xyz;\n" +" }\n" +" Temp[2].xyz = vec4(Temp[0].xyzx * Temp[1].xyzx).xyz;\n" +" Temp[0].xyz = vec4(Temp[0].zxyz * Temp[1].yzxy + -Temp[2].xyzx).xyz;\n" +" Temp[0].w = vec4(dot((Temp[0].xyzx).xyz, (Temp[0].xyzx).xyz)).w;\n" +" Temp[0].w = vec4(inversesqrt(Temp[0].w)).w;\n" +" Temp[0].xyz = vec4(Temp[0].wwww * Temp[0].xyzx).xyz;\n" +" Output0.xyz = vec4(Temp[0].xyzx * vec4(0.500000, 0.500000, 0.500000, 0.000000) + vec4(0.500000, 0.500000, 0.500000, 0.000000)).xyz;\n" +" Output0.w = vec4(0.000000).w;\n" +" return;\n" +"}\n" +; + +namespace Generated +{ + void ReconstructNormal_PS::Create(DevicePointer Device) + { + m_Shader.Create(Device, g_ReconstructNormal_PS_GL, sizeof(g_ReconstructNormal_PS_GL)); + } + + void ReconstructNormal_PS::Release(DevicePointer Device) + { + m_Shader.Release(Device); + } +} diff --git a/src/shaders/out/GL/ReconstructNormal_PS.h b/src/shaders/out/GL/ReconstructNormal_PS.h new file mode 100644 index 0000000..8d6567f --- /dev/null +++ b/src/shaders/out/GL/ReconstructNormal_PS.h @@ -0,0 +1,27 @@ +//! This file was auto-generated. Do not modify manually. +#pragma once + +namespace Generated +{ + +namespace ShaderPermutations +{ + +}; + +struct ReconstructNormal_PS +{ + void Create(DevicePointer Device); + void Release(DevicePointer Device); + GLSLPrograms::ReconstructNormal_PS& Get() + { + return m_Shader; + } + +private: + GLSLPrograms::ReconstructNormal_PS m_Shader; +#if _WIN32 +#endif +}; + +}; diff --git a/src/shaders/out/GL/ReinterleaveAO_PS.cpp b/src/shaders/out/GL/ReinterleaveAO_PS.cpp new file mode 100644 index 0000000..4c295b1 --- /dev/null +++ b/src/shaders/out/GL/ReinterleaveAO_PS.cpp @@ -0,0 +1,128 @@ +static const char* g_ReinterleaveAO_PS_ENABLE_BLUR_0_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform GlobalConstantBuffer {\n" +" uvec4 GlobalConstantBuffer_0;\n" +" vec2 GlobalConstantBuffer_1;\n" +" vec2 GlobalConstantBuffer_2;\n" +" vec2 GlobalConstantBuffer_3;\n" +" vec2 GlobalConstantBuffer_4;\n" +" float GlobalConstantBuffer_5;\n" +" float GlobalConstantBuffer_6;\n" +" float GlobalConstantBuffer_7;\n" +" float GlobalConstantBuffer_8;\n" +" float GlobalConstantBuffer_9;\n" +" float GlobalConstantBuffer_10;\n" +" float GlobalConstantBuffer_11;\n" +" int GlobalConstantBuffer_12;\n" +" float GlobalConstantBuffer_13;\n" +" float GlobalConstantBuffer_14;\n" +" float GlobalConstantBuffer_15;\n" +" float GlobalConstantBuffer_16;\n" +" float GlobalConstantBuffer_17;\n" +" float GlobalConstantBuffer_18;\n" +" float GlobalConstantBuffer_19;\n" +" float GlobalConstantBuffer_20;\n" +" vec2 GlobalConstantBuffer_21;\n" +" float GlobalConstantBuffer_22;\n" +" float GlobalConstantBuffer_23;\n" +" float GlobalConstantBuffer_24;\n" +" float GlobalConstantBuffer_25;\n" +" int GlobalConstantBuffer_26;\n" +" vec4 GlobalConstantBuffer_27[4];\n" +" float GlobalConstantBuffer_28;\n" +" float GlobalConstantBuffer_29;\n" +"};\n" +"uniform sampler2DArray g_t0;\n" +"vec4 Input0;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[2];\n" +"ivec4 Temp_int[2];\n" +"uvec4 Temp_uint[2];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Temp[0].xy = vec4(Input0.xyxx + -GlobalConstantBuffer_21.xyxx.xyxx).xy;\n" +" Temp[0].xy = vec4(floor(Temp[0].xyxx)).xy;\n" +" Temp[0].zw = vec4(abs(Temp[0].yyyx) * vec4(0.000000, 0.000000, 0.250000, 0.250000)).zw;\n" +" Temp[0].xy = vec4(Temp[0].xyxx * vec4(0.250000, 0.250000, 0.000000, 0.000000)).xy;\n" +" Temp_int[1].xy = ivec4(Temp[0].xyxx).xy;\n" +" Temp[0].xy = vec4(fract(Temp[0].zwzz)).xy;\n" +" Temp[0].x = vec4(dot((Temp[0].xyxx).xy, (vec4(16.000000, 4.000000, 0.000000, 0.000000)).xy)).x;\n" +" Temp_int[1].z = int(Temp[0].x);\n" +" Temp[1].w = vec4(0.000000).w;\n" +" Temp[0].x = texelFetch(g_t0, ivec3((Temp_int[1]).xyz), 0).x;\n" +" Temp[0].x = vec4(Temp[0].x).x;\n" +" Temp[0].x = clamp(Temp[0].x, 0.0, 1.0);\n" +" Temp[0].x = vec4(log2(Temp[0].x)).x;\n" +" Temp[0].x = Temp[0].x * GlobalConstantBuffer_11;\n" +" Output0 = vec4(exp2(Temp[0].xxxx));\n" +" return;\n" +"}\n" +; +static const char* g_ReinterleaveAO_PS_ENABLE_BLUR_1_GL = +"#version 150\n" +"struct vec1 {\n" +" float x;\n" +"};\n" +"struct uvec1 {\n" +" uint x;\n" +"};\n" +"struct ivec1 {\n" +" int x;\n" +"};\n" +"layout(std140) uniform;\n" +"uniform sampler2DArray g_t0;\n" +"uniform sampler2D g_t1;\n" +"vec4 Input0;\n" +" in vec4 VtxGeoOutput1;\n" +"vec4 Input1;\n" +"out vec4 PixOutput0;\n" +"#define Output0 PixOutput0\n" +"vec4 Temp[2];\n" +"ivec4 Temp_int[2];\n" +"uvec4 Temp_uint[2];\n" +"void main()\n" +"{\n" +" Input0.xy = gl_FragCoord.xy;\n" +" Input1 = VtxGeoOutput1;\n" +" Temp[0].xy = vec4(floor(Input0.xyxx)).xy;\n" +" Temp[0].zw = vec4(abs(Temp[0].yyyx) * vec4(0.000000, 0.000000, 0.250000, 0.250000)).zw;\n" +" Temp[0].xy = vec4(Temp[0].xyxx * vec4(0.250000, 0.250000, 0.000000, 0.000000)).xy;\n" +" Temp_int[1].xy = ivec4(Temp[0].xyxx).xy;\n" +" Temp[0].xy = vec4(fract(Temp[0].zwzz)).xy;\n" +" Temp[0].x = vec4(dot((Temp[0].xyxx).xy, (vec4(16.000000, 4.000000, 0.000000, 0.000000)).xy)).x;\n" +" Temp_int[1].z = int(Temp[0].x);\n" +" Temp[1].w = vec4(0.000000).w;\n" +" Temp[0].x = texelFetch(g_t0, ivec3((Temp_int[1]).xyz), 0).x;\n" +" Output0.x = vec4(Temp[0].x).x;\n" +" Temp[0].x = (texture(g_t1, Input1.xy)).x;\n" +" Output0.y = vec4(Temp[0].x).y;\n" +" return;\n" +"}\n" +; + +namespace Generated +{ + void ReinterleaveAO_PS::Create(DevicePointer Device) + { + m_Shader[ShaderPermutations::ENABLE_BLUR_0].Create(Device, g_ReinterleaveAO_PS_ENABLE_BLUR_0_GL, sizeof(g_ReinterleaveAO_PS_ENABLE_BLUR_0_GL)); + m_Shader[ShaderPermutations::ENABLE_BLUR_1].Create(Device, g_ReinterleaveAO_PS_ENABLE_BLUR_1_GL, sizeof(g_ReinterleaveAO_PS_ENABLE_BLUR_1_GL)); + } + + void ReinterleaveAO_PS::Release(DevicePointer Device) + { + m_Shader[ShaderPermutations::ENABLE_BLUR_0].Release(Device); + m_Shader[ShaderPermutations::ENABLE_BLUR_1].Release(Device); + } +} diff --git a/src/shaders/out/GL/ReinterleaveAO_PS.h b/src/shaders/out/GL/ReinterleaveAO_PS.h new file mode 100644 index 0000000..af905a8 --- /dev/null +++ b/src/shaders/out/GL/ReinterleaveAO_PS.h @@ -0,0 +1,38 @@ +//! This file was auto-generated. Do not modify manually. +#pragma once + +namespace Generated +{ + +namespace ShaderPermutations +{ + +#ifndef ENABLE_BLUR_DEFINED +#define ENABLE_BLUR_DEFINED + enum ENABLE_BLUR + { + ENABLE_BLUR_0, + ENABLE_BLUR_1, + ENABLE_BLUR_COUNT, + }; +#endif + +}; + +struct ReinterleaveAO_PS +{ + void Create(DevicePointer Device); + void Release(DevicePointer Device); + GLSLPrograms::ReinterleaveAO_PS& Get(ShaderPermutations::ENABLE_BLUR A) + { + return m_Shader[A]; + } + +private: + GLSLPrograms::ReinterleaveAO_PS m_Shader[ShaderPermutations::ENABLE_BLUR_COUNT]; +#if _WIN32 + static_assert(ShaderPermutations::ENABLE_BLUR_COUNT == 2, ""); +#endif +}; + +}; |