aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/query_cache/query_cache.h
diff options
context:
space:
mode:
authorTakoroka <137927095+Takoroka@users.noreply.github.com>2026-10-28 00:50:13 -0400
committerTakoroka <137927095+Takoroka@users.noreply.github.com>2026-10-28 00:50:13 -0400
commite6e0304303ba5280c318e6f66e9d5ea30d375060 (patch)
treec3b89a734da9a32f4ebbfcd510e1dd082079d446 /src/video_core/query_cache/query_cache.h
parenta5e528e2d0bc784ebf24850e5913cece912c685e (diff)
nx2: title 4 runs past its loading screen without GPU stalls
- Native QMD: a launch whose shader Eden can't translate still completes and fires its releases (the console never fails a launch; queues wait on them). - QMD releases with flag bit 19 are max releases: NVN2 tracks QMD completion in a word other releases also advance, so a plain write moved it backwards. - Ampere lowering: LDSM.16.M88.{1,2,4} (SHFL + LDS), IMAD with a negated uniform addend, strong LDG (bit 77), 2D TLD4 gather, RED MIN/MAX/..., AST of RZ. 210 of the 214 shaders title 4 uses after its menu now lower. - Maxwell3D: ignore constant buffer binds to slots >= 18 instead of writing past the state array. - Debug: EDEN_NX2_SEM_WATCH covers QMD and compute-macro releases and logs address spaces; EDEN_NX2_3D_METHODS logs the first write to each 3D method; constant buffer binds are logged once per stage/slot.
Diffstat (limited to 'src/video_core/query_cache/query_cache.h')
-rw-r--r--src/video_core/query_cache/query_cache.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/video_core/query_cache/query_cache.h b/src/video_core/query_cache/query_cache.h
index 930e5626aa..f94407b026 100644
--- a/src/video_core/query_cache/query_cache.h
+++ b/src/video_core/query_cache/query_cache.h
@@ -240,8 +240,9 @@ void QueryCacheBase<Traits>::CounterReport(GPUVAddr addr, QueryType counter_type
}();
if (static const bool trace = std::getenv("EDEN_NX2_QUERY_TRACE") != nullptr;
trace || (watch != 0 && (addr & ~GPUVAddr{0xf}) == watch)) {
- LOG_INFO(HW_GPU, "nx2 report addr={:#x} type={} flags={:#x} payload={:#x}", addr,
- static_cast<u32>(counter_type), static_cast<u32>(flags), payload);
+ LOG_INFO(HW_GPU, "nx2 report addr={:#x} type={} flags={:#x} payload={:#x} as={} device={:#x}", addr,
+ static_cast<u32>(counter_type), static_cast<u32>(flags), payload, gpu_memory->GetID(),
+ gpu_memory->GpuToCpuAddress(addr).value_or(0));
}
size_t streamer_id = static_cast<size_t>(counter_type);
auto* streamer = impl->streamers[streamer_id];