//
// Generated by Microsoft (R) HLSL Shader Compiler 9.26.952.2844
//
// Parameters:
//
//   sampler2D g_AlbedoTex;
//   sampler2D g_ProjectedTex;
//   sampler2D g_SceneDepthTex;
//   
//   struct
//   {
//       float4 shadowFactors;
//       float4 lightDirPos;
//       float4 params;
//
//   } g_ShadowCommon;
//   
//   sampler2D g_ShadowMapTex;
//   
//   struct
//   {
//       row_major float4x4 eye2shadowMapUVMtx;
//       float4 params;
//       float4 light2UVScaleOffset;
//       float4 softShadowParams;
//       float4 softShadowParams1;
//
//   } g_Spot;
//   
//   row_major float4x4 g_SpotViewProj;
//
//
// Registers:
//
//   Name            Reg   Size
//   --------------- ----- ----
//   g_ShadowCommon  c150     1
//   g_Spot          c153     6
//   g_SpotViewProj  c184     4
//   g_SceneDepthTex s0       1
//   g_ShadowMapTex  s4       1
//   g_AlbedoTex     s6       1
//   g_ProjectedTex  s7       1
//

    ps_3_0
    def c0, 1, 0, 0.125, 0.99000001
    def c1, 0.5, -0.5, 0, 0

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

    dcl_texcoord v0
    dcl_texcoord1 v1
    dcl_2d s0
    dcl_2d s4
    dcl_2d s6
    dcl_2d s7
    mul r0.xy, c0, v1.w
    rcp r0.z, v1.z
    mul r1, r0.z, v0
    mul r2, r1.xyxx, c0.xxyy
    texldl r2, r2, s0
    mad r0.z, r2.x, -v1.y, c0.x
    rcp r0.z, r0.z
    mul r0.w, r0.z, v1.x
    mad r0.z, v1.x, r0.z, -c150.y
    mul_sat r0.z, r0.z, c150.z
    add_pp r0.z, -r0.z, c0.x
    mad r0.xy, r1.zwzw, r0.w, r0
    texld_pp r1, r1, s6
    add r1.x, r1.w, c1.y

    cmp_pp r1.x, r1.x, c0.x, c0.y

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 r2, r0.y, c185
    mad r2, r0.x, c184, r2
    mad r2, r0.w, c186, r2
    add r2, r2, c187
    rcp r0.x, r2.w
    mul r0.xyw, r2.xyzz, r0.x
    mad r0.xy, r0, c158, c158.zwzw
    add r1.y, r0.y, -c157.w
    add r1.y, -r1_abs.y, c0.z
    cmp r1.y, r1.y, c0.x, c0.y
    mad r1.z, r2.w, r1.y, -c157.x
    mul r0.xyw, r0, r1.y
    mul_sat r1.y, r1.z, c157.y
    add_pp r1.y, -r1.y, c0.x
    mad r1.zw, r0.xyxy, c1.xyxy, c1.x
    texld r2, r1.zwzw, s7
    mul_pp r1.y, r1.y, r2.w
    mul r0.w, r0.w, c150.w
    mad r2.xyw, r0.xyzx, c0.xxzy, c0.yyzx
    min r2.z, r0.w, c0.w
    texldp r2, r2, s4
    add_pp r0.x, -r2.x, c0.x
    mul_pp r0.x, r0.x, c150.x
    mul_pp r0.x, r1.y, r0.x
    mul_pp r0.x, r0.z, r0.x
    mul_pp oC0, r1.x, r0.x

// approximately 42 instruction slots used (5 texture, 37 arithmetic)
 
