summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2021-07-14 16:44:53 +0200
committerGravatar Fernando Sahmkow2021-07-14 16:44:53 +0200
commit495b8e31b55ac7617c19d8dec216b1e08f415a2f (patch)
tree3a9a689179390dbb45fffc68ae44451d8e1f7738 /src
parentBufferCache: fix clearing on forced download. (diff)
downloadyuzu-495b8e31b55ac7617c19d8dec216b1e08f415a2f.tar.gz
yuzu-495b8e31b55ac7617c19d8dec216b1e08f415a2f.tar.xz
yuzu-495b8e31b55ac7617c19d8dec216b1e08f415a2f.zip
DMAEngine: Revert flushing from Pitch to BlpockLinear.
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 81becb88a..0ae6692f9 100644
--- a/src/video_core/engines/maxwell_dma.cpp
+++ b/src/video_core/engines/maxwell_dma.cpp
@@ -181,8 +181,13 @@ void MaxwellDMA::CopyPitchToBlockLinear() {
181 write_buffer.resize(dst_size); 181 write_buffer.resize(dst_size);
182 } 182 }
183 183
184 memory_manager.ReadBlock(regs.offset_in, read_buffer.data(), src_size); 184 if (Settings::IsGPULevelExtreme()) {
185 memory_manager.ReadBlock(regs.offset_out, write_buffer.data(), dst_size); 185 memory_manager.ReadBlock(regs.offset_in, read_buffer.data(), src_size);
186 memory_manager.ReadBlock(regs.offset_out, write_buffer.data(), dst_size);
187 } else {
188 memory_manager.ReadBlockUnsafe(regs.offset_in, read_buffer.data(), src_size);
189 memory_manager.ReadBlockUnsafe(regs.offset_out, write_buffer.data(), dst_size);
190 }
186 191
187 // If the input is linear and the output is tiled, swizzle the input and copy it over. 192 // If the input is linear and the output is tiled, swizzle the input and copy it over.
188 if (regs.dst_params.block_size.depth > 0) { 193 if (regs.dst_params.block_size.depth > 0) {