//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float4 LghtAttn0;
//   float4 LghtColor0;
//   float4 LghtDir0;
//   float4 LghtPos0;
//   float cameraFar;
//   float cameraFarMinusNear;
//   float cameraNearFar;
//   float3 eyePositionWS;
//   sampler2D g_GBufferDepth;
//   sampler2D g_GBufferDiffuse;
//   sampler2D g_GBufferNormal;
//   sampler2D g_GBufferSpecular;
//   float4 g_PixelPerfectScreenOffset;
//   float g_RenderRatio;
//
//
// Registers:
//
//   Name                       Reg   Size
//   -------------------------- ----- ----
//   eyePositionWS              c0       1
//   cameraFar                  c1       1
//   cameraNearFar              c2       1
//   cameraFarMinusNear         c3       1
//   g_RenderRatio              c4       1
//   LghtPos0                   c5       1
//   LghtColor0                 c6       1
//   LghtAttn0                  c7       1
//   LghtDir0                   c8       1
//   g_PixelPerfectScreenOffset c9       1
//   g_GBufferDiffuse           s0       1
//   g_GBufferNormal            s1       1
//   g_GBufferSpecular          s2       1
//   g_GBufferDepth             s3       1
//

    ps_3_0
    def c10, 0.5, -0.5, 2, -1
    def c11, 2.20000005, 1024, 8, 0.0397887453
    def c12, 4, 0, 0, 0
def c220, 1, 0.5, 0.0625, 0.83
dcl_2d s14
dcl vPos.xy
    dcl_texcoord v0.xyw  // IN<4,5,7>
    dcl_texcoord1 v1.xyz  // IN<8,9,10>
    dcl_2d s0
    dcl_2d s1
    dcl_2d s2
    dcl_2d s3

#line 1102 "pp_def_omni.cgfx"
    rcp r0.x, v0.w  // ::oow<0>
    mul r0.yz, r0.x, v0.xxyw  // ::uvProj<0,1>
    mul_pp r1.xyz, r0.x, v1  // mainFPStencilLight::IN<8,9,10>

#line 1109
    mov r2.xy, c10
    mad r0.xy, r0.yzzw, r2, c9
    add r0.xy, r0, c10.x  // ::uv<0,1>

#line 702
    mul r0.xy, r0, c4.x  // FetchGeom::uv<0,1>

    mov r11.xy, vPos.xy
    rcp r11.z, c210.x
    rcp r11.w, c210.y
    mul r11.xy, r11.xy, r11.zw
    mul r11.zw, r11.zw, c220.yy
    add r0.xy, r11.xy, r11.zw
	
#line 706
    texld r2, r0, s3  // getDepth::depthSample<0>

#line 231 "incCommon.cgfx"
    mov r3.x, c3.x  // ::cameraFarMinusNear<0>
    mad r0.z, r2.x, r3.x, -c1.x
    rcp r0.z, r0.z
    mul r0.z, r0.z, c2.x  // ::viewSpaceZ<0>

#line 709 "pp_def_omni.cgfx"
    mul r2.xyz, r1, r0.z  // ::eyeToPos<0,1,2>
    mad r1.xyz, r0.z, r1, c0  // ::geom<0,1,2>
	
//Mike_ar69: Stereo Correct
mov r21.xyz, r1.xyz
mov r21.w, c220.x

mul r22, r21.y, c205
mad r22, c204, r21.x, r22
mad r22, c206, r21.z, r22
add r22, c207, r22
	
texldl r24, c220.z, s14
add r24.y, -r22.z, -r24.y
mul r24.x, r24.x, r24.y
rcp r25.x, c100.x
mul r24.x, r24.x, r25.x //c100.x //c220.w
add r22.x, r22.x, -r24.x

rcp r25.w, r22.w
mul r22, r22, r25.w

mul r21, r22.y, c201
mad r21, c200, r22.x, r21
mad r21, c202, r22.z, r21
add r21, c203, r21

rcp r25.w, r21.w
mul r21.xyz, r21.xyz, r25.w

mov r1.xyz, r21.xyz

#line 608
    add r1.xyz, -r1, c5  // ::lightVec<0,1,2>

#line 711
    dp3 r0.z, -r2, -r2
    rsq r0.z, r0.z

#line 611
    dp3 r0.w, r1, r1
    rsq r0.w, r0.w
    mul r1.xyz, r0.w, r1  // ::lightVec<0,1,2>
    rcp r0.w, r0.w  // ::lightDist<0>

#line 621
    add r0.w, r0.w, -c7.x
    mul_sat_pp r0.w, r0.w, c7.y  // ::attn<0>

#line 676
    mad r2.xyz, -r2, r0.z, r1
    nrm_pp r3.xyz, r2  // ::halfVec<0,1,2>

#line 713
    texld_pp r2, r0, s1  // ::n<0,1,2>

#line 717
    mad r2.xyz, r2, c10.z, c10.w
    nrm_pp r4.xyz, r2  // ::geom<9,10,11>

#line 681
    dp3_sat_pp r0.z, r4, r3  // ::ndh<0>

#line 678
    dp3_sat r1.w, r4, r1  // ::ndl<0>

#line 616
    dp3 r1.x, -c8, r1  // ::dirContribution<0>
    add r1.x, r1.x, -c7.z
    mul_sat r1.x, r1.x, c7.w  // ::coneAttn<0>

#line 626
    mul_pp r0.w, r0.w, r1.x  // ::attn<0>

#line 629
    mul_pp r0.w, r0.w, r0.w  // ::attn<0>

#line 694
    mul r1.xyz, r0.w, c6

#line 740
    texld_pp r2, r0, s2  // ::s<0,1,2,3>
    texld_pp r3, r0, s0  // ::d<0,1,2>

#line 747
    mul_pp r0.x, r2.w, c11.y
    max_pp r2.w, r0.x, -c10.w  // ::material<7>

#line 682
    pow_pp r3.w, r0.z, r2.w  // ::specPower<0>
    add r0.x, r2.w, c11.z
    mul r0.x, r0.x, r3.w
    mul_pp r0.x, r0.x, c11.w  // ::specPower<0>

#line 692
    mul_pp r0.xyz, r0.x, r2
    mul_sat r0.w, r1.w, c12.x
    mul r0.xyz, r0.w, r0

#line 730
    log_pp r2.x, r3.x
    log_pp r2.y, r3.y
    log_pp r2.z, r3.z
    mul_pp r2.xyz, r2, c11.x
    exp_pp r3.x, r2.x  // ::gammaToLinear<0>
    exp_pp r3.y, r2.y  // ::gammaToLinear<1>
    exp_pp r3.z, r2.z  // ::gammaToLinear<2>

#line 692
    mad_pp r0.xyz, r3, r1.w, r0  // ::result<0,1,2>
    mul_pp oC0.xyz, r1, r0  // ::mainFPStencilSpotNoShadow<0,1,2>
    mov_pp oC0.w, -c10.w  // ::mainFPStencilSpotNoShadow<3>

// approximately 63 instruction slots used (4 texture, 59 arithmetic)
 