//
// 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 [unused]
//   float4x4 g_mView;                  // Offset: 1280 Size:    64 [unused]
//   float4 g_vCamSettings;             // Offset: 1344 Size:    16
//   float DEPTH_SCALE;                 // Offset: 1360 Size:     4
//      = 0x4727c5ac 
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// DepthSampler                      sampler      NA          NA    0        1
// DepthSampler                      texture  float4          2d    0        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[86], immediateIndexed
dcl_sampler s0, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_input_ps linear v1.xy
dcl_output o0.xy
dcl_temps 5
ftoi r0.x, cb0[74].z
mul r0.yz, v1.yyxy, cb0[74].yyxy
round_z r0.yz, r0.yyzy
mul r1.xy, cb0[84].yxyy, l(0.500000, 0.500000, 0.000000, 0.000000)
mad r0.yz, r0.yyzy, cb0[84].wwzw, r1.xxyx
mov r0.w, l(0)
mov r1.xyz, l(0,65000.000000,0,0)
mov r1.w, r0.y
loop 
  ige r2.x, r0.w, r0.x
  breakc_nz r2.x
  mov r2.y, r1.w
  mov r2.z, l(0)
  mov r2.w, r1.x
  mov r3.xy, r1.yzyy
  mov r3.z, r0.z
  loop 
    ige r3.w, r2.z, r0.x
    breakc_nz r3.w
    mov r2.x, r3.z
    sample_d r4.xyzw, r2.xyxx, t0.xyzw, s0, l(0.000000, 0.000000, 0.000000, 0.000000), l(0.000000, 0.000000, 0.000000, 0.000000)
    min r3.x, r3.x, r4.x
    max r3.y, r3.y, r4.x
    lt r2.x, r4.x, l(50000.000000)
    if_nz r2.x
      max r2.x, r4.x, l(0.000000)
      mul r2.x, r2.x, l(0.000020)
      log r2.x, r2.x
      mul r2.x, r2.x, l(1.500000)
      exp r2.x, r2.x
      mul r2.x, r2.x, cb0[85].x
      mul r4.x, r2.x, l(50000.000000)
      ftou r2.x, r4.x
      umax r2.x, r2.x, l(1)
      utof r2.x, r2.x
      log r2.x, r2.x
      max r2.x, r2.x, l(0.000000)
      min r2.x, r2.x, l(30.000000)
      ftou r2.x, r2.x
      ishl r2.x, l(1), r2.x
      or r2.w, r2.x, r2.w
    endif 
    add r3.z, r3.z, cb0[84].x
    iadd r2.z, r2.z, l(1)
  endloop 
  mov r1.x, r2.w
  mov r1.yz, r3.xxyx
  add r1.w, r1.w, cb0[84].y
  iadd r0.w, r0.w, l(1)
endloop 
mov o0.y, r1.x
min r0.x, r1.y, l(50000.000000)
lt r0.y, l(0.000000), r0.x
log r0.z, r0.x
mul r0.z, r0.z, l(0.301030)
and r0.y, r0.z, r0.y
ftoi r0.z, r0.y
lt r0.y, l(0.000000), r0.y
if_nz r0.y
  iadd r0.z, r0.z, l(1)
endif 
itof r0.y, r0.z
mul r0.y, r0.y, l(3.321928)
exp r0.y, r0.y
div r0.x, r0.x, r0.y
mad r0.x, r0.x, l(4095.000000), l(0.500000)
ftou r0.x, r0.x
and r0.x, r0.x, l(4095)
ishl r0.y, r0.z, l(12)
iadd r0.x, r0.x, r0.y
lt r0.y, l(0.000000), r1.z
log r0.z, r1.z
mul r0.z, r0.z, l(0.301030)
and r0.y, r0.z, r0.y
ftoi r0.z, r0.y
lt r0.y, l(0.000000), r0.y
if_nz r0.y
  iadd r0.z, r0.z, l(1)
endif 
itof r0.y, r0.z
mul r0.y, r0.y, l(3.321928)
exp r0.y, r0.y
div r0.y, r1.z, r0.y
mad r0.y, r0.y, l(4095.000000), l(0.500000)
ftou r0.y, r0.y
and r0.xy, r0.xyxx, l(0x0000ffff, 4095, 0, 0)
ishl r0.z, r0.z, l(12)
iadd r0.y, r0.y, r0.z
ishl r0.y, r0.y, l(16)
iadd o0.x, r0.x, r0.y
ret 
// Approximately 91 instruction slots used
