Mesa (master): r600g: disable single-sample fast color clear due to hangs

Marek Olšák mareko at kemper.freedesktop.org
Fri Jul 3 14:30:20 UTC 2015


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

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Fri Jul  3 16:20:32 2015 +0200

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 <mesa-stable at lists.freedesktop.org>

---

 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 01262a5..8e553a8 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);
 	}




More information about the mesa-commit mailing list