From d24a93dbecf25e90ca5e0f9266255a80a518ee59 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Fri, 2 Feb 2024 16:01:42 +0100 Subject: [PATCH] radv/sqtt: fix describing queue submits for RGP The submit_sub_index field is used by RGP to determine the number of submits. Previously, it was incorrectly reporting the same number of submits than command buffers. Fixes: 88cbe32048a ("radv: add support for RGP queue events") Signed-off-by: Samuel Pitoiset Part-of: (cherry picked from commit c6286e39ecc6f1ee20de9a830430a50fac51d210) --- .pick_status.json | 2 +- src/amd/vulkan/layers/radv_sqtt_layer.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 0b9bac7e14d..52ef5d035b3 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -794,7 +794,7 @@ "description": "radv/sqtt: fix describing queue submits for RGP", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "88cbe32048aff3d7a873474bebc2d1068c21ce46", "notes": null diff --git a/src/amd/vulkan/layers/radv_sqtt_layer.c b/src/amd/vulkan/layers/radv_sqtt_layer.c index 60f69735c7f..c8b85a075ab 100644 --- a/src/amd/vulkan/layers/radv_sqtt_layer.c +++ b/src/amd/vulkan/layers/radv_sqtt_layer.c @@ -573,8 +573,8 @@ radv_describe_queue_present(struct radv_queue *queue, uint64_t cpu_timestamp, vo } static VkResult -radv_describe_queue_submit(struct radv_queue *queue, struct radv_cmd_buffer *cmd_buffer, uint64_t cpu_timestamp, - void *pre_gpu_timestamp_ptr, void *post_gpu_timestamp_ptr) +radv_describe_queue_submit(struct radv_queue *queue, struct radv_cmd_buffer *cmd_buffer, uint32_t cmdbuf_idx, + uint64_t cpu_timestamp, void *pre_gpu_timestamp_ptr, void *post_gpu_timestamp_ptr) { struct radv_device *device = queue->device; struct rgp_queue_event_record *record; @@ -590,6 +590,7 @@ radv_describe_queue_submit(struct radv_queue *queue, struct radv_cmd_buffer *cmd record->gpu_timestamps[0] = pre_gpu_timestamp_ptr; record->gpu_timestamps[1] = post_gpu_timestamp_ptr; record->queue_info_index = queue->vk.queue_family_index; + record->submit_sub_index = cmdbuf_idx; radv_describe_queue_event(queue, record); @@ -841,7 +842,7 @@ sqtt_QueueSubmit2(VkQueue _queue, uint32_t submitCount, const VkSubmitInfo2 *pSu }; RADV_FROM_HANDLE(radv_cmd_buffer, cmd_buffer, pCommandBufferInfo->commandBuffer); - radv_describe_queue_submit(queue, cmd_buffer, cpu_timestamp, gpu_timestamps_ptr[0], gpu_timestamps_ptr[1]); + radv_describe_queue_submit(queue, cmd_buffer, j, cpu_timestamp, gpu_timestamps_ptr[0], gpu_timestamps_ptr[1]); } sqtt_submit.commandBufferInfoCount = new_cmdbuf_count;