// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
//
//   using 3Dmigoto v0.6.89 on Wed Dec 21 12:58:19 2022
//
//
// Buffer Definitions:
//
// cbuffer cb2
// {
//
//   float4 cb2[3];                     // Index:    0 1 2            Components:    12
//
// }
//
// cbuffer cb1
// {
//
//   float4 cb1[40];                    // Index:    0-39             Components:   160
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// DepthBuffer                       texture   float          2d  110        1
// StereoParams                      texture  float4          2d  125        1
// cb1                               cbuffer      NA          NA    1        1
// cb2                               cbuffer      NA          NA    2        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// POSITION                 0   xyz         0     NONE   float   xyz
// COLOR                    0   xyzw        1     NONE   float   xyzw
// TEXCOORD                 0   xyzw        2     NONE   float   xy
// TEXCOORD                 1   xyzw        3     NONE   float   xy
// TEXCOORD                 2   xy          4     NONE   float   xy
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                 0   xyzw        0     NONE   float   xyzw
// TEXCOORD                 1   xyzw        1     NONE   float   xyz
// TEXCOORD                 2   xyzw        2     NONE   float   xyzw
// SV_Position              0   xyzw        3      POS   float   xyzw
// P                        0   x           4  RTINDEX    uint   x
//
vs_5_0
dcl_output_siv o4.x, rendertarget_array_index
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB2[3], immediateIndexed
dcl_constantbuffer CB1[40], immediateIndexed
dcl_resource_texture2d (float,float,float,float) t110
dcl_resource_buffer (float,float,float,float) t125
dcl_input v0.xyz
dcl_input v1.xyzw
dcl_input v2.xy
dcl_input v3.xy
dcl_input v4.xy
dcl_output o0.xyzw
dcl_output o1.xyz
dcl_output o2.xyzw
dcl_output_siv o3.xyzw, position
dcl_temps 8
ld_indexable(buffer)(float,float,float,float) r7.xyzw, l(0, 0, 0, 0), t125.xyzw
mov o4.x, r7.z
ld_indexable(buffer)(float,float,float,float) r0.xy, l(0, 0, 0, 0), t125.xyzw
dp2 r0.z, v2.yxyy, v3.xyxx
mov r1.xyz, v0.xyzx
mov r1.w, l(1.000000)
dp4 r2.x, r1.xyzw, cb2[0].xyzw
dp4 r2.y, r1.xyzw, cb2[1].xyzw
dp4 r2.z, r1.xyzw, cb2[2].xyzw
mad r1.xyz, cb1[37].xyzx, r0.zzzz, r2.xyzx
mul r0.z, v2.y, v3.y
mad r0.z, v3.x, v2.x, -r0.z
mad r1.xyz, cb1[39].xyzx, r0.zzzz, r1.xyzx
add r2.xyz, r1.xyzx, -cb1[36].xyzx
dp3 r0.z, r2.xyzx, r2.xyzx
rsq r0.z, r0.z
div o0.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000), r0.zzzz
mad r2.xyz, r2.xyzx, r0.zzzz, -r2.xyzx
add r1.xyz, r1.xyzx, r2.xyzx
mov r1.w, l(1.000000)
dp4 o1.z, r1.xyzw, cb1[10].xyzw
dp4 r0.z, r1.xyzw, cb1[0].xyzw
dp4 r2.y, r1.xyzw, cb1[1].xyzw
dp4 r5.z, r1.xyzw, cb1[2].xyzw
dp4 r2.w, r1.xyzw, cb1[3].xyzw
add r0.w, -r0.y, r2.w
mad r0.z, -r0.x, r0.w, r0.z
ne r0.w, r0.x, l(0.000000)
if_nz r0.w
  mul r0.y, r0.y, r0.x
  mul r0.y, r0.y, l(5.000000)
  resinfo_indexable(texture2d)(float,float,float,float)_uint r1.xy, l(0), t110.xyzw
  iadd r1.zw, r1.xxxy, l(0, 0, -1, -1)
  mad r0.w, r2.y, l(-0.500000), l(0.500000)
  utof r1.xy, r1.xyxx
  mul r0.w, r0.w, r1.y
  max r0.w, r0.w, l(0.000000)
  utof r1.yz, r1.zzwz
  min r0.w, r0.w, r1.z
  ftoi r3.y, r0.w
  mov r3.zw, l(0,0,0,0)
  mov r0.w, l(0)
  mov r1.zw, l(0,0,0,0)
  mov r2.xz, l(0,0,0,0)
  loop
    utof r4.x, r2.x
    ge r4.x, r4.x, l(250.000000)
    mov r2.z, l(0)
    breakc_nz r4.x
    mad r1.w, r0.x, l(0.004000), r1.w
    add r4.x, r0.z, r1.w
    mad r4.x, r4.x, l(0.500000), l(0.500000)
    mul r4.x, r1.x, r4.x
    max r4.x, r4.x, l(0.000000)
    min r4.x, r1.y, r4.x
    ftoi r3.x, r4.x
    ld_indexable(texture2d)(float,float,float,float) r3.x, r3.xyzw, t110.xyzw
    ne r4.x, r3.x, l(1.000000)
    mul r4.y, r3.x, l(0.000010)
    div r4.y, l(0.000010), r4.y
    add r3.x, r3.x, r4.y
    and r3.x, r3.x, r4.x
    eq r4.x, r3.x, l(0.000000)
    if_nz r4.x
      mov r0.w, r0.x
      mov r2.z, l(-1)
      break
    endif
    add r4.y, r0.x, -r1.w
    div r4.y, r0.y, r4.y
    lt r3.x, r3.x, r4.y
    if_nz r3.x
      mov r0.w, l(0)
      mov r2.z, l(0)
      break
    endif
    mov r1.z, r1.w
    iadd r2.x, r2.x, l(1)
    mov r2.z, r4.x
    mov r0.w, l(0)
  endloop
  movc r0.x, r2.z, r0.w, r1.z
else
  mov r0.x, l(0)
endif
mad r5.x, r0.x, r2.w, r0.z
mov o2.xyzw, v1.xyzw
mov r5.yw, r2.yyyw
mov o1.xy, v4.xyxx
add r6.x, -r7.y, r5.w
mul r6.y, r7.x, r7.w
mad r6.x, r6.x, r6.y, r5.x
ne r6.y, l(1.000000), r5.w
movc r5.x, r6.y, r6.x, r5.x
mov o3.xyzw, r5.xyzw
ret
// Approximately 88 instruction slots used
