//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   sampler2D DepthBuffer;
//   sampler2D NormalsBuffer;
//   float4 ScreenDimensions;
//   float4x4 gInvViewProj;
//   float4 gLightAtten[4];
//   float4 gLightPosition;
//   float4x4 gLightViewProj[4];
//   float4 gSpotLightDirection;
//   float4 gSpotLightParams;
//   sampler2D gSpotNormalSampler;
//   float4 gTime;
//   float4 gViewport;
//
//
// Registers:
//
//   Name                Reg   Size
//   ------------------- ----- ----
//   ScreenDimensions    c0       1
//   gViewport           c50      1
//   gTime               c51      1
//   gInvViewProj        c70      4
//   gLightPosition      c103     1
//   gSpotLightDirection c104     1
//   gSpotLightParams    c105     1
//   gLightAtten         c115     1
//   gLightViewProj      c123     4
//   NormalsBuffer       s0       1
//   DepthBuffer         s1       1
//   gSpotNormalSampler  s10      1
//

    ps_3_0
    def c1, 1, 0, -2, 3
    def c2, -0.0156862754, 9.99999975e-005, 0.156862751, 0
    def c3, 0.5, 2, -1, 1
	def c201, 1.0, 0.006, 0.0625, 0.0
    dcl_texcoord4 v0.zw
    dcl vPos.xy
    dcl_2d s0
    dcl_2d s1
    dcl_2d s10
	dcl_2d s13
    rcp_pp r0.x, c50.z
    rcp_pp r0.y, c50.w
    add r0.zw, c3.x, vPos.xyxy
    mul r1.xy, r0.zwzw, c0.zwzw
    mov r1.zw, c0
    mad r0.zw, r0, r1, c51.xyyz
    texld r2, r0.zwzw, s1
    mad r0.xy, r1, r0, c50
    texld_pp r1, r1, s0
    mad_pp r1.xyz, r1, c3.y, c3.z
    nrm_pp r3.xyz, r1
    add r0.y, -r0.y, c3.w
    mad r0.x, r0.x, c3.y, c3.z
    mad r0.y, r0.y, c3.y, c3.z
    mul r1, r0.y, c71
    mad r0, c70, r0.x, r1
    mad r0, c72, r2.x, r0
    add r0, r0, c73
	
	texldl r12, c201.z, s13	
	if_ne r12.x, c201.w
		rcp r0.w, r0.w
		mul r13.xyz, r0, r0.w 
		mov r13.w, c201.x
		dp4 r10.z, r13, c68
		dp4 r10.x, r13, c66
		dp4 r10.y, r13, c67
		dp4 r10.w, r13, c69
	
		add r12.y, r10.w, -r12.y
		mul r12.x, r12.x, r12.y
		add r10.x, r10.x, -r12.x
			
		mul r4, r10.y, c71
		mad r0, c70, r10.x, r4
		mad r0, c72, r10.z, r0
		mad r0, c73, r10.w, r0

		
	endif
	
    rcp r0.w, r0.w
    mad_pp r1.xyz, r0, -r0.w, c103
    mul r0.xyz, r0.w, r0
    dp3_pp r1.w, r1, r1
    rsq_pp r1.w, r1.w
    rcp_pp r2.x, r1.w
    mul_pp r1.xyz, r1.w, r1
    dp3_pp r1.x, r1, c104
    mad r1.y, r2.x, r1.x, -c115.x
    mul_sat_pp r1.y, r1.y, c115.y
    add_pp r1.y, -r1.y, c3.w
    add r1.z, r1_abs.x, -c105.y
    cmp_pp r1.w, r1.x, c1.x, c1.y
    add r1.x, r1.x, -c105.y
    cmp_pp r1.z, r1.z, r1.w, c1.y
    mul_pp r1.y, r1.y, r1.z
    add r1.z, -c105.y, c105.x
    rcp r1.z, r1.z
    mul_sat r1.x, r1.z, r1.x
    mad r1.z, r1.x, c1.z, c1.w
    mul r1.x, r1.x, r1.x
    mul_pp r1.x, r1.x, r1.z
    mad_pp r1, r1.y, r1.x, c2.x
    texkill r1
    mul r1.xyz, r3.yzxw, c1.xyyw
    mad r2.xyz, r3.zxyw, c1.yxyw, -r1
    mad r1.xy, r3.zxzw, -c1, r1.zxzw
    dp2add r1.z, r2, r2, c1.y
    rsq r1.z, r1.z
    mul r2.xyz, r1.z, r2
    mul r4.xyz, r2.yzxw, r3.zxyw
    mad r4.xyz, r3.yzxw, r2.zxyw, -r4
    nrm r5.xyz, r4
    mul r1.yzw, r3.xxyz, -r1.y
    mad_pp r1.xyz, -r1.x, r5, r1.yzww
    mov r0.w, c3.w
    dp4 r1.w, r0, c126
    rcp r1.w, r1.w
    dp4 r4.x, r0, c123
    dp4 r4.y, r0, c124
    mul_sat r0.xy, r1.w, r4
    dsx r0.z, r0.x
    dsy r0.w, r0.y
    mul r0.zw, r0, c2.y
    texldd_pp r0, r0, s10, r0.z, r0.w
    mad_pp r0.xyz, r0.wyxw, c3.y, c3.z
    mul_pp r1.xyz, r1, r0.y
    mul_pp r0.x, r0.z, r0.x
    mad_pp r1.xyz, r0.x, r2, r1
    mad_pp r0.x, r0.x, -r0.x, c3.w
    mad_pp r0.x, r0.y, -r0.y, r0.x
    rsq_pp r0.x, r0.x
    rcp_pp r0.x, r0.x
    mad_pp r0.xyz, r0.x, r3, r1
    nrm_pp r1.xyz, r0
    mad_pp oC0.xyz, r1, c3.x, c3.x
    rcp r0.x, v0.w
    mul_pp oC1, r0.x, v0.z
    mov_pp oC0.w, c2.z

// approximately 88 instruction slots used (3 texture, 85 arithmetic)
 