egl: check for EGL_DRIVER env var to override normal driver selection process
authorBrian Paul <brian.paul@tungstengraphics.com>
Fri, 30 May 2008 17:46:43 +0000 (11:46 -0600)
committerBrian Paul <brian.paul@tungstengraphics.com>
Fri, 30 May 2008 17:47:09 +0000 (11:47 -0600)
src/egl/main/egldriver.c

index 32842933ce249bc5fa2de25ee15ccf6a63dd937f..e155f5fb98268667dc297e0e5429351221282d60 100644 (file)
@@ -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);