summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/video_core/engines/maxwell_dma.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/video_core/engines/maxwell_dma.cpp b/src/video_core/engines/maxwell_dma.cpp
index 32b04e31e..3bfed6ab8 100644
--- a/src/video_core/engines/maxwell_dma.cpp
+++ b/src/video_core/engines/maxwell_dma.cpp
@@ -104,8 +104,13 @@ void MaxwellDMA::HandleCopy() {
104 write_buffer.resize(dst_size); 104 write_buffer.resize(dst_size);
105 } 105 }
106 106
107 memory_manager.ReadBlock(source, read_buffer.data(), src_size); 107 if (Settings::IsGPULevelExtreme()) {
108 memory_manager.ReadBlock(dest, write_buffer.data(), dst_size); 108 memory_manager.ReadBlock(source, read_buffer.data(), src_size);
109 memory_manager.ReadBlock(dest, write_buffer.data(), dst_size);
110 } else {
111 memory_manager.ReadBlockUnsafe(source, read_buffer.data(), src_size);
112 memory_manager.ReadBlockUnsafe(dest, write_buffer.data(), dst_size);
113 }
109 114
110 Texture::UnswizzleSubrect( 115 Texture::UnswizzleSubrect(
111 regs.x_count, regs.y_count, regs.dst_pitch, regs.src_params.size_x, bytes_per_pixel, 116 regs.x_count, regs.y_count, regs.dst_pitch, regs.src_params.size_x, bytes_per_pixel,