summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Lioncash2018-08-11 20:20:19 -0400
committerGravatar Lioncash2018-08-11 20:20:21 -0400
commit0a93b45b6a2662c69320e6c69f8024e26909a168 (patch)
treea16166777acb3d5af7915496827408e1ec7025bd
parentMerge pull request #1010 from bunnei/unk-vert-attrib-shader (diff)
downloadyuzu-0a93b45b6a2662c69320e6c69f8024e26909a168.tar.gz
yuzu-0a93b45b6a2662c69320e6c69f8024e26909a168.tar.xz
yuzu-0a93b45b6a2662c69320e6c69f8024e26909a168.zip
core: Namespace EmuWindow
Gets the class out of the global namespace.
-rw-r--r--src/core/core.cpp4
-rw-r--r--src/core/core.h9
-rw-r--r--src/core/frontend/emu_window.cpp4
-rw-r--r--src/core/frontend/emu_window.h4
-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
-rw-r--r--src/yuzu/bootmanager.h2
-rw-r--r--src/yuzu_cmd/emu_window/emu_window_sdl2.h2
14 files changed, 44 insertions, 22 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp
index 6b8004eb2..83d4d742b 100644
--- a/src/core/core.cpp
+++ b/src/core/core.cpp
@@ -88,7 +88,7 @@ System::ResultStatus System::SingleStep() {
88 return RunLoop(false); 88 return RunLoop(false);
89} 89}
90 90
91System::ResultStatus System::Load(EmuWindow& emu_window, const std::string& filepath) { 91System::ResultStatus System::Load(Frontend::EmuWindow& emu_window, const std::string& filepath) {
92 app_loader = Loader::GetLoader(virtual_filesystem->OpenFile(filepath, FileSys::Mode::Read)); 92 app_loader = Loader::GetLoader(virtual_filesystem->OpenFile(filepath, FileSys::Mode::Read));
93 93
94 if (!app_loader) { 94 if (!app_loader) {
@@ -151,7 +151,7 @@ Cpu& System::CpuCore(size_t core_index) {
151 return *cpu_cores[core_index]; 151 return *cpu_cores[core_index];
152} 152}
153 153
154System::ResultStatus System::Init(EmuWindow& emu_window) { 154System::ResultStatus System::Init(Frontend::EmuWindow& emu_window) {
155 LOG_DEBUG(HW_Memory, "initialized OK"); 155 LOG_DEBUG(HW_Memory, "initialized OK");
156 156
157 CoreTiming::Init(); 157 CoreTiming::Init();
diff --git a/src/core/core.h b/src/core/core.h
index 2944b09cd..d98b15a71 100644
--- a/src/core/core.h
+++ b/src/core/core.h
@@ -22,9 +22,12 @@
22#include "video_core/debug_utils/debug_utils.h" 22#include "video_core/debug_utils/debug_utils.h"
23#include "video_core/gpu.h" 23#include "video_core/gpu.h"
24 24
25class EmuWindow;
26class ARM_Interface; 25class ARM_Interface;
27 26
27namespace Core::Frontend {
28class EmuWindow;
29}
30
28namespace Service::SM { 31namespace Service::SM {
29class ServiceManager; 32class ServiceManager;
30} 33}
@@ -99,7 +102,7 @@ public:
99 * @param filepath String path to the executable application to load on the host file system. 102 * @param filepath String path to the executable application to load on the host file system.
100 * @returns ResultStatus code, indicating if the operation succeeded. 103 * @returns ResultStatus code, indicating if the operation succeeded.
101 */ 104 */
102 ResultStatus Load(EmuWindow& emu_window, const std::string& filepath); 105 ResultStatus Load(Frontend::EmuWindow& emu_window, const std::string& filepath);
103 106
104 /** 107 /**
105 * Indicates if the emulated system is powered on (all subsystems initialized and able to run an 108 * Indicates if the emulated system is powered on (all subsystems initialized and able to run an
@@ -227,7 +230,7 @@ private:
227 * input. 230 * input.
228 * @return ResultStatus code, indicating if the operation succeeded. 231 * @return ResultStatus code, indicating if the operation succeeded.
229 */ 232 */
230 ResultStatus Init(EmuWindow& emu_window); 233 ResultStatus Init(Frontend::EmuWindow& emu_window);
231 234
232 /// RealVfsFilesystem instance 235 /// RealVfsFilesystem instance
233 FileSys::VirtualFilesystem virtual_filesystem; 236 FileSys::VirtualFilesystem virtual_filesystem;
diff --git a/src/core/frontend/emu_window.cpp b/src/core/frontend/emu_window.cpp
index 2d776c693..9dd493efb 100644
--- a/src/core/frontend/emu_window.cpp
+++ b/src/core/frontend/emu_window.cpp
@@ -8,6 +8,8 @@
8#include "core/frontend/input.h" 8#include "core/frontend/input.h"
9#include "core/settings.h" 9#include "core/settings.h"
10 10
11namespace Core::Frontend {
12
11class EmuWindow::TouchState : public Input::Factory<Input::TouchDevice>, 13class EmuWindow::TouchState : public Input::Factory<Input::TouchDevice>,
12 public std::enable_shared_from_this<TouchState> { 14 public std::enable_shared_from_this<TouchState> {
13public: 15public:
@@ -108,3 +110,5 @@ void EmuWindow::TouchMoved(unsigned framebuffer_x, unsigned framebuffer_y) {
108void EmuWindow::UpdateCurrentFramebufferLayout(unsigned width, unsigned height) { 110void EmuWindow::UpdateCurrentFramebufferLayout(unsigned width, unsigned height) {
109 NotifyFramebufferLayoutChanged(Layout::DefaultFrameLayout(width, height)); 111 NotifyFramebufferLayoutChanged(Layout::DefaultFrameLayout(width, height));
110} 112}
113
114} // namespace Core::Frontend
diff --git a/src/core/frontend/emu_window.h b/src/core/frontend/emu_window.h
index e8c29adfb..384dc7822 100644
--- a/src/core/frontend/emu_window.h
+++ b/src/core/frontend/emu_window.h
@@ -10,6 +10,8 @@
10#include "common/common_types.h" 10#include "common/common_types.h"
11#include "core/frontend/framebuffer_layout.h" 11#include "core/frontend/framebuffer_layout.h"
12 12
13namespace Core::Frontend {
14
13/** 15/**
14 * Abstraction class used to provide an interface between emulation code and the frontend 16 * Abstraction class used to provide an interface between emulation code and the frontend
15 * (e.g. SDL, QGLWidget, GLFW, etc...). 17 * (e.g. SDL, QGLWidget, GLFW, etc...).
@@ -166,3 +168,5 @@ private:
166 */ 168 */
167 std::tuple<unsigned, unsigned> ClipToTouchScreen(unsigned new_x, unsigned new_y); 169 std::tuple<unsigned, unsigned> ClipToTouchScreen(unsigned new_x, unsigned new_y);
168}; 170};
171
172} // namespace Core::Frontend
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
diff --git a/src/yuzu/bootmanager.h b/src/yuzu/bootmanager.h
index d0f990c64..f133bfadf 100644
--- a/src/yuzu/bootmanager.h
+++ b/src/yuzu/bootmanager.h
@@ -101,7 +101,7 @@ signals:
101 void ErrorThrown(Core::System::ResultStatus, std::string); 101 void ErrorThrown(Core::System::ResultStatus, std::string);
102}; 102};
103 103
104class GRenderWindow : public QWidget, public EmuWindow { 104class GRenderWindow : public QWidget, public Core::Frontend::EmuWindow {
105 Q_OBJECT 105 Q_OBJECT
106 106
107public: 107public:
diff --git a/src/yuzu_cmd/emu_window/emu_window_sdl2.h b/src/yuzu_cmd/emu_window/emu_window_sdl2.h
index 1d835c3c6..d34902109 100644
--- a/src/yuzu_cmd/emu_window/emu_window_sdl2.h
+++ b/src/yuzu_cmd/emu_window/emu_window_sdl2.h
@@ -10,7 +10,7 @@
10 10
11struct SDL_Window; 11struct SDL_Window;
12 12
13class EmuWindow_SDL2 : public EmuWindow { 13class EmuWindow_SDL2 : public Core::Frontend::EmuWindow {
14public: 14public:
15 explicit EmuWindow_SDL2(bool fullscreen); 15 explicit EmuWindow_SDL2(bool fullscreen);
16 ~EmuWindow_SDL2(); 16 ~EmuWindow_SDL2();