//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float4 AspectRatioAndInvAspectRatio;
//   float4 BloomTintAndThreshold;
//   float4 LightShaftParameters;
//   float4 MinZ_MaxZRatio;
//   float4 SampleOffsets[2];
//   sampler2D SceneColorTexture;
//   float2 TextureSpaceBlurOrigin;
//   float4 UVMinMax;
//
//
// Registers:
//
//   Name                         Reg   Size
//   ---------------------------- ----- ----
//   TextureSpaceBlurOrigin       c0       1
//   MinZ_MaxZRatio               c2       1
//   SampleOffsets                c9       2
//   UVMinMax                     c11      1
//   AspectRatioAndInvAspectRatio c12      1
//   LightShaftParameters         c13      1
//   BloomTintAndThreshold        c14      1
//   SceneColorTexture            s0       1
//

    ps_3_0
    def c1, 1, 0, 8, 0.25
    def c3, 0.300000012, 0.589999974, 0.109999999, 6.10351999e-005
    def c4, 0.5, 5, 0, 0
    dcl_texcoord v0.xy
    dcl_2d s0

def c220, 0, 1, 0.0625, 0.5
dcl_2d s14


// Unreal light shaft fix inserted with DarkStarSword's shadertool.py:
// shadertool.py -i -f --auto-fix-unreal-light-shafts --only-autofixed --git CRC32_BD5B63F6_0.txt
texldl r6, c220.z, s14
mov r5, c0 // TextureSpaceBlurOrigin
mad r5.x, r6.x, c220.w, r5.x // Adjust each eye by 1/2 separation

    add r0.xy, -c11, v0
    rcp r1.x, c11.z
    rcp r1.y, c11.w
    mul r0.zw, r0.xyxy, r1.xyxy
    mad r0.xy, r0, -r1, c1.x
    mul r0.x, r0.x, r0.z
    mul r0.x, r0.w, r0.x
    mul r0.x, r0.y, r0.x
    mad r0.x, r0.x, -c1.z, c1.x
    mul r0.x, r0.x, r0.x
    mul r0.y, r0.x, r0.x
    mad r0.x, r0.x, -r0.x, c1.x
    mul r1, c1.xxyy, v0.xyxx
    texldl r1, r1, s0
    mov r1.x, c1.x
    add r0.z, r1.x, -c2.y
    add r0.w, -r0.z, r1.w
    rcp r0.w, r0.w
    mul r1.x, r0.w, -c2.x
    mov r2.zw, c1.y
    add r2.xy, -c9.zwzw, v0
    texldl r3, r2, s0
    texld_pp r2, r2, s0
    add r0.w, -r0.z, r3.w
    rcp r0.w, r0.w
    mul r1.y, r0.w, -c2.x
    add r3, -c10, v0.xyxy
    mul r4, r3.xyxx, c1.xxyy
    texldl r4, r4, s0
    add r0.w, -r0.z, r4.w
    rcp r0.w, r0.w
    mul r4, r3.zwxx, c1.xxyy
    texldl r4, r4, s0
    add r0.z, -r0.z, r4.w
    rcp r0.z, r0.z
    mul r1.zw, r0.xywz, -c2.x
    mul_sat r4, r1, c13.x
    dp4 r0.z, r4, c1.w
    max oC0.w, r0.z, r0.y
    texld_pp r4, v0, s0
    add r0.yzw, r2.xxyz, r4.xxyz
    texld_pp r2, r3, s0
    texld_pp r3, r3.zwzw, s0
    add r0.yzw, r0, r2.xxyz
    add r0.yzw, r3.xxyz, r0
    mul_pp r0.yzw, r0, c1.w
    mul r2.xyz, r0.yzww, c13.y
    dp3_pp r0.y, r0.yzww, c3
    max_pp r2.w, r0.y, c3.w
    rcp r0.y, r2.w
    add_pp r0.z, r2.w, -c14.w
    mul r2.xyz, r0.y, r2
    mul r2.xyz, r0.z, r2
    add r2.xyz, r2, r2
    rcp r0.y, c13.x
    mad r1, r0.y, -c4.x, r1
    mul_sat r1, r1, c13.x
    dp4 r0.y, r1, c1.w
    mul r1.xyz, r0.y, r2
    cmp r0.yzw, r0.z, r1.xxyz, c1.y
    mul r0.xyz, r0.x, r0.yzww
    mov r1.zw, c12
    mad r1.xy, v0, -r1.zwzw, r5
    dp2add r0.w, r1, r1, c1.y
    rsq r0.w, r0.w
    rcp r0.w, r0.w
    mul_sat r0.w, r0.w, c4.y
    add r0.w, -r0.w, c1.x
    mul r0.w, r0.w, r0.w
    mul r0.xyz, r0, r0.w
    mul oC0.xyz, r0, c1.w

// approximately 76 instruction slots used (12 texture, 64 arithmetic)
