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.h2
-rw-r--r--src/video_core/renderer_opengl/renderer_opengl.cpp8
-rw-r--r--src/video_core/renderer_opengl/renderer_opengl.h2
-rw-r--r--src/video_core/video_core.cpp12
-rw-r--r--src/video_core/video_core.h2
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
448void RendererOpenGL::Init() { 448bool 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;
28std::atomic<bool> g_shader_jit_enabled; 28std::atomic<bool> g_shader_jit_enabled;
29 29
30/// Initialize the video core 30/// Initialize the video core
31void Init(EmuWindow* emu_window) { 31bool 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;
41void Start(); 41void Start();
42 42
43/// Initialize the video core 43/// Initialize the video core
44void Init(EmuWindow* emu_window); 44bool Init(EmuWindow* emu_window);
45 45
46/// Shutdown the video core 46/// Shutdown the video core
47void Shutdown(); 47void Shutdown();