diff options
| author | 2020-06-08 05:01:44 -0300 | |
|---|---|---|
| committer | 2020-06-08 05:01:44 -0300 | |
| commit | c99f5d405b6a24603ff8174aeb2952facc4a92d9 (patch) | |
| tree | c6ae4894793bb3d4868fe1095d61de877adff7ec /src | |
| parent | texture_cache: Handle 3D texture blits with one layer (diff) | |
| download | yuzu-c99f5d405b6a24603ff8174aeb2952facc4a92d9.tar.gz yuzu-c99f5d405b6a24603ff8174aeb2952facc4a92d9.tar.xz yuzu-c99f5d405b6a24603ff8174aeb2952facc4a92d9.zip | |
texture_cache: Simplify blit code
Diffstat (limited to '')
| -rw-r--r-- | src/video_core/texture_cache/texture_cache.h | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h index 60b95a854..b19eeed66 100644 --- a/src/video_core/texture_cache/texture_cache.h +++ b/src/video_core/texture_cache/texture_cache.h | |||
| @@ -298,15 +298,13 @@ public: | |||
| 298 | const GPUVAddr src_gpu_addr = src_config.Address(); | 298 | const GPUVAddr src_gpu_addr = src_config.Address(); |
| 299 | const GPUVAddr dst_gpu_addr = dst_config.Address(); | 299 | const GPUVAddr dst_gpu_addr = dst_config.Address(); |
| 300 | DeduceBestBlit(src_params, dst_params, src_gpu_addr, dst_gpu_addr); | 300 | DeduceBestBlit(src_params, dst_params, src_gpu_addr, dst_gpu_addr); |
| 301 | const std::optional<VAddr> dst_cpu_addr = | 301 | |
| 302 | system.GPU().MemoryManager().GpuToCpuAddress(dst_gpu_addr); | 302 | const auto& memory_manager = system.GPU().MemoryManager(); |
| 303 | const std::optional<VAddr> src_cpu_addr = | 303 | const std::optional<VAddr> dst_cpu_addr = memory_manager.GpuToCpuAddress(dst_gpu_addr); |
| 304 | system.GPU().MemoryManager().GpuToCpuAddress(src_gpu_addr); | 304 | const std::optional<VAddr> src_cpu_addr = memory_manager.GpuToCpuAddress(src_gpu_addr); |
| 305 | std::pair<TSurface, TView> dst_surface = | 305 | std::pair dst_surface = GetSurface(dst_gpu_addr, *dst_cpu_addr, dst_params, true, false); |
| 306 | GetSurface(dst_gpu_addr, *dst_cpu_addr, dst_params, true, false); | 306 | TView src_surface = GetSurface(src_gpu_addr, *src_cpu_addr, src_params, true, false).second; |
| 307 | std::pair<TSurface, TView> src_surface = | 307 | ImageBlit(src_surface, dst_surface.second, copy_config); |
| 308 | GetSurface(src_gpu_addr, *src_cpu_addr, src_params, true, false); | ||
| 309 | ImageBlit(src_surface.second, dst_surface.second, copy_config); | ||
| 310 | dst_surface.first->MarkAsModified(true, Tick()); | 308 | dst_surface.first->MarkAsModified(true, Tick()); |
| 311 | } | 309 | } |
| 312 | 310 | ||