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.
This commit is contained in:
ReinUsesLisp 2020-06-11 00:58:57 -03:00
parent 60c8e017d5
commit 1c61cf29b6
22 changed files with 172 additions and 119 deletions

View file

@ -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;
};