Mesa (9.1): r300g/swtcl: fix a lockup in MSAA resolve

Carl Worth cworth at kemper.freedesktop.org
Wed Jul 31 05:45:20 UTC 2013


Module: Mesa
Branch: 9.1
Commit: 2772ba41e0b09cb9bd66fbc2eb769bcb937380d7
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2772ba41e0b09cb9bd66fbc2eb769bcb937380d7

Author: Marek Olšák <maraeo at gmail.com>
Date:   Mon Jul 15 03:53:09 2013 +0200

r300g/swtcl: fix a lockup in MSAA resolve

Cc: mesa-stable at lists.freedesktop.org
(cherry picked from commit 7969b567bd4361b44ead6ed5eb86218769a025be)

---

 src/gallium/drivers/r300/r300_render.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/r300/r300_render.c b/src/gallium/drivers/r300/r300_render.c
index 5416c3a..175b83a 100644
--- a/src/gallium/drivers/r300/r300_render.c
+++ b/src/gallium/drivers/r300/r300_render.c
@@ -1122,6 +1122,13 @@ void r300_blitter_draw_rectangle(struct blitter_context *blitter,
     static const union pipe_color_union zeros;
     CS_LOCALS(r300);
 
+    /* XXX workaround for a lockup in MSAA resolve on SWTCL chipsets, this
+     * function most probably doesn't handle type=NONE correctly */
+    if (!r300->screen->caps.has_tcl && type == UTIL_BLITTER_ATTRIB_NONE) {
+        util_blitter_draw_rectangle(blitter, x1, y1, x2, y2, depth, type, attrib);
+        return;
+    }
+
     if (r300->skip_rendering)
         return;
 




More information about the mesa-commit mailing list