From 447bb454d848d98134ff916ab8a3b316fb136c59 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Kristian=20H=C3=B8gsberg?= Date: Wed, 31 Aug 2011 18:20:06 -0400 Subject: [PATCH] egl_dri2: Only clear EGL_PIXMAP_BIT if DRI config is double buffered We don't want to set the pixmap bit in the EGL config if the DRI config we're adding is a double buffered config. However, don't clear any other bits the platform might pass in in the surface_type argument. --- src/egl/drivers/dri2/egl_dri2.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c index 0099a0d6d7f..6c1c17d4357 100644 --- a/src/egl/drivers/dri2/egl_dri2.c +++ b/src/egl/drivers/dri2/egl_dri2.c @@ -259,8 +259,10 @@ dri2_add_config(_EGLDisplay *disp, const __DRIconfig *dri_config, int id, return NULL; } - conf->base.SurfaceType |= surface_type & (!double_buffer ? EGL_PIXMAP_BIT: - (EGL_WINDOW_BIT | EGL_PBUFFER_BIT | EGL_SWAP_BEHAVIOR_PRESERVED_BIT)); + if (double_buffer) + surface_type &= ~EGL_PIXMAP_BIT; + + conf->base.SurfaceType |= surface_type; return conf; } -- 2.30.2