diff options
author | Francisco Jerez <currojerez@riseup.net> | 2015-07-24 19:55:59 +0300 |
---|---|---|
committer | Francisco Jerez <currojerez@riseup.net> | 2015-07-27 16:30:44 +0300 |
commit | 476d6c5eac8624b0487152879e76a8d1253991fa (patch) | |
tree | adf8ac6d0f9aa2133144a055ab2b52bd19cb3634 | |
parent | 210dd58fd43e9eb1db97b2f71a5e06217cdf3805 (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.c | 11 |
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, |