Revert "radeonsi: don't wait for idle at the end of gfx IBs"
authorMarek Olšák <marek.olsak@amd.com>
Tue, 19 May 2020 22:31:55 +0000 (18:31 -0400)
committerMarek Olšák <marek.olsak@amd.com>
Sat, 23 May 2020 07:44:44 +0000 (03:44 -0400)
This reverts commit 266fec1307b26a544007423582afd8618791893c.

The kernel doesn't wait for idle as part of implicit sync.

Fixes: 266fec1307b26a544007423582afd8618791893c
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2950
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5095>

src/gallium/drivers/radeonsi/si_gfx_cs.c

index d6baf1ec9d443315a6b4ceb6305205241748ac8a..3efa1731ee813f4ae99dac63a1c0c003353c2e61 100644 (file)
@@ -78,19 +78,6 @@ void si_flush_gfx_cs(struct si_context *ctx, unsigned flags, struct pipe_fence_h
    if (ctx->gfx_flush_in_progress)
       return;
 
-   /* The amdgpu kernel driver always synchronizes execution for shared DMABUFs
-    * between processes, so we don't have to wait at the end of IBs to make sure
-    * everything is idle.
-    *
-    * The amdgpu winsys synchronizes execution for buffers shared by different
-    * contexts within the same process.
-    *
-    * Interop with AMDVLK, RADV, or OpenCL within the same process requires
-    * explicit fences or glFinish.
-    */
-   if (ctx->screen->info.is_amdgpu)
-      flags |= RADEON_FLUSH_START_NEXT_GFX_IB_NOW;
-
    if (!ctx->screen->info.kernel_flushes_tc_l2_after_ib) {
       wait_flags |= wait_ps_cs | SI_CONTEXT_INV_L2;
    } else if (ctx->chip_class == GFX6) {