From 3681cade416a025ca24c35b4d176537c53b48a4f Mon Sep 17 00:00:00 2001 From: Jordan Woyak Date: Sat, 7 Feb 2026 23:01:05 -0600 Subject: DiscIO: Add IsCached virtual function to BlobReader. --- Source/Core/DiscIO/CachedBlob.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'Source/Core/DiscIO/CachedBlob.cpp') diff --git a/Source/Core/DiscIO/CachedBlob.cpp b/Source/Core/DiscIO/CachedBlob.cpp index 98ed8ba31f..f1bbf055ee 100644 --- a/Source/Core/DiscIO/CachedBlob.cpp +++ b/Source/Core/DiscIO/CachedBlob.cpp @@ -219,6 +219,8 @@ public: return m_cache_filler->Read(offset, size, out_ptr) || m_reader->Read(offset, size, out_ptr); } + bool IsCached() const override { return true; } + private: // A shared object does the cache filling for sensible CopyReader behavior. const std::shared_ptr m_cache_filler; @@ -228,11 +230,17 @@ private: std::unique_ptr CreateCachedBlobReader(std::unique_ptr reader) { + if (reader->IsCached()) // This is already CachedBlobReader. + return reader; + return std::make_unique(std::move(reader), false); } std::unique_ptr CreateScrubbingCachedBlobReader(std::unique_ptr reader) { + if (reader->IsCached()) // This reader is already a CachedBlobReader. + return reader; + return std::make_unique(std::move(reader), true); } -- cgit v1.2.3