//
// Generated by Microsoft (R) HLSL Shader Compiler 9.27.952.3022
//
// Parameters:
//
//   float4 fs_exposure;
//   float4 fs_inverse_projection_xy;
//   float4 fs_layer0_diffuse;
//   
//   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;
//   
//   struct
//   {
//       float4 shadowFactors;
//       float4 lightDirPos;
//       float4 params;
//
//   } g_ShadowCommon;
//   
//   sampler2D g_ShadowMapTex;
//   sampler2D layer0_sampler;
//
//
// Registers:
//
//   Name                     Reg   Size
//   ------------------------ ----- ----
//   fs_inverse_projection_xy c1       1
//   fs_layer0_diffuse        c4       1
//   fs_exposure              c45      1
//   g_ShadowCommon           c150     1
//   g_Cascade                c153     9
//   g_Light                  c180     3
//   layer0_sampler           s5       1
//   g_ShadowMapTex           s15      1
//

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

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

    dcl_texcoord_centroid v0
    dcl_texcoord1_centroid v1
    dcl_texcoord2_centroid v2.x
    dcl_color v3.x
    dcl_2d s5
    dcl_2d s15
    texld_pp r0, v1, s5
    mul_pp r0, r0, c4
    mul_sat_pp oC0.w, r0.w, v3.x
    mov r1.x, v1.z
    mov r1.y, v0.w
    mul r1.zw, c1, v1.w

    mad r1.xy, r1, c1, r1.zwzw

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


    mul r1.yzw, r1.y, c154.xxyz
    mad r1.xyz, r1.x, c153, r1.yzww
    mad r1.xyz, v1.w, c155, r1
    add r1.xyz, r1, c156
    mul_pp r2.xy, r1, r1
    max_pp r0.w, r2.x, r2.y
    add r2, r0.w, -c158
    add r3, r0.w, -c157
    cmp_pp r2, r2, c3.x, c3.y
    cmp_pp r2, r3, r2, c3.x
    dp4 r0.w, r2, c160
    dp4 r1.w, r2, c161
    mad r3.w, r1.z, r0.w, r1.w
    dp4 r0.w, r2, c159
    mul r1.xy, r0.w, r1
    mad r3.xy, r1, c0, c0.xzzw
    dp3_pp r0.w, r2.yzww, c2
    dp4_pp r1.x, r2, c3.y
    add r3.z, r0.w, r3.y
    cmp r1.xyz, -r1.x, c3.x, r3.xzww
    min r2.z, r1.z, c3.z
    mad r2.xyw, r1.xyzx, c3.yyzx, c3.xxzy
    texldp r1, r2, s15
    add_pp r0.w, -r1.x, c3.y
    mul_pp r0.w, r0.w, c150.x
    add r1.x, -c150.y, v1.w
    mul_sat r1.x, r1.x, c150.z
    add_pp r1.x, -r1.x, c3.y
    mad r0.w, r0.w, -r1.x, c3.y
    mul_pp r0.w, r0.w, c182.z
    mul_pp r1.xyz, r0.w, c181
    nrm_pp r2.xyz, v0
    dp3_pp r0.w, -c180, r2
    mul r1.xyz, r0.w, r1
    mul r0.xyz, r0, r1
    mul r0.xyz, r0, v2.x
    mov_sat_pp r1.x, c45.y
    mul_pp r0.xyz, r0, r1.x
    cmp_pp oC0.xyz, r0.w, r0, c3.x

// approximately 48 instruction slots used (2 texture, 46 arithmetic)
 
