Module: Mesa Branch: 7.9 Commit: c438a09b4c1f9c886b83c81aabc0838503a426ee URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c438a09b4c1f9c886b83c81aabc0838503a426ee
Author: Chia-I Wu <o...@lunarg.com> Date: Wed Jan 5 18:51:39 2011 +0800 egl_glx: Fix borken driver. The driver was broken since 6eda3f311bc24999835003e404d5eda5599bc5de. All configs fail to pass _eglValidateConfig. This fix might not be complete, but at least EGL demos run. This fixes bug #32825. --- src/egl/drivers/glx/egl_glx.c | 12 +++++++++++- 1 files changed, 11 insertions(+), 1 deletions(-) diff --git a/src/egl/drivers/glx/egl_glx.c b/src/egl/drivers/glx/egl_glx.c index b2076e2..9805598 100644 --- a/src/egl/drivers/glx/egl_glx.c +++ b/src/egl/drivers/glx/egl_glx.c @@ -142,7 +142,6 @@ static const struct { { GLX_STENCIL_SIZE, EGL_STENCIL_SIZE }, { GLX_SAMPLE_BUFFERS, EGL_SAMPLE_BUFFERS }, { GLX_SAMPLES, EGL_SAMPLES }, - { GLX_RENDER_TYPE, EGL_RENDERABLE_TYPE }, { GLX_X_RENDERABLE, EGL_NATIVE_RENDERABLE }, { GLX_X_VISUAL_TYPE, EGL_NATIVE_VISUAL_TYPE }, { GLX_CONFIG_CAVEAT, EGL_CONFIG_CAVEAT }, @@ -218,6 +217,16 @@ convert_fbconfig(Display *dpy, GLXFBConfig fbconfig, _eglSetConfigKey(&GLX_conf->Base, EGL_SURFACE_TYPE, surface_type); + _eglSetConfigKey(&GLX_conf->Base, EGL_RENDERABLE_TYPE, EGL_OPENGL_BIT); + + glXGetFBConfigAttrib(dpy, fbconfig, GLX_TRANSPARENT_TYPE, &val); + if (val == GLX_NONE) { + _eglSetConfigKey(&GLX_conf->Base, EGL_TRANSPARENT_TYPE, EGL_NONE); + _eglSetConfigKey(&GLX_conf->Base, EGL_TRANSPARENT_RED_VALUE, 0); + _eglSetConfigKey(&GLX_conf->Base, EGL_TRANSPARENT_GREEN_VALUE, 0); + _eglSetConfigKey(&GLX_conf->Base, EGL_TRANSPARENT_BLUE_VALUE, 0); + } + return EGL_TRUE; } @@ -294,6 +303,7 @@ convert_visual(Display *dpy, XVisualInfo *vinfo, surface_type |= EGL_PIXMAP_BIT; _eglSetConfigKey(&GLX_conf->Base, EGL_SURFACE_TYPE, surface_type); + _eglSetConfigKey(&GLX_conf->Base, EGL_RENDERABLE_TYPE, EGL_OPENGL_BIT); _eglSetConfigKey(&GLX_conf->Base, EGL_NATIVE_RENDERABLE, EGL_TRUE); _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit