aboutsummaryrefslogtreecommitdiff
path: root/src/citra/emu_window/emu_window_sdl2.cpp
diff options
context:
space:
mode:
authorEmmanuel Gil Peyrot <linkmauve@linkmauve.fr>2016-03-19 01:31:01 +0000
committerEmmanuel Gil Peyrot <linkmauve@linkmauve.fr>2016-05-06 03:10:14 +0100
commitaa4d4ff23c92340baa1771a7d7308d1d91d3b655 (patch)
treedad47959f5af525e0ddce44847a6e31fae510358 /src/citra/emu_window/emu_window_sdl2.cpp
parent75cbfeee58cd3062cd097dbd355cbd51b840f326 (diff)
Frontends, VideoCore: Move glad initialisation to the frontend
On SDL2 this allows it to use SDL_GL_GetProcAddress() instead of the default function loader, and fixes a crash when using apitrace with an EGL context. On Qt we will need to migrate from QGLWidget to QOpenGLWidget and QOpenGLContext before we can use gladLoadGLLoader() instead of gladLoadGL(), since the former doesn’t expose a function loader.
Diffstat (limited to 'src/citra/emu_window/emu_window_sdl2.cpp')
-rw-r--r--src/citra/emu_window/emu_window_sdl2.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/citra/emu_window/emu_window_sdl2.cpp b/src/citra/emu_window/emu_window_sdl2.cpp
index 924189f4cf..12cdd9d954 100644
--- a/src/citra/emu_window/emu_window_sdl2.cpp
+++ b/src/citra/emu_window/emu_window_sdl2.cpp
@@ -9,6 +9,8 @@
#define SDL_MAIN_HANDLED
#include <SDL.h>
+#include <glad/glad.h>
+
#include "common/key_map.h"
#include "common/logging/log.h"
#include "common/scm_rev.h"
@@ -98,6 +100,11 @@ EmuWindow_SDL2::EmuWindow_SDL2() {
exit(1);
}
+ if (!gladLoadGLLoader(static_cast<GLADloadproc>(SDL_GL_GetProcAddress))) {
+ LOG_CRITICAL(Frontend, "Failed to initialize GL functions! Exiting...");
+ exit(1);
+ }
+
OnResize();
OnMinimalClientAreaChangeRequest(GetActiveConfig().min_client_area_size);
SDL_PumpEvents();