diff options
| author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2020-06-11 00:58:57 -0300 |
|---|---|---|
| committer | ReinUsesLisp <reinuseslisp@airmail.cc> | 2020-08-22 01:51:45 -0300 |
| commit | da53bcee60fced902479b72b40ed26b099fa9938 (patch) | |
| tree | b83232ad60b7725090b31bd3e347c9df774ced40 /src/video_core/memory_manager.h | |
| parent | ada9b7fb77f0c30a71396c1084616d912245ccab (diff) | |
video_core: Initialize renderer with a GPU
Add an extra step in GPU initialization to be able to initialize render
backends with a valid GPU instance.
Diffstat (limited to 'src/video_core/memory_manager.h')
| -rw-r--r-- | src/video_core/memory_manager.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/video_core/memory_manager.h b/src/video_core/memory_manager.h index 681bd9588..8953fcb53 100644 --- a/src/video_core/memory_manager.h +++ b/src/video_core/memory_manager.h @@ -68,9 +68,12 @@ static_assert(sizeof(PageEntry) == 4, "PageEntry is too large"); class MemoryManager final { public: - explicit MemoryManager(Core::System& system, VideoCore::RasterizerInterface& rasterizer); + explicit MemoryManager(Core::System& system); ~MemoryManager(); + /// Binds a renderer to the memory manager. + void BindRasterizer(VideoCore::RasterizerInterface& rasterizer); + std::optional<VAddr> GpuToCpuAddress(GPUVAddr addr) const; template <typename T> @@ -141,7 +144,7 @@ private: Core::System& system; - VideoCore::RasterizerInterface& rasterizer; + VideoCore::RasterizerInterface* rasterizer = nullptr; std::vector<PageEntry> page_table; }; |
