mirror of
https://github.com/libretro/RetroArch
synced 2025-04-15 14:42:27 +00:00
51 lines
916 B
GLSL
51 lines
916 B
GLSL
#version 450
|
|
|
|
out gl_PerVertex
|
|
{
|
|
vec4 gl_Position;
|
|
float gl_PointSize;
|
|
float gl_ClipDistance[1];
|
|
float gl_CullDistance[1];
|
|
};
|
|
|
|
struct s0
|
|
{
|
|
mediump mat2x3 m0;
|
|
ivec4 m1;
|
|
mat4 m2;
|
|
uvec2 m3;
|
|
};
|
|
|
|
struct s1
|
|
{
|
|
mediump mat3x4 m0;
|
|
mediump int m1;
|
|
uvec3 m2;
|
|
s0 m3;
|
|
};
|
|
|
|
layout(set = 0, binding = 0, std140) uniform data_u_t
|
|
{
|
|
layout(row_major, offset = 368) mediump mat2x3 m0;
|
|
layout(offset = 0) vec2 m1[5];
|
|
layout(row_major, offset = 128) s1 m2;
|
|
layout(row_major, offset = 80) mediump mat4x2 m3;
|
|
layout(offset = 112) ivec4 m4;
|
|
} data_u;
|
|
|
|
layout(location = 0) in vec4 vtx_posn;
|
|
layout(location = 0) out mediump float foo;
|
|
|
|
void main()
|
|
{
|
|
gl_Position = vtx_posn;
|
|
vec2 a = data_u.m1[3];
|
|
ivec4 b = data_u.m4;
|
|
mat2x3 c = data_u.m0;
|
|
mat3x4 d = data_u.m2.m0;
|
|
mat4 e = data_u.m2.m3.m2;
|
|
foo = (a.y + b.z) * c[1][2] * d[2][3] * e[3][3];
|
|
}
|
|
|
|
|