blob: e97c9108f8b2035a724188340b3ffc7372f781ba [file] [log] [blame]
baldurk15c37f72019-01-29 12:12:59 +00001#version 440 core
2
3struct VertexInfo {
4 float position[3];
5 float normal[3];
6};
7
8struct TriangleInfo {
9 VertexInfo v[3];
10};
11
12buffer VertexCollection {
13 TriangleInfo t[5];
baldurka972e732019-01-30 15:34:02 +000014 uint padding[10];
baldurk15c37f72019-01-29 12:12:59 +000015};
16
baldurk4a2aa822019-01-29 19:10:56 +000017buffer MultipleArrays {
18 TriangleInfo tri[5];
19 VertexInfo vert[5];
20 float f[5];
21} multiarray;
22
baldurk657acc02019-01-30 14:18:43 +000023uniform UBO {
24 VertexInfo verts[2];
25 float flt[8];
baldurka972e732019-01-30 15:34:02 +000026 uvec4 unused;
baldurk141bc5a2019-02-18 09:36:29 +000027 float uniform_multi[4][3][2];
baldurk657acc02019-01-30 14:18:43 +000028} ubo;
29
baldurk141bc5a2019-02-18 09:36:29 +000030uniform float uniform_multi[4][3][2];
31
baldurk19050692019-02-11 11:50:24 +000032struct OutputStruct {
33 float val;
34 vec3 a;
35 vec2 b[4];
36 mat2x2 c;
37};
38
39out OutputStruct outval;
baldurk879562b2019-02-11 16:39:12 +000040out float outarr[3];
baldurk0af5e3e2019-01-29 16:04:44 +000041
baldurk15c37f72019-01-29 12:12:59 +000042void main()
43{
44 float f;
45 f += t[0].v[0].position[0];
46 f += t[gl_InstanceID].v[gl_InstanceID].position[gl_InstanceID];
47 f += t[gl_InstanceID].v[gl_InstanceID].normal[gl_InstanceID];
baldurk4a2aa822019-01-29 19:10:56 +000048 f += multiarray.tri[gl_InstanceID].v[0].position[0];
49 f += multiarray.vert[gl_InstanceID].position[0];
50 f += multiarray.f[gl_InstanceID];
baldurk657acc02019-01-30 14:18:43 +000051 f += ubo.verts[gl_InstanceID].position[0];
52 f += ubo.flt[gl_InstanceID];
baldurk141bc5a2019-02-18 09:36:29 +000053 f += ubo.uniform_multi[0][0][0];
54 f += uniform_multi[gl_InstanceID][gl_InstanceID][gl_InstanceID];
baldurk15c37f72019-01-29 12:12:59 +000055 TriangleInfo tlocal[5] = t;
baldurk19050692019-02-11 11:50:24 +000056 outval.val = f;
baldurk879562b2019-02-11 16:39:12 +000057 outarr[2] = f;
baldurk15c37f72019-01-29 12:12:59 +000058}