//
// Generated by Microsoft (R) D3DX9 Shader Compiler 
//
// Parameters:
//
//   float2 ShadowMapRes;
//   sampler2D s_EdgeBuffer;
//   sampler2D s_sceneDepth;
//   sampler2D s_shadowBuffer;
//   row_major float4x4 screenToShadowBuffer;
//   float4 shadowMask;
//   float shadowStrength;
//
//
// Registers:
//
//   Name                 Reg   Size
//   -------------------- ----- ----
//   screenToShadowBuffer c0       4
//   shadowMask           c4       1
//   shadowStrength       c5       1
//   ShadowMapRes         c6       1
//   s_sceneDepth         s0       1
//   s_shadowBuffer       s1       1
//   s_EdgeBuffer         s2       1
//
//
// Default values:
//
//   screenToShadowBuffer
//     c0   = { 0, 0, 0, 0 };
//     c1   = { 0, 0, 0, 0 };
//     c2   = { 0, 0, 0, 0 };
//     c3   = { 0, 0, 0, 0 };
//
//   shadowMask
//     c4   = { 0, 0, 0, 0 };
//
//   shadowStrength
//     c5   = { 0, 0, 0, 0 };
//
//   ShadowMapRes
//     c6   = { 0, 0, 0, 0 };
//

    ps_3_0
  def c200, 0, 0, 0.0625, 0
    def c7, 1, 0, -1, 2
    def c8, 0.25, 0.5, 0, 0
    dcl_texcoord v0.xyw
    dcl_texcoord1 v1
    dcl_2d s0
    dcl_2d s1
    dcl_2d s2
  dcl_2d s13
    texldp r0, v1, s0
    rcp r0.x, v0.w
    mul r0.xy, r0.x, v0
    mul r1.xy, r0.w, r0
  texldl r13, c200.z, s13	
  add r13.y, r0.w, -r13.y
  mul r13.x, r13.x, r13.y
  add r1.x, r1.x, -r13.x
    mad r1.zw, r0.w, c7.xyxy, c7.xyyx
    dp4 r0.x, c3, r1
    rcp r0.y, r0.x
    dp4 r2.x, c0, r1
    dp4 r2.y, c1, r1
    dp4 r2.z, c2, r1
    mov r1, r0.x
    texkill r1
    mul r1.xyz, r0.y, r2.zxyw
    texld_pp r3, r1.yzzw, s2
    cmp r0.x, -r3.x, c7.y, c7.x
    if_ne r0.x, -r0.x
      mov_sat r1.x, r1.x
      mul r0.xz, r1.yyzw, c6.x
      frc_pp r0.xz, r0
      mad r3.xy, r2, r0.y, -c6.y
      mov r3.zw, c7.y
      texldl r3, r3, s1
      mov r4, c7
      mul r5, r4.zyzx, c6.y
      mad r6.xy, r2, r0.y, r5
      mov r6.zw, c7.y
      texldl r6, r6, s1
      mad r7.xy, r2, r0.y, r5.zwzw
      mov r7.zw, c7.y
      texldl r7, r7, s1
      mul r8, r4.zwyx, c6.y
      mad r9.xy, r2, r0.y, r8.y
      mov r9.zw, c7.y
      texldl r9, r9, s1
      mad r10.xy, r2, r0.y, r8.zwzw
      mov r10.zw, c7.y
      texldl r10, r10, s1
      mov r9.w, r9.x
      mad r11.xy, r2, r0.y, r8
      mov r11.zw, c7.y
      texldl r11, r11, s1
      mov r9.x, r11.x
      mul r4, r4.ywxw, c6.y
      mad r11.xy, r2, r0.y, r4.zwzw
      mov r11.zw, c7.y
      texldl r11, r11, s1
      mad r12.xy, r2, r0.y, r4
      mov r12.zw, c7.y
      texldl r12, r12, s1
      mov r9.y, r12.x
      mov r9.z, r11.x
      add r9, -r1.x, r9
      cmp_pp r9, r9, c7.y, c7.x
      lrp_pp r10.yzw, r0.x, r9, r9.xxyz
      dp3_pp r9.w, r10.ywzw, c8.xxyw
      mov r7.y, r10.x
      mad r10.xy, r2, r0.y, r8.wzzw
      mov r10.zw, c7.y
      texldl r10, r10, s1
      mad r11.xy, r2, r0.y, c6.y
      mov r11.zw, c7.y
      texldl r11, r11, s1
      mov r7.z, r11.x
      mov r11.zw, c7.y
      mad r11.xy, r2, r0.y, r4.yxzw
      texldl r11, r11, s1
      mad r4.xy, r2, r0.y, r4.wzzw
      mov r4.zw, c7.y
      texldl r4, r4, s1
      mov r7.w, r4.x
      add r4, -r1.x, r7
      cmp_pp r4, r4, c7.y, c7.x
      lrp_pp r7.xyz, r0.x, r4.yzww, r4
      dp3_pp r9.z, r7.xzyw, c8.xxyw
      mov r6.z, r10.x
      mov r6.w, r11.x
      mov r1.w, c7.y
      texldl r4, r1.yzww, s1
      mov r6.y, r4.x
      add r4, -r1.x, r6
      cmp_pp r4, r4, c7.y, c7.x
      lrp_pp r1.yzw, r0.x, r4, r4.xxyz
      dp3_pp r9.y, r1.ywzw, c8.xxyw
      mov r4.zw, c7.y
      mad r4.xy, r2, r0.y, r5.yxzw
      texldl r4, r4, s1
      mov r3.y, r4.x
      mad r4.xy, r2, r0.y, r5.wzzw
      mov r4.zw, c7.y
      texldl r4, r4, s1
      mov r3.z, r4.x
      mad r2.xy, r2, r0.y, r8.yxzw
      mov r2.zw, c7.y
      texldl r2, r2, s1
      mov r3.w, r2.x
      add r1, -r1.x, r3
      cmp_pp r1, r1, c7.y, c7.x
      lrp_pp r2.xyz, r0.x, r1.yzww, r1
      dp3_pp r9.x, r2.xzyw, c8.xxyw
      lrp_pp r1.xyz, r0.z, r9.yzww, r9
      dp3_pp r0.x, r1.xzyw, c8.xxyw
    else
      mov r0.x, c7.y
    endif
    mul_pp r0.x, r0.x, c5.x
    mul_pp oC0, r0.x, c4

// approximately 124 instruction slots used (34 texture, 90 arithmetic)
 