diff options
Diffstat (limited to '3rdparty/bgfx/3rdparty/glslang/Test/300layout.vert')
-rw-r--r-- | 3rdparty/bgfx/3rdparty/glslang/Test/300layout.vert | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/300layout.vert b/3rdparty/bgfx/3rdparty/glslang/Test/300layout.vert new file mode 100644 index 00000000000..06d1206dc18 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/300layout.vert @@ -0,0 +1,57 @@ +#version 300 es + +struct s { vec4 v; }; + +layout(location = 7) in vec3 c; +layout(LocatioN = 3) in vec4 p; +layout(LocatioN = 9) in vec4 q[4]; // ERROR, no array +layout(LocatioN = 10) in s r[4]; // ERROR, no struct, ERROR, location overlap +out vec4 pos; +out vec3 color; + +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; +} tblock; + +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 + mat3 N2; // column_major + int b; // ERROR, redefinition (needs to be last member of block for testing, following members are skipped) +}; + +out badout { // ERROR + float f; +}; + +layout (location = 10) out vec4 badoutA; // ERROR + +void main() +{ + pos = p * (tblock.M1 + tblock.M2 + M4 + M3 + t2m); + color = c * tblock.N1; +} + +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 |