gallium/radeon: don't use PREDICATION_OP_CLEAR
[mesa.git] / src / gallium / drivers / radeon / r600_texture.c
index 40075ae7031b886795dfdf0d9be58445644038e1..edfdfe33187a09a730b876683959d250b2a1a193 100644 (file)
@@ -486,6 +486,9 @@ static void r600_texture_alloc_cmask_separate(struct r600_common_screen *rscreen
 static void vi_texture_alloc_dcc_separate(struct r600_common_screen *rscreen,
                                              struct r600_texture *rtex)
 {
+       if (rscreen->debug_flags & DBG_NO_DCC)
+               return;
+
        rtex->dcc_buffer = (struct r600_resource *)
                r600_aligned_buffer_create(&rscreen->b, PIPE_BIND_CUSTOM,
                                   PIPE_USAGE_DEFAULT, rtex->surface.dcc_size, rtex->surface.dcc_alignment);
@@ -638,9 +641,8 @@ r600_texture_create_object(struct pipe_screen *screen,
                                return NULL;
                        }
                }
-               if (rtex->surface.dcc_enabled) {
+               if (rtex->surface.dcc_size)
                        vi_texture_alloc_dcc_separate(rscreen, rtex);
-               }
        }
 
        /* Now create the backing buffer. */
@@ -1371,6 +1373,9 @@ void evergreen_do_fast_color_clear(struct r600_common_context *rctx,
                        uint32_t reset_value;
                        bool clear_words_needed;
 
+                       if (rctx->screen->debug_flags & DBG_NO_DCC_CLEAR)
+                               continue;
+
                        vi_get_fast_clear_parameters(fb->cbufs[i]->format, color, &reset_value, &clear_words_needed);
 
                        rctx->clear_buffer(&rctx->b, &tex->dcc_buffer->b.b,