diff options
-rw-r--r-- | src/egl/drivers/dri2/platform_x11.c | 24 |
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; } |