//shadow reflection personal -- screen depth-----no fix i think
//
// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
//
//   using 3Dmigoto v1.3.11 on Fri Nov 30 18:16:14 2018
//
//
// Buffer Definitions:
//
// cbuffer $Globals
// {
//
//   float4 gFullScreenRenderTargetDimensionsCS;// Offset:    0 Size:    16
//   float4 gSMAAParamsCS;              // Offset:   16 Size:    16 [unused]
//   float4 gDeferredCubemapGroupRanges[9];// Offset:   32 Size:   144 [unused]
//   float4 gGenerateAOFCS;             // Offset:  176 Size:    16 [unused]
//   row_major float4x4 gViewMatrixPostFXCS;// Offset:  192 Size:    64 [unused]
//   row_major float4x4 gProjectionMatrixCS;// Offset:  256 Size:    64 [unused]
//   row_major float4x4 gInverseProjectionMatrixCS;// Offset:  320 Size:    64
//   float4 gScreenParametersCS;        // Offset:  384 Size:    16
//   float4 gScreenSpaceReflectionParamsCS[8];// Offset:  400 Size:   128
//   float4 gMEBloomParamsCS[3];        // Offset:  528 Size:    48 [unused]
//   float4 gDOFParametersCS;           // Offset:  576 Size:    16 [unused]
//   float4 gCoCParamsCS;               // Offset:  592 Size:    16 [unused]
//   float4 gBokehOffsetsCS;            // Offset:  608 Size:    16 [unused]
//
// }
//
// Resource bind info for gSSRFlags
// {
//
//   uint $Element;                     // Offset:    0 Size:     4
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// LinearSampler                     sampler      NA          NA    0        1
// gDepthTexture                     texture   float          2d    0        1
// GBuffer1                          texture   uint4          2d    1        1
// gColorTexture                     texture  float4          2d    2        1
// gSSRFlags                         texture  struct         r/o    3        1
// gOutSurfaceHalf                       UAV  float3          2d    0        1
// gOutLinearDepthHalf                   UAV   float          2d    1        1
// gOutColorHalf                         UAV  float4          2d    2        1
// $Globals                          cbuffer      NA          NA    0        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[26], immediateIndexed
dcl_sampler s0, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texture2d (uint,uint,uint,uint) t1
dcl_resource_texture2d (float,float,float,float) t2
dcl_resource_structured t3, 4
dcl_uav_typed_texture2d (float,float,float,float) u0
dcl_uav_typed_texture2d (float,float,float,float) u1
dcl_uav_typed_texture2d (float,float,float,float) u2
dcl_input vThreadID.xy
dcl_temps 17
//use T80 for stereo parameters - t125 allready used by game
dcl_resource_texture2d (float,float,float,float) t80
dcl_thread_group 16, 16, 1
ftou r0.xy, cb0[24].zwzz
ult r0.xy, r0.xyxx, vThreadID.xyxx
or r0.x, r0.y, r0.x
if_nz r0.x
  ret
endif
ishl r0.xy, vThreadID.xyxx, l(1, 1, 0, 0)
mov r0.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r1.x, r0.xyww, t0.xyzw




mad r1.x, cb0[23].z, r1.x, cb0[23].w




rcp r1.x, r1.x
store_uav_typed u1.xyzw, vThreadID.xyyy, r1.xxxx
ftou r1.x, cb0[0].x
ubfe r1.yz, l(0, 28, 28, 0), l(0, 3, 3, 0), vThreadID.xxyx
bfi r1.w, l(3), l(1), vThreadID.x, l(0)
ubfe r2.x, l(3), l(1), r0.y
iadd r1.x, r1.x, l(15)
ushr r1.x, r1.x, l(4)
imad r1.x, r1.z, r1.x, r1.y
bfi r1.x, l(29), l(3), r1.x, r2.x
ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r1.x, r1.x, l(0), t3.xxxx
ushr r1.x, r1.x, r1.w
and r1.x, r1.x, l(1)
if_nz r1.x
  ld_indexable(texture2d)(uint,uint,uint,uint) r0.x, r0.xyzw, t1.zxyw
  ubfe r0.y, l(7), l(1), r0.x
  utof r0.y, r0.y
  ushr r0.x, r0.x, l(8)
  utof r0.x, r0.x
  mul r1.xy, r0.yxyy, l(0.00787401572, 0.00392156886, 0.000000, 0.000000)
  mov r1.z, l(1.000000)
else
  mov r1.xyz, l(0,0,0,0)
endif
store_uav_typed u0.xyzw, vThreadID.xyyy, r1.xyzx
utof r0.xy, vThreadID.xyxx
add r0.xy, r0.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
div r0.xy, r0.xyxx, cb0[24].zwzz
sample_l_indexable(texture2d)(float,float,float,float) r1.xyz, r0.xyxx, t2.xyzw, s0, l(0.000000)
sample_l_aoffimmi_indexable(0,-1,0)(texture2d)(float,float,float,float) r2.xyz, r0.xyxx, t2.xyzw, s0, l(0.000000)
sample_l_aoffimmi_indexable(1,0,0)(texture2d)(float,float,float,float) r3.xyz, r0.xyxx, t2.xyzw, s0, l(0.000000)
add r2.xyz, r2.xyzx, r3.xyzx
sample_l_aoffimmi_indexable(0,1,0)(texture2d)(float,float,float,float) r3.xyz, r0.xyxx, t2.xyzw, s0, l(0.000000)
add r2.xyz, r2.xyzx, r3.xyzx
sample_l_aoffimmi_indexable(-1,0,0)(texture2d)(float,float,float,float) r0.xyz, r0.xyxx, t2.xyzw, s0, l(0.000000)
add r0.xyz, r0.xyzx, r2.xyzx
mul r1.xyz, r1.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
mad r0.xyz, r0.xyzx, l(0.125000, 0.125000, 0.125000, 0.000000), r1.xyzx
dp3 r0.w, r0.xyzx, l(0.212500, 0.715400, 0.072100, 0.000000)
ge r1.x, cb0[25].y, r0.w
rcp r0.w, r0.w
mul r0.w, r0.w, cb0[25].y
mul r1.yzw, r0.wwww, r0.xxyz
movc r0.xyz, r1.xxxx, r0.xyzx, r1.yzwy
mov r0.w, l(0)
store_uav_typed u2.xyzw, vThreadID.xyyy, r0.xyzw
ret
// Approximately 57 instruction slots used
