Skip to content
Snippets Groups Projects
300layout.vert 1.5 KiB
Newer Older
struct s { vec4 v; };

layout(LocatioN = 9) in vec4 q[4]; // ERROR, no array
layout(LocatioN = 10) in s r[4];   // ERROR, no struct, ERROR, location overlap
layout(shared, column_major) uniform mat4 badm4; // ERROR
layout(shared, column_major, row_major) uniform; // default is now shared and row_major
layout(std140) uniform Transform { // layout of this block is std140
    mat4 M1; // row_major
    layout(column_major) mat4 M2; // column major
    mat3 N1; // row_major
    centroid float badf;  // ERROR
    in float badg;        // ERROR
    layout(std140) float bad1;
    layout(shared) float bad2;
    layout(packed) float bad3;
uniform T2 { // layout of this block is shared
    bool b;
    mat4 t2m;
};

layout(column_major) uniform T3 { // shared and column_major
    mat4 M3; // column_major
    layout(row_major) mat4 M4; // row major
    int b;  // ERROR, redefinition (needs to be last member of block for testing, following members are skipped)
layout (location = 10) out vec4 badoutA;  // ERROR
    pos = p * (tblock.M1 + tblock.M2 + M4 + M3 + t2m);

shared vec4 compute_only;  // ERROR

layout(packed) uniform;
layout(packed) uniform float aoeuntaoeu;  // ERROR, packed on variable

layout(location = 40) in float cd;
layout(location = 37) in mat4x3 ce; // ERROR, overlap