//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float4x4 g_cameraToShadowProjector;
//   float4 g_sceneTextureSize;
//   float4 g_shadowCascadeColor;
//   float4 g_shadowFadeDistances;
//   float g_shadowPixelSize;
//   float4 g_shadowTextureSize;
//   float4x4 g_worldView;
//   sampler2D sceneSamplerDepth;
//   sampler2D shadowSampler;
//
//
// Registers:
//
//   Name                      Reg   Size
//   ------------------------- ----- ----
//   g_cameraToShadowProjector c0       4
//   g_worldView               c4       3
//   g_sceneTextureSize        c7       1
//   g_shadowTextureSize       c8       1
//   g_shadowCascadeColor      c9       1
//   g_shadowFadeDistances     c10      1
//   g_shadowPixelSize         c11      1
//   sceneSamplerDepth         s0       1
//   shadowSampler             s1       1
//
//
// Default values:
//
//   g_cameraToShadowProjector
//     c0   = { 0, 0, 0, 0 };
//     c1   = { 0, 0, 0, 0 };
//     c2   = { 0, 0, 0, 0 };
//     c3   = { 0, 0, 0, 0 };
//
//   g_worldView
//     c4   = { 0, 0, 0, 0 };
//     c5   = { 0, 0, 0, 0 };
//     c6   = { 0, 0, 0, 0 };
//
//   g_sceneTextureSize
//     c7   = { 0, 0, 0, 0 };
//
//   g_shadowTextureSize
//     c8   = { 0, 0, 0, 0 };
//
//   g_shadowCascadeColor
//     c9   = { 0, 0, 0, 0 };
//
//   g_shadowFadeDistances
//     c10  = { 0, 0, 0, 0 };
//
//   g_shadowPixelSize
//     c11  = { 0, 0, 0, 0 };
//

    ps_3_0
    def c12, 0.5, 0, 2.5, 1
    def c13, -1.99999995e-005, -1, 0, 1
    def c14, 0.111111112, 0, 0, 0
def c220, 1, 0.835, 0.0625, 0.5
dcl_2d s15
    dcl_texcoord v0.xyz
dcl_texcoord2 v3.xyz					//shifted bersion of v0, from VS A66921A2

    dcl vPos.xy
    dcl_2d s0
    dcl_2d s1
    add r0.xy, c12.x, vPos
    mul r0.xy, r0, c7.zwzw
    mov r0.zw, c12.y
    texldl r0, r0, s0
	
    rcp r0.y, v3.z
    mul r0.yzw, r0.y, v3.xxyz
	
rcp r10.y, v0.z
mul r10.yzw, r10.y, v0.xxyz

    mul r1.xyz, -r0.x, r0.yzww
    rcp r1.w, r1.z
    mul r1.xyz, r1.w, r1
    mov r2.z, c12.z
    mad r1.w, c11.x, -r2.z, r0.x
    mul r1.xyz, -r1.w, r1
    mov r1.w, c12.w
    dp4 r2.x, r1, c3
    rcp r2.x, r2.x
	
texldl r24, c220.z, s15
add r24.y, -r1.z, -r24.y
mul r24.x, r24.x, r24.y
rcp r25.x, c190.x
mul r24.x, r24.x, r25.x 
add r1.x, r1.x, -r24.x	

    dp4 r3.x, r1, c0
    dp4 r3.y, r1, c1
    dp4 r3.z, r1, c2
    mul r1.xyz, r2.x, r3.zxyw
    mad r4.xy, r3, r2.x, -c8.zwzw
    mad r2.xy, r3, r2.x, c8.zwzw
    mov_sat r1.x, r1.x
    add r4.z, r1.x, c13.x
    mov r4.w, c12.y
    texldl r3, r4, s1
    mov r3.zw, c8
    mad r5, r3.zwzw, c13.ywyz, r1.yzyz
    mov r4.xy, r5.zwzw
    texldl r6, r4, s1
    mov r5.zw, r4
    add r3.x, r3.x, r6.x
    texldl r4, r5, s1
    add r3.x, r3.x, r4.x
    mad r4, r3.zwzw, c13.zwzy, r1.yzyz
    mov r5.xy, r4.zwzw
    texldl r6, r5, s1
    mov r1.xw, r5.zyzw
    add r3.x, r3.x, r6.x
    mad r5, r3.zwzw, c13.wzwy, r1.yzyz
    texldl r6, r1.yzxw, s1
    mov r4.zw, r1.xyxw
    add r1.x, r3.x, r6.x
    texldl r3, r4, s1
    add r1.x, r1.x, r3.x
    mov r4.xy, r5.zwzw
    texldl r3, r4, s1
    mov r5.zw, r4
    add r1.x, r1.x, r3.x
    texldl r3, r5, s1
    mov r2.zw, r5
    texldl r2, r2, s1
    add r1.x, r1.x, r3.x
    add r1.x, r2.x, r1.x
    mul r1.y, r1.x, c14.x
    mov r2.xyz, c9
    mad r1.xzw, r1.x, -c14.x, r2.xyyz
    mad r1.xyz, c9.w, r1.xzww, r1.y
    mov r2.x, -c4.w
    mov r2.y, -c5.w
    mov r2.z, -c6.w
    // mad r0.xyz, r0.yzww, -r0.x, r2
mad r0.xyz, r10.yzww, -r0.x, r2
    dp3 r0.x, r0, r0
    rsq r0.x, r0.x
    rcp r0.x, r0.x
    add r0.x, r0.x, -c10.y
    add r0.y, -c10.y, c10.x
    rcp r0.y, r0.y
    mul_sat r0.x, r0.y, r0.x
    mul oC0.xyz, r0.x, r1
    mov oC0.w, r0.x

// approximately 80 instruction slots used (20 texture, 60 arithmetic)
 