radeonsi: don't flush TC at the end of IBs on DRM >= 3.2.0
authorMarek Olšák <marek.olsak@amd.com>
Thu, 26 May 2016 18:39:51 +0000 (20:39 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Tue, 31 May 2016 14:41:22 +0000 (16:41 +0200)
It's not needed since it was fixed in the kernel.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
src/gallium/drivers/radeonsi/si_hw_context.c

index dcf206df216a1702d54272dd287a94c70018d9f3..6221f1cb83a5c9ae199c36101cd20005fdec54bd 100644 (file)
@@ -116,8 +116,9 @@ void si_context_gfx_flush(void *context, unsigned flags,
 
        ctx->b.flags |= SI_CONTEXT_CS_PARTIAL_FLUSH |
                        SI_CONTEXT_PS_PARTIAL_FLUSH;
-       /* The kernel doesn't flush TC for VI correctly (need TC_WB_ACTION_ENA). */
-       if (ctx->b.chip_class == VI)
+
+       /* DRM 3.1.0 doesn't flush TC for VI correctly. */
+       if (ctx->b.chip_class == VI && ctx->b.screen->info.drm_minor <= 1)
                ctx->b.flags |= SI_CONTEXT_INV_GLOBAL_L2 |
                                SI_CONTEXT_INV_VMEM_L1;