Shader "Hidden/Universal Render Pipeline/LensFlareScreenSpace" { Properties { } SubShader { Tags { "RenderPipeline" = "UniversalPipeline" } Pass { Name "LensFlareScreenSpac Prefilter" LOD 100 Tags { "QUEUE" = "Transparent" "RenderPipeline" = "UniversalPipeline" "RenderType" = "Transparent" } ZTest Always ZWrite Off Cull Off GpuProgramID 42837 HLSLPROGRAM // https://docs.unity3d.com/Manual/SL-PragmaDirectives.html #pragma vertex vert #pragma fragment frag #pragma target 4.0 #pragma multi_compile _ STEREO_INSTANCING_ON #ifndef STEREO_INSTANCING_ON #define ANY_SHADER_VARIANT_ACTIVE static float4 gl_Position; static int gl_VertexIndex; static int gl_BaseVertexARB; static float2 vertex_output_1; struct Vertex_Stage_Input { uint gl_VertexIndex : SV_VertexID; uint gl_BaseVertexARB : SV_StartVertexLocation; }; struct Vertex_Stage_Output { float2 vertex_output_1 : TEXCOORD; // TEXCOORD float4 gl_Position : SV_Position; }; void vert_main() { uint vertex_unnamed_19 = (uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) & 1u; uint vertex_unnamed_24 = (uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) >> 1u; float vertex_unnamed_29 = float(vertex_unnamed_24); precise float vertex_unnamed_32 = (-0.0f) - float((vertex_unnamed_19 + vertex_unnamed_24) & 1u); precise float vertex_unnamed_34 = vertex_unnamed_32 + 1.0f; precise float vertex_unnamed_36 = (-0.0f) - vertex_unnamed_34; precise float vertex_unnamed_37 = vertex_unnamed_36 + 1.0f; vertex_output_1.x = vertex_unnamed_29; vertex_output_1.y = vertex_unnamed_37; gl_Position.x = mad(vertex_unnamed_29, 2.0f, -1.0f); gl_Position.y = mad(float((((-vertex_unnamed_19) + (-vertex_unnamed_24)) + 1u) & 1u), 2.0f, -1.0f); gl_Position.z = 1.0f; gl_Position.w = 1.0f; } Vertex_Stage_Output vert(Vertex_Stage_Input stage_input) { gl_VertexIndex = int(stage_input.gl_VertexIndex + stage_input.gl_BaseVertexARB); gl_BaseVertexARB = stage_input.gl_BaseVertexARB; vert_main(); Vertex_Stage_Output stage_output; stage_output.gl_Position = gl_Position; stage_output.vertex_output_1 = vertex_output_1; return stage_output; } #endif // !STEREO_INSTANCING_ON #ifdef STEREO_INSTANCING_ON #define ANY_SHADER_VARIANT_ACTIVE static float4 gl_Position; static uint gl_Layer; static int gl_VertexIndex; static int gl_InstanceIndex; static int gl_BaseVertexARB; static int gl_BaseInstanceARB; static float2 vertex_output_1; struct Vertex_Stage_Input { uint gl_VertexIndex : SV_VertexID; uint gl_InstanceIndex : SV_InstanceID; uint gl_BaseVertexARB : SV_StartVertexLocation; uint gl_BaseInstanceARB : SV_StartInstanceLocation; }; struct Vertex_Stage_Output { float2 vertex_output_1 : TEXCOORD; // TEXCOORD float4 gl_Position : SV_Position; uint gl_Layer : SV_RenderTargetArrayIndex; }; void vert_main() { uint vertex_unnamed_22 = (uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) & 1u; uint vertex_unnamed_27 = (uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) >> 1u; float vertex_unnamed_32 = float(vertex_unnamed_27); precise float vertex_unnamed_35 = (-0.0f) - float((vertex_unnamed_22 + vertex_unnamed_27) & 1u); precise float vertex_unnamed_37 = vertex_unnamed_35 + 1.0f; precise float vertex_unnamed_39 = (-0.0f) - vertex_unnamed_37; precise float vertex_unnamed_40 = vertex_unnamed_39 + 1.0f; vertex_output_1.x = vertex_unnamed_32; vertex_output_1.y = vertex_unnamed_40; gl_Position.x = mad(vertex_unnamed_32, 2.0f, -1.0f); gl_Position.y = mad(float((((-vertex_unnamed_22) + (-vertex_unnamed_27)) + 1u) & 1u), 2.0f, -1.0f); gl_Position.z = 1.0f; gl_Position.w = 1.0f; gl_Layer = int((uint(gl_InstanceIndex) - uint(gl_BaseInstanceARB)) & 1u); } Vertex_Stage_Output vert(Vertex_Stage_Input stage_input) { gl_VertexIndex = int(stage_input.gl_VertexIndex + stage_input.gl_BaseVertexARB); gl_InstanceIndex = int(stage_input.gl_InstanceIndex + stage_input.gl_BaseInstanceARB); gl_BaseVertexARB = stage_input.gl_BaseVertexARB; gl_BaseInstanceARB = stage_input.gl_BaseInstanceARB; vert_main(); Vertex_Stage_Output stage_output; stage_output.gl_Position = gl_Position; stage_output.gl_Layer = gl_Layer; stage_output.vertex_output_1 = vertex_output_1; return stage_output; } #endif // STEREO_INSTANCING_ON #ifndef STEREO_INSTANCING_ON #define ANY_SHADER_VARIANT_ACTIVE float4 _RTHandleScale; float4 _LensFlareScreenSpaceBloomMipTexture_TexelSize; float4 _LensFlareScreenSpaceParams4; static float4 fragment_uniform_buffer_0[143]; Texture2D _LensFlareScreenSpaceBloomMipTexture; SamplerState S0; static float2 fragment_input_1; static float4 fragment_output_0; struct Fragment_Stage_Input { float2 fragment_input_1 : TEXCOORD; // TEXCOORD }; struct Fragment_Stage_Output { float4 fragment_output_0 : SV_Target0; }; void frag_main() { float fragment_unnamed_35 = floor(fragment_uniform_buffer_0[142u].z); precise float fragment_unnamed_36 = fragment_unnamed_35 + fragment_unnamed_35; precise float fragment_unnamed_37 = (-0.0f) - fragment_unnamed_36; bool fragment_unnamed_40 = fragment_unnamed_36 >= fragment_unnamed_37; precise float fragment_unnamed_49 = asfloat(fragment_unnamed_40 ? 1056964608u : 3204448256u) * fragment_unnamed_35; precise float fragment_unnamed_51 = frac(fragment_unnamed_49) * asfloat(fragment_unnamed_40 ? 1073741824u : 3221225472u); bool fragment_unnamed_52 = fragment_unnamed_51 == 0.0f; float fragment_unnamed_57 = frac(fragment_uniform_buffer_0[142u].z); precise float fragment_unnamed_58 = (-0.0f) - fragment_unnamed_57; precise float fragment_unnamed_59 = fragment_unnamed_58 + 1.0f; precise float fragment_unnamed_61 = (-0.0f) - fragment_unnamed_59; float fragment_unnamed_62 = fragment_unnamed_52 ? fragment_unnamed_57 : fragment_unnamed_61; precise float fragment_unnamed_63 = (-0.0f) - fragment_unnamed_59; precise float fragment_unnamed_64 = fragment_unnamed_63 + 1.0f; precise float fragment_unnamed_65 = (-0.0f) - fragment_unnamed_59; precise float fragment_unnamed_66 = (-0.0f) - fragment_unnamed_64; float fragment_unnamed_67 = fragment_unnamed_52 ? fragment_unnamed_65 : fragment_unnamed_66; precise float fragment_unnamed_68 = (-0.0f) - fragment_unnamed_67; precise float fragment_unnamed_86 = (-0.0f) - fragment_unnamed_62; precise float fragment_unnamed_104 = (-0.0f) - fragment_uniform_buffer_0[137u].x; precise float fragment_unnamed_106 = (-0.0f) - fragment_uniform_buffer_0[137u].y; float fragment_unnamed_112 = mad(fragment_unnamed_104, 0.5f, fragment_uniform_buffer_0[28u].x); float fragment_unnamed_114 = mad(fragment_unnamed_106, 0.5f, fragment_uniform_buffer_0[28u].y); float4 fragment_unnamed_125 = _LensFlareScreenSpaceBloomMipTexture.SampleBias(S0, float2(min(fragment_unnamed_112, clamp(mad(fragment_unnamed_62, fragment_uniform_buffer_0[137u].x, fragment_input_1.x), 0.0f, 1.0f)), min(fragment_unnamed_114, clamp(mad(fragment_unnamed_67, fragment_uniform_buffer_0[137u].y, fragment_input_1.y), 0.0f, 1.0f))), fragment_uniform_buffer_0[4u].x); float4 fragment_unnamed_133 = _LensFlareScreenSpaceBloomMipTexture.SampleBias(S0, float2(min(fragment_unnamed_112, clamp(mad(fragment_unnamed_86, fragment_uniform_buffer_0[137u].x, fragment_input_1.x), 0.0f, 1.0f)), min(fragment_unnamed_114, clamp(mad(fragment_unnamed_68, fragment_uniform_buffer_0[137u].y, fragment_input_1.y), 0.0f, 1.0f))), fragment_uniform_buffer_0[4u].x); precise float fragment_unnamed_138 = fragment_unnamed_125.x + fragment_unnamed_133.x; precise float fragment_unnamed_139 = fragment_unnamed_125.y + fragment_unnamed_133.y; precise float fragment_unnamed_140 = fragment_unnamed_125.z + fragment_unnamed_133.z; precise float fragment_unnamed_141 = fragment_unnamed_138 * 0.5f; precise float fragment_unnamed_142 = fragment_unnamed_139 * 0.5f; precise float fragment_unnamed_143 = fragment_unnamed_140 * 0.5f; float fragment_unnamed_145 = max(max(fragment_unnamed_143, fragment_unnamed_142), fragment_unnamed_141); precise float fragment_unnamed_149 = (-0.0f) - fragment_uniform_buffer_0[142u].w; precise float fragment_unnamed_150 = fragment_unnamed_145 + fragment_unnamed_149; precise float fragment_unnamed_154 = max(fragment_unnamed_150, 0.0f) / max(fragment_unnamed_145, 9.9999997473787516355514526367188e-05f); precise float fragment_unnamed_155 = fragment_unnamed_154 * fragment_unnamed_141; precise float fragment_unnamed_156 = fragment_unnamed_154 * fragment_unnamed_142; precise float fragment_unnamed_157 = fragment_unnamed_154 * fragment_unnamed_143; fragment_output_0.x = fragment_unnamed_155; fragment_output_0.y = fragment_unnamed_156; fragment_output_0.z = fragment_unnamed_157; fragment_output_0.w = 1.0f; } Fragment_Stage_Output frag(Fragment_Stage_Input stage_input) { fragment_uniform_buffer_0[28] = float4(_RTHandleScale[0], _RTHandleScale[1], _RTHandleScale[2], _RTHandleScale[3]); fragment_uniform_buffer_0[137] = float4(_LensFlareScreenSpaceBloomMipTexture_TexelSize[0], _LensFlareScreenSpaceBloomMipTexture_TexelSize[1], _LensFlareScreenSpaceBloomMipTexture_TexelSize[2], _LensFlareScreenSpaceBloomMipTexture_TexelSize[3]); fragment_uniform_buffer_0[142] = float4(_LensFlareScreenSpaceParams4[0], _LensFlareScreenSpaceParams4[1], _LensFlareScreenSpaceParams4[2], _LensFlareScreenSpaceParams4[3]); fragment_input_1 = stage_input.fragment_input_1; frag_main(); Fragment_Stage_Output stage_output; stage_output.fragment_output_0 = fragment_output_0; return stage_output; } #endif // !STEREO_INSTANCING_ON #ifdef STEREO_INSTANCING_ON #define ANY_SHADER_VARIANT_ACTIVE float4 _RTHandleScale; float4 _LensFlareScreenSpaceBloomMipTexture_TexelSize; float4 _LensFlareScreenSpaceParams4; static float4 fragment_uniform_buffer_0[112]; Texture2DArray _LensFlareScreenSpaceBloomMipTexture; SamplerState S0; static uint gl_Layer; static float2 fragment_input_1; static float4 fragment_output_0; struct Fragment_Stage_Input { float2 fragment_input_1 : TEXCOORD; // TEXCOORD uint gl_Layer : SV_RenderTargetArrayIndex; }; struct Fragment_Stage_Output { float4 fragment_output_0 : SV_Target0; }; void frag_main() { float fragment_unnamed_37 = floor(fragment_uniform_buffer_0[111u].z); precise float fragment_unnamed_38 = fragment_unnamed_37 + fragment_unnamed_37; precise float fragment_unnamed_39 = (-0.0f) - fragment_unnamed_38; bool fragment_unnamed_42 = fragment_unnamed_38 >= fragment_unnamed_39; precise float fragment_unnamed_51 = asfloat(fragment_unnamed_42 ? 1056964608u : 3204448256u) * fragment_unnamed_37; precise float fragment_unnamed_53 = frac(fragment_unnamed_51) * asfloat(fragment_unnamed_42 ? 1073741824u : 3221225472u); bool fragment_unnamed_54 = fragment_unnamed_53 == 0.0f; float fragment_unnamed_59 = frac(fragment_uniform_buffer_0[111u].z); precise float fragment_unnamed_60 = (-0.0f) - fragment_unnamed_59; precise float fragment_unnamed_61 = fragment_unnamed_60 + 1.0f; precise float fragment_unnamed_63 = (-0.0f) - fragment_unnamed_61; float fragment_unnamed_64 = fragment_unnamed_54 ? fragment_unnamed_59 : fragment_unnamed_63; precise float fragment_unnamed_65 = (-0.0f) - fragment_unnamed_61; precise float fragment_unnamed_66 = fragment_unnamed_65 + 1.0f; precise float fragment_unnamed_67 = (-0.0f) - fragment_unnamed_61; precise float fragment_unnamed_68 = (-0.0f) - fragment_unnamed_66; float fragment_unnamed_69 = fragment_unnamed_54 ? fragment_unnamed_67 : fragment_unnamed_68; precise float fragment_unnamed_80 = (-0.0f) - fragment_unnamed_69; precise float fragment_unnamed_95 = (-0.0f) - fragment_unnamed_64; precise float fragment_unnamed_106 = (-0.0f) - fragment_uniform_buffer_0[106u].x; precise float fragment_unnamed_108 = (-0.0f) - fragment_uniform_buffer_0[106u].y; float fragment_unnamed_114 = mad(fragment_unnamed_106, 0.5f, fragment_uniform_buffer_0[27u].x); float fragment_unnamed_116 = mad(fragment_unnamed_108, 0.5f, fragment_uniform_buffer_0[27u].y); float fragment_unnamed_122 = float(uint(gl_Layer)); float4 fragment_unnamed_129 = _LensFlareScreenSpaceBloomMipTexture.SampleBias(S0, float3(min(fragment_unnamed_114, clamp(mad(fragment_unnamed_95, fragment_uniform_buffer_0[106u].x, fragment_input_1.x), 0.0f, 1.0f)), min(fragment_unnamed_116, clamp(mad(fragment_unnamed_80, fragment_uniform_buffer_0[106u].y, fragment_input_1.y), 0.0f, 1.0f)), fragment_unnamed_122), fragment_uniform_buffer_0[4u].x); float4 fragment_unnamed_138 = _LensFlareScreenSpaceBloomMipTexture.SampleBias(S0, float3(min(fragment_unnamed_114, clamp(mad(fragment_unnamed_64, fragment_uniform_buffer_0[106u].x, fragment_input_1.x), 0.0f, 1.0f)), min(fragment_unnamed_116, clamp(mad(fragment_unnamed_69, fragment_uniform_buffer_0[106u].y, fragment_input_1.y), 0.0f, 1.0f)), fragment_unnamed_122), fragment_uniform_buffer_0[4u].x); precise float fragment_unnamed_143 = fragment_unnamed_129.x + fragment_unnamed_138.x; precise float fragment_unnamed_144 = fragment_unnamed_129.y + fragment_unnamed_138.y; precise float fragment_unnamed_145 = fragment_unnamed_129.z + fragment_unnamed_138.z; precise float fragment_unnamed_146 = fragment_unnamed_143 * 0.5f; precise float fragment_unnamed_147 = fragment_unnamed_144 * 0.5f; precise float fragment_unnamed_148 = fragment_unnamed_145 * 0.5f; float fragment_unnamed_150 = max(max(fragment_unnamed_148, fragment_unnamed_147), fragment_unnamed_146); precise float fragment_unnamed_154 = (-0.0f) - fragment_uniform_buffer_0[111u].w; precise float fragment_unnamed_155 = fragment_unnamed_150 + fragment_unnamed_154; precise float fragment_unnamed_159 = max(fragment_unnamed_155, 0.0f) / max(fragment_unnamed_150, 9.9999997473787516355514526367188e-05f); precise float fragment_unnamed_160 = fragment_unnamed_159 * fragment_unnamed_146; precise float fragment_unnamed_161 = fragment_unnamed_159 * fragment_unnamed_147; precise float fragment_unnamed_162 = fragment_unnamed_159 * fragment_unnamed_148; fragment_output_0.x = fragment_unnamed_160; fragment_output_0.y = fragment_unnamed_161; fragment_output_0.z = fragment_unnamed_162; fragment_output_0.w = 1.0f; } Fragment_Stage_Output frag(Fragment_Stage_Input stage_input) { fragment_uniform_buffer_0[27] = float4(_RTHandleScale[0], _RTHandleScale[1], _RTHandleScale[2], _RTHandleScale[3]); fragment_uniform_buffer_0[106] = float4(_LensFlareScreenSpaceBloomMipTexture_TexelSize[0], _LensFlareScreenSpaceBloomMipTexture_TexelSize[1], _LensFlareScreenSpaceBloomMipTexture_TexelSize[2], _LensFlareScreenSpaceBloomMipTexture_TexelSize[3]); fragment_uniform_buffer_0[111] = float4(_LensFlareScreenSpaceParams4[0], _LensFlareScreenSpaceParams4[1], _LensFlareScreenSpaceParams4[2], _LensFlareScreenSpaceParams4[3]); gl_Layer = stage_input.gl_Layer; fragment_input_1 = stage_input.fragment_input_1; frag_main(); Fragment_Stage_Output stage_output; stage_output.fragment_output_0 = fragment_output_0; return stage_output; } #endif // STEREO_INSTANCING_ON ENDHLSL } Pass { Name "LensFlareScreenSpace Downsample" LOD 100 Tags { "QUEUE" = "Transparent" "RenderPipeline" = "UniversalPipeline" "RenderType" = "Transparent" } ZTest Always ZWrite Off Cull Off GpuProgramID 106347 HLSLPROGRAM // https://docs.unity3d.com/Manual/SL-PragmaDirectives.html #pragma vertex vert #pragma fragment frag #pragma target 4.0 #pragma multi_compile _ STEREO_INSTANCING_ON #ifndef STEREO_INSTANCING_ON #define ANY_SHADER_VARIANT_ACTIVE static float4 gl_Position; static int gl_VertexIndex; static int gl_BaseVertexARB; static float2 vertex_output_1; struct Vertex_Stage_Input { uint gl_VertexIndex : SV_VertexID; uint gl_BaseVertexARB : SV_StartVertexLocation; }; struct Vertex_Stage_Output { float2 vertex_output_1 : TEXCOORD; // TEXCOORD float4 gl_Position : SV_Position; }; void vert_main() { uint vertex_unnamed_19 = (uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) & 1u; uint vertex_unnamed_24 = (uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) >> 1u; float vertex_unnamed_29 = float(vertex_unnamed_24); precise float vertex_unnamed_32 = (-0.0f) - float((vertex_unnamed_19 + vertex_unnamed_24) & 1u); precise float vertex_unnamed_34 = vertex_unnamed_32 + 1.0f; precise float vertex_unnamed_36 = (-0.0f) - vertex_unnamed_34; precise float vertex_unnamed_37 = vertex_unnamed_36 + 1.0f; vertex_output_1.x = vertex_unnamed_29; vertex_output_1.y = vertex_unnamed_37; gl_Position.x = mad(vertex_unnamed_29, 2.0f, -1.0f); gl_Position.y = mad(float((((-vertex_unnamed_19) + (-vertex_unnamed_24)) + 1u) & 1u), 2.0f, -1.0f); gl_Position.z = 1.0f; gl_Position.w = 1.0f; } Vertex_Stage_Output vert(Vertex_Stage_Input stage_input) { gl_VertexIndex = int(stage_input.gl_VertexIndex + stage_input.gl_BaseVertexARB); gl_BaseVertexARB = stage_input.gl_BaseVertexARB; vert_main(); Vertex_Stage_Output stage_output; stage_output.gl_Position = gl_Position; stage_output.vertex_output_1 = vertex_output_1; return stage_output; } #endif // !STEREO_INSTANCING_ON #ifdef STEREO_INSTANCING_ON #define ANY_SHADER_VARIANT_ACTIVE static float4 gl_Position; static uint gl_Layer; static int gl_VertexIndex; static int gl_InstanceIndex; static int gl_BaseVertexARB; static int gl_BaseInstanceARB; static float2 vertex_output_1; struct Vertex_Stage_Input { uint gl_VertexIndex : SV_VertexID; uint gl_InstanceIndex : SV_InstanceID; uint gl_BaseVertexARB : SV_StartVertexLocation; uint gl_BaseInstanceARB : SV_StartInstanceLocation; }; struct Vertex_Stage_Output { float2 vertex_output_1 : TEXCOORD; // TEXCOORD float4 gl_Position : SV_Position; uint gl_Layer : SV_RenderTargetArrayIndex; }; void vert_main() { uint vertex_unnamed_22 = (uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) & 1u; uint vertex_unnamed_27 = (uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) >> 1u; float vertex_unnamed_32 = float(vertex_unnamed_27); precise float vertex_unnamed_35 = (-0.0f) - float((vertex_unnamed_22 + vertex_unnamed_27) & 1u); precise float vertex_unnamed_37 = vertex_unnamed_35 + 1.0f; precise float vertex_unnamed_39 = (-0.0f) - vertex_unnamed_37; precise float vertex_unnamed_40 = vertex_unnamed_39 + 1.0f; vertex_output_1.x = vertex_unnamed_32; vertex_output_1.y = vertex_unnamed_40; gl_Position.x = mad(vertex_unnamed_32, 2.0f, -1.0f); gl_Position.y = mad(float((((-vertex_unnamed_22) + (-vertex_unnamed_27)) + 1u) & 1u), 2.0f, -1.0f); gl_Position.z = 1.0f; gl_Position.w = 1.0f; gl_Layer = int((uint(gl_InstanceIndex) - uint(gl_BaseInstanceARB)) & 1u); } Vertex_Stage_Output vert(Vertex_Stage_Input stage_input) { gl_VertexIndex = int(stage_input.gl_VertexIndex + stage_input.gl_BaseVertexARB); gl_InstanceIndex = int(stage_input.gl_InstanceIndex + stage_input.gl_BaseInstanceARB); gl_BaseVertexARB = stage_input.gl_BaseVertexARB; gl_BaseInstanceARB = stage_input.gl_BaseInstanceARB; vert_main(); Vertex_Stage_Output stage_output; stage_output.gl_Position = gl_Position; stage_output.gl_Layer = gl_Layer; stage_output.vertex_output_1 = vertex_output_1; return stage_output; } #endif // STEREO_INSTANCING_ON #ifndef STEREO_INSTANCING_ON #define ANY_SHADER_VARIANT_ACTIVE float4 _RTHandleScale; float4 _ScreenSize; float4 _LensFlareScreenSpaceStreakTex_TexelSize; float4 _LensFlareScreenSpaceParams4; float4 _LensFlareScreenSpaceParams5; int _LensFlareScreenSpaceMipLevel; static float4 fragment_uniform_buffer_0[145]; Texture2D _LensFlareScreenSpaceStreakTex; SamplerState S0; static float2 fragment_input_1; static float4 fragment_output_0; struct Fragment_Stage_Input { float2 fragment_input_1 : TEXCOORD; // TEXCOORD }; struct Fragment_Stage_Output { float4 fragment_output_0 : SV_Target0; }; void frag_main() { float fragment_unnamed_35 = floor(fragment_uniform_buffer_0[142u].z); precise float fragment_unnamed_36 = fragment_unnamed_35 + fragment_unnamed_35; precise float fragment_unnamed_37 = (-0.0f) - fragment_unnamed_36; bool fragment_unnamed_40 = fragment_unnamed_36 >= fragment_unnamed_37; precise float fragment_unnamed_49 = asfloat(fragment_unnamed_40 ? 1056964608u : 3204448256u) * fragment_unnamed_35; precise float fragment_unnamed_51 = frac(fragment_unnamed_49) * asfloat(fragment_unnamed_40 ? 1073741824u : 3221225472u); bool fragment_unnamed_52 = fragment_unnamed_51 == 0.0f; float fragment_unnamed_57 = frac(fragment_uniform_buffer_0[142u].z); precise float fragment_unnamed_58 = (-0.0f) - fragment_unnamed_57; precise float fragment_unnamed_59 = fragment_unnamed_58 + 1.0f; precise float fragment_unnamed_61 = (-0.0f) - fragment_unnamed_59; precise float fragment_unnamed_67 = (fragment_unnamed_52 ? fragment_unnamed_57 : fragment_unnamed_61) * fragment_uniform_buffer_0[138u].y; precise float fragment_unnamed_68 = (-0.0f) - fragment_unnamed_59; precise float fragment_unnamed_69 = fragment_unnamed_68 + 1.0f; precise float fragment_unnamed_70 = (-0.0f) - fragment_unnamed_59; precise float fragment_unnamed_71 = (-0.0f) - fragment_unnamed_69; precise float fragment_unnamed_76 = (fragment_unnamed_52 ? fragment_unnamed_70 : fragment_unnamed_71) * fragment_uniform_buffer_0[138u].x; precise float fragment_unnamed_80 = fragment_unnamed_76 * fragment_uniform_buffer_0[142u].y; precise float fragment_unnamed_81 = fragment_unnamed_67 * fragment_uniform_buffer_0[142u].y; precise float fragment_unnamed_89 = float(int(asuint(fragment_uniform_buffer_0[144u]).x)) + 1.0f; precise float fragment_unnamed_90 = fragment_unnamed_89 * fragment_unnamed_80; precise float fragment_unnamed_91 = fragment_unnamed_89 * fragment_unnamed_81; precise float fragment_unnamed_96 = fragment_unnamed_90 / fragment_uniform_buffer_0[143u].x; precise float fragment_unnamed_97 = fragment_unnamed_91 / fragment_uniform_buffer_0[143u].x; precise float fragment_unnamed_98 = (-0.0f) - fragment_unnamed_96; precise float fragment_unnamed_108 = (-0.0f) - fragment_unnamed_97; precise float fragment_unnamed_120 = (-0.0f) - fragment_uniform_buffer_0[123u].z; precise float fragment_unnamed_122 = (-0.0f) - fragment_uniform_buffer_0[123u].w; float fragment_unnamed_128 = mad(fragment_unnamed_120, 0.5f, fragment_uniform_buffer_0[28u].x); float fragment_unnamed_130 = mad(fragment_unnamed_122, 0.5f, fragment_uniform_buffer_0[28u].y); float4 fragment_unnamed_141 = _LensFlareScreenSpaceStreakTex.SampleBias(S0, float2(min(fragment_unnamed_128, clamp(mad(fragment_unnamed_98, 3.0f, fragment_input_1.x), 0.0f, 1.0f)), min(fragment_unnamed_130, clamp(mad(fragment_unnamed_108, 3.0f, fragment_input_1.y), 0.0f, 1.0f))), fragment_uniform_buffer_0[4u].x); float4 fragment_unnamed_149 = _LensFlareScreenSpaceStreakTex.SampleBias(S0, float2(min(fragment_unnamed_128, clamp(mad(fragment_unnamed_98, 5.0f, fragment_input_1.x), 0.0f, 1.0f)), min(fragment_unnamed_130, clamp(mad(fragment_unnamed_108, 5.0f, fragment_input_1.y), 0.0f, 1.0f))), fragment_uniform_buffer_0[4u].x); precise float fragment_unnamed_154 = fragment_unnamed_141.x * 0.16666667163372039794921875f; precise float fragment_unnamed_156 = fragment_unnamed_141.y * 0.16666667163372039794921875f; precise float fragment_unnamed_157 = fragment_unnamed_141.z * 0.16666667163372039794921875f; precise float fragment_unnamed_162 = (-0.0f) - fragment_unnamed_96; precise float fragment_unnamed_163 = (-0.0f) - fragment_unnamed_97; precise float fragment_unnamed_168 = fragment_unnamed_162 + fragment_input_1.x; precise float fragment_unnamed_169 = fragment_unnamed_163 + fragment_input_1.y; float4 fragment_unnamed_177 = _LensFlareScreenSpaceStreakTex.SampleBias(S0, float2(min(fragment_unnamed_128, clamp(fragment_unnamed_168, 0.0f, 1.0f)), min(fragment_unnamed_130, clamp(fragment_unnamed_169, 0.0f, 1.0f))), fragment_uniform_buffer_0[4u].x); precise float fragment_unnamed_196 = fragment_unnamed_96 + fragment_input_1.x; precise float fragment_unnamed_197 = fragment_unnamed_97 + fragment_input_1.y; float4 fragment_unnamed_215 = _LensFlareScreenSpaceStreakTex.SampleBias(S0, float2(min(fragment_unnamed_128, clamp(fragment_unnamed_196, 0.0f, 1.0f)), min(fragment_unnamed_130, clamp(fragment_unnamed_197, 0.0f, 1.0f))), fragment_uniform_buffer_0[4u].x); float4 fragment_unnamed_226 = _LensFlareScreenSpaceStreakTex.SampleBias(S0, float2(min(fragment_unnamed_128, clamp(mad(fragment_unnamed_96, 3.0f, fragment_input_1.x), 0.0f, 1.0f)), min(fragment_unnamed_130, clamp(mad(fragment_unnamed_97, 3.0f, fragment_input_1.y), 0.0f, 1.0f))), fragment_uniform_buffer_0[4u].x); float4 fragment_unnamed_234 = _LensFlareScreenSpaceStreakTex.SampleBias(S0, float2(min(fragment_unnamed_128, clamp(mad(fragment_unnamed_96, 5.0f, fragment_input_1.x), 0.0f, 1.0f)), min(fragment_unnamed_130, clamp(mad(fragment_unnamed_97, 5.0f, fragment_input_1.y), 0.0f, 1.0f))), fragment_uniform_buffer_0[4u].x); fragment_output_0.x = mad(fragment_unnamed_234.x, 0.083333335816860198974609375f, mad(fragment_unnamed_226.x, 0.16666667163372039794921875f, mad(fragment_unnamed_215.x, 0.25f, mad(fragment_unnamed_177.x, 0.25f, mad(fragment_unnamed_149.x, 0.083333335816860198974609375f, fragment_unnamed_154))))); fragment_output_0.y = mad(fragment_unnamed_234.y, 0.083333335816860198974609375f, mad(fragment_unnamed_226.y, 0.16666667163372039794921875f, mad(fragment_unnamed_215.y, 0.25f, mad(fragment_unnamed_177.y, 0.25f, mad(fragment_unnamed_149.y, 0.083333335816860198974609375f, fragment_unnamed_156))))); fragment_output_0.z = mad(fragment_unnamed_234.z, 0.083333335816860198974609375f, mad(fragment_unnamed_226.z, 0.16666667163372039794921875f, mad(fragment_unnamed_215.z, 0.25f, mad(fragment_unnamed_177.z, 0.25f, mad(fragment_unnamed_149.z, 0.083333335816860198974609375f, fragment_unnamed_157))))); fragment_output_0.w = 1.0f; } Fragment_Stage_Output frag(Fragment_Stage_Input stage_input) { fragment_uniform_buffer_0[28] = float4(_RTHandleScale[0], _RTHandleScale[1], _RTHandleScale[2], _RTHandleScale[3]); fragment_uniform_buffer_0[123] = float4(_ScreenSize[0], _ScreenSize[1], _ScreenSize[2], _ScreenSize[3]); fragment_uniform_buffer_0[138] = float4(_LensFlareScreenSpaceStreakTex_TexelSize[0], _LensFlareScreenSpaceStreakTex_TexelSize[1], _LensFlareScreenSpaceStreakTex_TexelSize[2], _LensFlareScreenSpaceStreakTex_TexelSize[3]); fragment_uniform_buffer_0[142] = float4(_LensFlareScreenSpaceParams4[0], _LensFlareScreenSpaceParams4[1], _LensFlareScreenSpaceParams4[2], _LensFlareScreenSpaceParams4[3]); fragment_uniform_buffer_0[143] = float4(_LensFlareScreenSpaceParams5[0], _LensFlareScreenSpaceParams5[1], _LensFlareScreenSpaceParams5[2], _LensFlareScreenSpaceParams5[3]); fragment_uniform_buffer_0[144] = float4(asfloat(_LensFlareScreenSpaceMipLevel), fragment_uniform_buffer_0[144][1], fragment_uniform_buffer_0[144][2], fragment_uniform_buffer_0[144][3]); fragment_input_1 = stage_input.fragment_input_1; frag_main(); Fragment_Stage_Output stage_output; stage_output.fragment_output_0 = fragment_output_0; return stage_output; } #endif // !STEREO_INSTANCING_ON #ifdef STEREO_INSTANCING_ON #define ANY_SHADER_VARIANT_ACTIVE float4 _RTHandleScale; float4 _ScreenSize; float4 _LensFlareScreenSpaceStreakTex_TexelSize; float4 _LensFlareScreenSpaceParams4; float4 _LensFlareScreenSpaceParams5; int _LensFlareScreenSpaceMipLevel; static float4 fragment_uniform_buffer_0[114]; Texture2DArray _LensFlareScreenSpaceStreakTex; SamplerState S0; static uint gl_Layer; static float2 fragment_input_1; static float4 fragment_output_0; struct Fragment_Stage_Input { float2 fragment_input_1 : TEXCOORD; // TEXCOORD uint gl_Layer : SV_RenderTargetArrayIndex; }; struct Fragment_Stage_Output { float4 fragment_output_0 : SV_Target0; }; void frag_main() { float fragment_unnamed_37 = floor(fragment_uniform_buffer_0[111u].z); precise float fragment_unnamed_38 = fragment_unnamed_37 + fragment_unnamed_37; precise float fragment_unnamed_39 = (-0.0f) - fragment_unnamed_38; bool fragment_unnamed_42 = fragment_unnamed_38 >= fragment_unnamed_39; precise float fragment_unnamed_51 = asfloat(fragment_unnamed_42 ? 1056964608u : 3204448256u) * fragment_unnamed_37; precise float fragment_unnamed_53 = frac(fragment_unnamed_51) * asfloat(fragment_unnamed_42 ? 1073741824u : 3221225472u); bool fragment_unnamed_54 = fragment_unnamed_53 == 0.0f; float fragment_unnamed_59 = frac(fragment_uniform_buffer_0[111u].z); precise float fragment_unnamed_60 = (-0.0f) - fragment_unnamed_59; precise float fragment_unnamed_61 = fragment_unnamed_60 + 1.0f; precise float fragment_unnamed_63 = (-0.0f) - fragment_unnamed_61; precise float fragment_unnamed_69 = (fragment_unnamed_54 ? fragment_unnamed_59 : fragment_unnamed_63) * fragment_uniform_buffer_0[107u].y; precise float fragment_unnamed_70 = (-0.0f) - fragment_unnamed_61; precise float fragment_unnamed_71 = fragment_unnamed_70 + 1.0f; precise float fragment_unnamed_72 = (-0.0f) - fragment_unnamed_61; precise float fragment_unnamed_73 = (-0.0f) - fragment_unnamed_71; precise float fragment_unnamed_78 = (fragment_unnamed_54 ? fragment_unnamed_72 : fragment_unnamed_73) * fragment_uniform_buffer_0[107u].x; precise float fragment_unnamed_82 = fragment_unnamed_78 * fragment_uniform_buffer_0[111u].y; precise float fragment_unnamed_83 = fragment_unnamed_69 * fragment_uniform_buffer_0[111u].y; precise float fragment_unnamed_91 = float(int(asuint(fragment_uniform_buffer_0[113u]).x)) + 1.0f; precise float fragment_unnamed_92 = fragment_unnamed_91 * fragment_unnamed_82; precise float fragment_unnamed_93 = fragment_unnamed_91 * fragment_unnamed_83; precise float fragment_unnamed_98 = fragment_unnamed_92 / fragment_uniform_buffer_0[112u].x; precise float fragment_unnamed_99 = fragment_unnamed_93 / fragment_uniform_buffer_0[112u].x; precise float fragment_unnamed_100 = (-0.0f) - fragment_unnamed_98; precise float fragment_unnamed_110 = (-0.0f) - fragment_unnamed_99; precise float fragment_unnamed_122 = (-0.0f) - fragment_uniform_buffer_0[92u].z; precise float fragment_unnamed_124 = (-0.0f) - fragment_uniform_buffer_0[92u].w; float fragment_unnamed_130 = mad(fragment_unnamed_122, 0.5f, fragment_uniform_buffer_0[27u].x); float fragment_unnamed_132 = mad(fragment_unnamed_124, 0.5f, fragment_uniform_buffer_0[27u].y); float fragment_unnamed_138 = float(uint(gl_Layer)); float4 fragment_unnamed_145 = _LensFlareScreenSpaceStreakTex.SampleBias(S0, float3(min(fragment_unnamed_130, clamp(mad(fragment_unnamed_100, 5.0f, fragment_input_1.x), 0.0f, 1.0f)), min(fragment_unnamed_132, clamp(mad(fragment_unnamed_110, 5.0f, fragment_input_1.y), 0.0f, 1.0f)), fragment_unnamed_138), fragment_uniform_buffer_0[4u].x); float4 fragment_unnamed_154 = _LensFlareScreenSpaceStreakTex.SampleBias(S0, float3(min(fragment_unnamed_130, clamp(mad(fragment_unnamed_100, 3.0f, fragment_input_1.x), 0.0f, 1.0f)), min(fragment_unnamed_132, clamp(mad(fragment_unnamed_110, 3.0f, fragment_input_1.y), 0.0f, 1.0f)), fragment_unnamed_138), fragment_uniform_buffer_0[4u].x); precise float fragment_unnamed_159 = fragment_unnamed_154.x * 0.16666667163372039794921875f; precise float fragment_unnamed_161 = fragment_unnamed_154.y * 0.16666667163372039794921875f; precise float fragment_unnamed_162 = fragment_unnamed_154.z * 0.16666667163372039794921875f; precise float fragment_unnamed_167 = (-0.0f) - fragment_unnamed_98; precise float fragment_unnamed_168 = (-0.0f) - fragment_unnamed_99; precise float fragment_unnamed_173 = fragment_unnamed_167 + fragment_input_1.x; precise float fragment_unnamed_174 = fragment_unnamed_168 + fragment_input_1.y; float4 fragment_unnamed_182 = _LensFlareScreenSpaceStreakTex.SampleBias(S0, float3(min(fragment_unnamed_130, clamp(fragment_unnamed_173, 0.0f, 1.0f)), min(fragment_unnamed_132, clamp(fragment_unnamed_174, 0.0f, 1.0f)), fragment_unnamed_138), fragment_uniform_buffer_0[4u].x); precise float fragment_unnamed_201 = fragment_unnamed_98 + fragment_input_1.x; precise float fragment_unnamed_202 = fragment_unnamed_99 + fragment_input_1.y; float4 fragment_unnamed_216 = _LensFlareScreenSpaceStreakTex.SampleBias(S0, float3(min(fragment_unnamed_130, clamp(fragment_unnamed_201, 0.0f, 1.0f)), min(fragment_unnamed_132, clamp(fragment_unnamed_202, 0.0f, 1.0f)), fragment_unnamed_138), fragment_uniform_buffer_0[4u].x); float4 fragment_unnamed_231 = _LensFlareScreenSpaceStreakTex.SampleBias(S0, float3(min(fragment_unnamed_130, clamp(mad(fragment_unnamed_98, 3.0f, fragment_input_1.x), 0.0f, 1.0f)), min(fragment_unnamed_132, clamp(mad(fragment_unnamed_99, 3.0f, fragment_input_1.y), 0.0f, 1.0f)), fragment_unnamed_138), fragment_uniform_buffer_0[4u].x); float4 fragment_unnamed_239 = _LensFlareScreenSpaceStreakTex.SampleBias(S0, float3(min(fragment_unnamed_130, clamp(mad(fragment_unnamed_98, 5.0f, fragment_input_1.x), 0.0f, 1.0f)), min(fragment_unnamed_132, clamp(mad(fragment_unnamed_99, 5.0f, fragment_input_1.y), 0.0f, 1.0f)), fragment_unnamed_138), fragment_uniform_buffer_0[4u].x); fragment_output_0.x = mad(fragment_unnamed_239.x, 0.083333335816860198974609375f, mad(fragment_unnamed_231.x, 0.16666667163372039794921875f, mad(fragment_unnamed_216.x, 0.25f, mad(fragment_unnamed_182.x, 0.25f, mad(fragment_unnamed_145.x, 0.083333335816860198974609375f, fragment_unnamed_159))))); fragment_output_0.y = mad(fragment_unnamed_239.y, 0.083333335816860198974609375f, mad(fragment_unnamed_231.y, 0.16666667163372039794921875f, mad(fragment_unnamed_216.y, 0.25f, mad(fragment_unnamed_182.y, 0.25f, mad(fragment_unnamed_145.y, 0.083333335816860198974609375f, fragment_unnamed_161))))); fragment_output_0.z = mad(fragment_unnamed_239.z, 0.083333335816860198974609375f, mad(fragment_unnamed_231.z, 0.16666667163372039794921875f, mad(fragment_unnamed_216.z, 0.25f, mad(fragment_unnamed_182.z, 0.25f, mad(fragment_unnamed_145.z, 0.083333335816860198974609375f, fragment_unnamed_162))))); fragment_output_0.w = 1.0f; } Fragment_Stage_Output frag(Fragment_Stage_Input stage_input) { fragment_uniform_buffer_0[27] = float4(_RTHandleScale[0], _RTHandleScale[1], _RTHandleScale[2], _RTHandleScale[3]); fragment_uniform_buffer_0[92] = float4(_ScreenSize[0], _ScreenSize[1], _ScreenSize[2], _ScreenSize[3]); fragment_uniform_buffer_0[107] = float4(_LensFlareScreenSpaceStreakTex_TexelSize[0], _LensFlareScreenSpaceStreakTex_TexelSize[1], _LensFlareScreenSpaceStreakTex_TexelSize[2], _LensFlareScreenSpaceStreakTex_TexelSize[3]); fragment_uniform_buffer_0[111] = float4(_LensFlareScreenSpaceParams4[0], _LensFlareScreenSpaceParams4[1], _LensFlareScreenSpaceParams4[2], _LensFlareScreenSpaceParams4[3]); fragment_uniform_buffer_0[112] = float4(_LensFlareScreenSpaceParams5[0], _LensFlareScreenSpaceParams5[1], _LensFlareScreenSpaceParams5[2], _LensFlareScreenSpaceParams5[3]); fragment_uniform_buffer_0[113] = float4(asfloat(_LensFlareScreenSpaceMipLevel), fragment_uniform_buffer_0[113][1], fragment_uniform_buffer_0[113][2], fragment_uniform_buffer_0[113][3]); gl_Layer = stage_input.gl_Layer; fragment_input_1 = stage_input.fragment_input_1; frag_main(); Fragment_Stage_Output stage_output; stage_output.fragment_output_0 = fragment_output_0; return stage_output; } #endif // STEREO_INSTANCING_ON ENDHLSL } Pass { Name "LensFlareScreenSpace Upsample" LOD 100 Tags { "QUEUE" = "Transparent" "RenderPipeline" = "UniversalPipeline" "RenderType" = "Transparent" } ZTest Always ZWrite Off Cull Off GpuProgramID 142197 HLSLPROGRAM // https://docs.unity3d.com/Manual/SL-PragmaDirectives.html #pragma vertex vert #pragma fragment frag #pragma target 4.0 #pragma multi_compile _ STEREO_INSTANCING_ON #ifndef STEREO_INSTANCING_ON #define ANY_SHADER_VARIANT_ACTIVE static float4 gl_Position; static int gl_VertexIndex; static int gl_BaseVertexARB; static float2 vertex_output_1; struct Vertex_Stage_Input { uint gl_VertexIndex : SV_VertexID; uint gl_BaseVertexARB : SV_StartVertexLocation; }; struct Vertex_Stage_Output { float2 vertex_output_1 : TEXCOORD; // TEXCOORD float4 gl_Position : SV_Position; }; void vert_main() { uint vertex_unnamed_19 = (uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) & 1u; uint vertex_unnamed_24 = (uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) >> 1u; float vertex_unnamed_29 = float(vertex_unnamed_24); precise float vertex_unnamed_32 = (-0.0f) - float((vertex_unnamed_19 + vertex_unnamed_24) & 1u); precise float vertex_unnamed_34 = vertex_unnamed_32 + 1.0f; precise float vertex_unnamed_36 = (-0.0f) - vertex_unnamed_34; precise float vertex_unnamed_37 = vertex_unnamed_36 + 1.0f; vertex_output_1.x = vertex_unnamed_29; vertex_output_1.y = vertex_unnamed_37; gl_Position.x = mad(vertex_unnamed_29, 2.0f, -1.0f); gl_Position.y = mad(float((((-vertex_unnamed_19) + (-vertex_unnamed_24)) + 1u) & 1u), 2.0f, -1.0f); gl_Position.z = 1.0f; gl_Position.w = 1.0f; } Vertex_Stage_Output vert(Vertex_Stage_Input stage_input) { gl_VertexIndex = int(stage_input.gl_VertexIndex + stage_input.gl_BaseVertexARB); gl_BaseVertexARB = stage_input.gl_BaseVertexARB; vert_main(); Vertex_Stage_Output stage_output; stage_output.gl_Position = gl_Position; stage_output.vertex_output_1 = vertex_output_1; return stage_output; } #endif // !STEREO_INSTANCING_ON #ifdef STEREO_INSTANCING_ON #define ANY_SHADER_VARIANT_ACTIVE static float4 gl_Position; static uint gl_Layer; static int gl_VertexIndex; static int gl_InstanceIndex; static int gl_BaseVertexARB; static int gl_BaseInstanceARB; static float2 vertex_output_1; struct Vertex_Stage_Input { uint gl_VertexIndex : SV_VertexID; uint gl_InstanceIndex : SV_InstanceID; uint gl_BaseVertexARB : SV_StartVertexLocation; uint gl_BaseInstanceARB : SV_StartInstanceLocation; }; struct Vertex_Stage_Output { float2 vertex_output_1 : TEXCOORD; // TEXCOORD float4 gl_Position : SV_Position; uint gl_Layer : SV_RenderTargetArrayIndex; }; void vert_main() { uint vertex_unnamed_22 = (uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) & 1u; uint vertex_unnamed_27 = (uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) >> 1u; float vertex_unnamed_32 = float(vertex_unnamed_27); precise float vertex_unnamed_35 = (-0.0f) - float((vertex_unnamed_22 + vertex_unnamed_27) & 1u); precise float vertex_unnamed_37 = vertex_unnamed_35 + 1.0f; precise float vertex_unnamed_39 = (-0.0f) - vertex_unnamed_37; precise float vertex_unnamed_40 = vertex_unnamed_39 + 1.0f; vertex_output_1.x = vertex_unnamed_32; vertex_output_1.y = vertex_unnamed_40; gl_Position.x = mad(vertex_unnamed_32, 2.0f, -1.0f); gl_Position.y = mad(float((((-vertex_unnamed_22) + (-vertex_unnamed_27)) + 1u) & 1u), 2.0f, -1.0f); gl_Position.z = 1.0f; gl_Position.w = 1.0f; gl_Layer = int((uint(gl_InstanceIndex) - uint(gl_BaseInstanceARB)) & 1u); } Vertex_Stage_Output vert(Vertex_Stage_Input stage_input) { gl_VertexIndex = int(stage_input.gl_VertexIndex + stage_input.gl_BaseVertexARB); gl_InstanceIndex = int(stage_input.gl_InstanceIndex + stage_input.gl_BaseInstanceARB); gl_BaseVertexARB = stage_input.gl_BaseVertexARB; gl_BaseInstanceARB = stage_input.gl_BaseInstanceARB; vert_main(); Vertex_Stage_Output stage_output; stage_output.gl_Position = gl_Position; stage_output.gl_Layer = gl_Layer; stage_output.vertex_output_1 = vertex_output_1; return stage_output; } #endif // STEREO_INSTANCING_ON #ifndef STEREO_INSTANCING_ON #define ANY_SHADER_VARIANT_ACTIVE float4 _RTHandleScale; float4 _ScreenSize; float4 _LensFlareScreenSpaceStreakTex_TexelSize; float4 _LensFlareScreenSpaceParams4; float4 _LensFlareScreenSpaceParams5; int _LensFlareScreenSpaceMipLevel; static float4 fragment_uniform_buffer_0[145]; Texture2D _LensFlareScreenSpaceStreakTex; SamplerState S0; static float2 fragment_input_1; static float4 fragment_output_0; struct Fragment_Stage_Input { float2 fragment_input_1 : TEXCOORD; // TEXCOORD }; struct Fragment_Stage_Output { float4 fragment_output_0 : SV_Target0; }; void frag_main() { float fragment_unnamed_35 = floor(fragment_uniform_buffer_0[142u].z); precise float fragment_unnamed_36 = fragment_unnamed_35 + fragment_unnamed_35; precise float fragment_unnamed_37 = (-0.0f) - fragment_unnamed_36; bool fragment_unnamed_40 = fragment_unnamed_36 >= fragment_unnamed_37; precise float fragment_unnamed_49 = asfloat(fragment_unnamed_40 ? 1056964608u : 3204448256u) * fragment_unnamed_35; precise float fragment_unnamed_51 = frac(fragment_unnamed_49) * asfloat(fragment_unnamed_40 ? 1073741824u : 3221225472u); bool fragment_unnamed_52 = fragment_unnamed_51 == 0.0f; float fragment_unnamed_57 = frac(fragment_uniform_buffer_0[142u].z); precise float fragment_unnamed_58 = (-0.0f) - fragment_unnamed_57; precise float fragment_unnamed_59 = fragment_unnamed_58 + 1.0f; precise float fragment_unnamed_61 = (-0.0f) - fragment_unnamed_59; precise float fragment_unnamed_67 = (fragment_unnamed_52 ? fragment_unnamed_57 : fragment_unnamed_61) * fragment_uniform_buffer_0[138u].y; precise float fragment_unnamed_71 = fragment_unnamed_67 * fragment_uniform_buffer_0[142u].y; precise float fragment_unnamed_72 = fragment_unnamed_71 * 1.5f; precise float fragment_unnamed_74 = (-0.0f) - fragment_unnamed_59; precise float fragment_unnamed_75 = fragment_unnamed_74 + 1.0f; precise float fragment_unnamed_76 = (-0.0f) - fragment_unnamed_59; precise float fragment_unnamed_77 = (-0.0f) - fragment_unnamed_75; precise float fragment_unnamed_82 = (fragment_unnamed_52 ? fragment_unnamed_76 : fragment_unnamed_77) * fragment_uniform_buffer_0[138u].x; precise float fragment_unnamed_86 = fragment_unnamed_82 * fragment_uniform_buffer_0[142u].y; precise float fragment_unnamed_94 = float(int(asuint(fragment_uniform_buffer_0[144u]).x)) + 1.0f; precise float fragment_unnamed_95 = fragment_unnamed_94 * fragment_unnamed_86; precise float fragment_unnamed_96 = fragment_unnamed_94 * fragment_unnamed_72; precise float fragment_unnamed_97 = fragment_unnamed_95 * 1.5f; precise float fragment_unnamed_102 = fragment_unnamed_97 / fragment_uniform_buffer_0[143u].x; precise float fragment_unnamed_103 = fragment_unnamed_96 / fragment_uniform_buffer_0[143u].x; precise float fragment_unnamed_104 = (-0.0f) - fragment_unnamed_102; precise float fragment_unnamed_105 = (-0.0f) - fragment_unnamed_103; precise float fragment_unnamed_112 = fragment_unnamed_104 + fragment_input_1.x; precise float fragment_unnamed_113 = fragment_unnamed_105 + fragment_input_1.y; precise float fragment_unnamed_120 = fragment_unnamed_102 + fragment_input_1.x; precise float fragment_unnamed_121 = fragment_unnamed_103 + fragment_input_1.y; precise float fragment_unnamed_128 = (-0.0f) - fragment_uniform_buffer_0[123u].z; precise float fragment_unnamed_130 = (-0.0f) - fragment_uniform_buffer_0[123u].w; float fragment_unnamed_136 = mad(fragment_unnamed_128, 0.5f, fragment_uniform_buffer_0[28u].x); float fragment_unnamed_138 = mad(fragment_unnamed_130, 0.5f, fragment_uniform_buffer_0[28u].y); float4 fragment_unnamed_147 = _LensFlareScreenSpaceStreakTex.SampleBias(S0, float2(min(fragment_unnamed_136, clamp(fragment_unnamed_112, 0.0f, 1.0f)), min(fragment_unnamed_138, clamp(fragment_unnamed_113, 0.0f, 1.0f))), fragment_uniform_buffer_0[4u].x); float4 fragment_unnamed_165 = _LensFlareScreenSpaceStreakTex.SampleBias(S0, float2(min(fragment_unnamed_136, clamp(fragment_unnamed_120, 0.0f, 1.0f)), min(fragment_unnamed_138, clamp(fragment_unnamed_121, 0.0f, 1.0f))), fragment_uniform_buffer_0[4u].x); float4 fragment_unnamed_173 = _LensFlareScreenSpaceStreakTex.SampleBias(S0, float2(min(fragment_unnamed_136, clamp(fragment_input_1.x, 0.0f, 1.0f)), min(fragment_unnamed_138, clamp(fragment_input_1.y, 0.0f, 1.0f))), fragment_uniform_buffer_0[4u].x); precise float fragment_unnamed_178 = fragment_unnamed_173.x * 0.5f; precise float fragment_unnamed_179 = fragment_unnamed_173.y * 0.5f; precise float fragment_unnamed_180 = fragment_unnamed_173.z * 0.5f; fragment_output_0.x = mad(fragment_unnamed_165.x, 0.25f, mad(fragment_unnamed_147.x, 0.25f, fragment_unnamed_178)); fragment_output_0.y = mad(fragment_unnamed_165.y, 0.25f, mad(fragment_unnamed_147.y, 0.25f, fragment_unnamed_179)); fragment_output_0.z = mad(fragment_unnamed_165.z, 0.25f, mad(fragment_unnamed_147.z, 0.25f, fragment_unnamed_180)); fragment_output_0.w = 1.0f; } Fragment_Stage_Output frag(Fragment_Stage_Input stage_input) { fragment_uniform_buffer_0[28] = float4(_RTHandleScale[0], _RTHandleScale[1], _RTHandleScale[2], _RTHandleScale[3]); fragment_uniform_buffer_0[123] = float4(_ScreenSize[0], _ScreenSize[1], _ScreenSize[2], _ScreenSize[3]); fragment_uniform_buffer_0[138] = float4(_LensFlareScreenSpaceStreakTex_TexelSize[0], _LensFlareScreenSpaceStreakTex_TexelSize[1], _LensFlareScreenSpaceStreakTex_TexelSize[2], _LensFlareScreenSpaceStreakTex_TexelSize[3]); fragment_uniform_buffer_0[142] = float4(_LensFlareScreenSpaceParams4[0], _LensFlareScreenSpaceParams4[1], _LensFlareScreenSpaceParams4[2], _LensFlareScreenSpaceParams4[3]); fragment_uniform_buffer_0[143] = float4(_LensFlareScreenSpaceParams5[0], _LensFlareScreenSpaceParams5[1], _LensFlareScreenSpaceParams5[2], _LensFlareScreenSpaceParams5[3]); fragment_uniform_buffer_0[144] = float4(asfloat(_LensFlareScreenSpaceMipLevel), fragment_uniform_buffer_0[144][1], fragment_uniform_buffer_0[144][2], fragment_uniform_buffer_0[144][3]); fragment_input_1 = stage_input.fragment_input_1; frag_main(); Fragment_Stage_Output stage_output; stage_output.fragment_output_0 = fragment_output_0; return stage_output; } #endif // !STEREO_INSTANCING_ON #ifdef STEREO_INSTANCING_ON #define ANY_SHADER_VARIANT_ACTIVE float4 _RTHandleScale; float4 _ScreenSize; float4 _LensFlareScreenSpaceStreakTex_TexelSize; float4 _LensFlareScreenSpaceParams4; float4 _LensFlareScreenSpaceParams5; int _LensFlareScreenSpaceMipLevel; static float4 fragment_uniform_buffer_0[114]; Texture2DArray _LensFlareScreenSpaceStreakTex; SamplerState S0; static uint gl_Layer; static float2 fragment_input_1; static float4 fragment_output_0; struct Fragment_Stage_Input { float2 fragment_input_1 : TEXCOORD; // TEXCOORD uint gl_Layer : SV_RenderTargetArrayIndex; }; struct Fragment_Stage_Output { float4 fragment_output_0 : SV_Target0; }; void frag_main() { float fragment_unnamed_37 = floor(fragment_uniform_buffer_0[111u].z); precise float fragment_unnamed_38 = fragment_unnamed_37 + fragment_unnamed_37; precise float fragment_unnamed_39 = (-0.0f) - fragment_unnamed_38; bool fragment_unnamed_42 = fragment_unnamed_38 >= fragment_unnamed_39; precise float fragment_unnamed_51 = asfloat(fragment_unnamed_42 ? 1056964608u : 3204448256u) * fragment_unnamed_37; precise float fragment_unnamed_53 = frac(fragment_unnamed_51) * asfloat(fragment_unnamed_42 ? 1073741824u : 3221225472u); bool fragment_unnamed_54 = fragment_unnamed_53 == 0.0f; float fragment_unnamed_59 = frac(fragment_uniform_buffer_0[111u].z); precise float fragment_unnamed_60 = (-0.0f) - fragment_unnamed_59; precise float fragment_unnamed_61 = fragment_unnamed_60 + 1.0f; precise float fragment_unnamed_63 = (-0.0f) - fragment_unnamed_61; precise float fragment_unnamed_69 = (fragment_unnamed_54 ? fragment_unnamed_59 : fragment_unnamed_63) * fragment_uniform_buffer_0[107u].y; precise float fragment_unnamed_73 = fragment_unnamed_69 * fragment_uniform_buffer_0[111u].y; precise float fragment_unnamed_74 = fragment_unnamed_73 * 1.5f; precise float fragment_unnamed_76 = (-0.0f) - fragment_unnamed_61; precise float fragment_unnamed_77 = fragment_unnamed_76 + 1.0f; precise float fragment_unnamed_78 = (-0.0f) - fragment_unnamed_61; precise float fragment_unnamed_79 = (-0.0f) - fragment_unnamed_77; precise float fragment_unnamed_84 = (fragment_unnamed_54 ? fragment_unnamed_78 : fragment_unnamed_79) * fragment_uniform_buffer_0[107u].x; precise float fragment_unnamed_88 = fragment_unnamed_84 * fragment_uniform_buffer_0[111u].y; precise float fragment_unnamed_96 = float(int(asuint(fragment_uniform_buffer_0[113u]).x)) + 1.0f; precise float fragment_unnamed_97 = fragment_unnamed_96 * fragment_unnamed_88; precise float fragment_unnamed_98 = fragment_unnamed_96 * fragment_unnamed_74; precise float fragment_unnamed_99 = fragment_unnamed_97 * 1.5f; precise float fragment_unnamed_104 = fragment_unnamed_99 / fragment_uniform_buffer_0[112u].x; precise float fragment_unnamed_105 = fragment_unnamed_98 / fragment_uniform_buffer_0[112u].x; precise float fragment_unnamed_106 = (-0.0f) - fragment_unnamed_104; precise float fragment_unnamed_107 = (-0.0f) - fragment_unnamed_105; precise float fragment_unnamed_114 = fragment_unnamed_106 + fragment_input_1.x; precise float fragment_unnamed_115 = fragment_unnamed_107 + fragment_input_1.y; precise float fragment_unnamed_122 = fragment_unnamed_104 + fragment_input_1.x; precise float fragment_unnamed_123 = fragment_unnamed_105 + fragment_input_1.y; precise float fragment_unnamed_130 = (-0.0f) - fragment_uniform_buffer_0[92u].z; precise float fragment_unnamed_132 = (-0.0f) - fragment_uniform_buffer_0[92u].w; float fragment_unnamed_138 = mad(fragment_unnamed_130, 0.5f, fragment_uniform_buffer_0[27u].x); float fragment_unnamed_140 = mad(fragment_unnamed_132, 0.5f, fragment_uniform_buffer_0[27u].y); float fragment_unnamed_144 = float(uint(gl_Layer)); float4 fragment_unnamed_151 = _LensFlareScreenSpaceStreakTex.SampleBias(S0, float3(min(fragment_unnamed_138, clamp(fragment_unnamed_114, 0.0f, 1.0f)), min(fragment_unnamed_140, clamp(fragment_unnamed_115, 0.0f, 1.0f)), fragment_unnamed_144), fragment_uniform_buffer_0[4u].x); float4 fragment_unnamed_170 = _LensFlareScreenSpaceStreakTex.SampleBias(S0, float3(min(fragment_unnamed_138, clamp(fragment_input_1.x, 0.0f, 1.0f)), min(fragment_unnamed_140, clamp(fragment_input_1.y, 0.0f, 1.0f)), fragment_unnamed_144), fragment_uniform_buffer_0[4u].x); float4 fragment_unnamed_178 = _LensFlareScreenSpaceStreakTex.SampleBias(S0, float3(min(fragment_unnamed_138, clamp(fragment_unnamed_122, 0.0f, 1.0f)), min(fragment_unnamed_140, clamp(fragment_unnamed_123, 0.0f, 1.0f)), fragment_unnamed_144), fragment_uniform_buffer_0[4u].x); precise float fragment_unnamed_183 = fragment_unnamed_170.x * 0.5f; precise float fragment_unnamed_184 = fragment_unnamed_170.y * 0.5f; precise float fragment_unnamed_185 = fragment_unnamed_170.z * 0.5f; fragment_output_0.x = mad(fragment_unnamed_178.x, 0.25f, mad(fragment_unnamed_151.x, 0.25f, fragment_unnamed_183)); fragment_output_0.y = mad(fragment_unnamed_178.y, 0.25f, mad(fragment_unnamed_151.y, 0.25f, fragment_unnamed_184)); fragment_output_0.z = mad(fragment_unnamed_178.z, 0.25f, mad(fragment_unnamed_151.z, 0.25f, fragment_unnamed_185)); fragment_output_0.w = 1.0f; } Fragment_Stage_Output frag(Fragment_Stage_Input stage_input) { fragment_uniform_buffer_0[27] = float4(_RTHandleScale[0], _RTHandleScale[1], _RTHandleScale[2], _RTHandleScale[3]); fragment_uniform_buffer_0[92] = float4(_ScreenSize[0], _ScreenSize[1], _ScreenSize[2], _ScreenSize[3]); fragment_uniform_buffer_0[107] = float4(_LensFlareScreenSpaceStreakTex_TexelSize[0], _LensFlareScreenSpaceStreakTex_TexelSize[1], _LensFlareScreenSpaceStreakTex_TexelSize[2], _LensFlareScreenSpaceStreakTex_TexelSize[3]); fragment_uniform_buffer_0[111] = float4(_LensFlareScreenSpaceParams4[0], _LensFlareScreenSpaceParams4[1], _LensFlareScreenSpaceParams4[2], _LensFlareScreenSpaceParams4[3]); fragment_uniform_buffer_0[112] = float4(_LensFlareScreenSpaceParams5[0], _LensFlareScreenSpaceParams5[1], _LensFlareScreenSpaceParams5[2], _LensFlareScreenSpaceParams5[3]); fragment_uniform_buffer_0[113] = float4(asfloat(_LensFlareScreenSpaceMipLevel), fragment_uniform_buffer_0[113][1], fragment_uniform_buffer_0[113][2], fragment_uniform_buffer_0[113][3]); gl_Layer = stage_input.gl_Layer; fragment_input_1 = stage_input.fragment_input_1; frag_main(); Fragment_Stage_Output stage_output; stage_output.fragment_output_0 = fragment_output_0; return stage_output; } #endif // STEREO_INSTANCING_ON ENDHLSL } Pass { Name "LensFlareScreenSpace Composition" LOD 100 Tags { "QUEUE" = "Transparent" "RenderPipeline" = "UniversalPipeline" "RenderType" = "Transparent" } ZTest Always ZWrite Off Cull Off GpuProgramID 223373 HLSLPROGRAM // https://docs.unity3d.com/Manual/SL-PragmaDirectives.html #pragma vertex vert #pragma fragment frag #pragma target 4.0 #pragma multi_compile _ STEREO_INSTANCING_ON #ifndef STEREO_INSTANCING_ON #define ANY_SHADER_VARIANT_ACTIVE static float4 gl_Position; static int gl_VertexIndex; static int gl_BaseVertexARB; static float2 vertex_output_1; struct Vertex_Stage_Input { uint gl_VertexIndex : SV_VertexID; uint gl_BaseVertexARB : SV_StartVertexLocation; }; struct Vertex_Stage_Output { float2 vertex_output_1 : TEXCOORD; // TEXCOORD float4 gl_Position : SV_Position; }; void vert_main() { uint vertex_unnamed_19 = (uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) & 1u; uint vertex_unnamed_24 = (uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) >> 1u; float vertex_unnamed_29 = float(vertex_unnamed_24); precise float vertex_unnamed_32 = (-0.0f) - float((vertex_unnamed_19 + vertex_unnamed_24) & 1u); precise float vertex_unnamed_34 = vertex_unnamed_32 + 1.0f; precise float vertex_unnamed_36 = (-0.0f) - vertex_unnamed_34; precise float vertex_unnamed_37 = vertex_unnamed_36 + 1.0f; vertex_output_1.x = vertex_unnamed_29; vertex_output_1.y = vertex_unnamed_37; gl_Position.x = mad(vertex_unnamed_29, 2.0f, -1.0f); gl_Position.y = mad(float((((-vertex_unnamed_19) + (-vertex_unnamed_24)) + 1u) & 1u), 2.0f, -1.0f); gl_Position.z = 1.0f; gl_Position.w = 1.0f; } Vertex_Stage_Output vert(Vertex_Stage_Input stage_input) { gl_VertexIndex = int(stage_input.gl_VertexIndex + stage_input.gl_BaseVertexARB); gl_BaseVertexARB = stage_input.gl_BaseVertexARB; vert_main(); Vertex_Stage_Output stage_output; stage_output.gl_Position = gl_Position; stage_output.vertex_output_1 = vertex_output_1; return stage_output; } #endif // !STEREO_INSTANCING_ON #ifdef STEREO_INSTANCING_ON #define ANY_SHADER_VARIANT_ACTIVE static float4 gl_Position; static uint gl_Layer; static int gl_VertexIndex; static int gl_InstanceIndex; static int gl_BaseVertexARB; static int gl_BaseInstanceARB; static float2 vertex_output_1; struct Vertex_Stage_Input { uint gl_VertexIndex : SV_VertexID; uint gl_InstanceIndex : SV_InstanceID; uint gl_BaseVertexARB : SV_StartVertexLocation; uint gl_BaseInstanceARB : SV_StartInstanceLocation; }; struct Vertex_Stage_Output { float2 vertex_output_1 : TEXCOORD; // TEXCOORD float4 gl_Position : SV_Position; uint gl_Layer : SV_RenderTargetArrayIndex; }; void vert_main() { uint vertex_unnamed_22 = (uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) & 1u; uint vertex_unnamed_27 = (uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) >> 1u; float vertex_unnamed_32 = float(vertex_unnamed_27); precise float vertex_unnamed_35 = (-0.0f) - float((vertex_unnamed_22 + vertex_unnamed_27) & 1u); precise float vertex_unnamed_37 = vertex_unnamed_35 + 1.0f; precise float vertex_unnamed_39 = (-0.0f) - vertex_unnamed_37; precise float vertex_unnamed_40 = vertex_unnamed_39 + 1.0f; vertex_output_1.x = vertex_unnamed_32; vertex_output_1.y = vertex_unnamed_40; gl_Position.x = mad(vertex_unnamed_32, 2.0f, -1.0f); gl_Position.y = mad(float((((-vertex_unnamed_22) + (-vertex_unnamed_27)) + 1u) & 1u), 2.0f, -1.0f); gl_Position.z = 1.0f; gl_Position.w = 1.0f; gl_Layer = int((uint(gl_InstanceIndex) - uint(gl_BaseInstanceARB)) & 1u); } Vertex_Stage_Output vert(Vertex_Stage_Input stage_input) { gl_VertexIndex = int(stage_input.gl_VertexIndex + stage_input.gl_BaseVertexARB); gl_InstanceIndex = int(stage_input.gl_InstanceIndex + stage_input.gl_BaseInstanceARB); gl_BaseVertexARB = stage_input.gl_BaseVertexARB; gl_BaseInstanceARB = stage_input.gl_BaseInstanceARB; vert_main(); Vertex_Stage_Output stage_output; stage_output.gl_Position = gl_Position; stage_output.gl_Layer = gl_Layer; stage_output.vertex_output_1 = vertex_output_1; return stage_output; } #endif // STEREO_INSTANCING_ON #ifndef STEREO_INSTANCING_ON #define ANY_SHADER_VARIANT_ACTIVE float4 _RTHandleScale; float4 _ScreenSize; float4 _LensFlareScreenSpaceBloomMipTexture_TexelSize; float4 _LensFlareScreenSpaceParams1; float4 _LensFlareScreenSpaceParams2; float4 _LensFlareScreenSpaceParams3; float4 _LensFlareScreenSpaceParams4; float4 _LensFlareScreenSpaceParams5; float3 _LensFlareScreenSpaceTintColor; static float4 fragment_uniform_buffer_0[145]; Texture2D _LensFlareScreenSpaceStreakTex; Texture2D _LensFlareScreenSpaceBloomMipTexture; SamplerState S0; static float2 fragment_input_1; static float4 fragment_output_0; struct Fragment_Stage_Input { float2 fragment_input_1 : TEXCOORD; // TEXCOORD }; struct Fragment_Stage_Output { float4 fragment_output_0 : SV_Target0; }; void frag_main() { float fragment_unnamed_173; float fragment_unnamed_175; float fragment_unnamed_177; if (0.0f < fragment_uniform_buffer_0[142u].x) { float fragment_unnamed_184; float fragment_unnamed_185; float fragment_unnamed_186; if (0.0f < fragment_uniform_buffer_0[141u].z) { float fragment_unnamed_58 = mad(fragment_input_1.x, 2.0f, -1.0f); float fragment_unnamed_59 = mad(fragment_input_1.y, 2.0f, -1.0f); float fragment_unnamed_60 = dot(float2(fragment_unnamed_58, fragment_unnamed_59), float2(fragment_unnamed_58, fragment_unnamed_59)); precise float fragment_unnamed_63 = mad(fragment_input_1.x, 2.0f, -1.0f) * fragment_unnamed_60; precise float fragment_unnamed_64 = mad(fragment_input_1.y, 2.0f, -1.0f) * fragment_unnamed_60; precise float fragment_unnamed_65 = fragment_unnamed_58 * fragment_unnamed_60; precise float fragment_unnamed_66 = fragment_unnamed_59 * fragment_unnamed_60; precise float fragment_unnamed_70 = fragment_unnamed_63 * fragment_uniform_buffer_0[141u].z; precise float fragment_unnamed_71 = fragment_unnamed_64 * fragment_uniform_buffer_0[141u].z; precise float fragment_unnamed_72 = fragment_unnamed_65 * fragment_uniform_buffer_0[141u].z; precise float fragment_unnamed_73 = fragment_unnamed_66 * fragment_uniform_buffer_0[141u].z; precise float fragment_unnamed_78 = (-0.0f) - fragment_uniform_buffer_0[123u].z; precise float fragment_unnamed_81 = (-0.0f) - fragment_uniform_buffer_0[123u].w; float fragment_unnamed_86 = mad(fragment_unnamed_78, 0.5f, 1.0f); float fragment_unnamed_87 = mad(fragment_unnamed_81, 0.5f, 1.0f); precise float fragment_unnamed_99 = min(fragment_unnamed_86, fragment_input_1.x) * fragment_uniform_buffer_0[28u].x; precise float fragment_unnamed_100 = min(fragment_unnamed_87, fragment_input_1.y) * fragment_uniform_buffer_0[28u].y; precise float fragment_unnamed_128 = min(mad(fragment_unnamed_78, 0.5f, 1.0f), mad(fragment_unnamed_70, -0.3333333432674407958984375f, fragment_input_1.x)) * fragment_uniform_buffer_0[28u].x; precise float fragment_unnamed_129 = min(mad(fragment_unnamed_81, 0.5f, 1.0f), mad(fragment_unnamed_71, -0.3333333432674407958984375f, fragment_input_1.y)) * fragment_uniform_buffer_0[28u].y; precise float fragment_unnamed_130 = min(fragment_unnamed_86, mad(fragment_unnamed_72, -0.666666686534881591796875f, fragment_input_1.x)) * fragment_uniform_buffer_0[28u].x; precise float fragment_unnamed_131 = min(fragment_unnamed_87, mad(fragment_unnamed_73, -0.666666686534881591796875f, fragment_input_1.y)) * fragment_uniform_buffer_0[28u].y; fragment_unnamed_184 = _LensFlareScreenSpaceStreakTex.SampleBias(S0, float2(fragment_unnamed_130, fragment_unnamed_131), fragment_uniform_buffer_0[4u].x).z; fragment_unnamed_185 = _LensFlareScreenSpaceStreakTex.SampleBias(S0, float2(fragment_unnamed_128, fragment_unnamed_129), fragment_uniform_buffer_0[4u].x).y; fragment_unnamed_186 = _LensFlareScreenSpaceStreakTex.SampleBias(S0, float2(fragment_unnamed_99, fragment_unnamed_100), fragment_uniform_buffer_0[4u].x).x; } else { precise float fragment_unnamed_147 = (-0.0f) - fragment_uniform_buffer_0[123u].z; precise float fragment_unnamed_149 = (-0.0f) - fragment_uniform_buffer_0[123u].w; precise float fragment_unnamed_162 = min(mad(fragment_unnamed_147, 0.5f, 1.0f), fragment_input_1.x) * fragment_uniform_buffer_0[28u].x; precise float fragment_unnamed_163 = min(mad(fragment_unnamed_149, 0.5f, 1.0f), fragment_input_1.y) * fragment_uniform_buffer_0[28u].y; float4 fragment_unnamed_168 = _LensFlareScreenSpaceStreakTex.SampleBias(S0, float2(fragment_unnamed_162, fragment_unnamed_163), fragment_uniform_buffer_0[4u].x); fragment_unnamed_184 = fragment_unnamed_168.z; fragment_unnamed_185 = fragment_unnamed_168.y; fragment_unnamed_186 = fragment_unnamed_168.x; } precise float fragment_unnamed_193 = fragment_unnamed_186 * fragment_uniform_buffer_0[144u].y; precise float fragment_unnamed_194 = fragment_unnamed_185 * fragment_uniform_buffer_0[144u].z; precise float fragment_unnamed_195 = fragment_unnamed_184 * fragment_uniform_buffer_0[144u].w; precise float fragment_unnamed_178 = fragment_unnamed_193 * fragment_uniform_buffer_0[142u].x; precise float fragment_unnamed_176 = fragment_unnamed_194 * fragment_uniform_buffer_0[142u].x; precise float fragment_unnamed_174 = fragment_unnamed_195 * fragment_uniform_buffer_0[142u].x; fragment_unnamed_173 = fragment_unnamed_174; fragment_unnamed_175 = fragment_unnamed_176; fragment_unnamed_177 = fragment_unnamed_178; } else { fragment_unnamed_173 = asfloat(0u); fragment_unnamed_175 = asfloat(0u); fragment_unnamed_177 = asfloat(0u); } float fragment_unnamed_328; float fragment_unnamed_330; float fragment_unnamed_332; if (0.0f < fragment_uniform_buffer_0[139u].x) { precise float fragment_unnamed_203 = fragment_input_1.x + (-0.5f); precise float fragment_unnamed_205 = fragment_input_1.y + (-0.5f); float fragment_unnamed_212 = mad(fragment_input_1.x, 2.0f, -1.0f); float fragment_unnamed_213 = mad(fragment_input_1.y, 2.0f, -1.0f); float fragment_unnamed_216 = max(abs(mad(fragment_input_1.x, 2.0f, -1.0f)), 5.9604644775390625e-08f); float fragment_unnamed_218 = max(abs(mad(fragment_input_1.y, 2.0f, -1.0f)), 5.9604644775390625e-08f); precise float fragment_unnamed_219 = fragment_unnamed_216 * fragment_unnamed_216; precise float fragment_unnamed_220 = fragment_unnamed_218 * fragment_unnamed_218; float fragment_unnamed_221 = min(fragment_unnamed_219, 1.0f); precise float fragment_unnamed_223 = min(fragment_unnamed_220, 1.0f) + fragment_unnamed_221; float fragment_unnamed_224 = max(fragment_unnamed_223, 5.9604644775390625e-08f); precise float fragment_unnamed_225 = fragment_unnamed_224 * fragment_unnamed_224; precise float fragment_unnamed_227 = min(fragment_unnamed_225, 1.0f) + (-1.0f); float fragment_unnamed_232 = mad(fragment_uniform_buffer_0[140u].x, fragment_unnamed_227, 1.0f); float fragment_unnamed_238 = log2(max(abs(fragment_uniform_buffer_0[141u].y), 5.9604644775390625e-08f)); bool fragment_unnamed_242 = 0.0f < fragment_uniform_buffer_0[141u].z; float fragment_unnamed_243 = dot(float2(fragment_unnamed_212, fragment_unnamed_213), float2(fragment_unnamed_212, fragment_unnamed_213)); precise float fragment_unnamed_246 = fragment_unnamed_243 * fragment_unnamed_212; precise float fragment_unnamed_247 = fragment_unnamed_243 * fragment_unnamed_213; precise float fragment_unnamed_248 = fragment_unnamed_243 * fragment_unnamed_212; precise float fragment_unnamed_249 = fragment_unnamed_243 * fragment_unnamed_213; precise float fragment_unnamed_253 = fragment_unnamed_246 * fragment_uniform_buffer_0[141u].z; precise float fragment_unnamed_254 = fragment_unnamed_247 * fragment_uniform_buffer_0[141u].z; precise float fragment_unnamed_255 = fragment_unnamed_248 * fragment_uniform_buffer_0[141u].z; precise float fragment_unnamed_256 = fragment_unnamed_249 * fragment_uniform_buffer_0[141u].z; bool fragment_unnamed_262 = 0.0f < fragment_uniform_buffer_0[139u].z; bool fragment_unnamed_263 = 0.0f < fragment_uniform_buffer_0[139u].y; bool fragment_unnamed_264 = 0.0f < fragment_uniform_buffer_0[139u].w; precise float fragment_unnamed_269 = (-0.0f) - fragment_uniform_buffer_0[137u].x; precise float fragment_unnamed_271 = (-0.0f) - fragment_uniform_buffer_0[137u].y; float fragment_unnamed_272 = mad(fragment_unnamed_269, 0.5f, 1.0f); float fragment_unnamed_273 = mad(fragment_unnamed_271, 0.5f, 1.0f); precise float fragment_unnamed_277 = (-0.0f) - fragment_uniform_buffer_0[123u].z; precise float fragment_unnamed_279 = (-0.0f) - fragment_uniform_buffer_0[123u].w; float fragment_unnamed_280 = mad(fragment_unnamed_277, 0.5f, 1.0f); float fragment_unnamed_281 = mad(fragment_unnamed_279, 0.5f, 1.0f); precise float fragment_unnamed_287 = fragment_uniform_buffer_0[139u].z * 0.100000001490116119384765625f; precise float fragment_unnamed_289 = fragment_uniform_buffer_0[139u].y * 0.100000001490116119384765625f; precise float fragment_unnamed_290 = fragment_uniform_buffer_0[139u].w * 0.100000001490116119384765625f; float fragment_unnamed_303; float fragment_unnamed_305; float fragment_unnamed_307; float fragment_unnamed_309; float fragment_unnamed_311; float fragment_unnamed_313; float fragment_unnamed_315; float fragment_unnamed_317; float fragment_unnamed_319; uint fragment_unnamed_321; fragment_unnamed_303 = asfloat(0u); fragment_unnamed_305 = asfloat(0u); fragment_unnamed_307 = asfloat(0u); fragment_unnamed_309 = asfloat(0u); fragment_unnamed_311 = asfloat(0u); fragment_unnamed_313 = asfloat(0u); fragment_unnamed_315 = asfloat(0u); fragment_unnamed_317 = asfloat(0u); fragment_unnamed_319 = asfloat(0u); fragment_unnamed_321 = 0u; float fragment_unnamed_316; float fragment_unnamed_318; float fragment_unnamed_320; float fragment_unnamed_304; float fragment_unnamed_306; float fragment_unnamed_308; float fragment_unnamed_310; float fragment_unnamed_312; float fragment_unnamed_314; float fragment_unnamed_323; for (;;) { fragment_unnamed_323 = float(int(fragment_unnamed_321)); if (fragment_unnamed_323 >= fragment_uniform_buffer_0[141u].x) { break; } else { precise float fragment_unnamed_362 = fragment_unnamed_323 + fragment_uniform_buffer_0[140u].y; precise float fragment_unnamed_369 = log2(max(abs(fragment_unnamed_362), 5.9604644775390625e-08f)) * fragment_uniform_buffer_0[140u].z; float fragment_unnamed_370 = exp2(fragment_unnamed_369); precise float fragment_unnamed_371 = fragment_unnamed_238 * fragment_unnamed_323; float fragment_unnamed_372 = exp2(fragment_unnamed_371); if (fragment_unnamed_262) { precise float fragment_unnamed_373 = fragment_unnamed_287 * fragment_unnamed_372; precise float fragment_unnamed_374 = (-0.0f) - fragment_unnamed_370; bool fragment_unnamed_375 = fragment_unnamed_374 < 0.0f; precise float fragment_unnamed_376 = 1.0f / fragment_unnamed_370; float fragment_unnamed_377 = mad(fragment_unnamed_203, fragment_unnamed_376, 0.5f); float fragment_unnamed_378 = mad(fragment_unnamed_205, fragment_unnamed_376, 0.5f); precise float fragment_unnamed_379 = (-0.0f) - fragment_unnamed_377; precise float fragment_unnamed_380 = (-0.0f) - fragment_unnamed_378; precise float fragment_unnamed_381 = fragment_unnamed_379 + 1.0f; precise float fragment_unnamed_382 = fragment_unnamed_380 + 1.0f; float fragment_unnamed_388 = asfloat(fragment_unnamed_375 ? asuint(fragment_unnamed_381) : asuint(fragment_unnamed_377)); float fragment_unnamed_390 = asfloat(fragment_unnamed_375 ? asuint(fragment_unnamed_382) : asuint(fragment_unnamed_378)); float fragment_unnamed_468; float fragment_unnamed_469; float fragment_unnamed_470; if (fragment_unnamed_242) { precise float fragment_unnamed_400 = min(fragment_unnamed_272, fragment_unnamed_388) * fragment_uniform_buffer_0[28u].x; precise float fragment_unnamed_401 = min(fragment_unnamed_273, fragment_unnamed_390) * fragment_uniform_buffer_0[28u].y; precise float fragment_unnamed_421 = min(fragment_unnamed_272, mad(fragment_unnamed_253, -0.3333333432674407958984375f, fragment_unnamed_388)) * fragment_uniform_buffer_0[28u].x; precise float fragment_unnamed_422 = min(fragment_unnamed_273, mad(fragment_unnamed_254, -0.3333333432674407958984375f, fragment_unnamed_390)) * fragment_uniform_buffer_0[28u].y; precise float fragment_unnamed_423 = min(fragment_unnamed_272, mad(fragment_unnamed_255, -0.666666686534881591796875f, fragment_unnamed_388)) * fragment_uniform_buffer_0[28u].x; precise float fragment_unnamed_424 = min(fragment_unnamed_273, mad(fragment_unnamed_256, -0.666666686534881591796875f, fragment_unnamed_390)) * fragment_uniform_buffer_0[28u].y; fragment_unnamed_468 = _LensFlareScreenSpaceBloomMipTexture.SampleBias(S0, float2(fragment_unnamed_400, fragment_unnamed_401), fragment_uniform_buffer_0[4u].x).x; fragment_unnamed_469 = _LensFlareScreenSpaceBloomMipTexture.SampleBias(S0, float2(fragment_unnamed_421, fragment_unnamed_422), fragment_uniform_buffer_0[4u].x).y; fragment_unnamed_470 = _LensFlareScreenSpaceBloomMipTexture.SampleBias(S0, float2(fragment_unnamed_423, fragment_unnamed_424), fragment_uniform_buffer_0[4u].x).z; } else { precise float fragment_unnamed_443 = min(fragment_unnamed_280, fragment_unnamed_388) * fragment_uniform_buffer_0[28u].x; precise float fragment_unnamed_444 = min(fragment_unnamed_281, fragment_unnamed_390) * fragment_uniform_buffer_0[28u].y; float4 fragment_unnamed_449 = _LensFlareScreenSpaceBloomMipTexture.SampleBias(S0, float2(fragment_unnamed_443, fragment_unnamed_444), fragment_uniform_buffer_0[4u].x); fragment_unnamed_468 = fragment_unnamed_449.x; fragment_unnamed_469 = fragment_unnamed_449.y; fragment_unnamed_470 = fragment_unnamed_449.z; } precise float fragment_unnamed_476 = fragment_unnamed_468 * fragment_uniform_buffer_0[144u].y; precise float fragment_unnamed_477 = fragment_unnamed_469 * fragment_uniform_buffer_0[144u].z; precise float fragment_unnamed_478 = fragment_unnamed_470 * fragment_uniform_buffer_0[144u].w; fragment_unnamed_304 = mad(fragment_unnamed_476, fragment_unnamed_373, fragment_unnamed_303); fragment_unnamed_306 = mad(fragment_unnamed_477, fragment_unnamed_373, fragment_unnamed_305); fragment_unnamed_308 = mad(fragment_unnamed_478, fragment_unnamed_373, fragment_unnamed_307); } else { fragment_unnamed_304 = fragment_unnamed_303; fragment_unnamed_306 = fragment_unnamed_305; fragment_unnamed_308 = fragment_unnamed_307; } if (fragment_unnamed_263) { precise float fragment_unnamed_454 = fragment_unnamed_289 * fragment_unnamed_372; bool fragment_unnamed_455 = fragment_unnamed_370 != 1.0f; precise float fragment_unnamed_456 = 1.0f / fragment_unnamed_370; float fragment_unnamed_463 = fragment_unnamed_455 ? mad(fragment_unnamed_203, fragment_unnamed_456, 0.5f) : fragment_input_1.x; float fragment_unnamed_464 = fragment_unnamed_455 ? mad(fragment_unnamed_205, fragment_unnamed_456, 0.5f) : fragment_input_1.y; float fragment_unnamed_612; float fragment_unnamed_613; float fragment_unnamed_614; if (fragment_unnamed_242) { precise float fragment_unnamed_485 = min(fragment_unnamed_272, fragment_unnamed_463) * fragment_uniform_buffer_0[28u].x; precise float fragment_unnamed_486 = min(fragment_unnamed_273, fragment_unnamed_464) * fragment_uniform_buffer_0[28u].y; precise float fragment_unnamed_506 = min(fragment_unnamed_272, mad(fragment_unnamed_253, -0.3333333432674407958984375f, fragment_unnamed_463)) * fragment_uniform_buffer_0[28u].x; precise float fragment_unnamed_507 = min(fragment_unnamed_273, mad(fragment_unnamed_254, -0.3333333432674407958984375f, fragment_unnamed_464)) * fragment_uniform_buffer_0[28u].y; precise float fragment_unnamed_508 = min(fragment_unnamed_272, mad(fragment_unnamed_255, -0.666666686534881591796875f, fragment_unnamed_463)) * fragment_uniform_buffer_0[28u].x; precise float fragment_unnamed_509 = min(fragment_unnamed_273, mad(fragment_unnamed_256, -0.666666686534881591796875f, fragment_unnamed_464)) * fragment_uniform_buffer_0[28u].y; fragment_unnamed_612 = _LensFlareScreenSpaceBloomMipTexture.SampleBias(S0, float2(fragment_unnamed_485, fragment_unnamed_486), fragment_uniform_buffer_0[4u].x).x; fragment_unnamed_613 = _LensFlareScreenSpaceBloomMipTexture.SampleBias(S0, float2(fragment_unnamed_506, fragment_unnamed_507), fragment_uniform_buffer_0[4u].x).y; fragment_unnamed_614 = _LensFlareScreenSpaceBloomMipTexture.SampleBias(S0, float2(fragment_unnamed_508, fragment_unnamed_509), fragment_uniform_buffer_0[4u].x).z; } else { precise float fragment_unnamed_528 = min(fragment_unnamed_280, fragment_unnamed_463) * fragment_uniform_buffer_0[28u].x; precise float fragment_unnamed_529 = min(fragment_unnamed_281, fragment_unnamed_464) * fragment_uniform_buffer_0[28u].y; float4 fragment_unnamed_534 = _LensFlareScreenSpaceBloomMipTexture.SampleBias(S0, float2(fragment_unnamed_528, fragment_unnamed_529), fragment_uniform_buffer_0[4u].x); fragment_unnamed_612 = fragment_unnamed_534.x; fragment_unnamed_613 = fragment_unnamed_534.y; fragment_unnamed_614 = fragment_unnamed_534.z; } precise float fragment_unnamed_620 = fragment_unnamed_612 * fragment_uniform_buffer_0[144u].y; precise float fragment_unnamed_621 = fragment_unnamed_613 * fragment_uniform_buffer_0[144u].z; precise float fragment_unnamed_622 = fragment_unnamed_614 * fragment_uniform_buffer_0[144u].w; fragment_unnamed_310 = mad(fragment_unnamed_620, fragment_unnamed_454, fragment_unnamed_309); fragment_unnamed_312 = mad(fragment_unnamed_621, fragment_unnamed_454, fragment_unnamed_311); fragment_unnamed_314 = mad(fragment_unnamed_622, fragment_unnamed_454, fragment_unnamed_313); } else { fragment_unnamed_310 = fragment_unnamed_309; fragment_unnamed_312 = fragment_unnamed_311; fragment_unnamed_314 = fragment_unnamed_313; } float frontier_phi_23_pred; float frontier_phi_23_pred_1; float frontier_phi_23_pred_2; if (fragment_unnamed_264) { precise float fragment_unnamed_539 = fragment_unnamed_290 * fragment_unnamed_372; precise float fragment_unnamed_540 = (-0.0f) - fragment_unnamed_370; precise float fragment_unnamed_542 = 1.0f / fragment_unnamed_370; precise float fragment_unnamed_543 = fragment_unnamed_542 + fragment_unnamed_542; precise float fragment_unnamed_544 = fragment_unnamed_203 * fragment_unnamed_543; precise float fragment_unnamed_545 = fragment_unnamed_205 * fragment_unnamed_543; precise float fragment_unnamed_551 = fragment_unnamed_544 * fragment_uniform_buffer_0[143u].y; precise float fragment_unnamed_552 = fragment_unnamed_545 * fragment_uniform_buffer_0[143u].z; float fragment_unnamed_555 = max(abs(fragment_unnamed_551), 5.9604644775390625e-08f); float fragment_unnamed_556 = max(abs(fragment_unnamed_552), 5.9604644775390625e-08f); precise float fragment_unnamed_557 = fragment_unnamed_555 * fragment_unnamed_555; precise float fragment_unnamed_558 = fragment_unnamed_556 * fragment_unnamed_556; precise float fragment_unnamed_559 = fragment_unnamed_558 + fragment_unnamed_557; precise float fragment_unnamed_561 = sqrt(fragment_unnamed_559) * 0.707106769084930419921875f; float fragment_unnamed_563 = min(fragment_unnamed_561, 1.0f); precise float fragment_unnamed_564 = fragment_unnamed_551 / fragment_unnamed_552; bool fragment_unnamed_566 = abs(fragment_unnamed_564) < 1.0f; precise float fragment_unnamed_568 = 1.0f / abs(fragment_unnamed_564); float fragment_unnamed_570 = fragment_unnamed_566 ? abs(fragment_unnamed_564) : fragment_unnamed_568; precise float fragment_unnamed_571 = fragment_unnamed_570 * fragment_unnamed_570; float fragment_unnamed_575 = mad(mad(fragment_unnamed_571, 0.087292902171611785888671875f, -0.3018949925899505615234375f), fragment_unnamed_571, 1.0f); precise float fragment_unnamed_576 = fragment_unnamed_570 * fragment_unnamed_575; precise float fragment_unnamed_577 = (-0.0f) - fragment_unnamed_575; float fragment_unnamed_583 = asfloat(fragment_unnamed_566 ? asuint(fragment_unnamed_576) : asuint(mad(fragment_unnamed_577, fragment_unnamed_570, 1.57079637050628662109375f))); precise float fragment_unnamed_588 = (-0.0f) - fragment_unnamed_583; precise float fragment_unnamed_601 = (-0.0f) - clamp(mad(mad(asfloat((fragment_unnamed_551 >= 0.0f) ? 1078530011u : 3226013659u), asfloat(((fragment_unnamed_552 < 0.0f) ? 4294967295u : 0u) & 1065353216u), (fragment_unnamed_564 < 0.0f) ? fragment_unnamed_588 : fragment_unnamed_583), 0.15915493667125701904296875f, 0.5f), 0.0f, 1.0f); precise float fragment_unnamed_602 = fragment_unnamed_601 + 1.0f; precise float fragment_unnamed_603 = (-0.0f) - fragment_unnamed_563; precise float fragment_unnamed_604 = fragment_unnamed_603 + 1.0f; float fragment_unnamed_608 = asfloat((fragment_unnamed_540 < 0.0f) ? asuint(fragment_unnamed_604) : asuint(fragment_unnamed_563)); float fragment_unnamed_683; float fragment_unnamed_684; float fragment_unnamed_685; if (fragment_unnamed_242) { precise float fragment_unnamed_629 = min(fragment_unnamed_272, fragment_unnamed_602) * fragment_uniform_buffer_0[28u].x; precise float fragment_unnamed_630 = min(fragment_unnamed_273, fragment_unnamed_608) * fragment_uniform_buffer_0[28u].y; precise float fragment_unnamed_650 = min(fragment_unnamed_272, mad(fragment_unnamed_253, -0.3333333432674407958984375f, fragment_unnamed_602)) * fragment_uniform_buffer_0[28u].x; precise float fragment_unnamed_651 = min(fragment_unnamed_273, mad(fragment_unnamed_254, -0.3333333432674407958984375f, fragment_unnamed_608)) * fragment_uniform_buffer_0[28u].y; precise float fragment_unnamed_652 = min(fragment_unnamed_272, mad(fragment_unnamed_255, -0.666666686534881591796875f, fragment_unnamed_602)) * fragment_uniform_buffer_0[28u].x; precise float fragment_unnamed_653 = min(fragment_unnamed_273, mad(fragment_unnamed_256, -0.666666686534881591796875f, fragment_unnamed_608)) * fragment_uniform_buffer_0[28u].y; fragment_unnamed_683 = _LensFlareScreenSpaceBloomMipTexture.SampleBias(S0, float2(fragment_unnamed_629, fragment_unnamed_630), fragment_uniform_buffer_0[4u].x).x; fragment_unnamed_684 = _LensFlareScreenSpaceBloomMipTexture.SampleBias(S0, float2(fragment_unnamed_650, fragment_unnamed_651), fragment_uniform_buffer_0[4u].x).y; fragment_unnamed_685 = _LensFlareScreenSpaceBloomMipTexture.SampleBias(S0, float2(fragment_unnamed_652, fragment_unnamed_653), fragment_uniform_buffer_0[4u].x).z; } else { precise float fragment_unnamed_672 = min(fragment_unnamed_280, fragment_unnamed_602) * fragment_uniform_buffer_0[28u].x; precise float fragment_unnamed_673 = min(fragment_unnamed_281, fragment_unnamed_608) * fragment_uniform_buffer_0[28u].y; float4 fragment_unnamed_678 = _LensFlareScreenSpaceBloomMipTexture.SampleBias(S0, float2(fragment_unnamed_672, fragment_unnamed_673), fragment_uniform_buffer_0[4u].x); fragment_unnamed_683 = fragment_unnamed_678.x; fragment_unnamed_684 = fragment_unnamed_678.y; fragment_unnamed_685 = fragment_unnamed_678.z; } precise float fragment_unnamed_691 = fragment_unnamed_683 * fragment_uniform_buffer_0[144u].y; precise float fragment_unnamed_692 = fragment_unnamed_684 * fragment_uniform_buffer_0[144u].z; precise float fragment_unnamed_693 = fragment_unnamed_685 * fragment_uniform_buffer_0[144u].w; frontier_phi_23_pred = mad(fragment_unnamed_693, fragment_unnamed_539, fragment_unnamed_319); frontier_phi_23_pred_1 = mad(fragment_unnamed_692, fragment_unnamed_539, fragment_unnamed_317); frontier_phi_23_pred_2 = mad(fragment_unnamed_691, fragment_unnamed_539, fragment_unnamed_315); } else { frontier_phi_23_pred = fragment_unnamed_319; frontier_phi_23_pred_1 = fragment_unnamed_317; frontier_phi_23_pred_2 = fragment_unnamed_315; } fragment_unnamed_320 = frontier_phi_23_pred; fragment_unnamed_318 = frontier_phi_23_pred_1; fragment_unnamed_316 = frontier_phi_23_pred_2; fragment_unnamed_303 = fragment_unnamed_304; fragment_unnamed_305 = fragment_unnamed_306; fragment_unnamed_307 = fragment_unnamed_308; fragment_unnamed_309 = fragment_unnamed_310; fragment_unnamed_311 = fragment_unnamed_312; fragment_unnamed_313 = fragment_unnamed_314; fragment_unnamed_315 = fragment_unnamed_316; fragment_unnamed_317 = fragment_unnamed_318; fragment_unnamed_319 = fragment_unnamed_320; fragment_unnamed_321++; continue; } } precise float fragment_unnamed_353 = fragment_unnamed_303 + fragment_unnamed_309; precise float fragment_unnamed_354 = fragment_unnamed_305 + fragment_unnamed_311; precise float fragment_unnamed_355 = fragment_unnamed_307 + fragment_unnamed_313; precise float fragment_unnamed_356 = fragment_unnamed_221 * fragment_unnamed_315; precise float fragment_unnamed_357 = fragment_unnamed_221 * fragment_unnamed_317; precise float fragment_unnamed_358 = fragment_unnamed_221 * fragment_unnamed_319; fragment_unnamed_328 = mad(fragment_unnamed_355, fragment_unnamed_232, fragment_unnamed_358); fragment_unnamed_330 = mad(fragment_unnamed_354, fragment_unnamed_232, fragment_unnamed_357); fragment_unnamed_332 = mad(fragment_unnamed_353, fragment_unnamed_232, fragment_unnamed_356); } else { fragment_unnamed_328 = asfloat(0u); fragment_unnamed_330 = asfloat(0u); fragment_unnamed_332 = asfloat(0u); } precise float fragment_unnamed_334 = fragment_unnamed_177 + fragment_unnamed_332; precise float fragment_unnamed_335 = fragment_unnamed_175 + fragment_unnamed_330; precise float fragment_unnamed_336 = fragment_unnamed_173 + fragment_unnamed_328; precise float fragment_unnamed_342 = fragment_unnamed_334 * fragment_uniform_buffer_0[139u].x; precise float fragment_unnamed_343 = fragment_unnamed_335 * fragment_uniform_buffer_0[139u].x; precise float fragment_unnamed_344 = fragment_unnamed_336 * fragment_uniform_buffer_0[139u].x; precise float fragment_unnamed_345 = asfloat(1065353216u) * fragment_uniform_buffer_0[139u].x; fragment_output_0.x = fragment_unnamed_342; fragment_output_0.y = fragment_unnamed_343; fragment_output_0.z = fragment_unnamed_344; fragment_output_0.w = fragment_unnamed_345; } Fragment_Stage_Output frag(Fragment_Stage_Input stage_input) { fragment_uniform_buffer_0[28] = float4(_RTHandleScale[0], _RTHandleScale[1], _RTHandleScale[2], _RTHandleScale[3]); fragment_uniform_buffer_0[123] = float4(_ScreenSize[0], _ScreenSize[1], _ScreenSize[2], _ScreenSize[3]); fragment_uniform_buffer_0[137] = float4(_LensFlareScreenSpaceBloomMipTexture_TexelSize[0], _LensFlareScreenSpaceBloomMipTexture_TexelSize[1], _LensFlareScreenSpaceBloomMipTexture_TexelSize[2], _LensFlareScreenSpaceBloomMipTexture_TexelSize[3]); fragment_uniform_buffer_0[139] = float4(_LensFlareScreenSpaceParams1[0], _LensFlareScreenSpaceParams1[1], _LensFlareScreenSpaceParams1[2], _LensFlareScreenSpaceParams1[3]); fragment_uniform_buffer_0[140] = float4(_LensFlareScreenSpaceParams2[0], _LensFlareScreenSpaceParams2[1], _LensFlareScreenSpaceParams2[2], _LensFlareScreenSpaceParams2[3]); fragment_uniform_buffer_0[141] = float4(_LensFlareScreenSpaceParams3[0], _LensFlareScreenSpaceParams3[1], _LensFlareScreenSpaceParams3[2], _LensFlareScreenSpaceParams3[3]); fragment_uniform_buffer_0[142] = float4(_LensFlareScreenSpaceParams4[0], _LensFlareScreenSpaceParams4[1], _LensFlareScreenSpaceParams4[2], _LensFlareScreenSpaceParams4[3]); fragment_uniform_buffer_0[143] = float4(_LensFlareScreenSpaceParams5[0], _LensFlareScreenSpaceParams5[1], _LensFlareScreenSpaceParams5[2], _LensFlareScreenSpaceParams5[3]); fragment_uniform_buffer_0[144] = float4(fragment_uniform_buffer_0[144][0], _LensFlareScreenSpaceTintColor[0], _LensFlareScreenSpaceTintColor[1], _LensFlareScreenSpaceTintColor[2]); fragment_input_1 = stage_input.fragment_input_1; frag_main(); Fragment_Stage_Output stage_output; stage_output.fragment_output_0 = fragment_output_0; return stage_output; } #endif // !STEREO_INSTANCING_ON #ifdef STEREO_INSTANCING_ON #define ANY_SHADER_VARIANT_ACTIVE float4 _RTHandleScale; float4 _ScreenSize; float4 _LensFlareScreenSpaceBloomMipTexture_TexelSize; float4 _LensFlareScreenSpaceParams1; float4 _LensFlareScreenSpaceParams2; float4 _LensFlareScreenSpaceParams3; float4 _LensFlareScreenSpaceParams4; float4 _LensFlareScreenSpaceParams5; float3 _LensFlareScreenSpaceTintColor; static float4 fragment_uniform_buffer_0[114]; Texture2DArray _LensFlareScreenSpaceStreakTex; Texture2DArray _LensFlareScreenSpaceBloomMipTexture; SamplerState S0; static uint gl_Layer; static float2 fragment_input_1; static float4 fragment_output_0; struct Fragment_Stage_Input { float2 fragment_input_1 : TEXCOORD; // TEXCOORD uint gl_Layer : SV_RenderTargetArrayIndex; }; struct Fragment_Stage_Output { float4 fragment_output_0 : SV_Target0; }; void frag_main() { float fragment_unnamed_180; float fragment_unnamed_182; float fragment_unnamed_184; if (0.0f < fragment_uniform_buffer_0[111u].x) { float fragment_unnamed_191; float fragment_unnamed_192; float fragment_unnamed_193; if (0.0f < fragment_uniform_buffer_0[110u].z) { float fragment_unnamed_60 = mad(fragment_input_1.x, 2.0f, -1.0f); float fragment_unnamed_61 = mad(fragment_input_1.y, 2.0f, -1.0f); float fragment_unnamed_62 = dot(float2(fragment_unnamed_60, fragment_unnamed_61), float2(fragment_unnamed_60, fragment_unnamed_61)); precise float fragment_unnamed_65 = mad(fragment_input_1.x, 2.0f, -1.0f) * fragment_unnamed_62; precise float fragment_unnamed_66 = mad(fragment_input_1.y, 2.0f, -1.0f) * fragment_unnamed_62; precise float fragment_unnamed_67 = fragment_unnamed_60 * fragment_unnamed_62; precise float fragment_unnamed_68 = fragment_unnamed_61 * fragment_unnamed_62; precise float fragment_unnamed_72 = fragment_unnamed_65 * fragment_uniform_buffer_0[110u].z; precise float fragment_unnamed_73 = fragment_unnamed_66 * fragment_uniform_buffer_0[110u].z; precise float fragment_unnamed_74 = fragment_unnamed_67 * fragment_uniform_buffer_0[110u].z; precise float fragment_unnamed_75 = fragment_unnamed_68 * fragment_uniform_buffer_0[110u].z; precise float fragment_unnamed_80 = (-0.0f) - fragment_uniform_buffer_0[92u].z; precise float fragment_unnamed_83 = (-0.0f) - fragment_uniform_buffer_0[92u].w; float fragment_unnamed_88 = mad(fragment_unnamed_80, 0.5f, 1.0f); float fragment_unnamed_89 = mad(fragment_unnamed_83, 0.5f, 1.0f); precise float fragment_unnamed_101 = min(fragment_unnamed_88, fragment_input_1.x) * fragment_uniform_buffer_0[27u].x; precise float fragment_unnamed_102 = min(fragment_unnamed_89, fragment_input_1.y) * fragment_uniform_buffer_0[27u].y; float fragment_unnamed_104 = float(uint(gl_Layer)); precise float fragment_unnamed_133 = min(mad(fragment_unnamed_80, 0.5f, 1.0f), mad(fragment_unnamed_72, -0.3333333432674407958984375f, fragment_input_1.x)) * fragment_uniform_buffer_0[27u].x; precise float fragment_unnamed_134 = min(mad(fragment_unnamed_83, 0.5f, 1.0f), mad(fragment_unnamed_73, -0.3333333432674407958984375f, fragment_input_1.y)) * fragment_uniform_buffer_0[27u].y; precise float fragment_unnamed_135 = min(fragment_unnamed_88, mad(fragment_unnamed_74, -0.666666686534881591796875f, fragment_input_1.x)) * fragment_uniform_buffer_0[27u].x; precise float fragment_unnamed_136 = min(fragment_unnamed_89, mad(fragment_unnamed_75, -0.666666686534881591796875f, fragment_input_1.y)) * fragment_uniform_buffer_0[27u].y; fragment_unnamed_191 = _LensFlareScreenSpaceStreakTex.SampleBias(S0, float3(fragment_unnamed_135, fragment_unnamed_136, fragment_unnamed_104), fragment_uniform_buffer_0[4u].x).z; fragment_unnamed_192 = _LensFlareScreenSpaceStreakTex.SampleBias(S0, float3(fragment_unnamed_133, fragment_unnamed_134, fragment_unnamed_104), fragment_uniform_buffer_0[4u].x).y; fragment_unnamed_193 = _LensFlareScreenSpaceStreakTex.SampleBias(S0, float3(fragment_unnamed_101, fragment_unnamed_102, fragment_unnamed_104), fragment_uniform_buffer_0[4u].x).x; } else { precise float fragment_unnamed_152 = (-0.0f) - fragment_uniform_buffer_0[92u].z; precise float fragment_unnamed_154 = (-0.0f) - fragment_uniform_buffer_0[92u].w; precise float fragment_unnamed_167 = min(mad(fragment_unnamed_152, 0.5f, 1.0f), fragment_input_1.x) * fragment_uniform_buffer_0[27u].x; precise float fragment_unnamed_168 = min(mad(fragment_unnamed_154, 0.5f, 1.0f), fragment_input_1.y) * fragment_uniform_buffer_0[27u].y; float4 fragment_unnamed_175 = _LensFlareScreenSpaceStreakTex.SampleBias(S0, float3(fragment_unnamed_167, fragment_unnamed_168, float(uint(gl_Layer))), fragment_uniform_buffer_0[4u].x); fragment_unnamed_191 = fragment_unnamed_175.z; fragment_unnamed_192 = fragment_unnamed_175.y; fragment_unnamed_193 = fragment_unnamed_175.x; } precise float fragment_unnamed_200 = fragment_unnamed_193 * fragment_uniform_buffer_0[113u].y; precise float fragment_unnamed_201 = fragment_unnamed_192 * fragment_uniform_buffer_0[113u].z; precise float fragment_unnamed_202 = fragment_unnamed_191 * fragment_uniform_buffer_0[113u].w; precise float fragment_unnamed_185 = fragment_unnamed_200 * fragment_uniform_buffer_0[111u].x; precise float fragment_unnamed_183 = fragment_unnamed_201 * fragment_uniform_buffer_0[111u].x; precise float fragment_unnamed_181 = fragment_unnamed_202 * fragment_uniform_buffer_0[111u].x; fragment_unnamed_180 = fragment_unnamed_181; fragment_unnamed_182 = fragment_unnamed_183; fragment_unnamed_184 = fragment_unnamed_185; } else { fragment_unnamed_180 = asfloat(0u); fragment_unnamed_182 = asfloat(0u); fragment_unnamed_184 = asfloat(0u); } float fragment_unnamed_337; float fragment_unnamed_339; float fragment_unnamed_341; if (0.0f < fragment_uniform_buffer_0[108u].x) { precise float fragment_unnamed_210 = fragment_input_1.x + (-0.5f); precise float fragment_unnamed_212 = fragment_input_1.y + (-0.5f); float fragment_unnamed_219 = mad(fragment_input_1.x, 2.0f, -1.0f); float fragment_unnamed_220 = mad(fragment_input_1.y, 2.0f, -1.0f); float fragment_unnamed_223 = max(abs(mad(fragment_input_1.x, 2.0f, -1.0f)), 5.9604644775390625e-08f); float fragment_unnamed_225 = max(abs(mad(fragment_input_1.y, 2.0f, -1.0f)), 5.9604644775390625e-08f); precise float fragment_unnamed_226 = fragment_unnamed_223 * fragment_unnamed_223; precise float fragment_unnamed_227 = fragment_unnamed_225 * fragment_unnamed_225; float fragment_unnamed_228 = min(fragment_unnamed_226, 1.0f); precise float fragment_unnamed_230 = min(fragment_unnamed_227, 1.0f) + fragment_unnamed_228; float fragment_unnamed_231 = max(fragment_unnamed_230, 5.9604644775390625e-08f); precise float fragment_unnamed_232 = fragment_unnamed_231 * fragment_unnamed_231; precise float fragment_unnamed_234 = min(fragment_unnamed_232, 1.0f) + (-1.0f); float fragment_unnamed_239 = mad(fragment_uniform_buffer_0[109u].x, fragment_unnamed_234, 1.0f); float fragment_unnamed_245 = log2(max(abs(fragment_uniform_buffer_0[110u].y), 5.9604644775390625e-08f)); bool fragment_unnamed_249 = 0.0f < fragment_uniform_buffer_0[110u].z; float fragment_unnamed_250 = dot(float2(fragment_unnamed_219, fragment_unnamed_220), float2(fragment_unnamed_219, fragment_unnamed_220)); precise float fragment_unnamed_253 = fragment_unnamed_250 * fragment_unnamed_219; precise float fragment_unnamed_254 = fragment_unnamed_250 * fragment_unnamed_220; precise float fragment_unnamed_255 = fragment_unnamed_250 * fragment_unnamed_219; precise float fragment_unnamed_256 = fragment_unnamed_250 * fragment_unnamed_220; precise float fragment_unnamed_260 = fragment_unnamed_253 * fragment_uniform_buffer_0[110u].z; precise float fragment_unnamed_261 = fragment_unnamed_254 * fragment_uniform_buffer_0[110u].z; precise float fragment_unnamed_262 = fragment_unnamed_255 * fragment_uniform_buffer_0[110u].z; precise float fragment_unnamed_263 = fragment_unnamed_256 * fragment_uniform_buffer_0[110u].z; bool fragment_unnamed_269 = 0.0f < fragment_uniform_buffer_0[108u].z; bool fragment_unnamed_270 = 0.0f < fragment_uniform_buffer_0[108u].y; bool fragment_unnamed_271 = 0.0f < fragment_uniform_buffer_0[108u].w; precise float fragment_unnamed_276 = (-0.0f) - fragment_uniform_buffer_0[106u].x; precise float fragment_unnamed_278 = (-0.0f) - fragment_uniform_buffer_0[106u].y; float fragment_unnamed_279 = mad(fragment_unnamed_276, 0.5f, 1.0f); float fragment_unnamed_280 = mad(fragment_unnamed_278, 0.5f, 1.0f); float fragment_unnamed_282 = float(uint(gl_Layer)); precise float fragment_unnamed_286 = (-0.0f) - fragment_uniform_buffer_0[92u].z; precise float fragment_unnamed_288 = (-0.0f) - fragment_uniform_buffer_0[92u].w; float fragment_unnamed_289 = mad(fragment_unnamed_286, 0.5f, 1.0f); float fragment_unnamed_290 = mad(fragment_unnamed_288, 0.5f, 1.0f); precise float fragment_unnamed_296 = fragment_uniform_buffer_0[108u].z * 0.100000001490116119384765625f; precise float fragment_unnamed_298 = fragment_uniform_buffer_0[108u].y * 0.100000001490116119384765625f; precise float fragment_unnamed_299 = fragment_uniform_buffer_0[108u].w * 0.100000001490116119384765625f; float fragment_unnamed_312; float fragment_unnamed_314; float fragment_unnamed_316; float fragment_unnamed_318; float fragment_unnamed_320; float fragment_unnamed_322; float fragment_unnamed_324; float fragment_unnamed_326; float fragment_unnamed_328; uint fragment_unnamed_330; fragment_unnamed_312 = asfloat(0u); fragment_unnamed_314 = asfloat(0u); fragment_unnamed_316 = asfloat(0u); fragment_unnamed_318 = asfloat(0u); fragment_unnamed_320 = asfloat(0u); fragment_unnamed_322 = asfloat(0u); fragment_unnamed_324 = asfloat(0u); fragment_unnamed_326 = asfloat(0u); fragment_unnamed_328 = asfloat(0u); fragment_unnamed_330 = 0u; float fragment_unnamed_325; float fragment_unnamed_327; float fragment_unnamed_329; float fragment_unnamed_313; float fragment_unnamed_315; float fragment_unnamed_317; float fragment_unnamed_319; float fragment_unnamed_321; float fragment_unnamed_323; float fragment_unnamed_332; for (;;) { fragment_unnamed_332 = float(int(fragment_unnamed_330)); if (fragment_unnamed_332 >= fragment_uniform_buffer_0[110u].x) { break; } else { precise float fragment_unnamed_371 = fragment_unnamed_332 + fragment_uniform_buffer_0[109u].y; precise float fragment_unnamed_378 = log2(max(abs(fragment_unnamed_371), 5.9604644775390625e-08f)) * fragment_uniform_buffer_0[109u].z; float fragment_unnamed_379 = exp2(fragment_unnamed_378); precise float fragment_unnamed_380 = fragment_unnamed_245 * fragment_unnamed_332; float fragment_unnamed_381 = exp2(fragment_unnamed_380); if (fragment_unnamed_269) { precise float fragment_unnamed_382 = fragment_unnamed_381 * fragment_unnamed_296; precise float fragment_unnamed_383 = (-0.0f) - fragment_unnamed_379; bool fragment_unnamed_384 = fragment_unnamed_383 < 0.0f; precise float fragment_unnamed_385 = 1.0f / fragment_unnamed_379; float fragment_unnamed_386 = mad(fragment_unnamed_210, fragment_unnamed_385, 0.5f); float fragment_unnamed_387 = mad(fragment_unnamed_212, fragment_unnamed_385, 0.5f); precise float fragment_unnamed_388 = (-0.0f) - fragment_unnamed_386; precise float fragment_unnamed_389 = (-0.0f) - fragment_unnamed_387; precise float fragment_unnamed_390 = fragment_unnamed_388 + 1.0f; precise float fragment_unnamed_391 = fragment_unnamed_389 + 1.0f; float fragment_unnamed_397 = asfloat(fragment_unnamed_384 ? asuint(fragment_unnamed_390) : asuint(fragment_unnamed_386)); float fragment_unnamed_399 = asfloat(fragment_unnamed_384 ? asuint(fragment_unnamed_391) : asuint(fragment_unnamed_387)); float fragment_unnamed_477; float fragment_unnamed_478; float fragment_unnamed_479; if (fragment_unnamed_249) { precise float fragment_unnamed_409 = min(fragment_unnamed_279, fragment_unnamed_397) * fragment_uniform_buffer_0[27u].x; precise float fragment_unnamed_410 = min(fragment_unnamed_280, fragment_unnamed_399) * fragment_uniform_buffer_0[27u].y; precise float fragment_unnamed_430 = min(fragment_unnamed_279, mad(fragment_unnamed_260, -0.3333333432674407958984375f, fragment_unnamed_397)) * fragment_uniform_buffer_0[27u].x; precise float fragment_unnamed_431 = min(fragment_unnamed_280, mad(fragment_unnamed_261, -0.3333333432674407958984375f, fragment_unnamed_399)) * fragment_uniform_buffer_0[27u].y; precise float fragment_unnamed_432 = min(fragment_unnamed_279, mad(fragment_unnamed_262, -0.666666686534881591796875f, fragment_unnamed_397)) * fragment_uniform_buffer_0[27u].x; precise float fragment_unnamed_433 = min(fragment_unnamed_280, mad(fragment_unnamed_263, -0.666666686534881591796875f, fragment_unnamed_399)) * fragment_uniform_buffer_0[27u].y; fragment_unnamed_477 = _LensFlareScreenSpaceBloomMipTexture.SampleBias(S0, float3(fragment_unnamed_409, fragment_unnamed_410, fragment_unnamed_282), fragment_uniform_buffer_0[4u].x).x; fragment_unnamed_478 = _LensFlareScreenSpaceBloomMipTexture.SampleBias(S0, float3(fragment_unnamed_430, fragment_unnamed_431, fragment_unnamed_282), fragment_uniform_buffer_0[4u].x).y; fragment_unnamed_479 = _LensFlareScreenSpaceBloomMipTexture.SampleBias(S0, float3(fragment_unnamed_432, fragment_unnamed_433, fragment_unnamed_282), fragment_uniform_buffer_0[4u].x).z; } else { precise float fragment_unnamed_452 = min(fragment_unnamed_289, fragment_unnamed_397) * fragment_uniform_buffer_0[27u].x; precise float fragment_unnamed_453 = min(fragment_unnamed_290, fragment_unnamed_399) * fragment_uniform_buffer_0[27u].y; float4 fragment_unnamed_458 = _LensFlareScreenSpaceBloomMipTexture.SampleBias(S0, float3(fragment_unnamed_452, fragment_unnamed_453, fragment_unnamed_282), fragment_uniform_buffer_0[4u].x); fragment_unnamed_477 = fragment_unnamed_458.x; fragment_unnamed_478 = fragment_unnamed_458.y; fragment_unnamed_479 = fragment_unnamed_458.z; } precise float fragment_unnamed_485 = fragment_unnamed_477 * fragment_uniform_buffer_0[113u].y; precise float fragment_unnamed_486 = fragment_unnamed_478 * fragment_uniform_buffer_0[113u].z; precise float fragment_unnamed_487 = fragment_unnamed_479 * fragment_uniform_buffer_0[113u].w; fragment_unnamed_313 = mad(fragment_unnamed_485, fragment_unnamed_382, fragment_unnamed_312); fragment_unnamed_315 = mad(fragment_unnamed_486, fragment_unnamed_382, fragment_unnamed_314); fragment_unnamed_317 = mad(fragment_unnamed_487, fragment_unnamed_382, fragment_unnamed_316); } else { fragment_unnamed_313 = fragment_unnamed_312; fragment_unnamed_315 = fragment_unnamed_314; fragment_unnamed_317 = fragment_unnamed_316; } if (fragment_unnamed_270) { precise float fragment_unnamed_463 = fragment_unnamed_381 * fragment_unnamed_298; bool fragment_unnamed_464 = fragment_unnamed_379 != 1.0f; precise float fragment_unnamed_465 = 1.0f / fragment_unnamed_379; float fragment_unnamed_472 = fragment_unnamed_464 ? mad(fragment_unnamed_210, fragment_unnamed_465, 0.5f) : fragment_input_1.x; float fragment_unnamed_473 = fragment_unnamed_464 ? mad(fragment_unnamed_212, fragment_unnamed_465, 0.5f) : fragment_input_1.y; float fragment_unnamed_621; float fragment_unnamed_622; float fragment_unnamed_623; if (fragment_unnamed_249) { precise float fragment_unnamed_494 = min(fragment_unnamed_279, fragment_unnamed_472) * fragment_uniform_buffer_0[27u].x; precise float fragment_unnamed_495 = min(fragment_unnamed_280, fragment_unnamed_473) * fragment_uniform_buffer_0[27u].y; precise float fragment_unnamed_515 = min(fragment_unnamed_279, mad(fragment_unnamed_260, -0.3333333432674407958984375f, fragment_unnamed_472)) * fragment_uniform_buffer_0[27u].x; precise float fragment_unnamed_516 = min(fragment_unnamed_280, mad(fragment_unnamed_261, -0.3333333432674407958984375f, fragment_unnamed_473)) * fragment_uniform_buffer_0[27u].y; precise float fragment_unnamed_517 = min(fragment_unnamed_279, mad(fragment_unnamed_262, -0.666666686534881591796875f, fragment_unnamed_472)) * fragment_uniform_buffer_0[27u].x; precise float fragment_unnamed_518 = min(fragment_unnamed_280, mad(fragment_unnamed_263, -0.666666686534881591796875f, fragment_unnamed_473)) * fragment_uniform_buffer_0[27u].y; fragment_unnamed_621 = _LensFlareScreenSpaceBloomMipTexture.SampleBias(S0, float3(fragment_unnamed_494, fragment_unnamed_495, fragment_unnamed_282), fragment_uniform_buffer_0[4u].x).x; fragment_unnamed_622 = _LensFlareScreenSpaceBloomMipTexture.SampleBias(S0, float3(fragment_unnamed_515, fragment_unnamed_516, fragment_unnamed_282), fragment_uniform_buffer_0[4u].x).y; fragment_unnamed_623 = _LensFlareScreenSpaceBloomMipTexture.SampleBias(S0, float3(fragment_unnamed_517, fragment_unnamed_518, fragment_unnamed_282), fragment_uniform_buffer_0[4u].x).z; } else { precise float fragment_unnamed_537 = min(fragment_unnamed_289, fragment_unnamed_472) * fragment_uniform_buffer_0[27u].x; precise float fragment_unnamed_538 = min(fragment_unnamed_290, fragment_unnamed_473) * fragment_uniform_buffer_0[27u].y; float4 fragment_unnamed_543 = _LensFlareScreenSpaceBloomMipTexture.SampleBias(S0, float3(fragment_unnamed_537, fragment_unnamed_538, fragment_unnamed_282), fragment_uniform_buffer_0[4u].x); fragment_unnamed_621 = fragment_unnamed_543.x; fragment_unnamed_622 = fragment_unnamed_543.y; fragment_unnamed_623 = fragment_unnamed_543.z; } precise float fragment_unnamed_629 = fragment_unnamed_621 * fragment_uniform_buffer_0[113u].y; precise float fragment_unnamed_630 = fragment_unnamed_622 * fragment_uniform_buffer_0[113u].z; precise float fragment_unnamed_631 = fragment_unnamed_623 * fragment_uniform_buffer_0[113u].w; fragment_unnamed_319 = mad(fragment_unnamed_629, fragment_unnamed_463, fragment_unnamed_318); fragment_unnamed_321 = mad(fragment_unnamed_630, fragment_unnamed_463, fragment_unnamed_320); fragment_unnamed_323 = mad(fragment_unnamed_631, fragment_unnamed_463, fragment_unnamed_322); } else { fragment_unnamed_319 = fragment_unnamed_318; fragment_unnamed_321 = fragment_unnamed_320; fragment_unnamed_323 = fragment_unnamed_322; } float frontier_phi_23_pred; float frontier_phi_23_pred_1; float frontier_phi_23_pred_2; if (fragment_unnamed_271) { precise float fragment_unnamed_548 = fragment_unnamed_381 * fragment_unnamed_299; precise float fragment_unnamed_549 = (-0.0f) - fragment_unnamed_379; precise float fragment_unnamed_551 = 1.0f / fragment_unnamed_379; precise float fragment_unnamed_552 = fragment_unnamed_551 + fragment_unnamed_551; precise float fragment_unnamed_553 = fragment_unnamed_210 * fragment_unnamed_552; precise float fragment_unnamed_554 = fragment_unnamed_212 * fragment_unnamed_552; precise float fragment_unnamed_560 = fragment_unnamed_553 * fragment_uniform_buffer_0[112u].y; precise float fragment_unnamed_561 = fragment_unnamed_554 * fragment_uniform_buffer_0[112u].z; float fragment_unnamed_564 = max(abs(fragment_unnamed_560), 5.9604644775390625e-08f); float fragment_unnamed_565 = max(abs(fragment_unnamed_561), 5.9604644775390625e-08f); precise float fragment_unnamed_566 = fragment_unnamed_564 * fragment_unnamed_564; precise float fragment_unnamed_567 = fragment_unnamed_565 * fragment_unnamed_565; precise float fragment_unnamed_568 = fragment_unnamed_567 + fragment_unnamed_566; precise float fragment_unnamed_570 = sqrt(fragment_unnamed_568) * 0.707106769084930419921875f; float fragment_unnamed_572 = min(fragment_unnamed_570, 1.0f); precise float fragment_unnamed_573 = fragment_unnamed_560 / fragment_unnamed_561; bool fragment_unnamed_575 = abs(fragment_unnamed_573) < 1.0f; precise float fragment_unnamed_577 = 1.0f / abs(fragment_unnamed_573); float fragment_unnamed_579 = fragment_unnamed_575 ? abs(fragment_unnamed_573) : fragment_unnamed_577; precise float fragment_unnamed_580 = fragment_unnamed_579 * fragment_unnamed_579; float fragment_unnamed_584 = mad(mad(fragment_unnamed_580, 0.087292902171611785888671875f, -0.3018949925899505615234375f), fragment_unnamed_580, 1.0f); precise float fragment_unnamed_585 = fragment_unnamed_579 * fragment_unnamed_584; precise float fragment_unnamed_586 = (-0.0f) - fragment_unnamed_584; float fragment_unnamed_592 = asfloat(fragment_unnamed_575 ? asuint(fragment_unnamed_585) : asuint(mad(fragment_unnamed_586, fragment_unnamed_579, 1.57079637050628662109375f))); precise float fragment_unnamed_594 = (-0.0f) - fragment_unnamed_592; precise float fragment_unnamed_610 = (-0.0f) - clamp(mad(mad(asfloat((fragment_unnamed_560 >= 0.0f) ? 1078530011u : 3226013659u), asfloat(((fragment_unnamed_561 < 0.0f) ? 4294967295u : 0u) & 1065353216u), (fragment_unnamed_573 < 0.0f) ? fragment_unnamed_594 : fragment_unnamed_592), 0.15915493667125701904296875f, 0.5f), 0.0f, 1.0f); precise float fragment_unnamed_611 = fragment_unnamed_610 + 1.0f; precise float fragment_unnamed_612 = (-0.0f) - fragment_unnamed_572; precise float fragment_unnamed_613 = fragment_unnamed_612 + 1.0f; float fragment_unnamed_617 = asfloat((fragment_unnamed_549 < 0.0f) ? asuint(fragment_unnamed_613) : asuint(fragment_unnamed_572)); float fragment_unnamed_696; float fragment_unnamed_697; float fragment_unnamed_698; if (fragment_unnamed_249) { precise float fragment_unnamed_638 = min(fragment_unnamed_279, fragment_unnamed_611) * fragment_uniform_buffer_0[27u].x; precise float fragment_unnamed_639 = min(fragment_unnamed_280, fragment_unnamed_617) * fragment_uniform_buffer_0[27u].y; precise float fragment_unnamed_659 = min(fragment_unnamed_279, mad(fragment_unnamed_260, -0.3333333432674407958984375f, fragment_unnamed_611)) * fragment_uniform_buffer_0[27u].x; precise float fragment_unnamed_660 = min(fragment_unnamed_280, mad(fragment_unnamed_261, -0.3333333432674407958984375f, fragment_unnamed_617)) * fragment_uniform_buffer_0[27u].y; precise float fragment_unnamed_671 = min(fragment_unnamed_279, mad(fragment_unnamed_262, -0.666666686534881591796875f, fragment_unnamed_611)) * fragment_uniform_buffer_0[27u].x; precise float fragment_unnamed_672 = min(fragment_unnamed_280, mad(fragment_unnamed_263, -0.666666686534881591796875f, fragment_unnamed_617)) * fragment_uniform_buffer_0[27u].y; fragment_unnamed_696 = _LensFlareScreenSpaceBloomMipTexture.SampleBias(S0, float3(fragment_unnamed_638, fragment_unnamed_639, fragment_unnamed_282), fragment_uniform_buffer_0[4u].x).x; fragment_unnamed_697 = _LensFlareScreenSpaceBloomMipTexture.SampleBias(S0, float3(fragment_unnamed_659, fragment_unnamed_660, fragment_unnamed_282), fragment_uniform_buffer_0[4u].x).y; fragment_unnamed_698 = _LensFlareScreenSpaceBloomMipTexture.SampleBias(S0, float3(fragment_unnamed_671, fragment_unnamed_672, fragment_unnamed_282), fragment_uniform_buffer_0[4u].x).z; } else { precise float fragment_unnamed_685 = min(fragment_unnamed_289, fragment_unnamed_611) * fragment_uniform_buffer_0[27u].x; precise float fragment_unnamed_686 = min(fragment_unnamed_290, fragment_unnamed_617) * fragment_uniform_buffer_0[27u].y; float4 fragment_unnamed_691 = _LensFlareScreenSpaceBloomMipTexture.SampleBias(S0, float3(fragment_unnamed_685, fragment_unnamed_686, fragment_unnamed_282), fragment_uniform_buffer_0[4u].x); fragment_unnamed_696 = fragment_unnamed_691.x; fragment_unnamed_697 = fragment_unnamed_691.y; fragment_unnamed_698 = fragment_unnamed_691.z; } precise float fragment_unnamed_704 = fragment_unnamed_696 * fragment_uniform_buffer_0[113u].y; precise float fragment_unnamed_705 = fragment_unnamed_697 * fragment_uniform_buffer_0[113u].z; precise float fragment_unnamed_706 = fragment_unnamed_698 * fragment_uniform_buffer_0[113u].w; frontier_phi_23_pred = mad(fragment_unnamed_706, fragment_unnamed_548, fragment_unnamed_328); frontier_phi_23_pred_1 = mad(fragment_unnamed_705, fragment_unnamed_548, fragment_unnamed_326); frontier_phi_23_pred_2 = mad(fragment_unnamed_704, fragment_unnamed_548, fragment_unnamed_324); } else { frontier_phi_23_pred = fragment_unnamed_328; frontier_phi_23_pred_1 = fragment_unnamed_326; frontier_phi_23_pred_2 = fragment_unnamed_324; } fragment_unnamed_329 = frontier_phi_23_pred; fragment_unnamed_327 = frontier_phi_23_pred_1; fragment_unnamed_325 = frontier_phi_23_pred_2; fragment_unnamed_312 = fragment_unnamed_313; fragment_unnamed_314 = fragment_unnamed_315; fragment_unnamed_316 = fragment_unnamed_317; fragment_unnamed_318 = fragment_unnamed_319; fragment_unnamed_320 = fragment_unnamed_321; fragment_unnamed_322 = fragment_unnamed_323; fragment_unnamed_324 = fragment_unnamed_325; fragment_unnamed_326 = fragment_unnamed_327; fragment_unnamed_328 = fragment_unnamed_329; fragment_unnamed_330++; continue; } } precise float fragment_unnamed_362 = fragment_unnamed_312 + fragment_unnamed_318; precise float fragment_unnamed_363 = fragment_unnamed_314 + fragment_unnamed_320; precise float fragment_unnamed_364 = fragment_unnamed_316 + fragment_unnamed_322; precise float fragment_unnamed_365 = fragment_unnamed_228 * fragment_unnamed_324; precise float fragment_unnamed_366 = fragment_unnamed_228 * fragment_unnamed_326; precise float fragment_unnamed_367 = fragment_unnamed_228 * fragment_unnamed_328; fragment_unnamed_337 = mad(fragment_unnamed_364, fragment_unnamed_239, fragment_unnamed_367); fragment_unnamed_339 = mad(fragment_unnamed_363, fragment_unnamed_239, fragment_unnamed_366); fragment_unnamed_341 = mad(fragment_unnamed_362, fragment_unnamed_239, fragment_unnamed_365); } else { fragment_unnamed_337 = asfloat(0u); fragment_unnamed_339 = asfloat(0u); fragment_unnamed_341 = asfloat(0u); } precise float fragment_unnamed_343 = fragment_unnamed_184 + fragment_unnamed_341; precise float fragment_unnamed_344 = fragment_unnamed_182 + fragment_unnamed_339; precise float fragment_unnamed_345 = fragment_unnamed_180 + fragment_unnamed_337; precise float fragment_unnamed_351 = fragment_unnamed_343 * fragment_uniform_buffer_0[108u].x; precise float fragment_unnamed_352 = fragment_unnamed_344 * fragment_uniform_buffer_0[108u].x; precise float fragment_unnamed_353 = fragment_unnamed_345 * fragment_uniform_buffer_0[108u].x; precise float fragment_unnamed_354 = asfloat(1065353216u) * fragment_uniform_buffer_0[108u].x; fragment_output_0.x = fragment_unnamed_351; fragment_output_0.y = fragment_unnamed_352; fragment_output_0.z = fragment_unnamed_353; fragment_output_0.w = fragment_unnamed_354; } Fragment_Stage_Output frag(Fragment_Stage_Input stage_input) { fragment_uniform_buffer_0[27] = float4(_RTHandleScale[0], _RTHandleScale[1], _RTHandleScale[2], _RTHandleScale[3]); fragment_uniform_buffer_0[92] = float4(_ScreenSize[0], _ScreenSize[1], _ScreenSize[2], _ScreenSize[3]); fragment_uniform_buffer_0[106] = float4(_LensFlareScreenSpaceBloomMipTexture_TexelSize[0], _LensFlareScreenSpaceBloomMipTexture_TexelSize[1], _LensFlareScreenSpaceBloomMipTexture_TexelSize[2], _LensFlareScreenSpaceBloomMipTexture_TexelSize[3]); fragment_uniform_buffer_0[108] = float4(_LensFlareScreenSpaceParams1[0], _LensFlareScreenSpaceParams1[1], _LensFlareScreenSpaceParams1[2], _LensFlareScreenSpaceParams1[3]); fragment_uniform_buffer_0[109] = float4(_LensFlareScreenSpaceParams2[0], _LensFlareScreenSpaceParams2[1], _LensFlareScreenSpaceParams2[2], _LensFlareScreenSpaceParams2[3]); fragment_uniform_buffer_0[110] = float4(_LensFlareScreenSpaceParams3[0], _LensFlareScreenSpaceParams3[1], _LensFlareScreenSpaceParams3[2], _LensFlareScreenSpaceParams3[3]); fragment_uniform_buffer_0[111] = float4(_LensFlareScreenSpaceParams4[0], _LensFlareScreenSpaceParams4[1], _LensFlareScreenSpaceParams4[2], _LensFlareScreenSpaceParams4[3]); fragment_uniform_buffer_0[112] = float4(_LensFlareScreenSpaceParams5[0], _LensFlareScreenSpaceParams5[1], _LensFlareScreenSpaceParams5[2], _LensFlareScreenSpaceParams5[3]); fragment_uniform_buffer_0[113] = float4(fragment_uniform_buffer_0[113][0], _LensFlareScreenSpaceTintColor[0], _LensFlareScreenSpaceTintColor[1], _LensFlareScreenSpaceTintColor[2]); gl_Layer = stage_input.gl_Layer; fragment_input_1 = stage_input.fragment_input_1; frag_main(); Fragment_Stage_Output stage_output; stage_output.fragment_output_0 = fragment_output_0; return stage_output; } #endif // STEREO_INSTANCING_ON ENDHLSL } Pass { Name "LensFlareScreenSpace Write to BloomTexture" Tags { "LIGHTMODE" = "Forward" "RenderPipeline" = "UniversalPipeline" "RenderQueue" = "Transparent" } Blend One One, One One ZTest Always ZWrite Off Cull Off GpuProgramID 327239 HLSLPROGRAM // https://docs.unity3d.com/Manual/SL-PragmaDirectives.html #pragma vertex vert #pragma fragment frag #pragma target 4.0 #pragma multi_compile _ STEREO_INSTANCING_ON #ifndef STEREO_INSTANCING_ON #define ANY_SHADER_VARIANT_ACTIVE static float4 gl_Position; static int gl_VertexIndex; static int gl_BaseVertexARB; static float2 vertex_output_1; struct Vertex_Stage_Input { uint gl_VertexIndex : SV_VertexID; uint gl_BaseVertexARB : SV_StartVertexLocation; }; struct Vertex_Stage_Output { float2 vertex_output_1 : TEXCOORD; // TEXCOORD float4 gl_Position : SV_Position; }; void vert_main() { uint vertex_unnamed_19 = (uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) & 1u; uint vertex_unnamed_24 = (uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) >> 1u; float vertex_unnamed_29 = float(vertex_unnamed_24); precise float vertex_unnamed_32 = (-0.0f) - float((vertex_unnamed_19 + vertex_unnamed_24) & 1u); precise float vertex_unnamed_34 = vertex_unnamed_32 + 1.0f; precise float vertex_unnamed_36 = (-0.0f) - vertex_unnamed_34; precise float vertex_unnamed_37 = vertex_unnamed_36 + 1.0f; vertex_output_1.x = vertex_unnamed_29; vertex_output_1.y = vertex_unnamed_37; gl_Position.x = mad(vertex_unnamed_29, 2.0f, -1.0f); gl_Position.y = mad(float((((-vertex_unnamed_19) + (-vertex_unnamed_24)) + 1u) & 1u), 2.0f, -1.0f); gl_Position.z = 1.0f; gl_Position.w = 1.0f; } Vertex_Stage_Output vert(Vertex_Stage_Input stage_input) { gl_VertexIndex = int(stage_input.gl_VertexIndex + stage_input.gl_BaseVertexARB); gl_BaseVertexARB = stage_input.gl_BaseVertexARB; vert_main(); Vertex_Stage_Output stage_output; stage_output.gl_Position = gl_Position; stage_output.vertex_output_1 = vertex_output_1; return stage_output; } #endif // !STEREO_INSTANCING_ON #ifdef STEREO_INSTANCING_ON #define ANY_SHADER_VARIANT_ACTIVE static float4 gl_Position; static uint gl_Layer; static int gl_VertexIndex; static int gl_InstanceIndex; static int gl_BaseVertexARB; static int gl_BaseInstanceARB; static float2 vertex_output_1; struct Vertex_Stage_Input { uint gl_VertexIndex : SV_VertexID; uint gl_InstanceIndex : SV_InstanceID; uint gl_BaseVertexARB : SV_StartVertexLocation; uint gl_BaseInstanceARB : SV_StartInstanceLocation; }; struct Vertex_Stage_Output { float2 vertex_output_1 : TEXCOORD; // TEXCOORD float4 gl_Position : SV_Position; uint gl_Layer : SV_RenderTargetArrayIndex; }; void vert_main() { uint vertex_unnamed_22 = (uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) & 1u; uint vertex_unnamed_27 = (uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) >> 1u; float vertex_unnamed_32 = float(vertex_unnamed_27); precise float vertex_unnamed_35 = (-0.0f) - float((vertex_unnamed_22 + vertex_unnamed_27) & 1u); precise float vertex_unnamed_37 = vertex_unnamed_35 + 1.0f; precise float vertex_unnamed_39 = (-0.0f) - vertex_unnamed_37; precise float vertex_unnamed_40 = vertex_unnamed_39 + 1.0f; vertex_output_1.x = vertex_unnamed_32; vertex_output_1.y = vertex_unnamed_40; gl_Position.x = mad(vertex_unnamed_32, 2.0f, -1.0f); gl_Position.y = mad(float((((-vertex_unnamed_22) + (-vertex_unnamed_27)) + 1u) & 1u), 2.0f, -1.0f); gl_Position.z = 1.0f; gl_Position.w = 1.0f; gl_Layer = int((uint(gl_InstanceIndex) - uint(gl_BaseInstanceARB)) & 1u); } Vertex_Stage_Output vert(Vertex_Stage_Input stage_input) { gl_VertexIndex = int(stage_input.gl_VertexIndex + stage_input.gl_BaseVertexARB); gl_InstanceIndex = int(stage_input.gl_InstanceIndex + stage_input.gl_BaseInstanceARB); gl_BaseVertexARB = stage_input.gl_BaseVertexARB; gl_BaseInstanceARB = stage_input.gl_BaseInstanceARB; vert_main(); Vertex_Stage_Output stage_output; stage_output.gl_Position = gl_Position; stage_output.gl_Layer = gl_Layer; stage_output.vertex_output_1 = vertex_output_1; return stage_output; } #endif // STEREO_INSTANCING_ON #ifndef STEREO_INSTANCING_ON #define ANY_SHADER_VARIANT_ACTIVE float4 _RTHandleScale; float4 _ScreenSize; static float4 fragment_uniform_buffer_0[124]; Texture2D _LensFlareScreenSpaceResultTexture; SamplerState S0; static float2 fragment_input_1; static float4 fragment_output_0; struct Fragment_Stage_Input { float2 fragment_input_1 : TEXCOORD; // TEXCOORD }; struct Fragment_Stage_Output { float4 fragment_output_0 : SV_Target0; }; void frag_main() { precise float fragment_unnamed_34 = (-0.0f) - fragment_uniform_buffer_0[123u].z; precise float fragment_unnamed_37 = (-0.0f) - fragment_uniform_buffer_0[123u].w; float4 fragment_unnamed_61 = _LensFlareScreenSpaceResultTexture.SampleBias(S0, float2(min(mad(fragment_unnamed_34, 0.5f, fragment_uniform_buffer_0[28u].x), fragment_input_1.x), min(mad(fragment_unnamed_37, 0.5f, fragment_uniform_buffer_0[28u].y), fragment_input_1.y)), fragment_uniform_buffer_0[4u].x); fragment_output_0.x = fragment_unnamed_61.x; fragment_output_0.y = fragment_unnamed_61.y; fragment_output_0.z = fragment_unnamed_61.z; fragment_output_0.w = 1.0f; } Fragment_Stage_Output frag(Fragment_Stage_Input stage_input) { fragment_uniform_buffer_0[28] = float4(_RTHandleScale[0], _RTHandleScale[1], _RTHandleScale[2], _RTHandleScale[3]); fragment_uniform_buffer_0[123] = float4(_ScreenSize[0], _ScreenSize[1], _ScreenSize[2], _ScreenSize[3]); fragment_input_1 = stage_input.fragment_input_1; frag_main(); Fragment_Stage_Output stage_output; stage_output.fragment_output_0 = fragment_output_0; return stage_output; } #endif // !STEREO_INSTANCING_ON #ifdef STEREO_INSTANCING_ON #define ANY_SHADER_VARIANT_ACTIVE float4 _RTHandleScale; float4 _ScreenSize; static float4 fragment_uniform_buffer_0[93]; Texture2DArray _LensFlareScreenSpaceResultTexture; SamplerState S0; static uint gl_Layer; static float2 fragment_input_1; static float4 fragment_output_0; struct Fragment_Stage_Input { float2 fragment_input_1 : TEXCOORD; // TEXCOORD uint gl_Layer : SV_RenderTargetArrayIndex; }; struct Fragment_Stage_Output { float4 fragment_output_0 : SV_Target0; }; void frag_main() { precise float fragment_unnamed_36 = (-0.0f) - fragment_uniform_buffer_0[92u].z; precise float fragment_unnamed_39 = (-0.0f) - fragment_uniform_buffer_0[92u].w; float4 fragment_unnamed_65 = _LensFlareScreenSpaceResultTexture.SampleBias(S0, float3(min(mad(fragment_unnamed_36, 0.5f, fragment_uniform_buffer_0[27u].x), fragment_input_1.x), min(mad(fragment_unnamed_39, 0.5f, fragment_uniform_buffer_0[27u].y), fragment_input_1.y), float(uint(gl_Layer))), fragment_uniform_buffer_0[4u].x); fragment_output_0.x = fragment_unnamed_65.x; fragment_output_0.y = fragment_unnamed_65.y; fragment_output_0.z = fragment_unnamed_65.z; fragment_output_0.w = 1.0f; } Fragment_Stage_Output frag(Fragment_Stage_Input stage_input) { fragment_uniform_buffer_0[27] = float4(_RTHandleScale[0], _RTHandleScale[1], _RTHandleScale[2], _RTHandleScale[3]); fragment_uniform_buffer_0[92] = float4(_ScreenSize[0], _ScreenSize[1], _ScreenSize[2], _ScreenSize[3]); gl_Layer = stage_input.gl_Layer; fragment_input_1 = stage_input.fragment_input_1; frag_main(); Fragment_Stage_Output stage_output; stage_output.fragment_output_0 = fragment_output_0; return stage_output; } #endif // STEREO_INSTANCING_ON ENDHLSL } } }