diff options
| author | 2018-07-02 09:46:33 -0500 | |
|---|---|---|
| committer | 2018-07-02 09:46:33 -0500 | |
| commit | ca633a5a3c156491d75e715c3c9481a36bbe2bae (patch) | |
| tree | fa4d8f6bc1dc000b25b02471ca1578f68cbff1ff /src | |
| parent | Merge pull request #595 from bunnei/raster-cache (diff) | |
| download | yuzu-ca633a5a3c156491d75e715c3c9481a36bbe2bae.tar.gz yuzu-ca633a5a3c156491d75e715c3c9481a36bbe2bae.tar.xz yuzu-ca633a5a3c156491d75e715c3c9481a36bbe2bae.zip | |
GPU: Directly copy the pixels when performing a same-layout DMA.
Diffstat (limited to '')
| -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() { | |||
| 49 | ASSERT(regs.src_params.pos_y == 0); | 49 | ASSERT(regs.src_params.pos_y == 0); |
| 50 | ASSERT(regs.dst_params.pos_x == 0); | 50 | ASSERT(regs.dst_params.pos_x == 0); |
| 51 | ASSERT(regs.dst_params.pos_y == 0); | 51 | ASSERT(regs.dst_params.pos_y == 0); |
| 52 | ASSERT(regs.exec.is_dst_linear != regs.exec.is_src_linear); | 52 | |
| 53 | if (regs.exec.is_dst_linear == regs.exec.is_src_linear) { | ||
| 54 | Memory::CopyBlock(dest_cpu, source_cpu, regs.x_count * regs.y_count); | ||
| 55 | return; | ||
| 56 | } | ||
| 53 | 57 | ||
| 54 | u8* src_buffer = Memory::GetPointer(source_cpu); | 58 | u8* src_buffer = Memory::GetPointer(source_cpu); |
| 55 | u8* dst_buffer = Memory::GetPointer(dest_cpu); | 59 | u8* dst_buffer = Memory::GetPointer(dest_cpu); |