radeonsi: disable CE on SI + AMDGPU
authorMarek Olšák <marek.olsak@amd.com>
Thu, 18 Aug 2016 23:37:34 +0000 (01:37 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Fri, 26 Aug 2016 13:50:10 +0000 (15:50 +0200)
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/gallium/drivers/radeonsi/si_pipe.c

index 67c3a260ef0cb6de017bbe1a5631de6be380b640..8e7d021b3ae38d70134ed1a553ea5a4318c7754f 100644 (file)
@@ -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;