// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
//
//   using 3Dmigoto v0.6.193 on Fri Apr 12 20:08:52 2024
//
//
// Buffer Definitions:
//
// cbuffer cb3
// {
//
//   float4 cb3[21];                    // Index:    0-20             Components:    84
//
// }
//
// cbuffer cb2
// {
//
//   float4 cb2[4];                     // Index:    0 1 2 3          Components:    16
//
// }
//
// cbuffer cb1
// {
//
//   float4 cb1[7];                     // Index:    0-6              Components:    28
//
// }
//
// cbuffer cb0
// {
//
//   float4 cb0[7];                     // Index:    0-6              Components:    28
//
// }
//
// cbuffer cb13
// {
//
//   float4 cb13[21];                   // Index:    0-20             Components:    84
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// IniParams                         texture  float4          1d  120        1
// StereoParams                      texture  float4          2d  125        1
// cb0                               cbuffer      NA          NA    0        1
// cb1                               cbuffer      NA          NA    1        1
// cb2                               cbuffer      NA          NA    2        1
// cb3                               cbuffer      NA          NA    3        1
// cb13                              cbuffer      NA          NA   13        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// POSITION                 0   xyzw        0     NONE   float   xyzw
// COLOR                    0   xyzw        1     NONE   float   xyzw
// TEXCOORD                 0   xy          2     NONE   float   xy
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION              0   xyzw        0      POS   float   xyzw
// COLOR                    0   xyzw        1     NONE   float   xyzw
// TEXCOORD                 0   xyzw        2     NONE   float   xy
// TEXCOORD                 1   xyzw        3     NONE   float   xyzw
// TEXCOORD                 2   xyzw        4     NONE   float   xyzw
// P                        0   x           5  RTINDEX    uint   x
//
vs_4_0
dcl_output_siv o5.x, rendertarget_array_index
dcl_constantbuffer CB3[21], immediateIndexed
dcl_constantbuffer CB2[4], immediateIndexed
dcl_constantbuffer CB1[7], immediateIndexed
dcl_constantbuffer CB0[7], immediateIndexed
dcl_constantbuffer CB13[18], immediateIndexed
dcl_resource_texture1d (float,float,float,float) t120
dcl_resource_buffer (float,float,float,float) t125
dcl_input v0.xyzw
dcl_input v1.xyzw
dcl_input v2.xy
dcl_output_siv o0.xyzw, position
dcl_output o1.xyzw
dcl_output o2.xy
dcl_output o3.xyzw
dcl_output o4.xyzw
dcl_temps 7
ld_indexable(buffer)(float,float,float,float) r6.xyzw, l(0, 0, 0, 0), t125.xyzw
mov o5.x, r6.z
eq r0.x, cb13[17].x, l(0.000000)
movc r0.x, r0.x, cb3[17].x, cb13[17].x
ld r1.xyzw, l(10, 0, 0, 0), t120.xyzw
ld r2.xyzw, l(0, 0, 0, 0), t125.xyzw
mul r0.y, r1.x, r2.y
eq r0.z, r1.y, l(1.000000)
mul r0.x, r0.x, r0.y
mul r1.xyzw, v0.yyyy, cb2[1].xyzw
mad r1.xyzw, cb2[0].xyzw, v0.xxxx, r1.xyzw
mad r1.xyzw, cb2[2].xyzw, v0.zzzz, r1.xyzw
add r1.xyzw, r1.xyzw, cb2[3].xyzw
mul r3.xyzw, r1.yyyy, cb3[18].xyzw
mad r3.xyzw, cb3[17].xyzw, r1.xxxx, r3.xyzw
mad r3.xyzw, cb3[19].xyzw, r1.zzzz, r3.xyzw
mad r1.xyzw, cb3[20].xyzw, r1.wwww, r3.xyzw
mad r0.x, -r0.x, l(16.000000), r1.w
mad r0.x, r2.x, r0.x, r1.x
eq r0.y, r1.w, l(1.000000)
and r0.y, r0.z, r0.y
ld r3.xyzw, l(3, 0, 0, 0), t120.xyzw
ne r0.z, r3.w, l(11.000000)
eq r0.w, r3.w, l(11.000000)
and r0.y, r0.z, r0.y
movc r0.x, r0.y, r0.x, r1.x
add r0.y, -r2.y, r1.w
mad r0.y, -r2.x, r0.y, r0.x
ne r0.z, r1.w, l(1.000000)
and r0.z, r0.z, r0.w
movc r4.x, r0.z, r0.y, r0.x
mov r4.yzw, r1.yyzw
mul o1.xyzw, v1.xyzw, cb0[2].xyzw
mad o2.xy, v2.xyxx, cb0[5].xyxx, cb0[5].zwzz
mov o3.xyzw, v0.xyzw
mul r0.xy, cb3[6].xyxx, cb1[6].yyyy
mad r0.xy, cb3[5].xyxx, cb1[6].xxxx, r0.xyxx
div r0.xy, r1.wwww, |r0.xyxx|
mad r0.xy, cb0[6].xyxx, l(0.250000, 0.250000, 0.000000, 0.000000), |r0.xyxx|
div o4.zw, l(0.000000, 0.000000, 0.250000, 0.250000), r0.xxxy
max r0.xyzw, cb0[4].xyzw, l(-20000000000.000000, -20000000000.000000, -20000000000.000000, -20000000000.000000)
min r0.xyzw, r0.xyzw, l(20000000000.000000, 20000000000.000000, 20000000000.000000, 20000000000.000000)
mad r0.xy, v0.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), -r0.xyxx
add o4.xy, -r0.zwzz, r0.xyxx
add r5.x, -r6.y, r4.w
mul r5.y, r6.x, r6.w
mad r5.x, r5.x, r5.y, r4.x
ne r5.y, l(1.000000), r4.w
movc r4.x, r5.y, r5.x, r4.x
mov o0.xyzw, r4.xyzw
ret
// Approximately 43 instruction slots used

///////////////////////////////// HLSL Code /////////////////////////////////
// // ---- Created with geo-11 v0.6.193 on Fri Apr 12 20:08:52 2024
//
// cbuffer cb3 : register(b3)
// {
//   float4 cb3[21] : packoffset(c0);
// }
//
// cbuffer cb2 : register(b2)
// {
//   float4 cb2[4] : packoffset(c0);
// }
//
// cbuffer cb1 : register(b1)
// {
//   float4 cb1[7] : packoffset(c0);
// }
//
// cbuffer cb0 : register(b0)
// {
//   float4 cb0[7] : packoffset(c0);
// }
//
// cbuffer cb13 : register(b13)
// {
//   float4 cb13[21] : packoffset(c0);
// }
//
//
//
// // 3Dmigoto declarations
// #define cmp -
// Texture1D<float4> IniParams : register(t120);
// Buffer<float4> StereoParams : register(t125);
//
//
// void main(
//   float4 v0 : POSITION0,
//   float4 v1 : COLOR0,
//   float2 v2 : TEXCOORD0,
//   out float4 o0 : SV_POSITION0,
//   out float4 o1 : COLOR0,
//   out float4 o2 : TEXCOORD0,
//   out float4 o3 : TEXCOORD1,
//   out float4 o4 : TEXCOORD2,
//   out uint o5 : P0)
// {
//   float4 r0,r1,r2,r3,r4,r5,r6;
//   uint4 bitmask, uiDest;
//   float4 fDest;
//
//   r6.xyzw = StereoParams.Load(float4(0,0,0,0)).xyzw;
//   o5.x = r6.z;
//   r0.x = cmp(cb13[17].x == 0.000000);
//   r0.x = r0.x ? cb3[17].x : cb13[17].x;
//   r1.xyzw = IniParams.Load(float4(10,0,0,0)).xyzw;
//   r2.xyzw = StereoParams.Load(float4(0,0,0,0)).xyzw;
//   r0.y = r2.y * r1.x;
//   r0.z = cmp(r1.y == 1.000000);
//   r0.x = r0.y * r0.x;
//   r1.xyzw = cb2[1].xyzw * v0.yyyy;
//   r1.xyzw = cb2[0].xyzw * v0.xxxx + r1.xyzw;
//   r1.xyzw = cb2[2].xyzw * v0.zzzz + r1.xyzw;
//   r1.xyzw = cb2[3].xyzw + r1.xyzw;
//   r3.xyzw = cb3[18].xyzw * r1.yyyy;
//   r3.xyzw = cb3[17].xyzw * r1.xxxx + r3.xyzw;
//   r3.xyzw = cb3[19].xyzw * r1.zzzz + r3.xyzw;
//   r1.xyzw = cb3[20].xyzw * r1.wwww + r3.xyzw;
//   r0.x = -r0.x * 16 + r1.w;
//   r0.x = r2.x * r0.x + r1.x;
//   r0.y = cmp(r1.w == 1.000000);
//   r0.y = r0.z ? r0.y : 0;
//   r3.xyzw = IniParams.Load(float4(3,0,0,0)).xyzw;
//   r0.z = cmp(r3.w != 11.000000);
//   r0.w = cmp(r3.w == 11.000000);
//   r0.y = r0.z ? r0.y : 0;
//   r0.x = r0.y ? r0.x : r1.x;
//   r0.y = r1.w + -r2.y;
//   r0.y = -r2.x * r0.y + r0.x;
//   r0.z = cmp(r1.w != 1.000000);
//   r0.z = r0.z ? r0.w : 0;
//   r4.x = r0.z ? r0.y : r0.x;
//   r4.yzw = r1.yzw;
//   o1.xyzw = cb0[2].xyzw * v1.xyzw;
//   o2.xy = v2.xy * cb0[5].xy + cb0[5].zw;
//   o3.xyzw = v0.xyzw;
//   r0.xy = cb1[6].yy * cb3[6].xy;
//   r0.xy = cb3[5].xy * cb1[6].xx + r0.xy;
//   r0.xy = r1.ww / abs(r0.xy);
//   r0.xy = cb0[6].xy * float2(0.25,0.25) + abs(r0.xy);
//   o4.zw = float2(0.25,0.25) / r0.xy;
//   r0.xyzw = max(float4(-2e+10,-2e+10,-2e+10,-2e+10), cb0[4].xyzw);
//   r0.xyzw = min(float4(2e+10,2e+10,2e+10,2e+10), r0.xyzw);
//   r0.xy = v0.xy * float2(2,2) + -r0.xy;
//   o4.xy = r0.xy + -r0.zw;
//   r5.x = r4.w + -r6.y;
//   r5.y = r6.w * r6.x;
//   r5.x = r5.x * r5.y + r4.x;
//   r5.y = cmp(1.000000 != r4.w);
//   r4.x = r5.y ? r5.x : r4.x;
//   o0.xyzw = r4.xyzw;
//   return;
// }
/////////////////////////////////////////////////////////////////////////////
