summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChia-I Wu <[email protected]>2010-09-30 16:53:33 +0800
committerChia-I Wu <[email protected]>2010-09-30 17:04:56 +0800
commitd63b2622f1c47d6f82fe96c9f1b749d908883a23 (patch)
tree8f299c589ad29433c7b598dd4fb17b7e14f725ec
parent6b2f1561ad66c358a5d6b7a5ed5eb8f550a3b098 (diff)
st/egl: Skip single-buffered configs in EGL.
Let DRI2 report single-buffered configs and skip them in EGL. This is based on the patch by Luca Barbieri.
-rw-r--r--src/gallium/state_trackers/egl/common/egl_g3d.c4
-rw-r--r--src/gallium/state_trackers/egl/x11/native_dri2.c4
2 files changed, 4 insertions, 4 deletions
diff --git a/src/gallium/state_trackers/egl/common/egl_g3d.c b/src/gallium/state_trackers/egl/common/egl_g3d.c
index ce2b1f7bb94..bfbb431058b 100644
--- a/src/gallium/state_trackers/egl/common/egl_g3d.c
+++ b/src/gallium/state_trackers/egl/common/egl_g3d.c
@@ -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;
diff --git a/src/gallium/state_trackers/egl/x11/native_dri2.c b/src/gallium/state_trackers/egl/x11/native_dri2.c
index 1be1e42468c..1169e273c34 100644
--- a/src/gallium/state_trackers/egl/x11/native_dri2.c
+++ b/src/gallium/state_trackers/egl/x11/native_dri2.c
@@ -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;