r600g: get backend mask after the context is fully set up
authorMarek Olšák <maraeo@gmail.com>
Fri, 28 Oct 2011 20:31:34 +0000 (22:31 +0200)
committerMarek Olšák <maraeo@gmail.com>
Fri, 28 Oct 2011 20:55:01 +0000 (22:55 +0200)
src/gallium/drivers/r600/evergreen_hw_context.c
src/gallium/drivers/r600/r600_hw_context.c
src/gallium/drivers/r600/r600_pipe.c

index 72ec5630b9a0afbd0a81e221413dbf8848e5b4e3..f9b8ec28c85a75b4951c6a37242909ceb31d1e17 100644 (file)
@@ -1003,8 +1003,6 @@ int evergreen_context_init(struct r600_context *ctx, struct r600_screen *screen)
        /* save 16dwords space for fence mecanism */
        ctx->pm4_ndwords -= 16;
        ctx->max_db = 8;
-
-       r600_get_backend_mask(ctx);
        return 0;
 out_err:
        r600_context_fini(ctx);
index a7d7ce68bb58e434a40ebdedd8c7f5591a49488f..ca245f0100211932b612adf1d483b9db948b3994 100644 (file)
@@ -922,8 +922,6 @@ int r600_context_init(struct r600_context *ctx, struct r600_screen *screen)
        /* save 16dwords space for fence mecanism */
        ctx->pm4_ndwords -= 16;
        ctx->max_db = 4;
-
-       r600_get_backend_mask(ctx);
        return 0;
 out_err:
        r600_context_fini(ctx);
index d0a86ded83cdb9dcf3b2d490beec48a69fb89cb7..00c2834183531498d516cfea8ae41440000cbd05 100644 (file)
@@ -281,6 +281,8 @@ static struct pipe_context *r600_create_context(struct pipe_screen *screen, void
                return NULL;
        }
 
+       r600_get_backend_mask(&rctx->ctx); /* this emits commands and must be last */
+
        return &rctx->context;
 }