r600g,radeonsi: disable fast clear if render condition is on
authorMarek Olšák <marek.olsak@amd.com>
Mon, 2 Jun 2014 13:45:51 +0000 (15:45 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Tue, 3 Jun 2014 11:33:14 +0000 (13:33 +0200)
For some reason, CP DMA doesn't follow the predicate bit if I enable it,
so this is the only option.

This fixes piglit: spec/NV_conditional_render/clear

Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
src/gallium/drivers/radeon/r600_texture.c

index e30d933093da6bc06e616ca1a8c711d0b78d50ff..3a37465b13eb9cc6df288e435de417163747cb68 100644 (file)
@@ -1235,6 +1235,9 @@ void evergreen_do_fast_color_clear(struct r600_common_context *rctx,
 {
        int i;
 
+       if (rctx->current_render_cond)
+               return;
+
        for (i = 0; i < fb->nr_cbufs; i++) {
                struct r600_texture *tex;
                unsigned clear_bit = PIPE_CLEAR_COLOR0 << i;