123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246 |
- #version 440 core
- layout(std140, row_major) uniform nameless {
- vec3 anonMember1;
- mat3x2 m23;
- int scalarAfterm23;
- vec4 anonDeadMember2;
- vec4 anonMember3;
- int scalarBeforeArray;
- float floatArray[5];
- int scalarAfterArray;
- mat2x2 m22[9];
- };
- layout(std140, column_major) uniform c_nameless {
- vec3 c_anonMember1;
- mat3x2 c_m23;
- int c_scalarAfterm23;
- vec4 c_anonDeadMember2;
- vec4 c_anonMember3;
- };
- layout(std140) uniform named {
- vec3 deadMember1;
- int scalar;
- vec4 member2;
- vec4 member3;
- vec2 memvec2;
- float memf1;
- bool memf2;
- int memf3;
- vec2 memvec2a;
- mat2x2 m22[7];
- } ablock;
- layout(std140) uniform namelessdead {
- int a;
- };
- layout(std140) uniform namedDead {
- int b;
- } bblock;
- struct N1 {
- float a;
- };
- struct N2 {
- float b;
- float c;
- float d;
- };
- struct N3 {
- N1 n1;
- N2 n2;
- };
- layout(std140) uniform nested {
- N3 foo;
- } nest;
- layout(std140) uniform nested2 {
- vec4 padding; // offset 0, size 16
- N3 a; // offset 16, size 32
- N1 b[4]; // offset 48, size 64
- N1 c[2]; // offset 112, size 32
- N1 d[4]; // offset 144, size 64
- } nest2;
- struct TS {
- int a;
- int dead;
- };
- uniform TS s;
- uniform float uf1;
- uniform float uf2;
- uniform float ufDead3;
- uniform float ufDead4;
- uniform writeonly uimage2D image_ui2D;
- uniform sampler2D sampler_2D;
- uniform sampler2DMSArray sampler_2DMSArray;
- uniform mat2 dm22[10];
- struct deep1 {
- vec2 va[3];
- bool b;
- };
- struct deep2 {
- int i;
- deep1 d1[4];
- };
- struct deep3 {
- vec4 iv4;
- deep2 d2;
- ivec3 v3;
- };
- in float attributeFloat;
- layout(location = 2) in vec2 attributeFloat2;
- in vec3 attributeFloat3;
- in vec4 attributeFloat4;
- in mat4 attributeMat4;
- in float attributeFloatArray[3];
- uniform deep3 deepA[2], deepB[2], deepC[3], deepD[2];
- const bool control = true;
- void deadFunction()
- {
- vec3 v3 = ablock.deadMember1;
- vec4 v = anonDeadMember2;
- float f = ufDead4;
- }
- void liveFunction2()
- {
- vec3 v = anonMember1;
- float f = uf1;
- }
- void liveFunction1(writeonly uimage2D p_ui2D, sampler2D p_2D, sampler2DMSArray p_2DMSArray)
- {
- liveFunction2();
- float f = uf2;
- vec4 v = ablock.member3;
- }
- uniform abl {
- float foo;
- } arrBl[4];
- uniform abl2 {
- float foo;
- } arrBl2[4];
- buffer buf1 {
- float scalar;
- float runtimeArray[];
- } buf1i;
- buffer buf2 {
- float scalar;
- N2 runtimeArray[];
- } buf2i;
- buffer buf3 {
- float scalar;
- float runtimeArray[];
- } buf3i;
- buffer buf4 {
- float scalar;
- N2 runtimeArray[];
- } buf4i;
- struct VertexInfo {
- float position[3];
- float normal[3];
- };
- struct TriangleInfo {
- VertexInfo v[3];
- };
- buffer VertexCollection {
- TriangleInfo t[5];
- uint padding[10];
- };
- out float outval;
- void main()
- {
- liveFunction1(image_ui2D, sampler_2D, sampler_2DMSArray);
- liveFunction2();
- if (! control)
- deadFunction();
- float f;
- int i;
- if (control) {
- liveFunction2();
- f = anonMember3.z;
- f = s.a;
- f = ablock.scalar;
- f = m23[1].y + scalarAfterm23;
- f = c_m23[1].y + c_scalarAfterm23;
- f += scalarBeforeArray;
- f += floatArray[2];
- f += floatArray[4];
- f += scalarAfterArray;
- f += ablock.memvec2.x;
- f += ablock.memf1;
- f += float(ablock.memf2);
- f += ablock.memf3;
- f += ablock.memvec2a.y;
- f += ablock.m22[i][1][0];
- f += dm22[3][0][1];
- f += m22[2][1].y;
- f += nest.foo.n1.a + nest.foo.n2.b + nest.foo.n2.c + nest.foo.n2.d;
- f += deepA[i].d2.d1[2].va[1].x;
- f += deepB[1].d2.d1[i].va[1].x;
- f += deepB[i].d2.d1[i].va[1].x;
- deep3 d = deepC[1];
- deep3 da[2] = deepD;
- deep1 db = deepA[i].d2.d1[i];
- } else
- f = ufDead3;
- f += arrBl[2].foo + arrBl[0].foo;
- f += arrBl2[i].foo;
- f += attributeFloat;
- f += attributeFloat2.x;
- f += attributeFloat3.x;
- f += attributeFloat4.x;
- f += attributeMat4[0][1];
- f += attributeFloatArray[2];
- f += buf1i.runtimeArray[3];
- f += buf2i.runtimeArray[3].c;
- f += buf3i.runtimeArray[gl_InstanceID];
- f += buf4i.runtimeArray[gl_InstanceID].c;
- N3 n = nest2.a;
- N1 b[4] = nest2.b;
- f += nest2.c[1].a;
- f += nest2.d[gl_InstanceID].a;
- f += t[0].v[0].position[0];
- f += t[gl_InstanceID].v[gl_InstanceID].position[gl_InstanceID];
- f += t[gl_InstanceID].v[gl_InstanceID].normal[gl_InstanceID];
- TriangleInfo tlocal[5] = t;
- outval = f;
- }
|