summaryrefslogtreecommitdiff
path: root/src/video_core/texture_cache
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2022-11-20 03:07:14 +0100
committerGravatar Fernando Sahmkow2023-01-01 16:43:58 -0500
commit3630bfaef332768e08ecc0c34cd4bca83a2579f8 (patch)
tree6bd52f659411c16300ab437a418df3e0283d1c31 /src/video_core/texture_cache
parentVulkan: Allow stagging buffer deferrals. (diff)
downloadyuzu-3630bfaef332768e08ecc0c34cd4bca83a2579f8.tar.gz
yuzu-3630bfaef332768e08ecc0c34cd4bca83a2579f8.tar.xz
yuzu-3630bfaef332768e08ecc0c34cd4bca83a2579f8.zip
RasterizerMemory: Add filtering for flushing/invalidation operations.
Diffstat (limited to 'src/video_core/texture_cache')
-rw-r--r--src/video_core/texture_cache/texture_cache.h3
-rw-r--r--src/video_core/texture_cache/texture_cache_base.h2
2 files changed, 3 insertions, 2 deletions
diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h
index 27c82cd20..7fe451b5a 100644
--- a/src/video_core/texture_cache/texture_cache.h
+++ b/src/video_core/texture_cache/texture_cache.h
@@ -740,7 +740,8 @@ void TextureCache<P>::UploadImageContents(Image& image, StagingBuffer& staging)
740 const GPUVAddr gpu_addr = image.gpu_addr; 740 const GPUVAddr gpu_addr = image.gpu_addr;
741 741
742 if (True(image.flags & ImageFlagBits::AcceleratedUpload)) { 742 if (True(image.flags & ImageFlagBits::AcceleratedUpload)) {
743 gpu_memory->ReadBlockUnsafe(gpu_addr, mapped_span.data(), mapped_span.size_bytes()); 743 gpu_memory->ReadBlock(gpu_addr, mapped_span.data(), mapped_span.size_bytes(),
744 VideoCommon::CacheType::NoTextureCache);
744 const auto uploads = FullUploadSwizzles(image.info); 745 const auto uploads = FullUploadSwizzles(image.info);
745 runtime.AccelerateImageUpload(image, staging, uploads); 746 runtime.AccelerateImageUpload(image, staging, uploads);
746 return; 747 return;
diff --git a/src/video_core/texture_cache/texture_cache_base.h b/src/video_core/texture_cache/texture_cache_base.h
index 4fd677a80..6b2898705 100644
--- a/src/video_core/texture_cache/texture_cache_base.h
+++ b/src/video_core/texture_cache/texture_cache_base.h
@@ -203,7 +203,7 @@ public:
203 /// Create channel state. 203 /// Create channel state.
204 void CreateChannel(Tegra::Control::ChannelState& channel) final override; 204 void CreateChannel(Tegra::Control::ChannelState& channel) final override;
205 205
206 std::mutex mutex; 206 std::recursive_mutex mutex;
207 207
208private: 208private:
209 /// Iterate over all page indices in a range 209 /// Iterate over all page indices in a range