diff options
| author | Takoroka <137927095+Takoroka@users.noreply.github.com> | 2026-10-29 23:33:03 -0400 |
|---|---|---|
| committer | Takoroka <137927095+Takoroka@users.noreply.github.com> | 2026-10-29 23:33:03 -0400 |
| commit | 1eb97beca0e7ca4998a24dd57aaddfedd2224947 (patch) | |
| tree | e79f569f48ed9468dc66fa0db05a2e38b7aff8af /src/core | |
| parent | 093fc7661800fc05419a1ab26e7b8859c55c0908 (diff) | |
nx2: log per-call GPU memory, syncpoint and shader lowering lines at debug level
GPU memory registration (gpu sub 101) and mapping (211) alone wrote two
info lines per allocation, about 80% of every Switch 2 log (27,000 lines
in five minutes of Mario Kart World), with slot jobs, semaphore pages,
GPU-only region words, syncpoint waits and each lowered shader on top.
They are still there at debug level; one-time messages, the GPU-only
region backing and every warning about unexpected requests stay as
they were.
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/hle/service/nx2_gsv.h | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/core/hle/service/nx2_gsv.h b/src/core/hle/service/nx2_gsv.h index 272ba8b8ef..b93005f2ae 100644 --- a/src/core/hle/service/nx2_gsv.h +++ b/src/core/hle/service/nx2_gsv.h @@ -210,7 +210,7 @@ private: const u32 syncpoint = ~cmd_buf[3]; const u64 value = u64{cmd_buf[4]} | (u64{cmd_buf[5]} << 32); const u32 mode = cmd_buf[6]; - LOG_INFO(Service, "nx2:syncpt TIPC 201 slot={:#x} syncpoint={} value={:#x} mode={}", slot, + LOG_DEBUG(Service, "nx2:syncpt TIPC 201 slot={:#x} syncpoint={} value={:#x} mode={}", slot, syncpoint, value, mode); auto*& event = m_events[slot]; if (event == nullptr) { @@ -249,7 +249,7 @@ private: void CancelSlotEvent(HLERequestContext& ctx) { const u32 slot = ctx.CommandBuffer()[2]; - LOG_INFO(Service, "nx2:syncpt TIPC 202 slot={:#x}", slot); + LOG_DEBUG(Service, "nx2:syncpt TIPC 202 slot={:#x}", slot); if (auto it = m_requests.find(slot); it != m_requests.end()) { Cancel(it->second); } @@ -402,7 +402,7 @@ private: const auto* b = ctx.CommandBuffer(); const u64 start = u64{b[2]} | (u64{b[3]} << 32); const u64 last = u64{b[4]} | (u64{b[5]} << 32); - LOG_INFO(Service, "nx2:gpu sub 101 start={:#x} last={:#x} [6]={:#x} [7]={:#x}", start, + LOG_DEBUG(Service, "nx2:gpu sub 101 start={:#x} last={:#x} [6]={:#x} [7]={:#x}", start, last, b[6], b[7]); if (last > start) { Nvidia::Devices::Nx2GpuMemoryRegistry::Get().Register(start, last - start + 1); @@ -410,7 +410,7 @@ private: // read the first (see video_core/nx2.h). if (last - start + 1 == 0x2000) { Tegra::Nx2AddSemaphoreRegion(start); - LOG_INFO(Service, "nx2:gpu semaphore page {:#x} mirrored to {:#x}", start + 0x1000, + LOG_DEBUG(Service, "nx2:gpu semaphore page {:#x} mirrored to {:#x}", start + 0x1000, start); } } @@ -425,7 +425,7 @@ private: template <size_t Slot> void SubSlotJob(HLERequestContext& ctx) { const auto* w = ctx.CommandBuffer(); - LOG_INFO(Service, "(STUBBED) nx2:gpu {} words {:08x} slot={}", ctx.GetCommand(), + LOG_DEBUG(Service, "(STUBBED) nx2:gpu {} words {:08x} slot={}", ctx.GetCommand(), fmt::join(std::span<const u32>{w + 2, 18}, " "), w[Slot]); EventFor(w[Slot])->Signal(system.Kernel()); IPC::ResponseBuilder rb{ctx, 2}; @@ -443,7 +443,7 @@ private: const u64 c = u64{cmd_buf[8]} | (u64{cmd_buf[9]} << 32); // Words 3-4: first GPU address, 5-6: last, 7: memory handle, 8-9: offset into it. const u32 handle = cmd_buf[7]; - LOG_INFO(Service, "nx2:gpu 211 map [{:#x}, {:#x}] handle={} offset={:#x} slot={}", a, b, + LOG_DEBUG(Service, "nx2:gpu 211 map [{:#x}, {:#x}] handle={} offset={:#x} slot={}", a, b, handle, c, slot); if (const auto it = m_memory.find(handle); it != m_memory.end() && b > a) { // Also at the memory's own address: an earlier 213 may have unmapped the mapping 101 @@ -528,7 +528,7 @@ private: const u64 start = u64{w[3]} | (u64{w[4]} << 32); const u64 last = u64{w[5]} | (u64{w[6]} << 32); const u32 slot = w[11]; - LOG_INFO(Service, "nx2:gpu 214 words {:#x} {:#x} {:#x} {:#x} {:#x} {:#x} {:#x} {:#x} {:#x} {:#x} {:#x} {:#x}", + LOG_DEBUG(Service, "nx2:gpu 214 words {:#x} {:#x} {:#x} {:#x} {:#x} {:#x} {:#x} {:#x} {:#x} {:#x} {:#x} {:#x}", w[1], w[2], w[3], w[4], w[5], w[6], w[7], w[8], w[9], w[10], w[11], w[12]); if (last > start && ((last + 1 - start) % Core::Memory::YUZU_PAGESIZE) == 0) { const u64 size = last + 1 - start; @@ -554,7 +554,7 @@ private: const auto* w = ctx.CommandBuffer(); const u64 first = u64{w[3]} | (u64{w[4]} << 32); const u64 last = u64{w[5]} | (u64{w[6]} << 32); - LOG_INFO(Service, "nx2:gpu 215 destroy sparse region [{:#x}, {:#x}] words {:#x} {:#x} {:#x} {:#x}", + LOG_DEBUG(Service, "nx2:gpu 215 destroy sparse region [{:#x}, {:#x}] words {:#x} {:#x} {:#x} {:#x}", first, last, w[1], w[2], w[7], w[8]); FreeReleasedRegions(); if (last > first) { |
