//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
//   using 3Dmigoto v1.2.67 on Mon Jan 01 13:11:46 2018
//
//
// Buffer Definitions: 
//
// cbuffer $Globals
// {
//
//   float4 specColor;                  // Offset:    0 Size:    16 [unused]
//   float4 ControlData;                // Offset:   16 Size:    16 [unused]
//   float4 difColor;                   // Offset:   32 Size:    16 [unused]
//   float4 ambient;                    // Offset:   48 Size:    16 [unused]
//   float4 g_vDefLightDir;             // Offset:   64 Size:    16 [unused]
//   float4 g_vDefLightColor;           // Offset:   80 Size:    16 [unused]
//   float4 g_vDefSpecColor;            // Offset:   96 Size:    16 [unused]
//   uint CS_FRONT;                     // Offset:  112 Size:     4 [unused]
//      = 0x00000000 
//   uint CS_RIGHT;                     // Offset:  116 Size:     4 [unused]
//      = 0x00000001 
//   uint CS_BACK;                      // Offset:  120 Size:     4 [unused]
//      = 0x00000002 
//   uint CS_LEFT;                      // Offset:  124 Size:     4 [unused]
//      = 0x00000003 
//   uint CS_TOP;                       // Offset:  128 Size:     4 [unused]
//      = 0x00000004 
//   uint CS_BOTTOM;                    // Offset:  132 Size:     4 [unused]
//      = 0x00000005 
//   float4 g_vAmbientSettings;         // Offset:  144 Size:    16 [unused]
//   float4 g_avLightSrc[64];           // Offset:  160 Size:  1024 [unused]
//   float4 g_vSettings;                // Offset: 1184 Size:    16
//   float4 g_vSettings2;               // Offset: 1200 Size:    16 [unused]
//   float4 g_vLightPos;                // Offset: 1216 Size:    16 [unused]
//   float4 g_vLightColor;              // Offset: 1232 Size:    16 [unused]
//   float4 g_vLightConeDir;            // Offset: 1248 Size:    16 [unused]
//   float4 g_vLightDesc;               // Offset: 1264 Size:    16
//   float4x4 g_mView;                  // Offset: 1280 Size:    64 [unused]
//   float4 g_vCamSettings;             // Offset: 1344 Size:    16 [unused]
//   float DEPTH_SCALE;                 // Offset: 1360 Size:     4 [unused]
//      = 0x4727c5ac 
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// g_tTexVol                         texture   uint2          3d    0        1
// g_tDepthUINT                      texture   uint2          2d    1        1
// g_tOcclusionUINT                  texture   uint2          2d    2        1
// $Globals                          cbuffer      NA          NA    0        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position              0   xyzw        0      POS   float       
// TEXCOORD                 0   xy          1     NONE   float   xy  
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target                0   xy          0   TARGET    uint   xy  
//
ps_4_0
dcl_constantbuffer cb0[80], immediateIndexed
dcl_resource_texture3d (uint,uint,uint,uint) 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 6
min r0.x, cb0[79].x, l(254.000000)
ftoi r0.x, r0.x
mul r0.yz, v1.xxyx, cb0[74].xxyx
ftoi r1.xy, r0.yzyy
lt r0.y, l(-0.500000), cb0[74].z
if_nz r0.y
  ftoi r1.z, cb0[74].z
  mov r1.w, l(0)
  ld r2.xyzw, r1.xyzw, t0.xyzw
  iadd r0.y, r2.x, l(1)
  mov o0.xy, r2.xyxx
else 
  mov o0.xy, l(0,0,0,0)
  mov r0.y, l(0)
  mov r2.y, l(0)
endif 
ige r0.z, r0.y, r0.x
if_nz r0.z
  ret 
endif 
mov r3.xy, r1.xyxx
mov r3.zw, l(0,0,0,0)
ld r3.xyzw, r3.xyzw, t1.xyzw
and r0.z, r3.x, l(4095)
ushr r4.x, r3.x, l(12)
ushr r4.y, r3.x, l(16)
and r1.zw, r4.xxxy, l(0, 0, 15, 4095)
ilt r0.w, l(7), r1.z
if_nz r0.w
  iadd r1.z, r1.z, l(-16)
endif 
utof r0.z, r0.z
itof r0.w, r1.z
mul r0.zw, r0.zzzw, l(0.000000, 0.000000, 0.000244200259, 3.321928)
exp r0.w, r0.w
mul r0.z, r0.w, r0.z
ushr r0.w, r4.y, l(12)
ilt r1.z, l(7), r0.w
if_nz r1.z
  iadd r0.w, r0.w, l(-16)
endif 
utof r1.z, r1.w
mul r1.z, r1.z, l(0.000244200259)
itof r0.w, r0.w
mul r0.w, r0.w, l(3.321928)
exp r0.w, r0.w
mul r0.w, r0.w, r1.z
ftoi r1.zw, cb0[74].xxxy
mov r4.zw, l(0,0,0,0)
mov r2.x, r0.y
loop 
  ige r2.z, r2.x, r0.x
  breakc_nz r2.z
  ishr r2.z, r2.x, l(4)
  and r2.w, r2.x, l(15)
  imad r4.x, r2.w, r1.z, r1.x
  imad r4.y, r2.z, r1.w, r1.y
  ld r5.xyzw, r4.xyzw, t2.xyzw
  ushr r2.z, r5.x, l(12)
  ushr r2.w, r5.x, l(16)
  and r2.z, r2.z, l(15)
  ilt r3.x, l(7), r2.z
  if_nz r3.x
    iadd r2.z, r2.z, l(-16)
  endif 
  ushr r3.x, r2.w, l(12)
  ilt r3.z, l(7), r3.x
  if_nz r3.z
    iadd r3.x, r3.x, l(-16)
  endif 
  and r3.z, r3.y, r5.y
  if_nz r3.z
    and r3.z, r5.x, l(4095)
    utof r3.z, r3.z
    mul r3.z, r3.z, l(0.000244200259)
    itof r2.z, r2.z
    mul r2.z, r2.z, l(3.321928)
    exp r2.z, r2.z
    mul r2.z, r2.z, r3.z
    and r2.w, r2.w, l(4095)
    utof r2.w, r2.w
    mul r2.w, r2.w, l(0.000244200259)
    itof r3.x, r3.x
    mul r3.x, r3.x, l(3.321928)
    exp r3.x, r3.x
    mul r2.w, r2.w, r3.x
    ge r3.x, r2.z, r0.z
    lt r3.z, r2.z, r0.w
    and r3.x, r3.z, r3.x
    ge r2.z, r0.z, r2.z
    lt r2.w, r0.z, r2.w
    and r2.z, r2.w, r2.z
    or r2.z, r2.z, r3.x
    if_nz r2.z
      break 
    endif 
  endif 
  iadd r2.x, r2.x, l(1)
endloop 
ilt r0.x, r2.x, r0.x
if_nz r0.x
  iadd r2.y, r2.y, l(1)
endif 
mov o0.xy, r2.xyxx
ret 
// Approximately 105 instruction slots used
