freedreno: Don't emit log/trace points in gmem for nondraw
For blit/compute non-draw batches, we are already emitting traces in the draw cmdstream, which means we cannot also have traces in the GMEM ring (as that breaks the FIFO ordering of traces) Signed-off-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7818>
This commit is contained in:
@@ -1174,7 +1174,9 @@ fd6_emit_restore(struct fd_batch *batch, struct fd_ringbuffer *ring)
|
||||
{
|
||||
//struct fd_context *ctx = batch->ctx;
|
||||
|
||||
if (!batch->nondraw) {
|
||||
fd_log(batch, "START RESTORE");
|
||||
}
|
||||
|
||||
fd6_cache_inv(batch, ring);
|
||||
|
||||
@@ -1290,8 +1292,10 @@ fd6_emit_restore(struct fd_batch *batch, struct fd_ringbuffer *ring)
|
||||
OUT_PKT4(ring, REG_A6XX_RB_LRZ_CNTL, 1);
|
||||
OUT_RING(ring, 0x00000000);
|
||||
|
||||
if (!batch->nondraw) {
|
||||
fd_log(batch, "END RESTORE");
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
fd6_mem_to_mem(struct fd_ringbuffer *ring, struct pipe_resource *dst,
|
||||
|
@@ -1354,10 +1354,14 @@ fd6_emit_sysmem_prep(struct fd_batch *batch)
|
||||
fd6_emit_lrz_flush(ring);
|
||||
|
||||
if (batch->prologue) {
|
||||
if (!batch->nondraw) {
|
||||
fd_log(batch, "START PROLOGUE");
|
||||
}
|
||||
fd6_emit_ib(ring, batch->prologue);
|
||||
if (!batch->nondraw) {
|
||||
fd_log(batch, "END PROLOGUE");
|
||||
}
|
||||
}
|
||||
|
||||
/* remaining setup below here does not apply to blit/compute: */
|
||||
if (batch->nondraw)
|
||||
|
@@ -632,10 +632,16 @@ render_sysmem(struct fd_batch *batch)
|
||||
if (ctx->query_prepare_tile)
|
||||
ctx->query_prepare_tile(batch, 0, batch->gmem);
|
||||
|
||||
/* emit IB to drawcmds: */
|
||||
if (!batch->nondraw) {
|
||||
fd_log(batch, "SYSMEM: START DRAW IB");
|
||||
}
|
||||
/* emit IB to drawcmds: */
|
||||
ctx->screen->emit_ib(batch->gmem, batch->draw);
|
||||
|
||||
if (!batch->nondraw) {
|
||||
fd_log(batch, "SYSMEM: END DRAW IB");
|
||||
}
|
||||
|
||||
fd_reset_wfi(batch);
|
||||
|
||||
if (ctx->emit_sysmem_fini)
|
||||
|
Reference in New Issue
Block a user