[Piglit] [PATCH] arb_shader_image_load_store/shader-mem-barrier: Add explicit memoryBarrier to volatile subtest.

Francisco Jerez currojerez at riseup.net
Fri Dec 30 03:39:16 UTC 2016


This makes sure that reads and writes of the volatile-qualified images
occur in the expected order.  It's unclear whether the GLSL volatile
qualifier was intended to have the required memory ordering
implications as it does in C.  I've bugged Khronos about it [1], but
because I haven't seen any update on the bug report for a while, this
changes the test temporarily to behave as expected regardless of what
the resolution is.  This avoids some annoying intermittent failures on
the i965 driver which doesn't provide any special memory ordering
guarantees for volatile-qualified memory.

[1] https://cvs.khronos.org/bugzilla/show_bug.cgi?id=15875
---
 tests/spec/arb_shader_image_load_store/shader-mem-barrier.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tests/spec/arb_shader_image_load_store/shader-mem-barrier.c b/tests/spec/arb_shader_image_load_store/shader-mem-barrier.c
index ed08640..0c83ab7 100644
--- a/tests/spec/arb_shader_image_load_store/shader-mem-barrier.c
+++ b/tests/spec/arb_shader_image_load_store/shader-mem-barrier.c
@@ -31,8 +31,8 @@
  * locations until an inconsistency is observed or the test runs to
  * completion.
  *
- * The test is repeated for the "volatile" qualifier with no barriers,
- * for all execution stages and for different relative arrangements of
+ * The test is repeated for the "volatile" qualifier, for all
+ * execution stages and for different relative arrangements of
  * producer and monitor threads to account for implementations with
  * varying levels of parallelism and with caches of different sizes.
  *
@@ -84,7 +84,7 @@ struct image_test_info {
 const struct image_test_info image_tests[] = {
         { "control", "", "", true },
         { "'coherent' qualifier", "coherent", "memoryBarrier()", false },
-        { "'volatile' qualifier", "volatile", "", false },
+        { "'volatile' qualifier", "volatile", "memoryBarrier()", false },
         { 0 }
 };
 
-- 
2.10.2



More information about the Piglit mailing list