progs: Check the number of configs returned by eglChooseConfig.
authorChia-I Wu <olvaffe@gmail.com>
Sat, 2 Jan 2010 13:56:13 +0000 (21:56 +0800)
committerChia-I Wu <olvaffe@gmail.com>
Tue, 12 Jan 2010 02:55:35 +0000 (10:55 +0800)
A successful eglChooseConfig call does not imply there are valid
configs.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
progs/egl/xegl_tri.c
progs/egl/xeglbindtex.c
progs/egl/xeglthreads.c
progs/openvg/demos/eglcommon.c
progs/openvg/demos/lion.c
progs/openvg/trivial/eglcommon.c

index 8c4d7f973c7203f70a3d2434c8ba572f6119c85e..1f1a005a210c9ee54f56464236851ebfc87448e0 100644 (file)
@@ -139,7 +139,8 @@ make_x_window(Display *x_dpy, EGLDisplay egl_dpy,
    scrnum = DefaultScreen( x_dpy );
    root = RootWindow( x_dpy, scrnum );
 
-   if (!eglChooseConfig( egl_dpy, attribs, &config, 1, &num_configs)) {
+   if (!eglChooseConfig( egl_dpy, attribs, &config, 1, &num_configs) ||
+       !num_configs) {
       printf("Error: couldn't get an EGL visual config\n");
       exit(1);
    }
index 8103a6a14845e769736f84667baa97838be1f29b..7e35534f8dd1379dd43052c373b00d168b678892 100644 (file)
@@ -66,7 +66,8 @@ make_pbuffer(int width, int height)
    EGLConfig config;
    EGLint num_configs;
 
-   if (!eglChooseConfig(dpy, config_attribs, &config, 1, &num_configs)) {
+   if (!eglChooseConfig(dpy, config_attribs, &config, 1, &num_configs) ||
+       !num_configs) {
       printf("Error: couldn't get an EGL visual config for pbuffer\n");
       exit(1);
    }
@@ -144,7 +145,8 @@ make_window(Display *x_dpy, const char *name,
    scrnum = DefaultScreen( x_dpy );
    root = RootWindow( x_dpy, scrnum );
 
-   if (!eglChooseConfig(dpy, attribs, &config, 1, &num_configs)) {
+   if (!eglChooseConfig(dpy, attribs, &config, 1, &num_configs) ||
+       !num_configs) {
       printf("Error: couldn't get an EGL visual config\n");
       exit(1);
    }
index 7d056ebc6f7efe9102eb26bc6b820db8409f7ffb..5787faecb900477f67ed563335b3762f49d5a1da 100644 (file)
@@ -485,7 +485,8 @@ create_window(struct winthread *wt, EGLContext shareCtx)
    scrnum = DefaultScreen(wt->Dpy);
    root = RootWindow(wt->Dpy, scrnum);
 
-   if (!eglChooseConfig(wt->Display, attribs, &config, 1, &num_configs)) {
+   if (!eglChooseConfig(wt->Display, attribs, &config, 1, &num_configs) ||
+       !num_configs) {
       Error("Unable to choose an EGL config");
    }
 
index dcec1ac4a474458495c0605183a09db69d685717..0316e596c69b0409a4e9135a1fb30dc72d24eb3a 100644 (file)
@@ -61,13 +61,13 @@ make_x_window(Display *x_dpy, EGLDisplay egl_dpy,
    scrnum = DefaultScreen( x_dpy );
    root = RootWindow( x_dpy, scrnum );
 
-   if (!eglChooseConfig( egl_dpy, attribs, &config, 1, &num_configs)) {
+   if (!eglChooseConfig( egl_dpy, attribs, &config, 1, &num_configs) ||
+       !num_configs) {
       printf("Error: couldn't get an EGL visual config\n");
       exit(1);
    }
 
    assert(config);
-   assert(num_configs > 0);
 
    if (!eglGetConfigAttrib(egl_dpy, config, EGL_NATIVE_VISUAL_ID, &vid)) {
       printf("Error: eglGetConfigAttrib() failed\n");
index 3645b22bc5b723932a597ebf963c98d026f3b007..adb269bfd8608a20c7391e83a833d1bff38a6f00 100644 (file)
@@ -86,13 +86,13 @@ make_x_window(Display *x_dpy, EGLDisplay egl_dpy,
    scrnum = DefaultScreen( x_dpy );
    root = RootWindow( x_dpy, scrnum );
 
-   if (!eglChooseConfig( egl_dpy, attribs, &config, 1, &num_configs)) {
+   if (!eglChooseConfig( egl_dpy, attribs, &config, 1, &num_configs) ||
+       !num_configs) {
       printf("Error: couldn't get an EGL visual config\n");
       exit(1);
    }
 
    assert(config);
-   assert(num_configs > 0);
 
    if (!eglGetConfigAttrib(egl_dpy, config, EGL_NATIVE_VISUAL_ID, &vid)) {
       printf("Error: eglGetConfigAttrib() failed\n");
index dcec1ac4a474458495c0605183a09db69d685717..0316e596c69b0409a4e9135a1fb30dc72d24eb3a 100644 (file)
@@ -61,13 +61,13 @@ make_x_window(Display *x_dpy, EGLDisplay egl_dpy,
    scrnum = DefaultScreen( x_dpy );
    root = RootWindow( x_dpy, scrnum );
 
-   if (!eglChooseConfig( egl_dpy, attribs, &config, 1, &num_configs)) {
+   if (!eglChooseConfig( egl_dpy, attribs, &config, 1, &num_configs) ||
+       !num_configs) {
       printf("Error: couldn't get an EGL visual config\n");
       exit(1);
    }
 
    assert(config);
-   assert(num_configs > 0);
 
    if (!eglGetConfigAttrib(egl_dpy, config, EGL_NATIVE_VISUAL_ID, &vid)) {
       printf("Error: eglGetConfigAttrib() failed\n");