aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/renderer_base.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/renderer_base.cpp')
-rw-r--r--src/video_core/renderer_base.cpp29
1 files changed, 26 insertions, 3 deletions
diff --git a/src/video_core/renderer_base.cpp b/src/video_core/renderer_base.cpp
index 30075b23c..afd86a83a 100644
--- a/src/video_core/renderer_base.cpp
+++ b/src/video_core/renderer_base.cpp
@@ -2,14 +2,37 @@
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
-#include <atomic>
#include <memory>
+#include "core/frontend/emu_window.h"
+#include "core/settings.h"
#include "video_core/renderer_base.h"
#include "video_core/renderer_opengl/gl_rasterizer.h"
-#include "video_core/video_core.h"
+
+namespace VideoCore {
+
+RendererBase::RendererBase(Core::Frontend::EmuWindow& window) : render_window{window} {
+ RefreshBaseSettings();
+}
+
+RendererBase::~RendererBase() = default;
+
+void RendererBase::RefreshBaseSettings() {
+ RefreshRasterizerSetting();
+ UpdateCurrentFramebufferLayout();
+
+ renderer_settings.use_framelimiter = Settings::values.toggle_framelimit;
+}
void RendererBase::RefreshRasterizerSetting() {
if (rasterizer == nullptr) {
- rasterizer = std::make_unique<RasterizerOpenGL>();
+ rasterizer = std::make_unique<RasterizerOpenGL>(render_window);
}
}
+
+void RendererBase::UpdateCurrentFramebufferLayout() {
+ const Layout::FramebufferLayout& layout = render_window.GetFramebufferLayout();
+
+ render_window.UpdateCurrentFramebufferLayout(layout.width, layout.height);
+}
+
+} // namespace VideoCore