//Light shafts VS.
// ---- Created with 3Dmigoto v1.3.12 on Fri Dec 14 22:19:51 2018
//
//cbuffer _Globals : register(b0)
//{
//  float2 _sp_texel_center : packoffset(c0);
//  float2 _sp_offset : packoffset(c0.z);
//}
//
//
//
//// 3Dmigoto declarations
//#define cmp -
//Texture1D<float4> IniParams : register(t120);
//Texture2D<float4> StereoParams : register(t125);
//
//
//void main(
//  float4 v0 : POSITION0,
//  float2 v1 : TEXCOORD0,
//  out float4 o0 : SV_Position0,
//  out float2 o1 : TEXCOORD0,
//  out float2 p1 : TEXCOORD1,
//  out float2 o2 : TEXCOORD2,
//  out float2 p2 : TEXCOORD3,
//  out float2 o3 : TEXCOORD4,
//  out float2 p3 : TEXCOORD5,
//  out float2 o4 : TEXCOORD6,
//  out float2 p4 : TEXCOORD7,
//  out float2 o5 : TEXCOORD8,
//  out float2 p5 : TEXCOORD9)
//{
//  float4 r0,r10;
//  uint4 bitmask, uiDest;
//  float4 fDest;
//
//  float4 stereo = StereoParams.Load(0);
//  float4 iniparams = IniParams.Load(0);
//  
//  o0.xyzw = v0.xyzw;
//  r0.xy = _sp_texel_center.xy + -v1.xy;
//  r10=r0;
//  r10.x+=stereo.x*0.5;
//  r0.z = dot(r10.xy, r10.xy);
//  r0.z = sqrt(r0.z);
//  r0.z = 1.1920929e-007 + r0.z;
//  r0.z = 1 / r0.z;
//  r0.xy = r0.xy * r0.zz;
//  p1.xy = r0.xy * _sp_offset.xy + v1.xy;
//  r0.xy = _sp_offset.xy * r10.xy;
//  o1.xy = v1.xy;
//  o2.xy = r0.xy * float2(2,2) + v1.xy;
//  p2.xy = r0.xy * float2(3,3) + v1.xy;
//  o3.xy = r0.xy * float2(4,4) + v1.xy;
//  p3.xy = r0.xy * float2(5,5) + v1.xy;
//  o4.xy = r0.xy * float2(6,6) + v1.xy;
//  p4.xy = r0.xy * float2(7,7) + v1.xy;
//  o5.xy = r0.xy * float2(8,8) + v1.xy;
//  p5.xy = r0.xy * float2(9,9) + v1.xy;
//  return;
//}
//
///*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.30.9200.20789
//
//   using 3Dmigoto v1.3.12 on Fri Dec 14 22:19:51 2018
//
//
// Buffer Definitions:
//
// cbuffer $Globals
// {
//
//   float2 _sp_texel_center;           // Offset:    0 Size:     8
//   float2 _sp_offset;                 // Offset:    8 Size:     8
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// $Globals                          cbuffer      NA          NA    0        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// POSITION                 0   xyzw        0     NONE   float   xyzw
// TEXCOORD                 0   xy          1     NONE   float   xy
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position              0   xyzw        0      POS   float   xyzw
// TEXCOORD                 0   xy          1     NONE   float   xy
// TEXCOORD                 1     zw        1     NONE   float     zw
// TEXCOORD                 2   xy          2     NONE   float   xy
// TEXCOORD                 3     zw        2     NONE   float     zw
// TEXCOORD                 4   xy          3     NONE   float   xy
// TEXCOORD                 5     zw        3     NONE   float     zw
// TEXCOORD                 6   xy          4     NONE   float   xy
// TEXCOORD                 7     zw        4     NONE   float     zw
// TEXCOORD                 8   xy          5     NONE   float   xy
// TEXCOORD                 9     zw        5     NONE   float     zw
//
vs_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb0[1], immediateIndexed
dcl_input v0.xyzw
dcl_input v1.xy
dcl_output_siv o0.xyzw, position
dcl_output o1.xy
dcl_output o1.zw
dcl_output o2.xy
dcl_output o2.zw
dcl_output o3.xy
dcl_output o3.zw
dcl_output o4.xy
dcl_output o4.zw
dcl_output o5.xy
dcl_output o5.zw
//dcl_temps 1
dcl_temps 30

// 3DMigoto StereoParams:
dcl_resource_texture2d (float,float,float,float) t125
ld_indexable(texture2d)(float,float,float,float) r25.xyzw, l(0, 0, 0, 0), t125.xyzw

mov o0.xyzw, v0.xyzw
add r0.xy, -v1.xyxx, cb0[0].xyxx

mov r21.xy, r0.xy
mad r21.x, r25.x, l(0.500000), r21.x

dp2 r0.z, r21.xyxx, r21.xyxx
sqrt r0.z, r0.z
add r0.z, r0.z, l(1.192092896E-007)
div r0.z, l(1.000000, 1.000000, 1.000000, 1.000000), r0.z
mul r0.xy, r0.zzzz, r0.xyxx
mad o1.zw, r0.xxxy, cb0[0].zzzw, v1.xxxy
mul r0.xy, r21.xyxx, cb0[0].zwzz
mov o1.xy, v1.xyxx
mad o2.xy, r0.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), v1.xyxx
mad o2.zw, r0.xxxy, l(0.000000, 0.000000, 3.000000, 3.000000), v1.xxxy
mad o3.xy, r0.xyxx, l(4.000000, 4.000000, 0.000000, 0.000000), v1.xyxx
mad o3.zw, r0.xxxy, l(0.000000, 0.000000, 5.000000, 5.000000), v1.xxxy
mad o4.xy, r0.xyxx, l(6.000000, 6.000000, 0.000000, 0.000000), v1.xyxx
mad o4.zw, r0.xxxy, l(0.000000, 0.000000, 7.000000, 7.000000), v1.xxxy
mad o5.xy, r0.xyxx, l(8.000000, 8.000000, 0.000000, 0.000000), v1.xyxx
mad o5.zw, r0.xxxy, l(0.000000, 0.000000, 9.000000, 9.000000), v1.xxxy
ret
// Approximately 19 instruction slots used

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