diff options
Diffstat (limited to 'chromium/third_party/glslang/src/Test/spv.300layout.vert')
-rw-r--r-- | chromium/third_party/glslang/src/Test/spv.300layout.vert | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/chromium/third_party/glslang/src/Test/spv.300layout.vert b/chromium/third_party/glslang/src/Test/spv.300layout.vert new file mode 100644 index 00000000000..df154eb8a7a --- /dev/null +++ b/chromium/third_party/glslang/src/Test/spv.300layout.vert @@ -0,0 +1,49 @@ +#version 310 es + +layout(location = 7) in vec3 c; +layout(LocatioN = 3) in vec4 p; +layout(location = 9) in ivec2 aiv2; +out vec4 pos; +out vec3 color; +flat out int iout; + +layout(row_major) uniform; // default is now 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 + int iuin; +} 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 + mat2x3 N2; // column_major + uvec3 uv3a[4]; +}; + +in uint uiuin; + +struct S { + vec3 c; + float f; +}; + +out S s; + +void main() +{ + pos = p * (tblock.M1 + tblock.M2 + M4 + M3 + t2m); + color = c * tblock.N1; + iout = tblock.iuin + int(uiuin) + aiv2.y; + s.c = c; + s.f = p.x; + if (N2[1] != vec3(1.0) || uv3a[2] != uvec3(5)) + ++s.c; +} |