// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
//
//   using 3Dmigoto v0.6.163 on Tue Sep  8 09:49:59 2026
//
//
// Buffer Definitions:
//
// cbuffer TransformCB
// {
//
//   float4 mtx_palette[32];            // Index:    0-31             Components:   128
//   float4 y_scale;                    // Index:   32.xyzw           Components:     4
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// IniParams                         texture  float4          1d  120        1
// StereoParams                      texture  float4          2d  125        1
// TransformCB                       cbuffer      NA          NA    4        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// POSITION                 0   xyzw        0     NONE   float   xyzw
// MTXSLOT                  0   x           1     NONE   float   x
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION              0   xyzw        0      POS   float   xyzw
// P                        0   x           1  RTINDEX    uint   x
//
vs_4_0
dcl_output_siv o1.x, rendertarget_array_index
dcl_constantbuffer CB4[33], dynamicIndexed
dcl_resource_texture1d (float,float,float,float) t120
dcl_resource_buffer (float,float,float,float) t125
dcl_input v0.xyzw
dcl_input v1.x
dcl_output_siv o0.xyzw, position
dcl_temps 7
ld_indexable(buffer)(float,float,float,float) r6.xyzw, l(0, 0, 0, 0), t125.xyzw
mov o1.x, r6.z
add r0.x, v1.x, l(0.500000)
round_z r0.x, r0.x
ftou r0.x, r0.x
ishl r0.x, r0.x, l(2)
utof r0.y, r0.x
ftoi r0.y, r0.y
iadd r0.yzw, r0.yyyy, l(0, 1, 2, 3)
itof r0.yzw, r0.yyzw
ftou r0.yzw, r0.yyzw
mul r1.xyzw, v0.yyyy, cb4[r0.y + 0].xyzw
mad r1.xyzw, v0.xxxx, cb4[r0.x + 0].xyzw, r1.xyzw
mad r1.xyzw, v0.zzzz, cb4[r0.z + 0].xyzw, r1.xyzw
mad r0.xyzw, v0.wwww, cb4[r0.w + 0].xyzw, r1.xyzw
eq r1.x, r0.w, l(1.000000)
lt r1.y, l(-1.000000), r0.x
and r1.x, r1.y, r1.x
lt r1.y, r0.x, l(1.000000)
and r1.x, r1.y, r1.x
ld r2.xyzw, l(0, 0, 0, 0), t125.xyzw
ld r3.xyzw, l(1, 0, 0, 0), t120.xyzw
mad r1.y, r2.x, r3.x, r0.x
movc r4.x, r1.x, r1.y, r0.x
add r0.x, r0.w, r0.z
mul r4.z, r0.x, l(0.500000)
mul r4.y, r0.y, cb4[32].x
mov r4.w, r0.w
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 27 instruction slots used

///////////////////////////////// HLSL Code /////////////////////////////////
// // ---- Created with 3Dmigoto v0.6.163 on Tue Sep  8 09:49:59 2026
//
// cbuffer TransformCB : register(b4)
// {
//   float4 mtx_palette[32] : packoffset(c0);
//   float4 y_scale : packoffset(c32);
// }
//
//
//
// // 3Dmigoto declarations
// #define cmp -
// Texture1D<float4> IniParams : register(t120);
// Buffer<float4> StereoParams : register(t125);
//
//
// void main(
//   float4 v0 : POSITION0,
//   float v1 : MTXSLOT0,
//   out float4 o0 : SV_POSITION0,
//   out uint o1 : P0)
// {
//   float4 r0,r1,r2,r3,r4,r5,r6;
//   uint4 bitmask, uiDest;
//   float4 fDest;
//
//   r6.xyzw = StereoParams.Load(float4(0,0,0,0)).xyzw;
//   o1.x = r6.z;
//   r0.x = 0.5 + v1.x;
//   r0.x = trunc(r0.x);
//   r0.x = (uint)r0.x;
//   r0.x = (uint)r0.x << 2;
//   r0.y = (uint)r0.x;
//   r0.y = (int)r0.y;
//   r0.yzw = (int3)r0.yyy + int3(1,2,3);
//   r0.yzw = (int3)r0.yzw;
//   r0.yzw = (uint3)r0.yzw;
//   r1.xyzw = mtx_palette[r0.y].xyzw * v0.yyyy;
//   r1.xyzw = v0.xxxx * mtx_palette[r0.x].xyzw + r1.xyzw;
//   r1.xyzw = v0.zzzz * mtx_palette[r0.z].xyzw + r1.xyzw;
//   r0.xyzw = v0.wwww * mtx_palette[r0.w].xyzw + r1.xyzw;
//   r1.x = cmp(r0.w == 1.000000);
//   r1.y = cmp(-1 < r0.x);
//   r1.x = r1.y ? r1.x : 0;
//   r1.y = cmp(r0.x < 1);
//   r1.x = r1.y ? r1.x : 0;
//   r2.xyzw = StereoParams.Load(float4(0,0,0,0)).xyzw;
//   r3.xyzw = IniParams.Load(float4(1,0,0,0)).xyzw;
//   r1.y = r2.x * r3.x + r0.x;
//   r4.x = r1.x ? r1.y : r0.x;
//   r0.x = r0.z + r0.w;
//   r4.z = 0.5 * r0.x;
//   r4.y = y_scale.x * r0.y;
//   r4.w = r0.w;
//   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;
// }
/////////////////////////////////////////////////////////////////////////////
