summaryrefslogtreecommitdiff
path: root/src/video_core
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core')
-rw-r--r--src/video_core/renderer_base.cpp2
-rw-r--r--src/video_core/renderer_base.h6
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp2
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.h9
-rw-r--r--src/video_core/renderer_opengl/renderer_opengl.cpp8
-rw-r--r--src/video_core/renderer_opengl/renderer_opengl.h8
-rw-r--r--src/video_core/video_core.cpp2
-rw-r--r--src/video_core/video_core.h4
8 files changed, 26 insertions, 15 deletions
diff --git a/src/video_core/renderer_base.cpp b/src/video_core/renderer_base.cpp
index e87016429..afd86a83a 100644
--- a/src/video_core/renderer_base.cpp
+++ b/src/video_core/renderer_base.cpp
@@ -10,7 +10,7 @@
10 10
11namespace VideoCore { 11namespace VideoCore {
12 12
13RendererBase::RendererBase(EmuWindow& window) : render_window{window} { 13RendererBase::RendererBase(Core::Frontend::EmuWindow& window) : render_window{window} {
14 RefreshBaseSettings(); 14 RefreshBaseSettings();
15} 15}
16 16
diff --git a/src/video_core/renderer_base.h b/src/video_core/renderer_base.h
index fd8c47592..d9f16b8e6 100644
--- a/src/video_core/renderer_base.h
+++ b/src/video_core/renderer_base.h
@@ -11,7 +11,9 @@
11#include "video_core/gpu.h" 11#include "video_core/gpu.h"
12#include "video_core/rasterizer_interface.h" 12#include "video_core/rasterizer_interface.h"
13 13
14namespace Core::Frontend {
14class EmuWindow; 15class EmuWindow;
16}
15 17
16namespace VideoCore { 18namespace VideoCore {
17 19
@@ -21,7 +23,7 @@ struct RendererSettings {
21 23
22class RendererBase : NonCopyable { 24class RendererBase : NonCopyable {
23public: 25public:
24 explicit RendererBase(EmuWindow& window); 26 explicit RendererBase(Core::Frontend::EmuWindow& window);
25 virtual ~RendererBase(); 27 virtual ~RendererBase();
26 28
27 /// Swap buffers (render frame) 29 /// Swap buffers (render frame)
@@ -59,7 +61,7 @@ protected:
59 /// Refreshes settings specific to the rasterizer. 61 /// Refreshes settings specific to the rasterizer.
60 void RefreshRasterizerSetting(); 62 void RefreshRasterizerSetting();
61 63
62 EmuWindow& render_window; ///< Reference to the render window handle. 64 Core::Frontend::EmuWindow& render_window; ///< Reference to the render window handle.
63 std::unique_ptr<RasterizerInterface> rasterizer; 65 std::unique_ptr<RasterizerInterface> rasterizer;
64 f32 m_current_fps = 0.0f; ///< Current framerate, should be set by the renderer 66 f32 m_current_fps = 0.0f; ///< Current framerate, should be set by the renderer
65 int m_current_frame = 0; ///< Current frame, should be set by the renderer 67 int m_current_frame = 0; ///< Current frame, should be set by the renderer
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index 8360feb5d..b97e892e6 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -36,7 +36,7 @@ MICROPROFILE_DEFINE(OpenGL_Drawing, "OpenGL", "Drawing", MP_RGB(128, 128, 192));
36MICROPROFILE_DEFINE(OpenGL_Blits, "OpenGL", "Blits", MP_RGB(100, 100, 255)); 36MICROPROFILE_DEFINE(OpenGL_Blits, "OpenGL", "Blits", MP_RGB(100, 100, 255));
37MICROPROFILE_DEFINE(OpenGL_CacheManagement, "OpenGL", "Cache Mgmt", MP_RGB(100, 255, 100)); 37MICROPROFILE_DEFINE(OpenGL_CacheManagement, "OpenGL", "Cache Mgmt", MP_RGB(100, 255, 100));
38 38
39RasterizerOpenGL::RasterizerOpenGL(EmuWindow& window) : emu_window{window} { 39RasterizerOpenGL::RasterizerOpenGL(Core::Frontend::EmuWindow& window) : emu_window{window} {
40 // Create sampler objects 40 // Create sampler objects
41 for (size_t i = 0; i < texture_samplers.size(); ++i) { 41 for (size_t i = 0; i < texture_samplers.size(); ++i) {
42 texture_samplers[i].Create(); 42 texture_samplers[i].Create();
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.h b/src/video_core/renderer_opengl/gl_rasterizer.h
index 6d6d85cc1..bd01dc0ae 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.h
+++ b/src/video_core/renderer_opengl/gl_rasterizer.h
@@ -21,12 +21,15 @@
21#include "video_core/renderer_opengl/gl_state.h" 21#include "video_core/renderer_opengl/gl_state.h"
22#include "video_core/renderer_opengl/gl_stream_buffer.h" 22#include "video_core/renderer_opengl/gl_stream_buffer.h"
23 23
24class EmuWindow;
25struct ScreenInfo; 24struct ScreenInfo;
26 25
26namespace Core::Frontend {
27class EmuWindow;
28}
29
27class RasterizerOpenGL : public VideoCore::RasterizerInterface { 30class RasterizerOpenGL : public VideoCore::RasterizerInterface {
28public: 31public:
29 explicit RasterizerOpenGL(EmuWindow& renderer); 32 explicit RasterizerOpenGL(Core::Frontend::EmuWindow& renderer);
30 ~RasterizerOpenGL() override; 33 ~RasterizerOpenGL() override;
31 34
32 void DrawArrays() override; 35 void DrawArrays() override;
@@ -145,7 +148,7 @@ private:
145 148
146 RasterizerCacheOpenGL res_cache; 149 RasterizerCacheOpenGL res_cache;
147 150
148 EmuWindow& emu_window; 151 Core::Frontend::EmuWindow& emu_window;
149 152
150 std::unique_ptr<GLShader::ProgramManager> shader_program_manager; 153 std::unique_ptr<GLShader::ProgramManager> shader_program_manager;
151 OGLVertexArray sw_vao; 154 OGLVertexArray sw_vao;
diff --git a/src/video_core/renderer_opengl/renderer_opengl.cpp b/src/video_core/renderer_opengl/renderer_opengl.cpp
index 899865e3b..95f1aa0fe 100644
--- a/src/video_core/renderer_opengl/renderer_opengl.cpp
+++ b/src/video_core/renderer_opengl/renderer_opengl.cpp
@@ -18,7 +18,6 @@
18#include "core/tracer/recorder.h" 18#include "core/tracer/recorder.h"
19#include "video_core/renderer_opengl/renderer_opengl.h" 19#include "video_core/renderer_opengl/renderer_opengl.h"
20#include "video_core/utils.h" 20#include "video_core/utils.h"
21#include "video_core/video_core.h"
22 21
23static const char vertex_shader[] = R"( 22static const char vertex_shader[] = R"(
24#version 150 core 23#version 150 core
@@ -92,7 +91,8 @@ static std::array<GLfloat, 3 * 2> MakeOrthographicMatrix(const float width, cons
92 return matrix; 91 return matrix;
93} 92}
94 93
95ScopeAcquireGLContext::ScopeAcquireGLContext(EmuWindow& emu_window_) : emu_window{emu_window_} { 94ScopeAcquireGLContext::ScopeAcquireGLContext(Core::Frontend::EmuWindow& emu_window_)
95 : emu_window{emu_window_} {
96 if (Settings::values.use_multi_core) { 96 if (Settings::values.use_multi_core) {
97 emu_window.MakeCurrent(); 97 emu_window.MakeCurrent();
98 } 98 }
@@ -103,7 +103,9 @@ ScopeAcquireGLContext::~ScopeAcquireGLContext() {
103 } 103 }
104} 104}
105 105
106RendererOpenGL::RendererOpenGL(EmuWindow& window) : VideoCore::RendererBase{window} {} 106RendererOpenGL::RendererOpenGL(Core::Frontend::EmuWindow& window)
107 : VideoCore::RendererBase{window} {}
108
107RendererOpenGL::~RendererOpenGL() = default; 109RendererOpenGL::~RendererOpenGL() = default;
108 110
109/// Swap buffers (render frame) 111/// Swap buffers (render frame)
diff --git a/src/video_core/renderer_opengl/renderer_opengl.h b/src/video_core/renderer_opengl/renderer_opengl.h
index 428afa3b7..a5eab6997 100644
--- a/src/video_core/renderer_opengl/renderer_opengl.h
+++ b/src/video_core/renderer_opengl/renderer_opengl.h
@@ -12,7 +12,9 @@
12#include "video_core/renderer_opengl/gl_resource_manager.h" 12#include "video_core/renderer_opengl/gl_resource_manager.h"
13#include "video_core/renderer_opengl/gl_state.h" 13#include "video_core/renderer_opengl/gl_state.h"
14 14
15namespace Core::Frontend {
15class EmuWindow; 16class EmuWindow;
17}
16 18
17/// Structure used for storing information about the textures for the Switch screen 19/// Structure used for storing information about the textures for the Switch screen
18struct TextureInfo { 20struct TextureInfo {
@@ -34,16 +36,16 @@ struct ScreenInfo {
34/// Helper class to acquire/release OpenGL context within a given scope 36/// Helper class to acquire/release OpenGL context within a given scope
35class ScopeAcquireGLContext : NonCopyable { 37class ScopeAcquireGLContext : NonCopyable {
36public: 38public:
37 explicit ScopeAcquireGLContext(EmuWindow& window); 39 explicit ScopeAcquireGLContext(Core::Frontend::EmuWindow& window);
38 ~ScopeAcquireGLContext(); 40 ~ScopeAcquireGLContext();
39 41
40private: 42private:
41 EmuWindow& emu_window; 43 Core::Frontend::EmuWindow& emu_window;
42}; 44};
43 45
44class RendererOpenGL : public VideoCore::RendererBase { 46class RendererOpenGL : public VideoCore::RendererBase {
45public: 47public:
46 explicit RendererOpenGL(EmuWindow& window); 48 explicit RendererOpenGL(Core::Frontend::EmuWindow& window);
47 ~RendererOpenGL() override; 49 ~RendererOpenGL() override;
48 50
49 /// Swap buffers (render frame) 51 /// Swap buffers (render frame)
diff --git a/src/video_core/video_core.cpp b/src/video_core/video_core.cpp
index 1e686b89e..6780d1c16 100644
--- a/src/video_core/video_core.cpp
+++ b/src/video_core/video_core.cpp
@@ -9,7 +9,7 @@
9 9
10namespace VideoCore { 10namespace VideoCore {
11 11
12std::unique_ptr<RendererBase> CreateRenderer(EmuWindow& emu_window) { 12std::unique_ptr<RendererBase> CreateRenderer(Core::Frontend::EmuWindow& emu_window) {
13 return std::make_unique<RendererOpenGL>(emu_window); 13 return std::make_unique<RendererOpenGL>(emu_window);
14} 14}
15 15
diff --git a/src/video_core/video_core.h b/src/video_core/video_core.h
index 2dc07540f..f79f85dfe 100644
--- a/src/video_core/video_core.h
+++ b/src/video_core/video_core.h
@@ -6,7 +6,9 @@
6 6
7#include <memory> 7#include <memory>
8 8
9namespace Core::Frontend {
9class EmuWindow; 10class EmuWindow;
11}
10 12
11namespace VideoCore { 13namespace VideoCore {
12 14
@@ -18,6 +20,6 @@ class RendererBase;
18 * @note The returned renderer instance is simply allocated. Its Init() 20 * @note The returned renderer instance is simply allocated. Its Init()
19 * function still needs to be called to fully complete its setup. 21 * function still needs to be called to fully complete its setup.
20 */ 22 */
21std::unique_ptr<RendererBase> CreateRenderer(EmuWindow& emu_window); 23std::unique_ptr<RendererBase> CreateRenderer(Core::Frontend::EmuWindow& emu_window);
22 24
23} // namespace VideoCore 25} // namespace VideoCore