diff options
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> | 2016-03-19 01:31:01 +0000 |
---|---|---|
committer | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> | 2016-05-06 03:10:14 +0100 |
commit | aa4d4ff23c92340baa1771a7d7308d1d91d3b655 (patch) | |
tree | dad47959f5af525e0ddce44847a6e31fae510358 /src/citra/emu_window/emu_window_sdl2.cpp | |
parent | 75cbfeee58cd3062cd097dbd355cbd51b840f326 (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.cpp | 7 |
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(); |