aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/texture_cache
diff options
context:
space:
mode:
authorTakoroka <137927095+Takoroka@users.noreply.github.com>2026-10-28 18:36:20 -0400
committerTakoroka <137927095+Takoroka@users.noreply.github.com>2026-10-28 18:36:20 -0400
commit5220e4aa539617b83b0b4f2a1666dd068616830e (patch)
treec17d5f1d2be74c0cb17db79fafc038c8be06d9ff /src/video_core/texture_cache
parent395de452330f717917d5aa468e50ea3b001c12ef (diff)
Texture cache: log VMA blocks per memory type with the periodic memory log
Device memory use is ~3 GB above what the images account for; this shows where. The per-decode log drops to debug level.
Diffstat (limited to 'src/video_core/texture_cache')
-rw-r--r--src/video_core/texture_cache/texture_cache.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h
index de15e13da3..7382ef5e4f 100644
--- a/src/video_core/texture_cache/texture_cache.h
+++ b/src/video_core/texture_cache/texture_cache.h
@@ -212,6 +212,9 @@ void TextureCache<P>::TickFrame() {
LOG_INFO(HW_GPU, " format {}: {} MiB in {} images", formats[i].second, formats[i].first >> 20,
by_format[formats[i].second].second);
}
+ if constexpr (requires { runtime.LogMemoryStatistics(); }) {
+ runtime.LogMemoryStatistics();
+ }
}
if (total_used_memory > minimum_memory) {
RunGarbageCollector();
@@ -1451,7 +1454,7 @@ u64 TextureCache<P>::GetScaledImageSizeBytes(const ImageBase& image) {
template <class P>
void TextureCache<P>::QueueAsyncDecode(Image& image, ImageId image_id) {
UNIMPLEMENTED_IF(False(image.flags & ImageFlagBits::Converted));
- LOG_INFO(HW_GPU, "Queuing async texture decode");
+ LOG_DEBUG(HW_GPU, "Queuing async texture decode {:#x}", image.gpu_addr);
image.flags |= ImageFlagBits::IsDecoding;
auto decode = std::make_unique<AsyncDecodeContext>();