summaryrefslogtreecommitdiff
path: root/src/video_core/renderer_vulkan
diff options
context:
space:
mode:
authorGravatar Morph2022-03-25 12:09:40 -0400
committerGravatar GitHub2022-03-25 12:09:40 -0400
commitda46d924e9953a6934c43e33e068023b405ecbcb (patch)
tree2a5ad33409771c951997186c5665b60a96fa4205 /src/video_core/renderer_vulkan
parentMerge pull request #7720 from FernandoS27/yfc-gc (diff)
parentMemory: Don't protect reads on Normal accuracy. (diff)
downloadyuzu-da46d924e9953a6934c43e33e068023b405ecbcb.tar.gz
yuzu-da46d924e9953a6934c43e33e068023b405ecbcb.tar.xz
yuzu-da46d924e9953a6934c43e33e068023b405ecbcb.zip
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')
-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) {
408 pipeline_cache.OnCPUWrite(addr, size); 408 pipeline_cache.OnCPUWrite(addr, size);
409 { 409 {
410 std::scoped_lock lock{texture_cache.mutex}; 410 std::scoped_lock lock{texture_cache.mutex};
411 texture_cache.WriteMemory(addr, size); 411 texture_cache.CachedWriteMemory(addr, size);
412 } 412 }
413 { 413 {
414 std::scoped_lock lock{buffer_cache.mutex}; 414 std::scoped_lock lock{buffer_cache.mutex};
@@ -419,6 +419,10 @@ void RasterizerVulkan::OnCPUWrite(VAddr addr, u64 size) {
419void RasterizerVulkan::SyncGuestHost() { 419void RasterizerVulkan::SyncGuestHost() {
420 pipeline_cache.SyncGuestHost(); 420 pipeline_cache.SyncGuestHost();
421 { 421 {
422 std::scoped_lock lock{texture_cache.mutex};
423 texture_cache.FlushCachedWrites();
424 }
425 {
422 std::scoped_lock lock{buffer_cache.mutex}; 426 std::scoped_lock lock{buffer_cache.mutex};
423 buffer_cache.FlushCachedWrites(); 427 buffer_cache.FlushCachedWrites();
424 } 428 }