// ---- Created with 3Dmigoto v1.2.35 on Tue Apr 26 22:30:27 2016

cbuffer CBDofParam : register(b0)
{
  float4 g_vDepthComputeParam : packoffset(c0);
  float4 g_vNearFarParam : packoffset(c1);
  float4 g_vScreenSize : packoffset(c2);
  float4 g_vLensParam : packoffset(c3);
  float4 g_vNoBlurDist : packoffset(c4);
  float4 g_vVelomapParam : packoffset(c5);
  float4 g_vClipCoC : packoffset(c6);
  float4 g_vSampleScale : packoffset(c7);
  float4 g_vDebugMode : packoffset(c8);
}

SamplerState SS_ClampLinear_s : register(s3);
Texture2D<float4> g_SourceTex : register(t0);
Texture2D<float4> g_VelocityTex : register(t4);


// 3Dmigoto declarations
#define cmp -
Texture1D<float4> IniParams : register(t120);
Texture2D<float4> StereoParams : register(t125);


void main( 
  float4 v0 : SV_Position0,
  float2 v1 : TEXCOORD0,
  out float4 o0 : SV_Target0)
{
  float4 r0,r1,r2,r3;
  uint4 bitmask, uiDest;
  float4 fDest;

  r0.xyz = g_SourceTex.Sample(SS_ClampLinear_s, v1.xy).xyz;
  r1.xy = g_VelocityTex.Sample(SS_ClampLinear_s, v1.xy).xy;
  r1.xy = r1.xy * float2(0.400000006,0.400000006) + float2(-0.199215695,-0.199215695);
  r1.xy = g_vVelomapParam.xy * r1.xy;
  r1.zw = r1.xy * float2(0.200000003,0.200000003) + v1.xy;
  r2.xyz = g_SourceTex.Sample(SS_ClampLinear_s, r1.zw).xyz;
  r1.zw = r1.xy * float2(0.200000003,0.200000003) + r1.zw;
  r0.xyz = r2.xyz + r0.xyz;
  r2.xyz = g_SourceTex.Sample(SS_ClampLinear_s, r1.zw).xyz;
  r1.zw = r1.xy * float2(0.200000003,0.200000003) + r1.zw;
  r0.xyz = r2.xyz + r0.xyz;
  r2.xyz = g_SourceTex.Sample(SS_ClampLinear_s, r1.zw).xyz;
  r1.zw = r1.xy * float2(0.200000003,0.200000003) + r1.zw;
  r1.xy = r1.xy * float2(0.200000003,0.200000003) + r1.zw;
  r3.xyz = g_SourceTex.Sample(SS_ClampLinear_s, r1.zw).xyz;
  r1.xyz = g_SourceTex.Sample(SS_ClampLinear_s, r1.xy).xyz;
  r0.xyz = r2.xyz + r0.xyz;
  r0.xyz = r0.xyz + r3.xyz;
  r0.xyz = r0.xyz + r1.xyz;
  o0.xyz = float3(0.166666672,0.166666672,0.166666672) * r0.xyz;
  o0.w = 1;
  return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Original ASM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.30.9200.20546
//
//
// Buffer Definitions: 
//
// cbuffer CBDofParam
// {
//
//   float4 g_vDepthComputeParam;       // Offset:    0 Size:    16 [unused]
//   float4 g_vNearFarParam;            // Offset:   16 Size:    16 [unused]
//   float4 g_vScreenSize;              // Offset:   32 Size:    16 [unused]
//   float4 g_vLensParam;               // Offset:   48 Size:    16 [unused]
//   float4 g_vNoBlurDist;              // Offset:   64 Size:    16 [unused]
//   float4 g_vVelomapParam;            // Offset:   80 Size:    16
//   float4 g_vClipCoC;                 // Offset:   96 Size:    16 [unused]
//   float4 g_vSampleScale;             // Offset:  112 Size:    16 [unused]
//   float4 g_vDebugMode;               // Offset:  128 Size:    16 [unused]
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// SS_ClampLinear                    sampler      NA          NA    3        1
// g_SourceTex                       texture  float4          2d    0        1
// g_VelocityTex                     texture  float4          2d    4        1
// CBDofParam                        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   xyzw        0   TARGET   float   xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb0[6], immediateIndexed
dcl_sampler s3, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texture2d (float,float,float,float) t4
dcl_input_ps linear v1.xy
dcl_output o0.xyzw
dcl_temps 4
sample_indexable(texture2d)(float,float,float,float) r0.xyz, v1.xyxx, t0.xyzw, s3
sample_indexable(texture2d)(float,float,float,float) r1.xy, v1.xyxx, t4.xyzw, s3
mad r1.xy, r1.xyxx, l(0.400000, 0.400000, 0.000000, 0.000000), l(-0.199216, -0.199216, 0.000000, 0.000000)
mul r1.xy, r1.xyxx, cb0[5].xyxx
mad r1.zw, r1.xxxy, l(0.000000, 0.000000, 0.200000, 0.200000), v1.xxxy
sample_indexable(texture2d)(float,float,float,float) r2.xyz, r1.zwzz, t0.xyzw, s3
mad r1.zw, r1.xxxy, l(0.000000, 0.000000, 0.200000, 0.200000), r1.zzzw
add r0.xyz, r0.xyzx, r2.xyzx
sample_indexable(texture2d)(float,float,float,float) r2.xyz, r1.zwzz, t0.xyzw, s3
mad r1.zw, r1.xxxy, l(0.000000, 0.000000, 0.200000, 0.200000), r1.zzzw
add r0.xyz, r0.xyzx, r2.xyzx
sample_indexable(texture2d)(float,float,float,float) r2.xyz, r1.zwzz, t0.xyzw, s3
mad r1.zw, r1.xxxy, l(0.000000, 0.000000, 0.200000, 0.200000), r1.zzzw
mad r1.xy, r1.xyxx, l(0.200000, 0.200000, 0.000000, 0.000000), r1.zwzz
sample_indexable(texture2d)(float,float,float,float) r3.xyz, r1.zwzz, t0.xyzw, s3
sample_indexable(texture2d)(float,float,float,float) r1.xyz, r1.xyxx, t0.xyzw, s3
add r0.xyz, r0.xyzx, r2.xyzx
add r0.xyz, r3.xyzx, r0.xyzx
add r0.xyz, r1.xyzx, r0.xyzx
mul o0.xyz, r0.xyzx, l(0.166667, 0.166667, 0.166667, 0.000000)
mov o0.w, l(1.000000)
ret 
// Approximately 22 instruction slots used

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
