summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKristian Høgsberg <[email protected]>2011-08-31 18:20:06 -0400
committerKristian Høgsberg <[email protected]>2011-08-31 18:33:36 -0400
commit447bb454d848d98134ff916ab8a3b316fb136c59 (patch)
treeb36ae3ffc91dada10ac044aec37e5a200c12e8cc
parentc661ecce1089000c3fca9a543713f8264221be50 (diff)
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.
-rw-r--r--src/egl/drivers/dri2/egl_dri2.c6
1 files 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;
}