diff options
Diffstat (limited to 'src/video_core/engines/maxwell_dma.cpp')
-rw-r--r-- | src/video_core/engines/maxwell_dma.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/video_core/engines/maxwell_dma.cpp b/src/video_core/engines/maxwell_dma.cpp index 9dfea5999..415a6319a 100644 --- a/src/video_core/engines/maxwell_dma.cpp +++ b/src/video_core/engines/maxwell_dma.cpp @@ -9,6 +9,7 @@ #include "video_core/engines/maxwell_3d.h" #include "video_core/engines/maxwell_dma.h" #include "video_core/rasterizer_interface.h" +#include "video_core/renderer_base.h" #include "video_core/textures/decoders.h" namespace Tegra::Engines { @@ -92,12 +93,14 @@ void MaxwellDMA::HandleCopy() { const auto FlushAndInvalidate = [&](u32 src_size, u64 dst_size) { // TODO(Subv): For now, manually flush the regions until we implement GPU-accelerated // copying. - Core::System::GetInstance().GPU().FlushRegion(*source_cpu, src_size); + Core::System::GetInstance().Renderer().Rasterizer().FlushRegion( + ToCacheAddr(Memory::GetPointer(*source_cpu)), src_size); // We have to invalidate the destination region to evict any outdated surfaces from the // cache. We do this before actually writing the new data because the destination address // might contain a dirty surface that will have to be written back to memory. - Core::System::GetInstance().GPU().InvalidateRegion(*dest_cpu, dst_size); + Core::System::GetInstance().Renderer().Rasterizer().InvalidateRegion( + ToCacheAddr(Memory::GetPointer(*dest_cpu)), dst_size); }; if (regs.exec.is_dst_linear && !regs.exec.is_src_linear) { |