Fixed OpenGL ES function loading on some Android devices.

This commit is contained in:
Martin Felis
2015-08-13 19:44:52 -03:00
parent 6e0abae688
commit f6448116cc
+16 -1
View File
@@ -40,6 +40,10 @@
#include <SDL_syswm.h> #include <SDL_syswm.h>
#endif #endif
#ifdef LOVE_ANDROID
#include <dlfcn.h>
#endif
namespace love namespace love
{ {
namespace graphics namespace graphics
@@ -47,6 +51,17 @@ namespace graphics
namespace opengl namespace opengl
{ {
static void *LOVEGetProcAddress(const char *name)
{
#ifdef LOVE_ANDROID
void *proc = dlsym(RTLD_DEFAULT, name);
if (proc)
return proc;
#endif
return SDL_GL_GetProcAddress(name);
}
OpenGL::OpenGL() OpenGL::OpenGL()
: stats() : stats()
, contextInitialized(false) , contextInitialized(false)
@@ -67,7 +82,7 @@ bool OpenGL::initContext()
if (contextInitialized) if (contextInitialized)
return true; return true;
if (!gladLoadGLLoader(SDL_GL_GetProcAddress)) if (!gladLoadGLLoader(LOVEGetProcAddress))
return false; return false;
initOpenGLFunctions(); initOpenGLFunctions();