// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
//
//   using 3Dmigoto v0.6.164 on Fri Mar 27 01:50:01 2026
//
//
// Buffer Definitions:
//
// cbuffer cb3
// {
//
//   float4 glstate_lightmodel_ambient; // Offset:    0 Size:    16 [unused]
//   float4 unity_AmbientSky;           // Offset:   16 Size:    16 [unused]
//   float4 unity_AmbientEquator;       // Offset:   32 Size:    16 [unused]
//   float4 unity_AmbientGround;        // Offset:   48 Size:    16 [unused]
//   float4 unity_IndirectSpecColor;    // Offset:   64 Size:    16 [unused]
//   row_major float4x4 glstate_matrix_projection;// Offset:   80 Size:    64 [unused]
//   row_major float4x4 unity_MatrixV;  // Offset:  144 Size:    64
//   row_major float4x4 unity_MatrixInvV;// Offset:  208 Size:    64 [unused]
//   row_major float4x4 unity_MatrixVP; // Offset:  272 Size:    64
//   float4 unity_StereoScaleOffset;    // Offset:  336 Size:    16 [unused]
//   int unity_StereoEyeIndex;          // Offset:  352 Size:     4 [unused]
//   float4 unity_ShadowColor;          // Offset:  368 Size:    16 [unused]
//
// }
//
// cbuffer cb2
// {
//
//   row_major float4x4 unity_ObjectToWorld;// Offset:    0 Size:    64
//   row_major float4x4 unity_WorldToObject;// Offset:   64 Size:    64 [unused]
//   float4 unity_LODFade;              // Offset:  128 Size:    16 [unused]
//   float4 unity_WorldTransformParams; // Offset:  144 Size:    16 [unused]
//
// }
//
// cbuffer cb1
// {
//
//   float4 cb1[6];                     // Offset:    0 Size:    96
//
// }
//
// cbuffer cb0
// {
//
//   float4 cb0[3];                     // Offset:    0 Size:    48
//
// }
//
// cbuffer UnityPerCameraRare
// {
//
//   float4 unity_CameraWorldClipPlanes[6];// Offset:    0 Size:    96 [unused]
//   row_major float4x4 unity_CameraProjection;// Offset:   96 Size:    64 [unused]
//   row_major float4x4 unity_CameraInvProjection;// Offset:  160 Size:    64
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// 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
// UnityPerCameraRare                cbuffer      NA          NA   13        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// POSITION                 0   xyzw        0     NONE   float   xyz
// NORMAL                   0   xyz         1     NONE   float   xyz
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION              0   xyzw        0      POS   float   xyzw
// TEXCOORD                 0   xyzw        1     NONE   float   xyzw
// TEXCOORD                 1   xyz         2     NONE   float   xyz
// TEXCOORD                 2      w        2     NONE   float      w
// P                        0   x           3  RTINDEX    uint   x
//
vs_4_0
dcl_output_siv o3.x, rendertarget_array_index
dcl_constantbuffer CB3[21], immediateIndexed
dcl_constantbuffer CB2[4], immediateIndexed
dcl_constantbuffer CB1[6], immediateIndexed
dcl_constantbuffer CB0[3], immediateIndexed
dcl_constantbuffer CB13[11], immediateIndexed
dcl_resource_buffer (float,float,float,float) t125
dcl_input v0.xyz
dcl_input v1.xyz
dcl_output_siv o0.xyzw, position
dcl_output o1.xyzw
dcl_output o2.xyz
dcl_output o2.w
dcl_temps 7
ld_indexable(buffer)(float,float,float,float) r6.xyzw, l(0, 0, 0, 0), t125.xyzw
mov o3.x, r6.z
mul r0.xyzw, v0.yyyy, cb2[1].xyzw
mad r0.xyzw, cb2[0].xyzw, v0.xxxx, r0.xyzw
mad r0.xyzw, cb2[2].xyzw, v0.zzzz, r0.xyzw
add r0.xyzw, r0.xyzw, cb2[3].xyzw
mul r1.xyzw, r0.yyyy, cb3[18].xyzw
mad r1.xyzw, cb3[17].xyzw, r0.xxxx, r1.xyzw
mad r1.xyzw, cb3[19].xyzw, r0.zzzz, r1.xyzw
mad r1.xyzw, cb3[20].xwyz, r0.wwww, r1.xwyz
mov r4.xyzw, r1.xzwy
ld r2.xyzw, l(0, 0, 0, 0), t125.xyzw
add r2.y, r1.y, -r2.y
mad r2.z, r2.x, r2.y, r1.x
mul r2.x, r2.y, r2.x
eq r2.y, r1.y, l(1.000000)
movc r1.x, r2.y, r1.x, r2.z
mul r1.z, r1.z, cb1[5].x
mov o1.zw, r1.wwwy
mul r1.xyz, r1.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
add o1.xy, r1.yyyy, r1.xzxx
mul r1.xyz, r0.yyyy, cb3[10].xyzx
mad r1.xyz, cb3[9].xyzx, r0.xxxx, r1.xyzx
mad r0.xyz, cb3[11].xyzx, r0.zzzz, r1.xyzx
mad r0.xzw, cb3[12].xxyz, r0.wwww, r0.xxyz
mul r1.xyz, cb3[11].wyzw, cb3[12].zwyz
mad r1.xyz, cb3[11].zwyz, cb3[12].wyzw, -r1.xyzx
dp3 r1.x, r1.xyzx, cb3[10].yzwy
mul r3.xyz, cb3[11].zwxz, cb3[12].wxzw
mad r3.xyz, cb3[11].wxzw, cb3[12].zwxz, -r3.xyzx
dp3 r1.y, r3.xyzx, cb3[10].xzwx
mul r3.xyz, cb3[11].wxyw, cb3[12].ywxy
mad r3.xyz, cb3[11].ywxy, cb3[12].wxyw, -r3.xyzx
dp3 r1.z, r3.xyzx, cb3[10].xywx
mul r3.xyz, cb3[11].yzxy, cb3[12].zxyz
mad r3.xyz, cb3[11].zxyz, cb3[12].yzxy, -r3.xyzx
dp3 r1.w, r3.xyzx, cb3[10].xyzx
dp4 r1.x, r1.xyzw, cb3[9].xyzw
div r1.x, l(1.000000, 1.000000, 1.000000, 1.000000), r1.x
mul r1.y, cb3[10].z, cb3[11].y
mad r1.y, cb3[10].y, cb3[11].z, -r1.y
mul r3.x, r1.x, r1.y
mul r1.y, cb3[9].y, cb3[11].z
mad r1.y, cb3[11].y, cb3[9].z, -r1.y
mul r3.y, r1.x, r1.y
mul r1.y, cb3[9].z, cb3[10].y
mad r1.y, cb3[9].y, cb3[10].z, -r1.y
mul r3.z, r1.x, r1.y
mov r1.x, cb3[17].x
mov r1.y, cb3[18].x
mov r1.z, cb3[19].x
dp3 r1.x, r3.xyzx, r1.xyzx
div r1.x, l(1.000000, 1.000000, 1.000000, 1.000000), r1.x
mad r1.y, r2.x, r1.x, r0.x
movc o2.w, r2.y, cb13[10].x, r1.x
movc r0.y, r2.y, r0.x, r1.y
mul r1.xyz, r0.yzwy, l(-1.000000, -1.000000, 1.000000, 0.000000)
mad r0.xyz, r0.yzwy, l(1.000000, 1.000000, -1.000000, 0.000000), v1.xyzx
mad o2.xyz, cb0[2].xxxx, r0.xyzx, r1.xyzx
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 58 instruction slots used

///////////////////////////////// HLSL Code /////////////////////////////////
// // ---- Created with 3Dmigoto v0.6.164 on Fri Mar 27 01:50:01 2026
//
// cbuffer cb3 : register(b3)
// {
//   float4 glstate_lightmodel_ambient : packoffset(c0);
//   float4 unity_AmbientSky : packoffset(c1);
//   float4 unity_AmbientEquator : packoffset(c2);
//   float4 unity_AmbientGround : packoffset(c3);
//   float4 unity_IndirectSpecColor : packoffset(c4);
//   row_major float4x4 glstate_matrix_projection : packoffset(c5);
//   row_major float4x4 unity_MatrixV : packoffset(c9);
//   row_major float4x4 unity_MatrixInvV : packoffset(c13);
//   row_major float4x4 unity_MatrixVP : packoffset(c17);
//   float4 unity_StereoScaleOffset : packoffset(c21);
//   int unity_StereoEyeIndex : packoffset(c22);
//   float4 unity_ShadowColor : packoffset(c23);
// }
//
// cbuffer cb2 : register(b2)
// {
//   row_major float4x4 unity_ObjectToWorld : packoffset(c0);
//   row_major float4x4 unity_WorldToObject : packoffset(c4);
//   float4 unity_LODFade : packoffset(c8);
//   float4 unity_WorldTransformParams : packoffset(c9);
// }
//
// cbuffer cb1 : register(b1)
// {
//   float4 cb1[6] : packoffset(c0);
// }
//
// cbuffer cb0 : register(b0)
// {
//   float4 cb0[3] : packoffset(c0);
// }
//
// cbuffer UnityPerCameraRare : register(b13)
// {
//   float4 unity_CameraWorldClipPlanes[6] : packoffset(c0);
//   row_major float4x4 unity_CameraProjection : packoffset(c6);
//   row_major float4x4 unity_CameraInvProjection : packoffset(c10);
// }
//
//
//
// // 3Dmigoto declarations
// #define cmp -
// Texture1D<float4> IniParams : register(t120);
// Buffer<float4> StereoParams : register(t125);
//
//
// void main(
//   float4 v0 : POSITION0,
//   float3 v1 : NORMAL0,
//   out float4 o0 : SV_POSITION0,
//   out float4 o1 : TEXCOORD0,
//   out float3 o2 : TEXCOORD1,
//   out float p2 : TEXCOORD2,
//   out uint o3 : P0)
// {
//   float4 r0,r1,r2,r3,r4,r5,r6;
//   uint4 bitmask, uiDest;
//   float4 fDest;
//
//   r6.xyzw = StereoParams.Load(float4(0,0,0,0)).xyzw;
//   o3.x = r6.z;
//   r0.xyzw = unity_ObjectToWorld._m10_m11_m12_m13 * v0.yyyy;
//   r0.xyzw = unity_ObjectToWorld._m00_m01_m02_m03 * v0.xxxx + r0.xyzw;
//   r0.xyzw = unity_ObjectToWorld._m20_m21_m22_m23 * v0.zzzz + r0.xyzw;
//   r0.xyzw = unity_ObjectToWorld._m30_m31_m32_m33 + r0.xyzw;
//   r1.xyzw = unity_MatrixVP._m10_m11_m12_m13 * r0.yyyy;
//   r1.xyzw = unity_MatrixVP._m00_m01_m02_m03 * r0.xxxx + r1.xyzw;
//   r1.xyzw = unity_MatrixVP._m20_m21_m22_m23 * r0.zzzz + r1.xyzw;
//   r1.xyzw = unity_MatrixVP._m30_m33_m31_m32 * r0.wwww + r1.xwyz;
//   r4.xyzw = r1.xzwy;
//   r2.xyzw = StereoParams.Load(float4(0,0,0,0)).xyzw;
//   r2.y = -r2.y + r1.y;
//   r2.z = r2.x * r2.y + r1.x;
//   r2.x = r2.x * r2.y;
//   r2.y = cmp(r1.y == 1.000000);
//   r1.x = r2.y ? r1.x : r2.z;
//   r1.z = cb1[5].x * r1.z;
//   o1.zw = r1.wy;
//   r1.xyz = float3(0.5,0.5,0.5) * r1.xyz;
//   o1.xy = r1.xz + r1.yy;
//   r1.xyz = unity_MatrixV._m10_m11_m12 * r0.yyy;
//   r1.xyz = unity_MatrixV._m00_m01_m02 * r0.xxx + r1.xyz;
//   r0.xyz = unity_MatrixV._m20_m21_m22 * r0.zzz + r1.xyz;
//   r0.xzw = unity_MatrixV._m30_m31_m32 * r0.www + r0.xyz;
//   r1.xyz = unity_MatrixV._m32_m33_m31 * unity_MatrixV._m23_m21_m22;
//   r1.xyz = unity_MatrixV._m22_m23_m21 * unity_MatrixV._m33_m31_m32 + -r1.xyz;
//   r1.x = dot(r1.xyz, unity_MatrixV._m11_m12_m13);
//   r3.xyz = unity_MatrixV._m33_m30_m32 * unity_MatrixV._m22_m23_m20;
//   r3.xyz = unity_MatrixV._m23_m20_m22 * unity_MatrixV._m32_m33_m30 + -r3.xyz;
//   r1.y = dot(r3.xyz, unity_MatrixV._m10_m12_m13);
//   r3.xyz = unity_MatrixV._m31_m33_m30 * unity_MatrixV._m23_m20_m21;
//   r3.xyz = unity_MatrixV._m21_m23_m20 * unity_MatrixV._m33_m30_m31 + -r3.xyz;
//   r1.z = dot(r3.xyz, unity_MatrixV._m10_m11_m13);
//   r3.xyz = unity_MatrixV._m32_m30_m31 * unity_MatrixV._m21_m22_m20;
//   r3.xyz = unity_MatrixV._m22_m20_m21 * unity_MatrixV._m31_m32_m30 + -r3.xyz;
//   r1.w = dot(r3.xyz, unity_MatrixV._m10_m11_m12);
//   r1.x = dot(r1.xyzw, unity_MatrixV._m00_m01_m02_m03);
//   r1.x = 1 / r1.x;
//   r1.y = unity_MatrixV._m21 * unity_MatrixV._m12;
//   r1.y = unity_MatrixV._m11 * unity_MatrixV._m22 + -r1.y;
//   r3.x = r1.y * r1.x;
//   r1.y = unity_MatrixV._m22 * unity_MatrixV._m01;
//   r1.y = unity_MatrixV._m21 * unity_MatrixV._m02 + -r1.y;
//   r3.y = r1.y * r1.x;
//   r1.y = unity_MatrixV._m11 * unity_MatrixV._m02;
//   r1.y = unity_MatrixV._m01 * unity_MatrixV._m12 + -r1.y;
//   r3.z = r1.y * r1.x;
//   r1.x = unity_MatrixVP._m00;
//   r1.y = unity_MatrixVP._m10;
//   r1.z = unity_MatrixVP._m20;
//   r1.x = dot(r3.xyz, r1.xyz);
//   r1.x = 1 / r1.x;
//   r1.y = r2.x * r1.x + r0.x;
//   p2.x = r2.y ? unity_CameraInvProjection._m00 : r1.x;
//   r0.y = r2.y ? r0.x : r1.y;
//   r1.xyz = float3(-1,-1,1) * r0.yzw;
//   r0.xyz = r0.yzw * float3(1,1,-1) + v1.xyz;
//   o2.xyz = cb0[2].xxx * r0.xyz + r1.xyz;
//   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;
// }
/////////////////////////////////////////////////////////////////////////////
