diff options
author | bunnei <bunneidev@gmail.com> | 2019-02-18 20:58:32 -0500 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2019-03-14 22:34:42 -0400 |
commit | 2eaf6c41a4686028c0abc84d1be6fd48a67cf49f (patch) | |
tree | 6ad0848c848aea68e637386cad5068e13c831b92 /src/video_core/gpu.h | |
parent | 84d3cdf7d76de538da6121e327d332809d46af84 (diff) |
gpu: Use host address for caching instead of guest address.
Diffstat (limited to 'src/video_core/gpu.h')
-rw-r--r-- | src/video_core/gpu.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/video_core/gpu.h b/src/video_core/gpu.h index 56a2032759..a14b95c303 100644 --- a/src/video_core/gpu.h +++ b/src/video_core/gpu.h @@ -11,6 +11,11 @@ #include "video_core/dma_pusher.h" #include "video_core/memory_manager.h" +using CacheAddr = std::uintptr_t; +inline CacheAddr ToCacheAddr(const void* host_ptr) { + return reinterpret_cast<CacheAddr>(host_ptr); +} + namespace Core { class System; } @@ -209,13 +214,13 @@ public: std::optional<std::reference_wrapper<const Tegra::FramebufferConfig>> framebuffer) = 0; /// Notify rasterizer that any caches of the specified region should be flushed to Switch memory - virtual void FlushRegion(VAddr addr, u64 size) = 0; + virtual void FlushRegion(CacheAddr addr, u64 size) = 0; /// Notify rasterizer that any caches of the specified region should be invalidated - virtual void InvalidateRegion(VAddr addr, u64 size) = 0; + virtual void InvalidateRegion(CacheAddr addr, u64 size) = 0; /// Notify rasterizer that any caches of the specified region should be flushed and invalidated - virtual void FlushAndInvalidateRegion(VAddr addr, u64 size) = 0; + virtual void FlushAndInvalidateRegion(CacheAddr addr, u64 size) = 0; private: void ProcessBindMethod(const MethodCall& method_call); |