//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float4x4 g_cameraToSpotProjector;
//   float4 g_lightColor;
//   float4 g_lightProperties;
//   float4 g_pointLightFactors;
//   float4 g_sceneTextureSize;
//   float4x4 g_worldViewInverse;
//   sampler2D sceneSampler0;
//   sampler2D sceneSamplerDepth;
//   sampler2D sceneSamplerNormal;
//   sampler2D sceneSamplerSpecular;
//   sampler2D spotProjectorSampler;
//
//
// Registers:
//
//   Name                    Reg   Size
//   ----------------------- ----- ----
//   g_cameraToSpotProjector c0       4
//   g_worldViewInverse      c4       3
//   g_sceneTextureSize      c7       1
//   g_pointLightFactors     c8       1
//   g_lightColor            c9       1
//   g_lightProperties       c10      1
//   sceneSampler0           s0       1
//   sceneSamplerNormal      s1       1
//   sceneSamplerDepth       s2       1
//   sceneSamplerSpecular    s3       1
//   spotProjectorSampler    s4       1
//
//
// Default values:
//
//   g_cameraToSpotProjector
//     c0   = { 0, 0, 0, 0 };
//     c1   = { 0, 0, 0, 0 };
//     c2   = { 0, 0, 0, 0 };
//     c3   = { 0, 0, 0, 0 };
//
//   g_worldViewInverse
//     c4   = { 0, 0, 0, 0 };
//     c5   = { 0, 0, 0, 0 };
//     c6   = { 0, 0, 0, 0 };
//
//   g_sceneTextureSize
//     c7   = { 0, 0, 0, 0 };
//
//   g_pointLightFactors
//     c8   = { 0, 0, 0, 0 };
//
//   g_lightColor
//     c9   = { 0, 0, 0, 0 };
//
//   g_lightProperties
//     c10  = { 1, 1, 1, 1 };
//

    ps_3_0
    def c11, 7.21347523, 6, 9.99999997e-007, 1
    def c12, 0.5, 0, 10, 1
    def c13, 2, -1, 1.5, 1.25
    def c14, 0.125, 0, 0, 0
def c220, 1, 0.835, 0.0625, 0.5
dcl_2d s15
    dcl_texcoord v0.xyz
    dcl_texcoord1 v1.xyz
dcl_texcoord2 v3.xyz					//shifted bersion of v0, from VS A66921A2

    dcl vPos.xy
    dcl_2d s0
    dcl_2d s1
    dcl_2d s2
    dcl_2d s3
    dcl_2d s4
    add r0.xy, c12.x, vPos
    mul r0.xy, r0, c7.zwzw
    mov r0.zw, c12.y
    texldl r1, r0.xyww, s1
    mad r2.xyz, r1.xyxw, c12.wwyw, c12.yyww
    dp3 r1.z, r2, r2
    rcp r1.z, r1.z
    add r1.w, r1.z, r1.z
    mad r2.z, r1.z, c13.x, c13.y
    mul r2.xy, r1.w, r1

	rcp r1.x, v3.z 
    mul r1.xyz, r1.x, v3 

    texldl r3, r0.xyww, s2
    mul r4.xyz, r1, -r3.x
    mad r1.xyz, r1, r3.x, v1

texldl r24, c220.z, s15
add r24.y, -r4.z, -r24.y
mul r24.x, r24.x, r24.y
rcp r25.x, c190.x
mul r24.x, r24.x, r25.x 

add r4.x, r4.x, -r24.x					//Must be negative
add r1.x, r1.x, r24.x					//Must be positive
	
    mov oC0.w, r3.x
    dp3 r1.w, -r4, -r4
    rsq r1.w, r1.w
    mul r3.xyz, r1.w, -r4
    dp3 r2.w, r2, r3
    nrm r3.xyz, r1
    dp3_sat r3.w, r2, r3
    max r5.x, r3.w, r2.w
    mad r5.yzw, -r4.xxyz, r1.w, r3.xxyz
    nrm r6.xyz, r5.yzww
    dp3 r1.w, r6, r3
    dp3_sat r2.x, r2, r6
    mad r1.w, r5.x, r1.w, c11.z
    rcp r1.w, r1.w
    texldl r5, r0, s3
    texldl r0, r0.xyww, s0
    mul r2.y, r5.w, c10.z
    mul r2.y, r2.y, c8.y
    mul r2.y, r2.y, c11.x
    exp r2.y, r2.y
    mul r2.z, r2.y, c11.y
    mad r2.y, r2.y, c11.y, c11.w
    pow r3.x, r2.x, r2.z
    mul r2.x, r2.y, r3.x
    mul r1.w, r1.w, r2.x
    mul r1.w, r3.w, r1.w
    pow r2.x, r3.w, c13.z
    mul r2.x, r2.x, c13.w
    mul r1.w, r1.w, c14.x
    dp3 r3.x, -r1, c4
    dp3 r3.y, -r1, c5
    dp3 r3.z, -r1, c6
    dp3 r1.x, r3, r3
    rsq r1.x, r1.x
    rcp r1.x, r1.x
    add r1.x, -r1.x, c12.w
    max r2.y, r1.x, c12.y
    pow r1.x, r2.y, c10.y
    mul r1.xyz, r1.x, c9
    mov r4.w, c12.w
    dp4 r3.x, r4, c0
    dp4 r3.y, r4, c1
    dp4 r2.y, r4, c3
    rcp r2.z, r2.y
    mul r2.zw, r2.z, r3.xyxy
    texld r3, r2.zwzw, s4
    mul r1.xyz, r1, r3
    cmp r1.xyz, -r2.y, c12.y, r1
    mul r2.yzw, r1.xxyz, r1.w
    mul r1.xyz, r1, r2.x
    mul r2.xyz, r5, r2.yzww
    mul r2.xyz, r2, c8.x
    mov_sat r0.w, r0.w
    mul r0.w, r0.w, r0.w
    mad r0.w, r0.w, -c12.z, c12.w
    mul r0.xyz, r0.w, r0
    cmp r0.xyz, r0.w, r0, c12.y
    mad oC0.xyz, r1, r0, r2

// approximately 87 instruction slots used (9 texture, 78 arithmetic)
 