Module: Mesa Branch: 9.0 Commit: e1cb50b15dbb75d1ba0fe184d05be7d302b058ee URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e1cb50b15dbb75d1ba0fe184d05be7d302b058ee
Author: Robert Bragg <rob...@linux.intel.com> Date: Tue Sep 18 16:10:03 2012 +0100 SwapBuffersRegionNOK: invert rectangles on y axis The EGL_NOK_swap_region2 spec states that the rectangles are specified with a bottom-left origin within a surface coordinate space also with a bottom left origin, so this patch ensures the rectangles are flipped before passing them on to dri2_copy_region. Fixes piglit's egl-nok-swap-region test. Tested-by: Matt Turner <matts...@gmail.com> (cherry picked from commit 0a523a8820e8a2549ac1c7887eb1892b228af44b) --- src/egl/drivers/dri2/platform_x11.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) diff --git a/src/egl/drivers/dri2/platform_x11.c b/src/egl/drivers/dri2/platform_x11.c index 7486a91..939af86 100644 --- a/src/egl/drivers/dri2/platform_x11.c +++ b/src/egl/drivers/dri2/platform_x11.c @@ -778,10 +778,9 @@ dri2_swap_buffers_region(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *draw, if (numRects > (int)ARRAY_SIZE(rectangles)) return dri2_copy_region(drv, disp, draw, dri2_surf->region); - /* FIXME: Invert y here? */ for (i = 0; i < numRects; i++) { rectangles[i].x = rects[i * 4]; - rectangles[i].y = rects[i * 4 + 1]; + rectangles[i].y = dri2_surf->base.Height - rects[i * 4 + 1] - rects[i * 4 + 3]; rectangles[i].width = rects[i * 4 + 2]; rectangles[i].height = rects[i * 4 + 3]; } _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit