//Elliot haloing VS 1.
// ---- Created with SLT v0.6.750 on Sat May 23 19:17:32 2026
//cbuffer cb1 : register(b1)
//{
//  float4 cb1[4];
//}
//
//cbuffer cb0 : register(b0)
//{
//  float4 cb0[10];
//}
//
//
//
//
//// SLT declarations
//#define cmp -
//Texture1D<float4> IniParams : register(t120);
//Texture2D<float4> StereoParams : register(t125);
//
//
//void main(
//  uint v0 : SV_VertexID0,
//  float3 v1 : ATTRIBUTE0,
//  out float4 o0 : TEXCOORD0,
//  out float4 o1 : SV_POSITION0)
//{
//// Needs manual fix for instruction:
//// unknown dcl_: dcl_input_sgv v0.x, vertex_id
//  float4 r0,r1,r2,r3,r4;
//  uint4 bitmask, uiDest;
//  float4 fDest;
//
//  r0.x = (uint)cb0[5].x;
//  if (r0.x != 0) {
//    r0.y = (uint)r0.x;
//    r0.z = 3.14159274 / r0.y;
//    r0.z = cos(r0.z);
//    r0.z = 1 / r0.z;
//    sincos(cb0[5].z, r1.x, r2.x);
//    r0.w = cb0[5].w * r2.x;
//    r1.x = r1.x / r2.x;
//    r1.y = (uint)cb0[5].y;
//    r1.z = (int)r0.x * (int)r1.y;
//    r1.w = cmp((uint)v0.x < (uint)r1.z);
//    if (r1.w != 0) {
//      uiDest.x = (uint)v0.x / (uint)r0.x;
//      r3.x = (uint)v0.x % (uint)r0.x;
//      r2.x = uiDest.x;
//      r1.w = (uint)r3.x << 1;
//      r1.w = (uint)r1.w;
//      r1.w = 3.14159274 * r1.w;
//      r1.w = r1.w / r0.y;
//      r2.x = (uint)r2.x;
//      r2.x = r2.x * r0.w;
//      r2.y = (int)r1.y + -1;
//      r2.y = (uint)r2.y;
//      r2.x = r2.x / r2.y;
//      r2.y = r2.x * r1.x;
//      r2.y = r2.y * r0.z;
//      sincos(r1.w, r3.x, r4.x);
//      r1.w = r3.x * r2.y;
//      r2.y = r4.x * r2.y;
//      r3.xyz = cb0[7].xyz * r1.www;
//      r2.xzw = r2.xxx * cb0[6].xyz + r3.xyz;
//      r2.xyz = r2.yyy * cb0[8].xyz + r2.xzw;
//      r2.xyz = cb0[9].xyz + r2.xyz;
//    } else {
//      r0.w = r1.x * r0.w;
//      r1.x = (int)-r1.z + (int)v0.x;
//      uiDest.x = (uint)r1.x / (uint)r0.x;
//      r1.x = (uint)r1.x % (uint)r0.x;
//      r0.x = uiDest.x;
//      r0.x = (uint)r0.x;
//      r0.x = r0.w * r0.x;
//      r0.w = (int)r1.y + -1;
//      r0.w = (uint)r0.w;
//      r0.x = r0.x / r0.w;
//      r0.z = r0.x * r0.z;
//      r0.x = r0.x * r0.x;
//      r0.x = cb0[5].w * cb0[5].w + -r0.x;
//      r0.x = sqrt(r0.x);
//      r0.w = (uint)r1.x << 1;
//      r0.w = (uint)r0.w;
//      r0.w = 3.14159274 * r0.w;
//      r0.y = r0.w / r0.y;
//      sincos(r0.y, r1.x, r3.x);
//      r0.y = r1.x * r0.z;
//      r0.z = r3.x * r0.z;
//      r1.xyz = cb0[7].xyz * r0.yyy;
//      r0.xyw = r0.xxx * cb0[6].xyz + r1.xyz;
//      r0.xyz = r0.zzz * cb0[8].xyz + r0.xyw;
//      r2.xyz = cb0[9].xyz + r0.xyz;
//    }
//  } else {
//    r2.xyz = v1.xyz * cb0[4].www + cb0[4].xyz;
//  }
//  r0.xyzw = cb1[1].xyzw * r2.yyyy;
//  r0.xyzw = r2.xxxx * cb1[0].xyzw + r0.xyzw;
//  r0.xyzw = r2.zzzz * cb1[2].xyzw + r0.xyzw;
//  r0.xyzw = cb1[3].xyzw + r0.xyzw;
//  o0.xyzw = r0.xyzw;
//  o1.xyzw = r0.xyzw;
//  return;
//}
//
///*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using SLT v0.6.750 on Sat May 23 19:17:32 2026
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_VertexID              0   x           0   VERTID    uint   x
// ATTRIBUTE                0   xyz         1     NONE   float   xyz
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                 0   xyzw        0     NONE   float   xyzw
// SV_POSITION              0   xyzw        1      POS   float   xyzw
//
vs_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB0[10], immediateIndexed
dcl_constantbuffer CB1[4], immediateIndexed
dcl_input_sgv v0.x, vertex_id
dcl_input v1.xyz
dcl_output o0.xyzw
dcl_output_siv o1.xyzw, position
dcl_temps 36
dcl_resource_texture2d (float,float,float,float) t125
ld_indexable(texture2d)(float,float,float,float) r25.xyzw, l(0, 0, 0, 0), t125.xyzw
ftou r0.x, cb0[5].x
if_nz r0.x
  utof r0.y, r0.x
  div r0.z, l(3.14159274), r0.y
  sincos null, r0.z, r0.z
  div r0.z, l(1.000000, 1.000000, 1.000000, 1.000000), r0.z
  sincos r1.x, r2.x, cb0[5].z
  mul r0.w, r2.x, cb0[5].w
  div r1.x, r1.x, r2.x
  ftou r1.y, cb0[5].y
  imul null, r1.z, r0.x, r1.y
  ult r1.w, v0.x, r1.z
  if_nz r1.w
    udiv r2.x, r3.x, v0.x, r0.x
    ishl r1.w, r3.x, l(1)
    utof r1.w, r1.w
    mul r1.w, r1.w, l(3.14159274)
    div r1.w, r1.w, r0.y
    utof r2.x, r2.x
    mul r2.x, r0.w, r2.x
    iadd r2.y, r1.y, l(-1)
    utof r2.y, r2.y
    div r2.x, r2.x, r2.y
    mul r2.y, r1.x, r2.x
    mul r2.y, r0.z, r2.y
    sincos r3.x, r4.x, r1.w
    mul r1.w, r2.y, r3.x
    mul r2.y, r2.y, r4.x
    mul r3.xyz, r1.wwww, cb0[7].xyzx
    mad r2.xzw, r2.xxxx, cb0[6].xxyz, r3.xxyz
    mad r2.xyz, r2.yyyy, cb0[8].xyzx, r2.xzwx
    add r2.xyz, r2.xyzx, cb0[9].xyzx
  else
    mul r0.w, r0.w, r1.x
    iadd r1.x, -r1.z, v0.x
    udiv r0.x, r1.x, r1.x, r0.x
    utof r0.x, r0.x
    mul r0.x, r0.x, r0.w
    iadd r0.w, r1.y, l(-1)
    utof r0.w, r0.w
    div r0.x, r0.x, r0.w
    mul r0.z, r0.z, r0.x
    mul r0.x, r0.x, r0.x
    mad r0.x, cb0[5].w, cb0[5].w, -r0.x
    sqrt r0.x, r0.x
    ishl r0.w, r1.x, l(1)
    utof r0.w, r0.w
    mul r0.w, r0.w, l(3.14159274)
    div r0.y, r0.w, r0.y
    sincos r1.x, r3.x, r0.y
    mul r0.y, r0.z, r1.x
    mul r0.z, r0.z, r3.x
    mul r1.xyz, r0.yyyy, cb0[7].xyzx
    mad r0.xyw, r0.xxxx, cb0[6].xyxz, r1.xyxz
    mad r0.xyz, r0.zzzz, cb0[8].xyzx, r0.xywx
    add r2.xyz, r0.xyzx, cb0[9].xyzx
  endif
else
  mad r2.xyz, v1.xyzx, cb0[4].wwww, cb0[4].xyzx
endif
mul r0.xyzw, r2.yyyy, cb1[1].xyzw
mad r0.xyzw, r2.xxxx, cb1[0].xyzw, r0.xyzw
mad r0.xyzw, r2.zzzz, cb1[2].xyzw, r0.xyzw
add r0.xyzw, r0.xyzw, cb1[3].xyzw

mov o1.xyzw, r0.xyzw

ne r27.x, r0.w, l(1.0)
if_nz r27.x
add r26.x, r0.w, -r25.y
mad r0.x, r25.x, r26.x, r0.x
endif

mov o0.xyzw, r0.xyzw
ret
// Approximately 0 instruction slots used
