//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   sampler2D g_geometryBuffer;
//   sampler2D g_glossinessBuffer;
//   float g_invLightRange;
//   float g_invNear;
//   float2 g_invScreenSize;
//   float3 g_lightColor;
//   float3 g_lightPosition;
//   samplerCUBE g_shadowCubeMap;
//   row_major float4x4 g_shadowProjMatrix;
//
//
// Registers:
//
//   Name               Reg   Size
//   ------------------ ----- ----
//   g_shadowProjMatrix c0       3
//   g_invScreenSize    c3       1
//   g_invNear          c4       1
//   g_lightPosition    c5       1
//   g_lightColor       c6       1
//   g_invLightRange    c7       1
//   g_geometryBuffer   s0       1
//   g_glossinessBuffer s1       1
//   g_shadowCubeMap    s2       1
//

    ps_3_0
    def c8, 16, 1, 1.05879998, 0
    def c9, 0.5, 2, 0.159154937, 1
    def c10, 0.899999976, 0.100000001, 0.318309873, -0.0588000007
    def c11, 0.298900008, 0.587000012, 0.114, 0
	def c200, 0.0, 0.0, 0.0625, 0
    dcl_texcoord v0.xyz
    dcl vPos.xy
    dcl_2d s0
    dcl_2d s1
	dcl_2d s13
    dcl_cube s2
    add r0.xy, c9.x, vPos
    mul r0.xy, r0, c3
    texld r1, r0, s1
    texld r0, r0, s0
    add r1.y, r1.x, c9.y
    mul r2.xyz, c4.x, v0
    mad r3.xyz, r2, -r0.w, c5
    mul r2.xyz, r0.w, r2
    dp3 r0.w, r3, r3
    rsq r1.z, r0.w
    mul r3.xyz, r1.z, r3
    dp3 r1.z, -r2, -r2
    rsq r1.z, r1.z
    mad r4.xyz, -r2, r1.z, r3
    dp3_sat r1.w, r3, r0
    mul r3.xyz, r1.z, -r2
    dp3 r1.z, r3, r0
    add r1.z, -r1.z, c9.w
    nrm r3.xyz, r4
    dp3_sat r0.x, r3, r0
    pow r3.x, r0.x, r1.x
    mul r0.x, r1.y, r3.x
    mul r0.x, r0.x, c9.z
    mul r0.y, r1.z, r1.z
    mul r0.y, r0.y, r1.z
    mad r0.y, r0.y, c10.x, c10.y
    mul r0.x, r0.y, r0.x
    mul r0.x, r1.w, r0.x
    mul r0.y, r1.w, c10.z
    mul r1.xyz, r0.y, c6
    mov r3.xyz, c6
    dp3 r0.y, r3, c11
    mul r1.w, r0.y, r0.x
    mul r0.x, c7.x, c7.x
    mul r0.x, r0.x, r0.w
    mad r0.x, r0.x, c8.x, c8.y
    rcp r0.x, r0.x
    add r0.x, r0.x, c10.w
    mul r0.x, r0.x, c8.z
    max r3.x, r0.x, c8.w
    mul r0, r1, r3.x
    mov r2.w, c9.w
		texldl r11, c200.z, s13
    add r11.y, r2.z, -r11.y
    mul r11.x, r11.x, r11.y
    add r2.x, r2.x, -r11.x 
    dp4 r1.x, c0, r2
    dp4 r1.y, c1, r2
    dp4 r1.z, c2, r2
    dp3 r1.w, r1, r1
    texld r2, r1, s2
    rsq r1.x, r1.w
    rcp r1.x, r1.x
    add r1.x, -r2.x, r1.x
    mad r1.y, r2.x, -r2.x, r2.y
    mad r1.z, r1.x, r1.x, r1.y
    rcp r1.z, r1.z
    mul_sat r1.y, r1.z, r1.y
    cmp r1.x, r1.x, r1.y, c9.w
    mul oC0, r0, r1.x

// approximately 60 instruction slots used (3 texture, 57 arithmetic)
 