Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Commit

Permalink
Implement GL_GetProcAddress() for Android.
Browse files Browse the repository at this point in the history
Fixes Bugzilla #1290.

Thanks to Gabriel Jacobo for the patch!
  • Loading branch information
icculus committed Oct 13, 2011
1 parent ac7bc0b commit efa3969
Showing 1 changed file with 21 additions and 4 deletions.
25 changes: 21 additions & 4 deletions src/video/android/SDL_androidgl.c
Expand Up @@ -29,26 +29,43 @@

#include <android/log.h>

#include <dlfcn.h>

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;
/*
!!! FIXME: this _should_ use eglGetProcAddress(), but it appears to be
!!! FIXME: busted on Android at the moment...
!!! FIXME: http://code.google.com/p/android/issues/detail?id=7681
!!! FIXME: ...so revisit this later. --ryan.
*/
return dlsym(Android_GLHandle, 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
Expand Down

0 comments on commit efa3969

Please sign in to comment.