[Piglit] [PATCH v2 3/6] Support both core and compat contexts in xfb/overflow-edge-cases.c.
Paul Berry
stereotype441 at gmail.com
Fri Aug 9 11:16:18 PDT 2013
This will allow the test to be adapted for geometry shaders.
v2: Use VAO's if GL version >= 3.0.
---
tests/spec/ext_transform_feedback/overflow-edge-cases.c | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/tests/spec/ext_transform_feedback/overflow-edge-cases.c b/tests/spec/ext_transform_feedback/overflow-edge-cases.c
index 87cc5a3..93dd58c 100644
--- a/tests/spec/ext_transform_feedback/overflow-edge-cases.c
+++ b/tests/spec/ext_transform_feedback/overflow-edge-cases.c
@@ -46,6 +46,7 @@
PIGLIT_GL_TEST_CONFIG_BEGIN
config.supports_gl_compat_version = 10;
+ config.supports_gl_core_version = 31;
config.window_width = 16;
config.window_height = 16;
@@ -70,7 +71,7 @@ static const char *vstext =
static const char *varyings[] = { "varying1", "varying2" };
-static GLuint xfb_buf;
+static GLuint xfb_buf, vao, array_buf;
static GLuint progs[2]; /* indexed by num_varyings - 1 */
static GLuint query_prims_generated;
static GLuint query_prims_written;
@@ -100,8 +101,14 @@ piglit_init(int argc, char **argv)
}
glGenBuffers(1, &xfb_buf);
+ glGenBuffers(1, &array_buf);
glGenQueries(1, &query_prims_generated);
glGenQueries(1, &query_prims_written);
+ if (piglit_is_extension_supported("GL_ARB_vertex_array_object") ||
+ piglit_get_gl_version() >= 30) {
+ glGenVertexArrays(1, &vao);
+ glBindVertexArray(vao);
+ }
}
static GLenum modes[] = { GL_POINTS, GL_LINES, GL_TRIANGLES };
@@ -135,8 +142,10 @@ test(int bind_size, int num_varyings, int num_primitives, int mode_index)
glUseProgram(progs[num_varyings - 1]);
for (i = 0; i < MAX_VERTICES; ++i)
vertex_data[i] = i;
- glVertexAttribPointer(0, 1, GL_FLOAT, GL_FALSE, sizeof(float),
- &vertex_data);
+ glBindBuffer(GL_ARRAY_BUFFER, array_buf);
+ glBufferData(GL_ARRAY_BUFFER, sizeof(vertex_data), &vertex_data,
+ GL_STATIC_DRAW);
+ glVertexAttribPointer(0, 1, GL_FLOAT, GL_FALSE, sizeof(float), NULL);
glEnableVertexAttribArray(0);
for (i = 0; i < XFB_BUFFER_SIZE; ++i)
initial_xfb_buf[i] = 0.0;
--
1.8.3.4
More information about the Piglit
mailing list