blob: 710abbbaa58065acbf22109809763442dc929696 [file] [log] [blame]
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);