[Piglit] [PATCH 7/7] arb_vertex_attrib_binding: Test zero-stride bindings
Fredrik Höglund
fredrik at kde.org
Fri Nov 1 11:47:22 PDT 2013
On Wednesday 30 October 2013, Eric Anholt wrote:
> Fredrik Höglund <fredrik at kde.org> writes:
> > diff --git a/tests/spec/arb_vertex_attrib_binding/zero-stride.c b/tests/spec/arb_vertex_attrib_binding/zero-stride.c
> > new file mode 100644
> > index 0000000..83b56e4
> > --- /dev/null
> > +++ b/tests/spec/arb_vertex_attrib_binding/zero-stride.c
>
> > +PIGLIT_GL_TEST_CONFIG_BEGIN
> > +
> > + config.supports_gl_compat_version = 10;
> > +
> > + config.window_width = 128;
> > + config.window_height = 128;
> > + config.window_visual = PIGLIT_GL_VISUAL_RGB | PIGLIT_GL_VISUAL_DOUBLE;
>
> core, drop size, alpha
>
> > +enum piglit_result
> > +piglit_display(void)
> > +{
> > + const struct {
> > + float x, y;
> > + } verts[] = {
> > + { -1, 1 }, { 1, 1 },
> > + { -1, -1 }, { 1, -1 }
> > + };
> > +
> > + const float green[] = { 0.0, 1.0, 0.0, 1.0 };
> > +
> > + GLuint vbo1, vbo2, vao;
> > + bool pass = true;
> > +
> > + glGenVertexArrays(1, &vao);
> > + glBindVertexArray(vao);
> > +
> > + glGenBuffers(1, &vbo1);
> > + glGenBuffers(1, &vbo2);
> > +
> > + /* vbo1 contains the vertex positions */
> > + glBindBuffer(GL_ARRAY_BUFFER, vbo1);
> > + glBufferData(GL_ARRAY_BUFFER, sizeof(verts), (const GLvoid *) verts, GL_STATIC_DRAW);
> > +
> > + /* vbo2 contains the color data */
> > + glBindBuffer(GL_ARRAY_BUFFER, vbo2);
> > + glBufferData(GL_ARRAY_BUFFER, sizeof(green), (const GLvoid *) green, GL_STATIC_DRAW);
>
> I'd fill the color buffer with some junk after it (such as a red color),
> so if the implementation is clamping buffer element indices to the size
> of the buffer, you don't just get green.
Good idea.
> > + pass = piglit_probe_pixel_rgba(piglit_width * .5, piglit_height * .5, green);
>
> probe_rect.
>
> > +void
> > +piglit_init(int argc, char **argv)
> > +{
> > + GLuint vs, fs;
> > +
> > + piglit_require_extension("GL_ARB_vertex_attrib_binding");
> > +
> > + vs = piglit_compile_shader_text(GL_VERTEX_SHADER, vs_source);
> > + fs = piglit_compile_shader_text(GL_FRAGMENT_SHADER, fs_source);
> > + program = piglit_link_simple_program(vs, fs);
>
> build_simple_program()
>
> For the tests with minor comments, with the obvious fixups they're:
>
> Reviewed-by: Eric Anholt <eric at anholt.net>
>
> I think 2/7 was the only one I really didn't review well. Thanks for
> writing a really solid set of tests for this extension!
No problem, and thanks for the review!
Fredrik
More information about the Piglit
mailing list