egl: These changes allow an eglBindAPI(EGL_OPENGL_ES_API) to succeed, and to work...
authorRobert Ellison <papillo@tungstengraphics.com>
Thu, 26 Jun 2008 14:55:00 +0000 (08:55 -0600)
committerBrian Paul <brian.paul@tungstengraphics.com>
Fri, 27 Jun 2008 13:17:02 +0000 (07:17 -0600)
- egl_xdri.c just sets the EGL_OPENGL_ES_BIT as well as the
  EGL_OPENGL_BIT in ClientAPIsMask

- eglconfig.c allows the renderable type to include EGL_OPENGL_ES2_BIT
  as well as EGL_OPENGL_ES_BIT.

- egl_xlib.c sets the EGL_NATIVE_RENDERABLE attribute to EGL_FALSE for
  all softpipe configurations.  (Otherwise, an eglChooseConfig() that
  looks for particular values of EGL_NATIVE_RENDERABLE will fail.)

src/egl/drivers/xdri/egl_xdri.c
src/egl/main/eglconfig.c
src/gallium/winsys/egl_xlib/egl_xlib.c

index df80c6a..71d4f15 100644 (file)
@@ -828,7 +828,7 @@ _eglMain(_EGLDisplay *disp, const char *args)
    xdri_drv->Base.API.DestroySurface = xdri_eglDestroySurface;
    xdri_drv->Base.API.SwapBuffers = xdri_eglSwapBuffers;
 
-   xdri_drv->Base.ClientAPIsMask = EGL_OPENGL_BIT /*| EGL_OPENGL_ES_BIT*/;
+   xdri_drv->Base.ClientAPIsMask = EGL_OPENGL_BIT | EGL_OPENGL_ES_BIT;
    xdri_drv->Base.Name = "X/DRI";
 
    _eglLog(_EGL_DEBUG, "XDRI: main(%s)", args);
index 3ef0564..b6846d4 100644 (file)
@@ -147,7 +147,7 @@ _eglParseConfigAttribs(_EGLConfig *config, const EGLint *attrib_list)
       }
       else if (attr == EGL_RENDERABLE_TYPE) {
          EGLint renType = attrib_list[++i];
-         if (renType & ~(EGL_OPENGL_ES_BIT | EGL_OPENVG_BIT)) {
+         if (renType & ~(EGL_OPENGL_ES_BIT | EGL_OPENGL_ES2_BIT | EGL_OPENVG_BIT)) {
             _eglError(EGL_BAD_ATTRIBUTE, "eglChooseConfig");
             return EGL_FALSE;
          }
index eeb15e3..8045c0d 100644 (file)
@@ -172,6 +172,7 @@ create_configs(_EGLDriver *drv, EGLDisplay dpy)
       SET_CONFIG_ATTRIB(config, EGL_STENCIL_SIZE, sbits);
       SET_CONFIG_ATTRIB(config, EGL_NATIVE_VISUAL_ID, visid);
       SET_CONFIG_ATTRIB(config, EGL_NATIVE_VISUAL_TYPE, vistype);
+      SET_CONFIG_ATTRIB(config, EGL_NATIVE_RENDERABLE, EGL_FALSE);
 
       _eglAddConfig(disp, config);
    }