Mercurial > sdl-ios-xcode
view src/video/x11/SDL_x11gl_c.h @ 3957:b1d5b56aa549 SDL-1.2
Date: Mon, 4 Jun 2007 06:17:59 +0000 (UTC)
From: George Gensure <werkt0@gmail.com>
Subject: [SDL] error removal patch for SDL_x11dyn.c
I found that calling SDL_GetError when an error hasn't necessarily occurred is
still reporting problems from loadso regarding dynamic functions in X11. I've
added the following to my local copy to avoid revealing the 'many library
lookup' approach adopted by x11dyn.c:
author | Ryan C. Gordon <icculus@icculus.org> |
---|---|
date | Wed, 13 Jun 2007 07:54:10 +0000 |
parents | 3b2a92126f4d |
children | 782fd950bd46 c121d94672cb a1b03ba2fcd0 |
line wrap: on
line source
/* SDL - Simple DirectMedia Layer Copyright (C) 1997-2006 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 ); GLint (*glXGetSwapIntervalMESA) ( void ); #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);