summaryrefslogtreecommitdiffstats
path: root/src/video_core/rasterizer_interface.h
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2019-05-07 16:55:18 +0200
committerReinUsesLisp <reinuseslisp@airmail.cc>2019-06-21 02:36:11 +0200
commit6b0695b3cdd930b0157df8fd8f3c9d2dce328595 (patch)
treedca0a5da667579e5836d019b75e84c87567e80da /src/video_core/rasterizer_interface.h
parenttexture_cache: Remove execution context copies from the texture cache (diff)
downloadyuzu-6b0695b3cdd930b0157df8fd8f3c9d2dce328595.tar
yuzu-6b0695b3cdd930b0157df8fd8f3c9d2dce328595.tar.gz
yuzu-6b0695b3cdd930b0157df8fd8f3c9d2dce328595.tar.bz2
yuzu-6b0695b3cdd930b0157df8fd8f3c9d2dce328595.tar.lz
yuzu-6b0695b3cdd930b0157df8fd8f3c9d2dce328595.tar.xz
yuzu-6b0695b3cdd930b0157df8fd8f3c9d2dce328595.tar.zst
yuzu-6b0695b3cdd930b0157df8fd8f3c9d2dce328595.zip
Diffstat (limited to '')
-rw-r--r--src/video_core/rasterizer_interface.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/video_core/rasterizer_interface.h b/src/video_core/rasterizer_interface.h
index d7b86df38..d5505ef9c 100644
--- a/src/video_core/rasterizer_interface.h
+++ b/src/video_core/rasterizer_interface.h
@@ -10,6 +10,10 @@
#include "video_core/engines/fermi_2d.h"
#include "video_core/gpu.h"
+namespace Tegra {
+class MemoryManager;
+}
+
namespace VideoCore {
enum class LoadCallbackStage {
@@ -24,6 +28,8 @@ class RasterizerInterface {
public:
virtual ~RasterizerInterface() {}
+ virtual void InitMemoryMananger(Tegra::MemoryManager& memory_manager) = 0;
+
/// Draw the current batch of vertex arrays
virtual void DrawArrays() = 0;
@@ -43,6 +49,10 @@ public:
/// and invalidated
virtual void FlushAndInvalidateRegion(CacheAddr addr, u64 size) = 0;
+ /// Notify rasterizer that any caches of the specified region should be flushed to Switch memory
+ /// and invalidated
+ virtual void FlushAndInvalidateRegionEx(GPUVAddr gpu_addr, CacheAddr addr, u64 size) = 0;
+
/// Attempt to use a faster method to perform a surface copy
virtual bool AccelerateSurfaceCopy(const Tegra::Engines::Fermi2D::Regs::Surface& src,
const Tegra::Engines::Fermi2D::Regs::Surface& dst,