diff options
| author | 2022-03-25 12:09:40 -0400 | |
|---|---|---|
| committer | 2022-03-25 12:09:40 -0400 | |
| commit | da46d924e9953a6934c43e33e068023b405ecbcb (patch) | |
| tree | 2a5ad33409771c951997186c5665b60a96fa4205 /src/video_core/renderer_vulkan | |
| parent | Merge pull request #7720 from FernandoS27/yfc-gc (diff) | |
| parent | Memory: Don't protect reads on Normal accuracy. (diff) | |
| download | yuzu-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.cpp | 6 |
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) { | |||
| 419 | void RasterizerVulkan::SyncGuestHost() { | 419 | void 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 | } |