//light shadow issue not fix here
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
//   using 3Dmigoto v1.3.11 on Sat Aug 11 16:50:59 2018
//
//
// Buffer Definitions:
//
// cbuffer cb_g_VolumeConsts
// {
//
//   struct GIVolumeConstants
//   {
//
//       float4 m_Planes[256];          // Offset:    0
//       int4 m_PlaneDesc[32];          // Offset: 4096
//       float4 m_BlendValue[32];       // Offset: 4608
//       float4 m_ThreadToVSHi;         // Offset: 5120
//       float4 m_ThreadToVS;           // Offset: 5136
//       float4 m_ThreadToIndex;        // Offset: 5152
//       float4 m_TileToScreenScaleBias;// Offset: 5168
//       int m_VolumeCount;             // Offset: 5184
//       float m_InvFadeDistance;       // Offset: 5188
//
//   } g_VolumeConsts;                  // Offset:    0 Size:  5192
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// t_g_ViewDepthSampler              texture   float       2dMS4    0        1
// g_CulledVolumesInput              texture    uint         buf    2        1
// g_VolumeTilesInput                texture   sint2         buf    4        1
// cb_g_VolumeConsts                 cbuffer      NA          NA    5        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position              0   xyzw        0      POS   float   xy
// TEXCOORD                 1   x           1     NONE    uint   x
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target                0   x           0   TARGET    uint   x
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb5[325], dynamicIndexed
dcl_resource_texture2dms(4) (float,float,float,float) t0
dcl_resource_buffer (uint,uint,uint,uint) t2
dcl_resource_buffer (sint,sint,sint,sint) t4
dcl_input_ps_siv linear noperspective v0.xy, position
dcl_input_ps constant v1.x
dcl_output o0.x
dcl_temps 4
ftou r0.xy, v0.xyxx
ld_indexable(buffer)(sint,sint,sint,sint) r1.x, v1.xxxx, t4.yxzw
mov r0.zw, l(0,0,0,0)
ldms_indexable(texture2dms)(float,float,float,float) r0.x, r0.xyzw, t0.xyzw, l(0)
add r0.yz, v0.xxyx, l(0.000000, 0.500000, 0.500000, 0.000000)
mad r0.yz, cb5[321].zzwz, r0.yyzy, cb5[321].xxyx
mul r0.yz, r0.xxxx, r0.yyzy
mov r2.z, -r0.x
mul r2.xy, r0.yzyy, l(1.000000, -1.000000, 0.000000, 0.000000)
mov r2.w, l(1.000000)
mov r0.xy, l(0,0,0,0)
mov r0.z, r1.x
loop
  ilt r0.w, r0.z, l(0)
  breakc_nz r0.w
  ishl r0.w, r0.z, l(2)
  ld_indexable(buffer)(uint,uint,uint,uint) r0.w, r0.wwww, t2.yzwx
  bfi r1.yz, l(0, 30, 30, 0), l(0, 2, 2, 0), r0.zzzz, l(0, 1, 2, 0)
  ld_indexable(buffer)(uint,uint,uint,uint) r1.y, r1.yyyy, t2.yxzw
  ld_indexable(buffer)(uint,uint,uint,uint) r1.z, r1.zzzz, t2.yzxw
  iadd r0.z, r1.z, l(-1)
  mov r1.z, r1.y
  mov r1.w, l(-16.000000)
  loop
    uge r3.x, l(0), r1.z
    breakc_nz r3.x
    firstbit_lo r3.x, r1.z
    ishl r3.y, l(1), r3.x
    not r3.y, r3.y
    and r1.z, r1.z, r3.y
    iadd r3.x, cb5[r0.w + 256].x, r3.x
    dp4 r3.x, r2.xyzw, cb5[r3.x + 0].xyzw
    max r1.w, r1.w, r3.x
  endloop
  lt r1.y, r1.w, l(0.000000)
  if_nz r1.y
    itof r1.y, cb5[r0.w + 256].w
    mul r1.y, r1.y, -r1.w
    min r1.y, r1.y, l(255.000000)
    max r1.y, r1.y, l(0.000000)
    mul r1.y, r1.y, cb5[r0.w + 288].x
    ftou r1.y, r1.y
    iadd r0.w, r0.w, l(1)
    ishl r1.y, r1.y, l(8)
    iadd r0.w, r0.w, r1.y
    ishl r0.w, r0.w, r0.y
    iadd r3.x, r0.x, r0.w
    ilt r0.w, l(0), r0.y
    if_nz r0.w
      mov r0.x, r3.x
      break
    endif
    iadd r3.y, r0.y, l(16)
    mov r0.xy, r3.xyxx
  endif
endloop
mov o0.x, r0.x
ret
