// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
//
//   using 3Dmigoto v0.6.163 on Tue Sep  8 12:24:12 2026
//
//
// Buffer Definitions:
//
// cbuffer cb0
// {
//
//   float4 cb0[10];                    // Offset:    0 Size:   160
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// s0_s                              sampler      NA          NA    0        1
// s1_s                              sampler      NA          NA    1        1
// t0                                texture  float4          2d    0        1
// t1                                texture  float4          2d    1        1
// IniParams                         texture  float4          1d  120        1
// StereoParams                      texture  float4          2d  125        1
// cb0                               cbuffer      NA          NA    0        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION              0   xyzw        0      POS   float
// TEXCOORD                 0   xy          1     NONE   float   xy
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_TARGET                0   xyzw        0   TARGET   float   xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB0[10], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texture2d (float,float,float,float) t1
dcl_resource_texture1d (float,float,float,float) t120
dcl_resource_buffer (float,float,float,float) t125
dcl_input_ps linear v1.xy
dcl_output o0.xyzw
dcl_temps 5
ld_indexable(texture1d)(float,float,float,float) r0.x, l(10, 0, 0, 0), t120.yxzw
eq r0.x, r0.x, l(1.000000)
discard_nz r0.x
ld_indexable(buffer)(float,float,float,float) r0.xy, l(0, 0, 0, 0), t125.xyzw
ld_indexable(buffer)(float,float,float,float) r0.zw, l(2, 0, 0, 0), t125.zwxy
max r1.xy, v1.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000)
min r1.xy, r1.xyxx, cb0[8].zwzz
sample_indexable(texture2d)(float,float,float,float) r1.z, r1.xyxx, t1.yzxw, s1
add r1.w, r1.z, -cb0[5].x
mul_sat r1.w, r1.w, cb0[5].y
mad r2.xy, r1.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
mul r2.yz, r1.zzzz, r2.xxyx
mad r2.w, cb0[4].x, r1.z, cb0[4].y
mul r3.xyzw, r2.zzzz, cb0[1].xyzw
mad r3.xyzw, r2.yyyy, cb0[0].xyzw, r3.xyzw
mad r3.xyzw, r2.wwww, cb0[2].xyzw, r3.xyzw
mad r3.xyzw, r1.zzzz, cb0[3].xyzw, r3.xyzw
div r2.w, r3.z, r3.w
ge r3.z, r2.w, l(0.000000)
and r3.z, r3.z, l(0xbf800000)
lt r2.w, r2.w, l(0.500000)
and r2.w, r3.z, r2.w
max r3.z, r3.w, l(0.001000)
add r0.w, -r0.w, r3.z
mad r3.x, r0.z, r0.w, r3.x
div r0.zw, r3.xxxy, r3.zzzz
add r0.y, -r0.y, r1.z
mad r2.x, r0.x, r0.y, r2.y
div r0.xy, r2.xzxx, r1.zzzz
add r0.xy, -r0.xyxx, r0.zwzz
mul r0.z, cb0[4].z, l(0.500000)
mul r0.xy, r0.zzzz, r0.xyxx
ne r0.z, l(0.000000, 0.000000, 0.000000, 0.000000), r2.w
and r0.xy, r0.xyxx, r0.zzzz
mul r0.zw, r0.xxxy, l(0.000000, 0.000000, 1.77777779, 1.000000)
dp2 r0.z, r0.zwzz, r0.zwzz
sqrt r0.z, r0.z
min r0.w, r0.z, cb0[5].z
lt r1.z, l(0.000000), r0.z
div r0.w, r0.w, r0.z
movc r0.w, r1.z, r0.w, l(1.000000)
mul r0.xy, r0.wwww, r0.xyxx
mul r0.xy, r0.xyxx, cb0[9].xxxx
sample_indexable(texture2d)(float,float,float,float) r2.xyz, r1.xyxx, t0.xyzw, s0
mul r0.xy, r0.xyxx, l(0.250000, 0.250000, 0.000000, 0.000000)
mov r3.xyz, r2.xyzx
mov r0.w, l(1.000000)
mov r1.z, l(0)
loop
  ftoi r2.w, r1.z
  ige r3.w, r2.w, l(4)
  if_nz r3.w
    break
  endif
  mad r4.xy, r0.xyxx, r1.zzzz, r1.xyxx
  max r4.xy, r4.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000)
  min r4.xy, r4.xyxx, cb0[8].zwzz
  sample_indexable(texture2d)(float,float,float,float) r3.w, r4.xyxx, t1.yzwx, s1
  add r3.w, r3.w, -cb0[5].x
  mul_sat r3.w, r3.w, cb0[5].y
  sample_indexable(texture2d)(float,float,float,float) r4.xyz, r4.xyxx, t0.xyzw, s0
  mad r3.xyz, r3.wwww, r4.xyzx, r3.xyzx
  add r0.w, r0.w, r3.w
  iadd r2.w, r2.w, l(1)
  itof r1.z, r2.w
endloop
div o0.xyz, r3.xyzx, r0.wwww
mul_sat r0.x, r0.z, cb0[4].w
mul o0.w, r1.w, r0.x
ret
// Approximately 70 instruction slots used

///////////////////////////////// HLSL Code /////////////////////////////////
// // ---- Created with 3Dmigoto v0.6.163 on Tue Sep  8 12:24:12 2026
//
// cbuffer cb0 : register(b0)
// {
//   float4 cb0[10] : packoffset(c0);
// }
//
// SamplerState s0_s_s : register(s0);
// SamplerState s1_s_s : register(s1);
// Texture2D<float4> t0 : register(t0);
// Texture2D<float4> t1 : register(t1);
//
//
// // 3Dmigoto declarations
// #define cmp -
// Texture1D<float4> IniParams : register(t120);
// Buffer<float4> StereoParams : register(t125);
//
//
// void main(
//   float4 v0 : SV_POSITION0,
//   float2 v1 : TEXCOORD0,
//   out float4 o0 : SV_TARGET0)
// {
//   float4 r0,r1,r2,r3,r4;
//   uint4 bitmask, uiDest;
//   float4 fDest;
//
//   r0.x = IniParams.Load(float4(10,0,0,0)).y;
//   r0.x = cmp(r0.x == 1.000000);
//   if (r0.x != 0) discard;
//   r0.xy = StereoParams.Load(float4(0,0,0,0)).xy;
//   r0.zw = StereoParams.Load(float4(2,0,0,0)).xy;
//   r1.xy = max(float2(0,0), v1.xy);
//   r1.xy = min(cb0[8].zw, r1.xy);
//   r1.z = t1.Sample(s1_s_s, r1.xy).x;
//   r1.w = -cb0[5].x + r1.z;
//   r1.w = saturate(cb0[5].y * r1.w);
//   r2.xy = r1.xy * float2(2,2) + float2(-1,-1);
//   r2.yz = r2.xy * r1.zz;
//   r2.w = cb0[4].x * r1.z + cb0[4].y;
//   r3.xyzw = cb0[1].xyzw * r2.zzzz;
//   r3.xyzw = r2.yyyy * cb0[0].xyzw + r3.xyzw;
//   r3.xyzw = r2.wwww * cb0[2].xyzw + r3.xyzw;
//   r3.xyzw = r1.zzzz * cb0[3].xyzw + r3.xyzw;
//   r2.w = r3.z / r3.w;
//   r3.z = cmp(r2.w >= 0);
//   r3.z = r3.z ? -1.000000 : 0;
//   r2.w = cmp(r2.w < 0.5);
//   r2.w = r3.z ? r2.w : 0;
//   r3.z = max(0.00100000005, r3.w);
//   r0.w = r3.z + -r0.w;
//   r3.x = r0.z * r0.w + r3.x;
//   r0.zw = r3.xy / r3.zz;
//   r0.y = r1.z + -r0.y;
//   r2.x = r0.x * r0.y + r2.y;
//   r0.xy = r2.xz / r1.zz;
//   r0.xy = r0.zw + -r0.xy;
//   r0.z = 0.5 * cb0[4].z;
//   r0.xy = r0.xy * r0.zz;
//   r0.z = cmp(0 != r2.w);
//   r0.xy = r0.zz ? r0.xy : 0;
//   r0.zw = float2(1.77777779,1) * r0.xy;
//   r0.z = dot(r0.zw, r0.zw);
//   r0.z = sqrt(r0.z);
//   r0.w = min(cb0[5].z, r0.z);
//   r1.z = cmp(0 < r0.z);
//   r0.w = r0.w / r0.z;
//   r0.w = r1.z ? r0.w : 1;
//   r0.xy = r0.xy * r0.ww;
//   r0.xy = cb0[9].xx * r0.xy;
//   r2.xyz = t0.Sample(s0_s_s, r1.xy).xyz;
//   r0.xy = float2(0.25,0.25) * r0.xy;
//   r3.xyz = r2.xyz;
//   r0.w = 1;
//   r1.z = 0;
//   while (true) {
//     r2.w = (int)r1.z;
//     r3.w = cmp((int)r2.w >= 4);
//     if (r3.w != 0) {
//       break;
//     }
//     r4.xy = r0.xy * r1.zz + r1.xy;
//     r4.xy = max(float2(0,0), r4.xy);
//     r4.xy = min(cb0[8].zw, r4.xy);
//     r3.w = t1.Sample(s1_s_s, r4.xy).x;
//     r3.w = -cb0[5].x + r3.w;
//     r3.w = saturate(cb0[5].y * r3.w);
//     r4.xyz = t0.Sample(s0_s_s, r4.xy).xyz;
//     r3.xyz = r3.www * r4.xyz + r3.xyz;
//     r0.w = r3.w + r0.w;
//     r2.w = (int)r2.w + 1;
//     r1.z = (int)r2.w;
//   }
//   o0.xyz = r3.xyz / r0.www;
//   r0.x = saturate(cb0[4].w * r0.z);
//   o0.w = r0.x * r1.w;
//   return;
// }
/////////////////////////////////////////////////////////////////////////////
