VideoCore: pass in memory system

currently set as global. Will change when videocore itself is wrapped as a class
This commit is contained in:
Weiyi Wang 2018-11-21 11:20:20 -05:00
parent 8c618c3fc3
commit 8bb404c82a
3 changed files with 12 additions and 3 deletions

View File

@ -206,7 +206,7 @@ System::ResultStatus System::Init(EmuWindow& emu_window, u32 system_mode) {
Service::Init(*this);
GDBStub::Init();
ResultStatus result = VideoCore::Init(emu_window);
ResultStatus result = VideoCore::Init(emu_window, *memory);
if (result != ResultStatus::Success) {
return result;
}

View File

@ -29,8 +29,11 @@ void* g_screenshot_bits;
std::function<void()> g_screenshot_complete_callback;
Layout::FramebufferLayout g_screenshot_framebuffer_layout;
Memory::MemorySystem* g_memory;
/// Initialize the video core
Core::System::ResultStatus Init(EmuWindow& emu_window) {
Core::System::ResultStatus Init(EmuWindow& emu_window, Memory::MemorySystem& memory) {
g_memory = &memory;
Pica::Init();
g_renderer = std::make_unique<OpenGL::RendererOpenGL>(emu_window);

View File

@ -12,6 +12,10 @@
class EmuWindow;
class RendererBase;
namespace Memory{
class MemorySystem;
}
////////////////////////////////////////////////////////////////////////////////////////////////////
// Video Core namespace
@ -33,8 +37,10 @@ extern void* g_screenshot_bits;
extern std::function<void()> g_screenshot_complete_callback;
extern Layout::FramebufferLayout g_screenshot_framebuffer_layout;
extern Memory::MemorySystem* g_memory;
/// Initialize the video core
Core::System::ResultStatus Init(EmuWindow& emu_window);
Core::System::ResultStatus Init(EmuWindow& emu_window, Memory::MemorySystem& memory);
/// Shutdown the video core
void Shutdown();