diff options
-rw-r--r-- | src/gallium/drivers/radeonsi/si_pipe.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gallium/drivers/radeonsi/si_pipe.c b/src/gallium/drivers/radeonsi/si_pipe.c index 67c3a260ef0..8e7d021b3ae 100644 --- a/src/gallium/drivers/radeonsi/si_pipe.c +++ b/src/gallium/drivers/radeonsi/si_pipe.c @@ -186,7 +186,9 @@ static struct pipe_context *si_create_context(struct pipe_screen *screen, sctx->b.gfx.cs = ws->cs_create(sctx->b.ctx, RING_GFX, si_context_gfx_flush, sctx); - if (!(sscreen->b.debug_flags & DBG_NO_CE) && ws->cs_add_const_ib) { + /* SI + AMDGPU + CE = GPU hang */ + if (!(sscreen->b.debug_flags & DBG_NO_CE) && ws->cs_add_const_ib && + sscreen->b.chip_class != SI) { sctx->ce_ib = ws->cs_add_const_ib(sctx->b.gfx.cs); if (!sctx->ce_ib) goto fail; |