r300g/swtcl: fix a lockup in MSAA resolve
authorMarek Olšák <maraeo@gmail.com>
Mon, 15 Jul 2013 01:53:09 +0000 (03:53 +0200)
committerMarek Olšák <maraeo@gmail.com>
Mon, 15 Jul 2013 21:45:22 +0000 (23:45 +0200)
Cc: mesa-stable@lists.freedesktop.org
src/gallium/drivers/r300/r300_render.c

index 5416c3a74956c6162d0266a67362c14ac846d355..175b83a1ace8eec0ae8668c1fa4b1d64f03c24b5 100644 (file)
@@ -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;