21 #include "../../SDL_internal.h"
23 #ifndef SDL_x11opengl_h_
24 #define SDL_x11opengl_h_
26 #if SDL_VIDEO_OPENGL_GLX
32 int errorBase, eventBase;
36 SDL_bool HAS_GLX_EXT_swap_control_tear;
37 SDL_bool HAS_GLX_ARB_context_flush_control;
38 SDL_bool HAS_GLX_ARB_create_context_robustness;
39 SDL_bool HAS_GLX_ARB_create_context_no_error;
48 } es_profile_max_supported_version;
50 Bool (*glXQueryExtension) (Display*,
int*,
int*);
51 void *(*glXGetProcAddress) (
const GLubyte*);
52 XVisualInfo *(*glXChooseVisual) (Display*,int,
int*);
53 GLXContext (*glXCreateContext) (Display*,XVisualInfo*,GLXContext,Bool);
54 GLXContext (*glXCreateContextAttribsARB) (Display*,GLXFBConfig,GLXContext,Bool,
const int *);
55 GLXFBConfig *(*glXChooseFBConfig) (Display*,int,
const int *,
int *);
56 void (*glXDestroyContext) (Display*, GLXContext);
57 Bool(*glXMakeCurrent) (Display*,GLXDrawable,GLXContext);
58 void (*glXSwapBuffers) (Display*, GLXDrawable);
59 void (*glXQueryDrawable) (Display*,GLXDrawable,int,
unsigned int*);
60 void (*glXSwapIntervalEXT) (Display*,GLXDrawable,int);
61 int (*glXSwapIntervalSGI) (int);
62 int (*glXSwapIntervalMESA) (int);
63 int (*glXGetSwapIntervalMESA) (
void);
67 extern int X11_GL_LoadLibrary(
_THIS,
const char *
path);
68 extern void *X11_GL_GetProcAddress(
_THIS,
const char *proc);
69 extern void X11_GL_UnloadLibrary(
_THIS);
71 extern XVisualInfo *X11_GL_GetVisual(
_THIS, Display * display,
int screen);
75 extern int X11_GL_SetSwapInterval(
_THIS,
int interval);
76 extern int X11_GL_GetSwapInterval(
_THIS);