There are missing tests to check for readonly and writeonly memory qualifiers
on a named interface block. And Mesa is actually failing to apply these
qualifiers right now.
---
 .../compiler/block-memory-qualifier-readonly.vert    | 20 ++++++++++++++++++++
 .../compiler/block-memory-qualifier-writeonly.vert   | 19 +++++++++++++++++++
 2 files changed, 39 insertions(+)
 create mode 100644 
tests/spec/arb_shader_storage_buffer_object/compiler/block-memory-qualifier-readonly.vert
 create mode 100644 
tests/spec/arb_shader_storage_buffer_object/compiler/block-memory-qualifier-writeonly.vert

diff --git 
a/tests/spec/arb_shader_storage_buffer_object/compiler/block-memory-qualifier-readonly.vert
 
b/tests/spec/arb_shader_storage_buffer_object/compiler/block-memory-qualifier-readonly.vert
new file mode 100644
index 0000000..2b9528f
--- /dev/null
+++ 
b/tests/spec/arb_shader_storage_buffer_object/compiler/block-memory-qualifier-readonly.vert
@@ -0,0 +1,20 @@
+// [config]
+// expect_result: fail
+// glsl_version: 3.30
+// require_extensions: GL_ARB_shader_storage_buffer_object
+// [end config]
+
+#version 330
+#extension GL_ARB_shader_storage_buffer_object: require
+readonly buffer Buffer {
+       float foo;
+} buf;
+
+buffer Buffer1 {
+       readonly float bar;
+} buf1;
+
+void main() {
+       buf.foo = 1.0;
+       buf1.bar = 1.0;
+}
diff --git 
a/tests/spec/arb_shader_storage_buffer_object/compiler/block-memory-qualifier-writeonly.vert
 
b/tests/spec/arb_shader_storage_buffer_object/compiler/block-memory-qualifier-writeonly.vert
new file mode 100644
index 0000000..0a17d97
--- /dev/null
+++ 
b/tests/spec/arb_shader_storage_buffer_object/compiler/block-memory-qualifier-writeonly.vert
@@ -0,0 +1,19 @@
+// [config]
+// expect_result: fail
+// glsl_version: 3.30
+// require_extensions: GL_ARB_shader_storage_buffer_object
+// [end config]
+
+#version 330
+#extension GL_ARB_shader_storage_buffer_object: require
+writeonly buffer Buffer {
+       float foo;
+} buf;
+
+buffer Buffer1 {
+       writeonly float bar;
+} buf1;
+
+void main(void) {
+       float result = buf.foo * buf1.bar;
+}
-- 
2.7.0

_______________________________________________
Piglit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to