//HUD + MFD
cbuffer _Globals : register(b0)
{
  float4x4 matWorldViewProj : packoffset(c0);
  float4x4 matWorld : packoffset(c4);
  float4x4 matFog : packoffset(c8);
  float4x4 matView : packoffset(c12);
  float4x4 matProj : packoffset(c16);
  float4x4 uLightMat : packoffset(c20);
  float4 uSunDir : packoffset(c24);
  float4 uSunDiffuse : packoffset(c25);
  float4 uSunAmbient : packoffset(c26);
  float4 uSunSpec : packoffset(c27);
  float3 uLightPos : packoffset(c28);
  float3 uLightAmbient : packoffset(c29);
  float3 uLightDiffuse : packoffset(c30);
  float3 uLightATT : packoffset(c31);
  float2 uLightAngles : packoffset(c32);
  float3 uLightDir : packoffset(c33);
  float4 uCameraPos : packoffset(c34);
  float4 vFogConst : packoffset(c35);
  bool TwoSided : packoffset(c36);
  float uOpacity : packoffset(c36.y);
  float uGloss : packoffset(c36.z);
  float uLighted : packoffset(c36.w);
  float4 uMatSpecular : packoffset(c37);
  float4 uMatEmissive : packoffset(c38);
  float4 uMatDiffuse : packoffset(c39);
  float4 uMatAmbient : packoffset(c40);
  float4 BlendColor : packoffset(c41);
  float Power : packoffset(c42);
}

Texture2D<float4> StereoParams : register(t125);
Texture1D<float4> IniParams : register(t120);

void main( 
  float3 v0 : POSITION0,
  float2 v1 : TEXCOORD0,
  out float4 o0 : SV_POSITION0,
  out float2 o1 : TEXCOORD0)
{
  float4 r0;
  uint4 bitmask, uiDest;
  float4 fDest;

  r0.xyz = v0.xyz;
  r0.w = 1;
  o0.x = dot(r0.xyzw, matWorldViewProj._m00_m10_m20_m30);
  o0.y = dot(r0.xyzw, matWorldViewProj._m01_m11_m21_m31);
  o0.z = dot(r0.xyzw, matWorldViewProj._m02_m12_m22_m32);
  o0.w = dot(r0.xyzw, matWorldViewProj._m03_m13_m23_m33);
  o1.xy = v1.xy;
  
  float4 stereo = StereoParams.Load(0);
  float4 iniParams = IniParams.Load(0);
  o0.x += stereo.x * iniParams.y;
  
  return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.30.9200.20789
//
//   using 3Dmigoto v1.2.1 on Sun Oct 04 14:24:51 2015
//
//
// Buffer Definitions: 
//
// cbuffer $Globals
// {
//
//   float4x4 matWorldViewProj;         // Offset:    0 Size:    64
//   float4x4 matWorld;                 // Offset:   64 Size:    64 [unused]
//   float4x4 matFog;                   // Offset:  128 Size:    64 [unused]
//   float4x4 matView;                  // Offset:  192 Size:    64 [unused]
//   float4x4 matProj;                  // Offset:  256 Size:    64 [unused]
//   float4x4 uLightMat;                // Offset:  320 Size:    64 [unused]
//   float4 uSunDir;                    // Offset:  384 Size:    16 [unused]
//   float4 uSunDiffuse;                // Offset:  400 Size:    16 [unused]
//   float4 uSunAmbient;                // Offset:  416 Size:    16 [unused]
//   float4 uSunSpec;                   // Offset:  432 Size:    16 [unused]
//   float3 uLightPos;                  // Offset:  448 Size:    12 [unused]
//   float3 uLightAmbient;              // Offset:  464 Size:    12 [unused]
//   float3 uLightDiffuse;              // Offset:  480 Size:    12 [unused]
//   float3 uLightATT;                  // Offset:  496 Size:    12 [unused]
//   float2 uLightAngles;               // Offset:  512 Size:     8 [unused]
//   float3 uLightDir;                  // Offset:  528 Size:    12 [unused]
//   float4 uCameraPos;                 // Offset:  544 Size:    16 [unused]
//   float4 vFogConst;                  // Offset:  560 Size:    16 [unused]
//   bool TwoSided;                     // Offset:  576 Size:     4 [unused]
//   float uOpacity;                    // Offset:  580 Size:     4 [unused]
//   float uGloss;                      // Offset:  584 Size:     4 [unused]
//   float uLighted;                    // Offset:  588 Size:     4 [unused]
//   float4 uMatSpecular;               // Offset:  592 Size:    16 [unused]
//   float4 uMatEmissive;               // Offset:  608 Size:    16 [unused]
//   float4 uMatDiffuse;                // Offset:  624 Size:    16 [unused]
//   float4 uMatAmbient;                // Offset:  640 Size:    16 [unused]
//   float4 BlendColor;                 // Offset:  656 Size:    16 [unused]
//   float Power;                       // Offset:  672 Size:     4 [unused]
//
// }
//
//
// 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   xyz         0     NONE   float   xyz 
// 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  
//
vs_4_0
dcl_constantbuffer cb0[4], immediateIndexed
dcl_input v0.xyz
dcl_input v1.xy
dcl_output_siv o0.xyzw, position
dcl_output o1.xy
dcl_temps 1
mov r0.xyz, v0.xyzx
mov r0.w, l(1.000000)
dp4 o0.x, r0.xyzw, cb0[0].xyzw
dp4 o0.y, r0.xyzw, cb0[1].xyzw
dp4 o0.z, r0.xyzw, cb0[2].xyzw
dp4 o0.w, r0.xyzw, cb0[3].xyzw
mov o1.xy, v1.xyxx
ret 
// Approximately 8 instruction slots used

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