// outline around jj
// linked with 6e6a37
// ---- Created with geo-11 v0.7.10 on Fri Aug 28 22:55:16 2026
Texture2D<float4> t0 : register(t0);

SamplerState s0_s : register(s0);

cbuffer cb0 : register(b0)
{
  float4 cb0[5];
}




// 3Dmigoto declarations
#define cmp -
Texture1D<float4> IniParams : register(t120);
Texture2D<float4> StereoParams : register(t125);


void main(
  float2 v0 : TEXCOORD0,
  float4 v1 : SV_POSITION0,
  out float4 o0 : SV_Target0)
{
  float4 r0,r1,r2,r3,r4,r5;
  uint4 bitmask, uiDest;
  float4 fDest;
  
  float4 stereo = StereoParams.Load(0);

  r0.xyzw = t0.Sample(s0_s, v0.xy).xyzw;
  //r0.w -= stereo.x * (1 - stereo.y) * 0.01;
  r1.x = -0.5 + r0.w;
  r1.x += stereo.x * (1 - stereo.y * r0.w) * 0.2;
  r1.x = cmp(r1.x < 0);
  if (r1.x != 0) discard;
  r1.x = dot(cb0[3].xy, cb0[3].xy);
  r1.x = rsqrt(r1.x);
  r1.xy = cb0[3].xy * r1.xx;
  r2.xyzw = float4(0.5,0.5,1.5,1.5) * r1.xyxy;
  r3.xyzw = cb0[2].xyxy * r2.xyzw + v0.xyxy;
  r2.xyzw = cb0[2].xyxy * -r2.xyzw + v0.xyxy;
  r4.xyzw = t0.Sample(s0_s, r3.xy).xyzw;
  r3.xyzw = t0.Sample(s0_s, r3.zw).xyzw;
  r5.xyzw = t0.Sample(s0_s, r2.xy).xyzw;
  r2.xyzw = t0.Sample(s0_s, r2.zw).xyzw;
  r1.w = r5.w + -r4.w;
  r1.w = r1.w + -r3.w;
  r1.w = r1.w + r2.w;
  r2.xyzw = float4(2.5,2.5,3.5,3.5) * r1.xyxy;
  r3.xyzw = cb0[2].xyxy * r2.xyzw + v0.xyxy;
  r2.xyzw = cb0[2].xyxy * -r2.xyzw + v0.xyxy;
  r4.xyzw = t0.Sample(s0_s, r3.xy).xyzw;
  r3.xyzw = t0.Sample(s0_s, r3.zw).xyzw;
  r1.w = -r4.w + r1.w;
  r4.xyzw = t0.Sample(s0_s, r2.xy).xyzw;
  r2.xyzw = t0.Sample(s0_s, r2.zw).xyzw;
  r1.w = r4.w + r1.w;
  r1.w = r1.w + -r3.w;
  r1.w = r1.w + r2.w;
  r2.xy = float2(4.5,4.5) * r1.xy;
  r2.zw = cb0[2].xy * r2.xy + v0.xy;
  r2.xy = cb0[2].xy * -r2.xy + v0.xy;
  r3.xyzw = t0.Sample(s0_s, r2.xy).xyzw;
  r2.xyzw = t0.Sample(s0_s, r2.zw).xyzw;
  r1.w = -r2.w + r1.w;
  r1.w = r1.w + r3.w;
  r2.xy = asint(cb0[4].xy);
  r1.w = r1.w / r2.x;
  r0.w = saturate(r1.w * r0.w);
  r1.z = 0.25;
  r1.w = dot(r1.xyz, r1.xyz);
  r1.w = rsqrt(r1.w);
  r1.xyz = r1.xyz * r1.www;
  r0.x = dot(r1.xyz, r0.xyz);
  r0.y = asint(-cb0[4].y) + 1;
  r0.y = (int)r0.y;
  r0.x = r0.x * r2.y + r0.y;
  r0.x = r0.x * r0.x;
  o0.xyzw = r0.wwww * r0.xxxx;
  return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.7.10 on Fri Aug 28 22:55:16 2026
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                 0   xy          0     NONE   float   xy
// SV_POSITION              0   xyzw        1      POS   float
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target                0   xyzw        0   TARGET   float   xyzw
//
ps_4_0
dcl_constantbuffer CB0[5], immediateIndexed
dcl_sampler s0, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_input_ps linear v0.xy
dcl_output o0.xyzw
dcl_temps 6
sample r0.xyzw, v0.xyxx, t0.xyzw, s0
add r1.x, r0.w, l(-0.500000)
lt r1.x, r1.x, l(0.000000)
discard_nz r1.x
dp2 r1.x, cb0[3].xyxx, cb0[3].xyxx
rsq r1.x, r1.x
mul r1.xy, r1.xxxx, cb0[3].xyxx
mul r2.xyzw, r1.xyxy, l(0.500000, 0.500000, 1.500000, 1.500000)
mad r3.xyzw, cb0[2].xyxy, r2.xyzw, v0.xyxy
mad r2.xyzw, cb0[2].xyxy, -r2.xyzw, v0.xyxy
sample r4.xyzw, r3.xyxx, t0.xyzw, s0
sample r3.xyzw, r3.zwzz, t0.xyzw, s0
sample r5.xyzw, r2.xyxx, t0.xyzw, s0
sample r2.xyzw, r2.zwzz, t0.xyzw, s0
add r1.w, -r4.w, r5.w
add r1.w, -r3.w, r1.w
add r1.w, r2.w, r1.w
mul r2.xyzw, r1.xyxy, l(2.500000, 2.500000, 3.500000, 3.500000)
mad r3.xyzw, cb0[2].xyxy, r2.xyzw, v0.xyxy
mad r2.xyzw, cb0[2].xyxy, -r2.xyzw, v0.xyxy
sample r4.xyzw, r3.xyxx, t0.xyzw, s0
sample r3.xyzw, r3.zwzz, t0.xyzw, s0
add r1.w, r1.w, -r4.w
sample r4.xyzw, r2.xyxx, t0.xyzw, s0
sample r2.xyzw, r2.zwzz, t0.xyzw, s0
add r1.w, r1.w, r4.w
add r1.w, -r3.w, r1.w
add r1.w, r2.w, r1.w
mul r2.xy, r1.xyxx, l(4.500000, 4.500000, 0.000000, 0.000000)
mad r2.zw, cb0[2].xxxy, r2.xxxy, v0.xxxy
mad r2.xy, cb0[2].xyxx, -r2.xyxx, v0.xyxx
sample r3.xyzw, r2.xyxx, t0.xyzw, s0
sample r2.xyzw, r2.zwzz, t0.xyzw, s0
add r1.w, r1.w, -r2.w
add r1.w, r3.w, r1.w
itof r2.xy, cb0[4].xyxx
div r1.w, r1.w, r2.x
mul_sat r0.w, r0.w, r1.w
mov r1.z, l(0.250000)
dp3 r1.w, r1.xyzx, r1.xyzx
rsq r1.w, r1.w
mul r1.xyz, r1.wwww, r1.xyzx
dp3 r0.x, r1.xyzx, r0.xyzx
iadd r0.y, -cb0[4].y, l(1)
itof r0.y, r0.y
mad r0.x, r0.x, r2.y, r0.y
mul r0.x, r0.x, r0.x
mul o0.xyzw, r0.xxxx, r0.wwww
ret
// Approximately 0 instruction slots used

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
