Mesa (master): mesa/swrast: fix inverted front buffer rendering with old-school swrast

Dave Airlie airlied at kemper.freedesktop.org
Thu Nov 21 03:00:31 UTC 2013


Module: Mesa
Branch: master
Commit: a43b49dfb13dc7e6d2d6d7ceee892077038d7102
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a43b49dfb13dc7e6d2d6d7ceee892077038d7102

Author: Dave Airlie <airlied at redhat.com>
Date:   Wed Nov 13 12:53:52 2013 +1000

mesa/swrast: fix inverted front buffer rendering with old-school swrast

I've no idea when this broke, but we have some people who wanted it fixed,
so here's my attempt.

reproducer, run readpix with swrast hit f, or run trival tri -sb things are
upside down, after this patch they aren't.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=62142
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=66213

Cc: <mesa-stable at lists.freedesktop.org>"
Signed-off-by: Dave Airlie <airlied at redhat.com>

---

 src/mesa/drivers/dri/swrast/swrast.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/mesa/drivers/dri/swrast/swrast.c b/src/mesa/drivers/dri/swrast/swrast.c
index c062071..73dc5c4 100644
--- a/src/mesa/drivers/dri/swrast/swrast.c
+++ b/src/mesa/drivers/dri/swrast/swrast.c
@@ -406,8 +406,8 @@ swrast_map_renderbuffer(struct gl_context *ctx,
 				     (char *) xrb->Base.Buffer,
 				     dPriv->loaderPrivate);
 
-      *out_map = xrb->Base.Buffer;
-      *out_stride = stride;
+      *out_map = xrb->Base.Buffer + (h - 1) * stride;
+      *out_stride = -stride;
       return;
    }
 




More information about the mesa-commit mailing list