radeonsi: stop using info.opcode_count[TGSI_OPCODE_INTERP_SAMPLE]
[mesa.git] / src / gallium / drivers / radeonsi / si_blit.c
index 63601ec149710914186c8f6c432f877a8d38b8f5..bce5f36773ee29bdec35e0de936daad437c9f8df 100644 (file)
@@ -1127,18 +1127,10 @@ static bool do_hardware_msaa_resolve(struct pipe_context *ctx,
                 * This is still the fastest codepath even with this clear.
                 */
                if (vi_dcc_enabled(dst, info->dst.level)) {
-                       /* TODO: Implement per-level DCC clears for GFX9. */
-                       if (sctx->chip_class >= GFX9 &&
-                           info->dst.resource->last_level != 0)
+                       if (!vi_dcc_clear_level(sctx, dst, info->dst.level,
+                                               DCC_UNCOMPRESSED))
                                goto resolve_to_temp;
 
-                       /* This can happen with mipmapping. */
-                       if (sctx->chip_class == GFX8 &&
-                           !dst->surface.u.legacy.level[info->dst.level].dcc_fast_clear_size)
-                               goto resolve_to_temp;
-
-                       vi_dcc_clear_level(sctx, dst, info->dst.level,
-                                          0xFFFFFFFF);
                        dst->dirty_level_mask &= ~(1 << info->dst.level);
                }
 
@@ -1246,11 +1238,11 @@ static void si_blit(struct pipe_context *ctx,
        si_blitter_end(sctx);
 }
 
-static boolean si_generate_mipmap(struct pipe_context *ctx,
-                                 struct pipe_resource *tex,
-                                 enum pipe_format format,
-                                 unsigned base_level, unsigned last_level,
-                                 unsigned first_layer, unsigned last_layer)
+static bool si_generate_mipmap(struct pipe_context *ctx,
+                              struct pipe_resource *tex,
+                              enum pipe_format format,
+                              unsigned base_level, unsigned last_level,
+                              unsigned first_layer, unsigned last_layer)
 {
        struct si_context *sctx = (struct si_context*)ctx;
        struct si_texture *stex = (struct si_texture *)tex;