//Cel shading PS 1.
// ---- Created with 3Dmigoto v0.6.163 on Thu Aug 21 22:32:24 2025
//
//SamplerState samPoint_s : register(s0);
//Texture2D<float4> depthTexture : register(t0);
//Texture2D<uint4> mrtTexture0 : register(t1);
//Texture2D<uint2> mrtTexture2 : register(t2);
//
//
//// SLT declarations
//#define cmp -
//Texture1D<float4> IniParams : register(t120);
//Texture2D<float4> StereoParams : register(t125);
//
//
//void main(
//  float4 v0 : SV_Position0,
//  float4 v1 : TEXCOORD0,
//  out float2 o0 : SV_Target0)
//{
//  float4 r0,r1;
//  uint4 bitmask, uiDest;
//  float4 fDest;
//
//  r0.y = depthTexture.SampleLevel(samPoint_s, v1.xy, 0).x;
//  mrtTexture0.GetDimensions(0, fDest.x, fDest.y, fDest.z);
//  r0.zw = fDest.xy;
//  r0.zw = v1.xy * r0.zw;
//  r1.xy = (int2)r0.zw;
//  r1.zw = float2(0,0);
//  r0.z = mrtTexture0.Load(r1.xyz).w;
//  r0.z = (int)r0.z & 1;
//  if (r0.z != 0) {
//    mrtTexture2.GetDimensions(0, fDest.x, fDest.y, fDest.z);
//    r0.zw = fDest.xy;
//    r0.zw = v1.xy * r0.zw;
//    r1.xy = (int2)r0.zw;
//    r1.zw = float2(0,0);
//    r0.z = mrtTexture2.Load(r1.xyz).y;
//    r0.z = (int)r0.z & 255;
//    r0.z = (uint)r0.z;
//    r0.x = 0.00392156886 * r0.z;
//  } else {
//    r0.x = -100;
//  }
//  o0.xy = r0.yx;
//  return;
//}
//
///*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
//
//   using 3Dmigoto v0.6.163 on Thu Aug 21 22:32:24 2025
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// samPoint                          sampler      NA          NA    0        1
// depthTexture                      texture  float4          2d    0        1
// mrtTexture0                       texture   uint4          2d    1        1
// mrtTexture2                       texture   uint2          2d    2        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position              0   xyzw        0      POS   float
// TEXCOORD                 0   xyzw        1     NONE   float   xy
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target                0   xy          0   TARGET   float   xy
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_sampler s0, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texture2d (uint,uint,uint,uint) t1
dcl_resource_texture2d (uint,uint,uint,uint) t2
dcl_input_ps linear v1.xy
dcl_output o0.xy
dcl_temps 25
dcl_resource_texture1d (float,float,float,float) t120
ld_indexable(texture1d)(float,float,float,float) r10.xyzw, l(10, 0, 0, 0), t120.xyzw

eq r11.x, r10.z, l(1.0)
if_nz r11.x
mov o0.xy, l(0.0)
ret
endif

sample_l_indexable(texture2d)(float,float,float,float) r0.y, v1.xyxx, t0.yxzw, s0, l(0.000000)
resinfo_indexable(texture2d)(uint,uint,uint,uint) r0.zw, l(0), t1.zwxy
mul r0.zw, r0.zzzw, v1.xxxy
ftoi r1.xy, r0.zwzz
mov r1.zw, l(0,0,0,0)
ld_indexable(texture2d)(uint,uint,uint,uint) r0.z, r1.xyzw, t1.xywz
and r0.z, r0.z, l(1)
if_nz r0.z
  resinfo_indexable(texture2d)(uint,uint,uint,uint) r0.zw, l(0), t2.zwxy
  mul r0.zw, r0.zzzw, v1.xxxy
  ftoi r1.xy, r0.zwzz
  mov r1.zw, l(0,0,0,0)
  ld_indexable(texture2d)(uint,uint,uint,uint) r0.z, r1.xyzw, t2.xzyw
  and r0.z, r0.z, l(255)
  utof r0.z, r0.z
  mul r0.x, r0.z, l(0.00392156886)
else
  mov r0.x, l(-100.000000)
endif
mov o0.xy, r0.yxyy
ret
// Approximately 21 instruction slots used
