diff options
author | Steve Kondik <shade@chemlab.org> | 2012-11-18 15:47:18 -0800 |
---|---|---|
committer | Steve Kondik <shade@chemlab.org> | 2012-11-18 15:47:18 -0800 |
commit | a546c7006355a7bd1df4267ee53d0bfa2c017c8c (patch) | |
tree | 01be0bf6c0d6968e1468ec9661fd52110f9b05a7 /distrib/sdl-1.2.15/src/video/x11/SDL_x11gl_c.h | |
parent | baf3d7830396202df5cc47bd7bcee109c319cdb3 (diff) | |
parent | 0f809250987b64f491bd3b4b73c0f0d33036a786 (diff) | |
download | external_qemu-a546c7006355a7bd1df4267ee53d0bfa2c017c8c.zip external_qemu-a546c7006355a7bd1df4267ee53d0bfa2c017c8c.tar.gz external_qemu-a546c7006355a7bd1df4267ee53d0bfa2c017c8c.tar.bz2 |
Merge branch 'jb-mr1-release' of https://android.googlesource.com/platform/external/qemu into mr1-staging
Change-Id: I8a4a71ac65b08e6e17f26c942f67a15b85211115
Diffstat (limited to 'distrib/sdl-1.2.15/src/video/x11/SDL_x11gl_c.h')
-rw-r--r-- | distrib/sdl-1.2.15/src/video/x11/SDL_x11gl_c.h | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/distrib/sdl-1.2.15/src/video/x11/SDL_x11gl_c.h b/distrib/sdl-1.2.15/src/video/x11/SDL_x11gl_c.h new file mode 100644 index 0000000..b4822cb --- /dev/null +++ b/distrib/sdl-1.2.15/src/video/x11/SDL_x11gl_c.h @@ -0,0 +1,99 @@ +/* + SDL - Simple DirectMedia Layer + Copyright (C) 1997-2012 Sam Lantinga + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + Sam Lantinga + slouken@libsdl.org +*/ +#include "SDL_config.h" + +#if SDL_VIDEO_OPENGL_GLX +#include <GL/glx.h> +#include "SDL_loadso.h" +#endif + +#include "../SDL_sysvideo.h" + +struct SDL_PrivateGLData { + int gl_active; /* to stop switching drivers while we have a valid context */ + +#if SDL_VIDEO_OPENGL_GLX + GLXContext glx_context; /* Current GL context */ + XVisualInfo* glx_visualinfo; /* XVisualInfo* returned by glXChooseVisual */ + + void * (*glXGetProcAddress)(const GLubyte *procName); + + XVisualInfo* (*glXChooseVisual) + ( Display* dpy, + int screen, + int* attribList ); + + GLXContext (*glXCreateContext) + ( Display* dpy, + XVisualInfo* vis, + GLXContext shareList, + Bool direct ); + + void (*glXDestroyContext) + ( Display* dpy, + GLXContext ctx ); + + Bool (*glXMakeCurrent) + ( Display* dpy, + GLXDrawable drawable, + GLXContext ctx ); + + void (*glXSwapBuffers) + ( Display* dpy, + GLXDrawable drawable ); + + int (*glXGetConfig) + ( Display* dpy, + XVisualInfo* visual_info, + int attrib, + int* value ); + + const char *(*glXQueryExtensionsString) + ( Display* dpy, + int screen ); + + int (*glXSwapIntervalSGI) ( int interval ); + GLint (*glXSwapIntervalMESA) ( unsigned interval ); + int (*glXSwapIntervalEXT)( Display *dpy, GLXDrawable drw, int interval); + int swap_interval; +#endif /* SDL_VIDEO_OPENGL_GLX */ +}; + +/* Old variable names */ +#define gl_active (this->gl_data->gl_active) +#define glx_context (this->gl_data->glx_context) +#define glx_visualinfo (this->gl_data->glx_visualinfo) + +/* OpenGL functions */ +extern XVisualInfo *X11_GL_GetVisual(_THIS); +extern int X11_GL_CreateWindow(_THIS, int w, int h); +extern int X11_GL_CreateContext(_THIS); +extern void X11_GL_Shutdown(_THIS); +#if SDL_VIDEO_OPENGL_GLX +extern int X11_GL_MakeCurrent(_THIS); +extern int X11_GL_GetAttribute(_THIS, SDL_GLattr attrib, int* value); +extern void X11_GL_SwapBuffers(_THIS); +extern int X11_GL_LoadLibrary(_THIS, const char* path); +extern void *X11_GL_GetProcAddress(_THIS, const char* proc); +#endif +extern void X11_GL_UnloadLibrary(_THIS); + |