radeonsi/sqtt: retrieve sqtt data after the flush ended

This will allow to use a staging buffer to copy the sqtt data
without moving away the BO from VRAM (without this change,
the vram->staging copy won't be executed since we're in the
middle of a flush).

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39194>
This commit is contained in:
Pierre-Eric Pelloux-Prayer 2026-01-07 11:06:06 +01:00 committed by Marge Bot
parent 4014a20da3
commit 6ffcb2f47e

View file

@ -219,10 +219,6 @@ void si_flush_gfx_cs(struct si_context *ctx, unsigned flags, struct pipe_fence_h
si_check_vm_faults(ctx, &ctx->current_saved_cs->gfx);
}
if (unlikely(ctx->sqtt && (flags & PIPE_FLUSH_END_OF_FRAME))) {
si_handle_sqtt(ctx, &ctx->gfx_cs);
}
if (ctx->current_saved_cs)
si_saved_cs_reference(&ctx->current_saved_cs, NULL);
@ -232,6 +228,10 @@ void si_flush_gfx_cs(struct si_context *ctx, unsigned flags, struct pipe_fence_h
si_begin_new_gfx_cs(ctx, false);
ctx->gfx_flush_in_progress = false;
if (unlikely(ctx->sqtt && (flags & PIPE_FLUSH_END_OF_FRAME))) {
si_handle_sqtt(ctx, &ctx->gfx_cs);
}
#if SHADER_DEBUG_LOG
if (debug_get_bool_option("shaderlog", false))
si_dump_debug_log(ctx, false);