summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/glslang/src/Test/spv.300layout.vert
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/glslang/src/Test/spv.300layout.vert')
-rw-r--r--chromium/third_party/glslang/src/Test/spv.300layout.vert49
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;
+}