//no fix here
//
// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
//
//   using 3Dmigoto v1.3.11 on Sun Nov 25 08:38:18 2018
//
//
// Buffer Definitions:
//
// cbuffer TiledDeferredCSParams_CB
// {
//
//   struct tTiledDeferredCS
//   {
//
//       row_major float4x4 mMainSceneInvProj;// Offset:    0
//       row_major float4x4 mMainSceneProj;// Offset:   64
//       row_major float4x4 mMainSceneView;// Offset:  128
//       row_major float4x4 mMainSceneInvTransInvView;// Offset:  192
//       row_major float4x4 mMainSceneInvViewProjThread;// Offset:  256
//       row_major float4x4 mMainSceneViewProj;// Offset:  320
//       float4 mScreenResClipDistances;// Offset:  384
//       float4 mAOStrengthParams;      // Offset:  400
//       float4 mCameraPosition;        // Offset:  416
//       float4 mCameraParameters[2];   // Offset:  432
//       float4 mAnisoParams;           // Offset:  464
//       float4 mLightShadowParams;     // Offset:  480
//       float4 mShadowMapTexelSize;    // Offset:  496
//       float4 mViewportInfo;          // Offset:  512
//       float4 mClusteredLightingParams[4];// Offset:  528
//       float4 mRimLightParams[2];     // Offset:  592
//       float4 mTranslucencyLightingDebugParams;// Offset:  624
//       float4 mLightComponentToggler[4];// Offset:  640
//       float4 mLightingExperiment[3]; // Offset:  704
//       float4 mLightingModelTestParams[5];// Offset:  752
//       float2 mDirectLightingExtraParams;// Offset:  832
//       float2 mFullScreenRenderTargetDimensions;// Offset:  840
//       float mEyeLightWrapPercent;    // Offset:  848
//       int mEnableSssOnPointLights;   // Offset:  852
//       int mEnableTranslucencyLighting;// Offset:  856
//       int mDebugMaxLightListEntries; // Offset:  860
//
//   } TiledDeferredCSParams;           // Offset:    0 Size:   864
//
// }
//
// Resource bind info for ClusterGridLightCounts
// {
//
//   uint $Element;                     // Offset:    0 Size:     4
//
// }
//
// Resource bind info for ClusterLightIdsPerTile
// {
//
//   uint $Element;                     // Offset:    0 Size:     4
//
// }
//
// Resource bind info for ClusterLightCountsPerTile
// {
//
//   uint $Element;                     // Offset:    0 Size:     4
//
// }
//
// Resource bind info for ClusterGridOffsets
// {
//
//   uint $Element;                     // Offset:    0 Size:     4
//
// }
//
// Resource bind info for ClusterLightList
// {
//
//   uint $Element;                     // Offset:    0 Size:     4
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// ClusterGridLightCounts            texture  struct         r/o    0        1
// ClusterLightIdsPerTile            texture  struct         r/o    1        1
// ClusterLightCountsPerTile         texture  struct         r/o    2        1
// ClusterGridOffsets                texture  struct         r/o    3        1
// ClusterLightList                      UAV  struct         r/w    0        1
// TiledDeferredCSParams_CB          cbuffer      NA          NA    1        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 cb1[36], immediateIndexed
dcl_resource_structured t0, 4
dcl_resource_structured t1, 4
dcl_resource_structured t2, 4
dcl_resource_structured t3, 4
dcl_uav_structured u0, 4
dcl_input vThreadID.xyz
dcl_temps 4
dcl_thread_group 8, 8, 4
and r0.x, vThreadID.z, l(0x0007fff0)
iadd r0.x, -r0.x, vThreadID.z
ftou r0.yz, cb1[35].xxyx
uge r1.xy, vThreadID.xyxx, r0.yzyy
or r0.w, r1.y, r1.x
uge r1.x, r0.x, l(16)
or r0.w, r0.w, r1.x
if_nz r0.w
  ret
endif
ushr r0.w, vThreadID.z, l(4)
imad r1.x, r0.y, vThreadID.y, vThreadID.x
imul null, r1.y, r0.y, r0.w
imul null, r1.z, r0.z, r1.y
ishl r1.zw, r1.zzzz, l(0, 0, 4, 7)
imad r1.y, r1.y, r0.z, r1.x
ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r1.y, r1.y, l(0), t2.xxxx
umin r1.y, r1.y, l(128)
imad r2.x, r0.z, r0.x, vThreadID.y
imad r2.x, r0.y, r2.x, vThreadID.x
iadd r1.z, r1.z, r2.x
ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r1.z, r1.z, l(0), t0.xxxx
ishl r1.x, r1.x, l(7)
ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.y, r2.x, l(0), t3.xxxx
imul null, r0.y, r0.z, r0.y
ishl r0.z, r0.y, l(4)
ult r3.xyzw, l(0, 1, 2, 3), r0.wwww
ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r0.w, r2.x, l(0), t0.xxxx
and r0.w, r0.w, r3.x
iadd r0.w, r0.w, r2.y
iadd r2.y, r2.x, r0.z
ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.y, r2.y, l(0), t0.xxxx
and r2.y, r2.y, r3.y
ishl r0.z, r0.z, l(1)
iadd r0.zw, r0.zzzw, r2.xxxy
ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r0.z, r0.z, l(0), t0.xxxx
and r0.z, r0.z, r3.z
iadd r0.z, r0.z, r0.w
imad r0.y, r0.y, l(48), r2.x
ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r0.y, r0.y, l(0), t0.xxxx
and r0.y, r0.y, r3.w
iadd r0.y, r0.y, r0.z
iadd r0.z, r1.x, r1.w
mov r1.xw, l(0,0,0,0)
loop
  ult r0.w, r1.w, r1.y
  ult r2.x, r1.x, r1.z
  and r0.w, r0.w, r2.x
  breakc_z r0.w
  iadd r0.w, r0.z, r1.w
  ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r0.w, r0.w, l(0), t1.xxxx
  ubfe r2.x, l(8), l(16), r0.w
  ushr r2.y, r0.w, l(24)
  uge r2.x, r0.x, r2.x
  uge r2.y, r2.y, r0.x
  and r2.x, r2.y, r2.x
  if_nz r2.x
    and r0.w, r0.w, l(0x0000ffff)
    iadd r2.x, r0.y, r1.x
    store_structured u0.x, r2.x, l(0), r0.w
    iadd r1.x, r1.x, l(1)
  endif
  iadd r1.w, r1.w, l(1)
endloop
ret
// Approximately 65 instruction slots used
