//Geometry culling CS 2. Stuck when hunting.
//
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
//
//   using 3Dmigoto v0.6.163 on Thu Aug 21 22:20:40 2025
//
//
// Buffer Definitions:
//
// cbuffer cb_scene
// {
//
//   float4x4 view_g;                   // Index:    0 1 2 3          Components:    16 [unused]
//   float4x4 viewInv_g;                // Index:    4 5 6 7          Components:    16 [unused]
//   float4x4 proj_g;                   // Index:    8 9 10 11        Components:    16 [unused]
//   float4x4 projInv_g;                // Index:   12 13 14 15       Components:    16 [unused]
//   float4x4 viewProj_g;               // Index:   16 17 18 19       Components:    16
//   float4x4 viewProjInv_g;            // Index:   20 21 22 23       Components:    16 [unused]
//   float2 vpSize_g;                   // Index:   24.xy             Components:     2 [unused]
//   float2 invVPSize_g;                // Index:   24.zw             Components:     2 [unused]
//   float3 lightColor_g;               // Index:   25.xyz            Components:     3 [unused]
//   float disableMapObjNearFade_g;     // Index:   25.w              Components:     1 [unused]
//   float3 lightDirection_g;           // Index:   26.xyz            Components:     3 [unused]
//   float gameTime_g;                  // Index:   26.w              Components:     1 [unused]
//   float3 sceneShadowColor_g;         // Index:   27.xyz            Components:     3 [unused]
//   int shadowmapCascadeCount_g;       // Index:   27.w              Components:     1 [unused]
//   float3 windDirection_g;            // Index:   28.xyz            Components:     3 [unused]
//   float sceneTime_g;                 // Index:   28.w              Components:     1 [unused]
//   float2 lightTileSizeInv_g;         // Index:   29.xy             Components:     2 [unused]
//   float fogNearDistance_g;           // Index:   29.z              Components:     1 [unused]
//   float fogFadeRangeInv_g;           // Index:   29.w              Components:     1 [unused]
//   float3 fogColor_g;                 // Index:   30.xyz            Components:     3 [unused]
//   float fogIntensity_g;              // Index:   30.w              Components:     1 [unused]
//   float fogHeight_g;                 // Index:   31.x              Components:     1 [unused]
//   float fogHeightRangeInv_g;         // Index:   31.y              Components:     1 [unused]
//   float windWaveTime_g;              // Index:   31.z              Components:     1 [unused]
//   float windWaveFrequency_g;         // Index:   31.w              Components:     1 [unused]
//   uint localLightProbeCount_g;       // Index:   32.x              Components:     1 [unused]
//   float lightSpecularGlossiness_g;   // Index:   32.y              Components:     1 [unused]
//   float lightSpecularIntensity_g;    // Index:   32.z              Components:     1 [unused]
//   float localShadowResolutionInv_g;  // Index:   32.w              Components:     1 [unused]
//   float4x4 ditherMtx_g;              // Index:   33 34 35 36       Components:    16 [unused]
//   float4 lightProbe_g[9];            // Index:   37-45             Components:    36 [unused]
//   float3 chrLightDir_g;              // Index:   46.xyz            Components:     3 [unused]
//   float windForce_g;                 // Index:   46.w              Components:     1 [unused]
//   float4 mapColor_g;                 // Index:   47.xyzw           Components:     4 [unused]
//   float4 clipPlane_g;                // Index:   48.xyzw           Components:     4 [unused]
//   float2 resolutionScaling_g;        // Index:   49.xy             Components:     2 [unused]
//   float2 invShadowSize_g;            // Index:   49.zw             Components:     2 [unused]
//   float3 chrShadowColor_g;           // Index:   50.xyz            Components:     3 [unused]
//   float shadowFadeNear_g;            // Index:   50.w              Components:     1 [unused]
//   float4 frustumPlanes_g[6];         // Index:   51-56             Components:    24 [unused]
//   float3 shadowSplitDistance_g;      // Index:   57.xyz            Components:     3 [unused]
//   float shadowFadeRangeInv_g;        // Index:   57.w              Components:     1 [unused]
//   float4x4 shadowMtx_g[4];           // Index:   58-73             Components:    64 [unused]
//
// }
//
// cbuffer cb_occlusion_query
// {
//
//   uint query_count_g;                // Index:    0.x              Components:     1
//   int hiz_mip_max_level_g;           // Index:    0.y              Components:     1
//   int2 hiz_resolution_g;             // Index:    0.zw             Components:     2
//
// }
//
// Resource bind info for aabb_array_g
// {
//
//   struct AABB
//   {
//
//       float4 aabb_min;               // Index:    0
//       float4 aabb_max;               // Index:    1
//
//   } $Element;                        // Index:    0 1              Components:     8
//
// }
//
// Resource bind info for result_g
// {
//
//   uint $Element;                     // Index:    0.x              Components:     1
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// aabb_array_g                      texture  struct         r/o    1        1
// hiz_texture                       texture  float4          2d    2        1
// result_g                              UAV  struct         r/w    0        1
// cb_scene                          cbuffer      NA          NA    0        1
// cb_occlusion_query                cbuffer      NA          NA    2        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// no Input
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// no Output
cs_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB0[20], immediateIndexed
dcl_constantbuffer CB2[1], immediateIndexed
dcl_resource_structured t1, 32
dcl_resource_texture2d (float,float,float,float) t2
dcl_uav_structured u0, 4
dcl_input vThreadID.x
dcl_temps 35
dcl_resource_texture2d (float,float,float,float) t125
dcl_thread_group 64, 1, 1
ld_indexable(texture2d)(float,float,float,float) r25.xyzw, l(0, 0, 0, 0), t125.xyzw
uge r0.x, vThreadID.x, cb2[0].x
if_nz r0.x
  ret
endif
ld_structured_indexable(structured_buffer, stride=32)(mixed,mixed,mixed,mixed) r0.xyz, vThreadID.x, l(0), t1.xyzx
ld_structured_indexable(structured_buffer, stride=32)(mixed,mixed,mixed,mixed) r1.xyz, vThreadID.x, l(16), t1.xyzx
mov r0.w, l(1.000000)
dp4 r2.x, r0.xyzw, cb0[16].xyzw
dp4 r2.y, r0.xyzw, cb0[17].xyzw
dp4 r2.z, r0.xyzw, cb0[18].xyzw
dp4 r3.z, r0.xyzw, cb0[19].xyzw

add r26.x, r3.z, -r25.y
mad r2.x, r25.x, r26.x, r2.x

div r2.xyz, r2.xyzx, r3.zzzz
mad r3.xy, r2.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
add r3.w, -r3.y, l(1.000000)
min r4.xyz, r3.xwzx, l(340282346638528859811704183484516925440.000000, 340282346638528859811704183484516925440.000000, 340282346638528859811704183484516925440.000000, 0.000000)
mov r2.xyw, r3.xwxz
max r2.xyzw, r2.xyzw, l(-340282346638528859811704183484516925440.000000, -340282346638528859811704183484516925440.000000, -340282346638528859811704183484516925440.000000, -340282346638528859811704183484516925440.000000)
mov r3.xyw, r0.xyxw
mov r3.z, r1.z
dp4 r5.x, r3.xyzw, cb0[16].xyzw
dp4 r5.y, r3.xyzw, cb0[17].xyzw
dp4 r5.z, r3.xyzw, cb0[18].xyzw
dp4 r6.z, r3.xyzw, cb0[19].xyzw

add r26.x, r6.z, -r25.y
mad r5.x, r25.x, r26.x, r5.x

div r5.xyz, r5.xyzx, r6.zzzz
mad r6.xy, r5.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
add r6.w, -r6.y, l(1.000000)
min r4.xyz, r4.xyzx, r6.xwzx
mov r5.xyw, r6.xwxz
max r2.xyzw, r2.xyzw, r5.xyzw
mov r5.xzw, r0.xxzw
mov r5.y, r1.y
dp4 r6.x, r5.xyzw, cb0[16].xyzw
dp4 r6.y, r5.xyzw, cb0[17].xyzw
dp4 r6.z, r5.xyzw, cb0[18].xyzw
dp4 r7.z, r5.xyzw, cb0[19].xyzw

add r26.x, r7.z, -r25.y
mad r6.x, r25.x, r26.x, r6.x

div r6.xyz, r6.xyzx, r7.zzzz
mad r7.xy, r6.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
add r7.w, -r7.y, l(1.000000)
min r1.yzw, r4.xxyz, r7.xxwz
mov r6.xyw, r7.xwxz
max r2.xyzw, r2.xyzw, r6.xyzw
mov r3.xyw, r5.xyxw
dp4 r4.x, r3.xyzw, cb0[16].xyzw
dp4 r4.y, r3.xyzw, cb0[17].xyzw
dp4 r4.z, r3.xyzw, cb0[18].xyzw
dp4 r5.z, r3.xyzw, cb0[19].xyzw

add r26.x, r5.z, -r25.y
mad r4.x, r25.x, r26.x, r4.x

div r4.xyz, r4.xyzx, r5.zzzz
mad r5.xy, r4.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
add r5.w, -r5.y, l(1.000000)
min r1.yzw, r1.yyzw, r5.xxwz
mov r4.xyw, r5.xwxz
max r2.xyzw, r2.xyzw, r4.xyzw
mov r0.x, r1.x
dp4 r4.x, r0.xyzw, cb0[16].xyzw
dp4 r4.y, r0.xyzw, cb0[17].xyzw
dp4 r4.z, r0.xyzw, cb0[18].xyzw
dp4 r5.z, r0.xyzw, cb0[19].xyzw

add r26.x, r5.z, -r25.y
mad r4.x, r25.x, r26.x, r4.x

div r4.xyz, r4.xyzx, r5.zzzz
mad r5.xy, r4.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
add r5.w, -r5.y, l(1.000000)
min r1.xyz, r1.yzwy, r5.xwzx
mov r4.xyw, r5.xwxz
max r2.xyzw, r2.xyzw, r4.xyzw
mov r4.xyw, r0.xyxw
mov r4.z, r3.z
dp4 r5.x, r4.xyzw, cb0[16].xyzw
dp4 r5.y, r4.xyzw, cb0[17].xyzw
dp4 r5.z, r4.xyzw, cb0[18].xyzw
dp4 r6.z, r4.xyzw, cb0[19].xyzw

add r26.x, r6.z, -r25.y
mad r5.x, r25.x, r26.x, r5.x

div r5.xyz, r5.xyzx, r6.zzzz
mad r6.xy, r5.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
add r6.w, -r6.y, l(1.000000)
min r1.xyz, r1.xyzx, r6.xwzx
mov r5.xyw, r6.xwxz
max r2.xyzw, r2.xyzw, r5.xyzw
mov r3.xzw, r0.xxzw
dp4 r0.x, r3.xyzw, cb0[16].xyzw
dp4 r0.y, r3.xyzw, cb0[17].xyzw
dp4 r0.z, r3.xyzw, cb0[18].xyzw
dp4 r5.z, r3.xyzw, cb0[19].xyzw

add r26.x, r5.z, -r25.y
mad r0.x, r25.x, r26.x, r0.x

div r0.xyz, r0.xyzx, r5.zzzz
mad r5.xy, r0.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
add r5.w, -r5.y, l(1.000000)
min r1.xyz, r1.xyzx, r5.xwzx
mov r0.xyw, r5.xwxz
max r0.xyzw, r0.xyzw, r2.xyzw
mov r4.xyw, r3.xyxw
dp4 r2.x, r4.xyzw, cb0[16].xyzw
dp4 r2.y, r4.xyzw, cb0[17].xyzw
dp4 r2.z, r4.xyzw, cb0[18].xyzw
dp4 r3.z, r4.xyzw, cb0[19].xyzw

add r26.x, r3.z, -r25.y
mad r2.x, r25.x, r26.x, r2.x

div r2.xyz, r2.xyzx, r3.zzzz
mad r3.xy, r2.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
add r3.w, -r3.y, l(1.000000)
min r1.xyz, r1.xyzx, r3.xwzx
mov r2.xyw, r3.xwxz
max r0.xyzw, r0.xyzw, r2.xyzw
lt r2.x, r1.z, l(0.000000)
lt r0.w, r0.w, l(0.000000)
or r0.w, r0.w, r2.x
if_z r0.w
  itof r2.xyzw, cb2[0].zwzw
  mov r1.zw, r0.xxxy
  mul r0.xy, r2.xyxx, r1.xyxx
  mad r0.xy, r1.zwzz, r2.zwzz, -r0.xyxx
  max r0.x, r0.y, r0.x
  mul r0.x, r0.x, l(0.500000)
  max r0.x, r0.x, l(1.000000)
  log r0.x, r0.x
  round_pi r0.x, r0.x
  ftoi r0.x, r0.x
  imax r0.x, r0.x, l(0)
  imin r2.zw, r0.xxxx, cb2[0].yyyy
  ishr r3.xyzw, cb2[0].zwzw, r2.wwww
  itof r4.xyzw, r3.zwzw
  mul r1.xyzw, r1.xyzw, r4.xyzw
  round_ni r1.xyzw, r1.xyzw
  iadd r3.xyzw, r3.xyzw, l(-1, -1, -1, -1)
  itof r3.xyzw, r3.xyzw
  max r1.xyzw, r1.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
  min r1.xyzw, r3.xyzw, r1.xyzw
  ftoi r0.xy, r1.xyxx
  mov r2.x, r0.x
  mov r0.w, l(0)
  loop
    itof r1.x, r2.x
    lt r1.x, r1.z, r1.x
    mov r0.w, l(0)
    breakc_nz r1.x
    mov r2.y, r0.y
    mov r1.x, l(0)
    loop
      itof r1.y, r2.y
      lt r1.y, r1.w, r1.y
      mov r1.x, l(0)
      breakc_nz r1.y
      ld_indexable(texture2d)(float,float,float,float) r1.y, r2.xyzw, t2.yxzw
      ge r1.y, r0.z, r1.y
      if_nz r1.y
        mov r1.x, l(-1)
        break
      endif
      iadd r2.y, r2.y, l(1)
      mov r1.x, r1.y
    endloop
    mov r0.w, r1.x
    breakc_nz r1.x
    iadd r2.x, r2.x, l(1)
    mov r0.w, r1.x
  endloop
  not r0.x, r0.w
else
  mov r0.x, l(0)
endif
and r0.x, r0.x, l(1)
store_structured u0.x, vThreadID.x, l(0), r0.x
ret
// Approximately 157 instruction slots used
