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.
This commit is contained in:
Kristian Høgsberg 2011-08-31 18:20:06 -04:00
parent c661ecce10
commit 447bb454d8
1 changed files with 4 additions and 2 deletions

View File

@ -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;
}