Module: Demos
Branch: master
Commit: f61baefe2e9858b68fccd838dce644ab6ecc1e1e
URL:    
http://cgit.freedesktop.org/mesa/demos/commit/?id=f61baefe2e9858b68fccd838dce644ab6ecc1e1e

Author: Chia-I Wu <olva...@gmail.com>
Date:   Fri Jan 14 14:17:59 2011 +0800

egl/opengl: Use eglChooseConfig in peglgears.

eglGetConfig might not return a config that supports pbuffer.

---

 src/egl/opengl/peglgears.c |   15 ++++++++++++++-
 1 files changed, 14 insertions(+), 1 deletions(-)

diff --git a/src/egl/opengl/peglgears.c b/src/egl/opengl/peglgears.c
index 212d1ac..30b6578 100644
--- a/src/egl/opengl/peglgears.c
+++ b/src/egl/opengl/peglgears.c
@@ -371,6 +371,7 @@ main(int argc, char *argv[])
        EGLint numConfigs, i;
        EGLBoolean b;
        EGLDisplay d;
+       EGLint configAttribs[10];
        EGLint screenAttribs[10];
        GLboolean printInfo = GL_FALSE;
        EGLint width = 300, height = 300;
@@ -398,7 +399,19 @@ main(int argc, char *argv[])
        printf("peglgears: EGL version = %d.%d\n", major, minor);
        printf("peglgears: EGL_VENDOR = %s\n", eglQueryString(d, EGL_VENDOR));
 
-       eglGetConfigs(d, configs, MAX_CONFIGS, &numConfigs);
+       i = 0;
+       configAttribs[i++] = EGL_RENDERABLE_TYPE;
+       configAttribs[i++] = EGL_OPENGL_BIT;
+       configAttribs[i++] = EGL_SURFACE_TYPE;
+       configAttribs[i++] = EGL_PBUFFER_BIT;
+       configAttribs[i++] = EGL_NONE;
+
+       numConfigs = 0;
+       if (!eglChooseConfig(d, configAttribs, configs, MAX_CONFIGS, 
&numConfigs) ||
+           !numConfigs) {
+               printf("peglgears: failed to choose a config\n");
+               return 0;
+       }
 
        eglBindAPI(EGL_OPENGL_API);
 

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to