vbo: if 'end' is out of bounds, clamp it
[mesa.git] / progs / egl / demo1.c
index 52673187c4da86bc9cae9e4d517e64e3c74d53a4..34a516e72fcfe2876b60467eedd928d0cb357640 100644 (file)
@@ -4,8 +4,8 @@
 
 #define EGL_EGLEXT_PROTOTYPES
 
-#include <GLES/egl.h>
-#include <GLES/eglext.h>
+#include <EGL/egl.h>
+#include <EGL/eglext.h>
 #include <assert.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -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");