//listing of all techniques and passes with embedded asm listings 

technique RenderShadow
{
    pass p0
    {
        vertexshader = 
            asm {
            
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   float4x4 WorldViewProj;
            //
            //
            // Registers:
            //
            //   Name          Reg   Size
            //   ------------- ----- ----
            //   WorldViewProj c0       4
            //
            
                vs_1_1
                dcl_position v0
                dp4 oPos.x, v0, c0
                dp4 oPos.y, v0, c1
                dp4 r0.z, v0, c2
                dp4 r0.w, v0, c3
                mov oPos.zw, r0
                mov oT0.xy, r0.zwzw
            
            // approximately 6 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
                ps_2_0
                dcl_pp t0.xy
                rcp_pp r0.w, t0.y
                mul_pp r0, r0.w, t0.x
                mov_pp oC0, r0
            
            // approximately 3 instruction slots used
            
}; } } technique RenderScene_Test { pass p0 { vertexshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   float4x4 TexTransform;
            //   float4x4 WorldViewProj;
            //
            //
            // Registers:
            //
            //   Name          Reg   Size
            //   ------------- ----- ----
            //   WorldViewProj c0       4
            //   TexTransform  c4       4
            //
            
                vs_1_1
                dcl_position v0
                dp4 oPos.x, v0, c0
                dp4 oPos.y, v0, c1
                dp4 oPos.z, v0, c2
                dp4 oPos.w, v0, c3
                dp4 oT0.x, v0, c4
                dp4 oT0.y, v0, c5
                dp4 oT0.z, v0, c6
                dp4 oT0.w, v0, c7
            
            // approximately 8 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   float Bias;
            //   float FilterGain;
            //   sampler2D ShadowMapSampler;
            //
            //
            // Registers:
            //
            //   Name             Reg   Size
            //   ---------------- ----- ----
            //   Bias             c0       1
            //   FilterGain       c1       1
            //   ShadowMapSampler s7       1
            //
            
                ps_2_0
                def c2, -0.001953125, 0.001953125, 1, 0
                def c3, 0, 0.00390625, 0, 0
                def c4, -0.00390625, 0, 0, 0
                def c5, 0.001953125, -0.001953125, 0.125, 0
                def c6, 0.00390625, 0, 0, 0
                def c7, 0, -0.00390625, 0, 0
                dcl_pp t0
                dcl_2d s7
                rcp_pp r9.w, t0.w
                mad_pp r0.xy, t0, r9.w, c2
                mad_pp r7.xy, t0, r9.w, c2.y
                mad_pp r6.xy, t0, r9.w, c5
                mad_pp r5.xy, t0, r9.w, c2.x
                mad_pp r1.xy, t0, r9.w, c4
                mad_pp r4.xy, t0, r9.w, c3
                mad_pp r3.xy, t0, r9.w, c6
                add_pp r8.w, t0.z, -c0.x
                mad_pp r2.xy, t0, r9.w, c7
                texld_pp r0, r0, s7
                texld_pp r7, r7, s7
                texld_pp r6, r6, s7
                texld_pp r5, r5, s7
                texld_pp r1, r1, s7
                texld_pp r4, r4, s7
                texld_pp r3, r3, s7
                texld_pp r2, r2, s7
                mov_pp r0.y, r7.x
                mov_pp r0.z, r6.x
                mov_pp r0.w, r5.x
                mad_pp r0, r8.w, -r9.w, r0
                cmp_pp r0, r0, c2.z, c2.w
                mov_pp r1.y, r4.x
                mov_pp r1.z, r3.x
                mov_pp r1.w, r2.x
                mad_pp r1, r8.w, -r9.w, r1
                cmp_pp r1, r1, c2.z, c2.w
                add_pp r0, r0, r1
                dp4_pp r0.w, r0, c5.z
                mul_pp r0, r0.w, c1.x
                mov_pp oC0, r0
            
            // approximately 32 instruction slots used (8 texture, 24 arithmetic)
            
}; } } technique RenderScene_Fast5 { pass p0 { vertexshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   float4x4 TexTransform;
            //   float4x4 WorldViewProj;
            //
            //
            // Registers:
            //
            //   Name          Reg   Size
            //   ------------- ----- ----
            //   WorldViewProj c0       4
            //   TexTransform  c4       4
            //
            
                vs_1_1
                dcl_position v0
                dp4 oPos.x, v0, c0
                dp4 oPos.y, v0, c1
                dp4 oPos.z, v0, c2
                dp4 oPos.w, v0, c3
                dp4 oT0.x, v0, c4
                dp4 oT0.y, v0, c5
                dp4 oT0.z, v0, c6
                dp4 oT0.w, v0, c7
            
            // approximately 8 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   float Bias;
            //   float FilterGain;
            //   sampler2D ShadowMapSampler;
            //
            //
            // Registers:
            //
            //   Name             Reg   Size
            //   ---------------- ----- ----
            //   Bias             c0       1
            //   FilterGain       c1       1
            //   ShadowMapSampler s7       1
            //
            
                ps_2_0
                def c2, -0.00146484375, 0.00146484375, 1, 0
                def c3, 0, 0.0029296875, 0, 0
                def c4, -0.0029296875, 0, 0, 0
                def c5, 0.00146484375, -0.00146484375, 0.125, 0
                def c6, 0.0029296875, 0, 0, 0
                def c7, 0, -0.0029296875, 0, 0
                dcl_pp t0
                dcl_2d s7
                rcp_pp r9.w, t0.w
                mad_pp r0.xy, t0, r9.w, c2
                mad_pp r7.xy, t0, r9.w, c2.y
                mad_pp r6.xy, t0, r9.w, c5
                mad_pp r5.xy, t0, r9.w, c2.x
                mad_pp r1.xy, t0, r9.w, c4
                mad_pp r4.xy, t0, r9.w, c3
                mad_pp r3.xy, t0, r9.w, c6
                add_pp r8.w, t0.z, -c0.x
                mad_pp r2.xy, t0, r9.w, c7
                texld_pp r0, r0, s7
                texld_pp r7, r7, s7
                texld_pp r6, r6, s7
                texld_pp r5, r5, s7
                texld_pp r1, r1, s7
                texld_pp r4, r4, s7
                texld_pp r3, r3, s7
                texld_pp r2, r2, s7
                mov_pp r0.y, r7.x
                mov_pp r0.z, r6.x
                mov_pp r0.w, r5.x
                mad_pp r0, r8.w, -r9.w, r0
                cmp_pp r0, r0, c2.z, c2.w
                mov_pp r1.y, r4.x
                mov_pp r1.z, r3.x
                mov_pp r1.w, r2.x
                mad_pp r1, r8.w, -r9.w, r1
                cmp_pp r1, r1, c2.z, c2.w
                add_pp r0, r0, r1
                dp4_pp r0.w, r0, c5.z
                mul_pp r0, r0.w, c1.x
                mov_pp oC0, r0
            
            // approximately 32 instruction slots used (8 texture, 24 arithmetic)
            
}; } } technique RenderScene_Fast4 { pass p0 { vertexshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   float4x4 TexTransform;
            //   float4x4 WorldViewProj;
            //
            //
            // Registers:
            //
            //   Name          Reg   Size
            //   ------------- ----- ----
            //   WorldViewProj c0       4
            //   TexTransform  c4       4
            //
            
                vs_1_1
                dcl_position v0
                dp4 oPos.x, v0, c0
                dp4 oPos.y, v0, c1
                dp4 oPos.z, v0, c2
                dp4 oPos.w, v0, c3
                dp4 oT0.x, v0, c4
                dp4 oT0.y, v0, c5
                dp4 oT0.z, v0, c6
                dp4 oT0.w, v0, c7
            
            // approximately 8 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   float Bias;
            //   float FilterGain;
            //   sampler2D ShadowMapSampler;
            //
            //
            // Registers:
            //
            //   Name             Reg   Size
            //   ---------------- ----- ----
            //   Bias             c0       1
            //   FilterGain       c1       1
            //   ShadowMapSampler s7       1
            //
            
                ps_2_0
                def c2, -0.0009765625, 0.0009765625, 1, 0
                def c3, 0, 0.001953125, 0, 0
                def c4, -0.001953125, 0, 0, 0
                def c5, 0.0009765625, -0.0009765625, 0.125, 0
                def c6, 0.001953125, 0, 0, 0
                def c7, 0, -0.001953125, 0, 0
                dcl_pp t0
                dcl_2d s7
                rcp_pp r9.w, t0.w
                mad_pp r0.xy, t0, r9.w, c2
                mad_pp r7.xy, t0, r9.w, c2.y
                mad_pp r6.xy, t0, r9.w, c5
                mad_pp r5.xy, t0, r9.w, c2.x
                mad_pp r1.xy, t0, r9.w, c4
                mad_pp r4.xy, t0, r9.w, c3
                mad_pp r3.xy, t0, r9.w, c6
                add_pp r8.w, t0.z, -c0.x
                mad_pp r2.xy, t0, r9.w, c7
                texld_pp r0, r0, s7
                texld_pp r7, r7, s7
                texld_pp r6, r6, s7
                texld_pp r5, r5, s7
                texld_pp r1, r1, s7
                texld_pp r4, r4, s7
                texld_pp r3, r3, s7
                texld_pp r2, r2, s7
                mov_pp r0.y, r7.x
                mov_pp r0.z, r6.x
                mov_pp r0.w, r5.x
                mad_pp r0, r8.w, -r9.w, r0
                cmp_pp r0, r0, c2.z, c2.w
                mov_pp r1.y, r4.x
                mov_pp r1.z, r3.x
                mov_pp r1.w, r2.x
                mad_pp r1, r8.w, -r9.w, r1
                cmp_pp r1, r1, c2.z, c2.w
                add_pp r0, r0, r1
                dp4_pp r0.w, r0, c5.z
                mul_pp r0, r0.w, c1.x
                mov_pp oC0, r0
            
            // approximately 32 instruction slots used (8 texture, 24 arithmetic)
            
}; } } technique RenderScene_Fast3 { pass p0 { vertexshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   float4x4 TexTransform;
            //   float4x4 WorldViewProj;
            //
            //
            // Registers:
            //
            //   Name          Reg   Size
            //   ------------- ----- ----
            //   WorldViewProj c0       4
            //   TexTransform  c4       4
            //
            
                vs_1_1
                dcl_position v0
                dp4 oPos.x, v0, c0
                dp4 oPos.y, v0, c1
                dp4 oPos.z, v0, c2
                dp4 oPos.w, v0, c3
                dp4 oT0.x, v0, c4
                dp4 oT0.y, v0, c5
                dp4 oT0.z, v0, c6
                dp4 oT0.w, v0, c7
            
            // approximately 8 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   float Bias;
            //   float FilterGain;
            //   sampler2D ShadowMapSampler;
            //
            //
            // Registers:
            //
            //   Name             Reg   Size
            //   ---------------- ----- ----
            //   Bias             c0       1
            //   FilterGain       c1       1
            //   ShadowMapSampler s7       1
            //
            
                ps_2_0
                def c2, -0.00048828125, 0.00048828125, 1, 0
                def c3, 0, 0.0009765625, 0, 0
                def c4, -0.0009765625, 0, 0, 0
                def c5, 0.00048828125, -0.00048828125, 0.125, 0
                def c6, 0.0009765625, 0, 0, 0
                def c7, 0, -0.0009765625, 0, 0
                dcl_pp t0
                dcl_2d s7
                rcp_pp r9.w, t0.w
                mad_pp r0.xy, t0, r9.w, c2
                mad_pp r7.xy, t0, r9.w, c2.y
                mad_pp r6.xy, t0, r9.w, c5
                mad_pp r5.xy, t0, r9.w, c2.x
                mad_pp r1.xy, t0, r9.w, c4
                mad_pp r4.xy, t0, r9.w, c3
                mad_pp r3.xy, t0, r9.w, c6
                add_pp r8.w, t0.z, -c0.x
                mad_pp r2.xy, t0, r9.w, c7
                texld_pp r0, r0, s7
                texld_pp r7, r7, s7
                texld_pp r6, r6, s7
                texld_pp r5, r5, s7
                texld_pp r1, r1, s7
                texld_pp r4, r4, s7
                texld_pp r3, r3, s7
                texld_pp r2, r2, s7
                mov_pp r0.y, r7.x
                mov_pp r0.z, r6.x
                mov_pp r0.w, r5.x
                mad_pp r0, r8.w, -r9.w, r0
                cmp_pp r0, r0, c2.z, c2.w
                mov_pp r1.y, r4.x
                mov_pp r1.z, r3.x
                mov_pp r1.w, r2.x
                mad_pp r1, r8.w, -r9.w, r1
                cmp_pp r1, r1, c2.z, c2.w
                add_pp r0, r0, r1
                dp4_pp r0.w, r0, c5.z
                mul_pp r0, r0.w, c1.x
                mov_pp oC0, r0
            
            // approximately 32 instruction slots used (8 texture, 24 arithmetic)
            
}; } } technique RenderScene_Fast2 { pass p0 { vertexshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   float4x4 TexTransform;
            //   float4x4 WorldViewProj;
            //
            //
            // Registers:
            //
            //   Name          Reg   Size
            //   ------------- ----- ----
            //   WorldViewProj c0       4
            //   TexTransform  c4       4
            //
            
                vs_1_1
                dcl_position v0
                dp4 oPos.x, v0, c0
                dp4 oPos.y, v0, c1
                dp4 oPos.z, v0, c2
                dp4 oPos.w, v0, c3
                dp4 oT0.x, v0, c4
                dp4 oT0.y, v0, c5
                dp4 oT0.z, v0, c6
                dp4 oT0.w, v0, c7
            
            // approximately 8 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   float Bias;
            //   float FilterGain;
            //   sampler2D ShadowMapSampler;
            //
            //
            // Registers:
            //
            //   Name             Reg   Size
            //   ---------------- ----- ----
            //   Bias             c0       1
            //   FilterGain       c1       1
            //   ShadowMapSampler s7       1
            //
            
                ps_2_0
                def c2, -0.00146484375, 0.00146484375, 1, 0
                def c3, 0.00146484375, -0.00146484375, 0.25, 0
                dcl_pp t0
                dcl_2d s7
                rcp_pp r5.w, t0.w
                mad_pp r0.xy, t0, r5.w, c2
                mad_pp r3.xy, t0, r5.w, c2.y
                mad_pp r2.xy, t0, r5.w, c3
                add_pp r4.w, t0.z, -c0.x
                mad_pp r1.xy, t0, r5.w, c2.x
                texld_pp r0, r0, s7
                texld_pp r3, r3, s7
                texld_pp r2, r2, s7
                texld_pp r1, r1, s7
                mov_pp r0.y, r3.x
                mov_pp r0.z, r2.x
                mov_pp r0.w, r1.x
                mad_pp r0, r4.w, -r5.w, r0
                cmp_pp r0, r0, c2.z, c2.w
                dp4_pp r0.w, r0, c3.z
                mul_pp r0, r0.w, c1.x
                mov_pp oC0, r0
            
            // approximately 18 instruction slots used (4 texture, 14 arithmetic)
            
}; } } technique RenderScene_Fast1 { pass p0 { vertexshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   float4x4 TexTransform;
            //   float4x4 WorldViewProj;
            //
            //
            // Registers:
            //
            //   Name          Reg   Size
            //   ------------- ----- ----
            //   WorldViewProj c0       4
            //   TexTransform  c4       4
            //
            
                vs_1_1
                dcl_position v0
                dp4 oPos.x, v0, c0
                dp4 oPos.y, v0, c1
                dp4 oPos.z, v0, c2
                dp4 oPos.w, v0, c3
                dp4 oT0.x, v0, c4
                dp4 oT0.y, v0, c5
                dp4 oT0.z, v0, c6
                dp4 oT0.w, v0, c7
            
            // approximately 8 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   float Bias;
            //   float FilterGain;
            //   sampler2D ShadowMapSampler;
            //
            //
            // Registers:
            //
            //   Name             Reg   Size
            //   ---------------- ----- ----
            //   Bias             c0       1
            //   FilterGain       c1       1
            //   ShadowMapSampler s7       1
            //
            
                ps_2_0
                def c2, -0.0009765625, 0.0009765625, 1, 0
                def c3, 0.0009765625, -0.0009765625, 0.25, 0
                dcl_pp t0
                dcl_2d s7
                rcp_pp r5.w, t0.w
                mad_pp r0.xy, t0, r5.w, c2
                mad_pp r3.xy, t0, r5.w, c2.y
                mad_pp r2.xy, t0, r5.w, c3
                add_pp r4.w, t0.z, -c0.x
                mad_pp r1.xy, t0, r5.w, c2.x
                texld_pp r0, r0, s7
                texld_pp r3, r3, s7
                texld_pp r2, r2, s7
                texld_pp r1, r1, s7
                mov_pp r0.y, r3.x
                mov_pp r0.z, r2.x
                mov_pp r0.w, r1.x
                mad_pp r0, r4.w, -r5.w, r0
                cmp_pp r0, r0, c2.z, c2.w
                dp4_pp r0.w, r0, c3.z
                mul_pp r0, r0.w, c1.x
                mov_pp oC0, r0
            
            // approximately 18 instruction slots used (4 texture, 14 arithmetic)
            
}; } } technique RenderScene_Hard { pass p0 { vertexshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   float4x4 TexTransform;
            //   float4x4 WorldViewProj;
            //
            //
            // Registers:
            //
            //   Name          Reg   Size
            //   ------------- ----- ----
            //   WorldViewProj c0       4
            //   TexTransform  c4       4
            //
            
                vs_1_1
                dcl_position v0
                dp4 oPos.x, v0, c0
                dp4 oPos.y, v0, c1
                dp4 oPos.z, v0, c2
                dp4 oPos.w, v0, c3
                dp4 oT0.x, v0, c4
                dp4 oT0.y, v0, c5
                dp4 oT0.z, v0, c6
                dp4 oT0.w, v0, c7
            
            // approximately 8 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   float Bias;
            //   float FilterGain;
            //   sampler2D ShadowMapSampler;
            //
            //
            // Registers:
            //
            //   Name             Reg   Size
            //   ---------------- ----- ----
            //   Bias             c0       1
            //   FilterGain       c1       1
            //   ShadowMapSampler s7       1
            //
            
                ps_2_0
                def c2, 1, 0, 0, 0
                dcl_pp t0
                dcl_2d s7
                rcp_pp r2.w, t0.w
                add_pp r1.w, t0.z, -c0.x
                mul_pp r0.xy, r2.w, t0
                texld_pp r0, r0, s7
                mad_pp r0.w, r1.w, -r2.w, r0.x
                cmp_pp r0.w, r0.w, c2.x, c2.y
                mul_pp r0, r0.w, c1.x
                mov_pp oC0, r0
            
            // approximately 8 instruction slots used (1 texture, 7 arithmetic)
            
}; } } technique RenderScene_Soft1 { pass p0 { vertexshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   float4x4 TexTransform;
            //   float4x4 WorldViewProj;
            //
            //
            // Registers:
            //
            //   Name          Reg   Size
            //   ------------- ----- ----
            //   WorldViewProj c0       4
            //   TexTransform  c4       4
            //
            
                vs_1_1
                dcl_position v0
                dp4 oPos.x, v0, c0
                dp4 oPos.y, v0, c1
                dp4 oPos.z, v0, c2
                dp4 oPos.w, v0, c3
                dp4 oT0.x, v0, c4
                dp4 oT0.y, v0, c5
                dp4 oT0.z, v0, c6
                dp4 oT0.w, v0, c7
            
            // approximately 8 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   float Bias;
            //   float FilterGain;
            //   sampler2D ShadowMapSampler;
            //
            //
            // Registers:
            //
            //   Name             Reg   Size
            //   ---------------- ----- ----
            //   Bias             c0       1
            //   FilterGain       c1       1
            //   ShadowMapSampler s7       1
            //
            
                ps_2_0
                def c2, 1, 0, 0.00048828125, -0.00048828125
                def c3, -0.00048828125, 0.00048828125, 0.200000003, 0
                def c4, 0.00048828125, -0.00048828125, 0, 0
                dcl_pp t0
                dcl_2d s7
                rcp_pp r6.w, t0.w
                mul_pp r4.xy, r6.w, t0
                mad_pp r3.xy, t0, r6.w, c3
                mad_pp r2.xy, t0, r6.w, c2.z
                mad_pp r1.xy, t0, r6.w, c2.w
                add_pp r5.w, t0.z, -c0.x
                mad_pp r0.xy, t0, r6.w, c4
                texld_pp r4, r4, s7
                texld_pp r3, r3, s7
                texld_pp r2, r2, s7
                texld_pp r1, r1, s7
                texld_pp r0, r0, s7
                mad_pp r0.w, r5.w, -r6.w, r4.x
                cmp_pp r0.w, r0.w, c2.x, c2.y
                mad_pp r1.w, r5.w, -r6.w, r3.x
                cmp_pp r1.w, r1.w, c2.x, c2.y
                add_pp r0.w, r0.w, r1.w
                mad_pp r1.w, r5.w, -r6.w, r2.x
                cmp_pp r1.w, r1.w, c2.x, c2.y
                add_pp r0.w, r0.w, r1.w
                mad_pp r1.w, r5.w, -r6.w, r1.x
                cmp_pp r1.w, r1.w, c2.x, c2.y
                add_pp r0.w, r0.w, r1.w
                mad_pp r1.w, r5.w, -r6.w, r0.x
                cmp_pp r1.w, r1.w, c2.x, c2.y
                add_pp r0.w, r0.w, r1.w
                mul_pp r0.w, r0.w, c1.x
                mul_pp r0, r0.w, c3.z
                mov_pp oC0, r0
            
            // approximately 29 instruction slots used (5 texture, 24 arithmetic)
            
}; } } technique RenderScene_Soft2 { pass p0 { vertexshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   float4x4 TexTransform;
            //   float4x4 WorldViewProj;
            //
            //
            // Registers:
            //
            //   Name          Reg   Size
            //   ------------- ----- ----
            //   WorldViewProj c0       4
            //   TexTransform  c4       4
            //
            
                vs_1_1
                dcl_position v0
                dp4 oPos.x, v0, c0
                dp4 oPos.y, v0, c1
                dp4 oPos.z, v0, c2
                dp4 oPos.w, v0, c3
                dp4 oT0.x, v0, c4
                dp4 oT0.y, v0, c5
                dp4 oT0.z, v0, c6
                dp4 oT0.w, v0, c7
            
            // approximately 8 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   float Bias;
            //   float FilterGain;
            //   sampler2D ShadowMapSampler;
            //
            //
            // Registers:
            //
            //   Name             Reg   Size
            //   ---------------- ----- ----
            //   Bias             c0       1
            //   FilterGain       c1       1
            //   ShadowMapSampler s7       1
            //
            
                ps_2_0
                def c2, -0.00048828125, 0.00048828125, 1, 0
                def c3, 0, 0.0009765625, 0, 0
                def c4, -0.0009765625, 0, 0, 0
                def c5, 0.00048828125, -0.00048828125, 0.125, 0
                def c6, 0.0009765625, 0, 0, 0
                def c7, 0, -0.0009765625, 0, 0
                dcl_pp t0
                dcl_2d s7
                rcp_pp r9.w, t0.w
                mad_pp r0.xy, t0, r9.w, c2
                mad_pp r7.xy, t0, r9.w, c2.y
                mad_pp r6.xy, t0, r9.w, c5
                mad_pp r5.xy, t0, r9.w, c2.x
                mad_pp r1.xy, t0, r9.w, c4
                mad_pp r4.xy, t0, r9.w, c3
                mad_pp r3.xy, t0, r9.w, c6
                add_pp r8.w, t0.z, -c0.x
                mad_pp r2.xy, t0, r9.w, c7
                texld_pp r0, r0, s7
                texld_pp r7, r7, s7
                texld_pp r6, r6, s7
                texld_pp r5, r5, s7
                texld_pp r1, r1, s7
                texld_pp r4, r4, s7
                texld_pp r3, r3, s7
                texld_pp r2, r2, s7
                mov_pp r0.y, r7.x
                mov_pp r0.z, r6.x
                mov_pp r0.w, r5.x
                mad_pp r0, r8.w, -r9.w, r0
                cmp_pp r0, r0, c2.z, c2.w
                mov_pp r1.y, r4.x
                mov_pp r1.z, r3.x
                mov_pp r1.w, r2.x
                mad_pp r1, r8.w, -r9.w, r1
                cmp_pp r1, r1, c2.z, c2.w
                add_pp r0, r0, r1
                dp4_pp r0.w, r0, c5.z
                mul_pp r0, r0.w, c1.x
                mov_pp oC0, r0
            
            // approximately 32 instruction slots used (8 texture, 24 arithmetic)
            
}; } } technique RenderScene_Soft3 { pass p0 { vertexshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   float4x4 TexTransform;
            //   float4x4 WorldViewProj;
            //
            //
            // Registers:
            //
            //   Name          Reg   Size
            //   ------------- ----- ----
            //   WorldViewProj c0       4
            //   TexTransform  c4       4
            //
            
                vs_1_1
                dcl_position v0
                dp4 oPos.x, v0, c0
                dp4 oPos.y, v0, c1
                dp4 oPos.z, v0, c2
                dp4 oPos.w, v0, c3
                dp4 oT0.x, v0, c4
                dp4 oT0.y, v0, c5
                dp4 oT0.z, v0, c6
                dp4 oT0.w, v0, c7
            
            // approximately 8 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   float Bias;
            //   float FilterGain;
            //   sampler2D ShadowMapSampler;
            //
            //
            // Registers:
            //
            //   Name             Reg   Size
            //   ---------------- ----- ----
            //   Bias             c0       1
            //   FilterGain       c1       1
            //   ShadowMapSampler s7       1
            //
            
                ps_2_0
                def c2, -0.00048828125, 0, 1, 0.0833333358
                def c3, 0.00048828125, 0, 0, 0
                def c4, -0.00048828125, 0.0009765625, 0, 0
                def c5, -0.0009765625, 0.00048828125, 0, 0
                def c6, 0, -0.00048828125, 0, 0
                def c7, 0, 0.00048828125, 0, 0
                def c8, 0.00048828125, 0.0009765625, 0, 0
                def c9, 0.0009765625, 0.00048828125, 0, 0
                def c10, 0.0009765625, -0.00048828125, 0, 0
                def c11, 0.00048828125, -0.0009765625, 0, 0
                def c12, -0.00048828125, -0.0009765625, 0, 0
                def c13, -0.0009765625, -0.00048828125, 0, 0
                dcl_pp t0
                dcl_2d s7
                rcp_pp r11.w, t0.w
                mad_pp r0.xy, t0, r11.w, c2
                mad_pp r9.xy, t0, r11.w, c3
                mad_pp r8.xy, t0, r11.w, c6
                mad_pp r7.xy, t0, r11.w, c7
                mad_pp r3.xy, t0, r11.w, c5
                mad_pp r6.xy, t0, r11.w, c4
                mad_pp r5.xy, t0, r11.w, c8
                mad_pp r4.xy, t0, r11.w, c9
                mad_pp r1.xy, t0, r11.w, c10
                add_pp r10.w, t0.z, -c0.x
                mad_pp r2.xy, t0, r11.w, c11
                texld_pp r0, r0, s7
                texld_pp r9, r9, s7
                texld_pp r8, r8, s7
                texld_pp r7, r7, s7
                texld_pp r3, r3, s7
                texld_pp r6, r6, s7
                texld_pp r5, r5, s7
                texld_pp r4, r4, s7
                texld_pp r1, r1, s7
                texld_pp r2, r2, s7
                mov_pp r0.y, r9.x
                mov_pp r0.z, r8.x
                mov_pp r0.w, r7.x
                mad_pp r0, r10.w, -r11.w, r0
                cmp_pp r0, r0, c2.z, c2.y
                mov_pp r3.y, r6.x
                mov_pp r3.z, r5.x
                mov_pp r3.w, r4.x
                mad_pp r3, r10.w, -r11.w, r3
                cmp_pp r3, r3, c2.z, c2.y
                add_pp r0, r0, r3
                mov_pp r1.y, r2.x
                mad_pp r3.xy, t0, r11.w, c12
                mad_pp r2.xy, t0, r11.w, c13
                texld_pp r3, r3, s7
                texld_pp r2, r2, s7
                mov_pp r1.z, r3.x
                mov_pp r1.w, r2.x
                mad_pp r1, r10.w, -r11.w, r1
                cmp_pp r1, r1, c2.z, c2.y
                add_pp r0, r0, r1
                dp4_pp r0.w, r0, c2.w
                mul_pp r0, r0.w, c1.x
                mov_pp oC0, r0
            
            // approximately 46 instruction slots used (12 texture, 34 arithmetic)
            
}; } } technique RenderScene_Soft4 { pass p0 { vertexshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   float4x4 TexTransform;
            //   float4x4 WorldViewProj;
            //
            //
            // Registers:
            //
            //   Name          Reg   Size
            //   ------------- ----- ----
            //   WorldViewProj c0       4
            //   TexTransform  c4       4
            //
            
                vs_1_1
                dcl_position v0
                dp4 oPos.x, v0, c0
                dp4 oPos.y, v0, c1
                dp4 oPos.z, v0, c2
                dp4 oPos.w, v0, c3
                dp4 oT0.x, v0, c4
                dp4 oT0.y, v0, c5
                dp4 oT0.z, v0, c6
                dp4 oT0.w, v0, c7
            
            // approximately 8 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   float Bias;
            //   float FilterGain;
            //   sampler2D ShadowMapSampler;
            //
            //
            // Registers:
            //
            //   Name             Reg   Size
            //   ---------------- ----- ----
            //   Bias             c0       1
            //   FilterGain       c1       1
            //   ShadowMapSampler s7       1
            //
            
                ps_2_0
                def c2, -0.000325520843, 0, 1, 0.0625
                def c3, 0.000325520843, 0, 0, 0
                def c4, -0.000325520843, 0.000651041686, 0, 0
                def c5, 0.0009765625, 0, 0, 0
                def c6, -0.000651041686, 0.000325520843, 0, 0
                def c7, -0.0009765625, 0, 0, 0
                def c8, 0, -0.000325520843, 0, 0
                def c9, 0, 0.000325520843, 0, 0
                def c10, 0.000325520843, 0.000651041686, 0, 0
                def c11, 0.000651041686, 0.000325520843, 0, 0
                def c12, 0.000651041686, -0.000325520843, 0, 0
                def c13, 0.000325520843, -0.000651041686, 0, 0
                def c14, -0.000325520843, -0.000651041686, 0, 0
                def c15, -0.000651041686, -0.000325520843, 0, 0
                def c16, 0, -0.0009765625, 0, 0
                def c17, 0, 0.0009765625, 0, 0
                dcl_pp t0
                dcl_2d s7
                rcp_pp r11.w, t0.w
                mad_pp r0.xy, t0, r11.w, c2
                mad_pp r9.xy, t0, r11.w, c3
                mad_pp r8.xy, t0, r11.w, c8
                mad_pp r7.xy, t0, r11.w, c9
                mad_pp r2.xy, t0, r11.w, c6
                mad_pp r6.xy, t0, r11.w, c4
                mad_pp r4.xy, t0, r11.w, c10
                mad_pp r3.xy, t0, r11.w, c11
                mad_pp r5.xy, t0, r11.w, c12
                add_pp r10.w, t0.z, -c0.x
                mad_pp r1.xy, t0, r11.w, c13
                texld_pp r0, r0, s7
                texld_pp r9, r9, s7
                texld_pp r8, r8, s7
                texld_pp r7, r7, s7
                texld_pp r2, r2, s7
                texld_pp r6, r6, s7
                texld_pp r4, r4, s7
                texld_pp r3, r3, s7
                texld_pp r5, r5, s7
                texld_pp r1, r1, s7
                mov_pp r0.y, r9.x
                mov_pp r0.z, r8.x
                mov_pp r0.w, r7.x
                mad_pp r0, r10.w, -r11.w, r0
                cmp_pp r0, r0, c2.z, c2.y
                mov_pp r2.y, r6.x
                mov_pp r2.z, r4.x
                mov_pp r2.w, r3.x
                mad_pp r2, r10.w, -r11.w, r2
                cmp_pp r2, r2, c2.z, c2.y
                add_pp r0, r0, r2
                mov_pp r5.y, r1.x
                mad_pp r7.xy, t0, r11.w, c14
                mad_pp r6.xy, t0, r11.w, c15
                mad_pp r1.xy, t0, r11.w, c7
                mad_pp r4.xy, t0, r11.w, c5
                mad_pp r3.xy, t0, r11.w, c16
                mad_pp r2.xy, t0, r11.w, c17
                texld_pp r7, r7, s7
                texld_pp r6, r6, s7
                texld_pp r1, r1, s7
                texld_pp r4, r4, s7
                texld_pp r3, r3, s7
                texld_pp r2, r2, s7
                mov_pp r5.z, r7.x
                mov_pp r5.w, r6.x
                mad_pp r5, r10.w, -r11.w, r5
                cmp_pp r5, r5, c2.z, c2.y
                add_pp r0, r0, r5
                mov_pp r1.y, r4.x
                mov_pp r1.z, r3.x
                mov_pp r1.w, r2.x
                mad_pp r1, r10.w, -r11.w, r1
                cmp_pp r1, r1, c2.z, c2.y
                add_pp r0, r0, r1
                dp4_pp r0.w, r0, c2.w
                mul_pp r0, r0.w, c1.x
                mov_pp oC0, r0
            
            // approximately 60 instruction slots used (16 texture, 44 arithmetic)
            
}; } } technique RenderScene_Soft5 { pass p0 { vertexshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   float4x4 TexTransform;
            //   float4x4 WorldViewProj;
            //
            //
            // Registers:
            //
            //   Name          Reg   Size
            //   ------------- ----- ----
            //   WorldViewProj c0       4
            //   TexTransform  c4       4
            //
            
                vs_1_1
                dcl_position v0
                dp4 oPos.x, v0, c0
                dp4 oPos.y, v0, c1
                dp4 oPos.z, v0, c2
                dp4 oPos.w, v0, c3
                dp4 oT0.x, v0, c4
                dp4 oT0.y, v0, c5
                dp4 oT0.z, v0, c6
                dp4 oT0.w, v0, c7
            
            // approximately 8 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   float Bias;
            //   float FilterGain;
            //   sampler2D ShadowMapSampler;
            //
            //
            // Registers:
            //
            //   Name             Reg   Size
            //   ---------------- ----- ----
            //   Bias             c0       1
            //   FilterGain       c1       1
            //   ShadowMapSampler s7       1
            //
            
                ps_2_0
                def c2, -0.000325520843, 0, 1, 0.0416666679
                def c3, 0.000325520843, 0, 0, 0
                def c4, -0.000325520843, 0.000651041686, 0, 0
                def c5, 0.0009765625, 0, 0, 0
                def c6, -0.0009765625, 0, 0, 0
                def c7, -0.000651041686, 0.000325520843, 0, 0
                def c8, 0, -0.000325520843, 0, 0
                def c9, 0, 0.000325520843, 0, 0
                def c10, 0.000325520843, 0.000651041686, 0, 0
                def c11, 0.000651041686, 0.000325520843, 0, 0
                def c12, 0.000651041686, -0.000325520843, 0, 0
                def c13, 0.000325520843, -0.000651041686, 0, 0
                def c14, -0.000325520843, -0.000651041686, 0, 0
                def c15, -0.000651041686, -0.000325520843, 0, 0
                def c16, 0, -0.0009765625, 0, 0
                def c17, 0, 0.0009765625, 0, 0
                def c18, -0.0009765625, 0.000651041686, 0, 0
                def c19, -0.000651041686, 0.0009765625, 0, 0
                def c20, 0.000651041686, 0.0009765625, 0, 0
                def c21, 0.0009765625, 0.000651041686, 0, 0
                def c22, 0.0009765625, -0.000651041686, 0, 0
                def c23, 0.000651041686, -0.0009765625, 0, 0
                def c24, -0.000651041686, -0.0009765625, 0, 0
                def c25, -0.0009765625, -0.000651041686, 0, 0
                dcl_pp t0
                dcl_2d s7
                rcp_pp r11.w, t0.w
                mad_pp r0.xy, t0, r11.w, c2
                mad_pp r9.xy, t0, r11.w, c3
                mad_pp r8.xy, t0, r11.w, c8
                mad_pp r6.xy, t0, r11.w, c9
                mad_pp r2.xy, t0, r11.w, c7
                mad_pp r5.xy, t0, r11.w, c4
                mad_pp r4.xy, t0, r11.w, c10
                mad_pp r3.xy, t0, r11.w, c11
                mad_pp r7.xy, t0, r11.w, c12
                add_pp r10.w, t0.z, -c0.x
                mad_pp r1.xy, t0, r11.w, c13
                texld_pp r0, r0, s7
                texld_pp r9, r9, s7
                texld_pp r8, r8, s7
                texld_pp r6, r6, s7
                texld_pp r2, r2, s7
                texld_pp r5, r5, s7
                texld_pp r4, r4, s7
                texld_pp r3, r3, s7
                texld_pp r7, r7, s7
                texld_pp r1, r1, s7
                mov_pp r0.y, r9.x
                mov_pp r0.z, r8.x
                mov_pp r0.w, r6.x
                mad_pp r0, r10.w, -r11.w, r0
                cmp_pp r0, r0, c2.z, c2.y
                mov_pp r2.y, r5.x
                mov_pp r2.z, r4.x
                mov_pp r2.w, r3.x
                mad_pp r2, r10.w, -r11.w, r2
                cmp_pp r2, r2, c2.z, c2.y
                add_pp r0, r0, r2
                mov_pp r7.y, r1.x
                mad_pp r9.xy, t0, r11.w, c14
                mad_pp r8.xy, t0, r11.w, c15
                mad_pp r2.xy, t0, r11.w, c6
                mad_pp r6.xy, t0, r11.w, c5
                mad_pp r4.xy, t0, r11.w, c16
                mad_pp r3.xy, t0, r11.w, c17
                mad_pp r5.xy, t0, r11.w, c18
                mad_pp r1.xy, t0, r11.w, c19
                texld_pp r9, r9, s7
                texld_pp r8, r8, s7
                texld_pp r2, r2, s7
                texld_pp r6, r6, s7
                texld_pp r4, r4, s7
                texld_pp r3, r3, s7
                texld_pp r5, r5, s7
                texld_pp r1, r1, s7
                mov_pp r7.z, r9.x
                mov_pp r7.w, r8.x
                mad_pp r7, r10.w, -r11.w, r7
                cmp_pp r7, r7, c2.z, c2.y
                add_pp r0, r0, r7
                mov_pp r2.y, r6.x
                mov_pp r2.z, r4.x
                mov_pp r2.w, r3.x
                mad_pp r2, r10.w, -r11.w, r2
                cmp_pp r2, r2, c2.z, c2.y
                add_pp r0, r0, r2
                mov_pp r5.y, r1.x
                mad_pp r7.xy, t0, r11.w, c20
                mad_pp r6.xy, t0, r11.w, c21
                mad_pp r1.xy, t0, r11.w, c22
                mad_pp r4.xy, t0, r11.w, c23
                mad_pp r3.xy, t0, r11.w, c24
                mad_pp r2.xy, t0, r11.w, c25
                texld_pp r7, r7, s7
                texld_pp r6, r6, s7
                texld_pp r1, r1, s7
                texld_pp r4, r4, s7
                texld_pp r3, r3, s7
                texld_pp r2, r2, s7
                mov_pp r5.z, r7.x
                mov_pp r5.w, r6.x
                mad_pp r5, r10.w, -r11.w, r5
                cmp_pp r5, r5, c2.z, c2.y
                add_pp r0, r0, r5
                mov_pp r1.y, r4.x
                mov_pp r1.z, r3.x
                mov_pp r1.w, r2.x
                mad_pp r1, r10.w, -r11.w, r1
                cmp_pp r1, r1, c2.z, c2.y
                add_pp r0, r0, r1
                dp4_pp r0.w, r0, c2.w
                mul_pp r0, r0.w, c1.x
                mov_pp oC0, r0
            
            // approximately 88 instruction slots used (24 texture, 64 arithmetic)
            
}; } } technique RenderScene_Soft6 { pass p0 { vertexshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   float4x4 TexTransform;
            //   float4x4 WorldViewProj;
            //
            //
            // Registers:
            //
            //   Name          Reg   Size
            //   ------------- ----- ----
            //   WorldViewProj c0       4
            //   TexTransform  c4       4
            //
            
                vs_1_1
                dcl_position v0
                dp4 oPos.x, v0, c0
                dp4 oPos.y, v0, c1
                dp4 oPos.z, v0, c2
                dp4 oPos.w, v0, c3
                dp4 oT0.x, v0, c4
                dp4 oT0.y, v0, c5
                dp4 oT0.z, v0, c6
                dp4 oT0.w, v0, c7
            
            // approximately 8 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   float Bias;
            //   float FilterGain;
            //   sampler2D ShadowMapSampler;
            //
            //
            // Registers:
            //
            //   Name             Reg   Size
            //   ---------------- ----- ----
            //   Bias             c0       1
            //   FilterGain       c1       1
            //   ShadowMapSampler s7       1
            //
            
                ps_2_0
                def c2, -0.000651041686, 0, 1, 0.0416666679
                def c3, 0.000651041686, 0, 0, 0
                def c4, -0.000651041686, 0.00130208337, 0, 0
                def c5, 0.001953125, 0, 0, 0
                def c6, -0.001953125, 0, 0, 0
                def c7, -0.00130208337, 0.000651041686, 0, 0
                def c8, 0, -0.000651041686, 0, 0
                def c9, 0, 0.000651041686, 0, 0
                def c10, 0.000651041686, 0.00130208337, 0, 0
                def c11, 0.00130208337, 0.000651041686, 0, 0
                def c12, 0.00130208337, -0.000651041686, 0, 0
                def c13, 0.000651041686, -0.00130208337, 0, 0
                def c14, -0.000651041686, -0.00130208337, 0, 0
                def c15, -0.00130208337, -0.000651041686, 0, 0
                def c16, 0, -0.001953125, 0, 0
                def c17, 0, 0.001953125, 0, 0
                def c18, -0.001953125, 0.00130208337, 0, 0
                def c19, -0.00130208337, 0.001953125, 0, 0
                def c20, 0.00130208337, 0.001953125, 0, 0
                def c21, 0.001953125, 0.00130208337, 0, 0
                def c22, 0.001953125, -0.00130208337, 0, 0
                def c23, 0.00130208337, -0.001953125, 0, 0
                def c24, -0.00130208337, -0.001953125, 0, 0
                def c25, -0.001953125, -0.00130208337, 0, 0
                dcl_pp t0
                dcl_2d s7
                rcp_pp r11.w, t0.w
                mad_pp r0.xy, t0, r11.w, c2
                mad_pp r9.xy, t0, r11.w, c3
                mad_pp r8.xy, t0, r11.w, c8
                mad_pp r6.xy, t0, r11.w, c9
                mad_pp r2.xy, t0, r11.w, c7
                mad_pp r5.xy, t0, r11.w, c4
                mad_pp r4.xy, t0, r11.w, c10
                mad_pp r3.xy, t0, r11.w, c11
                mad_pp r7.xy, t0, r11.w, c12
                add_pp r10.w, t0.z, -c0.x
                mad_pp r1.xy, t0, r11.w, c13
                texld_pp r0, r0, s7
                texld_pp r9, r9, s7
                texld_pp r8, r8, s7
                texld_pp r6, r6, s7
                texld_pp r2, r2, s7
                texld_pp r5, r5, s7
                texld_pp r4, r4, s7
                texld_pp r3, r3, s7
                texld_pp r7, r7, s7
                texld_pp r1, r1, s7
                mov_pp r0.y, r9.x
                mov_pp r0.z, r8.x
                mov_pp r0.w, r6.x
                mad_pp r0, r10.w, -r11.w, r0
                cmp_pp r0, r0, c2.z, c2.y
                mov_pp r2.y, r5.x
                mov_pp r2.z, r4.x
                mov_pp r2.w, r3.x
                mad_pp r2, r10.w, -r11.w, r2
                cmp_pp r2, r2, c2.z, c2.y
                add_pp r0, r0, r2
                mov_pp r7.y, r1.x
                mad_pp r9.xy, t0, r11.w, c14
                mad_pp r8.xy, t0, r11.w, c15
                mad_pp r2.xy, t0, r11.w, c6
                mad_pp r6.xy, t0, r11.w, c5
                mad_pp r4.xy, t0, r11.w, c16
                mad_pp r3.xy, t0, r11.w, c17
                mad_pp r5.xy, t0, r11.w, c18
                mad_pp r1.xy, t0, r11.w, c19
                texld_pp r9, r9, s7
                texld_pp r8, r8, s7
                texld_pp r2, r2, s7
                texld_pp r6, r6, s7
                texld_pp r4, r4, s7
                texld_pp r3, r3, s7
                texld_pp r5, r5, s7
                texld_pp r1, r1, s7
                mov_pp r7.z, r9.x
                mov_pp r7.w, r8.x
                mad_pp r7, r10.w, -r11.w, r7
                cmp_pp r7, r7, c2.z, c2.y
                add_pp r0, r0, r7
                mov_pp r2.y, r6.x
                mov_pp r2.z, r4.x
                mov_pp r2.w, r3.x
                mad_pp r2, r10.w, -r11.w, r2
                cmp_pp r2, r2, c2.z, c2.y
                add_pp r0, r0, r2
                mov_pp r5.y, r1.x
                mad_pp r7.xy, t0, r11.w, c20
                mad_pp r6.xy, t0, r11.w, c21
                mad_pp r1.xy, t0, r11.w, c22
                mad_pp r4.xy, t0, r11.w, c23
                mad_pp r3.xy, t0, r11.w, c24
                mad_pp r2.xy, t0, r11.w, c25
                texld_pp r7, r7, s7
                texld_pp r6, r6, s7
                texld_pp r1, r1, s7
                texld_pp r4, r4, s7
                texld_pp r3, r3, s7
                texld_pp r2, r2, s7
                mov_pp r5.z, r7.x
                mov_pp r5.w, r6.x
                mad_pp r5, r10.w, -r11.w, r5
                cmp_pp r5, r5, c2.z, c2.y
                add_pp r0, r0, r5
                mov_pp r1.y, r4.x
                mov_pp r1.z, r3.x
                mov_pp r1.w, r2.x
                mad_pp r1, r10.w, -r11.w, r1
                cmp_pp r1, r1, c2.z, c2.y
                add_pp r0, r0, r1
                dp4_pp r0.w, r0, c2.w
                mul_pp r0, r0.w, c1.x
                mov_pp oC0, r0
            
            // approximately 88 instruction slots used (24 texture, 64 arithmetic)
            
}; } } technique RenderScene_Soft7 { pass p0 { vertexshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   float4x4 TexTransform;
            //   float4x4 WorldViewProj;
            //
            //
            // Registers:
            //
            //   Name          Reg   Size
            //   ------------- ----- ----
            //   WorldViewProj c0       4
            //   TexTransform  c4       4
            //
            
                vs_1_1
                dcl_position v0
                dp4 oPos.x, v0, c0
                dp4 oPos.y, v0, c1
                dp4 oPos.z, v0, c2
                dp4 oPos.w, v0, c3
                dp4 oT0.x, v0, c4
                dp4 oT0.y, v0, c5
                dp4 oT0.z, v0, c6
                dp4 oT0.w, v0, c7
            
            // approximately 8 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   float Bias;
            //   float FilterGain;
            //   sampler2D ShadowMapSampler;
            //
            //
            // Registers:
            //
            //   Name             Reg   Size
            //   ---------------- ----- ----
            //   Bias             c0       1
            //   FilterGain       c1       1
            //   ShadowMapSampler s7       1
            //
            
                ps_2_0
                def c2, -0.0009765625, 0, 1, 0.0416666679
                def c3, 0.0009765625, 0, 0, 0
                def c4, -0.0009765625, 0.001953125, 0, 0
                def c5, 0.0029296875, 0, 0, 0
                def c6, -0.0029296875, 0, 0, 0
                def c7, -0.001953125, 0.0009765625, 0, 0
                def c8, 0, -0.0009765625, 0, 0
                def c9, 0, 0.0009765625, 0, 0
                def c10, 0.0009765625, 0.001953125, 0, 0
                def c11, 0.001953125, 0.0009765625, 0, 0
                def c12, 0.001953125, -0.0009765625, 0, 0
                def c13, 0.0009765625, -0.001953125, 0, 0
                def c14, -0.0009765625, -0.001953125, 0, 0
                def c15, -0.001953125, -0.0009765625, 0, 0
                def c16, 0, -0.0029296875, 0, 0
                def c17, 0, 0.0029296875, 0, 0
                def c18, -0.0029296875, 0.001953125, 0, 0
                def c19, -0.001953125, 0.0029296875, 0, 0
                def c20, 0.001953125, 0.0029296875, 0, 0
                def c21, 0.0029296875, 0.001953125, 0, 0
                def c22, 0.0029296875, -0.001953125, 0, 0
                def c23, 0.001953125, -0.0029296875, 0, 0
                def c24, -0.001953125, -0.0029296875, 0, 0
                def c25, -0.0029296875, -0.001953125, 0, 0
                dcl_pp t0
                dcl_2d s7
                rcp_pp r11.w, t0.w
                mad_pp r0.xy, t0, r11.w, c2
                mad_pp r9.xy, t0, r11.w, c3
                mad_pp r8.xy, t0, r11.w, c8
                mad_pp r6.xy, t0, r11.w, c9
                mad_pp r2.xy, t0, r11.w, c7
                mad_pp r5.xy, t0, r11.w, c4
                mad_pp r4.xy, t0, r11.w, c10
                mad_pp r3.xy, t0, r11.w, c11
                mad_pp r7.xy, t0, r11.w, c12
                add_pp r10.w, t0.z, -c0.x
                mad_pp r1.xy, t0, r11.w, c13
                texld_pp r0, r0, s7
                texld_pp r9, r9, s7
                texld_pp r8, r8, s7
                texld_pp r6, r6, s7
                texld_pp r2, r2, s7
                texld_pp r5, r5, s7
                texld_pp r4, r4, s7
                texld_pp r3, r3, s7
                texld_pp r7, r7, s7
                texld_pp r1, r1, s7
                mov_pp r0.y, r9.x
                mov_pp r0.z, r8.x
                mov_pp r0.w, r6.x
                mad_pp r0, r10.w, -r11.w, r0
                cmp_pp r0, r0, c2.z, c2.y
                mov_pp r2.y, r5.x
                mov_pp r2.z, r4.x
                mov_pp r2.w, r3.x
                mad_pp r2, r10.w, -r11.w, r2
                cmp_pp r2, r2, c2.z, c2.y
                add_pp r0, r0, r2
                mov_pp r7.y, r1.x
                mad_pp r9.xy, t0, r11.w, c14
                mad_pp r8.xy, t0, r11.w, c15
                mad_pp r2.xy, t0, r11.w, c6
                mad_pp r6.xy, t0, r11.w, c5
                mad_pp r4.xy, t0, r11.w, c16
                mad_pp r3.xy, t0, r11.w, c17
                mad_pp r5.xy, t0, r11.w, c18
                mad_pp r1.xy, t0, r11.w, c19
                texld_pp r9, r9, s7
                texld_pp r8, r8, s7
                texld_pp r2, r2, s7
                texld_pp r6, r6, s7
                texld_pp r4, r4, s7
                texld_pp r3, r3, s7
                texld_pp r5, r5, s7
                texld_pp r1, r1, s7
                mov_pp r7.z, r9.x
                mov_pp r7.w, r8.x
                mad_pp r7, r10.w, -r11.w, r7
                cmp_pp r7, r7, c2.z, c2.y
                add_pp r0, r0, r7
                mov_pp r2.y, r6.x
                mov_pp r2.z, r4.x
                mov_pp r2.w, r3.x
                mad_pp r2, r10.w, -r11.w, r2
                cmp_pp r2, r2, c2.z, c2.y
                add_pp r0, r0, r2
                mov_pp r5.y, r1.x
                mad_pp r7.xy, t0, r11.w, c20
                mad_pp r6.xy, t0, r11.w, c21
                mad_pp r1.xy, t0, r11.w, c22
                mad_pp r4.xy, t0, r11.w, c23
                mad_pp r3.xy, t0, r11.w, c24
                mad_pp r2.xy, t0, r11.w, c25
                texld_pp r7, r7, s7
                texld_pp r6, r6, s7
                texld_pp r1, r1, s7
                texld_pp r4, r4, s7
                texld_pp r3, r3, s7
                texld_pp r2, r2, s7
                mov_pp r5.z, r7.x
                mov_pp r5.w, r6.x
                mad_pp r5, r10.w, -r11.w, r5
                cmp_pp r5, r5, c2.z, c2.y
                add_pp r0, r0, r5
                mov_pp r1.y, r4.x
                mov_pp r1.z, r3.x
                mov_pp r1.w, r2.x
                mad_pp r1, r10.w, -r11.w, r1
                cmp_pp r1, r1, c2.z, c2.y
                add_pp r0, r0, r1
                dp4_pp r0.w, r0, c2.w
                mul_pp r0, r0.w, c1.x
                mov_pp oC0, r0
            
            // approximately 88 instruction slots used (24 texture, 64 arithmetic)
            
}; } } technique RenderScene_Soft8 { pass p0 { vertexshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   float4x4 TexTransform;
            //   float4x4 WorldViewProj;
            //
            //
            // Registers:
            //
            //   Name          Reg   Size
            //   ------------- ----- ----
            //   WorldViewProj c0       4
            //   TexTransform  c4       4
            //
            
                vs_1_1
                dcl_position v0
                dp4 oPos.x, v0, c0
                dp4 oPos.y, v0, c1
                dp4 oPos.z, v0, c2
                dp4 oPos.w, v0, c3
                dp4 oT0.x, v0, c4
                dp4 oT0.y, v0, c5
                dp4 oT0.z, v0, c6
                dp4 oT0.w, v0, c7
            
            // approximately 8 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   float Bias;
            //   float FilterGain;
            //   sampler2D ShadowMapSampler;
            //
            //
            // Registers:
            //
            //   Name             Reg   Size
            //   ---------------- ----- ----
            //   Bias             c0       1
            //   FilterGain       c1       1
            //   ShadowMapSampler s7       1
            //
            
                ps_2_0
                def c2, -0.00130208337, 0, 1, 0.0416666679
                def c3, 0.00130208337, 0, 0, 0
                def c4, -0.00130208337, 0.00260416674, 0, 0
                def c5, 0.00390625, 0, 0, 0
                def c6, -0.00390625, 0, 0, 0
                def c7, -0.00260416674, 0.00130208337, 0, 0
                def c8, 0, -0.00130208337, 0, 0
                def c9, 0, 0.00130208337, 0, 0
                def c10, 0.00130208337, 0.00260416674, 0, 0
                def c11, 0.00260416674, 0.00130208337, 0, 0
                def c12, 0.00260416674, -0.00130208337, 0, 0
                def c13, 0.00130208337, -0.00260416674, 0, 0
                def c14, -0.00130208337, -0.00260416674, 0, 0
                def c15, -0.00260416674, -0.00130208337, 0, 0
                def c16, 0, -0.00390625, 0, 0
                def c17, 0, 0.00390625, 0, 0
                def c18, -0.00390625, 0.00260416674, 0, 0
                def c19, -0.00260416674, 0.00390625, 0, 0
                def c20, 0.00260416674, 0.00390625, 0, 0
                def c21, 0.00390625, 0.00260416674, 0, 0
                def c22, 0.00390625, -0.00260416674, 0, 0
                def c23, 0.00260416674, -0.00390625, 0, 0
                def c24, -0.00260416674, -0.00390625, 0, 0
                def c25, -0.00390625, -0.00260416674, 0, 0
                dcl_pp t0
                dcl_2d s7
                rcp_pp r11.w, t0.w
                mad_pp r0.xy, t0, r11.w, c2
                mad_pp r9.xy, t0, r11.w, c3
                mad_pp r8.xy, t0, r11.w, c8
                mad_pp r6.xy, t0, r11.w, c9
                mad_pp r2.xy, t0, r11.w, c7
                mad_pp r5.xy, t0, r11.w, c4
                mad_pp r4.xy, t0, r11.w, c10
                mad_pp r3.xy, t0, r11.w, c11
                mad_pp r7.xy, t0, r11.w, c12
                add_pp r10.w, t0.z, -c0.x
                mad_pp r1.xy, t0, r11.w, c13
                texld_pp r0, r0, s7
                texld_pp r9, r9, s7
                texld_pp r8, r8, s7
                texld_pp r6, r6, s7
                texld_pp r2, r2, s7
                texld_pp r5, r5, s7
                texld_pp r4, r4, s7
                texld_pp r3, r3, s7
                texld_pp r7, r7, s7
                texld_pp r1, r1, s7
                mov_pp r0.y, r9.x
                mov_pp r0.z, r8.x
                mov_pp r0.w, r6.x
                mad_pp r0, r10.w, -r11.w, r0
                cmp_pp r0, r0, c2.z, c2.y
                mov_pp r2.y, r5.x
                mov_pp r2.z, r4.x
                mov_pp r2.w, r3.x
                mad_pp r2, r10.w, -r11.w, r2
                cmp_pp r2, r2, c2.z, c2.y
                add_pp r0, r0, r2
                mov_pp r7.y, r1.x
                mad_pp r9.xy, t0, r11.w, c14
                mad_pp r8.xy, t0, r11.w, c15
                mad_pp r2.xy, t0, r11.w, c6
                mad_pp r6.xy, t0, r11.w, c5
                mad_pp r4.xy, t0, r11.w, c16
                mad_pp r3.xy, t0, r11.w, c17
                mad_pp r5.xy, t0, r11.w, c18
                mad_pp r1.xy, t0, r11.w, c19
                texld_pp r9, r9, s7
                texld_pp r8, r8, s7
                texld_pp r2, r2, s7
                texld_pp r6, r6, s7
                texld_pp r4, r4, s7
                texld_pp r3, r3, s7
                texld_pp r5, r5, s7
                texld_pp r1, r1, s7
                mov_pp r7.z, r9.x
                mov_pp r7.w, r8.x
                mad_pp r7, r10.w, -r11.w, r7
                cmp_pp r7, r7, c2.z, c2.y
                add_pp r0, r0, r7
                mov_pp r2.y, r6.x
                mov_pp r2.z, r4.x
                mov_pp r2.w, r3.x
                mad_pp r2, r10.w, -r11.w, r2
                cmp_pp r2, r2, c2.z, c2.y
                add_pp r0, r0, r2
                mov_pp r5.y, r1.x
                mad_pp r7.xy, t0, r11.w, c20
                mad_pp r6.xy, t0, r11.w, c21
                mad_pp r1.xy, t0, r11.w, c22
                mad_pp r4.xy, t0, r11.w, c23
                mad_pp r3.xy, t0, r11.w, c24
                mad_pp r2.xy, t0, r11.w, c25
                texld_pp r7, r7, s7
                texld_pp r6, r6, s7
                texld_pp r1, r1, s7
                texld_pp r4, r4, s7
                texld_pp r3, r3, s7
                texld_pp r2, r2, s7
                mov_pp r5.z, r7.x
                mov_pp r5.w, r6.x
                mad_pp r5, r10.w, -r11.w, r5
                cmp_pp r5, r5, c2.z, c2.y
                add_pp r0, r0, r5
                mov_pp r1.y, r4.x
                mov_pp r1.z, r3.x
                mov_pp r1.w, r2.x
                mad_pp r1, r10.w, -r11.w, r1
                cmp_pp r1, r1, c2.z, c2.y
                add_pp r0, r0, r1
                dp4_pp r0.w, r0, c2.w
                mul_pp r0, r0.w, c1.x
                mov_pp oC0, r0
            
            // approximately 88 instruction slots used (24 texture, 64 arithmetic)
            
}; } } technique RenderScene_Soft9 { pass p0 { vertexshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   float4x4 TexTransform;
            //   float4x4 WorldViewProj;
            //
            //
            // Registers:
            //
            //   Name          Reg   Size
            //   ------------- ----- ----
            //   WorldViewProj c0       4
            //   TexTransform  c4       4
            //
            
                vs_1_1
                dcl_position v0
                dp4 oPos.x, v0, c0
                dp4 oPos.y, v0, c1
                dp4 oPos.z, v0, c2
                dp4 oPos.w, v0, c3
                dp4 oT0.x, v0, c4
                dp4 oT0.y, v0, c5
                dp4 oT0.z, v0, c6
                dp4 oT0.w, v0, c7
            
            // approximately 8 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   float Bias;
            //   float FilterGain;
            //   sampler2D ShadowMapSampler;
            //
            //
            // Registers:
            //
            //   Name             Reg   Size
            //   ---------------- ----- ----
            //   Bias             c0       1
            //   FilterGain       c1       1
            //   ShadowMapSampler s7       1
            //
            
                ps_2_0
                def c2, -0.001953125, 0, 1, 0.0416666679
                def c3, 0.001953125, 0, 0, 0
                def c4, -0.001953125, 0.00390625, 0, 0
                def c5, 0.005859375, 0, 0, 0
                def c6, -0.005859375, 0, 0, 0
                def c7, -0.00390625, 0.001953125, 0, 0
                def c8, 0, -0.001953125, 0, 0
                def c9, 0, 0.001953125, 0, 0
                def c10, 0.001953125, 0.00390625, 0, 0
                def c11, 0.00390625, 0.001953125, 0, 0
                def c12, 0.00390625, -0.001953125, 0, 0
                def c13, 0.001953125, -0.00390625, 0, 0
                def c14, -0.001953125, -0.00390625, 0, 0
                def c15, -0.00390625, -0.001953125, 0, 0
                def c16, 0, -0.005859375, 0, 0
                def c17, 0, 0.005859375, 0, 0
                def c18, -0.005859375, 0.00390625, 0, 0
                def c19, -0.00390625, 0.005859375, 0, 0
                def c20, 0.00390625, 0.005859375, 0, 0
                def c21, 0.005859375, 0.00390625, 0, 0
                def c22, 0.005859375, -0.00390625, 0, 0
                def c23, 0.00390625, -0.005859375, 0, 0
                def c24, -0.00390625, -0.005859375, 0, 0
                def c25, -0.005859375, -0.00390625, 0, 0
                dcl_pp t0
                dcl_2d s7
                rcp_pp r11.w, t0.w
                mad_pp r0.xy, t0, r11.w, c2
                mad_pp r9.xy, t0, r11.w, c3
                mad_pp r8.xy, t0, r11.w, c8
                mad_pp r6.xy, t0, r11.w, c9
                mad_pp r2.xy, t0, r11.w, c7
                mad_pp r5.xy, t0, r11.w, c4
                mad_pp r4.xy, t0, r11.w, c10
                mad_pp r3.xy, t0, r11.w, c11
                mad_pp r7.xy, t0, r11.w, c12
                add_pp r10.w, t0.z, -c0.x
                mad_pp r1.xy, t0, r11.w, c13
                texld_pp r0, r0, s7
                texld_pp r9, r9, s7
                texld_pp r8, r8, s7
                texld_pp r6, r6, s7
                texld_pp r2, r2, s7
                texld_pp r5, r5, s7
                texld_pp r4, r4, s7
                texld_pp r3, r3, s7
                texld_pp r7, r7, s7
                texld_pp r1, r1, s7
                mov_pp r0.y, r9.x
                mov_pp r0.z, r8.x
                mov_pp r0.w, r6.x
                mad_pp r0, r10.w, -r11.w, r0
                cmp_pp r0, r0, c2.z, c2.y
                mov_pp r2.y, r5.x
                mov_pp r2.z, r4.x
                mov_pp r2.w, r3.x
                mad_pp r2, r10.w, -r11.w, r2
                cmp_pp r2, r2, c2.z, c2.y
                add_pp r0, r0, r2
                mov_pp r7.y, r1.x
                mad_pp r9.xy, t0, r11.w, c14
                mad_pp r8.xy, t0, r11.w, c15
                mad_pp r2.xy, t0, r11.w, c6
                mad_pp r6.xy, t0, r11.w, c5
                mad_pp r4.xy, t0, r11.w, c16
                mad_pp r3.xy, t0, r11.w, c17
                mad_pp r5.xy, t0, r11.w, c18
                mad_pp r1.xy, t0, r11.w, c19
                texld_pp r9, r9, s7
                texld_pp r8, r8, s7
                texld_pp r2, r2, s7
                texld_pp r6, r6, s7
                texld_pp r4, r4, s7
                texld_pp r3, r3, s7
                texld_pp r5, r5, s7
                texld_pp r1, r1, s7
                mov_pp r7.z, r9.x
                mov_pp r7.w, r8.x
                mad_pp r7, r10.w, -r11.w, r7
                cmp_pp r7, r7, c2.z, c2.y
                add_pp r0, r0, r7
                mov_pp r2.y, r6.x
                mov_pp r2.z, r4.x
                mov_pp r2.w, r3.x
                mad_pp r2, r10.w, -r11.w, r2
                cmp_pp r2, r2, c2.z, c2.y
                add_pp r0, r0, r2
                mov_pp r5.y, r1.x
                mad_pp r7.xy, t0, r11.w, c20
                mad_pp r6.xy, t0, r11.w, c21
                mad_pp r1.xy, t0, r11.w, c22
                mad_pp r4.xy, t0, r11.w, c23
                mad_pp r3.xy, t0, r11.w, c24
                mad_pp r2.xy, t0, r11.w, c25
                texld_pp r7, r7, s7
                texld_pp r6, r6, s7
                texld_pp r1, r1, s7
                texld_pp r4, r4, s7
                texld_pp r3, r3, s7
                texld_pp r2, r2, s7
                mov_pp r5.z, r7.x
                mov_pp r5.w, r6.x
                mad_pp r5, r10.w, -r11.w, r5
                cmp_pp r5, r5, c2.z, c2.y
                add_pp r0, r0, r5
                mov_pp r1.y, r4.x
                mov_pp r1.z, r3.x
                mov_pp r1.w, r2.x
                mad_pp r1, r10.w, -r11.w, r1
                cmp_pp r1, r1, c2.z, c2.y
                add_pp r0, r0, r1
                dp4_pp r0.w, r0, c2.w
                mul_pp r0, r0.w, c1.x
                mov_pp oC0, r0
            
            // approximately 88 instruction slots used (24 texture, 64 arithmetic)
            
}; } } technique DrawShadowQuad { pass P0 { vertexshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
                vs_1_1
                dcl_position v0
                dcl_texcoord v1
                mov oPos, v0
                mov oT0, v1
            
            // approximately 2 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   float VSM_Zrange;
            //
            //
            // Registers:
            //
            //   Name         Reg   Size
            //   ------------ ----- ----
            //   VSM_Zrange   c0       1
            //
            
                preshader
                rcp c1.x, c0.x
            
            // approximately 1 instruction used
            //
            // Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
            //
            // Parameters:
            //
            //   sampler2D ShadowMapSampler;
            //   float VSM_Zstart;
            //
            //
            // Registers:
            //
            //   Name             Reg   Size
            //   ---------------- ----- ----
            //   VSM_Zstart       c2       1
            //   ShadowMapSampler s7       1
            //
            
                ps_2_0
                def c3, 1, 0, 0, 0
                dcl_pp t0.xy
                dcl_2d s7
                texld_pp r0, t0, s7
                add_pp r0.w, r0.x, -c2.x
                mul_pp r0.xyz, r0.w, c1.x
                mov_pp r0.w, c3.x
                mov_pp oC0, r0
            
            // approximately 5 instruction slots used (1 texture, 4 arithmetic)
            
}; } }