//
// 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, 2, -1, 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, 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 r0.w, r0.z, v1.x

    mad r0.xy, v0.zwzw, r0.w, r0

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


    mul r1.xyz, r0.y, c158
    mad r1.xyz, r0.x, c157, r1
    mad r0.xyw, r0.w, c159.xyzz, r1.xyzz
    add r0.xyw, r0, c160.xyzz
    add r1, r0.y, -c156
    cmp r1, r1, c0.y, c0.x
    add r2, r0.y, -c154
    cmp r1, r2, r1, c0.y
    add r2, r0.x, -c155
    cmp r1, r2, c0.y, r1
    add r2, r0.x, -c153
    cmp r1, r2, r1, c0.y
    mad r1, r1.x, -c0.yxxx, r1
    max r2, r1, c0.y
    mad r1, r2.y, -c0.yyxx, r2
    max r2, r1, c0.y
    mad r1, r2.z, -c0.yyyx, r2
    max r2, r1, c0.y
    dp4 r1.x, r2, c164
    dp4 r1.y, r2, c165
    dp4 r1.z, r2, c166
    dp4 r3.x, r2, c161
    dp4 r3.y, r2, c162
    dp4 r3.z, r2, c163
    dp4 r1.w, r2, c0.x
    cmp r1.w, -r1.w, c0.y, c0.x
    mad r0.xyw, r0, r1.xyzz, r3.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 r2, v0, s6
    add r0.y, r2.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.y, c1.z
    cmp_pp r1.zw, -r1.xyxy, c0.y, c0.x
    cmp_pp r3.xy, r1, -c0.y, -c0.x
    mad r1.xy, r1, -r1, c0.x
    add_pp r1.zw, r1, r3.xyxy
    mul_pp r1.xy, r1, r1.zwzw
    mad_pp r0.w, r1.x, -r1.x, c0.x
    mad_pp r0.w, r1.y, -r1.y, r0.w
    rsq_pp r1.w, r0.w
    rcp_pp r1.w, r1.w
    cmp_pp r1.z, -r0.w, c0.y, -r1.w
    dp3_pp r0.w, -c180, r1
    mul_pp r1.x, r0.w, c182.z
    cmp_pp r0.w, r0.w, r1.x, c0.y
    mul_pp r1.xyz, r0, r0.w
    mad_pp r0.xyz, r0, c182.y, r1
    mul_pp oC0.xyz, r2, r0
    mov oC0.w, c0.x

// approximately 72 instruction slots used (5 texture, 67 arithmetic)
 
