summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancisco Jerez <currojerez@riseup.net>2015-07-24 19:55:59 +0300
committerFrancisco Jerez <currojerez@riseup.net>2015-07-27 16:30:44 +0300
commit476d6c5eac8624b0487152879e76a8d1253991fa (patch)
treeadf8ac6d0f9aa2133144a055ab2b52bd19cb3634
parent210dd58fd43e9eb1db97b2f71a5e06217cdf3805 (diff)
arb_shader_image_load_store/host-mem-barrier: Skip UBO/RaW test if the required UBO size is unsupported.
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. Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
-rw-r--r--tests/spec/arb_shader_image_load_store/host-mem-barrier.c11
1 files changed, 10 insertions, 1 deletions
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 9727ddcf9..833d7ecdd 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,