summaryrefslogtreecommitdiff
path: root/src/video_core/renderer_vulkan
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2023-06-28 06:28:13 +0200
committerGravatar Fernando Sahmkow2023-06-28 19:34:21 +0200
commit47d0d292d5cc5f0404e126023279db7decd532ac (patch)
treea43e59102a9db2a124c7473842fbf0d661ff628e /src/video_core/renderer_vulkan
parentMerge pull request #10837 from liamwhite/mali-support (diff)
downloadyuzu-47d0d292d5cc5f0404e126023279db7decd532ac.tar.gz
yuzu-47d0d292d5cc5f0404e126023279db7decd532ac.tar.xz
yuzu-47d0d292d5cc5f0404e126023279db7decd532ac.zip
MemoryTracking: Initial setup of atomic writes.
Diffstat (limited to 'src/video_core/renderer_vulkan')
-rw-r--r--src/video_core/renderer_vulkan/vk_rasterizer.cpp9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
index f7c0d939a..a63a29e61 100644
--- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp
+++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
@@ -570,7 +570,7 @@ void RasterizerVulkan::OnCPUWrite(VAddr addr, u64 size) {
570 if (addr == 0 || size == 0) { 570 if (addr == 0 || size == 0) {
571 return; 571 return;
572 } 572 }
573 pipeline_cache.OnCPUWrite(addr, size); 573
574 { 574 {
575 std::scoped_lock lock{texture_cache.mutex}; 575 std::scoped_lock lock{texture_cache.mutex};
576 texture_cache.WriteMemory(addr, size); 576 texture_cache.WriteMemory(addr, size);
@@ -579,14 +579,11 @@ void RasterizerVulkan::OnCPUWrite(VAddr addr, u64 size) {
579 std::scoped_lock lock{buffer_cache.mutex}; 579 std::scoped_lock lock{buffer_cache.mutex};
580 buffer_cache.CachedWriteMemory(addr, size); 580 buffer_cache.CachedWriteMemory(addr, size);
581 } 581 }
582 pipeline_cache.InvalidateRegion(addr, size);
582} 583}
583 584
584void RasterizerVulkan::InvalidateGPUCache() { 585void RasterizerVulkan::InvalidateGPUCache() {
585 pipeline_cache.SyncGuestHost(); 586 gpu.InvalidateGPUCache();
586 {
587 std::scoped_lock lock{buffer_cache.mutex};
588 buffer_cache.FlushCachedWrites();
589 }
590} 587}
591 588
592void RasterizerVulkan::UnmapMemory(VAddr addr, u64 size) { 589void RasterizerVulkan::UnmapMemory(VAddr addr, u64 size) {