updates for latest EGLScreenMESA changes
authorBrian Paul <brian.paul@tungstengraphics.com>
Wed, 4 May 2005 03:32:39 +0000 (03:32 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Wed, 4 May 2005 03:32:39 +0000 (03:32 +0000)
progs/egl/demo1.c
progs/egl/eglinfo.c

index 9b9a2ed..f656b54 100644 (file)
@@ -8,6 +8,25 @@
 #include <stdlib.h>
 
 
+/**
+ * Test EGL_MESA_screen_surface functions
+ */
+static void
+TestScreens(EGLDisplay dpy)
+{
+#define MAX 8
+   EGLScreenMESA screens[MAX];
+   EGLint numScreens;
+   EGLint i;
+
+   eglGetScreensMESA(dpy, screens, MAX, &numScreens);
+   printf("Found %d screens\n", numScreens);
+   for (i = 0; i < numScreens; i++) {
+      printf(" Screen %d handle: %d\n", i, (int) screens[i]);
+   }
+}
+
+
 
 int
 main(int argc, char *argv[])
@@ -68,6 +87,8 @@ main(int argc, char *argv[])
 
    b = eglMakeCurrent(d, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
 
+   TestScreens(d);
+
    eglDestroySurface(d, pbuffer);
    eglDestroyContext(d, ctx);
    eglTerminate(d);
index 7e29ce7..a80df6c 100644 (file)
@@ -98,12 +98,17 @@ PrintModes(EGLDisplay d)
 #ifdef EGL_MESA_screen_surface
    const char *extensions = eglQueryString(d, EGL_EXTENSIONS);
    if (strstr("EGL_MESA_screen_surface", extensions)) {
-      EGLint scrn, numScreens = 1;
+      EGLScreenMESA screens[20];
+      EGLint numScreens = 1, scrn;
       EGLModeMESA modes[MAX_MODES];
-      EGLint numModes, i;
+
+      eglGetScreensMESA(d, screens, 20, &numScreens);
+      printf("Number of Screens: %d\n\n", numScreens);
 
       for (scrn = 0; scrn < numScreens; scrn++) {
-         eglGetModesMESA(d, scrn, modes, MAX_MODES, &numModes);
+         EGLint numModes, i;
+
+         eglGetModesMESA(d, screens[scrn], modes, MAX_MODES, &numModes);
 
          printf("Screen %d Modes:\n", scrn);
          printf("  id width height refresh\n");