From b9b9850d82d90f1dcb987060da57fe0e80918255 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Wed, 22 Apr 2026 13:45:53 +0200 Subject: [PATCH] radv: move uses_perf_counters to radv_cmd_buffer_queue_state Signed-off-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_cmd_buffer.c | 1 + src/amd/vulkan/radv_cmd_buffer.h | 4 +--- src/amd/vulkan/radv_perfcounter.c | 2 +- src/amd/vulkan/radv_queue.c | 2 +- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index c7ca6dbebb1..f35c0dc6838 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -9902,6 +9902,7 @@ radv_merge_queue_state(const struct radv_cmd_buffer_queue_state *src, struct rad dst->gds_needed |= src->gds_needed; dst->gds_oa_needed |= src->gds_oa_needed; dst->sample_positions_needed |= src->sample_positions_needed; + dst->uses_perf_counters |= src->uses_perf_counters; } VKAPI_ATTR void VKAPI_CALL diff --git a/src/amd/vulkan/radv_cmd_buffer.h b/src/amd/vulkan/radv_cmd_buffer.h index 136a8ff4cc3..a073dd3647d 100644 --- a/src/amd/vulkan/radv_cmd_buffer.h +++ b/src/amd/vulkan/radv_cmd_buffer.h @@ -434,9 +434,6 @@ struct radv_cmd_state { /* Whether to suspend streamout for internal driver operations. */ bool suspend_streamout; - /* Whether this commandbuffer uses performance counters. */ - bool uses_perf_counters; - struct radv_ia_multi_vgt_param_helpers ia_multi_vgt_param; /* Tessellation info when patch control points is dynamic. */ @@ -524,6 +521,7 @@ struct radv_cmd_buffer_queue_state { bool gds_needed; /* Emulated queries on GFX10-GFX10.3 */ bool gds_oa_needed; /* NGG streamout on GFX11-GFX11.5 */ bool sample_positions_needed; + bool uses_perf_counters; }; struct radv_cmd_buffer { diff --git a/src/amd/vulkan/radv_perfcounter.c b/src/amd/vulkan/radv_perfcounter.c index 96ca57e5dff..074d169ba9a 100644 --- a/src/amd/vulkan/radv_perfcounter.c +++ b/src/amd/vulkan/radv_perfcounter.c @@ -623,7 +623,7 @@ radv_pc_begin_query(struct radv_cmd_buffer *cmd_buffer, struct radv_pc_query_poo const struct radv_physical_device *pdev = radv_device_physical(device); ASSERTED unsigned cdw_max; - cmd_buffer->state.uses_perf_counters = true; + cmd_buffer->queue_state.uses_perf_counters = true; cdw_max = radeon_check_space(device->ws, cs->b, 256 + /* Random one time stuff */ diff --git a/src/amd/vulkan/radv_queue.c b/src/amd/vulkan/radv_queue.c index f25b85b56b5..1a7a91e2ee7 100644 --- a/src/amd/vulkan/radv_queue.c +++ b/src/amd/vulkan/radv_queue.c @@ -1241,7 +1241,7 @@ radv_update_preambles(struct radv_queue_state *queue, struct radv_device *device needs.gds |= cmd_buffer->queue_state.gds_needed; needs.gds_oa |= cmd_buffer->queue_state.gds_oa_needed; needs.sample_positions |= cmd_buffer->queue_state.sample_positions_needed; - *use_perf_counters |= cmd_buffer->state.uses_perf_counters; + *use_perf_counters |= cmd_buffer->queue_state.uses_perf_counters; *has_follower |= !!cmd_buffer->gang.cs; }