diff options
author | Andrei Karas <akaras@inbox.ru> | 2016-09-03 02:01:34 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2016-09-03 02:01:34 +0300 |
commit | f43602b237228935ca468dc3388db0ab761ddbbb (patch) | |
tree | 6272c2645cf0e2a957f5ca02f48c55f97c223ef5 | |
parent | 804e478a1bae58f779a9e6c0e6abafeedd172497 (diff) | |
download | manaverse-f43602b237228935ca468dc3388db0ab761ddbbb.tar.gz manaverse-f43602b237228935ca468dc3388db0ab761ddbbb.tar.bz2 manaverse-f43602b237228935ca468dc3388db0ab761ddbbb.tar.xz manaverse-f43602b237228935ca468dc3388db0ab761ddbbb.zip |
Show error messages in SDL2 OpenGL context creation function.
-rw-r--r-- | src/utils/sdl2helper.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/utils/sdl2helper.cpp b/src/utils/sdl2helper.cpp index e9db1fb61..f0a3b7616 100644 --- a/src/utils/sdl2helper.cpp +++ b/src/utils/sdl2helper.cpp @@ -104,6 +104,13 @@ void *SDL::createGLContext(SDL_Window *const window, // SDL_GL_SetAttribute(SDL_GL_CONTEXT_FLAGS, SDL_GL_CONTEXT_DEBUG_FLAG); SDL_ClearError(); void *context = SDL_GL_CreateContext(window); + if (SDL_GetError()) + { + logger->log("Error to switch to context %d.%d: %s", + major, + minor, + SDL_GetError()); + } if (SDL_GetError() && (major > 3 || (major == 3 && minor > 3))) { logger->log("Try fallback to OpenGL 3.3 core context"); @@ -111,6 +118,11 @@ void *SDL::createGLContext(SDL_Window *const window, SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 3); SDL_ClearError(); context = SDL_GL_CreateContext(window); + if (SDL_GetError()) + { + logger->log("Error to switch to core context 3.3: %s", + SDL_GetError()); + } if (SDL_GetError() && profile == 0x01) { logger->log("Try fallback to OpenGL 3.3 compatibility context"); @@ -119,15 +131,29 @@ void *SDL::createGLContext(SDL_Window *const window, SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, 0x02); SDL_ClearError(); context = SDL_GL_CreateContext(window); + if (SDL_GetError()) + { + logger->log("Error to switch to compatibility context 3.3: %s", + SDL_GetError()); + } } } if (SDL_GetError() && (major > 3 || (major == 3 && minor > 0))) { + logger->log("Error to switch to core context %d.%d: %s", + major, + minor, + SDL_GetError()); logger->log("Try fallback to OpenGL 3.0 core context"); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 0); SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, profile); context = SDL_GL_CreateContext(window); + if (SDL_GetError()) + { + logger->log("Error to switch to core context 3.0: %s", + SDL_GetError()); + } } if (SDL_GetError() && (major > 2 || (major == 2 && minor > 1))) { @@ -136,6 +162,11 @@ void *SDL::createGLContext(SDL_Window *const window, SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 1); SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, 0x02); context = SDL_GL_CreateContext(window); + if (SDL_GetError()) + { + logger->log("Error to switch to compatibility context 2.1: %s", + SDL_GetError()); + } } return context; } |