// CRC32: DF6C362A | Unity headers extracted from Internal-PrePassLighting.shader
// Shader "Hidden/Internal-PrePassLighting" {
//   Properties {
//    _LightTexture0 ("", any) = "" { }
//    _LightTextureB0 ("", 2D) = "" { }
//    _ShadowMapTexture ("", any) = "" { }
//   }
//   Fallback Off
//   SubShader 1/1 {
//     Pass 1/3 {
//       Tags { "SHADOWSUPPORT"="true" }
//       ZWrite Off
//       Blend DstColor Zero
//       GpuProgramID 57115
//       Program "fp" {
//         SubProgram "d3d9 " {
//           Keywords { "POINT" "SHADOWS_OFF" }
//           Matrix 0 [_CameraToWorld] 3
//           Vector 9 [_LightColor]
//           Vector 8 [_LightPos]
//           Vector 4 [_ProjectionParams]
//           Vector 3 [_WorldSpaceCameraPos]
//           Vector 5 [_ZBufferParams]
//           Vector 7 [unity_ColorSpaceLuminance]
//           Vector 10 [unity_LightmapFade]
//           Vector 6 [unity_ShadowFadeCenterAndType]
//           SetTexture 0 [_CameraDepthTexture] 2D 0
//           SetTexture 1 [_LightTextureB0] 2D 1
//           SetTexture 2 [_CameraNormalsTexture] 2D 2
//         }
//       }
//     }
//   }
// }
// 
// Headers extracted with DarkStarSword's extract_unity_shaders.py
// https://raw.githubusercontent.com/DarkStarSword/3d-fixes/master/extract_unity_shaders.py

    ps_3_0
    def c11, 1, 2, -1, 0
    def c12, 128, 0, 0, 0
    dcl_texcoord v0.xyw
    dcl_texcoord1 v1.xyz
    dcl_2d s0
    dcl_2d s1
    dcl_2d s2

dcl_texcoord5 v5.x // New input from vertex shader with unity_CameraInvProjection[0].x

def c220, 0, 1, 0.0625, 0.5
dcl_2d s13

    mov r0.xyz, c9
    mul_pp r0.xyw, r0.xyzz, c7.xyzz
    add_pp r0.xw, r0.yyzw, r0.x
    mul_pp r0.y, r0.w, r0.y
    mad_pp r0.x, r0.z, c7.z, r0.x
    rsq_pp r0.y, r0.y
    rcp_pp r0.y, r0.y
    dp2add_pp r0.x, c7.w, r0.y, r0.x
    rcp r0.y, v1.z
    mul r0.y, r0.y, c4.z
    mul r0.yzw, r0.y, v1.xxyz
    rcp r1.x, v0.w
    mul r1.xy, r1.x, v0
    texld r2, r1, s0
    texld_pp r1, r1, s2
    mad r2.x, c5.x, r2.x, c5.y
    rcp r2.x, r2.x
    mul r3.xyz, r0.yzww, r2.x // depth in r3.z
    mov r3.w, c11.x

// Unity light/shadow fix (pixel shader stage) inserted with DarkStarSword's shadertool.py:
// shadertool.py --fix-unity-lighting-ps --in-place DF6C362A.txt
texldl r31, c220.z, s13
add r31.w, r3.z, -r31.y
mul r31.w, r31.w, r31.x
mad r3.x, -r31.w, v5.x, r3.x

    dp4 r4.x, c0, r3
    dp4 r4.y, c1, r3
    dp4 r4.z, c2, r3
    add r2.yzw, r4.xxyz, -c3.xxyz
    dp3 r0.y, r2.yzww, r2.yzww
    rsq r0.y, r0.y
    add r3.xyw, r4.xyzz, -c8.xyzz
    add r4.xyz, r4, -c6
    dp3 r0.z, r4, r4
    rsq r0.z, r0.z
    rcp r0.z, r0.z
    mad r0.z, r0.w, -r2.x, r0.z
    mad r0.z, c6.w, r0.z, r3.z
    mad r0.z, r0.z, c10.z, c10.w
    add_sat r0.z, -r0.z, c11.x
    dp3 r0.w, r3.xyww, r3.xyww
    rsq r2.x, r0.w
    mul r0.w, r0.w, c8.w
    texld r4, r0.w, s1
    mul_pp r3.xyz, r2.x, r3.xyww
    mad r2.xyz, r2.yzww, -r0.y, -r3
    nrm_pp r5.xyz, r2
    mad_pp r1.xyz, r1, c11.y, c11.z
    mul_pp r0.y, r1.w, c12.x
    nrm_pp r2.xyz, r1
    dp3_pp r0.w, r5, r2
    dp3_pp r1.x, -r3, r2
    max_pp r1.y, r0.w, c11.w
    pow r2.x, r1.y, r0.y
    mov_sat r0.y, r4.x
    mul r0.w, r4.x, r1.x
    mul_pp r1.yzw, r0.w, c9.xxyz
    cmp_pp r1.xyz, r1.x, r1.yzww, c11.w
    mul r0.y, r0.y, r2.x
    mul_pp r1.w, r0.x, r0.y
    mul_pp r0, r0.z, r1
    exp_pp oC0.x, -r0.x
    exp_pp oC0.y, -r0.y
    exp_pp oC0.z, -r0.z
    exp_pp oC0.w, -r0.w
