From: Jérôme Glisse <jgli...@redhat.com> Trace buffer allow to dump a command buffer which is fully repliable as a standalone c program. This make debuging lockup immensively simpler. This patch only plug the core minimal stuff and is still missing the more fancy aspect that are in r600g. It however already proved useful in debuging hawaii.
Signed-off-by: Jérôme Glisse <jgli...@redhat.com> --- src/gallium/drivers/radeonsi/si_hw_context.c | 2 +- src/gallium/drivers/radeonsi/si_pipe.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/radeonsi/si_hw_context.c b/src/gallium/drivers/radeonsi/si_hw_context.c index 56fa664..c947cd0 100644 --- a/src/gallium/drivers/radeonsi/si_hw_context.c +++ b/src/gallium/drivers/radeonsi/si_hw_context.c @@ -115,7 +115,7 @@ void si_context_gfx_flush(void *context, unsigned flags, #endif /* Flush the CS. */ - ctx->b.ws->cs_flush(cs, flags, fence, 0); + ctx->b.ws->cs_flush(cs, flags, fence, ctx->screen->b.cs_count++); ctx->b.rings.gfx.flushing = false; #if SI_TRACE_CS diff --git a/src/gallium/drivers/radeonsi/si_pipe.c b/src/gallium/drivers/radeonsi/si_pipe.c index 4f19268..2a7049b 100644 --- a/src/gallium/drivers/radeonsi/si_pipe.c +++ b/src/gallium/drivers/radeonsi/si_pipe.c @@ -98,7 +98,8 @@ static struct pipe_context *si_create_context(struct pipe_screen *screen, void * } sctx->b.rings.gfx.cs = ws->cs_create(ws, RING_GFX, si_context_gfx_flush, - sctx, NULL); + sctx, sscreen->b.trace_bo ? + sscreen->b.trace_bo->cs_buf : NULL); sctx->b.rings.gfx.flush = si_context_gfx_flush; si_init_all_descriptors(sctx); -- 1.9.3 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev