diff options
Diffstat (limited to 'src/video_core')
| -rw-r--r-- | src/video_core/renderer_base.h | 2 | ||||
| -rw-r--r-- | src/video_core/renderer_opengl/renderer_opengl.cpp | 8 | ||||
| -rw-r--r-- | src/video_core/renderer_opengl/renderer_opengl.h | 2 | ||||
| -rw-r--r-- | src/video_core/video_core.cpp | 12 | ||||
| -rw-r--r-- | src/video_core/video_core.h | 2 |
5 files changed, 18 insertions, 8 deletions
diff --git a/src/video_core/renderer_base.h b/src/video_core/renderer_base.h index 506bff815..91a7b7f17 100644 --- a/src/video_core/renderer_base.h +++ b/src/video_core/renderer_base.h | |||
| @@ -38,7 +38,7 @@ public: | |||
| 38 | virtual void SetWindow(EmuWindow* window) = 0; | 38 | virtual void SetWindow(EmuWindow* window) = 0; |
| 39 | 39 | ||
| 40 | /// Initialize the renderer | 40 | /// Initialize the renderer |
| 41 | virtual void Init() = 0; | 41 | virtual bool Init() = 0; |
| 42 | 42 | ||
| 43 | /// Shutdown the renderer | 43 | /// Shutdown the renderer |
| 44 | virtual void ShutDown() = 0; | 44 | virtual void ShutDown() = 0; |
diff --git a/src/video_core/renderer_opengl/renderer_opengl.cpp b/src/video_core/renderer_opengl/renderer_opengl.cpp index ca3a6a6b4..11c4d0daf 100644 --- a/src/video_core/renderer_opengl/renderer_opengl.cpp +++ b/src/video_core/renderer_opengl/renderer_opengl.cpp | |||
| @@ -445,7 +445,7 @@ static void DebugHandler(GLenum source, GLenum type, GLuint id, GLenum severity, | |||
| 445 | } | 445 | } |
| 446 | 446 | ||
| 447 | /// Initialize the renderer | 447 | /// Initialize the renderer |
| 448 | void RendererOpenGL::Init() { | 448 | bool RendererOpenGL::Init() { |
| 449 | render_window->MakeCurrent(); | 449 | render_window->MakeCurrent(); |
| 450 | 450 | ||
| 451 | // TODO: Make frontends initialize this, so they can use gladLoadGLLoader with their own loaders | 451 | // TODO: Make frontends initialize this, so they can use gladLoadGLLoader with their own loaders |
| @@ -462,9 +462,15 @@ void RendererOpenGL::Init() { | |||
| 462 | LOG_INFO(Render_OpenGL, "GL_VERSION: %s", glGetString(GL_VERSION)); | 462 | LOG_INFO(Render_OpenGL, "GL_VERSION: %s", glGetString(GL_VERSION)); |
| 463 | LOG_INFO(Render_OpenGL, "GL_VENDOR: %s", glGetString(GL_VENDOR)); | 463 | LOG_INFO(Render_OpenGL, "GL_VENDOR: %s", glGetString(GL_VENDOR)); |
| 464 | LOG_INFO(Render_OpenGL, "GL_RENDERER: %s", glGetString(GL_RENDERER)); | 464 | LOG_INFO(Render_OpenGL, "GL_RENDERER: %s", glGetString(GL_RENDERER)); |
| 465 | if (!GLAD_GL_VERSION_3_3) { | ||
| 466 | return false; | ||
| 467 | } | ||
| 468 | |||
| 465 | InitOpenGLObjects(); | 469 | InitOpenGLObjects(); |
| 466 | 470 | ||
| 467 | RefreshRasterizerSetting(); | 471 | RefreshRasterizerSetting(); |
| 472 | |||
| 473 | return true; | ||
| 468 | } | 474 | } |
| 469 | 475 | ||
| 470 | /// Shutdown the renderer | 476 | /// Shutdown the renderer |
diff --git a/src/video_core/renderer_opengl/renderer_opengl.h b/src/video_core/renderer_opengl/renderer_opengl.h index b42df7654..fe4d142a5 100644 --- a/src/video_core/renderer_opengl/renderer_opengl.h +++ b/src/video_core/renderer_opengl/renderer_opengl.h | |||
| @@ -31,7 +31,7 @@ public: | |||
| 31 | void SetWindow(EmuWindow* window) override; | 31 | void SetWindow(EmuWindow* window) override; |
| 32 | 32 | ||
| 33 | /// Initialize the renderer | 33 | /// Initialize the renderer |
| 34 | void Init() override; | 34 | bool Init() override; |
| 35 | 35 | ||
| 36 | /// Shutdown the renderer | 36 | /// Shutdown the renderer |
| 37 | void ShutDown() override; | 37 | void ShutDown() override; |
diff --git a/src/video_core/video_core.cpp b/src/video_core/video_core.cpp index 912db91a4..ee5e50df1 100644 --- a/src/video_core/video_core.cpp +++ b/src/video_core/video_core.cpp | |||
| @@ -28,15 +28,19 @@ std::atomic<bool> g_hw_renderer_enabled; | |||
| 28 | std::atomic<bool> g_shader_jit_enabled; | 28 | std::atomic<bool> g_shader_jit_enabled; |
| 29 | 29 | ||
| 30 | /// Initialize the video core | 30 | /// Initialize the video core |
| 31 | void Init(EmuWindow* emu_window) { | 31 | bool Init(EmuWindow* emu_window) { |
| 32 | Pica::Init(); | 32 | Pica::Init(); |
| 33 | 33 | ||
| 34 | g_emu_window = emu_window; | 34 | g_emu_window = emu_window; |
| 35 | g_renderer = Common::make_unique<RendererOpenGL>(); | 35 | g_renderer = Common::make_unique<RendererOpenGL>(); |
| 36 | g_renderer->SetWindow(g_emu_window); | 36 | g_renderer->SetWindow(g_emu_window); |
| 37 | g_renderer->Init(); | 37 | if (g_renderer->Init()) { |
| 38 | 38 | LOG_DEBUG(Render, "initialized OK"); | |
| 39 | LOG_DEBUG(Render, "initialized OK"); | 39 | } else { |
| 40 | LOG_ERROR(Render, "initialization failed !"); | ||
| 41 | return false; | ||
| 42 | } | ||
| 43 | return true; | ||
| 40 | } | 44 | } |
| 41 | 45 | ||
| 42 | /// Shutdown the video core | 46 | /// Shutdown the video core |
diff --git a/src/video_core/video_core.h b/src/video_core/video_core.h index accb0a4eb..bca67fb8c 100644 --- a/src/video_core/video_core.h +++ b/src/video_core/video_core.h | |||
| @@ -41,7 +41,7 @@ extern std::atomic<bool> g_shader_jit_enabled; | |||
| 41 | void Start(); | 41 | void Start(); |
| 42 | 42 | ||
| 43 | /// Initialize the video core | 43 | /// Initialize the video core |
| 44 | void Init(EmuWindow* emu_window); | 44 | bool Init(EmuWindow* emu_window); |
| 45 | 45 | ||
| 46 | /// Shutdown the video core | 46 | /// Shutdown the video core |
| 47 | void Shutdown(); | 47 | void Shutdown(); |