summaryrefslogtreecommitdiffstats
path: root/src/glut/glx/glut_glxext.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/glut/glx/glut_glxext.c')
-rw-r--r--src/glut/glx/glut_glxext.c255
1 files changed, 0 insertions, 255 deletions
diff --git a/src/glut/glx/glut_glxext.c b/src/glut/glx/glut_glxext.c
deleted file mode 100644
index 71b67e075d9..00000000000
--- a/src/glut/glx/glut_glxext.c
+++ /dev/null
@@ -1,255 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include <stdlib.h>
-#include <string.h>
-#include "glutint.h"
-
-#if defined(GLX_VERSION_1_1)
-int
-__glutIsSupportedByGLX(char *extension)
-{
- static const char *extensions = NULL;
- const char *start;
- char *where, *terminator;
- int major, minor;
-
- glXQueryVersion(__glutDisplay, &major, &minor);
- /* Be careful not to call glXQueryExtensionsString if it
- looks like the server doesn't support GLX 1.1.
- Unfortunately, the original GLX 1.0 didn't have the notion
- of GLX extensions. */
- if ((major == 1 && minor >= 1) || (major > 1)) {
- if (!extensions)
- extensions = glXQueryExtensionsString(__glutDisplay, __glutScreen);
- /* It takes a bit of care to be fool-proof about parsing
- the GLX extensions string. Don't be fooled by
- sub-strings, etc. */
- start = extensions;
- for (;;) {
- where = strstr(start, extension);
- if (!where)
- return 0;
- terminator = where + strlen(extension);
- if (where == start || *(where - 1) == ' ') {
- if (*terminator == ' ' || *terminator == '\0') {
- return 1;
- }
- }
- start = terminator;
- }
- }
- return 0;
-}
-#endif
-
-
-
-/*
- * Wrapping of GLX extension functions.
- * Technically, we should do a runtime test to see if we've got the
- * glXGetProcAddressARB() function. I think GLX_ARB_get_proc_address
- * is pretty widely supported now and any system that has
- * GLX_ARB_get_proc_address defined in its header files should be OK
- * at runtime.
- */
-
-int
-__glut_glXBindChannelToWindowSGIX(Display *dpy, int screen,
- int channel, Window window)
-{
-#ifdef GLX_ARB_get_proc_address
- typedef int (*glXBindChannelToWindowSGIX_t) (Display *, int, int, Window);
- static glXBindChannelToWindowSGIX_t glXBindChannelToWindowSGIX_ptr = NULL;
- if (!glXBindChannelToWindowSGIX_ptr) {
- glXBindChannelToWindowSGIX_ptr = (glXBindChannelToWindowSGIX_t)
- glXGetProcAddressARB((const GLubyte *) "glXBindChannelToWindowSGIX");
- }
- if (glXBindChannelToWindowSGIX_ptr)
- return (*glXBindChannelToWindowSGIX_ptr)(dpy, screen, channel, window);
- else
- return 0;
-#elif defined(GLX_SGIX_video_resize)
- return glXBindChannelToWindowSGIX(dpy, screen, channel, window);
-#else
- return 0;
-#endif
-}
-
-
-int
-__glut_glXChannelRectSGIX(Display *dpy, int screen, int channel,
- int x, int y, int w, int h)
-{
-#ifdef GLX_ARB_get_proc_address
- typedef int (*glXChannelRectSGIX_t)(Display *, int, int, int, int, int, int);
- static glXChannelRectSGIX_t glXChannelRectSGIX_ptr = NULL;
- if (!glXChannelRectSGIX_ptr) {
- glXChannelRectSGIX_ptr = (glXChannelRectSGIX_t)
- glXGetProcAddressARB((const GLubyte *) "glXChannelRectSGIX");
- }
- if (glXChannelRectSGIX_ptr)
- return (*glXChannelRectSGIX_ptr)(dpy, screen, channel, x, y, w, h);
- else
- return 0;
-#elif defined(GLX_SGIX_video_resize)
- return glXChannelRectSGIX(dpy, screen, channel, x, y, w, h);
-#else
- return 0;
-#endif
-}
-
-
-int
-__glut_glXQueryChannelRectSGIX(Display *dpy, int screen, int channel,
- int *x, int *y, int *w, int *h)
-{
-#ifdef GLX_ARB_get_proc_address
- typedef int (*glXQueryChannelRectSGIX_t)(Display *, int, int,
- int *, int *, int *, int *);
- static glXQueryChannelRectSGIX_t glXQueryChannelRectSGIX_ptr = NULL;
- if (!glXQueryChannelRectSGIX_ptr) {
- glXQueryChannelRectSGIX_ptr = (glXQueryChannelRectSGIX_t)
- glXGetProcAddressARB((const GLubyte *) "glXQueryChannelRectSGIX");
- }
- if (glXQueryChannelRectSGIX_ptr)
- return (*glXQueryChannelRectSGIX_ptr)(dpy, screen, channel, x, y, w, h);
- else
- return 0;
-#elif defined(GLX_SGIX_video_resize)
- return glXQueryChannelRectSGIX(dpy, screen, channel, x, y, w, h);
-#else
- return 0;
-#endif
-}
-
-
-int
-__glut_glXQueryChannelDeltasSGIX(Display *dpy, int screen, int channel,
- int *dx, int *dy, int *dw, int *dh)
-{
-#ifdef GLX_ARB_get_proc_address
- typedef int (*glXQueryChannelDeltasSGIX_t)(Display *, int, int,
- int *, int *, int *, int *);
- static glXQueryChannelDeltasSGIX_t glXQueryChannelDeltasSGIX_ptr = NULL;
- if (!glXQueryChannelDeltasSGIX_ptr) {
- glXQueryChannelDeltasSGIX_ptr = (glXQueryChannelDeltasSGIX_t)
- glXGetProcAddressARB((const GLubyte *) "glXQueryChannelDeltasSGIX");
- }
- if (glXQueryChannelDeltasSGIX_ptr)
- return (*glXQueryChannelDeltasSGIX_ptr)(dpy, screen, channel,
- dx, dy, dw, dh);
- else
- return 0;
-#elif defined(GLX_SGIX_video_resize)
- return glXQueryChannelDeltasSGIX(dpy, screen, channel, dx, dy, dw, dh);
-#else
- return 0;
-#endif
-}
-
-
-int
-__glut_glXChannelRectSyncSGIX(Display *dpy, int screen,
- int channel, GLenum synctype)
-{
-#ifdef GLX_ARB_get_proc_address
- typedef int (*glXChannelRectSyncSGIX_t)(Display *, int, int, GLenum);
- static glXChannelRectSyncSGIX_t glXChannelRectSyncSGIX_ptr = NULL;
- if (!glXChannelRectSyncSGIX_ptr) {
- glXChannelRectSyncSGIX_ptr = (glXChannelRectSyncSGIX_t)
- glXGetProcAddressARB((const GLubyte *) "glXChannelRectSyncSGIX");
- }
- if (glXChannelRectSyncSGIX_ptr)
- return (*glXChannelRectSyncSGIX_ptr)(dpy, screen, channel, synctype);
- else
- return 0;
-#elif defined(GLX_SGIX_video_resize)
- return glXChannelRectSyncSGIX(dpy, screen, channel, synctype);
-#else
- return 0;
-#endif
-}
-
-
-
-GLXContext
-__glut_glXCreateContextWithConfigSGIX(Display *dpy, GLXFBConfigSGIX config,
- int render_type, GLXContext share_list,
- Bool direct)
-{
-#ifdef GLX_ARB_get_proc_address
- typedef GLXContext (*glXCreateContextWithConfigSGIX_t)(Display *,
- GLXFBConfigSGIX, int, GLXContext, Bool);
- static glXCreateContextWithConfigSGIX_t glXCreateContextWithConfig_ptr = NULL;
- if (!glXCreateContextWithConfig_ptr) {
- glXCreateContextWithConfig_ptr = (glXCreateContextWithConfigSGIX_t)
- glXGetProcAddressARB((const GLubyte *) "glXCreateContextWithConfigSGIX");
- }
- if (glXCreateContextWithConfig_ptr)
- return (*glXCreateContextWithConfig_ptr)(dpy, config, render_type,
- share_list, direct);
- else
- return 0;
-#elif defined(GLX_SGIX_fbconfig)
- return glXCreateContextWithConfigSGIX(dpy, config, render_type,
- share_list, direct);
-#else
- return 0;
-#endif
-}
-
-
-int
-__glut_glXGetFBConfigAttribSGIX(Display *dpy, GLXFBConfigSGIX config,
- int attribute, int *value)
-{
-#ifdef GLX_ARB_get_proc_address
- typedef int (*glXGetFBConfigAttribSGIX_t)(Display *,
- GLXFBConfigSGIX, int, int *);
- static glXGetFBConfigAttribSGIX_t glXGetFBConfigAttrib_ptr = NULL;
- if (!glXGetFBConfigAttrib_ptr) {
- glXGetFBConfigAttrib_ptr = (glXGetFBConfigAttribSGIX_t)
- glXGetProcAddressARB((const GLubyte *) "glXGetFBConfigAttribSGIX");
- }
- if (glXGetFBConfigAttrib_ptr)
- return (*glXGetFBConfigAttrib_ptr)(dpy, config, attribute, value);
- else
- return 0;
-#elif defined(GLX_SGIX_fbconfig)
- return glXGetFBConfigAttribSGIX(dpy, config, attribute, value);
-#else
- return 0;
-#endif
-}
-
-
-GLXFBConfigSGIX
-__glut_glXGetFBConfigFromVisualSGIX(Display *dpy, XVisualInfo *vis)
-{
-#ifdef GLX_ARB_get_proc_address
- typedef GLXFBConfigSGIX (*glXGetFBConfigFromVisualSGIX_t)(Display *,
- XVisualInfo *);
- static glXGetFBConfigFromVisualSGIX_t glXGetFBConfigFromVisual_ptr = NULL;
- if (!glXGetFBConfigFromVisual_ptr) {
- glXGetFBConfigFromVisual_ptr = (glXGetFBConfigFromVisualSGIX_t)
- glXGetProcAddressARB((const GLubyte *) "glXGetFBConfigFromVisualSGIX");
- }
- if (glXGetFBConfigFromVisual_ptr)
- return (*glXGetFBConfigFromVisual_ptr)(dpy, vis);
- else
- return 0;
-#elif defined(GLX_SGIX_fbconfig)
- return glXGetFBConfigFromVisualSGIX(dpy, vis);
-#else
- return 0;
-#endif
-}
-
-
-
-