//
// Generated by Microsoft (R) HLSL Shader Compiler 9.26.952.2844
//
// Parameters:
//
//   sampler2D g_AlbedoTex;
//   
//   struct
//   {
//       row_major float4x4 eye2lightProjMtx;
//       float4 MinRadiusSq;
//       float4 MaxRadiusSq;
//       float4 CascadeUVScale;
//       float4 CascadeZScale;
//       float4 CascadeZShift;
//       float4 softShadowFixedSpread;
//       float4 softShadowSpreadRatio;
//       float4 noiseScale;
//
//   } g_Cascade;
//   
//   struct
//   {
//       float4 posDirRadius;
//       float4 color;
//       float4 params1;
//       float4 params2;
//
//   } g_Light;
//   
//   sampler2D g_NormalsTex;
//   sampler2D g_SceneDepthTex;
//   
//   struct
//   {
//       float4 shadowFactors;
//       float4 lightDirPos;
//       float4 params;
//
//   } g_ShadowCommon;
//   
//   sampler2D g_ShadowMapTex;
//
//
// Registers:
//
//   Name            Reg   Size
//   --------------- ----- ----
//   g_ShadowCommon  c150     1
//   g_Cascade       c153     9
//   g_Light         c180     4
//   g_SceneDepthTex s0       1
//   g_NormalsTex    s2       1
//   g_ShadowMapTex  s4       1
//   g_AlbedoTex     s6       1
//

    ps_3_0
    def c0, 0.5, -0.125, 0.125, 128
    def c1, 0.25, 0.5, 0.75, 0
    def c2, 1, 0, 0.99000001, -0.5
    def c3, 2, -1, 0, 0

def c220, 0, 0, 0.0625, 0
dcl_2d s14
dcl_texcoord8 v8

    dcl_texcoord v0
    dcl_texcoord1 v1.xyw
    dcl_2d s0
    dcl_2d s2
    dcl_2d s4
    dcl_2d s6
    mul r0.xy, c2, v1.w
    mul r1, c2.xxyy, v0.xyxx
    texldl r1, r1, s0
    mad r0.z, r1.x, -v1.y, c2.x
    rcp r0.z, r0.z
    mul r1.z, r0.z, v1.x

    mad r1.xy, v0.zwzw, r1.z, r0

texldl r24, c220.z, s14
add r24.y,  r1.z, -r24.y
mul r24.x, r24.x, r24.y
mul r24.x, r24.x, v8.x
add  r1.x,  r1.x, -r24.x


    mul r0.xyw, r1.y, c154.xyzz
    mad r0.xyw, r1.x, c153.xyzz, r0
    nrm r2.xyz, -r1
    mad r0.xyw, r1.z, c155.xyzz, r0
    add r0.xyw, r0, c156.xyzz
    mul_pp r1.xy, r0, r0
    max_pp r2.w, r1.x, r1.y
    add r1, r2.w, -c158
    add r3, r2.w, -c157
    cmp_pp r1, r1, c2.y, c2.x
    cmp_pp r1, r3, r1, c2.y
    dp4 r2.w, r1, c160
    dp4 r3.x, r1, c161
    mad r3.w, r0.w, r2.w, r3.x
    dp4 r0.w, r1, c159
    mul r0.xy, r0, r0.w
    mad r3.xy, r0, c0, c0.xzzw
    dp3_pp r0.x, r1.yzww, c1
    dp4_pp r0.y, r1, c2.x
    cmp r0.y, -r0.y, c2.y, c2.x
    add r3.z, r3.y, r0.x
    mul r0.xyw, r3.xzzw, r0.y
    min r1.z, r0.w, c2.z
    mad r1.xyw, r0.xyzx, c2.xxzy, c2.yyzx
    texldp r1, r1, s4
    add_pp r0.x, -r1.x, c2.x
    mad r0.y, v1.x, r0.z, -c150.y
    mad r0.z, v1.x, r0.z, -c183.x
    mul_sat r0.z, r0.z, c183.y
    add_pp r0.z, -r0.z, c2.x
    mul_pp r1.xyz, r0.z, c181
    mul_sat r0.y, r0.y, c150.z
    add_pp r0.y, -r0.y, c2.x
    mul_pp r0.x, r0.x, r0.y
    texld_pp r3, v0, s6
    add r0.y, r3.w, c2.w
    cmp_pp r0.y, r0.y, c2.x, c2.y
    mad_sat_pp r0.x, r0.x, -r0.y, c2.x
    mul_pp r0.xyz, r1, r0.x
    texld_pp r1, v0, s2
    mad_pp r1.xy, r1, c3.x, c3.y
    cmp_pp r4.xy, -r1, c2.y, c2.x
    cmp_pp r4.zw, r1.xyxy, -c2.y, -c2.x
    mad r1.xy, r1, -r1, c2.x
    add_pp r4.xy, r4, r4.zwzw
    mul_pp r4.xy, r1, r4
    mad_pp r0.w, r4.x, -r4.x, c2.x
    mad_pp r0.w, r4.y, -r4.y, r0.w
    rsq_pp r1.x, r0.w
    rcp_pp r1.x, r1.x
    cmp_pp r4.z, -r0.w, c2.y, -r1.x
    dp3 r0.w, r2, r4
    add r0.w, r0.w, r0.w
    mad_pp r2.xyz, r4, -r0.w, r2
    dp3_pp r0.w, -c180, r4
    max_pp r1.x, r0.w, c2.y
    mul_pp r1.xy, r1.x, c182.zxzw
    dp3_sat_pp r0.w, -r2, -c180
    mul_pp r1.w, r1.w, c0.w
    pow_pp r2.x, r0.w, r1.w
    rsq_pp r0.w, r1.w
    rcp_pp r0.w, r0.w
    mul_pp r0.w, r1.z, r0.w
    mul_pp r0.w, r2.x, r0.w
    mul_pp r0.w, r1.y, r0.w
    mul_pp r1.xyz, r0, r1.x
    mad_pp r1.xyz, r0, c182.y, r1
    mul_pp r0.xyz, r0, r0.w
    mad_pp oC0.xyz, r3, r1, r0
    mov_pp oC0.w, c2.x

// approximately 82 instruction slots used (5 texture, 77 arithmetic)
 
