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: 88cbe32048 ("radv: add support for RGP queue events")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27439>
(cherry picked from commit c6286e39ecc6f1ee20de9a830430a50fac51d210)
This commit is contained in:
Samuel Pitoiset 2024-02-02 16:01:42 +01:00 committed by Eric Engestrom
parent dbf730b14d
commit d24a93dbec
2 changed files with 5 additions and 4 deletions

View file

@ -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

View file

@ -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;