The test contains a couple of problems that cause failures - one of them is described in https://bugzilla.freedesktop.org/show_bug.cgi?id=32946, and can be fixed by swapping buffers in win_one when it is set as the current drawable of the context, not when win_two is. The other issue is the actual test failure, which is caused by calling glClear() only once and when no drawables have been made current, so nothing is drawn, and glReadPixels() returns garbage. That is fixable by calling glClear() for each drawable at the appropriate time.
Signed-off-by: Ernestas Kulik <ernestas.ku...@gmail.com> Tested-by: Ernestas Kulik <ernestas.ku...@gmail.com> --- tests/glx/glx-make-current.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/tests/glx/glx-make-current.c b/tests/glx/glx-make-current.c index fd284ba70..0f743b741 100644 --- a/tests/glx/glx-make-current.c +++ b/tests/glx/glx-make-current.c @@ -52,20 +52,15 @@ draw(Display *dpy) piglit_dispatch_default_init(PIGLIT_DISPATCH_GL); glClearColor(0.0, 1.0, 0.0, 1.0); - glClear(GL_COLOR_BUFFER_BIT); - - glXMakeCurrent(dpy, win_two, ctx); + glXMakeCurrent (dpy, win_one, ctx); glClear(GL_COLOR_BUFFER_BIT); - - - glXMakeCurrent(dpy, win_one, ctx); pass &= piglit_probe_pixel_rgb(1, 1, green); + glXSwapBuffers(dpy, win_one); glXMakeCurrent(dpy, win_two, ctx); + glClear(GL_COLOR_BUFFER_BIT); pass &= piglit_probe_pixel_rgb(1, 1, green); - - glXSwapBuffers(dpy, win_one); glXSwapBuffers(dpy, win_two); /* Free our resources when we're done. */ -- 2.17.1 _______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/piglit