aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/texture_cache/surface_base.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2020-06-09 21:52:15 -0400
committerGitHub <noreply@github.com>2020-06-09 21:52:15 -0400
commit83e3b77ed7eaa12ec497fd7d978c2e889c5d14db (patch)
tree2940fc6a036c7b1f5ecc13aca6248ba657ed48f4 /src/video_core/texture_cache/surface_base.cpp
parent3626254f48b6f16dbee1ee0770f781ae7e27ef95 (diff)
parentbd43c0547085fcfb585ac3a90521eeb8414fd538 (diff)
Merge pull request #4027 from ReinUsesLisp/3d-slices
texture_cache: Implement rendering to 3D textures
Diffstat (limited to 'src/video_core/texture_cache/surface_base.cpp')
-rw-r--r--src/video_core/texture_cache/surface_base.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/video_core/texture_cache/surface_base.cpp b/src/video_core/texture_cache/surface_base.cpp
index 715f39d0d..94d3a6ae5 100644
--- a/src/video_core/texture_cache/surface_base.cpp
+++ b/src/video_core/texture_cache/surface_base.cpp
@@ -248,12 +248,11 @@ void SurfaceBaseImpl::FlushBuffer(Tegra::MemoryManager& memory_manager,
// Use an extra temporal buffer
auto& tmp_buffer = staging_cache.GetBuffer(1);
- // Special case for 3D Texture Segments
- const bool must_read_current_data =
- params.block_depth > 0 && params.target == VideoCore::Surface::SurfaceTarget::Texture2D;
tmp_buffer.resize(guest_memory_size);
host_ptr = tmp_buffer.data();
- if (must_read_current_data) {
+
+ if (params.target == SurfaceTarget::Texture3D) {
+ // Special case for 3D texture segments
memory_manager.ReadBlockUnsafe(gpu_addr, host_ptr, guest_memory_size);
}