From 8558cd579059974758bda696c33f08399267d33e Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 28 Jan 2010 17:39:34 -0800 Subject: [PATCH] [gl] Use GL_MESA_pack_invert to flip get_image of windows around. This doesn't have any fallback for a GL that fails to implement the extension. Fixes 120 testcases for gl-window. --- src/cairo-gl-surface.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/cairo-gl-surface.c b/src/cairo-gl-surface.c index 338f496c1..df0cb1442 100644 --- a/src/cairo-gl-surface.c +++ b/src/cairo-gl-surface.c @@ -759,9 +759,13 @@ _cairo_gl_surface_get_image (cairo_gl_surface_t *surface, glPixelStorei (GL_PACK_ALIGNMENT, 1); glPixelStorei (GL_PACK_ROW_LENGTH, image->stride / cpp); + if (surface->fb == 0 && GLEW_MESA_pack_invert) + glPixelStorei (GL_PACK_INVERT_MESA, 1); glReadPixels (interest->x, interest->y, interest->width, interest->height, format, type, image->data); + if (surface->fb == 0 && GLEW_MESA_pack_invert) + glPixelStorei (GL_PACK_INVERT_MESA, 0); while ((err = glGetError ())) fprintf (stderr, "GL error 0x%08x\n", (int) err);