//KH02 radial blur other PS 1.
// ---- Created with geo-11 v0.6.198 on Sun Apr 12 22:39:25 2026
Texture2D<float4> t2 : register(t2);

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[162];
}

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




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


void main(
  float4 v0 : TEXCOORD0,
  out float4 o0 : SV_Target0)
{
  float4 r0,r1,r2,r3,r10;
  uint4 bitmask, uiDest;
  float4 fDest;
  
  float4 stereo = StereoParams.Load(0);
  r10 = v0;
  r10.x+=stereo.x*0.5;
  
  r0.x = cmp(cb0[18].y != 0.000000);
  if (r0.x != 0) {
    r0.xyzw = cb0[0].zwzw * float4(-0.5,0.5,0.5,-0.5) + r10.xyxy;
    r1.x = t0.SampleLevel(s0_s, r0.xy, 0).w;
    r1.x = 65536 * r1.x;
    r1.x = (int)r1.x;
    r1.x = (int)r1.x & 512;
    r2.xyz = t1.Sample(s1_s, r0.xy).xyz;
    if (r1.x == 0) {
      r2.w = 1;
      r0.x = 1;
    } else {
      r2.xyzw = float4(0,0,0,0);
      r0.x = 0;
    }
    r1.xy = cb0[0].zw * float2(0.5,0.5) + r10.xy;
    r0.y = t0.SampleLevel(s0_s, r1.xy, 0).w;
    r0.y = 65536 * r0.y;
    r0.y = (int)r0.y;
    r0.y = (int)r0.y & 512;
    r1.xyz = t1.Sample(s1_s, r1.xy).xyz;
    if (r0.y == 0) {
      r1.w = 1;
      r2.xyzw = r2.xyzw + r1.xyzw;
      r0.x = 1 + r0.x;
    }
    r0.y = t0.SampleLevel(s0_s, r0.zw, 0).w;
    r0.y = 65536 * r0.y;
    r0.y = (int)r0.y;
    r0.y = (int)r0.y & 512;
    r1.xyz = t1.Sample(s1_s, r0.zw).xyz;
    if (r0.y == 0) {
      r1.w = 1;
      r2.xyzw = r2.xyzw + r1.xyzw;
      r0.x = 1 + r0.x;
    }
    r0.yz = cb0[0].zw * float2(-0.5,-0.5) + r10.xy;
    r0.w = t0.SampleLevel(s0_s, r0.yz, 0).w;
    r0.w = 65536 * r0.w;
    r0.w = (int)r0.w;
    r0.w = (int)r0.w & 512;
    r1.xyz = t1.Sample(s1_s, r0.yz).xyz;
    if (r0.w == 0) {
      r1.w = 1;
      r2.xyzw = r2.xyzw + r1.xyzw;
      r0.x = 1 + r0.x;
    }
    r0.y = cmp(0 < r0.x);
    r1.xyzw = r2.xyzw / r0.xxxx;
    r0.xyzw = r0.yyyy ? r1.xyzw : r2.xyzw;
    o0.w = r0.w;
  } else {
    r1.xyzw = cb0[0].zwzw * float4(-0.5,0.5,0.5,-0.5) + r10.xyxy;
    r2.xyz = t1.Sample(s1_s, r1.xy).xyz;
    r1.xy = cb0[0].zw * float2(0.5,0.5) + r10.xy;
    r3.xyz = t1.Sample(s1_s, r1.xy).xyz;
    r2.xyz = r3.xyz + r2.xyz;
    r1.xyz = t1.Sample(s1_s, r1.zw).xyz;
    r1.xyz = r2.xyz + r1.xyz;
    r2.xy = cb0[0].zw * float2(-0.5,-0.5) + r10.xy;
    r2.xyz = t1.Sample(s1_s, r2.xy).xyz;
    r1.xyz = r2.xyz + r1.xyz;
    r0.xyz = float3(0.25,0.25,0.25) * r1.xyz;
    o0.w = 1;
  }
  r0.w = cmp(0 != cb1[161].x);
  if (r0.w == 0) {
    r0.w = t2.Load(float4(0,0,0,0)).x;
  } else {
    r0.w = cb1[161].y;
  }
  r0.w = cb0[18].x / r0.w;
  r0.xyz = r0.xyz + -r0.www;
  o0.xyz = max(float3(0,0,0), r0.xyz);
  return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.198 on Sun Apr 12 22:39:25 2026
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                 0   xyzw        0     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[19], immediateIndexed
dcl_constantbuffer CB1[162], 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_texture2d (float,float,float,float) t2
dcl_input_ps linear v0.xy
dcl_output o0.xyzw
dcl_temps 4
ne r0.x, cb0[18].y, l(0.000000)
if_nz r0.x
  mad r0.xyzw, cb0[0].zwzw, l(-0.500000, 0.500000, 0.500000, -0.500000), v0.xyxy
  sample_l_indexable(texture2d)(float,float,float,float) r1.x, r0.xyxx, t0.wxyz, s0, l(0.000000)
  mul r1.x, r1.x, l(65536.000000)
  ftoi r1.x, r1.x
  and r1.x, r1.x, l(512)
  sample_indexable(texture2d)(float,float,float,float) r2.xyz, r0.xyxx, t1.xyzw, s1
  if_z r1.x
    mov r2.w, l(1.000000)
    mov r0.x, l(1.000000)
  else
    mov r2.xyzw, l(0,0,0,0)
    mov r0.x, l(0)
  endif
  mad r1.xy, cb0[0].zwzz, l(0.500000, 0.500000, 0.000000, 0.000000), v0.xyxx
  sample_l_indexable(texture2d)(float,float,float,float) r0.y, r1.xyxx, t0.xwyz, s0, l(0.000000)
  mul r0.y, r0.y, l(65536.000000)
  ftoi r0.y, r0.y
  and r0.y, r0.y, l(512)
  sample_indexable(texture2d)(float,float,float,float) r1.xyz, r1.xyxx, t1.xyzw, s1
  if_z r0.y
    mov r1.w, l(1.000000)
    add r2.xyzw, r1.xyzw, r2.xyzw
    add r0.x, r0.x, l(1.000000)
  endif
  sample_l_indexable(texture2d)(float,float,float,float) r0.y, r0.zwzz, t0.xwyz, s0, l(0.000000)
  mul r0.y, r0.y, l(65536.000000)
  ftoi r0.y, r0.y
  and r0.y, r0.y, l(512)
  sample_indexable(texture2d)(float,float,float,float) r1.xyz, r0.zwzz, t1.xyzw, s1
  if_z r0.y
    mov r1.w, l(1.000000)
    add r2.xyzw, r1.xyzw, r2.xyzw
    add r0.x, r0.x, l(1.000000)
  endif
  mad r0.yz, cb0[0].zzwz, l(0.000000, -0.500000, -0.500000, 0.000000), v0.xxyx
  sample_l_indexable(texture2d)(float,float,float,float) r0.w, r0.yzyy, t0.xyzw, s0, l(0.000000)
  mul r0.w, r0.w, l(65536.000000)
  ftoi r0.w, r0.w
  and r0.w, r0.w, l(512)
  sample_indexable(texture2d)(float,float,float,float) r1.xyz, r0.yzyy, t1.xyzw, s1
  if_z r0.w
    mov r1.w, l(1.000000)
    add r2.xyzw, r1.xyzw, r2.xyzw
    add r0.x, r0.x, l(1.000000)
  endif
  lt r0.y, l(0.000000), r0.x
  div r1.xyzw, r2.xyzw, r0.xxxx
  movc r0.xyzw, r0.yyyy, r1.xyzw, r2.xyzw
  mov o0.w, r0.w
else
  mad r1.xyzw, cb0[0].zwzw, l(-0.500000, 0.500000, 0.500000, -0.500000), v0.xyxy
  sample_indexable(texture2d)(float,float,float,float) r2.xyz, r1.xyxx, t1.xyzw, s1
  mad r1.xy, cb0[0].zwzz, l(0.500000, 0.500000, 0.000000, 0.000000), v0.xyxx
  sample_indexable(texture2d)(float,float,float,float) r3.xyz, r1.xyxx, t1.xyzw, s1
  add r2.xyz, r2.xyzx, r3.xyzx
  sample_indexable(texture2d)(float,float,float,float) r1.xyz, r1.zwzz, t1.xyzw, s1
  add r1.xyz, r1.xyzx, r2.xyzx
  mad r2.xy, cb0[0].zwzz, l(-0.500000, -0.500000, 0.000000, 0.000000), v0.xyxx
  sample_indexable(texture2d)(float,float,float,float) r2.xyz, r2.xyxx, t1.xyzw, s1
  add r1.xyz, r1.xyzx, r2.xyzx
  mul r0.xyz, r1.xyzx, l(0.250000, 0.250000, 0.250000, 0.000000)
  mov o0.w, l(1.000000)
endif
ne r0.w, l(0.000000, 0.000000, 0.000000, 0.000000), cb1[161].x
if_z r0.w
  ld_indexable(texture2d)(float,float,float,float) r0.w, l(0, 0, 0, 0), t2.yzwx
else
  mov r0.w, cb1[161].y
endif
div r0.w, cb0[18].x, r0.w
add r0.xyz, -r0.wwww, r0.xyzx
max o0.xyz, r0.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
ret
// Approximately 0 instruction slots used

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