// Videos
#version 460


// Vk3DVision (http://3dsurroundgaming.com/) - Stereo Injection
layout(set = 0, binding = 155, std140) uniform Vk3DParams
{
    vec4 stereo;
    vec4 custom_params;
} vk3d_params;

layout(set = 1, binding = 0, std140) uniform _29_31
{
    vec4 _m0;
    vec4 _m1;
    vec4 _m2;
    vec4 _m3;
    vec4 _m4;
} _31;

layout(push_constant, std430) uniform _87_89
{
    int _m0;
    int _m1;
} _89;

layout(set = 1, binding = 1) uniform sampler2D _93;
layout(set = 1, binding = 2) uniform sampler2D _94;
layout(set = 1, binding = 3) uniform sampler2D _95;
layout(set = 1, binding = 4) uniform sampler2D _96;

layout(location = 0) in vec4 _28;
layout(location = 2) out vec4 _69;
layout(location = 1) in vec2 _72;
layout(location = 0) out vec4 _80;
layout(location = 3) in vec4 _81;

float _12(vec4 _10, vec4 _11)
{
    return dot(_10, _11);
}

void main()
{
    vec4 _32 = _28;
    vec4 _34 = _31._m0;
    gl_Position.x = _12(_32, _34);
    vec4 _43 = _28;
    vec4 _45 = _31._m1;
    gl_Position.y = _12(_43, _45);
    vec4 _51 = _28;
    vec4 _53 = _31._m2;
    gl_Position.z = _12(_51, _53);
    vec4 _60 = _28;
    vec4 _62 = _31._m3;
    gl_Position.w = _12(_60, _62);
    _69 = vec4(_72.x, _72.y, 0.0, 0.0);
    _80 = _81;
    gl_Position.y = -gl_Position.y;

// Vk3DVision (http://3dsurroundgaming.com/) - Stereo Injection
gl_Position.x += vk3d_params.stereo.x * vk3d_params.custom_params.x; 
}


