diff options
author | Marek Olšák <[email protected]> | 2015-07-03 16:20:32 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2015-07-03 16:26:11 +0200 |
commit | 97ec2c694fe568e375ec7a2b85c1acb1e4666b54 (patch) | |
tree | fb7a3e60836ae94b4a40b7b721f1b7938156d321 | |
parent | 7744687ddb7f1b223da6a862c282173123921023 (diff) |
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 <[email protected]>
-rw-r--r-- | src/gallium/drivers/r600/r600_blit.c | 7 |
1 files changed, 6 insertions, 1 deletions
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); } |