summaryrefslogtreecommitdiffstats
path: root/src/video_core/engines/maxwell_dma.cpp
diff options
context:
space:
mode:
authorSubv <subv2112@gmail.com>2018-07-02 16:46:33 +0200
committerSubv <subv2112@gmail.com>2018-07-02 16:46:33 +0200
commitca633a5a3c156491d75e715c3c9481a36bbe2bae (patch)
treefa4d8f6bc1dc000b25b02471ca1578f68cbff1ff /src/video_core/engines/maxwell_dma.cpp
parentMerge pull request #595 from bunnei/raster-cache (diff)
downloadyuzu-ca633a5a3c156491d75e715c3c9481a36bbe2bae.tar
yuzu-ca633a5a3c156491d75e715c3c9481a36bbe2bae.tar.gz
yuzu-ca633a5a3c156491d75e715c3c9481a36bbe2bae.tar.bz2
yuzu-ca633a5a3c156491d75e715c3c9481a36bbe2bae.tar.lz
yuzu-ca633a5a3c156491d75e715c3c9481a36bbe2bae.tar.xz
yuzu-ca633a5a3c156491d75e715c3c9481a36bbe2bae.tar.zst
yuzu-ca633a5a3c156491d75e715c3c9481a36bbe2bae.zip
Diffstat (limited to 'src/video_core/engines/maxwell_dma.cpp')
-rw-r--r--src/video_core/engines/maxwell_dma.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/video_core/engines/maxwell_dma.cpp b/src/video_core/engines/maxwell_dma.cpp
index 442138988..c298f0bfb 100644
--- a/src/video_core/engines/maxwell_dma.cpp
+++ b/src/video_core/engines/maxwell_dma.cpp
@@ -49,7 +49,11 @@ void MaxwellDMA::HandleCopy() {
ASSERT(regs.src_params.pos_y == 0);
ASSERT(regs.dst_params.pos_x == 0);
ASSERT(regs.dst_params.pos_y == 0);
- ASSERT(regs.exec.is_dst_linear != regs.exec.is_src_linear);
+
+ if (regs.exec.is_dst_linear == regs.exec.is_src_linear) {
+ Memory::CopyBlock(dest_cpu, source_cpu, regs.x_count * regs.y_count);
+ return;
+ }
u8* src_buffer = Memory::GetPointer(source_cpu);
u8* dst_buffer = Memory::GetPointer(dest_cpu);