Mercurial > sdl-ios-xcode
comparison src/video/x11/SDL_x11opengles.h @ 3190:c68d2ca5970f
Added missing files for OpenGL ES support
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Wed, 10 Jun 2009 13:54:13 +0000 |
parents | |
children | f7b03b6838cb |
comparison
equal
deleted
inserted
replaced
3189:ba1e64340565 | 3190:c68d2ca5970f |
---|---|
1 /* | |
2 SDL - Simple DirectMedia Layer | |
3 Copyright (C) 1997-2004 Sam Lantinga | |
4 | |
5 This library is free software; you can redistribute it and/or | |
6 modify it under the terms of the GNU Library General Public | |
7 License as published by the Free Software Foundation; either | |
8 version 2 of the License, or (at your option) any later version. | |
9 | |
10 This library is distributed in the hope that it will be useful, | |
11 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 Library General Public License for more details. | |
14 | |
15 You should have received a copy of the GNU Library General Public | |
16 License along with this library; if not, write to the Free | |
17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
18 | |
19 Sam Lantinga | |
20 slouken@libsdl.org | |
21 | |
22 Open Pandora SDL driver | |
23 Copyright (C) 2009 David Carré | |
24 (cpasjuste@gmail.com) | |
25 */ | |
26 | |
27 #include <GLES/gl.h> | |
28 #include <GLES/egl.h> | |
29 #include <dlfcn.h> | |
30 #if defined(__OpenBSD__) && !defined(__ELF__) | |
31 #define dlsym(x,y) dlsym(x, "_" y) | |
32 #endif | |
33 | |
34 #include "../SDL_sysvideo.h" | |
35 | |
36 typedef struct SDL_PrivateGLESData | |
37 { | |
38 int egl_active; /* to stop switching drivers while we have a valid context */ | |
39 XVisualInfo *egl_visualinfo; | |
40 EGLDisplay egl_display; | |
41 EGLContext egl_context; /* Current GLES context */ | |
42 EGLSurface egl_surface; | |
43 EGLConfig egl_config; | |
44 | |
45 EGLDisplay(*eglGetDisplay) (NativeDisplayType display); | |
46 EGLBoolean(*eglInitialize) (EGLDisplay dpy, EGLint * major, | |
47 EGLint * minor); | |
48 EGLBoolean(*eglTerminate) (EGLDisplay dpy); | |
49 | |
50 void *(*eglGetProcAddress) (const GLubyte * procName); | |
51 | |
52 EGLBoolean(*eglChooseConfig) (EGLDisplay dpy, | |
53 const EGLint * attrib_list, | |
54 EGLConfig * configs, | |
55 EGLint config_size, EGLint * num_config); | |
56 | |
57 EGLContext(*eglCreateContext) (EGLDisplay dpy, | |
58 EGLConfig config, | |
59 EGLContext share_list, | |
60 const EGLint * attrib_list); | |
61 | |
62 EGLBoolean(*eglDestroyContext) (EGLDisplay dpy, EGLContext ctx); | |
63 | |
64 EGLSurface(*eglCreateWindowSurface) (EGLDisplay dpy, | |
65 EGLConfig config, | |
66 NativeWindowType window, | |
67 const EGLint * attrib_list); | |
68 EGLBoolean(*eglDestroySurface) (EGLDisplay dpy, EGLSurface surface); | |
69 | |
70 EGLBoolean(*eglMakeCurrent) (EGLDisplay dpy, EGLSurface draw, | |
71 EGLSurface read, EGLContext ctx); | |
72 | |
73 EGLBoolean(*eglSwapBuffers) (EGLDisplay dpy, EGLSurface draw); | |
74 | |
75 const char *(*eglQueryString) (EGLDisplay dpy, EGLint name); | |
76 | |
77 EGLBoolean(*eglGetConfigAttrib) (EGLDisplay dpy, EGLConfig config, | |
78 EGLint attribute, EGLint * value); | |
79 | |
80 } SDL_PrivateGLESData; | |
81 | |
82 /* OpenGLES functions */ | |
83 extern SDL_GLContext X11_GLES_CreateContext(_THIS, SDL_Window * window); | |
84 extern XVisualInfo *X11_GLES_GetVisual(_THIS, Display * display, int screen); | |
85 extern int X11_GLES_MakeCurrent(_THIS, SDL_Window * window, | |
86 SDL_GLContext context); | |
87 extern int X11_GLES_GetAttribute(_THIS, SDL_GLattr attrib, int *value); | |
88 extern int X11_GLES_LoadLibrary(_THIS, const char *path); | |
89 extern void *X11_GLES_GetProcAddress(_THIS, const char *proc); | |
90 extern void X11_GLES_UnloadLibrary(_THIS); | |
91 | |
92 extern int X11_GLES_SetSwapInterval(_THIS, int interval); | |
93 extern int X11_GLES_GetSwapInterval(_THIS); | |
94 extern void X11_GLES_SwapWindow(_THIS, SDL_Window * window); | |
95 extern void X11_GLES_DeleteContext(_THIS, SDL_GLContext context); |