mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 16:08:04 +02:00
radeonsi: limit the sqtt buffer size
We don't want the buffer size to wraparound to 0. Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37882>
This commit is contained in:
parent
a7bf37e3bd
commit
d3f8571e84
1 changed files with 16 additions and 6 deletions
|
|
@ -266,12 +266,21 @@ si_sqtt_resize_bo(struct si_context *sctx)
|
|||
struct pb_buffer_lean *bo = sctx->sqtt->bo;
|
||||
radeon_bo_reference(sctx->screen->ws, &bo, NULL);
|
||||
|
||||
/* Double the size of the thread trace buffer per SE. */
|
||||
sctx->sqtt->buffer_size *= 2;
|
||||
|
||||
mesa_loge("Failed to get the thread trace because the buffer "
|
||||
"was too small, resizing to %d KB",
|
||||
sctx->sqtt->buffer_size / 1024);
|
||||
if (sctx->sqtt->buffer_size < UINT32_MAX / 2) {
|
||||
/* Double the size of the thread trace buffer per SE. */
|
||||
sctx->sqtt->buffer_size *= 2;
|
||||
mesa_loge("Failed to get the thread trace because the buffer "
|
||||
"was too small, resizing to %d kB",
|
||||
sctx->sqtt->buffer_size / 1024);
|
||||
} else {
|
||||
mesa_loge("Failed to get the thread trace because the buffer "
|
||||
"was too small (%d kB). Cancelling trace capture.",
|
||||
sctx->sqtt->buffer_size / 1024);
|
||||
if (sctx->sqtt->instruction_timing_enabled)
|
||||
mesa_loge("Try again with AMD_THREAD_TRACE_INSTRUCTION_TIMING=false"
|
||||
" to reduce the size of the captured data.");
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Re-create the thread trace BO. */
|
||||
return si_sqtt_init_bo(sctx);
|
||||
|
|
@ -329,6 +338,7 @@ bool si_init_sqtt(struct si_context *sctx)
|
|||
/* Default buffer size set to 32MB per SE. */
|
||||
sctx->sqtt->buffer_size =
|
||||
debug_get_num_option("AMD_THREAD_TRACE_BUFFER_SIZE", 32 * 1024) * 1024;
|
||||
assert(sctx->sqtt->buffer_size);
|
||||
sctx->sqtt->instruction_timing_enabled =
|
||||
debug_get_bool_option("AMD_THREAD_TRACE_INSTRUCTION_TIMING", true);
|
||||
sctx->sqtt->start_frame = 10;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue