//fog
// ---- Created with 3Dmigoto v0.6.164 on Wed May 14 16:30:46 2025
Texture2D<float4> t1 : register(t1);

Texture2D<float4> t0 : register(t0);

SamplerState s1_s : register(s1);

SamplerState s0_s : register(s0);

cbuffer cb1 : register(b1)
{
  float4 cb1[6];
}

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




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


void main(
  float4 v0 : SV_POSITION0,
  float4 v1 : INTERP0,
  float4 v2 : INTERP1,
  float3 v3 : INTERP2,
  float3 v4 : INTERP3,
  float3 v5 : INTERP4,
  out float4 o0 : SV_TARGET0)
{
  float4 r0,r1,r2,r3;
  uint4 bitmask, uiDest;
  float4 fDest;

float4 s = StereoParams.Load(0);
float4 texFilter = IniParams.Load(int2(14,0));
float4 testeo = IniParams.Load(int2(90,0));
float cursor_showing  = IniParams[1].z;
float4 diagx = IniParams.Load(int2(20,0));


  r0.xyz = cb0[74].xyw * v3.yyy;
  r0.xyz = cb0[73].xyw * v3.xxx + r0.xyz;
  r0.xyz = cb0[75].xyw * v3.zzz + r0.xyz;
  r0.xyz = cb0[76].xyw + r0.xyz;
  r1.xz = float2(0.5,0.5) * r0.xz;
  r0.x = cb0[17].x * r0.y;
  r1.w = 0.5 * r0.x;
  r0.xy = r1.xw + r1.zz;
  r1.xyzw = t1.SampleBias(s1_s, v1.xy, cb0[19].x).xyzw;
  r0.w = r1.w + -r1.x;
  r0.w = cb1[3].x * r0.w + r1.x;
  r2.x = max(0.5, cb1[3].y);
  r2.x = -0.5 + r2.x;
  r2.y = r2.x + r2.x;
  r2.z = cb1[3].y + cb1[3].y;
  r2.z = min(1, r2.z);
  r2.w = saturate(0.5 * cb1[3].z);
  r3.x = -r2.x * 2 + r2.z;
  r2.y = r2.w * r3.x + r2.y;
  r2.x = r2.x * 2 + -r2.z;
  r2.x = r2.w * r2.x + r2.z;
  r0.w = -r2.y + r0.w;
  r2.x = r2.x + -r2.y;
  r0.w = saturate(r0.w / r2.x);
  r0.w = log2(r0.w);
  r0.w = cb1[3].w * r0.w;
  r0.w = exp2(r0.w);
  r2.xyzw = cb1[2].xyzw + -cb1[1].xyzw;
  r2.xyzw = r0.wwww * r2.xyzw + cb1[1].xyzw;
  r3.xyzw = r2.xyzw + -r1.xyzw;
  r3.xyzw = r2.wwww * r3.xyzw + r1.xyzw;
  r3.xyzw = v2.xyzw * r3.xyzw;
  r0.w = r1.w * r1.x + -r1.w;
  r0.w = cb1[4].w * r0.w + r1.w;
  r1.x = max(0.5, cb1[4].y);
  r1.x = -0.5 + r1.x;
  r1.y = r1.x + r1.x;
  r1.z = cb1[4].y + cb1[4].y;
  r1.z = min(1, r1.z);
  r1.w = saturate(0.5 * cb1[4].z);
  r2.x = -r1.x * 2 + r1.z;
  r1.y = r1.w * r2.x + r1.y;
  r1.x = r1.x * 2 + -r1.z;
  r1.x = r1.w * r1.x + r1.z;
  r0.w = -r1.y + r0.w;
  r1.x = r1.x + -r1.y;
  r0.w = saturate(r0.w / r1.x);
  r0.w = log2(r0.w);
  r0.w = cb1[4].x * r0.w;
  r0.w = exp2(r0.w);
  r0.w = r2.w * r0.w;
  
r0.x += s.x * (r0.z - s.y) * 0.5;  
    
  r0.xy = r0.xy / r0.zz;
  r1.x = cmp(cb0[21].w == 1.000000);
  if (r1.x != 0) {
    r1.x = t0.SampleBias(s0_s, r0.xy, cb0[19].x).x;
    r1.yz = r0.xy * float2(2,2) + float2(-1,-1);
    r2.xyzw = cb0[78].xyzw * -r1.zzzz;
    r2.xyzw = cb0[77].xyzw * r1.yyyy + r2.xyzw;
    r1.xyzw = cb0[79].xyzw * r1.xxxx + r2.xyzw;
    r1.xyzw = cb0[80].xyzw + r1.xyzw;
    r1.xyz = r1.xyz / r1.www;
    r1.y = cb0[62].z * r1.y;
    r1.x = cb0[61].z * r1.x + r1.y;
    r1.x = cb0[63].z * r1.z + r1.x;
    r1.x = cb0[64].z + r1.x;
    r1.x = abs(r1.x);
  } else {
    r0.x = t0.SampleBias(s0_s, r0.xy, cb0[19].x).x;
    r0.x = cb0[20].z * r0.x + cb0[20].w;
    r1.x = 1 / r0.x;
  }
  r0.x = r1.x + -r0.z;
  r0.x = saturate(r0.x / cb1[5].x);
  r0.x = r0.w * r0.x;
  o0.w = r3.w * r0.x;
  o0.xyz = r3.xyz;
  return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.164 on Wed May 14 16:30:46 2025
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION              0   xyzw        0      POS   float
// INTERP                   0   xyzw        1     NONE   float   xy
// INTERP                   1   xyzw        2     NONE   float   xyzw
// INTERP                   2   xyz         3     NONE   float   xyz
// INTERP                   3   xyz         4     NONE   float
// INTERP                   4   xyz         5     NONE   float
//
//
// 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[81], immediateIndexed
dcl_constantbuffer CB1[6], 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_input_ps linear v1.xy
dcl_input_ps linear v2.xyzw
dcl_input_ps linear v3.xyz
dcl_output o0.xyzw
dcl_temps 4
mul r0.xyz, v3.yyyy, cb0[74].xywx
mad r0.xyz, cb0[73].xywx, v3.xxxx, r0.xyzx
mad r0.xyz, cb0[75].xywx, v3.zzzz, r0.xyzx
add r0.xyz, r0.xyzx, cb0[76].xywx
mul r1.xz, r0.xxzx, l(0.500000, 0.000000, 0.500000, 0.000000)
mul r0.x, r0.y, cb0[17].x
mul r1.w, r0.x, l(0.500000)
add r0.xy, r1.zzzz, r1.xwxx
sample_b_indexable(texture2d)(float,float,float,float) r1.xyzw, v1.xyxx, t1.xyzw, s1, cb0[19].x
add r0.w, -r1.x, r1.w
mad r0.w, cb1[3].x, r0.w, r1.x
max r2.x, cb1[3].y, l(0.500000)
add r2.x, r2.x, l(-0.500000)
add r2.y, r2.x, r2.x
add r2.z, cb1[3].y, cb1[3].y
min r2.z, r2.z, l(1.000000)
mul_sat r2.w, cb1[3].z, l(0.500000)
mad r3.x, -r2.x, l(2.000000), r2.z
mad r2.y, r2.w, r3.x, r2.y
mad r2.x, r2.x, l(2.000000), -r2.z
mad r2.x, r2.w, r2.x, r2.z
add r0.w, r0.w, -r2.y
add r2.x, -r2.y, r2.x
div_sat r0.w, r0.w, r2.x
log r0.w, r0.w
mul r0.w, r0.w, cb1[3].w
exp r0.w, r0.w
add r2.xyzw, -cb1[1].xyzw, cb1[2].xyzw
mad r2.xyzw, r0.wwww, r2.xyzw, cb1[1].xyzw
add r3.xyzw, -r1.xyzw, r2.xyzw
mad r3.xyzw, r2.wwww, r3.xyzw, r1.xyzw
mul r3.xyzw, r3.xyzw, v2.xyzw
mad r0.w, r1.w, r1.x, -r1.w
mad r0.w, cb1[4].w, r0.w, r1.w
max r1.x, cb1[4].y, l(0.500000)
add r1.x, r1.x, l(-0.500000)
add r1.y, r1.x, r1.x
add r1.z, cb1[4].y, cb1[4].y
min r1.z, r1.z, l(1.000000)
mul_sat r1.w, cb1[4].z, l(0.500000)
mad r2.x, -r1.x, l(2.000000), r1.z
mad r1.y, r1.w, r2.x, r1.y
mad r1.x, r1.x, l(2.000000), -r1.z
mad r1.x, r1.w, r1.x, r1.z
add r0.w, r0.w, -r1.y
add r1.x, -r1.y, r1.x
div_sat r0.w, r0.w, r1.x
log r0.w, r0.w
mul r0.w, r0.w, cb1[4].x
exp r0.w, r0.w
mul r0.w, r0.w, r2.w
div r0.xy, r0.xyxx, r0.zzzz
eq r1.x, cb0[21].w, l(1.000000)
if_nz r1.x
  sample_b_indexable(texture2d)(float,float,float,float) r1.x, r0.xyxx, t0.xyzw, s0, cb0[19].x
  mad r1.yz, r0.xxyx, l(0.000000, 2.000000, 2.000000, 0.000000), l(0.000000, -1.000000, -1.000000, 0.000000)
  mul r2.xyzw, -r1.zzzz, cb0[78].xyzw
  mad r2.xyzw, cb0[77].xyzw, r1.yyyy, r2.xyzw
  mad r1.xyzw, cb0[79].xyzw, r1.xxxx, r2.xyzw
  add r1.xyzw, r1.xyzw, cb0[80].xyzw
  div r1.xyz, r1.xyzx, r1.wwww
  mul r1.y, r1.y, cb0[62].z
  mad r1.x, cb0[61].z, r1.x, r1.y
  mad r1.x, cb0[63].z, r1.z, r1.x
  add r1.x, r1.x, cb0[64].z
  mov r1.x, |r1.x|
else
  sample_b_indexable(texture2d)(float,float,float,float) r0.x, r0.xyxx, t0.xyzw, s0, cb0[19].x
  mad r0.x, cb0[20].z, r0.x, cb0[20].w
  div r1.x, l(1.000000, 1.000000, 1.000000, 1.000000), r0.x
endif
add r0.x, -r0.z, r1.x
div_sat r0.x, r0.x, cb1[5].x
mul r0.x, r0.x, r0.w
mul o0.w, r0.x, r3.w
mov o0.xyz, r3.xyzx
ret
// Approximately 0 instruction slots used

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