//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float4 MinZ_MaxZRatio;
//   float4 SampleOffsets[8];
//   sampler2D SceneColorTexture;
//   float4 ScreenPositionScaleBias;
//   float4x4 ScreenToShadowMatrix;
//   sampler2D ShadowDepthTexture;
//   float ShadowFadeFraction;
//
//
// Registers:
//
//   Name                    Reg   Size
//   ----------------------- ----- ----
//   ShadowFadeFraction      c0       1
//   ScreenPositionScaleBias c1       1
//   MinZ_MaxZRatio          c2       1
//   SampleOffsets           c8       8
//   ScreenToShadowMatrix    c16      4
//   SceneColorTexture       s0       1
//   ShadowDepthTexture      s1       1
//

    ps_3_0
    def c3, 0, 1, 0.999000013, 0.0625
    dcl_texcoord v0.xyw
    dcl_2d s0
    dcl_2d s1

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


// Unreal Engine shadow fix inserted with DarkStarSword's shadertool.py:
// shadertool.py -I ../../.. --auto-fix-unreal-shadows --stereo-sampler-ps=s15 -f B8A62B45.txt
texldl r31, c220.z, s15
mov r6.xyw, v0
add r31.w, r6.w, -r31.y
mad r6.x, r31.w, r31.x, r6.x

    rcp r0.x, r6.w
    mul r0.xy, r0.x, r6
    mad r1.xy, r0, c1, c1.wzzw
    mov r1.zw, c3.x
    texldl r1, r1, s0
    mov r1.y, c3.y
    add r0.z, r1.y, -c2.y
    add r0.z, -r0.z, r1.w
    rcp r0.z, r0.z
    mul r0.z, r0.z, -c2.x
    mul r0.xy, r0.z, r0
    mul r2, r0.y, c17

// Unreal Engine shadow fix inserted with DarkStarSword's shadertool.py:
// shadertool.py -I ../../.. --auto-fix-unreal-shadows --stereo-sampler-ps=s15 -f B8A62B45.txt
add r31.w, r0.z, -r31.y
mad r0.x, -r31.w, r31.x, r0.x

    mad r2, c16, r0.x, r2
    mad r0, c18, r0.z, r2
    add r0, r0, c19
    min r2.z, r0.z, c3.z
    rcp r0.z, r0.w
    mad_pp r3, r0.xyxy, r0.z, c8
    mad r2.xyw, r3.xyzx, c3.yyzx, c3.xxzy
    mad r3.xyw, r3.zwzx, c3.yyzx, c3.xxzy
    texldp_pp r4, r2, s1
    mov r3.z, r2.z
    texldp r2, r3, s1
    add_pp r0.w, r2.x, r4.x
    mad_pp r2, r0.xyxy, r0.z, c9.zwxy
    mov_pp r3.xy, r2.zwzw
    texldp r4, r3, s1
    mov r2.zw, r3
    add_pp r0.w, r0.w, r4.x
    texldp r3, r2, s1
    add_pp r0.w, r0.w, r3.x
    mad_pp r3, r0.xyxy, r0.z, c10.zwxy
    mov_pp r2.xy, r3.zwzw
    texldp r4, r2, s1
    mov r3.zw, r2
    add_pp r0.w, r0.w, r4.x
    texldp r2, r3, s1
    add_pp r0.w, r0.w, r2.x
    mad_pp r2, r0.xyxy, r0.z, c11.zwxy
    mov_pp r3.xy, r2.zwzw
    texldp r4, r3, s1
    mov r2.zw, r3
    add_pp r0.w, r0.w, r4.x
    texldp r3, r2, s1
    add_pp r0.w, r0.w, r3.x
    mad_pp r3, r0.xyxy, r0.z, c12.zwxy
    mov_pp r2.xy, r3.zwzw
    texldp r4, r2, s1
    mov r3.zw, r2
    add_pp r0.w, r0.w, r4.x
    texldp r2, r3, s1
    add_pp r0.w, r0.w, r2.x
    mad_pp r2, r0.xyxy, r0.z, c13.zwxy
    mov_pp r3.xy, r2.zwzw
    texldp r4, r3, s1
    mov r2.zw, r3
    add_pp r0.w, r0.w, r4.x
    texldp r3, r2, s1
    add_pp r0.w, r0.w, r3.x
    mad_pp r3, r0.xyxy, r0.z, c14.zwxy
    mad_pp r4, r0.xyxy, r0.z, c15.zwxy
    mov_pp r2.xy, r3.zwzw
    texldp r5, r2, s1
    mov r3.zw, r2
    add_pp r0.x, r0.w, r5.x
    texldp r2, r3, s1
    add_pp r0.x, r0.x, r2.x
    mov_pp r3.xy, r4.zwzw
    texldp r2, r3, s1
    mov r4.zw, r3
    texldp r3, r4, s1
    add_pp r0.x, r0.x, r2.x
    add_pp r0.x, r3.x, r0.x
    mul_pp r0.x, r0.x, c3.w
    mad r0.x, r0.x, r0.x, -c3.y
    mad_pp r0.x, c0.x, r0.x, r1.y
    rsq_pp r0.x, r0.x
    rcp_pp oC0, r0.x

// approximately 79 instruction slots used (18 texture, 61 arithmetic)
