From 52caa3a8878ab144fa3eaf59148dcd0b269387eb Mon Sep 17 00:00:00 2001 From: squidbus <175574877+squidbus@users.noreply.github.com> Date: Wed, 15 Jan 2025 22:58:27 -0800 Subject: [PATCH] liverpool: Add scope markers for graphics/compute queues. --- src/video_core/amdgpu/liverpool.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/video_core/amdgpu/liverpool.cpp b/src/video_core/amdgpu/liverpool.cpp index 111bf0d31..bade44dd1 100644 --- a/src/video_core/amdgpu/liverpool.cpp +++ b/src/video_core/amdgpu/liverpool.cpp @@ -224,6 +224,10 @@ Liverpool::Task Liverpool::ProcessGraphics(std::span dcb, std::spanScopeMarkerBegin("dcb"); + } + const auto base_addr = reinterpret_cast(dcb.data()); while (!dcb.empty()) { const auto* header = reinterpret_cast(dcb.data()); @@ -701,6 +705,10 @@ Liverpool::Task Liverpool::ProcessGraphics(std::span dcb, std::spanScopeMarkerEnd(); + } + if (ce_task.handle) { ASSERT_MSG(ce_task.handle.done(), "Partially processed CCB"); ce_task.handle.destroy(); @@ -714,6 +722,10 @@ Liverpool::Task Liverpool::ProcessCompute(std::span acb, u32 vqid) { FIBER_ENTER(acb_task_name[vqid]); const auto& queue = asc_queues[{vqid}]; + if (rasterizer) { + rasterizer->ScopeMarkerBegin(fmt::format("acb[{}]", vqid)); + } + auto base_addr = reinterpret_cast(acb.data()); while (!acb.empty()) { const auto* header = reinterpret_cast(acb.data()); @@ -878,6 +890,10 @@ Liverpool::Task Liverpool::ProcessCompute(std::span acb, u32 vqid) { } } + if (rasterizer) { + rasterizer->ScopeMarkerEnd(); + } + FIBER_EXIT; }