radeonsi: don't use PFP_SYNC_ME with compute-only contexts
authorMarek Olšák <marek.olsak@amd.com>
Mon, 1 Apr 2019 16:29:43 +0000 (12:29 -0400)
committerMarek Olšák <marek.olsak@amd.com>
Tue, 2 Apr 2019 12:46:49 +0000 (08:46 -0400)
Compute rings don't have PFP.

Fixes: a1378639ab1 "radeonsi: always use compute rings for clover on CI and newer (v2)"

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Tested-by: Jan Vesely <jan.vesely@rutgers.edu>
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
src/gallium/drivers/radeonsi/si_cp_dma.c

index 5993369..f349325 100644 (file)
@@ -131,7 +131,7 @@ static void si_emit_cp_dma(struct si_context *sctx, struct radeon_cmdbuf *cs,
         * indices. If we wanted to execute CP DMA in PFP, this packet
         * should precede it.
         */
-       if (flags & CP_DMA_PFP_SYNC_ME) {
+       if (sctx->has_graphics && flags & CP_DMA_PFP_SYNC_ME) {
                radeon_emit(cs, PKT3(PKT3_PFP_SYNC_ME, 0, 0));
                radeon_emit(cs, 0);
        }