[Piglit] [PATCH] draw-vertices-2101010: Don't test BGRA if we don't have the ext.
Eric Anholt
eric at anholt.net
Thu Apr 26 17:21:21 UTC 2018
The 2101010 spec says to remove BGRA references if this extension
isn't present, so don't test them.
---
.../draw-vertices-2101010.c | 22 ++++++++++++++-----
1 file changed, 17 insertions(+), 5 deletions(-)
diff --git a/tests/spec/arb_vertex_type_2_10_10_10_rev/draw-vertices-2101010.c b/tests/spec/arb_vertex_type_2_10_10_10_rev/draw-vertices-2101010.c
index 5ce4c0655626..a672bb7d5520 100644
--- a/tests/spec/arb_vertex_type_2_10_10_10_rev/draw-vertices-2101010.c
+++ b/tests/spec/arb_vertex_type_2_10_10_10_rev/draw-vertices-2101010.c
@@ -89,7 +89,7 @@ static GLuint vboColorPointer(GLint size, GLenum type, GLsizei stride,
return id;
}
-static void test_packed_int_color_vertices(float x1, float y1, float x2, float y2, int index)
+static bool test_packed_int_color_vertices(float x1, float y1, float x2, float y2, int index)
{
unsigned int v[3];
unsigned int c[3];
@@ -111,6 +111,10 @@ static void test_packed_int_color_vertices(float x1, float y1, float x2, float y
glVertexPointer(4, GL_INT_2_10_10_10_REV, 4, v);
+ if (index >= 2 &&
+ !piglit_is_extension_supported("GL_EXT_vertex_array_bgra"))
+ return false;
+
glEnableClientState(GL_COLOR_ARRAY);
switch (index) {
case 0: vbo = vboColorPointer(4, GL_INT_2_10_10_10_REV, 4, c, sizeof(c), 0); break;
@@ -123,9 +127,11 @@ static void test_packed_int_color_vertices(float x1, float y1, float x2, float y
glDisableClientState(GL_COLOR_ARRAY);
glDeleteBuffers(1, &vbo);
+
+ return true;
}
-static void test_packed_int_vertices(float x1, float y1, float x2, float y2, int index)
+static bool test_packed_int_vertices(float x1, float y1, float x2, float y2, int index)
{
unsigned int v[3];
GLuint vbo;
@@ -148,9 +154,11 @@ static void test_packed_int_vertices(float x1, float y1, float x2, float y2, int
glDrawArrays(GL_TRIANGLES, 0, 3);
glDeleteBuffers(1, &vbo);
+
+ return true;
}
-static void test_int_vertices_abi(float x1, float y1, float x2, float y2, int index)
+static bool test_int_vertices_abi(float x1, float y1, float x2, float y2, int index)
{
GLuint v[3];
GLuint c[3];
@@ -182,10 +190,12 @@ static void test_int_vertices_abi(float x1, float y1, float x2, float y2, int in
glEnd();
glEnableClientState(GL_VERTEX_ARRAY);
+
+ return true;
}
struct test {
- void (*test)(float x1, float y1, float x2, float y2, int index);
+ bool (*test)(float x1, float y1, float x2, float y2, int index);
int index;
float expected_color_equation_22[4];
float expected_color_equation_23[4];
@@ -230,7 +240,9 @@ piglit_display(void)
for (i = 0; tests[i].test; i++) {
glBindBuffer(GL_ARRAY_BUFFER, 0);
- tests[i].test(x, y, x+20, y+20, tests[i].index);
+ if (!tests[i].test(x, y, x+20, y+20, tests[i].index))
+ continue;
+
if (!piglit_check_gl_error(GL_NO_ERROR))
piglit_report_result(PIGLIT_FAIL);
--
2.17.0
More information about the Piglit
mailing list