//Light haloing
// Generated by Microsoft (R) HLSL Shader Compiler 9.26.952.2844
//
// Parameters:
//
//   float4 g_spot_params;
//   float4 vs_inverse_projection2;
//   float4 vs_inverse_projection_xy;
//   float4 vs_projection_params;
//   float4 vs_screenSize;
//   row_major float4x4 vs_viewProj;
//   float4 vs_viewportScaleBias;
//   row_major float4x4 vs_world;
//
//
// Registers:
//
//   Name                     Reg   Size
//   ------------------------ ----- ----
//   vs_viewProj              c0       4
//   vs_projection_params     c9       1
//   vs_inverse_projection_xy c10      1
//   vs_inverse_projection2   c12      1
//   vs_world                 c48      4
//   vs_screenSize            c81      1
//   vs_viewportScaleBias     c82      1
//   g_spot_params            c92      1
//

    vs_3_0
    def c4, 0.00138888776, 0.5, 6.28318548, -3.14159274
    def c5, 0, 0.5, -0.5, 0
def c220, 0,0,0.0625,0
dcl_2d s0
    dcl_position v0
    dcl_position o0
    dcl_texcoord o1
    dcl_texcoord1 o2
    dcl_texcoord2 o3
dcl_texcoord8 o5
mov o5, c10			//pass out vs_inverse_projection_xy
    mov r0.z, c92.z
    mad r0.x, r0.z, c4.x, c4.y
    frc r0.x, r0.x
    mad r0.x, r0.x, c4.z, c4.w
    sincos r1.xy, r0.x
    rcp r0.x, r1.x
    mul r0.x, r1.y, r0.x
    mul r0.y, r0.x, c92.x
    mul r0.x, r0.y, c92.w
    slt r0.zw, -v0.xyxy, v0.xyxy
    slt r1.xy, v0, -v0
    add r0.zw, r0, -r1.xyxy
    mul r0.xy, r0, r0.zwzw
    mov r0.z, c92.x
    mad r1.xyz, r0, c92.y, -r0
    slt r0.w, c5.x, v0.z
    mad r0.xyz, r0.w, r1, r0
    mul r1, r0.y, c49
    mad r1, r0.x, c48, r1
    mad r0, r0.z, c50, r1
    add r0, r0, c51
    mul r1, r0.y, c1
    mad r1, r0.x, c0, r1
    mad r1, r0.z, c2, r1
    mad r0, r0.w, c3, r1
	
mov r10, r0
texldl r24, c220.z, s0
add r24.y, r0.w, -r24.y
mul r24.x, r24.x, r24.y
add r0.x, r0.x, r24.x

    mul r1.xyz, r0.xyww, c5.yzyw
    add r1.xy, r1.z, r1
    mul r1.zw, r0.w, c82.xyxy
	
    mad o1.xy, r1, c82.zwzw, r1.zwzw
    mul r1, r0.xyww, c10				//shifted to make shadows 2d
    add o1.zw, r1, r1.xyxy
	
    mad o0.x, r10.w, -c81.z, r10.x
    mad o0.y, r10.w, c81.w, r10.y
    mov o0.zw, r10
	
    mov o2.z, r0.w
    mov o2.xy, c9.xwzw
    mov o2.w, c12.x
    mov o3, c81

// approximately 45 instruction slots used
 