arb_shader_storage_buffer_object: More readonly/writeonly qualifier tests

Submitted by Eduardo Lima Mitev on May 5, 2016, 11:47 a.m.

Details

Message ID 1462448862-3540-1-git-send-email-elima@igalia.com
State New
Headers show
Series "arb_shader_storage_buffer_object: More readonly/writeonly qualifier tests" ( rev: 1 ) in Piglit

Not browsing as part of any series.

Commit Message

Eduardo Lima Mitev May 5, 2016, 11:47 a.m.
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

Patch hide | download patch | download mbox

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;
+}

Comments

Each of these tests has 2 separate failures in it. For example if one
of the readonly (or writeonly) modifiers is applied but the other
isn't, each test will still fail (as expected). IMHO each case should
be tested separately.

On Thu, May 5, 2016 at 7:47 AM, Eduardo Lima Mitev <elima@igalia.com> wrote:
> 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
> Piglit@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/piglit