//
// Generated by Microsoft (R) HLSL Shader Compiler 9.26.952.2844
//
// Parameters:
//
//   sampler2D g_AlbedoTex;
//   
//   struct
//   {
//       float4 posDirRadius;
//       float4 color;
//       float4 params1;
//       float4 params2;
//
//   } g_Light;
//   
//   sampler2D g_NormalsTex;
//   
//   struct
//   {
//       float4 MinRangeX;
//       float4 MinRangeY;
//       float4 MaxRangeX;
//       float4 MaxRangeY;
//       row_major float4x4 eye2lightMtx;
//       float4 OrthoShiftU;
//       float4 OrthoShiftV;
//       float4 OrthoShiftZ;
//       float4 OrthoScaleU;
//       float4 OrthoScaleV;
//       float4 OrthoScaleZ;
//       float4 softShadowFixedSpread;
//       float4 softShadowSpreadRatio;
//       float4 noiseScale;
//
//   } g_Parallel;
//   
//   sampler2D g_SceneDepthTex;
//   
//   struct
//   {
//       float4 shadowFactors;
//       float4 lightDirPos;
//       float4 params;
//
//   } g_ShadowCommon;
//   
//   sampler2D g_ShadowMapTex;
//
//
// Registers:
//
//   Name            Reg   Size
//   --------------- ----- ----
//   g_ShadowCommon  c150     1
//   g_Parallel      c153    14
//   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, 1, 0, 0.99000001, -0
    def c1, -0.5, 128, 2, -1

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, c0, v1.w
    mul r1, c0.xxyy, v0.xyxx
    texldl r1, r1, s0
    mad r0.z, r1.x, -v1.y, c0.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, c158.xyzz
    mad r0.xyw, r1.x, c157.xyzz, r0
    nrm r2.xyz, -r1
    mad r0.xyw, r1.z, c159.xyzz, r0
    add r0.xyw, r0, c160.xyzz
    add r1, r0.y, -c156
    cmp r1, r1, c0.y, c0.x
    add r3, r0.y, -c154
    cmp r1, r3, r1, c0.y
    add r3, r0.x, -c155
    cmp r1, r3, c0.y, r1
    add r3, r0.x, -c153
    cmp r1, r3, r1, c0.y
    mad r1, r1.x, -c0.yxxx, r1
    max r3, r1, c0.y
    mad r1, r3.y, -c0.yyxx, r3
    max r3, r1, c0.y
    mad r1, r3.z, -c0.yyyx, r3
    max r3, r1, c0.y
    dp4 r1.x, r3, c164
    dp4 r1.y, r3, c165
    dp4 r1.z, r3, c166
    dp4 r4.x, r3, c161
    dp4 r4.y, r3, c162
    dp4 r4.z, r3, c163
    dp4 r1.w, r3, c0.x
    cmp r1.w, -r1.w, c0.y, c0.x
    mad r0.xyw, r0, r1.xyzz, r4.xyzz
    mul r0.xyw, r1.w, r0
    min r1.z, r0.w, c0.z
    mad r1.xyw, r0.xyzx, c0.xxzy, c0.wwzx
    texldp r1, r1, s4
    add_pp r0.x, -r1.x, c0.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, c0.x
    mul_pp r1.xyz, r0.z, c181
    mul_sat r0.y, r0.y, c150.z
    add_pp r0.y, -r0.y, c0.x
    mul_pp r0.x, r0.x, r0.y
    texld_pp r3, v0, s6
    add r0.y, r3.w, c1.x
    cmp_pp r0.y, r0.y, c0.x, c0.y
    mad_sat_pp r0.x, r0.x, -r0.y, c0.x
    mul_pp r0.xyz, r1, r0.x
    texld_pp r1, v0, s2
    mad_pp r1.xy, r1, c1.z, c1.w
    cmp_pp r4.xy, -r1, c0.y, c0.x
    cmp_pp r4.zw, r1.xyxy, -c0.y, -c0.x
    mad r1.xy, r1, -r1, c0.x
    add_pp r4.xy, r4, r4.zwzw
    mul_pp r4.xy, r1, r4
    mad_pp r0.w, r4.x, -r4.x, c0.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, c0.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, c0.y
    mul_pp r1.xy, r1.x, c182.zxzw
    dp3_sat_pp r0.w, -r2, -c180
    mul_pp r1.w, r1.w, c1.y
    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 oC0.w, c0.x

// approximately 89 instruction slots used (5 texture, 84 arithmetic)
 
