diff options
| author | bunnei <bunneidev@gmail.com> | 2018-11-26 18:33:22 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-11-26 18:33:22 -0500 |
| commit | 67a154e23da149da29e6bd04ce2fb95f3eb7675a (patch) | |
| tree | 914026c2130ca51f929127e470608109890ba0a9 /src/video_core/engines/maxwell_dma.cpp | |
| parent | cb8d51e37e7d630f1ea3dc816b2d5aaab2295bc2 (diff) | |
| parent | 97f5c4ffd3950994b852b287e1d24f4766e53bea (diff) | |
Merge pull request #1723 from degasus/dirty_flags
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, |
