summaryrefslogtreecommitdiff
path: root/src/video_core/renderer_vulkan
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2020-04-05 15:26:16 -0400
committerGravatar Fernando Sahmkow2020-04-06 09:23:05 -0400
commit6ee316cb8f4d6f28b4dcad7a8a3d447fdf70d3bb (patch)
tree5486a9f2240c49d4125930723ffa8286fd127164 /src/video_core/renderer_vulkan
parentGPU: Setup Flush/Invalidate to use VAddr instead of CacheAddr (diff)
downloadyuzu-6ee316cb8f4d6f28b4dcad7a8a3d447fdf70d3bb.tar.gz
yuzu-6ee316cb8f4d6f28b4dcad7a8a3d447fdf70d3bb.tar.xz
yuzu-6ee316cb8f4d6f28b4dcad7a8a3d447fdf70d3bb.zip
Texture Cache: Use vAddr instead of physical memory for caching.
Diffstat (limited to 'src/video_core/renderer_vulkan')
-rw-r--r--src/video_core/renderer_vulkan/vk_rasterizer.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
index 0ca72eb45..cc76d96ea 100644
--- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp
+++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
@@ -500,7 +500,7 @@ void RasterizerVulkan::FlushRegion(VAddr addr, u64 size) {
500 return; 500 return;
501 } 501 }
502 CacheAddr cache_addr = ToCacheAddr(system.Memory().GetPointer(addr)); 502 CacheAddr cache_addr = ToCacheAddr(system.Memory().GetPointer(addr));
503 texture_cache.FlushRegion(cache_addr, size); 503 texture_cache.FlushRegion(addr, size);
504 buffer_cache.FlushRegion(cache_addr, size); 504 buffer_cache.FlushRegion(cache_addr, size);
505 query_cache.FlushRegion(cache_addr, size); 505 query_cache.FlushRegion(cache_addr, size);
506} 506}
@@ -510,7 +510,7 @@ void RasterizerVulkan::InvalidateRegion(VAddr addr, u64 size) {
510 return; 510 return;
511 } 511 }
512 CacheAddr cache_addr = ToCacheAddr(system.Memory().GetPointer(addr)); 512 CacheAddr cache_addr = ToCacheAddr(system.Memory().GetPointer(addr));
513 texture_cache.InvalidateRegion(cache_addr, size); 513 texture_cache.InvalidateRegion(addr, size);
514 pipeline_cache.InvalidateRegion(cache_addr, size); 514 pipeline_cache.InvalidateRegion(cache_addr, size);
515 buffer_cache.InvalidateRegion(cache_addr, size); 515 buffer_cache.InvalidateRegion(cache_addr, size);
516 query_cache.InvalidateRegion(cache_addr, size); 516 query_cache.InvalidateRegion(cache_addr, size);
@@ -548,8 +548,7 @@ bool RasterizerVulkan::AccelerateDisplay(const Tegra::FramebufferConfig& config,
548 return false; 548 return false;
549 } 549 }
550 550
551 const u8* host_ptr{system.Memory().GetPointer(framebuffer_addr)}; 551 const auto surface{texture_cache.TryFindFramebufferSurface(framebuffer_addr)};
552 const auto surface{texture_cache.TryFindFramebufferSurface(host_ptr)};
553 if (!surface) { 552 if (!surface) {
554 return false; 553 return false;
555 } 554 }