diff options
-rw-r--r-- | main/mesa-demos/APKBUILD | 11 | ||||
-rw-r--r-- | main/mesa-demos/egl-EGL_MESA_screen_surface.patch | 1495 |
2 files changed, 1503 insertions, 3 deletions
diff --git a/main/mesa-demos/APKBUILD b/main/mesa-demos/APKBUILD index 3e600da67d..f7add3e846 100644 --- a/main/mesa-demos/APKBUILD +++ b/main/mesa-demos/APKBUILD @@ -14,6 +14,7 @@ makedepends="$depends_dev mesa-dev glew-dev glu-dev freeglut-dev install="" subpackages= source="ftp://ftp.freedesktop.org/pub/mesa/demos/$pkgver/$pkgname-$pkgver.tar.bz2 + egl-EGL_MESA_screen_surface.patch " _builddir="$srcdir/$pkgname-$pkgver" @@ -25,6 +26,7 @@ prepare() { *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1 esac done + autoreconf -vif } build() { @@ -43,6 +45,9 @@ package() { make -j1 DESTDIR="$pkgdir" install || return 1 } -md5sums="72613a2c8c013716db02e3ff59d29061 mesa-demos-8.2.0.tar.bz2" -sha256sums="e4bfecb5816ddd4b7b37c1bc876b63f1f7f06fda5879221a9774d0952f90ba92 mesa-demos-8.2.0.tar.bz2" -sha512sums="590e9fb66e23c0ad526754e9084858eb3e1fa906be55ee6121089325254b970e135e04d53c634cabd13d59c572ea39a4a877bce14b120d73850aafd159a5c8de mesa-demos-8.2.0.tar.bz2" +md5sums="72613a2c8c013716db02e3ff59d29061 mesa-demos-8.2.0.tar.bz2 +f61c4cd817aa046516d0670490439a02 egl-EGL_MESA_screen_surface.patch" +sha256sums="e4bfecb5816ddd4b7b37c1bc876b63f1f7f06fda5879221a9774d0952f90ba92 mesa-demos-8.2.0.tar.bz2 +42310cd105dc3cb9d509d8cb71efce5d91c5f9ad5f99317d3b6b3aa900272d40 egl-EGL_MESA_screen_surface.patch" +sha512sums="590e9fb66e23c0ad526754e9084858eb3e1fa906be55ee6121089325254b970e135e04d53c634cabd13d59c572ea39a4a877bce14b120d73850aafd159a5c8de mesa-demos-8.2.0.tar.bz2 +5a4614d37ce5507048b8a4a670091c3708fb908d78bf1203cb760bc50639930dfe60e980972b2c46d7999c758d9bbd4bcf12f350cde4e008910d7a5d0e6d83b5 egl-EGL_MESA_screen_surface.patch" diff --git a/main/mesa-demos/egl-EGL_MESA_screen_surface.patch b/main/mesa-demos/egl-EGL_MESA_screen_surface.patch new file mode 100644 index 0000000000..0cf47ff2ec --- /dev/null +++ b/main/mesa-demos/egl-EGL_MESA_screen_surface.patch @@ -0,0 +1,1495 @@ +From 74443c6ee79f3251f643ea05e94df58183e37d0d Mon Sep 17 00:00:00 2001 +From: Matt Turner <mattst88@gmail.com> +Date: Fri, 28 Aug 2015 15:57:38 -0700 +Subject: egl: Remove demos using EGL_MESA_screen_surface. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The remnants of the extension were removed from Mesa in commit 7a58262e. + +Reviewed-by: Andreas Boll <andreas.boll.dev@gmail.com> +Tested-by: Andreas Boll <andreas.boll.dev@gmail.com> +Reviewed-by: Marek Olšák <marek.olsak@amd.com> + +diff --git a/src/egl/eglut/Makefile.am b/src/egl/eglut/Makefile.am +index 2d2f2af..b765069 100644 +--- a/src/egl/eglut/Makefile.am ++++ b/src/egl/eglut/Makefile.am +@@ -33,17 +33,12 @@ if HAVE_WAYLAND + eglut_wayland = libeglut_wayland.la + endif + +-noinst_LTLIBRARIES = libeglut_screen.la $(eglut_x11) $(eglut_wayland) ++noinst_LTLIBRARIES = $(eglut_x11) $(eglut_wayland) + endif + +-libeglut_screen_la_SOURCES = \ +- eglut.c \ +- eglut.h \ +- eglutint.h \ +- eglut_screen.c +- + libeglut_x11_la_SOURCES = \ + eglut.c \ ++ eglut.h \ + eglutint.h \ + eglut_x11.c + libeglut_x11_la_CFLAGS = $(X11_CFLAGS) $(EGL_CFLAGS) +@@ -52,6 +47,7 @@ libeglut_x11_la_LIBADD = $(X11_LIBS) $(EGL_LIBS) + + libeglut_wayland_la_SOURCES = \ + eglut.c \ ++ eglut.h \ + eglutint.h \ + eglut_wayland.c + +diff --git a/src/egl/eglut/eglut.c b/src/egl/eglut/eglut.c +index 2ee6f15..9921746 100644 +--- a/src/egl/eglut/eglut.c ++++ b/src/egl/eglut/eglut.c +@@ -76,8 +76,7 @@ _eglutNow(void) + static void + _eglutDestroyWindow(struct eglut_window *win) + { +- if (_eglut->surface_type != EGL_PBUFFER_BIT && +- _eglut->surface_type != EGL_SCREEN_BIT_MESA) ++ if (_eglut->surface_type != EGL_PBUFFER_BIT) + eglDestroySurface(_eglut->dpy, win->surface); + + _eglutNativeFiniWindow(win); +@@ -175,7 +174,6 @@ _eglutCreateWindow(const char *title, int x, int y, int w, int h) + win->config, win->native.u.pixmap, NULL); + break; + case EGL_PBUFFER_BIT: +- case EGL_SCREEN_BIT_MESA: + win->surface = win->native.u.surface; + break; + default: +@@ -289,9 +287,7 @@ eglutDestroyWindow(int win) + if (window->index != win) + return; + +- /* XXX it causes some bug in st/egl KMS backend */ +- if ( _eglut->surface_type != EGL_SCREEN_BIT_MESA) +- eglMakeCurrent(_eglut->dpy, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT); ++ eglMakeCurrent(_eglut->dpy, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT); + + _eglutDestroyWindow(_eglut->current); + } +diff --git a/src/egl/eglut/eglut_screen.c b/src/egl/eglut/eglut_screen.c +deleted file mode 100644 +index 021a8f1..0000000 +--- a/src/egl/eglut/eglut_screen.c ++++ /dev/null +@@ -1,180 +0,0 @@ +-/* +- * Copyright (C) 2010 LunarG Inc. +- * +- * Permission is hereby granted, free of charge, to any person obtaining a +- * copy of this software and associated documentation files (the "Software"), +- * to deal in the Software without restriction, including without limitation +- * the rights to use, copy, modify, merge, publish, distribute, sublicense, +- * and/or sell copies of the Software, and to permit persons to whom the +- * Software is furnished to do so, subject to the following conditions: +- * +- * The above copyright notice and this permission notice shall be included +- * in all copies or substantial portions of the Software. +- * +- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +- * DEALINGS IN THE SOFTWARE. +- * +- * Authors: +- * Chia-I Wu <olv@lunarg.com> +- */ +- +-#include <stdio.h> +-#include <string.h> +-#include <sys/time.h> +- +-#define EGL_EGLEXT_PROTOTYPES +-#include "EGL/egl.h" +-#include "EGL/eglext.h" +- +-#include "eglutint.h" +- +-#define MAX_MODES 100 +- +-static EGLScreenMESA kms_screen; +-static EGLModeMESA kms_mode; +-static EGLint kms_width, kms_height; +- +-void +-_eglutNativeInitDisplay(void) +-{ +- _eglut->native_dpy = EGL_DEFAULT_DISPLAY; +- _eglut->surface_type = EGL_SCREEN_BIT_MESA; +-} +- +-void +-_eglutNativeFiniDisplay(void) +-{ +- kms_screen = 0; +- kms_mode = 0; +- kms_width = 0; +- kms_height = 0; +-} +- +-static void +-init_kms(void) +-{ +- EGLModeMESA modes[MAX_MODES]; +- EGLint num_screens, num_modes; +- EGLint width, height, best_mode; +- EGLint i; +- +- if (!eglGetScreensMESA(_eglut->dpy, &kms_screen, 1, &num_screens) || +- !num_screens) +- _eglutFatal("eglGetScreensMESA failed\n"); +- +- if (!eglGetModesMESA(_eglut->dpy, kms_screen, +- modes, MAX_MODES, &num_modes) || !num_modes) +- _eglutFatal("eglGetModesMESA failed!\n"); +- +- printf("Found %d modes:\n", num_modes); +- +- best_mode = 0; +- width = 0; +- height = 0; +- for (i = 0; i < num_modes; i++) { +- EGLint w, h; +- eglGetModeAttribMESA(_eglut->dpy, modes[i], EGL_WIDTH, &w); +- eglGetModeAttribMESA(_eglut->dpy, modes[i], EGL_HEIGHT, &h); +- printf("%3d: %d x %d\n", i, w, h); +- if (w > width && h > height) { +- width = w; +- height = h; +- best_mode = i; +- } +- } +- +- printf("Will use screen size: %d x %d\n", width, height); +- +- kms_mode = modes[best_mode]; +- kms_width = width; +- kms_height = height; +-} +- +-void +-_eglutNativeInitWindow(struct eglut_window *win, const char *title, +- int x, int y, int w, int h) +-{ +- EGLint surf_attribs[16]; +- EGLint i; +- const char *exts; +- +- exts = eglQueryString(_eglut->dpy, EGL_EXTENSIONS); +- if (!exts || !strstr(exts, "EGL_MESA_screen_surface")) +- _eglutFatal("EGL_MESA_screen_surface is not supported\n"); +- +- init_kms(); +- +- i = 0; +- surf_attribs[i++] = EGL_WIDTH; +- surf_attribs[i++] = kms_width; +- surf_attribs[i++] = EGL_HEIGHT; +- surf_attribs[i++] = kms_height; +- surf_attribs[i++] = EGL_NONE; +- +- /* create surface */ +- win->native.u.surface = eglCreateScreenSurfaceMESA(_eglut->dpy, +- win->config, surf_attribs); +- if (win->native.u.surface == EGL_NO_SURFACE) +- _eglutFatal("eglCreateScreenSurfaceMESA failed\n"); +- +- if (!eglShowScreenSurfaceMESA(_eglut->dpy, kms_screen, +- win->native.u.surface, kms_mode)) +- _eglutFatal("eglShowScreenSurfaceMESA failed\n"); +- +- win->native.width = kms_width; +- win->native.height = kms_height; +-} +- +-void +-_eglutNativeFiniWindow(struct eglut_window *win) +-{ +- eglShowScreenSurfaceMESA(_eglut->dpy, +- kms_screen, EGL_NO_SURFACE, 0); +- eglDestroySurface(_eglut->dpy, win->native.u.surface); +-} +- +-void +-_eglutNativeEventLoop(void) +-{ +- int start = _eglutNow(); +- int frames = 0; +- +- _eglut->redisplay = 1; +- +- while (1) { +- struct eglut_window *win = _eglut->current; +- int now = _eglutNow(); +- +- if (now - start > 5000) { +- double elapsed = (double) (now - start) / 1000.0; +- +- printf("%d frames in %3.1f seconds = %6.3f FPS\n", +- frames, elapsed, frames / elapsed); +- fflush(stdout); +- +- start = now; +- frames = 0; +- +- /* send escape */ +- if (win->keyboard_cb) +- win->keyboard_cb(27); +- } +- +- if (_eglut->idle_cb) +- _eglut->idle_cb(); +- +- if (_eglut->redisplay) { +- _eglut->redisplay = 0; +- +- if (win->display_cb) +- win->display_cb(); +- eglSwapBuffers(_eglut->dpy, win->surface); +- frames++; +- } +- } +-} +diff --git a/src/egl/opengl/Makefile.am b/src/egl/opengl/Makefile.am +index 0c7228f..fe7faa9 100644 +--- a/src/egl/opengl/Makefile.am ++++ b/src/egl/opengl/Makefile.am +@@ -51,20 +51,12 @@ endif + + if HAVE_EGL + noinst_PROGRAMS = \ +- demo1 \ +- demo2 \ +- demo3 \ + eglinfo \ +- eglgears_screen \ +- egltri_screen \ + peglgears \ + $(EGL_DRM_DEMOS) \ + $(EGL_X11_DEMOS) + endif + +-egltri_screen_SOURCES = egltri.c +-eglgears_screen_SOURCES = eglgears.c +- + egltri_x11_SOURCES = egltri.c + eglgears_x11_SOURCES = eglgears.c + +@@ -73,9 +65,6 @@ egltri_x11_LDFLAGS = $(AM_LDFLAGS) $(X11_LIBS) + xeglgears_LDFLAGS = $(AM_LDFLAGS) $(X11_LIBS) + xeglthreads_LDFLAGS = $(AM_LDFLAGS) $(X11_LIBS) -pthread + +-eglgears_screen_LDADD = ../eglut/libeglut_screen.la +-egltri_screen_LDADD = ../eglut/libeglut_screen.la +- + eglgears_x11_LDADD = ../eglut/libeglut_x11.la + egltri_x11_LDADD = ../eglut/libeglut_x11.la + +diff --git a/src/egl/opengl/demo1.c b/src/egl/opengl/demo1.c +deleted file mode 100644 +index d892734..0000000 +--- a/src/egl/opengl/demo1.c ++++ /dev/null +@@ -1,147 +0,0 @@ +-/* +- * Exercise EGL API functions +- */ +- +-#define EGL_EGLEXT_PROTOTYPES +- +-#include <EGL/egl.h> +-#include <EGL/eglext.h> +-#include <assert.h> +-#include <stdio.h> +-#include <stdlib.h> +-#include <string.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]); +- } +-} +- +-/** +- * Print table of all available configurations. +- */ +-static void +-PrintConfigs(EGLDisplay d, EGLConfig *configs, EGLint numConfigs) +-{ +- EGLint i; +- +- printf("Configurations:\n"); +- printf(" bf lv d st colorbuffer dp st supported \n"); +- printf(" id sz l b ro r g b a th cl surfaces \n"); +- printf("----------------------------------------------\n"); +- for (i = 0; i < numConfigs; i++) { +- EGLint id, size, level; +- EGLint red, green, blue, alpha; +- EGLint depth, stencil; +- EGLint surfaces; +- EGLint doubleBuf = 1, stereo = 0; +- char surfString[100] = ""; +- +- eglGetConfigAttrib(d, configs[i], EGL_CONFIG_ID, &id); +- eglGetConfigAttrib(d, configs[i], EGL_BUFFER_SIZE, &size); +- eglGetConfigAttrib(d, configs[i], EGL_LEVEL, &level); +- +- eglGetConfigAttrib(d, configs[i], EGL_RED_SIZE, &red); +- eglGetConfigAttrib(d, configs[i], EGL_GREEN_SIZE, &green); +- eglGetConfigAttrib(d, configs[i], EGL_BLUE_SIZE, &blue); +- eglGetConfigAttrib(d, configs[i], EGL_ALPHA_SIZE, &alpha); +- eglGetConfigAttrib(d, configs[i], EGL_DEPTH_SIZE, &depth); +- eglGetConfigAttrib(d, configs[i], EGL_STENCIL_SIZE, &stencil); +- eglGetConfigAttrib(d, configs[i], EGL_SURFACE_TYPE, &surfaces); +- +- if (surfaces & EGL_WINDOW_BIT) +- strcat(surfString, "win,"); +- if (surfaces & EGL_PBUFFER_BIT) +- strcat(surfString, "pb,"); +- if (surfaces & EGL_PIXMAP_BIT) +- strcat(surfString, "pix,"); +- if (strlen(surfString) > 0) +- surfString[strlen(surfString) - 1] = 0; +- +- printf("0x%02x %2d %2d %c %c %2d %2d %2d %2d %2d %2d %-12s\n", +- id, size, level, +- doubleBuf ? 'y' : '.', +- stereo ? 'y' : '.', +- red, green, blue, alpha, +- depth, stencil, surfString); +- } +-} +- +- +- +-int +-main(int argc, char *argv[]) +-{ +- int maj, min; +- EGLContext ctx; +- EGLSurface pbuffer; +- EGLConfig *configs; +- EGLint numConfigs; +- EGLBoolean b; +- const EGLint pbufAttribs[] = { +- EGL_WIDTH, 500, +- EGL_HEIGHT, 500, +- EGL_NONE +- }; +- +- EGLDisplay d = eglGetDisplay(EGL_DEFAULT_DISPLAY); +- assert(d); +- +- if (!eglInitialize(d, &maj, &min)) { +- printf("demo: eglInitialize failed\n"); +- exit(1); +- } +- +- printf("EGL version = %d.%d\n", maj, min); +- printf("EGL_VENDOR = %s\n", eglQueryString(d, EGL_VENDOR)); +- +- eglGetConfigs(d, NULL, 0, &numConfigs); +- configs = malloc(sizeof(*configs) *numConfigs); +- eglGetConfigs(d, configs, numConfigs, &numConfigs); +- +- PrintConfigs(d, configs, numConfigs); +- +- eglBindAPI(EGL_OPENGL_API); +- ctx = eglCreateContext(d, configs[0], EGL_NO_CONTEXT, NULL); +- if (ctx == EGL_NO_CONTEXT) { +- printf("failed to create context\n"); +- return 0; +- } +- +- pbuffer = eglCreatePbufferSurface(d, configs[0], pbufAttribs); +- if (pbuffer == EGL_NO_SURFACE) { +- printf("failed to create pbuffer\n"); +- return 0; +- } +- +- free(configs); +- +- b = eglMakeCurrent(d, pbuffer, pbuffer, ctx); +- if (!b) { +- printf("make current failed\n"); +- return 0; +- } +- +- b = eglMakeCurrent(d, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT); +- +- TestScreens(d); +- +- eglDestroySurface(d, pbuffer); +- eglDestroyContext(d, ctx); +- eglTerminate(d); +- +- return 0; +-} +diff --git a/src/egl/opengl/demo2.c b/src/egl/opengl/demo2.c +deleted file mode 100644 +index 505b474..0000000 +--- a/src/egl/opengl/demo2.c ++++ /dev/null +@@ -1,216 +0,0 @@ +-/* +- * Exercise EGL API functions +- */ +- +-#define EGL_EGLEXT_PROTOTYPES +- +-#include <assert.h> +-#include <stdio.h> +-#include <stdlib.h> +-#include <string.h> +-#include <unistd.h> +- +-#include <EGL/egl.h> +-#include <EGL/eglext.h> +-#include "gl_wrap.h" +- +-/*#define FRONTBUFFER*/ +- +-static void _subset_Rectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2, +- GLfloat r, GLfloat g, GLfloat b) +-{ +- GLfloat v[4][2], c[4][4]; +- int i; +- +- v[0][0] = x1; v[0][1] = y1; +- v[1][0] = x2; v[1][1] = y1; +- v[2][0] = x2; v[2][1] = y2; +- v[3][0] = x1; v[3][1] = y2; +- +- for (i = 0; i < 4; i++) { +- c[i][0] = r; +- c[i][1] = g; +- c[i][2] = b; +- c[i][3] = 1.0; +- } +- +- glVertexPointer(2, GL_FLOAT, 0, v); +- glColorPointer(4, GL_FLOAT, 0, c); +- glEnableClientState(GL_VERTEX_ARRAY); +- glEnableClientState(GL_COLOR_ARRAY); +- +- glDrawArrays(GL_TRIANGLE_FAN, 0, 4); +- +- glDisableClientState(GL_VERTEX_ARRAY); +- glDisableClientState(GL_COLOR_ARRAY); +-} +- +- +-static void redraw(EGLDisplay dpy, EGLSurface surf, int rot) +-{ +- GLfloat r, g, b; +- +- printf("Redraw event\n"); +- +- glClearColor( rand()/(float)RAND_MAX, +- rand()/(float)RAND_MAX, +- rand()/(float)RAND_MAX, +- 1); +- +- glClear( GL_COLOR_BUFFER_BIT ); +- +- r = rand()/(float)RAND_MAX; +- g = rand()/(float)RAND_MAX; +- b = rand()/(float)RAND_MAX; +- +- glPushMatrix(); +- glRotatef(rot, 0, 0, 1); +- glScalef(.5, .5, .5); +- _subset_Rectf( -1, -1, 1, 1, r, g, b ); +- glPopMatrix(); +- +-#ifdef FRONTBUFFER +- glFlush(); +-#else +- eglSwapBuffers( dpy, surf ); +-#endif +- glFinish(); +-} +- +- +-/** +- * 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[]) +-{ +- int maj, min; +- EGLContext ctx; +- EGLSurface pbuffer, screen_surf; +- EGLConfig configs[10]; +- EGLint numConfigs, i; +- EGLBoolean b; +- const EGLint pbufAttribs[] = { +- EGL_WIDTH, 500, +- EGL_HEIGHT, 500, +- EGL_NONE +- }; +- EGLint screenAttribs[32]; +- EGLModeMESA mode; +- EGLScreenMESA screen; +- EGLint count; +- +- EGLDisplay d = eglGetDisplay(EGL_DEFAULT_DISPLAY); +- assert(d); +- +- if (!eglInitialize(d, &maj, &min)) { +- printf("demo: eglInitialize failed\n"); +- exit(1); +- } +- +- printf("EGL version = %d.%d\n", maj, min); +- printf("EGL_VENDOR = %s\n", eglQueryString(d, EGL_VENDOR)); +- if (!strstr(eglQueryString(d, EGL_EXTENSIONS), +- "EGL_MESA_screen_surface")) { +- printf("EGL_MESA_screen_surface is not supported\n"); +- exit(1); +- } +- +- eglGetConfigs(d, configs, 10, &numConfigs); +- printf("Got %d EGL configs:\n", numConfigs); +- for (i = 0; i < numConfigs; i++) { +- EGLint id, red, depth; +- eglGetConfigAttrib(d, configs[i], EGL_CONFIG_ID, &id); +- eglGetConfigAttrib(d, configs[i], EGL_RED_SIZE, &red); +- eglGetConfigAttrib(d, configs[i], EGL_DEPTH_SIZE, &depth); +- printf("%2d: Red Size = %d Depth Size = %d\n", id, red, depth); +- } +- +- eglGetScreensMESA(d, &screen, 1, &count); +- eglGetModesMESA(d, screen, &mode, 1, &count); +- +- eglBindAPI(EGL_OPENGL_API); +- ctx = eglCreateContext(d, configs[0], EGL_NO_CONTEXT, NULL); +- if (ctx == EGL_NO_CONTEXT) { +- printf("failed to create context\n"); +- return 0; +- } +- +- pbuffer = eglCreatePbufferSurface(d, configs[0], pbufAttribs); +- if (pbuffer == EGL_NO_SURFACE) { +- printf("failed to create pbuffer\n"); +- return 0; +- } +- +- b = eglMakeCurrent(d, pbuffer, pbuffer, ctx); +- if (!b) { +- printf("make current failed\n"); +- return 0; +- } +- +- b = eglMakeCurrent(d, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT); +- +- i = 0; +- screenAttribs[i++] = EGL_WIDTH; +- eglGetModeAttribMESA(d, mode, EGL_WIDTH, &screenAttribs[i++]); +- screenAttribs[i++] = EGL_HEIGHT; +- eglGetModeAttribMESA(d, mode, EGL_HEIGHT, &screenAttribs[i++]); +- screenAttribs[i] = EGL_NONE; +- +- screen_surf = eglCreateScreenSurfaceMESA(d, configs[0], screenAttribs); +- if (screen_surf == EGL_NO_SURFACE) { +- printf("failed to create screen surface\n"); +- return 0; +- } +- +- eglShowScreenSurfaceMESA(d, screen, screen_surf, mode); +- +- b = eglMakeCurrent(d, screen_surf, screen_surf, ctx); +- if (!b) { +- printf("make current failed\n"); +- return 0; +- } +- +- glViewport(0, 0, 1024, 768); +- +- glClearColor( 0, +- 1.0, +- 0, +- 1); +- +- glClear( GL_COLOR_BUFFER_BIT ); +- +- +- TestScreens(d); +- +- glShadeModel( GL_FLAT ); +- +- for (i = 0; i < 6; i++) { +- redraw(d, screen_surf, i*10 ); +- +- printf("sleep(1)\n"); +- sleep(1); +- } +- +- eglDestroySurface(d, pbuffer); +- eglDestroyContext(d, ctx); +- eglTerminate(d); +- +- return 0; +-} +diff --git a/src/egl/opengl/demo3.c b/src/egl/opengl/demo3.c +deleted file mode 100644 +index f84ca23..0000000 +--- a/src/egl/opengl/demo3.c ++++ /dev/null +@@ -1,647 +0,0 @@ +-/* +- * Exercise EGL API functions +- */ +- +-#define EGL_EGLEXT_PROTOTYPES +- +-#include <EGL/egl.h> +-#include <EGL/eglext.h> +-#include "gl_wrap.h" +-#include <assert.h> +-#include <stdio.h> +-#include <stdlib.h> +-#include <string.h> +-#include <unistd.h> +- +- +- +-#define PIXEL_CENTER(x) ((long)(x) + 0.5) +- +-#define GAP 10 +-#define ROWS 3 +-#define COLS 4 +- +-#define OPENGL_WIDTH 48 +-#define OPENGL_HEIGHT 13 +- +- +-GLenum rgb, doubleBuffer, windType; +-GLint windW, windH; +- +-GLenum mode1, mode2; +-GLint boxW, boxH; +-GLubyte OpenGL_bits[] = { +- 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, +- 0x7f, 0xfb, 0xff, 0xff, 0xff, 0x01, +- 0x7f, 0xfb, 0xff, 0xff, 0xff, 0x01, +- 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, +- 0x3e, 0x8f, 0xb7, 0xf9, 0xfc, 0x01, +- 0x63, 0xdb, 0xb0, 0x8d, 0x0d, 0x00, +- 0x63, 0xdb, 0xb7, 0x8d, 0x0d, 0x00, +- 0x63, 0xdb, 0xb6, 0x8d, 0x0d, 0x00, +- 0x63, 0x8f, 0xf3, 0xcc, 0x0d, 0x00, +- 0x63, 0x00, 0x00, 0x0c, 0x4c, 0x0a, +- 0x63, 0x00, 0x00, 0x0c, 0x4c, 0x0e, +- 0x63, 0x00, 0x00, 0x8c, 0xed, 0x0e, +- 0x3e, 0x00, 0x00, 0xf8, 0x0c, 0x00, +-}; +- +- +-static void Init(void) +-{ +- +- mode1 = GL_TRUE; +- mode2 = GL_TRUE; +-} +- +-static void Reshape(int width, int height) +-{ +- +- windW = (GLint)width; +- windH = (GLint)height; +-} +- +-#if 0 +-static void RotateColorMask(void) +-{ +- static GLint rotation = 0; +- +- rotation = (rotation + 1) & 0x3; +- switch (rotation) { +- case 0: +- glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE); +- glIndexMask( 0xff ); +- break; +- case 1: +- glColorMask(GL_FALSE, GL_TRUE, GL_TRUE, GL_TRUE); +- glIndexMask(0xFE); +- break; +- case 2: +- glColorMask(GL_TRUE, GL_FALSE, GL_TRUE, GL_TRUE); +- glIndexMask(0xFD); +- break; +- case 3: +- glColorMask(GL_TRUE, GL_TRUE, GL_FALSE, GL_TRUE); +- glIndexMask(0xFB); +- break; +- } +-} +-#endif +- +-static void Viewport(GLint row, GLint column) +-{ +- GLint x, y; +- +- boxW = (windW - (COLS + 1) * GAP) / COLS; +- boxH = (windH - (ROWS + 1) * GAP) / ROWS; +- +- x = GAP + column * (boxW + GAP); +- y = GAP + row * (boxH + GAP); +- +- glViewport(x, y, boxW, boxH); +- +- glMatrixMode(GL_PROJECTION); +- glLoadIdentity(); +- glOrtho(-boxW/2, boxW/2, -boxH/2, boxH/2, 0.0, 1.0); +- glMatrixMode(GL_MODELVIEW); +- +- glEnable(GL_SCISSOR_TEST); +- glScissor(x, y, boxW, boxH); +-} +- +-enum { +- COLOR_BLACK = 0, +- COLOR_RED, +- COLOR_GREEN, +- COLOR_YELLOW, +- COLOR_BLUE, +- COLOR_MAGENTA, +- COLOR_CYAN, +- COLOR_WHITE +-}; +- +-static float RGBMap[9][3] = { +- {0, 0, 0}, +- {1, 0, 0}, +- {0, 1, 0}, +- {1, 1, 0}, +- {0, 0, 1}, +- {1, 0, 1}, +- {0, 1, 1}, +- {1, 1, 1}, +- {0.5, 0.5, 0.5} +-}; +- +-static void SetColor(int c) +-{ +- glColor3fv(RGBMap[c]); +-} +- +-static void Point(void) +-{ +- GLint i; +- +- glBegin(GL_POINTS); +- SetColor(COLOR_WHITE); +- glVertex2i(0, 0); +- for (i = 1; i < 8; i++) { +- GLint j = i * 2; +- SetColor(COLOR_BLACK+i); +- glVertex2i(-j, -j); +- glVertex2i(-j, 0); +- glVertex2i(-j, j); +- glVertex2i(0, j); +- glVertex2i(j, j); +- glVertex2i(j, 0); +- glVertex2i(j, -j); +- glVertex2i(0, -j); +- } +- glEnd(); +-} +- +-static void Lines(void) +-{ +- GLint i; +- +- glPushMatrix(); +- +- glTranslatef(-12, 0, 0); +- for (i = 1; i < 8; i++) { +- SetColor(COLOR_BLACK+i); +- glBegin(GL_LINES); +- glVertex2i(-boxW/4, -boxH/4); +- glVertex2i(boxW/4, boxH/4); +- glEnd(); +- glTranslatef(4, 0, 0); +- } +- +- glPopMatrix(); +- +- glBegin(GL_LINES); +- glVertex2i(0, 0); +- glEnd(); +-} +- +-static void LineStrip(void) +-{ +- +- glBegin(GL_LINE_STRIP); +- SetColor(COLOR_RED); +- glVertex2f(PIXEL_CENTER(-boxW/4), PIXEL_CENTER(-boxH/4)); +- SetColor(COLOR_GREEN); +- glVertex2f(PIXEL_CENTER(-boxW/4), PIXEL_CENTER(boxH/4)); +- SetColor(COLOR_BLUE); +- glVertex2f(PIXEL_CENTER(boxW/4), PIXEL_CENTER(boxH/4)); +- SetColor(COLOR_WHITE); +- glVertex2f(PIXEL_CENTER(boxW/4), PIXEL_CENTER(-boxH/4)); +- glEnd(); +- +- glBegin(GL_LINE_STRIP); +- glVertex2i(0, 0); +- glEnd(); +-} +- +-static void LineLoop(void) +-{ +- +- glBegin(GL_LINE_LOOP); +- SetColor(COLOR_RED); +- glVertex2f(PIXEL_CENTER(-boxW/4), PIXEL_CENTER(-boxH/4)); +- SetColor(COLOR_GREEN); +- glVertex2f(PIXEL_CENTER(-boxW/4), PIXEL_CENTER(boxH/4)); +- SetColor(COLOR_BLUE); +- glVertex2f(PIXEL_CENTER(boxW/4), PIXEL_CENTER(boxH/4)); +- SetColor(COLOR_WHITE); +- glVertex2f(PIXEL_CENTER(boxW/4), PIXEL_CENTER(-boxH/4)); +- glEnd(); +- +- glEnable(GL_LOGIC_OP); +- glLogicOp(GL_XOR); +- +- glEnable(GL_BLEND); +- glBlendFunc(GL_ONE, GL_ONE); +- +- SetColor(COLOR_MAGENTA); +- glBegin(GL_LINE_LOOP); +- glVertex2f(PIXEL_CENTER(-boxW/8), PIXEL_CENTER(-boxH/8)); +- glVertex2f(PIXEL_CENTER(-boxW/8), PIXEL_CENTER(boxH/8)); +- glEnd(); +- glBegin(GL_LINE_LOOP); +- glVertex2f(PIXEL_CENTER(-boxW/8), PIXEL_CENTER(boxH/8+5)); +- glVertex2f(PIXEL_CENTER(boxW/8), PIXEL_CENTER(boxH/8+5)); +- glEnd(); +- glDisable(GL_LOGIC_OP); +- glDisable(GL_BLEND); +- +- SetColor(COLOR_GREEN); +- glBegin(GL_POINTS); +- glVertex2i(0, 0); +- glEnd(); +- +- glBegin(GL_LINE_LOOP); +- glVertex2i(0, 0); +- glEnd(); +-} +- +-static void Bitmap(void) +-{ +- +- glBegin(GL_LINES); +- SetColor(COLOR_GREEN); +- glVertex2i(-boxW/2, 0); +- glVertex2i(boxW/2, 0); +- glVertex2i(0, -boxH/2); +- glVertex2i(0, boxH/2); +- SetColor(COLOR_RED); +- glVertex2i(0, -3); +- glVertex2i(0, -3+OPENGL_HEIGHT); +- SetColor(COLOR_BLUE); +- glVertex2i(0, -3); +- glVertex2i(OPENGL_WIDTH, -3); +- glEnd(); +- +- SetColor(COLOR_GREEN); +- +- glPixelStorei(GL_UNPACK_LSB_FIRST, GL_TRUE); +- glPixelStorei(GL_UNPACK_ALIGNMENT, 1); +- +- glRasterPos2i(0, 0); +- glBitmap(OPENGL_WIDTH, OPENGL_HEIGHT, 0, 3, 0.0, 0.0, OpenGL_bits); +-} +- +-static void Triangles(void) +-{ +- +- glBegin(GL_TRIANGLES); +- SetColor(COLOR_GREEN); +- glVertex2i(-boxW/4, -boxH/4); +- SetColor(COLOR_RED); +- glVertex2i(-boxW/8, -boxH/16); +- SetColor(COLOR_BLUE); +- glVertex2i(boxW/8, -boxH/16); +- +- SetColor(COLOR_GREEN); +- glVertex2i(-boxW/4, boxH/4); +- SetColor(COLOR_RED); +- glVertex2i(-boxW/8, boxH/16); +- SetColor(COLOR_BLUE); +- glVertex2i(boxW/8, boxH/16); +- glEnd(); +- +- glBegin(GL_TRIANGLES); +- glVertex2i(0, 0); +- glVertex2i(-100, 100); +- glEnd(); +-} +- +-static void TriangleStrip(void) +-{ +- +- glBegin(GL_TRIANGLE_STRIP); +- SetColor(COLOR_GREEN); +- glVertex2i(-boxW/4, -boxH/4); +- SetColor(COLOR_RED); +- glVertex2i(-boxW/4, boxH/4); +- SetColor(COLOR_BLUE); +- glVertex2i(0, -boxH/4); +- SetColor(COLOR_WHITE); +- glVertex2i(0, boxH/4); +- SetColor(COLOR_CYAN); +- glVertex2i(boxW/4, -boxH/4); +- SetColor(COLOR_YELLOW); +- glVertex2i(boxW/4, boxH/4); +- glEnd(); +- +- glBegin(GL_TRIANGLE_STRIP); +- glVertex2i(0, 0); +- glVertex2i(-100, 100); +- glEnd(); +-} +- +-static void TriangleFan(void) +-{ +- GLint vx[8][2]; +- GLint x0, y0, x1, y1, x2, y2, x3, y3; +- GLint i; +- +- y0 = -boxH/4; +- y1 = y0 + boxH/2/3; +- y2 = y1 + boxH/2/3; +- y3 = boxH/4; +- x0 = -boxW/4; +- x1 = x0 + boxW/2/3; +- x2 = x1 + boxW/2/3; +- x3 = boxW/4; +- +- vx[0][0] = x0; vx[0][1] = y1; +- vx[1][0] = x0; vx[1][1] = y2; +- vx[2][0] = x1; vx[2][1] = y3; +- vx[3][0] = x2; vx[3][1] = y3; +- vx[4][0] = x3; vx[4][1] = y2; +- vx[5][0] = x3; vx[5][1] = y1; +- vx[6][0] = x2; vx[6][1] = y0; +- vx[7][0] = x1; vx[7][1] = y0; +- +- glBegin(GL_TRIANGLE_FAN); +- SetColor(COLOR_WHITE); +- glVertex2i(0, 0); +- for (i = 0; i < 8; i++) { +- SetColor(COLOR_WHITE-i); +- glVertex2iv(vx[i]); +- } +- glEnd(); +- +- glBegin(GL_TRIANGLE_FAN); +- glVertex2i(0, 0); +- glVertex2i(-100, 100); +- glEnd(); +-} +- +-static void Rect(void) +-{ +- +- SetColor(COLOR_GREEN); +- glRecti(-boxW/4, -boxH/4, boxW/4, boxH/4); +-} +- +-static void PolygonFunc(void) +-{ +- GLint vx[8][2]; +- GLint x0, y0, x1, y1, x2, y2, x3, y3; +- GLint i; +- +- y0 = -boxH/4; +- y1 = y0 + boxH/2/3; +- y2 = y1 + boxH/2/3; +- y3 = boxH/4; +- x0 = -boxW/4; +- x1 = x0 + boxW/2/3; +- x2 = x1 + boxW/2/3; +- x3 = boxW/4; +- +- vx[0][0] = x0; vx[0][1] = y1; +- vx[1][0] = x0; vx[1][1] = y2; +- vx[2][0] = x1; vx[2][1] = y3; +- vx[3][0] = x2; vx[3][1] = y3; +- vx[4][0] = x3; vx[4][1] = y2; +- vx[5][0] = x3; vx[5][1] = y1; +- vx[6][0] = x2; vx[6][1] = y0; +- vx[7][0] = x1; vx[7][1] = y0; +- +- glBegin(GL_POLYGON); +- for (i = 0; i < 8; i++) { +- SetColor(COLOR_WHITE-i); +- glVertex2iv(vx[i]); +- } +- glEnd(); +- +- glBegin(GL_POLYGON); +- glVertex2i(0, 0); +- glVertex2i(100, 100); +- glEnd(); +-} +- +-static void Quads(void) +-{ +- +- glBegin(GL_QUADS); +- SetColor(COLOR_GREEN); +- glVertex2i(-boxW/4, -boxH/4); +- SetColor(COLOR_RED); +- glVertex2i(-boxW/8, -boxH/16); +- SetColor(COLOR_BLUE); +- glVertex2i(boxW/8, -boxH/16); +- SetColor(COLOR_WHITE); +- glVertex2i(boxW/4, -boxH/4); +- +- SetColor(COLOR_GREEN); +- glVertex2i(-boxW/4, boxH/4); +- SetColor(COLOR_RED); +- glVertex2i(-boxW/8, boxH/16); +- SetColor(COLOR_BLUE); +- glVertex2i(boxW/8, boxH/16); +- SetColor(COLOR_WHITE); +- glVertex2i(boxW/4, boxH/4); +- glEnd(); +- +- glBegin(GL_QUADS); +- glVertex2i(0, 0); +- glVertex2i(100, 100); +- glVertex2i(-100, 100); +- glEnd(); +-} +- +-static void QuadStrip(void) +-{ +- +- glBegin(GL_QUAD_STRIP); +- SetColor(COLOR_GREEN); +- glVertex2i(-boxW/4, -boxH/4); +- SetColor(COLOR_RED); +- glVertex2i(-boxW/4, boxH/4); +- SetColor(COLOR_BLUE); +- glVertex2i(0, -boxH/4); +- SetColor(COLOR_WHITE); +- glVertex2i(0, boxH/4); +- SetColor(COLOR_CYAN); +- glVertex2i(boxW/4, -boxH/4); +- SetColor(COLOR_YELLOW); +- glVertex2i(boxW/4, boxH/4); +- glEnd(); +- +- glBegin(GL_QUAD_STRIP); +- glVertex2i(0, 0); +- glVertex2i(100, 100); +- glVertex2i(-100, 100); +- glEnd(); +-} +- +-static void Draw(EGLDisplay dpy, EGLSurface surf) +-{ +- +- glViewport(0, 0, windW, windH); +- glDisable(GL_SCISSOR_TEST); +- +- glPushAttrib(GL_COLOR_BUFFER_BIT); +- +- glColorMask(1, 1, 1, 1); +- glIndexMask(~0); +- +- glClearColor(0.0, 0.0, 0.0, 0.0); +- glClear(GL_COLOR_BUFFER_BIT); +- +- glPopAttrib(); +- +- if (mode1) { +- glShadeModel(GL_SMOOTH); +- } else { +- glShadeModel(GL_FLAT); +- } +- +- if (mode2) { +- glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); +- } else { +- glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); +- } +- +- Viewport(0, 0); Point(); +- Viewport(0, 1); Lines(); +- Viewport(0, 2); LineStrip(); +- Viewport(0, 3); LineLoop(); +- +- Viewport(1, 0); Bitmap(); +- +- Viewport(1, 1); TriangleFan(); +- Viewport(1, 2); Triangles(); +- Viewport(1, 3); TriangleStrip(); +- +- Viewport(2, 0); Rect(); +- Viewport(2, 1); PolygonFunc(); +- Viewport(2, 2); Quads(); +- Viewport(2, 3); QuadStrip(); +- +- glFlush(); +- +- if (doubleBuffer) { +- eglSwapBuffers(dpy, surf); +- } +-} +- +-static void +-write_ppm(const char *filename, const GLubyte *buffer, int width, int height) +-{ +- const int binary = 0; +- FILE *f = fopen( filename, "w" ); +- if (f) { +- int i, x, y; +- const GLubyte *ptr = buffer; +- if (binary) { +- fprintf(f,"P6\n"); +- fprintf(f,"# ppm-file created by osdemo.c\n"); +- fprintf(f,"%i %i\n", width,height); +- fprintf(f,"255\n"); +- fclose(f); +- f = fopen( filename, "ab" ); /* reopen in binary append mode */ +- for (y=height-1; y>=0; y--) { +- for (x=0; x<width; x++) { +- i = (y*width + x) * 4; +- fputc(ptr[i], f); /* write red */ +- fputc(ptr[i+1], f); /* write green */ +- fputc(ptr[i+2], f); /* write blue */ +- } +- } +- } +- else { +- /*ASCII*/ +- int counter = 0; +- fprintf(f,"P3\n"); +- fprintf(f,"# ascii ppm file created by osdemo.c\n"); +- fprintf(f,"%i %i\n", width, height); +- fprintf(f,"255\n"); +- for (y=height-1; y>=0; y--) { +- for (x=0; x<width; x++) { +- i = (y*width + x) * 4; +- fprintf(f, " %3d %3d %3d", ptr[i], ptr[i+1], ptr[i+2]); +- counter++; +- if (counter % 5 == 0) +- fprintf(f, "\n"); +- } +- } +- } +- fclose(f); +- } +-} +- +-int +-main(int argc, char *argv[]) +-{ +- int maj, min; +- EGLContext ctx; +- EGLSurface screen_surf; +- EGLConfig configs[10]; +- EGLScreenMESA screen; +- EGLModeMESA mode; +- EGLint numConfigs, count; +- EGLBoolean b; +- const GLubyte *bitmap; +- EGLint screenAttribs[32]; +- EGLint i; +- +- EGLDisplay d = eglGetDisplay(EGL_DEFAULT_DISPLAY); +- assert(d); +- +- if (!eglInitialize(d, &maj, &min)) { +- printf("demo: eglInitialize failed\n"); +- exit(1); +- } +- +- printf("EGL version = %d.%d\n", maj, min); +- printf("EGL_VENDOR = %s\n", eglQueryString(d, EGL_VENDOR)); +- if (!strstr(eglQueryString(d, EGL_EXTENSIONS), +- "EGL_MESA_screen_surface")) { +- printf("EGL_MESA_screen_surface is not supported\n"); +- exit(1); +- } +- +- eglGetConfigs(d, configs, 10, &numConfigs); +- eglGetScreensMESA(d, &screen, 1, &count); +- eglGetModesMESA(d, screen, &mode, 1, &count); +- +- eglBindAPI(EGL_OPENGL_API); +- ctx = eglCreateContext(d, configs[0], EGL_NO_CONTEXT, NULL); +- if (ctx == EGL_NO_CONTEXT) { +- printf("failed to create context\n"); +- return 0; +- } +- +- i = 0; +- screenAttribs[i++] = EGL_WIDTH; +- eglGetModeAttribMESA(d, mode, EGL_WIDTH, &screenAttribs[i++]); +- screenAttribs[i++] = EGL_HEIGHT; +- eglGetModeAttribMESA(d, mode, EGL_HEIGHT, &screenAttribs[i++]); +- screenAttribs[i] = EGL_NONE; +- +- screen_surf = eglCreateScreenSurfaceMESA(d, configs[0], screenAttribs); +- if (screen_surf == EGL_NO_SURFACE) { +- printf("failed to create screen surface\n"); +- return 0; +- } +- +- eglShowScreenSurfaceMESA(d, screen, screen_surf, mode); +- +- b = eglMakeCurrent(d, screen_surf, screen_surf, ctx); +- if (!b) { +- printf("make current failed\n"); +- return 0; +- } +- glViewport(0, 0, 1024, 768); +- +- +- Init(); +- Reshape(1024, 768); +- +- /* some drivers crash when rendering to front buffer */ +-#if 0 +- glDrawBuffer( GL_FRONT ); +- glClearColor( 0, 1.0, 0, 1); +- +- glClear( GL_COLOR_BUFFER_BIT ); +-#endif +- +- doubleBuffer = 1; +- glDrawBuffer( GL_BACK ); +- +- Draw(d, screen_surf); +- sleep(2); +- +- /* TODO EGL_KHR_lock_surface */ +- bitmap = NULL; +- if (bitmap) +- write_ppm("dump.ppm", bitmap, 1024, 768); +- +- eglDestroySurface(d, screen_surf); +- eglDestroyContext(d, ctx); +- eglTerminate(d); +- +- return 0; +-} +diff --git a/src/egl/opengl/eglinfo.c b/src/egl/opengl/eglinfo.c +index 8e82e73..1f79fef 100644 +--- a/src/egl/opengl/eglinfo.c ++++ b/src/egl/opengl/eglinfo.c +@@ -93,10 +93,6 @@ PrintConfigs(EGLDisplay d) + strcat(surfString, "pb,"); + if (surfaces & EGL_PIXMAP_BIT) + strcat(surfString, "pix,"); +-#ifdef EGL_MESA_screen_surface +- if (surfaces & EGL_SCREEN_BIT_MESA) +- strcat(surfString, "scrn,"); +-#endif + if (strlen(surfString) > 0) + surfString[strlen(surfString) - 1] = 0; + +@@ -117,45 +113,6 @@ PrintConfigs(EGLDisplay d) + } + + +-/** +- * Print table of all available configurations. +- */ +-static void +-PrintModes(EGLDisplay d) +-{ +-#ifdef EGL_MESA_screen_surface +- const char *extensions = eglQueryString(d, EGL_EXTENSIONS); +- if (strstr(extensions, "EGL_MESA_screen_surface")) { +- EGLScreenMESA screens[MAX_SCREENS]; +- EGLint numScreens = 1, scrn; +- EGLModeMESA modes[MAX_MODES]; +- +- eglGetScreensMESA(d, screens, MAX_SCREENS, &numScreens); +- printf("Number of Screens: %d\n\n", numScreens); +- +- for (scrn = 0; scrn < numScreens; scrn++) { +- EGLint numModes, i; +- +- eglGetModesMESA(d, screens[scrn], modes, MAX_MODES, &numModes); +- +- printf("Screen %d Modes:\n", scrn); +- printf(" id width height refresh name\n"); +- printf("-----------------------------------------\n"); +- for (i = 0; i < numModes; i++) { +- EGLint id, w, h, r; +- const char *str; +- eglGetModeAttribMESA(d, modes[i], EGL_MODE_ID_MESA, &id); +- eglGetModeAttribMESA(d, modes[i], EGL_WIDTH, &w); +- eglGetModeAttribMESA(d, modes[i], EGL_HEIGHT, &h); +- eglGetModeAttribMESA(d, modes[i], EGL_REFRESH_RATE_MESA, &r); +- str = eglQueryModeStringMESA(d, modes[i]); +- printf("0x%02x %5d %5d %.3f %s\n", id, w, h, r / 1000.0, str); +- } +- } +- } +-#endif +-} +- + static void + PrintExtensions(EGLDisplay d) + { +@@ -219,8 +176,6 @@ main(int argc, char *argv[]) + + PrintConfigs(d); + +- PrintModes(d); +- + eglTerminate(d); + + return 0; +diff --git a/src/egl/opengles1/Makefile.am b/src/egl/opengles1/Makefile.am +index 7a9828d..fa397c2 100644 +--- a/src/egl/opengles1/Makefile.am ++++ b/src/egl/opengles1/Makefile.am +@@ -41,19 +41,15 @@ if HAVE_GLESV1 + noinst_PROGRAMS = \ + bindtex \ + clear \ +- drawtex_screen \ + drawtex_x11 \ + eglfbdev \ + es1_info \ +- gears_screen \ + gears_x11 \ + msaa \ + pbuffer\ + render_tex \ + texture_from_pixmap \ +- torus_screen \ + torus_x11 \ +- tri_screen \ + tri_x11 \ + two_win + endif +@@ -71,21 +67,11 @@ two_win_LDADD = $(X11_LIBS) + clear_LDADD = ../eglut/libeglut_x11.la $(EGL_LIBS) $(X11_LIBS) + clear_LDFLAGS = + +-drawtex_screen_SOURCES = drawtex.c +-gears_screen_SOURCES = gears.c +-torus_screen_SOURCES = torus.c +-tri_screen_SOURCES = tri.c +- + drawtex_x11_SOURCES = drawtex.c + gears_x11_SOURCES = gears.c + torus_x11_SOURCES = torus.c + tri_x11_SOURCES = tri.c + +-drawtex_screen_LDADD = ../eglut/libeglut_screen.la +-gears_screen_LDADD = ../eglut/libeglut_screen.la +-torus_screen_LDADD = ../eglut/libeglut_screen.la +-tri_screen_LDADD = ../eglut/libeglut_screen.la +- + drawtex_x11_LDADD = ../eglut/libeglut_x11.la + gears_x11_LDADD = ../eglut/libeglut_x11.la + torus_x11_LDADD = ../eglut/libeglut_x11.la +diff --git a/src/egl/openvg/Makefile.am b/src/egl/openvg/Makefile.am +index 7318a43..b0f1212 100644 +--- a/src/egl/openvg/Makefile.am ++++ b/src/egl/openvg/Makefile.am +@@ -50,21 +50,13 @@ endif + if HAVE_EGL + if HAVE_VG + noinst_PROGRAMS = \ +- lion_screen \ +- sp_screen \ + $(EGL_X11_DEMOS) + endif + endif + +-lion_screen_SOURCES = lion.c lion-render.c lion-render.h +-sp_screen_SOURCES = sp.c +- + lion_x11_SOURCES = lion.c lion-render.c lion-render.h + sp_x11_SOURCES = sp.c + +-lion_screen_LDADD = ../eglut/libeglut_screen.la +-sp_screen_LDADD = ../eglut/libeglut_screen.la +- + lion_x11_LDADD = ../eglut/libeglut_x11.la + sp_x11_LDADD = ../eglut/libeglut_x11.la + +-- +cgit v0.10.2 + +--- ./src/egl/opengles2/Makefile.am.orig ++++ ./src/egl/opengles2/Makefile.am +@@ -37,7 +37,6 @@ + if HAVE_GLESV2 + bin_PROGRAMS = \ + es2_info \ +- es2gears_screen \ + es2gears_x11 \ + es2tri + if HAVE_WAYLAND +@@ -49,11 +48,7 @@ + es2_info_LDADD = $(X11_LIBS) + es2tri_LDADD = $(X11_LIBS) + +-es2gears_screen_SOURCES = es2gears.c +- + es2gears_x11_SOURCES = es2gears.c +- +-es2gears_screen_LDADD = ../eglut/libeglut_screen.la + + es2gears_x11_LDADD = ../eglut/libeglut_x11.la + |