aboutsummaryrefslogtreecommitdiff
path: root/src/shaders/out/GL
diff options
context:
space:
mode:
Diffstat (limited to 'src/shaders/out/GL')
-rw-r--r--src/shaders/out/GL/BlurX_PS.cpp453
-rw-r--r--src/shaders/out/GL/BlurX_PS.h49
-rw-r--r--src/shaders/out/GL/BlurY_PS.cpp465
-rw-r--r--src/shaders/out/GL/BlurY_PS.h49
-rw-r--r--src/shaders/out/GL/CoarseAO_PS.cpp15519
-rw-r--r--src/shaders/out/GL/CoarseAO_PS.h72
-rw-r--r--src/shaders/out/GL/CopyDepth_PS.cpp139
-rw-r--r--src/shaders/out/GL/CopyDepth_PS.h38
-rw-r--r--src/shaders/out/GL/DebugNormals_PS.cpp313
-rw-r--r--src/shaders/out/GL/DebugNormals_PS.h39
-rw-r--r--src/shaders/out/GL/DeinterleaveDepth_PS.cpp112
-rw-r--r--src/shaders/out/GL/DeinterleaveDepth_PS.h27
-rw-r--r--src/shaders/out/GL/LinearizeDepth_PS.cpp145
-rw-r--r--src/shaders/out/GL/LinearizeDepth_PS.h38
-rw-r--r--src/shaders/out/GL/ReconstructNormal_PS.cpp125
-rw-r--r--src/shaders/out/GL/ReconstructNormal_PS.h27
-rw-r--r--src/shaders/out/GL/ReinterleaveAO_PS.cpp128
-rw-r--r--src/shaders/out/GL/ReinterleaveAO_PS.h38
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
+};
+
+};