diff options
author | Sebastian Valle <subv2112@gmail.com> | 2018-07-02 21:06:56 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-02 21:06:56 +0200 |
commit | 9685dd5840209ffe7cddfe70531c296001c43f06 (patch) | |
tree | 720cbd1a45c793ceb15d03054ebe0c215ec2ed24 | |
parent | Merge pull request #604 from Subv/invalid_textures (diff) | |
parent | GPU: Directly copy the pixels when performing a same-layout DMA. (diff) | |
download | yuzu-9685dd5840209ffe7cddfe70531c296001c43f06.tar yuzu-9685dd5840209ffe7cddfe70531c296001c43f06.tar.gz yuzu-9685dd5840209ffe7cddfe70531c296001c43f06.tar.bz2 yuzu-9685dd5840209ffe7cddfe70531c296001c43f06.tar.lz yuzu-9685dd5840209ffe7cddfe70531c296001c43f06.tar.xz yuzu-9685dd5840209ffe7cddfe70531c296001c43f06.tar.zst yuzu-9685dd5840209ffe7cddfe70531c296001c43f06.zip |
-rw-r--r-- | src/video_core/engines/maxwell_dma.cpp | 6 |
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); |