r600g: disable single-sample fast color clear due to hangs
authorMarek Olšák <marek.olsak@amd.com>
Fri, 3 Jul 2015 14:20:32 +0000 (16:20 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Fri, 3 Jul 2015 14:26:11 +0000 (16:26 +0200)
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@lists.freedesktop.org>
src/gallium/drivers/r600/r600_blit.c

index 01262a59e906d745bf85c54443cb5c3dd29b0cb0..8e553a8e3b99938bd2f6a5d13d9b6420c28b0962 100644 (file)
@@ -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);
        }