[Piglit] [PATCH 4/5] ssbo/max-ssbo-size: handle lack of vertex shader ssbo.

Dave Airlie airlied at gmail.com
Fri Nov 17 01:53:09 UTC 2017


From: Dave Airlie <airlied at redhat.com>

evergreen has no vertex shader ssbo, just skip on it.
---
 tests/spec/arb_shader_storage_buffer_object/max-ssbo-size.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/tests/spec/arb_shader_storage_buffer_object/max-ssbo-size.c b/tests/spec/arb_shader_storage_buffer_object/max-ssbo-size.c
index 4af70aa..4c0d039 100644
--- a/tests/spec/arb_shader_storage_buffer_object/max-ssbo-size.c
+++ b/tests/spec/arb_shader_storage_buffer_object/max-ssbo-size.c
@@ -117,6 +117,7 @@ piglit_display(void)
 	size_t size;
 	bool pass = true;
 	bool link_should_fail;
+	GLint num_vertex_ssbo;
 	const float green[4] = { 0, 1, 0, 0 };
 	int test_index;
 
@@ -127,17 +128,23 @@ piglit_display(void)
 	printf("Max shader storage block size: %d\n", max_size);
 	vec4s = max_size / 4 / 4;
 
+	glGetIntegerv(GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS, &num_vertex_ssbo);
+
 	switch (mode) {
 	case VS:
 		target = GL_VERTEX_SHADER;
 		link_should_fail = false;
 		test_index = vec4s - 1;
+		if (num_vertex_ssbo == 0)
+			piglit_report_result(PIGLIT_SKIP);
 		break;
 	case VS_EXCEED:
 		target = GL_VERTEX_SHADER;
 		link_should_fail = true;
 		vec4s++;
 		test_index = vec4s - 2;
+		if (num_vertex_ssbo == 0)
+			piglit_report_result(PIGLIT_SKIP);
 		break;
 	case FS:
 		target = GL_FRAGMENT_SHADER;
-- 
2.9.5



More information about the Piglit mailing list