//
// 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, -0.5, 0.5, 0.25
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_texcoord3 v4.xyz
    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
    mov_sat r1.x, r1.x
    add r2.z, r1.x, c13.x
    mov r3.yzw, c13
    mad r4, c8.zwzw, r3.yyyz, r1.yzyz
    mad r1, c8.zwzw, r3.zzzy, r1.yzyz
    mul r2.xyw, r4.xyzx, c12.wwzy
    mul r4.xyw, r4.zwzx, c12.wwzy
    texldl r5, r2, s1
    mov r4.z, r2.z
    texldl r2, r4, s1
    add r2.x, r2.x, r5.x
    mov r4.xy, r1.zwzw
    texldl r5, r4, s1
    mov r1.zw, r4
    texldl r1, r1, s1
    add r1.y, r2.x, r5.x
    add r1.x, r1.x, r1.y
    mul r1.y, r1.x, c13.w
    mad r1.xzw, r1.x, -r3.w, c9.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 57 instruction slots used (10 texture, 47 arithmetic)
 