From e03461f3bd432daf6e0bfa31a2e83c3ba7bd8ab1 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Mon, 22 Dec 2025 17:50:55 +0100 Subject: [PATCH] radv: change the default value of RADV_TRACE_CACHE_COUNTERS on < GFX10 To not print a warning about missing SPM by default on < GFX10. Also move the function to radv_physical_device.c and make it non-static. Signed-off-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_device.c | 11 ++--------- src/amd/vulkan/radv_physical_device.c | 9 +++++++++ src/amd/vulkan/radv_physical_device.h | 2 ++ 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 170f47506a1..340c2b5ac7a 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -68,13 +68,6 @@ typedef void *drmDevicePtr; #include "ac_descriptors.h" #include "ac_formats.h" -static bool -radv_spm_trace_enabled(const struct radv_instance *instance) -{ - return (instance->vk.trace_mode & RADV_TRACE_MODE_RGP) && - debug_get_bool_option("RADV_THREAD_TRACE_CACHE_COUNTERS", true); -} - static bool radv_trap_handler_enabled() { @@ -603,10 +596,10 @@ radv_device_init_rgp(struct radv_device *device) "radv: Thread trace support is enabled (initial buffer size: %u MiB, " "instruction timing: %s, cache counters: %s, queue events: %s).\n", device->sqtt.buffer_size / (1024 * 1024), radv_is_instruction_timing_enabled() ? "enabled" : "disabled", - radv_spm_trace_enabled(instance) ? "enabled" : "disabled", + radv_spm_trace_enabled(pdev) ? "enabled" : "disabled", radv_sqtt_queue_events_enabled() ? "enabled" : "disabled"); - if (radv_spm_trace_enabled(instance)) { + if (radv_spm_trace_enabled(pdev)) { if (pdev->info.gfx_level >= GFX10 && pdev->info.gfx_level <= GFX12 && pdev->info.gfx_level != GFX11_5) { if (!radv_spm_init(device)) return VK_ERROR_INITIALIZATION_FAILED; diff --git a/src/amd/vulkan/radv_physical_device.c b/src/amd/vulkan/radv_physical_device.c index a0e320491db..79741c7eda3 100644 --- a/src/amd/vulkan/radv_physical_device.c +++ b/src/amd/vulkan/radv_physical_device.c @@ -75,6 +75,15 @@ radv_taskmesh_enabled(const struct radv_physical_device *pdev) pdev->info.has_gang_submit; } +bool +radv_spm_trace_enabled(const struct radv_physical_device *pdev) +{ + const struct radv_instance *instance = radv_physical_device_instance(pdev); + + return (instance->vk.trace_mode & RADV_TRACE_MODE_RGP) && + debug_get_bool_option("RADV_THREAD_TRACE_CACHE_COUNTERS", pdev->info.gfx_level >= GFX10); +} + bool radv_sparse_enabled(const struct radv_physical_device *pdev) { diff --git a/src/amd/vulkan/radv_physical_device.h b/src/amd/vulkan/radv_physical_device.h index b9a50569e61..8e4913be3f4 100644 --- a/src/amd/vulkan/radv_physical_device.h +++ b/src/amd/vulkan/radv_physical_device.h @@ -318,6 +318,8 @@ bool radv_transfer_queue_enabled(const struct radv_physical_device *pdev); bool radv_compute_queue_enabled(const struct radv_physical_device *pdev); +bool radv_spm_trace_enabled(const struct radv_physical_device *pdev); + static inline uint32_t radv_get_sampled_image_desc_size(const struct radv_physical_device *pdev) {