aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/engines/kepler_memory.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2019-02-18 20:58:32 -0500
committerbunnei <bunneidev@gmail.com>2019-03-14 22:34:42 -0400
commit2eaf6c41a4686028c0abc84d1be6fd48a67cf49f (patch)
tree6ad0848c848aea68e637386cad5068e13c831b92 /src/video_core/engines/kepler_memory.cpp
parent84d3cdf7d76de538da6121e327d332809d46af84 (diff)
gpu: Use host address for caching instead of guest address.
Diffstat (limited to 'src/video_core/engines/kepler_memory.cpp')
-rw-r--r--src/video_core/engines/kepler_memory.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/video_core/engines/kepler_memory.cpp b/src/video_core/engines/kepler_memory.cpp
index aae2a4019..daefa43a6 100644
--- a/src/video_core/engines/kepler_memory.cpp
+++ b/src/video_core/engines/kepler_memory.cpp
@@ -9,6 +9,7 @@
#include "video_core/engines/kepler_memory.h"
#include "video_core/engines/maxwell_3d.h"
#include "video_core/rasterizer_interface.h"
+#include "video_core/renderer_base.h"
namespace Tegra::Engines {
@@ -48,7 +49,8 @@ void KeplerMemory::ProcessData(u32 data) {
// 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_address, sizeof(u32));
+ system.Renderer().Rasterizer().InvalidateRegion(ToCacheAddr(Memory::GetPointer(*dest_address)),
+ sizeof(u32));
Memory::Write32(*dest_address, data);
system.GPU().Maxwell3D().dirty_flags.OnMemoryWrite();