diff options
| author | Markus Wick <markus@selfnet.de> | 2018-11-06 21:26:27 +0100 |
|---|---|---|
| committer | Markus Wick <markus@selfnet.de> | 2018-11-17 14:28:54 +0100 |
| commit | 97f5c4ffd3950994b852b287e1d24f4766e53bea (patch) | |
| tree | d2e2bc62afd33c68f5a601705782b26fbbb4f35f /src/video_core/engines/maxwell_dma.cpp | |
| parent | 0072275d25b10fb354e0cf2eea25f0b85f1519f2 (diff) | |
gl_rasterizer: Skip VB upload if the state is clean.
Diffstat (limited to 'src/video_core/engines/maxwell_dma.cpp')
| -rw-r--r-- | src/video_core/engines/maxwell_dma.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/video_core/engines/maxwell_dma.cpp b/src/video_core/engines/maxwell_dma.cpp index b8a78cf82..a34e884fe 100644 --- a/src/video_core/engines/maxwell_dma.cpp +++ b/src/video_core/engines/maxwell_dma.cpp @@ -2,7 +2,9 @@ // Licensed under GPLv2 or any later version // Refer to the license.txt file included. +#include "core/core.h" #include "core/memory.h" +#include "video_core/engines/maxwell_3d.h" #include "video_core/engines/maxwell_dma.h" #include "video_core/rasterizer_interface.h" #include "video_core/textures/decoders.h" @@ -54,6 +56,9 @@ void MaxwellDMA::HandleCopy() { return; } + // All copies here update the main memory, so mark all rasterizer states as invalid. + Core::System::GetInstance().GPU().Maxwell3D().dirty_flags.OnMemoryWrite(); + if (regs.exec.is_dst_linear && regs.exec.is_src_linear) { // When the enable_2d bit is disabled, the copy is performed as if we were copying a 1D // buffer of length `x_count`, otherwise we copy a 2D image of dimensions (x_count, |
