diff options
| author | bunnei <bunneidev@gmail.com> | 2018-10-14 14:42:38 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-10-14 14:42:38 -0400 |
| commit | b82bbfba77ef1afe1cc4f8beb2c273c8b66092c8 (patch) | |
| tree | 000e7462c1c946a96f7536140d29ea3237181913 /src/video_core/engines/fermi_2d.cpp | |
| parent | 2f8ca32020d2b32abfcb96d433ca79c4974e15be (diff) | |
| parent | 331ce2942c4906945b4d42f1ebe8b9b6e453c6ee (diff) | |
Merge pull request #1480 from FernandoS27/neue-swizzle
Introduce 3D Swizzle seamlessly
Diffstat (limited to 'src/video_core/engines/fermi_2d.cpp')
| -rw-r--r-- | src/video_core/engines/fermi_2d.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/video_core/engines/fermi_2d.cpp b/src/video_core/engines/fermi_2d.cpp index 912e785b9..597b279b9 100644 --- a/src/video_core/engines/fermi_2d.cpp +++ b/src/video_core/engines/fermi_2d.cpp @@ -62,14 +62,16 @@ void Fermi2D::HandleSurfaceCopy() { u8* dst_buffer = Memory::GetPointer(dest_cpu); if (!regs.src.linear && regs.dst.linear) { // If the input is tiled and the output is linear, deswizzle the input and copy it over. - Texture::CopySwizzledData(regs.src.width, regs.src.height, src_bytes_per_pixel, - dst_bytes_per_pixel, src_buffer, dst_buffer, true, - regs.src.BlockHeight()); + Texture::CopySwizzledData(regs.src.width, regs.src.height, regs.src.depth, + src_bytes_per_pixel, dst_bytes_per_pixel, src_buffer, + dst_buffer, true, regs.src.BlockHeight(), + regs.src.BlockDepth()); } else { // If the input is linear and the output is tiled, swizzle the input and copy it over. - Texture::CopySwizzledData(regs.src.width, regs.src.height, src_bytes_per_pixel, - dst_bytes_per_pixel, dst_buffer, src_buffer, false, - regs.dst.BlockHeight()); + Texture::CopySwizzledData(regs.src.width, regs.src.height, regs.src.depth, + src_bytes_per_pixel, dst_bytes_per_pixel, dst_buffer, + src_buffer, false, regs.dst.BlockHeight(), + regs.dst.BlockDepth()); } } } |
