summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/egl/drivers/dri2/platform_x11.c24
1 files changed, 10 insertions, 14 deletions
diff --git a/src/egl/drivers/dri2/platform_x11.c b/src/egl/drivers/dri2/platform_x11.c
index df39ca8f19..db7d3b9ed1 100644
--- a/src/egl/drivers/dri2/platform_x11.c
+++ b/src/egl/drivers/dri2/platform_x11.c
@@ -1467,25 +1467,21 @@ dri2_initialize_x11_dri2(_EGLDriver *drv, _EGLDisplay *disp)
EGLBoolean
dri2_initialize_x11(_EGLDriver *drv, _EGLDisplay *disp)
{
- EGLBoolean initialized = EGL_TRUE;
+ EGLBoolean initialized = EGL_FALSE;
- int x11_dri2_accel = (getenv("LIBGL_ALWAYS_SOFTWARE") == NULL);
-
- if (x11_dri2_accel) {
+ if (!getenv("LIBGL_ALWAYS_SOFTWARE")) {
#ifdef HAVE_DRI3
- if (getenv("LIBGL_DRI3_DISABLE") != NULL ||
- !dri2_initialize_x11_dri3(drv, disp)) {
+ if (!getenv("LIBGL_DRI3_DISABLE"))
+ initialized = dri2_initialize_x11_dri3(drv, disp);
#endif
- if (!dri2_initialize_x11_dri2(drv, disp)) {
- initialized = dri2_initialize_x11_swrast(drv, disp);
- }
-#ifdef HAVE_DRI3
- }
-#endif
- } else {
- initialized = dri2_initialize_x11_swrast(drv, disp);
+
+ if (!initialized)
+ initialized = dri2_initialize_x11_dri2(drv, disp);
}
+ if (!initialized)
+ initialized = dri2_initialize_x11_swrast(drv, disp);
+
return initialized;
}