//
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
//
//   using 3Dmigoto v0.6.181 on Wed Jul 12 17:18:23 2023
//
//
// Buffer Definitions:
//
// cbuffer _
// {
//
//   float4 depth_tex_size;             // Index:    0.xyzw           Components:     4
//   float4 output_tex_size;            // Index:    1.xyzw           Components:     4
//   float4 proj_params;                // Index:    2.xyzw           Components:     4
//   float delta_time_seconds;          // Index:    3.x              Components:     1
//   float blur_strength;               // Index:    3.y              Components:     1
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// sampler_lnc                       sampler      NA          NA    0        1
// sampler_nnc                       sampler      NA          NA    1        1
// input_tex                         texture  float3          2d    0        1
// velocity_tex                      texture  float2          2d    1        1
// tile_velocity_tex                 texture  float2          2d    2        1
// depth_tex                         texture   float          2d    3        1
// output_tex                            UAV  float3          2d    0        1
// _                                 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[4], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texture2d (float,float,float,float) t1
dcl_resource_texture2d (float,float,float,float) t2
dcl_resource_texture2d (float,float,float,float) t3
dcl_uav_typed_texture2d (float,float,float,float) u0
dcl_input vThreadID.xy
dcl_temps 31
dcl_resource_texture2d (float,float,float,float) t125
dcl_thread_group 8, 8, 1
ld_indexable(texture2d)(float,float,float,float) r25.xyzw, l(0, 0, 0, 0), t125.xyzw
ld_indexable(texture2d)(float,float,float,float) r23.xyzw, l(2, 0, 0, 0), t125.xyzw
itof r0.xy, vThreadID.xyxx
add r0.xy, r0.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)

//mad r0.x, r25.x, l(-960.0), r0.x

mul r0.zw, r0.xxxy, cb0[1].zzzw

//mad r0.z, r25.x, l(0.5), r0.z

mul r1.x, cb0[3].x, l(60.000000)
div r1.x, cb0[3].y, r1.x
imul null, r1.y, vThreadID.x, l(17)
ishr r1.z, r1.y, l(6)
xor r1.y, r1.z, r1.y
ishl r1.z, r1.y, l(1)
iadd r1.z, r1.z, vThreadID.y
imul null, r1.z, r1.z, l(65)
ishr r1.w, r1.z, l(2)
xor r2.y, r1.w, r1.z
xor r2.x, r1.y, r2.y
and r1.yz, r2.xxyx, l(0, 31, 31, 0)
iadd r1.yz, r1.yyzy, l(0, -15, -15, 0)
mul r2.zw, r0.zzzw, cb0[0].xxxy
ftoi r2.zw, r2.zzzw
iadd r1.yz, r1.yyzy, r2.zzwz
ftoi r2.zw, cb0[0].xxxy
iadd r2.zw, r2.zzzw, l(0, 0, -1, -1)
imax r1.yz, r1.yyzy, l(0, 0, 0, 0)
imin r1.yz, r2.zzwz, r1.yyzy
xor r2.zw, r1.yyyz, l(0, 0, 16, 16)
imax r1.yz, r1.yyzy, -r1.yyzy
ushr r1.yz, r1.yyzy, l(0, 4, 4, 0)
ineg r3.xy, r1.yzyy
and r2.zw, r2.zzzw, l(0, 0, 0x80000000, 0x80000000)
movc r3.xy, r2.zwzz, r3.xyxx, r1.yzyy
mov r3.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r1.yz, r3.xyzw, t2.zxyw
mul r1.yz, r1.yyzy, cb0[0].xxyx
div r1.yz, r1.yyzy, cb0[0].xxyx

//mad r1.y, r25.x, l(0.25), r1.y

mul r1.yz, r1.yyzy, r1.xxxx

//mad r1.y, r25.x, -r1.x, r1.y

//mad r0.z, r25.x, l(1.0), r0.z

mul r2.zw, r0.zzzw, cb0[1].xxxy
ftoi r2.zw, r2.zzzw
add r3.xy, cb0[1].xyxx, l(-1.000000, -1.000000, 0.000000, 0.000000)
ftoi r3.xy, r3.xyxx
imax r2.zw, r2.zzzw, l(0, 0, 0, 0)
imin r3.xy, r3.xyxx, r2.zwzz
mov r3.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r3.xyz, r3.xyzw, t0.xyzw
dp2 r1.w, r1.yzyy, r1.yzyy
sqrt r1.w, r1.w
lt r1.w, l(0.000000), r1.w
if_nz r1.w
  ishl r1.w, r2.y, l(1)
  xor r1.w, r1.w, r2.x
  and r1.w, r1.w, l(31)
  iadd r1.w, r1.w, l(-15)
  itof r1.w, r1.w
  sample_l_indexable(texture2d)(float,float,float,float) r2.x, r0.zwzz, t3.xyzw, s1, l(0.000000)
  add r2.x, r2.x, -cb0[2].z
  div r2.x, cb0[2].w, r2.x
  sample_l_indexable(texture2d)(float,float,float,float) r0.zw, r0.zwzz, t1.zwxy, s0, l(0.000000)
  
  
  
  mul r0.zw, r0.zzzw, cb0[0].xxxy
  mul r0.zw, r0.zzzw, r1.xxxx
  dp2 r0.z, r0.zwzz, r0.zwzz
  sqrt r4.x, r0.z
  mov r5.zw, l(0,0,0,0)
  mov r6.zw, l(0,0,0,0)
  mov r7.z, l(1.000000)
  mov r8.z, l(0.500000)
  mov r9.z, l(1.000000)
  mov r10.z, l(0.500000)
  mov r11.w, l(1.000000)
  mov r12.w, l(1.000000)
  mov r13.xyzw, l(0,0,0,0)
  mov r0.zw, l(0,0,1.000000,1)
  loop
    ilt r2.y, l(4), r0.w
    breakc_nz r2.y
    itof r2.y, r0.w
    mad r2.y, r1.w, l(0.0333333351), r2.y
    itof r2.z, -r0.w
    mad r2.z, r1.w, l(0.0333333351), r2.z
    mul r2.yz, r2.yyzy, l(0.000000, 0.125000, 0.125000, 0.000000)
    mul r2.yw, r1.yyyz, r2.yyyy
    mad r7.xy, r0.xyxx, cb0[1].zwzz, r2.ywyy
	
	//mad r7.x, r25.x, l(0.5), r7.x
	
    mul r14.xy, r1.yzyy, r2.zzzz
    mad r9.xy, r0.xyxx, cb0[1].zwzz, r14.xyxx
	
	//mad r9.x, r25.x, l(0.5), r9.x
	
    mul r14.zw, r7.xxxy, cb0[0].xxxy
	
	
	
    ftoi r5.xy, r14.zwzz
    mul r14.zw, r9.xxxy, cb0[0].xxxy
    ftoi r6.xy, r14.zwzz
    ld_indexable(texture2d)(float,float,float,float) r2.z, r5.xyww, t3.yzxw
    add r2.z, r2.z, -cb0[2].z
    div r2.z, cb0[2].w, r2.z
    ld_indexable(texture2d)(float,float,float,float) r3.w, r6.xyww, t3.yzwx
    add r3.w, r3.w, -cb0[2].z
    div r3.w, cb0[2].w, r3.w
    ld_indexable(texture2d)(float,float,float,float) r5.xy, r5.xyzw, t1.xyzw
    mul r5.xy, r5.xyxx, cb0[0].xyxx
    mul r5.xy, r1.xxxx, r5.xyxx
    dp2 r4.w, r5.xyxx, r5.xyxx
    sqrt r4.y, r4.w
    ld_indexable(texture2d)(float,float,float,float) r5.xy, r6.xyzw, t1.xyzw
    mul r5.xy, r5.xyxx, cb0[0].xyxx
    mul r5.xy, r1.xxxx, r5.xyxx
    dp2 r4.w, r5.xyxx, r5.xyxx
    sqrt r4.z, r4.w
    mul r2.yw, r2.yyyw, cb0[0].xxxy
    dp2 r2.y, r2.ywyy, r2.ywyy
    sqrt r2.y, r2.y
    add r2.w, -r2.x, r2.z
    mad_sat r5.xy, r2.wwww, l(16.000000, -16.000000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
    add r2.yw, -r2.yyyy, r4.xxxy
    add_sat r2.yw, r2.yyyw, l(0.000000, 1.000000, 0.000000, 1.000000)
    dp2 r2.y, r5.xyxx, r2.ywyy
    mul r5.xy, r14.xyxx, cb0[0].xyxx
    dp2 r2.w, r5.xyxx, r5.xyxx
    sqrt r2.w, r2.w
    add r4.w, -r2.x, r3.w
    mad_sat r5.xy, r4.wwww, l(16.000000, -16.000000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
    add r6.xy, -r2.wwww, r4.xzxx
    add_sat r6.xy, r6.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
    dp2 r2.w, r5.xyxx, r6.xyxx
    lt r2.z, r3.w, r2.z
    lt r3.w, r4.y, r4.z
    and r4.y, r2.z, r3.w
    movc r4.z, r4.y, r2.w, r2.y
    or r2.z, r2.z, r3.w
    or r2.z, r2.z, r4.y
    movc r2.y, r2.z, r2.w, r2.y
    mov_sat r8.xy, r7.xyxx
    eq r2.zw, r7.xxxy, r8.xxxy
    and r2.z, r2.w, r2.z
    mov_sat r10.xy, r9.xyxx
    eq r4.yw, r9.xxxy, r10.xxxy
    and r2.w, r4.w, r4.y
    movc r7.xyw, r2.zzzz, r7.xyxz, r8.xyxz
    movc r8.xyw, r2.wwww, r9.xyxz, r10.xyxz
    mul r2.z, r4.z, r7.w
    mul r2.y, r2.y, r8.w
    add r2.w, r7.w, r8.w
    add r0.z, r0.z, r2.w
    sample_l_indexable(texture2d)(float,float,float,float) r11.xyz, r7.xyxx, t0.xyzw, s0, l(1.000000)
    mad r14.xyzw, r11.xyzw, r2.zzzz, r13.xyzw
    sample_l_indexable(texture2d)(float,float,float,float) r12.xyz, r8.xyxx, t0.xyzw, s0, l(1.000000)
    mad r13.xyzw, r12.xyzw, r2.yyyy, r14.xyzw
    iadd r0.w, r0.w, l(1)
  endloop
  div r0.x, l(1.000000, 1.000000, 1.000000, 1.000000), r0.z
  mul r0.xyzw, r0.xxxx, r13.xyzw
else
  mov r0.xyzw, l(0,0,0,0)
endif
add r0.w, -r0.w, l(1.000000)
mad r0.xyzw, r0.wwww, r3.xyzx, r0.xyzx
store_uav_typed u0.xyzw, vThreadID.xyyy, r0.xyzw
ret
// Approximately 151 instruction slots used
