//
// 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;
//   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_SpotPoint;
//   
//   sampler2D g_SpotTex;
//   row_major float4x4 g_SpotViewProj;
//
//
// Registers:
//
//   Name            Reg   Size
//   --------------- ----- ----
//   g_ShadowCommon  c150     1
//   g_SpotPoint     c153     6
//   g_Light         c180     4
//   g_SpotViewProj  c184     4
//   g_SceneDepthTex s0       1
//   g_NormalsTex    s2       1
//   g_ShadowMapTex  s4       1
//   g_AlbedoTex     s6       1
//   g_SpotTex       s7       1
//

    ps_3_0
    def c0, 1, 0, 0.125, 0.99000001
    def c1, -0.5, 0.5, 128, 0
    def c2, 2, -1, 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 s2
    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 r2.z, r0.z, v1.x

    mad r2.xy, r1.zwzw, r2.z, r0

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


    mul r3, r2.y, c185
    mad r3, r2.x, c184, r3
    mad r3, r2.z, c186, r3
    add r3, r3, c187
    rcp r0.x, r3.w
    mul r0.xyw, r3.xyzz, r0.x
    mad r3.xy, r0, c158, c158.zwzw
    add r1.z, r3.y, -c157.w
    add r1.z, -r1_abs.z, c0.z
    cmp r1.z, r1.z, c0.x, c0.y
    mov r3.z, r0.w
    mad r0.xy, r0, c1.yxzw, c1.y
    texld_pp r4, r0, s7
    mul r0.xyw, r3.xyzz, r1.z
    mul r0.w, r0.w, c150.w
    mad r3.xyw, r0.xyzx, c0.xxzy, c0.yyzx
    min r3.z, r0.w, c0.w
    texldp r3, r3, s4
    add_pp r0.x, -r3.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 r0.z, -r0.z, c0.x
    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, r1, s6
    texld_pp r1, r1, s2
    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
    add r5.xyz, -r2, c180
    nrm r6.xyz, -r2
    dp3 r0.y, r5, r5
    rsq r0.y, r0.y
    rcp_pp r0.w, r0.y
    mul_pp r2.xyz, r5, r0.y
    mov r2.w, c180.w
    mad_sat_pp r0.y, r0.w, r2.w, c181.w
    mul_pp r0.y, r0.z, r0.y
    mul_pp r0.y, r4.w, r0.y
    mul r4.xyz, r4, c181
    mul_pp r0.yzw, r0.y, r4.xxyz
    mul_pp r0.xyz, r0.x, r0.yzww
    mad_pp r1.xy, r1, c2.x, c2.y
    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, r6, r4
    add r0.w, r0.w, r0.w
    mad_pp r5.xyz, r4, -r0.w, r6
    dp3_pp r0.w, r2, r4
    dp3_sat_pp r1.x, -r5, r2
    max_pp r1.y, r0.w, c0.y
    mul_pp r2.xy, r1.y, c182.zxzw
    mul_pp r0.w, r1.w, c1.z
    pow_pp r2.z, r1.x, r0.w
    rsq_pp r0.w, r0.w
    rcp_pp r0.w, r0.w
    mul_pp r0.w, r1.z, r0.w
    mul_pp r0.w, r2.z, r0.w
    mul_pp r0.w, r2.y, r0.w
    mul_pp r1.xyz, r0, r2.x
    mad_pp r1.xyz, r0, c182.y, r1
    mul_pp r0.xyz, r0, r0.w
    mad_pp oC0.xyz, r3, r1, r0
    mov_pp oC0.w, c0.x

// approximately 88 instruction slots used (6 texture, 82 arithmetic)
 
