From 97ec2c694fe568e375ec7a2b85c1acb1e4666b54 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Fri, 3 Jul 2015 16:20:32 +0200 Subject: [PATCH] r600g: disable single-sample fast color clear due to hangs Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73528 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82186 Cc: 10.4 10.5 10.6 --- src/gallium/drivers/r600/r600_blit.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/r600/r600_blit.c b/src/gallium/drivers/r600/r600_blit.c index 01262a59e90..8e553a8e3b9 100644 --- a/src/gallium/drivers/r600/r600_blit.c +++ b/src/gallium/drivers/r600/r600_blit.c @@ -393,7 +393,12 @@ static void r600_clear(struct pipe_context *ctx, unsigned buffers, struct r600_context *rctx = (struct r600_context *)ctx; struct pipe_framebuffer_state *fb = &rctx->framebuffer.state; - if (buffers & PIPE_CLEAR_COLOR && rctx->b.chip_class >= EVERGREEN) { + /* Single-sample fast color clear is broken on r600g: + * https://bugs.freedesktop.org/show_bug.cgi?id=73528 + * https://bugs.freedesktop.org/show_bug.cgi?id=82186 + */ + if (buffers & PIPE_CLEAR_COLOR && rctx->b.chip_class >= EVERGREEN && + rctx->framebuffer.nr_samples > 1) { evergreen_do_fast_color_clear(&rctx->b, fb, &rctx->framebuffer.atom, &buffers, color); } -- 2.30.2