diff options
| author | 2020-04-05 15:26:16 -0400 | |
|---|---|---|
| committer | 2020-04-06 09:23:05 -0400 | |
| commit | 6ee316cb8f4d6f28b4dcad7a8a3d447fdf70d3bb (patch) | |
| tree | 5486a9f2240c49d4125930723ffa8286fd127164 /src/video_core/renderer_vulkan | |
| parent | GPU: Setup Flush/Invalidate to use VAddr instead of CacheAddr (diff) | |
| download | yuzu-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.cpp | 7 |
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 | } |