Mesa (master): radeonsi: check ctx->sdma_cs before using it

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jan 8 08:56:33 UTC 2020


Module: Mesa
Branch: master
Commit: 5f8daae4d829c9f734d2f41058990809d2dba349
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5f8daae4d829c9f734d2f41058990809d2dba349

Author: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Date:   Tue Jan  7 15:57:10 2020 +0100

radeonsi: check ctx->sdma_cs before using it

e5167a9276de1f383888714b41d3a9be2b9c1da9 disabled SDMA for gfx8.
This caused 3 piglit arb_sparse_buffer tests (basic, buffer-data
and commit) to crash on GFX8.

Reported-by: Michel Dänzer <michel at daenzer.net>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Fixes: e5167a9276d ("radeonsi: disable SDMA on gfx8 to fix corruption on RX 580")

---

 src/gallium/drivers/radeonsi/si_buffer.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/radeonsi/si_buffer.c b/src/gallium/drivers/radeonsi/si_buffer.c
index 1de431cc937..38d8e9456c2 100644
--- a/src/gallium/drivers/radeonsi/si_buffer.c
+++ b/src/gallium/drivers/radeonsi/si_buffer.c
@@ -797,7 +797,8 @@ static bool si_resource_commit(struct pipe_context *pctx,
 		si_flush_dma_cs(ctx, PIPE_FLUSH_ASYNC, NULL);
 	}
 
-	ctx->ws->cs_sync_flush(ctx->sdma_cs);
+	if (ctx->sdma_cs)
+		ctx->ws->cs_sync_flush(ctx->sdma_cs);
 	ctx->ws->cs_sync_flush(ctx->gfx_cs);
 
 	assert(resource->target == PIPE_BUFFER);




More information about the mesa-commit mailing list