diff options
Diffstat (limited to 'src/egl/main')
-rw-r--r-- | src/egl/main/egldisplay.h | 1 | ||||
-rw-r--r-- | src/egl/main/egldriver.c | 5 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/egl/main/egldisplay.h b/src/egl/main/egldisplay.h index b42760befa..dbc5d32d91 100644 --- a/src/egl/main/egldisplay.h +++ b/src/egl/main/egldisplay.h @@ -93,6 +93,7 @@ struct _egl_display /* options that affect how the driver initializes the display */ struct { EGLBoolean TestOnly; /**< Driver should not set fields when true */ + EGLBoolean UseFallback; /**< Use fallback driver (sw or less features) */ } Options; /* these fields are set by the driver during init */ diff --git a/src/egl/main/egldriver.c b/src/egl/main/egldriver.c index 7baa24fbf8..e133c220f5 100644 --- a/src/egl/main/egldriver.c +++ b/src/egl/main/egldriver.c @@ -585,8 +585,13 @@ _eglMatchDriver(_EGLDisplay *dpy, EGLBoolean test_only) /* set options */ dpy->Options.TestOnly = test_only; + dpy->Options.UseFallback = EGL_FALSE; best_drv = _eglMatchAndInitialize(dpy); + if (!best_drv) { + dpy->Options.UseFallback = EGL_TRUE; + best_drv = _eglMatchAndInitialize(dpy); + } _eglUnlockMutex(&_eglModuleMutex); |