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;
|
||||
|
||||
fd_log(batch, "START RESTORE");
|
||||
if (!batch->nondraw) {
|
||||
fd_log(batch, "START RESTORE");
|
||||
}
|
||||
|
||||
fd6_cache_inv(batch, ring);
|
||||
|
||||
@@ -1290,7 +1292,9 @@ fd6_emit_restore(struct fd_batch *batch, struct fd_ringbuffer *ring)
|
||||
OUT_PKT4(ring, REG_A6XX_RB_LRZ_CNTL, 1);
|
||||
OUT_RING(ring, 0x00000000);
|
||||
|
||||
fd_log(batch, "END RESTORE");
|
||||
if (!batch->nondraw) {
|
||||
fd_log(batch, "END RESTORE");
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
@@ -1354,9 +1354,13 @@ fd6_emit_sysmem_prep(struct fd_batch *batch)
|
||||
fd6_emit_lrz_flush(ring);
|
||||
|
||||
if (batch->prologue) {
|
||||
fd_log(batch, "START PROLOGUE");
|
||||
if (!batch->nondraw) {
|
||||
fd_log(batch, "START PROLOGUE");
|
||||
}
|
||||
fd6_emit_ib(ring, batch->prologue);
|
||||
fd_log(batch, "END PROLOGUE");
|
||||
if (!batch->nondraw) {
|
||||
fd_log(batch, "END PROLOGUE");
|
||||
}
|
||||
}
|
||||
|
||||
/* remaining setup below here does not apply to blit/compute: */
|
||||
|
@@ -632,10 +632,16 @@ render_sysmem(struct fd_batch *batch)
|
||||
if (ctx->query_prepare_tile)
|
||||
ctx->query_prepare_tile(batch, 0, batch->gmem);
|
||||
|
||||
if (!batch->nondraw) {
|
||||
fd_log(batch, "SYSMEM: START DRAW IB");
|
||||
}
|
||||
/* emit IB to drawcmds: */
|
||||
fd_log(batch, "SYSMEM: START DRAW IB");
|
||||
ctx->screen->emit_ib(batch->gmem, batch->draw);
|
||||
fd_log(batch, "SYSMEM: END DRAW IB");
|
||||
|
||||
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