//hud text
cbuffer ShaderConstants : register(b0)
{
  float4x4 TransformMatrix : packoffset(c0);
}

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

void main(
  float4 v0 : POSITION0,
  float4 v1 : GLYPHCOLOR0,
  out float4 o0 : SV_Position0,
  out float4 o1 : COLOR0,
  out float2 o2 : TEXCOORD0)
{
  float4 r0,r10,r11;
  uint4 bitmask, uiDest;
  float4 fDest;

  r0.xyzw = TransformMatrix._m01_m11_m21_m31 * v0.yyyy;
  r0.xyzw = TransformMatrix._m00_m10_m20_m30 * v0.xxxx + r0.xyzw;
  r10.xyzw = TransformMatrix._m03_m13_m23_m33 + r0.xyzw;
r11 = r10;
o0 = r10;

float4 stereo = StereoParams.Load(0);
float4 iniParams = IniParams.Load(0);
o0.x += stereo.x * iniParams.x;

if(o0.y > -0.43)
{
r10.x += stereo.x * iniParams.y;
o0.x = r10.x;
}

if(iniParams.w == 0)
{
r11.x += stereo.x * iniParams.z;
o0.x = r11.x;
}
  o1.xyzw = v1.xyzw;
  o2.xy = v0.zw;
  return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
//
// Buffer Definitions: 
//
// cbuffer ShaderConstants
// {
//
//   float4x4 TransformMatrix;          // Offset:    0 Size:    64
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// ShaderConstants                   cbuffer      NA          NA    0        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// POSITION                 0   xyzw        0     NONE   float   xyzw
// GLYPHCOLOR               0   xyzw        1     NONE   float   xyzw
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position              0   xyzw        0      POS   float   xyzw
// COLOR                    0   xyzw        1     NONE   float   xyzw
// TEXCOORD                 0   xy          2     NONE   float   xy  
//
vs_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb0[4], immediateIndexed
dcl_input v0.xyzw
dcl_input v1.xyzw
dcl_output_siv o0.xyzw, position
dcl_output o1.xyzw
dcl_output o2.xy
dcl_temps 1
mul r0.xyzw, v0.yyyy, cb0[1].xyzw
mad r0.xyzw, cb0[0].xyzw, v0.xxxx, r0.xyzw
add o0.xyzw, r0.xyzw, cb0[3].xyzw
mov o1.xyzw, v1.xyzw
mov o2.xy, v0.zwzz
ret 
// Approximately 6 instruction slots used

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