diff -r 351b946a93b7 src/video/android/SDL_androidgl.c --- a/src/video/android/SDL_androidgl.c Tue Sep 06 19:38:57 2011 -0300 +++ b/src/video/android/SDL_androidgl.c Tue Sep 06 21:23:05 2011 -0300 @@ -29,26 +29,37 @@ #include +#include + +static void* Android_GLHandle = NULL; /* GL functions */ int Android_GL_LoadLibrary(_THIS, const char *path) { - __android_log_print(ANDROID_LOG_INFO, "SDL", "[STUB] GL_LoadLibrary\n"); + if (!Android_GLHandle) { + Android_GLHandle = dlopen("libGLESv1_CM.so",RTLD_GLOBAL); + if (!Android_GLHandle) { + SDL_SetError("Could not initialize GL ES library\n"); + return -1; + } + } return 0; } void * Android_GL_GetProcAddress(_THIS, const char *proc) { - __android_log_print(ANDROID_LOG_INFO, "SDL", "[STUB] GL_GetProcAddress\n"); - return 0; + return dlsym(RTLD_DEFAULT, proc); } void Android_GL_UnloadLibrary(_THIS) { - __android_log_print(ANDROID_LOG_INFO, "SDL", "[STUB] GL_UnloadLibrary\n"); + if(Android_GLHandle) { + dlclose(Android_GLHandle); + Android_GLHandle = NULL; + } } SDL_GLContext