2002-11-07 16:34:58 +00:00
|
|
|
/* $Id: getprocaddress.c,v 1.5 2002/11/07 16:35:02 brianp Exp $ */
|
2001-11-18 23:16:56 +00:00
|
|
|
|
|
|
|
/*
|
2002-11-07 16:23:40 +00:00
|
|
|
* Copyright (C) 1999-2002 Brian Paul All Rights Reserved.
|
2001-11-18 23:16:56 +00:00
|
|
|
*
|
|
|
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
|
|
|
* copy of this software and associated documentation files (the "Software"),
|
|
|
|
* to deal in the Software without restriction, including without limitation
|
|
|
|
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
|
|
|
* and/or sell copies of the Software, and to permit persons to whom the
|
|
|
|
* Software is furnished to do so, subject to the following conditions:
|
|
|
|
*
|
|
|
|
* The above copyright notice and this permission notice shall be included
|
|
|
|
* in all copies or substantial portions of the Software.
|
|
|
|
*
|
|
|
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
|
|
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
|
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
|
|
|
* BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
|
|
|
* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
|
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Test that glXGetProcAddress works.
|
|
|
|
*/
|
|
|
|
|
2001-11-21 17:21:41 +00:00
|
|
|
#define GLX_GLXEXT_PROTOTYPES
|
|
|
|
|
2001-11-18 23:16:56 +00:00
|
|
|
#include <X11/Xlib.h>
|
|
|
|
#include <X11/Xutil.h>
|
|
|
|
#include <GL/gl.h>
|
|
|
|
#include <GL/glx.h>
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <string.h>
|
|
|
|
|
|
|
|
|
|
|
|
/* This big list of functions can be generated automatically by
|
|
|
|
* running the functions.py script.
|
|
|
|
*/
|
|
|
|
static const char *functions[] = {
|
|
|
|
"-1.0",
|
|
|
|
"glNewList",
|
|
|
|
"glEndList",
|
|
|
|
"glCallList",
|
|
|
|
"glCallLists",
|
|
|
|
"glDeleteLists",
|
|
|
|
"glGenLists",
|
|
|
|
"glListBase",
|
|
|
|
"glBegin",
|
|
|
|
"glBitmap",
|
|
|
|
"glColor3b",
|
|
|
|
"glColor3bv",
|
|
|
|
"glColor3d",
|
|
|
|
"glColor3dv",
|
|
|
|
"glColor3f",
|
|
|
|
"glColor3fv",
|
|
|
|
"glColor3i",
|
|
|
|
"glColor3iv",
|
|
|
|
"glColor3s",
|
|
|
|
"glColor3sv",
|
|
|
|
"glColor3ub",
|
|
|
|
"glColor3ubv",
|
|
|
|
"glColor3ui",
|
|
|
|
"glColor3uiv",
|
|
|
|
"glColor3us",
|
|
|
|
"glColor3usv",
|
|
|
|
"glColor4b",
|
|
|
|
"glColor4bv",
|
|
|
|
"glColor4d",
|
|
|
|
"glColor4dv",
|
|
|
|
"glColor4f",
|
|
|
|
"glColor4fv",
|
|
|
|
"glColor4i",
|
|
|
|
"glColor4iv",
|
|
|
|
"glColor4s",
|
|
|
|
"glColor4sv",
|
|
|
|
"glColor4ub",
|
|
|
|
"glColor4ubv",
|
|
|
|
"glColor4ui",
|
|
|
|
"glColor4uiv",
|
|
|
|
"glColor4us",
|
|
|
|
"glColor4usv",
|
|
|
|
"glEdgeFlag",
|
|
|
|
"glEdgeFlagv",
|
|
|
|
"glEnd",
|
|
|
|
"glIndexd",
|
|
|
|
"glIndexdv",
|
|
|
|
"glIndexf",
|
|
|
|
"glIndexfv",
|
|
|
|
"glIndexi",
|
|
|
|
"glIndexiv",
|
|
|
|
"glIndexs",
|
|
|
|
"glIndexsv",
|
|
|
|
"glNormal3b",
|
|
|
|
"glNormal3bv",
|
|
|
|
"glNormal3d",
|
|
|
|
"glNormal3dv",
|
|
|
|
"glNormal3f",
|
|
|
|
"glNormal3fv",
|
|
|
|
"glNormal3i",
|
|
|
|
"glNormal3iv",
|
|
|
|
"glNormal3s",
|
|
|
|
"glNormal3sv",
|
|
|
|
"glRasterPos2d",
|
|
|
|
"glRasterPos2dv",
|
|
|
|
"glRasterPos2f",
|
|
|
|
"glRasterPos2fv",
|
|
|
|
"glRasterPos2i",
|
|
|
|
"glRasterPos2iv",
|
|
|
|
"glRasterPos2s",
|
|
|
|
"glRasterPos2sv",
|
|
|
|
"glRasterPos3d",
|
|
|
|
"glRasterPos3dv",
|
|
|
|
"glRasterPos3f",
|
|
|
|
"glRasterPos3fv",
|
|
|
|
"glRasterPos3i",
|
|
|
|
"glRasterPos3iv",
|
|
|
|
"glRasterPos3s",
|
|
|
|
"glRasterPos3sv",
|
|
|
|
"glRasterPos4d",
|
|
|
|
"glRasterPos4dv",
|
|
|
|
"glRasterPos4f",
|
|
|
|
"glRasterPos4fv",
|
|
|
|
"glRasterPos4i",
|
|
|
|
"glRasterPos4iv",
|
|
|
|
"glRasterPos4s",
|
|
|
|
"glRasterPos4sv",
|
|
|
|
"glRectd",
|
|
|
|
"glRectdv",
|
|
|
|
"glRectf",
|
|
|
|
"glRectfv",
|
|
|
|
"glRecti",
|
|
|
|
"glRectiv",
|
|
|
|
"glRects",
|
|
|
|
"glRectsv",
|
|
|
|
"glTexCoord1d",
|
|
|
|
"glTexCoord1dv",
|
|
|
|
"glTexCoord1f",
|
|
|
|
"glTexCoord1fv",
|
|
|
|
"glTexCoord1i",
|
|
|
|
"glTexCoord1iv",
|
|
|
|
"glTexCoord1s",
|
|
|
|
"glTexCoord1sv",
|
|
|
|
"glTexCoord2d",
|
|
|
|
"glTexCoord2dv",
|
|
|
|
"glTexCoord2f",
|
|
|
|
"glTexCoord2fv",
|
|
|
|
"glTexCoord2i",
|
|
|
|
"glTexCoord2iv",
|
|
|
|
"glTexCoord2s",
|
|
|
|
"glTexCoord2sv",
|
|
|
|
"glTexCoord3d",
|
|
|
|
"glTexCoord3dv",
|
|
|
|
"glTexCoord3f",
|
|
|
|
"glTexCoord3fv",
|
|
|
|
"glTexCoord3i",
|
|
|
|
"glTexCoord3iv",
|
|
|
|
"glTexCoord3s",
|
|
|
|
"glTexCoord3sv",
|
|
|
|
"glTexCoord4d",
|
|
|
|
"glTexCoord4dv",
|
|
|
|
"glTexCoord4f",
|
|
|
|
"glTexCoord4fv",
|
|
|
|
"glTexCoord4i",
|
|
|
|
"glTexCoord4iv",
|
|
|
|
"glTexCoord4s",
|
|
|
|
"glTexCoord4sv",
|
|
|
|
"glVertex2d",
|
|
|
|
"glVertex2dv",
|
|
|
|
"glVertex2f",
|
|
|
|
"glVertex2fv",
|
|
|
|
"glVertex2i",
|
|
|
|
"glVertex2iv",
|
|
|
|
"glVertex2s",
|
|
|
|
"glVertex2sv",
|
|
|
|
"glVertex3d",
|
|
|
|
"glVertex3dv",
|
|
|
|
"glVertex3f",
|
|
|
|
"glVertex3fv",
|
|
|
|
"glVertex3i",
|
|
|
|
"glVertex3iv",
|
|
|
|
"glVertex3s",
|
|
|
|
"glVertex3sv",
|
|
|
|
"glVertex4d",
|
|
|
|
"glVertex4dv",
|
|
|
|
"glVertex4f",
|
|
|
|
"glVertex4fv",
|
|
|
|
"glVertex4i",
|
|
|
|
"glVertex4iv",
|
|
|
|
"glVertex4s",
|
|
|
|
"glVertex4sv",
|
|
|
|
"glClipPlane",
|
|
|
|
"glColorMaterial",
|
|
|
|
"glCullFace",
|
|
|
|
"glFogf",
|
|
|
|
"glFogfv",
|
|
|
|
"glFogi",
|
|
|
|
"glFogiv",
|
|
|
|
"glFrontFace",
|
|
|
|
"glHint",
|
|
|
|
"glLightf",
|
|
|
|
"glLightfv",
|
|
|
|
"glLighti",
|
|
|
|
"glLightiv",
|
|
|
|
"glLightModelf",
|
|
|
|
"glLightModelfv",
|
|
|
|
"glLightModeli",
|
|
|
|
"glLightModeliv",
|
|
|
|
"glLineStipple",
|
|
|
|
"glLineWidth",
|
|
|
|
"glMaterialf",
|
|
|
|
"glMaterialfv",
|
|
|
|
"glMateriali",
|
|
|
|
"glMaterialiv",
|
|
|
|
"glPointSize",
|
|
|
|
"glPolygonMode",
|
|
|
|
"glPolygonStipple",
|
|
|
|
"glScissor",
|
|
|
|
"glShadeModel",
|
|
|
|
"glTexParameterf",
|
|
|
|
"glTexParameterfv",
|
|
|
|
"glTexParameteri",
|
|
|
|
"glTexParameteriv",
|
|
|
|
"glTexImage1D",
|
|
|
|
"glTexImage2D",
|
|
|
|
"glTexEnvf",
|
|
|
|
"glTexEnvfv",
|
|
|
|
"glTexEnvi",
|
|
|
|
"glTexEnviv",
|
|
|
|
"glTexGend",
|
|
|
|
"glTexGendv",
|
|
|
|
"glTexGenf",
|
|
|
|
"glTexGenfv",
|
|
|
|
"glTexGeni",
|
|
|
|
"glTexGeniv",
|
|
|
|
"glFeedbackBuffer",
|
|
|
|
"glSelectBuffer",
|
|
|
|
"glRenderMode",
|
|
|
|
"glInitNames",
|
|
|
|
"glLoadName",
|
|
|
|
"glPassThrough",
|
|
|
|
"glPopName",
|
|
|
|
"glPushName",
|
|
|
|
"glDrawBuffer",
|
|
|
|
"glClear",
|
|
|
|
"glClearAccum",
|
|
|
|
"glClearIndex",
|
|
|
|
"glClearColor",
|
|
|
|
"glClearStencil",
|
|
|
|
"glClearDepth",
|
|
|
|
"glStencilMask",
|
|
|
|
"glColorMask",
|
|
|
|
"glDepthMask",
|
|
|
|
"glIndexMask",
|
|
|
|
"glAccum",
|
|
|
|
"glDisable",
|
|
|
|
"glEnable",
|
|
|
|
"glFinish",
|
|
|
|
"glFlush",
|
|
|
|
"glPopAttrib",
|
|
|
|
"glPushAttrib",
|
|
|
|
"glMap1d",
|
|
|
|
"glMap1f",
|
|
|
|
"glMap2d",
|
|
|
|
"glMap2f",
|
|
|
|
"glMapGrid1d",
|
|
|
|
"glMapGrid1f",
|
|
|
|
"glMapGrid2d",
|
|
|
|
"glMapGrid2f",
|
|
|
|
"glEvalCoord1d",
|
|
|
|
"glEvalCoord1dv",
|
|
|
|
"glEvalCoord1f",
|
|
|
|
"glEvalCoord1fv",
|
|
|
|
"glEvalCoord2d",
|
|
|
|
"glEvalCoord2dv",
|
|
|
|
"glEvalCoord2f",
|
|
|
|
"glEvalCoord2fv",
|
|
|
|
"glEvalMesh1",
|
|
|
|
"glEvalPoint1",
|
|
|
|
"glEvalMesh2",
|
|
|
|
"glEvalPoint2",
|
|
|
|
"glAlphaFunc",
|
|
|
|
"glBlendFunc",
|
|
|
|
"glLogicOp",
|
|
|
|
"glStencilFunc",
|
|
|
|
"glStencilOp",
|
|
|
|
"glDepthFunc",
|
|
|
|
"glPixelZoom",
|
|
|
|
"glPixelTransferf",
|
|
|
|
"glPixelTransferi",
|
|
|
|
"glPixelStoref",
|
|
|
|
"glPixelStorei",
|
|
|
|
"glPixelMapfv",
|
|
|
|
"glPixelMapuiv",
|
|
|
|
"glPixelMapusv",
|
|
|
|
"glReadBuffer",
|
|
|
|
"glCopyPixels",
|
|
|
|
"glReadPixels",
|
|
|
|
"glDrawPixels",
|
|
|
|
"glGetBooleanv",
|
|
|
|
"glGetClipPlane",
|
|
|
|
"glGetDoublev",
|
|
|
|
"glGetError",
|
|
|
|
"glGetFloatv",
|
|
|
|
"glGetIntegerv",
|
|
|
|
"glGetLightfv",
|
|
|
|
"glGetLightiv",
|
|
|
|
"glGetMapdv",
|
|
|
|
"glGetMapfv",
|
|
|
|
"glGetMapiv",
|
|
|
|
"glGetMaterialfv",
|
|
|
|
"glGetMaterialiv",
|
|
|
|
"glGetPixelMapfv",
|
|
|
|
"glGetPixelMapuiv",
|
|
|
|
"glGetPixelMapusv",
|
|
|
|
"glGetPolygonStipple",
|
|
|
|
"glGetString",
|
|
|
|
"glGetTexEnvfv",
|
|
|
|
"glGetTexEnviv",
|
|
|
|
"glGetTexGendv",
|
|
|
|
"glGetTexGenfv",
|
|
|
|
"glGetTexGeniv",
|
|
|
|
"glGetTexImage",
|
|
|
|
"glGetTexParameterfv",
|
|
|
|
"glGetTexParameteriv",
|
|
|
|
"glGetTexLevelParameterfv",
|
|
|
|
"glGetTexLevelParameteriv",
|
|
|
|
"glIsEnabled",
|
|
|
|
"glIsList",
|
|
|
|
"glDepthRange",
|
|
|
|
"glFrustum",
|
|
|
|
"glLoadIdentity",
|
|
|
|
"glLoadMatrixf",
|
|
|
|
"glLoadMatrixd",
|
|
|
|
"glMatrixMode",
|
|
|
|
"glMultMatrixf",
|
|
|
|
"glMultMatrixd",
|
|
|
|
"glOrtho",
|
|
|
|
"glPopMatrix",
|
|
|
|
"glPushMatrix",
|
|
|
|
"glRotated",
|
|
|
|
"glRotatef",
|
|
|
|
"glScaled",
|
|
|
|
"glScalef",
|
|
|
|
"glTranslated",
|
|
|
|
"glTranslatef",
|
|
|
|
"glViewport",
|
|
|
|
"-1.1",
|
|
|
|
"glArrayElement",
|
|
|
|
"glColorPointer",
|
|
|
|
"glDisableClientState",
|
|
|
|
"glDrawArrays",
|
|
|
|
"glDrawElements",
|
|
|
|
"glEdgeFlagPointer",
|
|
|
|
"glEnableClientState",
|
|
|
|
"glGetPointerv",
|
|
|
|
"glIndexPointer",
|
|
|
|
"glInterleavedArrays",
|
|
|
|
"glNormalPointer",
|
|
|
|
"glTexCoordPointer",
|
|
|
|
"glVertexPointer",
|
|
|
|
"glPolygonOffset",
|
|
|
|
"glCopyTexImage1D",
|
|
|
|
"glCopyTexImage2D",
|
|
|
|
"glCopyTexSubImage1D",
|
|
|
|
"glCopyTexSubImage2D",
|
|
|
|
"glTexSubImage1D",
|
|
|
|
"glTexSubImage2D",
|
|
|
|
"glAreTexturesResident",
|
|
|
|
"glBindTexture",
|
|
|
|
"glDeleteTextures",
|
|
|
|
"glGenTextures",
|
|
|
|
"glIsTexture",
|
|
|
|
"glPrioritizeTextures",
|
|
|
|
"glIndexub",
|
|
|
|
"glIndexubv",
|
|
|
|
"glPopClientAttrib",
|
|
|
|
"glPushClientAttrib",
|
|
|
|
"-1.2",
|
|
|
|
"glBlendColor",
|
|
|
|
"glBlendEquation",
|
|
|
|
"glDrawRangeElements",
|
|
|
|
"glColorTable",
|
|
|
|
"glColorTableParameterfv",
|
|
|
|
"glColorTableParameteriv",
|
|
|
|
"glCopyColorTable",
|
|
|
|
"glGetColorTable",
|
|
|
|
"glGetColorTableParameterfv",
|
|
|
|
"glGetColorTableParameteriv",
|
|
|
|
"glColorSubTable",
|
|
|
|
"glCopyColorSubTable",
|
|
|
|
"glConvolutionFilter1D",
|
|
|
|
"glConvolutionFilter2D",
|
|
|
|
"glConvolutionParameterf",
|
|
|
|
"glConvolutionParameterfv",
|
|
|
|
"glConvolutionParameteri",
|
|
|
|
"glConvolutionParameteriv",
|
|
|
|
"glCopyConvolutionFilter1D",
|
|
|
|
"glCopyConvolutionFilter2D",
|
|
|
|
"glGetConvolutionFilter",
|
|
|
|
"glGetConvolutionParameterfv",
|
|
|
|
"glGetConvolutionParameteriv",
|
|
|
|
"glGetSeparableFilter",
|
|
|
|
"glSeparableFilter2D",
|
|
|
|
"glGetHistogram",
|
|
|
|
"glGetHistogramParameterfv",
|
|
|
|
"glGetHistogramParameteriv",
|
|
|
|
"glGetMinmax",
|
|
|
|
"glGetMinmaxParameterfv",
|
|
|
|
"glGetMinmaxParameteriv",
|
|
|
|
"glHistogram",
|
|
|
|
"glMinmax",
|
|
|
|
"glResetHistogram",
|
|
|
|
"glResetMinmax",
|
|
|
|
"glTexImage3D",
|
|
|
|
"glTexSubImage3D",
|
|
|
|
"glCopyTexSubImage3D",
|
|
|
|
"-1.3",
|
|
|
|
"glActiveTexture",
|
|
|
|
"glClientActiveTexture",
|
|
|
|
"glMultiTexCoord1d",
|
|
|
|
"glMultiTexCoord1dv",
|
|
|
|
"glMultiTexCoord1f",
|
|
|
|
"glMultiTexCoord1fv",
|
|
|
|
"glMultiTexCoord1i",
|
|
|
|
"glMultiTexCoord1iv",
|
|
|
|
"glMultiTexCoord1s",
|
|
|
|
"glMultiTexCoord1sv",
|
|
|
|
"glMultiTexCoord2d",
|
|
|
|
"glMultiTexCoord2dv",
|
|
|
|
"glMultiTexCoord2f",
|
|
|
|
"glMultiTexCoord2fv",
|
|
|
|
"glMultiTexCoord2i",
|
|
|
|
"glMultiTexCoord2iv",
|
|
|
|
"glMultiTexCoord2s",
|
|
|
|
"glMultiTexCoord2sv",
|
|
|
|
"glMultiTexCoord3d",
|
|
|
|
"glMultiTexCoord3dv",
|
|
|
|
"glMultiTexCoord3f",
|
|
|
|
"glMultiTexCoord3fv",
|
|
|
|
"glMultiTexCoord3i",
|
|
|
|
"glMultiTexCoord3iv",
|
|
|
|
"glMultiTexCoord3s",
|
|
|
|
"glMultiTexCoord3sv",
|
|
|
|
"glMultiTexCoord4d",
|
|
|
|
"glMultiTexCoord4dv",
|
|
|
|
"glMultiTexCoord4f",
|
|
|
|
"glMultiTexCoord4fv",
|
|
|
|
"glMultiTexCoord4i",
|
|
|
|
"glMultiTexCoord4iv",
|
|
|
|
"glMultiTexCoord4s",
|
|
|
|
"glMultiTexCoord4sv",
|
|
|
|
"glLoadTransposeMatrixf",
|
|
|
|
"glLoadTransposeMatrixd",
|
|
|
|
"glMultTransposeMatrixf",
|
|
|
|
"glMultTransposeMatrixd",
|
|
|
|
"glSampleCoverage",
|
|
|
|
"glCompressedTexImage3D",
|
|
|
|
"glCompressedTexImage2D",
|
|
|
|
"glCompressedTexImage1D",
|
|
|
|
"glCompressedTexSubImage3D",
|
|
|
|
"glCompressedTexSubImage2D",
|
|
|
|
"glCompressedTexSubImage1D",
|
|
|
|
"glGetCompressedTexImage",
|
2002-11-07 16:23:40 +00:00
|
|
|
"-1.4",
|
2002-11-07 16:34:58 +00:00
|
|
|
"glBlendFuncSeparate",
|
2002-11-07 16:23:40 +00:00
|
|
|
"glFogCoordf",
|
|
|
|
"glFogCoordfv",
|
|
|
|
"glFogCoordd",
|
|
|
|
"glFogCoorddv",
|
|
|
|
"glFogCoordPointer",
|
2002-11-07 16:34:58 +00:00
|
|
|
"glMultiDrawArrays",
|
|
|
|
"glMultiDrawElements",
|
2002-11-07 16:23:40 +00:00
|
|
|
"glPointParameterf",
|
|
|
|
"glPointParameterfv",
|
|
|
|
"glPointParameteri",
|
|
|
|
"glPointParameteriv",
|
|
|
|
"glSecondaryColor3b",
|
|
|
|
"glSecondaryColor3bv",
|
|
|
|
"glSecondaryColor3d",
|
|
|
|
"glSecondaryColor3dv",
|
|
|
|
"glSecondaryColor3f",
|
|
|
|
"glSecondaryColor3fv",
|
|
|
|
"glSecondaryColor3i",
|
|
|
|
"glSecondaryColor3iv",
|
|
|
|
"glSecondaryColor3s",
|
|
|
|
"glSecondaryColor3sv",
|
|
|
|
"glSecondaryColor3ub",
|
|
|
|
"glSecondaryColor3ubv",
|
|
|
|
"glSecondaryColor3ui",
|
|
|
|
"glSecondaryColor3uiv",
|
|
|
|
"glSecondaryColor3us",
|
|
|
|
"glSecondaryColor3usv",
|
|
|
|
"glSecondaryColorPointer",
|
|
|
|
"glWindowPos2d",
|
|
|
|
"glWindowPos2dv",
|
|
|
|
"glWindowPos2f",
|
|
|
|
"glWindowPos2fv",
|
|
|
|
"glWindowPos2i",
|
|
|
|
"glWindowPos2iv",
|
|
|
|
"glWindowPos2s",
|
|
|
|
"glWindowPos2sv",
|
|
|
|
"glWindowPos3d",
|
|
|
|
"glWindowPos3dv",
|
|
|
|
"glWindowPos3f",
|
|
|
|
"glWindowPos3fv",
|
|
|
|
"glWindowPos3i",
|
|
|
|
"glWindowPos3iv",
|
|
|
|
"glWindowPos3s",
|
|
|
|
"glWindowPos3sv",
|
2001-11-18 23:16:56 +00:00
|
|
|
"-GL_ARB_multitexture",
|
|
|
|
"glActiveTextureARB",
|
|
|
|
"glClientActiveTextureARB",
|
|
|
|
"glMultiTexCoord1dARB",
|
|
|
|
"glMultiTexCoord1dvARB",
|
|
|
|
"glMultiTexCoord1fARB",
|
|
|
|
"glMultiTexCoord1fvARB",
|
|
|
|
"glMultiTexCoord1iARB",
|
|
|
|
"glMultiTexCoord1ivARB",
|
|
|
|
"glMultiTexCoord1sARB",
|
|
|
|
"glMultiTexCoord1svARB",
|
|
|
|
"glMultiTexCoord2dARB",
|
|
|
|
"glMultiTexCoord2dvARB",
|
|
|
|
"glMultiTexCoord2fARB",
|
|
|
|
"glMultiTexCoord2fvARB",
|
|
|
|
"glMultiTexCoord2iARB",
|
|
|
|
"glMultiTexCoord2ivARB",
|
|
|
|
"glMultiTexCoord2sARB",
|
|
|
|
"glMultiTexCoord2svARB",
|
|
|
|
"glMultiTexCoord3dARB",
|
|
|
|
"glMultiTexCoord3dvARB",
|
|
|
|
"glMultiTexCoord3fARB",
|
|
|
|
"glMultiTexCoord3fvARB",
|
|
|
|
"glMultiTexCoord3iARB",
|
|
|
|
"glMultiTexCoord3ivARB",
|
|
|
|
"glMultiTexCoord3sARB",
|
|
|
|
"glMultiTexCoord3svARB",
|
|
|
|
"glMultiTexCoord4dARB",
|
|
|
|
"glMultiTexCoord4dvARB",
|
|
|
|
"glMultiTexCoord4fARB",
|
|
|
|
"glMultiTexCoord4fvARB",
|
|
|
|
"glMultiTexCoord4iARB",
|
|
|
|
"glMultiTexCoord4ivARB",
|
|
|
|
"glMultiTexCoord4sARB",
|
|
|
|
"glMultiTexCoord4svARB",
|
|
|
|
"-GL_ARB_transpose_matrix",
|
|
|
|
"glLoadTransposeMatrixfARB",
|
|
|
|
"glLoadTransposeMatrixdARB",
|
|
|
|
"glMultTransposeMatrixfARB",
|
|
|
|
"glMultTransposeMatrixdARB",
|
|
|
|
"-GL_ARB_multisample",
|
|
|
|
"glSampleCoverageARB",
|
|
|
|
"-unused",
|
|
|
|
"gl__unused413",
|
|
|
|
"-GL_ARB_texture_compression",
|
|
|
|
"glCompressedTexImage3DARB",
|
|
|
|
"glCompressedTexImage2DARB",
|
|
|
|
"glCompressedTexImage1DARB",
|
|
|
|
"glCompressedTexSubImage3DARB",
|
|
|
|
"glCompressedTexSubImage2DARB",
|
|
|
|
"glCompressedTexSubImage1DARB",
|
|
|
|
"glGetCompressedTexImageARB",
|
|
|
|
"-GL_ARB_vertex_blend",
|
|
|
|
"glWeightbvARB",
|
|
|
|
"glWeightsvARB",
|
|
|
|
"glWeightivARB",
|
|
|
|
"glWeightfvARB",
|
|
|
|
"glWeightdvARB",
|
|
|
|
"glWeightubvARB",
|
|
|
|
"glWeightusvARB",
|
|
|
|
"glWeightuivARB",
|
|
|
|
"glWeightPointerARB",
|
|
|
|
"glVertexBlendARB",
|
|
|
|
"-GL_ARB_matrix_palette",
|
|
|
|
"glCurrentPaletteMatrixARB",
|
|
|
|
"glMatrixIndexubvARB",
|
|
|
|
"glMatrixIndexusvARB",
|
|
|
|
"glMatrixIndexuivARB",
|
|
|
|
"glMatrixIndexPointerARB",
|
|
|
|
"-GL_EXT_blend_color",
|
|
|
|
"glBlendColorEXT",
|
|
|
|
"-GL_EXT_polygon_offset",
|
|
|
|
"glPolygonOffsetEXT",
|
|
|
|
"-GL_EXT_texture3D",
|
|
|
|
"glTexImage3DEXT",
|
|
|
|
"glTexSubImage3DEXT",
|
|
|
|
"-GL_SGIS_texture_filter4",
|
|
|
|
"glGetTexFilterFuncSGIS",
|
|
|
|
"glTexFilterFuncSGIS",
|
|
|
|
"-GL_EXT_subtexture",
|
|
|
|
"glTexSubImage1DEXT",
|
|
|
|
"glTexSubImage2DEXT",
|
|
|
|
"-GL_EXT_copy_texture",
|
|
|
|
"glCopyTexImage1DEXT",
|
|
|
|
"glCopyTexImage2DEXT",
|
|
|
|
"glCopyTexSubImage1DEXT",
|
|
|
|
"glCopyTexSubImage2DEXT",
|
|
|
|
"glCopyTexSubImage3DEXT",
|
|
|
|
"-GL_EXT_histogram",
|
|
|
|
"glGetHistogramEXT",
|
|
|
|
"glGetHistogramParameterfvEXT",
|
|
|
|
"glGetHistogramParameterivEXT",
|
|
|
|
"glGetMinmaxEXT",
|
|
|
|
"glGetMinmaxParameterfvEXT",
|
|
|
|
"glGetMinmaxParameterivEXT",
|
|
|
|
"glHistogramEXT",
|
|
|
|
"glMinmaxEXT",
|
|
|
|
"glResetHistogramEXT",
|
|
|
|
"glResetMinmaxEXT",
|
|
|
|
"-GL_EXT_convolution",
|
|
|
|
"glConvolutionFilter1DEXT",
|
|
|
|
"glConvolutionFilter2DEXT",
|
|
|
|
"glConvolutionParameterfEXT",
|
|
|
|
"glConvolutionParameterfvEXT",
|
|
|
|
"glConvolutionParameteriEXT",
|
|
|
|
"glConvolutionParameterivEXT",
|
|
|
|
"glCopyConvolutionFilter1DEXT",
|
|
|
|
"glCopyConvolutionFilter2DEXT",
|
|
|
|
"glGetConvolutionFilterEXT",
|
|
|
|
"glGetConvolutionParameterfvEXT",
|
|
|
|
"glGetConvolutionParameterivEXT",
|
|
|
|
"glGetSeparableFilterEXT",
|
|
|
|
"glSeparableFilter2DEXT",
|
|
|
|
"-GL_SGI_color_table",
|
|
|
|
"glColorTableSGI",
|
|
|
|
"glColorTableParameterfvSGI",
|
|
|
|
"glColorTableParameterivSGI",
|
|
|
|
"glCopyColorTableSGI",
|
|
|
|
"glGetColorTableSGI",
|
|
|
|
"glGetColorTableParameterfvSGI",
|
|
|
|
"glGetColorTableParameterivSGI",
|
|
|
|
"-GL_SGIX_pixel_texture",
|
|
|
|
"glPixelTexGenSGIX",
|
|
|
|
"-GL_SGIS_pixel_texture",
|
|
|
|
"glPixelTexGenParameteriSGIS",
|
|
|
|
"glPixelTexGenParameterivSGIS",
|
|
|
|
"glPixelTexGenParameterfSGIS",
|
|
|
|
"glPixelTexGenParameterfvSGIS",
|
|
|
|
"glGetPixelTexGenParameterivSGIS",
|
|
|
|
"glGetPixelTexGenParameterfvSGIS",
|
|
|
|
"-GL_SGIS_texture4D",
|
|
|
|
"glTexImage4DSGIS",
|
|
|
|
"glTexSubImage4DSGIS",
|
|
|
|
"-GL_EXT_texture_object",
|
|
|
|
"glAreTexturesResidentEXT",
|
|
|
|
"glBindTextureEXT",
|
|
|
|
"glDeleteTexturesEXT",
|
|
|
|
"glGenTexturesEXT",
|
|
|
|
"glIsTextureEXT",
|
|
|
|
"glPrioritizeTexturesEXT",
|
|
|
|
"-GL_SGIS_detail_texture",
|
|
|
|
"glDetailTexFuncSGIS",
|
|
|
|
"glGetDetailTexFuncSGIS",
|
|
|
|
"-GL_SGIS_sharpen_texture",
|
|
|
|
"glSharpenTexFuncSGIS",
|
|
|
|
"glGetSharpenTexFuncSGIS",
|
|
|
|
"-GL_SGIS_multisample",
|
|
|
|
"glSampleMaskSGIS",
|
|
|
|
"glSamplePatternSGIS",
|
|
|
|
"-GL_EXT_vertex_array",
|
|
|
|
"glArrayElementEXT",
|
|
|
|
"glColorPointerEXT",
|
|
|
|
"glDrawArraysEXT",
|
|
|
|
"glEdgeFlagPointerEXT",
|
|
|
|
"glGetPointervEXT",
|
|
|
|
"glIndexPointerEXT",
|
|
|
|
"glNormalPointerEXT",
|
|
|
|
"glTexCoordPointerEXT",
|
|
|
|
"glVertexPointerEXT",
|
|
|
|
"-GL_EXT_blend_minmax",
|
|
|
|
"glBlendEquationEXT",
|
|
|
|
"-GL_SGIX_sprite",
|
|
|
|
"glSpriteParameterfSGIX",
|
|
|
|
"glSpriteParameterfvSGIX",
|
|
|
|
"glSpriteParameteriSGIX",
|
|
|
|
"glSpriteParameterivSGIX",
|
|
|
|
"-GL_ARB_point_parameters",
|
|
|
|
"glPointParameterfARB",
|
|
|
|
"glPointParameterfvARB",
|
|
|
|
"-GL_EXT_point_parameters",
|
|
|
|
"glPointParameterfEXT",
|
|
|
|
"glPointParameterfvEXT",
|
|
|
|
"-GL_SGIS_point_parameters",
|
|
|
|
"glPointParameterfSGIS",
|
|
|
|
"glPointParameterfvSGIS",
|
|
|
|
"-GL_SGIX_instruments",
|
|
|
|
"glGetInstrumentsSGIX",
|
|
|
|
"glInstrumentsBufferSGIX",
|
|
|
|
"glPollInstrumentsSGIX",
|
|
|
|
"glReadInstrumentsSGIX",
|
|
|
|
"glStartInstrumentsSGIX",
|
|
|
|
"glStopInstrumentsSGIX",
|
|
|
|
"-GL_SGIX_framezoom",
|
|
|
|
"glFrameZoomSGIX",
|
|
|
|
"-GL_SGIX_tag_sample_buffer",
|
|
|
|
"glTagSampleBufferSGIX",
|
|
|
|
"-GL_SGIX_polynomial_ffd",
|
|
|
|
"glDeformationMap3dSGIX",
|
|
|
|
"glDeformationMap3fSGIX",
|
|
|
|
"glDeformSGIX",
|
|
|
|
"glLoadIdentityDeformationMapSGIX",
|
|
|
|
"-GL_SGIX_reference_plane",
|
|
|
|
"glReferencePlaneSGIX",
|
|
|
|
"-GL_SGIX_flush_raster",
|
|
|
|
"glFlushRasterSGIX",
|
|
|
|
"-GL_SGIS_fog_function",
|
|
|
|
"glFogFuncSGIS",
|
|
|
|
"glGetFogFuncSGIS",
|
|
|
|
"-GL_HP_image_transform",
|
|
|
|
"glImageTransformParameteriHP",
|
|
|
|
"glImageTransformParameterfHP",
|
|
|
|
"glImageTransformParameterivHP",
|
|
|
|
"glImageTransformParameterfvHP",
|
|
|
|
"glGetImageTransformParameterivHP",
|
|
|
|
"glGetImageTransformParameterfvHP",
|
|
|
|
"-GL_EXT_color_subtable",
|
|
|
|
"glColorSubTableEXT",
|
|
|
|
"glCopyColorSubTableEXT",
|
|
|
|
"-GL_PGI_misc_hints",
|
|
|
|
"glHintPGI",
|
|
|
|
"-GL_EXT_paletted_texture",
|
|
|
|
"glColorTableEXT",
|
|
|
|
"glGetColorTableEXT",
|
|
|
|
"glGetColorTableParameterivEXT",
|
|
|
|
"glGetColorTableParameterfvEXT",
|
|
|
|
"-GL_SGIX_list_priority",
|
|
|
|
"glGetListParameterfvSGIX",
|
|
|
|
"glGetListParameterivSGIX",
|
|
|
|
"glListParameterfSGIX",
|
|
|
|
"glListParameterfvSGIX",
|
|
|
|
"glListParameteriSGIX",
|
|
|
|
"glListParameterivSGIX",
|
|
|
|
"-GL_EXT_index_material",
|
|
|
|
"glIndexMaterialEXT",
|
|
|
|
"-GL_EXT_index_func",
|
|
|
|
"glIndexFuncEXT",
|
|
|
|
"-GL_EXT_compiled_vertex_array",
|
|
|
|
"glLockArraysEXT",
|
|
|
|
"glUnlockArraysEXT",
|
|
|
|
"-GL_EXT_cull_vertex",
|
|
|
|
"glCullParameterdvEXT",
|
|
|
|
"glCullParameterfvEXT",
|
|
|
|
"-GL_SGIX_fragment_lighting",
|
|
|
|
"glFragmentColorMaterialSGIX",
|
|
|
|
"glFragmentLightfSGIX",
|
|
|
|
"glFragmentLightfvSGIX",
|
|
|
|
"glFragmentLightiSGIX",
|
|
|
|
"glFragmentLightivSGIX",
|
|
|
|
"glFragmentLightModelfSGIX",
|
|
|
|
"glFragmentLightModelfvSGIX",
|
|
|
|
"glFragmentLightModeliSGIX",
|
|
|
|
"glFragmentLightModelivSGIX",
|
|
|
|
"glFragmentMaterialfSGIX",
|
|
|
|
"glFragmentMaterialfvSGIX",
|
|
|
|
"glFragmentMaterialiSGIX",
|
|
|
|
"glFragmentMaterialivSGIX",
|
|
|
|
"glGetFragmentLightfvSGIX",
|
|
|
|
"glGetFragmentLightivSGIX",
|
|
|
|
"glGetFragmentMaterialfvSGIX",
|
|
|
|
"glGetFragmentMaterialivSGIX",
|
|
|
|
"glLightEnviSGIX",
|
|
|
|
"-GL_EXT_draw_range_elements",
|
|
|
|
"glDrawRangeElementsEXT",
|
|
|
|
"-GL_EXT_light_texture",
|
|
|
|
"glApplyTextureEXT",
|
|
|
|
"glTextureLightEXT",
|
|
|
|
"glTextureMaterialEXT",
|
|
|
|
"-GL_SGIX_async",
|
|
|
|
"glAsyncMarkerSGIX",
|
|
|
|
"glFinishAsyncSGIX",
|
|
|
|
"glPollAsyncSGIX",
|
|
|
|
"glGenAsyncMarkersSGIX",
|
|
|
|
"glDeleteAsyncMarkersSGIX",
|
|
|
|
"glIsAsyncMarkerSGIX",
|
|
|
|
"-GL_INTEL_parallel_arrays",
|
|
|
|
"glVertexPointervINTEL",
|
|
|
|
"glNormalPointervINTEL",
|
|
|
|
"glColorPointervINTEL",
|
|
|
|
"glTexCoordPointervINTEL",
|
|
|
|
"-GL_EXT_pixel_transform",
|
|
|
|
"glPixelTransformParameteriEXT",
|
|
|
|
"glPixelTransformParameterfEXT",
|
|
|
|
"glPixelTransformParameterivEXT",
|
|
|
|
"glPixelTransformParameterfvEXT",
|
|
|
|
"-GL_EXT_secondary_color",
|
|
|
|
"glSecondaryColor3bEXT",
|
|
|
|
"glSecondaryColor3bvEXT",
|
|
|
|
"glSecondaryColor3dEXT",
|
|
|
|
"glSecondaryColor3dvEXT",
|
|
|
|
"glSecondaryColor3fEXT",
|
|
|
|
"glSecondaryColor3fvEXT",
|
|
|
|
"glSecondaryColor3iEXT",
|
|
|
|
"glSecondaryColor3ivEXT",
|
|
|
|
"glSecondaryColor3sEXT",
|
|
|
|
"glSecondaryColor3svEXT",
|
|
|
|
"glSecondaryColor3ubEXT",
|
|
|
|
"glSecondaryColor3ubvEXT",
|
|
|
|
"glSecondaryColor3uiEXT",
|
|
|
|
"glSecondaryColor3uivEXT",
|
|
|
|
"glSecondaryColor3usEXT",
|
|
|
|
"glSecondaryColor3usvEXT",
|
|
|
|
"glSecondaryColorPointerEXT",
|
|
|
|
"-GL_EXT_texture_perturb_normal",
|
|
|
|
"glTextureNormalEXT",
|
|
|
|
"-GL_EXT_multi_draw_arrays",
|
|
|
|
"glMultiDrawArraysEXT",
|
|
|
|
"glMultiDrawElementsEXT",
|
|
|
|
"-GL_EXT_fog_coord",
|
|
|
|
"glFogCoordfEXT",
|
|
|
|
"glFogCoordfvEXT",
|
|
|
|
"glFogCoorddEXT",
|
|
|
|
"glFogCoorddvEXT",
|
|
|
|
"glFogCoordPointerEXT",
|
|
|
|
"-GL_EXT_coordinate_frame",
|
|
|
|
"glTangent3bEXT",
|
|
|
|
"glTangent3bvEXT",
|
|
|
|
"glTangent3dEXT",
|
|
|
|
"glTangent3dvEXT",
|
|
|
|
"glTangent3fEXT",
|
|
|
|
"glTangent3fvEXT",
|
|
|
|
"glTangent3iEXT",
|
|
|
|
"glTangent3ivEXT",
|
|
|
|
"glTangent3sEXT",
|
|
|
|
"glTangent3svEXT",
|
|
|
|
"glBinormal3bEXT",
|
|
|
|
"glBinormal3bvEXT",
|
|
|
|
"glBinormal3dEXT",
|
|
|
|
"glBinormal3dvEXT",
|
|
|
|
"glBinormal3fEXT",
|
|
|
|
"glBinormal3fvEXT",
|
|
|
|
"glBinormal3iEXT",
|
|
|
|
"glBinormal3ivEXT",
|
|
|
|
"glBinormal3sEXT",
|
|
|
|
"glBinormal3svEXT",
|
|
|
|
"glTangentPointerEXT",
|
|
|
|
"glBinormalPointerEXT",
|
|
|
|
"-GL_SUNX_constant_data",
|
|
|
|
"glFinishTextureSUNX",
|
|
|
|
"-GL_SUN_global_alpha",
|
|
|
|
"glGlobalAlphaFactorbSUN",
|
|
|
|
"glGlobalAlphaFactorsSUN",
|
|
|
|
"glGlobalAlphaFactoriSUN",
|
|
|
|
"glGlobalAlphaFactorfSUN",
|
|
|
|
"glGlobalAlphaFactordSUN",
|
|
|
|
"glGlobalAlphaFactorubSUN",
|
|
|
|
"glGlobalAlphaFactorusSUN",
|
|
|
|
"glGlobalAlphaFactoruiSUN",
|
|
|
|
"-GL_SUN_triangle_list",
|
|
|
|
"glReplacementCodeuiSUN",
|
|
|
|
"glReplacementCodeusSUN",
|
|
|
|
"glReplacementCodeubSUN",
|
|
|
|
"glReplacementCodeuivSUN",
|
|
|
|
"glReplacementCodeusvSUN",
|
|
|
|
"glReplacementCodeubvSUN",
|
|
|
|
"glReplacementCodePointerSUN",
|
|
|
|
"-GL_SUN_vertex",
|
|
|
|
"glColor4ubVertex2fSUN",
|
|
|
|
"glColor4ubVertex2fvSUN",
|
|
|
|
"glColor4ubVertex3fSUN",
|
|
|
|
"glColor4ubVertex3fvSUN",
|
|
|
|
"glColor3fVertex3fSUN",
|
|
|
|
"glColor3fVertex3fvSUN",
|
|
|
|
"glNormal3fVertex3fSUN",
|
|
|
|
"glNormal3fVertex3fvSUN",
|
|
|
|
"glColor4fNormal3fVertex3fSUN",
|
|
|
|
"glColor4fNormal3fVertex3fvSUN",
|
|
|
|
"glTexCoord2fVertex3fSUN",
|
|
|
|
"glTexCoord2fVertex3fvSUN",
|
|
|
|
"glTexCoord4fVertex4fSUN",
|
|
|
|
"glTexCoord4fVertex4fvSUN",
|
|
|
|
"glTexCoord2fColor4ubVertex3fSUN",
|
|
|
|
"glTexCoord2fColor4ubVertex3fvSUN",
|
|
|
|
"glTexCoord2fColor3fVertex3fSUN",
|
|
|
|
"glTexCoord2fColor3fVertex3fvSUN",
|
|
|
|
"glTexCoord2fNormal3fVertex3fSUN",
|
|
|
|
"glTexCoord2fNormal3fVertex3fvSUN",
|
|
|
|
"glTexCoord2fColor4fNormal3fVertex3fSUN",
|
|
|
|
"glTexCoord2fColor4fNormal3fVertex3fvSUN",
|
|
|
|
"glTexCoord4fColor4fNormal3fVertex4fSUN",
|
|
|
|
"glTexCoord4fColor4fNormal3fVertex4fvSUN",
|
|
|
|
"glReplacementCodeuiVertex3fSUN",
|
|
|
|
"glReplacementCodeuiVertex3fvSUN",
|
|
|
|
"glReplacementCodeuiColor4ubVertex3fSUN",
|
|
|
|
"glReplacementCodeuiColor4ubVertex3fvSUN",
|
|
|
|
"glReplacementCodeuiColor3fVertex3fSUN",
|
|
|
|
"glReplacementCodeuiColor3fVertex3fvSUN",
|
|
|
|
"glReplacementCodeuiNormal3fVertex3fSUN",
|
|
|
|
"glReplacementCodeuiNormal3fVertex3fvSUN",
|
|
|
|
"glReplacementCodeuiColor4fNormal3fVertex3fSUN",
|
|
|
|
"glReplacementCodeuiColor4fNormal3fVertex3fvSUN",
|
|
|
|
"glReplacementCodeuiTexCoord2fVertex3fSUN",
|
|
|
|
"glReplacementCodeuiTexCoord2fVertex3fvSUN",
|
|
|
|
"glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN",
|
|
|
|
"glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN",
|
|
|
|
"glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN",
|
|
|
|
"glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN",
|
|
|
|
"-GL_EXT_blend_func_separate",
|
|
|
|
"glBlendFuncSeparateEXT",
|
|
|
|
"glBlendFuncSeparateINGR",
|
|
|
|
"-GL_EXT_vertex_weighting",
|
|
|
|
"glVertexWeightfEXT",
|
|
|
|
"glVertexWeightfvEXT",
|
|
|
|
"glVertexWeightPointerEXT",
|
|
|
|
"-GL_NV_vertex_array_range",
|
|
|
|
"glFlushVertexArrayRangeNV",
|
|
|
|
"glVertexArrayRangeNV",
|
|
|
|
"-GL_NV_register_combiners",
|
|
|
|
"glCombinerParameterfvNV",
|
|
|
|
"glCombinerParameterfNV",
|
|
|
|
"glCombinerParameterivNV",
|
|
|
|
"glCombinerParameteriNV",
|
|
|
|
"glCombinerInputNV",
|
|
|
|
"glCombinerOutputNV",
|
|
|
|
"glFinalCombinerInputNV",
|
|
|
|
"glGetCombinerInputParameterfvNV",
|
|
|
|
"glGetCombinerInputParameterivNV",
|
|
|
|
"glGetCombinerOutputParameterfvNV",
|
|
|
|
"glGetCombinerOutputParameterivNV",
|
|
|
|
"glGetFinalCombinerInputParameterfvNV",
|
|
|
|
"glGetFinalCombinerInputParameterivNV",
|
|
|
|
"-GL_MESA_resize_buffers",
|
|
|
|
"glResizeBuffersMESA",
|
|
|
|
"-GL_MESA_window_pos",
|
|
|
|
"glWindowPos2dMESA",
|
|
|
|
"glWindowPos2dvMESA",
|
|
|
|
"glWindowPos2fMESA",
|
|
|
|
"glWindowPos2fvMESA",
|
|
|
|
"glWindowPos2iMESA",
|
|
|
|
"glWindowPos2ivMESA",
|
|
|
|
"glWindowPos2sMESA",
|
|
|
|
"glWindowPos2svMESA",
|
|
|
|
"glWindowPos3dMESA",
|
|
|
|
"glWindowPos3dvMESA",
|
|
|
|
"glWindowPos3fMESA",
|
|
|
|
"glWindowPos3fvMESA",
|
|
|
|
"glWindowPos3iMESA",
|
|
|
|
"glWindowPos3ivMESA",
|
|
|
|
"glWindowPos3sMESA",
|
|
|
|
"glWindowPos3svMESA",
|
|
|
|
"glWindowPos4dMESA",
|
|
|
|
"glWindowPos4dvMESA",
|
|
|
|
"glWindowPos4fMESA",
|
|
|
|
"glWindowPos4fvMESA",
|
|
|
|
"glWindowPos4iMESA",
|
|
|
|
"glWindowPos4ivMESA",
|
|
|
|
"glWindowPos4sMESA",
|
|
|
|
"glWindowPos4svMESA",
|
|
|
|
"-GL_IBM_multimode_draw_arrays",
|
|
|
|
"glMultiModeDrawArraysIBM",
|
|
|
|
"glMultiModeDrawElementsIBM",
|
|
|
|
"-GL_IBM_vertex_array_lists",
|
|
|
|
"glColorPointerListIBM",
|
|
|
|
"glSecondaryColorPointerListIBM",
|
|
|
|
"glEdgeFlagPointerListIBM",
|
|
|
|
"glFogCoordPointerListIBM",
|
|
|
|
"glIndexPointerListIBM",
|
|
|
|
"glNormalPointerListIBM",
|
|
|
|
"glTexCoordPointerListIBM",
|
|
|
|
"glVertexPointerListIBM",
|
|
|
|
"-GL_3DFX_tbuffer",
|
|
|
|
"glTbufferMask3DFX",
|
|
|
|
"-GL_EXT_multisample",
|
|
|
|
"glSampleMaskEXT",
|
|
|
|
"glSamplePatternEXT",
|
|
|
|
"-GL_SGIS_texture_color_mask",
|
|
|
|
"glTextureColorMaskSGIS",
|
|
|
|
"-GL_SGIX_igloo_interface",
|
|
|
|
"glIglooInterfaceSGIX",
|
|
|
|
"-GL_NV_fence",
|
|
|
|
"glGenFencesNV",
|
|
|
|
"glDeleteFencesNV",
|
|
|
|
"glSetFenceNV",
|
|
|
|
"glTestFenceNV",
|
|
|
|
"glFinishFenceNV",
|
|
|
|
"glIsFenceNV",
|
|
|
|
"glGetFenceivNV",
|
|
|
|
"-GL_NV_evaluators",
|
|
|
|
"glMapControlPointsNV",
|
|
|
|
"glMapParameterivNV",
|
|
|
|
"glMapParameterfvNV",
|
|
|
|
"glGetMapControlPointsNV",
|
|
|
|
"glGetMapParameterivNV",
|
|
|
|
"glGetMapParameterfvNV",
|
|
|
|
"glGetMapAttribParameterivNV",
|
|
|
|
"glGetMapAttribParameterfvNV",
|
|
|
|
"glEvalMapsNV",
|
|
|
|
"-GL_NV_register_combiners2",
|
|
|
|
"glCombinerStageParameterfvNV",
|
|
|
|
"glGetCombinerStageParameterfvNV",
|
|
|
|
"-GL_NV_vertex_program",
|
|
|
|
"glBindProgramNV",
|
|
|
|
"glDeleteProgramsNV",
|
|
|
|
"glExecuteProgramNV",
|
|
|
|
"glGenProgramsNV",
|
|
|
|
"glAreProgramsResidentNV",
|
|
|
|
"glRequestResidentProgramsNV",
|
|
|
|
"glGetProgramParameterfvNV",
|
|
|
|
"glGetProgramParameterdvNV",
|
|
|
|
"glGetProgramivNV",
|
|
|
|
"glGetProgramStringNV",
|
|
|
|
"glGetTrackMatrixivNV",
|
|
|
|
"glGetVertexAttribdvNV",
|
|
|
|
"glGetVertexAttribfvNV",
|
|
|
|
"glGetVertexAttribivNV",
|
|
|
|
"glGetVertexAttribPointervNV",
|
|
|
|
"glIsProgramNV",
|
|
|
|
"glLoadProgramNV",
|
|
|
|
"glProgramParameter4fNV",
|
|
|
|
"glProgramParameter4dNV",
|
|
|
|
"glProgramParameter4dvNV",
|
|
|
|
"glProgramParameter4fvNV",
|
|
|
|
"glProgramParameters4dvNV",
|
|
|
|
"glProgramParameters4fvNV",
|
|
|
|
"glTrackMatrixNV",
|
|
|
|
"glVertexAttribPointerNV",
|
|
|
|
"glVertexAttrib1sNV",
|
|
|
|
"glVertexAttrib1fNV",
|
|
|
|
"glVertexAttrib1dNV",
|
|
|
|
"glVertexAttrib2sNV",
|
|
|
|
"glVertexAttrib2fNV",
|
|
|
|
"glVertexAttrib2dNV",
|
|
|
|
"glVertexAttrib3sNV",
|
|
|
|
"glVertexAttrib3fNV",
|
|
|
|
"glVertexAttrib3dNV",
|
|
|
|
"glVertexAttrib4sNV",
|
|
|
|
"glVertexAttrib4fNV",
|
|
|
|
"glVertexAttrib4dNV",
|
|
|
|
"glVertexAttrib4ubNV",
|
|
|
|
"glVertexAttrib1svNV",
|
|
|
|
"glVertexAttrib1fvNV",
|
|
|
|
"glVertexAttrib1dvNV",
|
|
|
|
"glVertexAttrib2svNV",
|
|
|
|
"glVertexAttrib2fvNV",
|
|
|
|
"glVertexAttrib2dvNV",
|
|
|
|
"glVertexAttrib3svNV",
|
|
|
|
"glVertexAttrib3fvNV",
|
|
|
|
"glVertexAttrib3dvNV",
|
|
|
|
"glVertexAttrib4svNV",
|
|
|
|
"glVertexAttrib4fvNV",
|
|
|
|
"glVertexAttrib4dvNV",
|
|
|
|
"glVertexAttrib4ubvNV",
|
|
|
|
"glVertexAttribs1svNV",
|
|
|
|
"glVertexAttribs1fvNV",
|
|
|
|
"glVertexAttribs1dvNV",
|
|
|
|
"glVertexAttribs2svNV",
|
|
|
|
"glVertexAttribs2fvNV",
|
|
|
|
"glVertexAttribs2dvNV",
|
|
|
|
"glVertexAttribs3svNV",
|
|
|
|
"glVertexAttribs3fvNV",
|
|
|
|
"glVertexAttribs3dvNV",
|
|
|
|
"glVertexAttribs4svNV",
|
|
|
|
"glVertexAttribs4fvNV",
|
|
|
|
"glVertexAttribs4dvNV",
|
|
|
|
"glVertexAttribs4ubvNV",
|
|
|
|
"-GL_ARB_window_pos",
|
|
|
|
"glWindowPos2dARB",
|
|
|
|
"glWindowPos2fARB",
|
|
|
|
"glWindowPos2iARB",
|
|
|
|
"glWindowPos2sARB",
|
|
|
|
"glWindowPos2dvARB",
|
|
|
|
"glWindowPos2fvARB",
|
|
|
|
"glWindowPos2ivARB",
|
|
|
|
"glWindowPos2svARB",
|
|
|
|
"glWindowPos3dARB",
|
|
|
|
"glWindowPos3fARB",
|
|
|
|
"glWindowPos3iARB",
|
|
|
|
"glWindowPos3sARB",
|
|
|
|
"glWindowPos3dvARB",
|
|
|
|
"glWindowPos3fvARB",
|
|
|
|
"glWindowPos3ivARB",
|
2002-10-15 14:43:55 +00:00
|
|
|
"glWindowPos3svARB",
|
|
|
|
"-EXT_stencil_two_side",
|
|
|
|
"glActiveStencilFaceEXT",
|
2001-11-18 23:16:56 +00:00
|
|
|
|
|
|
|
NULL
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
extension_supported(const char *haystack, const char *needle)
|
|
|
|
{
|
|
|
|
if (strstr(haystack, needle))
|
|
|
|
return 1;
|
|
|
|
else
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
static void
|
|
|
|
test_functions( const char *extensions )
|
|
|
|
{
|
|
|
|
int failures = 0, passes = 0;
|
|
|
|
int doTests;
|
|
|
|
int i;
|
|
|
|
|
|
|
|
for (i = 0; functions[i]; i++) {
|
|
|
|
if (functions[i][0] == '-') {
|
|
|
|
if (functions[i][1] == '1') {
|
|
|
|
doTests = 1;
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
/* check if the named extension is available */
|
|
|
|
doTests = extension_supported(extensions, functions[i]+1);
|
|
|
|
}
|
|
|
|
if (doTests)
|
|
|
|
printf("Testing %s functions\n", functions[i] + 1);
|
|
|
|
failures = 0;
|
|
|
|
passes = 0;
|
|
|
|
}
|
|
|
|
else if (doTests) {
|
2001-11-21 17:21:41 +00:00
|
|
|
void *p = (void *) glXGetProcAddressARB((const GLubyte *) functions[i]);
|
2001-11-18 23:16:56 +00:00
|
|
|
if (p) {
|
|
|
|
passes++;
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
printf(" glXGetProcAddress(%s) failed!\n", functions[i]);
|
|
|
|
failures++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (doTests && (!functions[i + 1] || functions[i + 1][0] == '-')) {
|
|
|
|
if (failures > 0) {
|
|
|
|
printf(" %d failures\n", failures);
|
|
|
|
}
|
|
|
|
else if (i > 0) {
|
|
|
|
printf(" %d passed.\n", passes);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static void
|
|
|
|
print_screen_info(Display *dpy, int scrnum, Bool allowDirect)
|
|
|
|
{
|
|
|
|
Window win;
|
|
|
|
int attribSingle[] = {
|
|
|
|
GLX_RGBA,
|
|
|
|
GLX_RED_SIZE, 1,
|
|
|
|
GLX_GREEN_SIZE, 1,
|
|
|
|
GLX_BLUE_SIZE, 1,
|
|
|
|
None };
|
|
|
|
int attribDouble[] = {
|
|
|
|
GLX_RGBA,
|
|
|
|
GLX_RED_SIZE, 1,
|
|
|
|
GLX_GREEN_SIZE, 1,
|
|
|
|
GLX_BLUE_SIZE, 1,
|
|
|
|
GLX_DOUBLEBUFFER,
|
|
|
|
None };
|
|
|
|
|
|
|
|
XSetWindowAttributes attr;
|
|
|
|
unsigned long mask;
|
|
|
|
Window root;
|
|
|
|
GLXContext ctx;
|
|
|
|
XVisualInfo *visinfo;
|
|
|
|
int width = 100, height = 100;
|
|
|
|
|
|
|
|
root = RootWindow(dpy, scrnum);
|
|
|
|
|
|
|
|
visinfo = glXChooseVisual(dpy, scrnum, attribSingle);
|
|
|
|
if (!visinfo) {
|
|
|
|
visinfo = glXChooseVisual(dpy, scrnum, attribDouble);
|
|
|
|
if (!visinfo) {
|
|
|
|
fprintf(stderr, "Error: couldn't find RGB GLX visual\n");
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
attr.background_pixel = 0;
|
|
|
|
attr.border_pixel = 0;
|
|
|
|
attr.colormap = XCreateColormap(dpy, root, visinfo->visual, AllocNone);
|
|
|
|
attr.event_mask = StructureNotifyMask | ExposureMask;
|
|
|
|
mask = CWBackPixel | CWBorderPixel | CWColormap | CWEventMask;
|
|
|
|
win = XCreateWindow(dpy, root, 0, 0, width, height,
|
|
|
|
0, visinfo->depth, InputOutput,
|
|
|
|
visinfo->visual, mask, &attr);
|
|
|
|
|
|
|
|
ctx = glXCreateContext( dpy, visinfo, NULL, allowDirect );
|
|
|
|
if (!ctx) {
|
|
|
|
fprintf(stderr, "Error: glXCreateContext failed\n");
|
|
|
|
XDestroyWindow(dpy, win);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (glXMakeCurrent(dpy, win, ctx)) {
|
|
|
|
test_functions( (const char *) glGetString(GL_EXTENSIONS) );
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
fprintf(stderr, "Error: glXMakeCurrent failed\n");
|
|
|
|
}
|
|
|
|
|
|
|
|
glXDestroyContext(dpy, ctx);
|
|
|
|
XDestroyWindow(dpy, win);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
int
|
|
|
|
main(int argc, char *argv[])
|
|
|
|
{
|
|
|
|
char *displayName = NULL;
|
|
|
|
Display *dpy;
|
|
|
|
|
|
|
|
dpy = XOpenDisplay(displayName);
|
|
|
|
if (!dpy) {
|
|
|
|
fprintf(stderr, "Error: unable to open display %s\n", displayName);
|
|
|
|
return -1;
|
|
|
|
}
|
|
|
|
|
|
|
|
print_screen_info(dpy, 0, GL_TRUE);
|
|
|
|
|
|
|
|
XCloseDisplay(dpy);
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|