st/egl: Skip single-buffered configs in EGL.
authorChia-I Wu <olv@lunarg.com>
Thu, 30 Sep 2010 08:53:33 +0000 (16:53 +0800)
committerChia-I Wu <olv@lunarg.com>
Thu, 30 Sep 2010 09:04:56 +0000 (17:04 +0800)
Let DRI2 report single-buffered configs and skip them in EGL.  This is
based on the patch by Luca Barbieri.

src/gallium/state_trackers/egl/common/egl_g3d.c
src/gallium/state_trackers/egl/x11/native_dri2.c

index ce2b1f7bb94b7c4d1323b15f2ed23d7d2b36cb75..bfbb431058bf841714127e883e8f3463d20b13b8 100644 (file)
@@ -258,6 +258,10 @@ egl_g3d_init_config(_EGLDriver *drv, _EGLDisplay *dpy,
    EGLint buffer_mask, api_mask;
    EGLBoolean valid;
 
+   /* skip single-buffered configs */
+   if (!(nconf->buffer_mask & (1 << NATIVE_ATTACHMENT_BACK_LEFT)))
+      return EGL_FALSE;
+
    buffer_mask = 0x0;
    if (nconf->buffer_mask & (1 << NATIVE_ATTACHMENT_FRONT_LEFT))
       buffer_mask |= ST_ATTACHMENT_FRONT_LEFT_MASK;
index 1be1e42468c2c49d4533609b3f2421f63ba9379f..1169e273c34bbdbff967b22e364e732526803086 100644 (file)
@@ -518,10 +518,6 @@ dri2_display_convert_config(struct native_display *ndpy,
    if (!(mode->renderType & GLX_RGBA_BIT) || !mode->rgbMode)
       return FALSE;
 
-   /* skip single-buffered configs */
-   if (!mode->doubleBufferMode)
-      return FALSE;
-
    /* only interested in native renderable configs */
    if (!mode->xRenderable || !mode->drawableType)
       return FALSE;