| diff --git a/dispatch/glproc_egl.cpp b/dispatch/glproc_egl.cpp |
| index 3608f525..48692367 100644 |
| --- a/dispatch/glproc_egl.cpp |
| +++ b/dispatch/glproc_egl.cpp |
| @@ -93,7 +93,11 @@ _getPublicProcAddress(const char *procName) |
| if (procName[0] == 'e' && procName[1] == 'g' && procName[2] == 'l') { |
| static void *libEGL = NULL; |
| if (!libEGL) { |
| - libEGL = _dlopen("libEGL.so", RTLD_LOCAL | RTLD_LAZY | RTLD_DEEPBIND); |
| + const char * libegl_filename = getenv("TRACE_LIBEGL"); |
| + if (!libegl_filename) { |
| + libegl_filename = "libEGL.so"; |
| + } |
| + libEGL = _dlopen(libegl_filename, RTLD_LOCAL | RTLD_LAZY | RTLD_DEEPBIND); |
| if (!libEGL) { |
| return NULL; |
| } |
| @@ -136,7 +140,11 @@ _getPublicProcAddress(const char *procName) |
| |
| static void *libGLESv2 = NULL; |
| if (!libGLESv2) { |
| - libGLESv2 = _dlopen("libGLESv2.so", RTLD_LOCAL | RTLD_LAZY | RTLD_DEEPBIND); |
| + const char * libglesv2_filename = getenv("TRACE_LIBGLESV2"); |
| + if (!libglesv2_filename) { |
| + libglesv2_filename = "libGLESv2.so"; |
| + } |
| + libGLESv2 = _dlopen(libglesv2_filename, RTLD_LOCAL | RTLD_LAZY | RTLD_DEEPBIND); |
| } |
| if (libGLESv2) { |
| proc = dlsym(libGLESv2, procName); |
| @@ -147,7 +155,11 @@ _getPublicProcAddress(const char *procName) |
| |
| static void *libGLESv1 = NULL; |
| if (!libGLESv1) { |
| - libGLESv1 = _dlopen("libGLESv1_CM.so", RTLD_LOCAL | RTLD_LAZY | RTLD_DEEPBIND); |
| + const char * libglesv1_filename = getenv("TRACE_LIBGLESV1"); |
| + if (!libglesv1_filename) { |
| + libglesv1_filename = "libGLESv1.so"; |
| + } |
| + libGLESv1 = _dlopen(libglesv1_filename, RTLD_LOCAL | RTLD_LAZY | RTLD_DEEPBIND); |
| } |
| if (libGLESv1) { |
| proc = dlsym(libGLESv1, procName); |