// ambiant occlusion dot
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   sampler2D $s_cameraDepthSampler;
//   float2 $s_screenReciprocal;
//   float4 $s_shadeFactor;
//
//
// Registers:
//
//   Name                  Reg   Size
//   --------------------- ----- ----
//   $s_screenReciprocal   c0       1
//   $s_shadeFactor        c1       1
//   $s_cameraDepthSampler s0       1
//

    ps_3_0
    def c2, 0.5, 1, 0, 0
    def c3, 3.73000002, 2.73000002, -3.73000002, -0.730000019
    dcl_texcoord v0
    dcl_texcoord1 v1
    dcl_texcoord2 v2.xyz
    dcl vPos.xy
    dcl_2d s0
// New input with s_projectionReciprocal from the vertex shader:
dcl_texcoord3 v3
// Helix Mod Stereo Params:
dcl_2d s13
def c220, 0, 1, 0.0625, 0.5
    frc r0.xy, vPos
    add r0.xy, -r0, vPos
    add r0.xy, r0, c2.x
    mul r0.xy, r0, c0
    texld r0, r0, s0
    mov r1.xyz, v0		
// Split the mad instruction (using r30 this time as I want to use the
// result twice):
//mad r0.yzw, v2.xxyz, r0.x, -r1.xxyz
mul r30.yzw, v2.xxyz, r0.x
// view-space stereo correction from r30.yzw:
texldl r31, c220.z, s13
add r31.w, r30.w, r31.y
mul r31.w, r31.w, r31.x
mad r30.y, r31.w, v3.x, r30.y
// Second part of split mad instruction:
add r0.yzw, r30, -r1.xxyz
    dp3 r0.y, v1, r0.yzww
    max r1.w, r0.y, -v1.w
    min r0.y, v1.w, r1.w
    mad r0.yzw, v1.xxyz, r0.y, r1.xxyz	
// Replace this mad to use the adjusted coord from above negated:
//mad r0.xyz, v2, -r0.x, r0.yzww
add r0.xyz, -r30.yzw, r0.yzww
    dp3 r0.x, r0, r0
    rsq r0.x, r0.x
    rcp r0.x, r0.x
    mul_pp r0.x, r0.x, v0.w
    max_pp r1.x, c2.y, r0.x
    mad_pp r0.xy, r1.x, c3, c3.zwzw
    rcp r0.y, r0.y
    mul_sat_pp r0.x, r0.y, r0.x
    max_pp oC0.xyz, c1.x, r0.x
    mov_pp oC0.w, c2.y
//mov oC0.xyzw, c2.xxxy
// approximately 22 instruction slots used (1 texture, 21 arithmetic)
 