[Piglit] [PATCH 1/2] arb_shader_image_load_store/host-mem-barrier: Skip UBO/RaW test if the required UBO size is unsupported.

Francisco Jerez currojerez at riseup.net
Fri Jul 24 11:01:46 PDT 2015


This test assumes it can bind a UBO of size larger than the minimum
maximum guaranteed by the GL standard, what recently started causing
failures unrelated to ARB_shader_image_load_store since Mesa became
more strict about shaders declaring UBOs of unsupported size
(f734d2556013e9239e91f43b563b5b1d8f03ada4).  Skip it if the
implementation doesn't support the size we want.
---
 tests/spec/arb_shader_image_load_store/host-mem-barrier.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/tests/spec/arb_shader_image_load_store/host-mem-barrier.c b/tests/spec/arb_shader_image_load_store/host-mem-barrier.c
index 9727ddc..833d7ec 100644
--- a/tests/spec/arb_shader_image_load_store/host-mem-barrier.c
+++ b/tests/spec/arb_shader_image_load_store/host-mem-barrier.c
@@ -250,6 +250,14 @@ run_test_element_array_raw(const struct image_barrier_info *bar, unsigned l)
 }
 
 static bool
+can_test_ubo_raw(void)
+{
+   int size = 0;
+   glGetIntegerv(GL_MAX_UNIFORM_BLOCK_SIZE, &size);
+   return size >= 16 * N;
+}
+
+static bool
 run_test_ubo_raw(const struct image_barrier_info *bar, unsigned l)
 {
         const struct grid_info grid =
@@ -995,7 +1003,8 @@ piglit_init(int argc, char **argv)
                         barrier_subtest(&status, true, run_test_element_array_raw,
                                         "Element array/RaW", bar, l);
 
-                        barrier_subtest(&status, true, run_test_ubo_raw,
+                        barrier_subtest(&status, can_test_ubo_raw(),
+                                        run_test_ubo_raw,
                                         "Uniform buffer/RaW", bar, l);
 
                         barrier_subtest(&status, true, run_test_tex_fetch_raw,
-- 
2.4.3



More information about the Piglit mailing list