aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/video_core.cpp
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2018-08-01 20:59:42 -0400
committerLioncash <mathew1800@gmail.com>2018-08-01 21:40:30 -0400
commit0f2ac928f291101bd74aac661cff7d14dfa8c984 (patch)
tree39d1ba26d25bd06874b58990c5deb4d1f4ed252d /src/video_core/video_core.cpp
parent99a1d7440db6412f5cddcb7e00b523661f16cb53 (diff)
video_core: Make global EmuWindow instance part of the base renderer class
Makes the global a member of the RendererBase class. We also change this to be a reference. Passing any form of null pointer to these functions is incorrect entirely, especially given the code itself assumes that the pointer would always be in a valid state. This also makes it easier to follow the lifecycle of instances being used, as we explicitly interact the renderer with the rasterizer, rather than it just operating on a global pointer.
Diffstat (limited to 'src/video_core/video_core.cpp')
-rw-r--r--src/video_core/video_core.cpp7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/video_core/video_core.cpp b/src/video_core/video_core.cpp
index 289140f31..06b13e681 100644
--- a/src/video_core/video_core.cpp
+++ b/src/video_core/video_core.cpp
@@ -13,16 +13,13 @@
namespace VideoCore {
-EmuWindow* g_emu_window = nullptr; ///< Frontend emulator window
std::unique_ptr<RendererBase> g_renderer; ///< Renderer plugin
std::atomic<bool> g_toggle_framelimit_enabled;
/// Initialize the video core
-bool Init(EmuWindow* emu_window) {
- g_emu_window = emu_window;
- g_renderer = std::make_unique<RendererOpenGL>();
- g_renderer->SetWindow(g_emu_window);
+bool Init(EmuWindow& emu_window) {
+ g_renderer = std::make_unique<RendererOpenGL>(emu_window);
if (g_renderer->Init()) {
LOG_DEBUG(Render, "initialized OK");
} else {