diff options
author | Marek Olšák <[email protected]> | 2013-07-15 03:53:09 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2013-07-15 23:45:22 +0200 |
commit | 7969b567bd4361b44ead6ed5eb86218769a025be (patch) | |
tree | 88f2989261e6c38ec0f8acb2672e4a77bae8c64a /src/gallium/drivers/r300 | |
parent | 22427640b248aeb9875b40b216d27bedb13a1db8 (diff) |
r300g/swtcl: fix a lockup in MSAA resolve
Diffstat (limited to 'src/gallium/drivers/r300')
-rw-r--r-- | 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 5416c3a7495..175b83a1ace 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; |