aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/renderer_vulkan/vk_rasterizer.cpp
diff options
context:
space:
mode:
authorMorph <39850852+Morph1984@users.noreply.github.com>2022-03-25 12:09:40 -0400
committerGitHub <noreply@github.com>2022-03-25 12:09:40 -0400
commitda46d924e9953a6934c43e33e068023b405ecbcb (patch)
tree2a5ad33409771c951997186c5665b60a96fa4205 /src/video_core/renderer_vulkan/vk_rasterizer.cpp
parentab6a5784fa991016b5d8c097471fbda88853ba5d (diff)
parenta2d7b2f905eef379f6412ef043100a98845aefb1 (diff)
Merge pull request #8080 from FernandoS27/yo-momma-so-fat-that
Memory GPU <-> CPU: reduce infighting in the texture cache by adding CPU Cached memory.
Diffstat (limited to 'src/video_core/renderer_vulkan/vk_rasterizer.cpp')
-rw-r--r--src/video_core/renderer_vulkan/vk_rasterizer.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
index fa87d37f8..dd6e0027e 100644
--- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp
+++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
@@ -408,7 +408,7 @@ void RasterizerVulkan::OnCPUWrite(VAddr addr, u64 size) {
pipeline_cache.OnCPUWrite(addr, size);
{
std::scoped_lock lock{texture_cache.mutex};
- texture_cache.WriteMemory(addr, size);
+ texture_cache.CachedWriteMemory(addr, size);
}
{
std::scoped_lock lock{buffer_cache.mutex};
@@ -419,6 +419,10 @@ void RasterizerVulkan::OnCPUWrite(VAddr addr, u64 size) {
void RasterizerVulkan::SyncGuestHost() {
pipeline_cache.SyncGuestHost();
{
+ std::scoped_lock lock{texture_cache.mutex};
+ texture_cache.FlushCachedWrites();
+ }
+ {
std::scoped_lock lock{buffer_cache.mutex};
buffer_cache.FlushCachedWrites();
}