diff options
Diffstat (limited to 'progs/egl/demo1.c')
| -rw-r--r-- | progs/egl/demo1.c | 24 | 
1 files changed, 11 insertions, 13 deletions
| diff --git a/progs/egl/demo1.c b/progs/egl/demo1.c index 49b6624538..34a516e72f 100644 --- a/progs/egl/demo1.c +++ b/progs/egl/demo1.c @@ -34,14 +34,9 @@ TestScreens(EGLDisplay dpy)   * Print table of all available configurations.   */  static void -PrintConfigs(EGLDisplay d) +PrintConfigs(EGLDisplay d, EGLConfig *configs, EGLint numConfigs)  { -   EGLConfig *configs; -   EGLint numConfigs, i; - -   eglGetConfigs(d, NULL, 0, &numConfigs); -   configs = malloc(sizeof(*configs) *numConfigs); -   eglGetConfigs(d, configs, numConfigs, &numConfigs); +   EGLint i;     printf("Configurations:\n");     printf("     bf lv d st colorbuffer dp st   supported \n"); @@ -83,7 +78,6 @@ PrintConfigs(EGLDisplay d)               red, green, blue, alpha,               depth, stencil, surfString);     } -   free(configs);  } @@ -94,7 +88,8 @@ main(int argc, char *argv[])     int maj, min;     EGLContext ctx;     EGLSurface pbuffer; -   EGLConfig configs[10]; +   EGLConfig *configs; +   EGLint numConfigs;     EGLBoolean b;     const EGLint pbufAttribs[] = {        EGL_WIDTH, 500, @@ -102,10 +97,7 @@ main(int argc, char *argv[])        EGL_NONE     }; -   /*     EGLDisplay d = eglGetDisplay(EGL_DEFAULT_DISPLAY); -   */ -   EGLDisplay d = eglGetDisplay((EGLNativeDisplayType) "!EGL_i915");     assert(d);     if (!eglInitialize(d, &maj, &min)) { @@ -116,7 +108,11 @@ main(int argc, char *argv[])     printf("EGL version = %d.%d\n", maj, min);     printf("EGL_VENDOR = %s\n", eglQueryString(d, EGL_VENDOR)); -   PrintConfigs(d); +   eglGetConfigs(d, NULL, 0, &numConfigs); +   configs = malloc(sizeof(*configs) *numConfigs); +   eglGetConfigs(d, configs, numConfigs, &numConfigs); + +   PrintConfigs(d, configs, numConfigs);     ctx = eglCreateContext(d, configs[0], EGL_NO_CONTEXT, NULL);     if (ctx == EGL_NO_CONTEXT) { @@ -130,6 +126,8 @@ main(int argc, char *argv[])        return 0;     } +   free(configs); +     b = eglMakeCurrent(d, pbuffer, pbuffer, ctx);     if (!b) {        printf("make current failed\n"); | 
