GPU: Directly copy the pixels when performing a same-layout DMA.

This commit is contained in:
Subv 2018-07-02 09:46:33 -05:00
parent 50ef2beb58
commit ca633a5a3c

View File

@ -49,7 +49,11 @@ void MaxwellDMA::HandleCopy() {
ASSERT(regs.src_params.pos_y == 0); ASSERT(regs.src_params.pos_y == 0);
ASSERT(regs.dst_params.pos_x == 0); ASSERT(regs.dst_params.pos_x == 0);
ASSERT(regs.dst_params.pos_y == 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* src_buffer = Memory::GetPointer(source_cpu);
u8* dst_buffer = Memory::GetPointer(dest_cpu); u8* dst_buffer = Memory::GetPointer(dest_cpu);