summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/egl/main/egldriver.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/egl/main/egldriver.c b/src/egl/main/egldriver.c
index 3284293..e155f5f 100644
--- a/src/egl/main/egldriver.c
+++ b/src/egl/main/egldriver.c
@@ -92,14 +92,21 @@ _eglChooseDriver(_EGLDisplay *dpy)
const char *displayString = (const char *) dpy->NativeDisplay;
const char *driverName = NULL;
+ /* First, if the EGL_DRIVER env var is set, use that */
+ driverName = getenv("EGL_DRIVER");
+ if (driverName)
+ return _eglstrdup(driverName);
+
+
if (!displayString) {
/* choose a default */
displayString = DefaultDriverName;
}
/* extract default DriverArgs = whatever follows ':' */
- if (displayString[0] == '!' ||
- displayString[0] == ':') {
+ if (displayString &&
+ (displayString[0] == '!' ||
+ displayString[0] == ':')) {
const char *args = strchr(displayString, ':');
if (args)
dpy->DriverArgs = _eglstrdup(args + 1);