summaryrefslogtreecommitdiff
path: root/indra/llwindow
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llwindow')
-rw-r--r--indra/llwindow/CMakeLists.txt163
-rw-r--r--indra/llwindow/GL/glh_extensions.h207
-rw-r--r--indra/llwindow/GL/glh_genext.h1671
-rw-r--r--indra/llwindow/llwindow.cpp6
-rw-r--r--indra/llwindow/llwindow.h6
-rw-r--r--indra/llwindow/llwindowheadless.cpp2
-rw-r--r--indra/llwindow/llwindowheadless.h2
-rw-r--r--indra/llwindow/llwindowmacosx.cpp16
-rw-r--r--indra/llwindow/llwindowmacosx.h4
-rw-r--r--indra/llwindow/llwindowmesaheadless.cpp7
-rw-r--r--indra/llwindow/llwindowmesaheadless.h2
-rw-r--r--indra/llwindow/llwindowsdl.cpp4
-rw-r--r--indra/llwindow/llwindowsdl.h2
-rw-r--r--indra/llwindow/llwindowwin32.cpp4
-rw-r--r--indra/llwindow/llwindowwin32.h2
15 files changed, 2063 insertions, 35 deletions
diff --git a/indra/llwindow/CMakeLists.txt b/indra/llwindow/CMakeLists.txt
new file mode 100644
index 0000000000..acfeb6484f
--- /dev/null
+++ b/indra/llwindow/CMakeLists.txt
@@ -0,0 +1,163 @@
+# -*- cmake -*-
+#
+# Compared to other libraries, compiling this one is a mess. The
+# reason is that we have several source files that have two different
+# sets of behaviour, depending on whether they're intended to be part
+# of the viewer or the map server.
+#
+# Unfortunately, the affected code is a rat's nest of #ifdefs, so it's
+# easier to play compilation tricks than to actually fix the problem.
+
+project(llwindow)
+
+include(00-Common)
+include(DirectX)
+include(LLCommon)
+include(LLImage)
+include(LLMath)
+include(LLRender)
+include(LLVFS)
+include(LLWindow)
+include(LLXML)
+include(Mozlib)
+include(UI)
+
+include_directories(
+ ${LLCOMMON_INCLUDE_DIRS}
+ ${LLIMAGE_INCLUDE_DIRS}
+ ${LLMATH_INCLUDE_DIRS}
+ ${LLRENDER_INCLUDE_DIRS}
+ ${LLVFS_INCLUDE_DIRS}
+ ${LLWINDOW_INCLUDE_DIRS}
+ ${LLXML_INCLUDE_DIRS}
+ )
+
+set(llwindow_SOURCE_FILES
+ llkeyboard.cpp
+ llwindowheadless.cpp
+ )
+
+set(llwindows_HEADER_FILES
+ CMakeLists.txt
+
+ llkeyboard.h
+ llwindowheadless.h
+ )
+
+set(viewer_SOURCE_FILES
+ llgl.cpp
+ llwindow.cpp
+ )
+
+set(viewer_HEADER_FILES
+ llgl.h
+ llwindow.h
+ llglheaders.h
+ llglstates.h
+ llgltypes.h
+ llpreeditor.h
+ llmousehandler.h
+ )
+
+if (DARWIN)
+ list(APPEND llwindow_SOURCE_FILES
+ llkeyboardmacosx.cpp
+ llwindowmacosx.cpp
+ llwindowmacosx-objc.mm
+ )
+ list(APPEND llwindow_HEADER_FILES
+ llkeyboardmacosx.h
+ llwindowmacosx.h
+ llwindowmacosx-objc.h
+ )
+
+ # We use a bunch of deprecated system APIs.
+ set_source_files_properties(
+ llkeyboardmacosx.cpp
+ llwindowmacosx.cpp
+ PROPERTIES
+ COMPILE_FLAGS "-Wno-deprecated-declarations -fpascal-strings"
+ )
+endif (DARWIN)
+
+if (LINUX)
+ list(APPEND viewer_SOURCE_FILES
+ llkeyboardsdl.cpp
+ llwindowsdl.cpp
+ )
+ list(APPEND viewer_HEADER_FILES
+ llkeyboardsdl.h
+ llwindowsdl.h
+ )
+endif (LINUX)
+
+if (WINDOWS)
+ list(APPEND llwindow_SOURCE_FILES
+ llwindowwin32.cpp
+ lldxhardware.cpp
+ llkeyboardwin32.cpp
+ )
+ list(APPEND llwindow_HEADER_FILES
+ llwindowwin32.h
+ lldxhardware.h
+ llkeyboardwin32.h
+ )
+endif (WINDOWS)
+
+if (SOLARIS)
+ list(APPEND llwindow_SOURCE_FILES
+ llwindowsolaris.cpp
+ )
+ list(APPEND llwindow_HEADER_FILES
+ llwindowsolaris.h
+ )
+endif (SOLARIS)
+
+set_source_files_properties(${llwindow_HEADER_FILES}
+ PROPERTIES HEADER_FILE_ONLY TRUE)
+
+if (SERVER AND NOT WINDOWS AND NOT DARWIN)
+ set(server_SOURCE_FILES
+ llwindowmesaheadless.cpp
+ )
+ set(server_HEADER_FILES
+ llwindowmesaheadless.h
+ )
+ set(copied_SOURCES
+ llgl
+ llwindow
+ )
+
+ foreach (PREFIX ${copied_SOURCES})
+ add_custom_command(
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${PREFIX}_server.cpp
+ COMMAND ${CMAKE_COMMAND}
+ ARGS -E copy ${CMAKE_CURRENT_SOURCE_DIR}/${PREFIX}.cpp
+ ${CMAKE_CURRENT_BINARY_DIR}/${PREFIX}_server.cpp
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${PREFIX}.cpp
+ )
+ list(APPEND server_SOURCE_FILES ${PREFIX}_server.cpp)
+ endforeach (PREFIX ${copied_SOURCES})
+
+ set_source_files_properties(
+ ${server_SOURCE_FILES}
+ PROPERTIES
+ COMPILE_FLAGS "-DLL_MESA=1 -DLL_MESA_HEADLESS=1"
+ )
+ add_library (llwindowheadless
+ ${llwindow_SOURCE_FILES}
+ ${server_SOURCE_FILES}
+ )
+endif (SERVER AND NOT WINDOWS AND NOT DARWIN)
+
+if (llwindow_HEADER_FILES)
+ list(APPEND llwindow_SOURCE_FILES ${llwindow_HEADER_FILES})
+endif (llwindow_HEADER_FILES)
+ list(APPEND viewer_SOURCE_FILES ${viewer_HEADER_FILES})
+
+if (VIEWER)
+ add_library (llwindow
+ ${llwindow_SOURCE_FILES}
+ ${viewer_SOURCE_FILES}
+ )
+endif (VIEWER)
diff --git a/indra/llwindow/GL/glh_extensions.h b/indra/llwindow/GL/glh_extensions.h
new file mode 100644
index 0000000000..b936b5d307
--- /dev/null
+++ b/indra/llwindow/GL/glh_extensions.h
@@ -0,0 +1,207 @@
+/*
+ * glh_extensions.h
+ * From nVidia Corporation, downloaded 2006-12-18 from:
+ * http://developer.nvidia.com/attach/8196
+ * ("NVParse Library with Source (.zip) (2390 KB)")
+ *
+ * License (quoted from license_info.txt in aforementioned file):
+ * "The files bison.exe, bison.simple, and flex.exe are covered by
+ * the GPL. All other files in this distribution can be used however
+ * you want."
+ */
+
+#ifndef GLH_EXTENSIONS
+#define GLH_EXTENSIONS
+
+#include <string.h>
+#include <stdio.h>
+
+#ifdef _WIN32
+# include <windows.h>
+#endif
+
+#ifndef __APPLE__
+#include <GL/gl.h>
+#endif
+
+#ifdef _WIN32
+# include "GL/wglext.h"
+#endif
+
+#define CHECK_MEMORY(ptr) \
+ if (NULL == ptr) { \
+ printf("Error allocating memory in file %s, line %d\n", __FILE__, __LINE__); \
+ exit(-1); \
+ }
+
+#ifdef GLH_EXT_SINGLE_FILE
+# define GLH_EXTENSIONS_SINGLE_FILE // have to do this because glh_genext.h unsets GLH_EXT_SINGLE_FILE
+#endif
+
+#include "glh_genext.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef GLH_EXTENSIONS_SINGLE_FILE
+
+class GLHExts
+{
+public:
+ GLHExts()
+ {
+ mSysExts = NULL;
+// mUnsupportedExts = NULL;
+ }
+ ~GLHExts()
+ {
+ if (mSysExts)
+ {
+ free(mSysExts);
+ }
+// if (mUnsupportedExts)
+// {
+// free(mUnsupportedExts);
+// }
+ }
+ char *mSysExts;
+// char *mUnsupportedExts;
+};
+
+GLHExts gGLHExts;
+
+static int ExtensionExists(const char* extName, const char* sysExts)
+{
+ char *padExtName = (char*)malloc(strlen(extName) + 2);
+ strcat(strcpy(padExtName, extName), " ");
+
+ if (0 == strcmp(extName, "GL_VERSION_1_2")) {
+ const char *version = (const char*)glGetString(GL_VERSION);
+ if (strstr(version, "1.0") == version || strstr(version, "1.1") == version) {
+ return FALSE;
+ } else {
+ return TRUE;
+ }
+ }
+ if (strstr(sysExts, padExtName)) {
+ free(padExtName);
+ return TRUE;
+ } else {
+ free(padExtName);
+ return FALSE;
+ }
+}
+
+static const char* EatWhiteSpace(const char *str)
+{
+ for (; *str && (' ' == *str || '\t' == *str || '\n' == *str); str++);
+ return str;
+}
+
+static const char* EatNonWhiteSpace(const char *str)
+{
+ for (; *str && (' ' != *str && '\t' != *str && '\n' != *str); str++);
+ return str;
+}
+
+
+int glh_init_extensions(const char *origReqExts)
+{
+ // Length of requested extensions string
+ unsigned reqExtsLen;
+ char *reqExts;
+ // Ptr for individual extensions within reqExts
+ char *reqExt;
+ int success = TRUE;
+
+ // build space-padded extension string
+ if (NULL == gGLHExts.mSysExts) {
+ const char *extensions = (const char*)glGetString(GL_EXTENSIONS);
+ int sysExtsLen = (int)strlen(extensions);
+ const char *winsys_extensions = 0;
+ int winsysExtsLen = 0;
+#ifdef _WIN32
+ {
+ PFNWGLGETEXTENSIONSSTRINGARBPROC wglGetExtensionsStringARB = 0;
+ wglGetExtensionsStringARB = (PFNWGLGETEXTENSIONSSTRINGARBPROC)wglGetProcAddress("wglGetExtensionsStringARB");
+ if(wglGetExtensionsStringARB)
+ {
+ winsys_extensions = wglGetExtensionsStringARB(wglGetCurrentDC());
+ winsysExtsLen = (S32)strlen(winsys_extensions);
+ }
+ }
+#endif
+ // Add 2 bytes, one for padding space, one for terminating NULL
+ gGLHExts.mSysExts = (char*)malloc(sysExtsLen + winsysExtsLen + 3);
+ CHECK_MEMORY(gGLHExts.mSysExts);
+ strcpy(gGLHExts.mSysExts, extensions);
+ gGLHExts.mSysExts[sysExtsLen] = ' ';
+ gGLHExts.mSysExts[sysExtsLen + 1] = 0;
+ if (winsysExtsLen)
+ {
+ strcat(gGLHExts.mSysExts, winsys_extensions);
+ }
+ gGLHExts.mSysExts[sysExtsLen + 1 + winsysExtsLen] = ' ';
+ gGLHExts.mSysExts[sysExtsLen + 1 + winsysExtsLen + 1] = 0;
+ }
+
+ if (NULL == origReqExts)
+ {
+ return TRUE;
+ }
+ reqExts = strdup(origReqExts);
+ reqExtsLen = (S32)strlen(reqExts);
+ /*
+ if (NULL == gGLHExts.mUnsupportedExts)
+ {
+ gGLHExts.mUnsupportedExts = (char*)malloc(reqExtsLen + 1);
+ }
+ else if (reqExtsLen > strlen(gGLHExts.mUnsupportedExts))
+ {
+ gGLHExts.mUnsupportedExts = (char*)realloc(gGLHExts.mUnsupportedExts, reqExtsLen + 1);
+ }
+ CHECK_MEMORY(gGLHExts.mUnsupportedExts);
+ *gGLHExts.mUnsupportedExts = 0;
+ */
+
+ // Parse requested extension list
+ for (reqExt = reqExts;
+ (reqExt = (char*)EatWhiteSpace(reqExt)) && *reqExt;
+ reqExt = (char*)EatNonWhiteSpace(reqExt))
+ {
+ char *extEnd = (char*)EatNonWhiteSpace(reqExt);
+ char saveChar = *extEnd;
+ *extEnd = (char)0;
+
+ if (!ExtensionExists(reqExt, gGLHExts.mSysExts) ||
+ !glh_init_extension(reqExt)) {
+ /*
+ // add reqExt to end of unsupportedExts
+ strcat(gGLHExts.mUnsupportedExts, reqExt);
+ strcat(gGLHExts.mUnsupportedExts, " ");
+ */
+ success = FALSE;
+ }
+ *extEnd = saveChar;
+ }
+ free(reqExts);
+ return success;
+}
+
+const char* glh_get_unsupported_extensions()
+{
+ return "";
+// return (const char*)gGLHExts.mUnsupportedExts;
+}
+
+#else
+int glh_init_extensions(const char *origReqExts);
+const char* glh_get_unsupported_extensions();
+#endif /* GLH_EXT_SINGLE_FILE */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* GLH_EXTENSIONS */
diff --git a/indra/llwindow/GL/glh_genext.h b/indra/llwindow/GL/glh_genext.h
new file mode 100644
index 0000000000..8d42025198
--- /dev/null
+++ b/indra/llwindow/GL/glh_genext.h
@@ -0,0 +1,1671 @@
+/*
+ * glh_genext.h
+ * From nVidia Corporation, downloaded 2006-12-18 from:
+ * http://developer.nvidia.com/attach/8196
+ * ("NVParse Library with Source (.zip) (2390 KB)")
+ *
+ * License (quoted from license_info.txt in aforementioned file):
+ * "The files bison.exe, bison.simple, and flex.exe are covered by
+ * the GPL. All other files in this distribution can be used however
+ * you want."
+ */
+
+/* File generated by extgen.cpp -- do not modify */
+#ifndef GLH_GENEXT_H
+#define GLH_GENEXT_H
+
+// MBW -- None of this is necessary on Mac OS.
+#ifndef __APPLE__
+
+#include <GL/gl.h>
+#include <GL/glext.h>
+
+#ifdef _WIN32 /* supports windows, x -- need to generalize */
+# include <GL/wglext.h>
+# define GLH_EXT_GET_PROC_ADDRESS(p) wglGetProcAddress(p)
+#else if GLX_VERSION_1_3
+# include <GL/glxext.h>
+# define GLH_EXT_GET_PROC_ADDRESS(p) glXGetProcAddressARB(p)
+#endif
+
+#ifdef GLH_EXT_SINGLE_FILE
+ #define GLH_EXTERN
+ #define GLH_INITIALIZER = 0
+#else
+ #define GLH_EXTERN extern
+ #define GLH_INITIALIZER
+#endif
+
+#define GLH__PREPROCESSOR_GYMNASTICS2(a,b) a##b
+#define GLH__PREPROCESSOR_GYMNASTICS(a,b) GLH__PREPROCESSOR_GYMNASTICS2(a,b)
+
+#ifndef GLH_EXT_PREFIX
+# define GLH_EXT_NAME(a) a
+#else
+# define GLH_EXT_NAME(a) GLH__PREPROCESSOR_GYMNASTICS(GLH_EXT_PREFIX,a)
+#endif
+
+#ifndef _WIN32
+# ifndef GLH_CORE_1_2_PREFIX
+# define GLH_CORE_1_2_PREFIX _
+# endif
+#endif
+
+#ifndef GLH_CORE_1_2_PREFIX
+# define GLH_CORE_1_2_NAME(a) a
+#else
+# define GLH_CORE_1_2_NAME(a) GLH__PREPROCESSOR_GYMNASTICS(GLH_CORE_1_2_PREFIX,a)
+#endif
+
+#ifdef GL_ARB_multitexture
+ GLH_EXTERN PFNGLMULTITEXCOORD1DARBPROC GLH_EXT_NAME(glMultiTexCoord1dARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMULTITEXCOORD1DVARBPROC GLH_EXT_NAME(glMultiTexCoord1dvARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMULTITEXCOORD1FARBPROC GLH_EXT_NAME(glMultiTexCoord1fARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMULTITEXCOORD1FVARBPROC GLH_EXT_NAME(glMultiTexCoord1fvARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMULTITEXCOORD1IARBPROC GLH_EXT_NAME(glMultiTexCoord1iARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMULTITEXCOORD1IVARBPROC GLH_EXT_NAME(glMultiTexCoord1ivARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMULTITEXCOORD1SARBPROC GLH_EXT_NAME(glMultiTexCoord1sARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMULTITEXCOORD1SVARBPROC GLH_EXT_NAME(glMultiTexCoord1svARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMULTITEXCOORD2DARBPROC GLH_EXT_NAME(glMultiTexCoord2dARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMULTITEXCOORD2DVARBPROC GLH_EXT_NAME(glMultiTexCoord2dvARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMULTITEXCOORD2FARBPROC GLH_EXT_NAME(glMultiTexCoord2fARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMULTITEXCOORD2FVARBPROC GLH_EXT_NAME(glMultiTexCoord2fvARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMULTITEXCOORD2IARBPROC GLH_EXT_NAME(glMultiTexCoord2iARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMULTITEXCOORD2IVARBPROC GLH_EXT_NAME(glMultiTexCoord2ivARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMULTITEXCOORD2SARBPROC GLH_EXT_NAME(glMultiTexCoord2sARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMULTITEXCOORD2SVARBPROC GLH_EXT_NAME(glMultiTexCoord2svARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMULTITEXCOORD3DARBPROC GLH_EXT_NAME(glMultiTexCoord3dARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMULTITEXCOORD3DVARBPROC GLH_EXT_NAME(glMultiTexCoord3dvARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMULTITEXCOORD3FARBPROC GLH_EXT_NAME(glMultiTexCoord3fARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMULTITEXCOORD3FVARBPROC GLH_EXT_NAME(glMultiTexCoord3fvARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMULTITEXCOORD3IARBPROC GLH_EXT_NAME(glMultiTexCoord3iARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMULTITEXCOORD3IVARBPROC GLH_EXT_NAME(glMultiTexCoord3ivARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMULTITEXCOORD3SARBPROC GLH_EXT_NAME(glMultiTexCoord3sARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMULTITEXCOORD3SVARBPROC GLH_EXT_NAME(glMultiTexCoord3svARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMULTITEXCOORD4DARBPROC GLH_EXT_NAME(glMultiTexCoord4dARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMULTITEXCOORD4DVARBPROC GLH_EXT_NAME(glMultiTexCoord4dvARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMULTITEXCOORD4FARBPROC GLH_EXT_NAME(glMultiTexCoord4fARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMULTITEXCOORD4FVARBPROC GLH_EXT_NAME(glMultiTexCoord4fvARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMULTITEXCOORD4IARBPROC GLH_EXT_NAME(glMultiTexCoord4iARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMULTITEXCOORD4IVARBPROC GLH_EXT_NAME(glMultiTexCoord4ivARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMULTITEXCOORD4SARBPROC GLH_EXT_NAME(glMultiTexCoord4sARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMULTITEXCOORD4SVARBPROC GLH_EXT_NAME(glMultiTexCoord4svARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLACTIVETEXTUREARBPROC GLH_EXT_NAME(glActiveTextureARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLCLIENTACTIVETEXTUREARBPROC GLH_EXT_NAME(glClientActiveTextureARB) GLH_INITIALIZER;
+#endif
+
+#ifdef GL_ARB_texture_border_clamp
+#endif
+
+#ifdef GL_ARB_texture_compression
+ GLH_EXTERN PFNGLCOMPRESSEDTEXIMAGE3DARBPROC GLH_EXT_NAME(glCompressedTexImage3DARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLCOMPRESSEDTEXIMAGE2DARBPROC GLH_EXT_NAME(glCompressedTexImage2DARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLCOMPRESSEDTEXIMAGE1DARBPROC GLH_EXT_NAME(glCompressedTexImage1DARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC GLH_EXT_NAME(glCompressedTexSubImage3DARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC GLH_EXT_NAME(glCompressedTexSubImage2DARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC GLH_EXT_NAME(glCompressedTexSubImage1DARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETCOMPRESSEDTEXIMAGEARBPROC GLH_EXT_NAME(glGetCompressedTexImageARB) GLH_INITIALIZER;
+#endif
+
+#ifdef GL_ARB_texture_cube_map
+#endif
+
+#ifdef GL_ARB_transpose_matrix
+ GLH_EXTERN PFNGLLOADTRANSPOSEMATRIXFARBPROC GLH_EXT_NAME(glLoadTransposeMatrixfARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLLOADTRANSPOSEMATRIXDARBPROC GLH_EXT_NAME(glLoadTransposeMatrixdARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMULTTRANSPOSEMATRIXFARBPROC GLH_EXT_NAME(glMultTransposeMatrixfARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMULTTRANSPOSEMATRIXDARBPROC GLH_EXT_NAME(glMultTransposeMatrixdARB) GLH_INITIALIZER;
+#endif
+
+#ifdef GL_ARB_vertex_program
+ GLH_EXTERN PFNGLVERTEXATTRIB1SARBPROC GLH_EXT_NAME(glVertexAttrib1sARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB1FARBPROC GLH_EXT_NAME(glVertexAttrib1fARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB1DARBPROC GLH_EXT_NAME(glVertexAttrib1dARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB2SARBPROC GLH_EXT_NAME(glVertexAttrib2sARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB2FARBPROC GLH_EXT_NAME(glVertexAttrib2fARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB2DARBPROC GLH_EXT_NAME(glVertexAttrib2dARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB3SARBPROC GLH_EXT_NAME(glVertexAttrib3sARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB3FARBPROC GLH_EXT_NAME(glVertexAttrib3fARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB3DARBPROC GLH_EXT_NAME(glVertexAttrib3dARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB4SARBPROC GLH_EXT_NAME(glVertexAttrib4sARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB4FARBPROC GLH_EXT_NAME(glVertexAttrib4fARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB4DARBPROC GLH_EXT_NAME(glVertexAttrib4dARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB4NUBARBPROC GLH_EXT_NAME(glVertexAttrib4NubARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB1SVARBPROC GLH_EXT_NAME(glVertexAttrib1svARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB1FVARBPROC GLH_EXT_NAME(glVertexAttrib1fvARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB1DVARBPROC GLH_EXT_NAME(glVertexAttrib1dvARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB2SVARBPROC GLH_EXT_NAME(glVertexAttrib2svARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB2FVARBPROC GLH_EXT_NAME(glVertexAttrib2fvARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB2DVARBPROC GLH_EXT_NAME(glVertexAttrib2dvARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB3SVARBPROC GLH_EXT_NAME(glVertexAttrib3svARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB3FVARBPROC GLH_EXT_NAME(glVertexAttrib3fvARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB3DVARBPROC GLH_EXT_NAME(glVertexAttrib3dvARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB4BVARBPROC GLH_EXT_NAME(glVertexAttrib4bvARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB4SVARBPROC GLH_EXT_NAME(glVertexAttrib4svARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB4IVARBPROC GLH_EXT_NAME(glVertexAttrib4ivARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB4UBVARBPROC GLH_EXT_NAME(glVertexAttrib4ubvARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB4USVARBPROC GLH_EXT_NAME(glVertexAttrib4usvARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB4UIVARBPROC GLH_EXT_NAME(glVertexAttrib4uivARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB4FVARBPROC GLH_EXT_NAME(glVertexAttrib4fvARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB4DVARBPROC GLH_EXT_NAME(glVertexAttrib4dvARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB4NBVARBPROC GLH_EXT_NAME(glVertexAttrib4NbvARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB4NSVARBPROC GLH_EXT_NAME(glVertexAttrib4NsvARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB4NIVARBPROC GLH_EXT_NAME(glVertexAttrib4NivARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB4NUBVARBPROC GLH_EXT_NAME(glVertexAttrib4NubvARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB4NUSVARBPROC GLH_EXT_NAME(glVertexAttrib4NusvARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB4NUIVARBPROC GLH_EXT_NAME(glVertexAttrib4NuivARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIBPOINTERARBPROC GLH_EXT_NAME(glVertexAttribPointerARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLENABLEVERTEXATTRIBARRAYARBPROC GLH_EXT_NAME(glEnableVertexAttribArrayARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLDISABLEVERTEXATTRIBARRAYARBPROC GLH_EXT_NAME(glDisableVertexAttribArrayARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLPROGRAMSTRINGARBPROC GLH_EXT_NAME(glProgramStringARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLBINDPROGRAMARBPROC GLH_EXT_NAME(glBindProgramARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLDELETEPROGRAMSARBPROC GLH_EXT_NAME(glDeleteProgramsARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGENPROGRAMSARBPROC GLH_EXT_NAME(glGenProgramsARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLPROGRAMENVPARAMETER4DARBPROC GLH_EXT_NAME(glProgramEnvParameter4dARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLPROGRAMENVPARAMETER4DVARBPROC GLH_EXT_NAME(glProgramEnvParameter4dvARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLPROGRAMENVPARAMETER4FARBPROC GLH_EXT_NAME(glProgramEnvParameter4fARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLPROGRAMENVPARAMETER4FVARBPROC GLH_EXT_NAME(glProgramEnvParameter4fvARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLPROGRAMLOCALPARAMETER4DARBPROC GLH_EXT_NAME(glProgramLocalParameter4dARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLPROGRAMLOCALPARAMETER4DVARBPROC GLH_EXT_NAME(glProgramLocalParameter4dvARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLPROGRAMLOCALPARAMETER4FARBPROC GLH_EXT_NAME(glProgramLocalParameter4fARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLPROGRAMLOCALPARAMETER4FVARBPROC GLH_EXT_NAME(glProgramLocalParameter4fvARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETPROGRAMENVPARAMETERDVARBPROC GLH_EXT_NAME(glGetProgramEnvParameterdvARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETPROGRAMENVPARAMETERFVARBPROC GLH_EXT_NAME(glGetProgramEnvParameterfvARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC GLH_EXT_NAME(glGetProgramLocalParameterdvARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC GLH_EXT_NAME(glGetProgramLocalParameterfvARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETPROGRAMIVARBPROC GLH_EXT_NAME(glGetProgramivARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETPROGRAMSTRINGARBPROC GLH_EXT_NAME(glGetProgramStringARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETVERTEXATTRIBDVARBPROC GLH_EXT_NAME(glGetVertexAttribdvARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETVERTEXATTRIBFVARBPROC GLH_EXT_NAME(glGetVertexAttribfvARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETVERTEXATTRIBIVARBPROC GLH_EXT_NAME(glGetVertexAttribivARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETVERTEXATTRIBPOINTERVARBPROC GLH_EXT_NAME(glGetVertexAttribPointervARB) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLISPROGRAMARBPROC GLH_EXT_NAME(glIsProgramARB) GLH_INITIALIZER;
+#endif
+
+#ifdef GL_EXT_abgr
+#endif
+
+#ifdef GL_EXT_bgra
+#endif
+
+#ifdef GL_EXT_blend_color
+ GLH_EXTERN PFNGLBLENDCOLOREXTPROC GLH_EXT_NAME(glBlendColorEXT) GLH_INITIALIZER;
+#endif
+
+#ifdef GL_EXT_blend_minmax
+ GLH_EXTERN PFNGLBLENDEQUATIONEXTPROC GLH_EXT_NAME(glBlendEquationEXT) GLH_INITIALIZER;
+#endif
+
+#ifdef GL_EXT_blend_subtract
+#endif
+
+#ifdef GL_EXT_compiled_vertex_array
+ GLH_EXTERN PFNGLLOCKARRAYSEXTPROC GLH_EXT_NAME(glLockArraysEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLUNLOCKARRAYSEXTPROC GLH_EXT_NAME(glUnlockArraysEXT) GLH_INITIALIZER;
+#endif
+
+#ifdef GL_EXT_fog_coord
+ GLH_EXTERN PFNGLFOGCOORDDEXTPROC GLH_EXT_NAME(glFogCoorddEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLFOGCOORDDVEXTPROC GLH_EXT_NAME(glFogCoorddvEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLFOGCOORDFEXTPROC GLH_EXT_NAME(glFogCoordfEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLFOGCOORDFVEXTPROC GLH_EXT_NAME(glFogCoordfvEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLFOGCOORDPOINTEREXTPROC GLH_EXT_NAME(glFogCoordPointerEXT) GLH_INITIALIZER;
+#endif
+
+#ifdef GL_EXT_light_max_exponent
+#endif
+
+#ifdef GL_EXT_packed_pixels
+#endif
+
+#ifdef GL_EXT_paletted_texture
+ GLH_EXTERN PFNGLCOLORSUBTABLEEXTPROC GLH_EXT_NAME(glColorSubTableEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLCOLORTABLEEXTPROC GLH_EXT_NAME(glColorTableEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETCOLORTABLEEXTPROC GLH_EXT_NAME(glGetColorTableEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETCOLORTABLEPARAMETERFVEXTPROC GLH_EXT_NAME(glGetColorTableParameterfvEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETCOLORTABLEPARAMETERIVEXTPROC GLH_EXT_NAME(glGetColorTableParameterivEXT) GLH_INITIALIZER;
+#endif
+
+#ifdef GL_EXT_point_parameters
+ GLH_EXTERN PFNGLPOINTPARAMETERFEXTPROC GLH_EXT_NAME(glPointParameterfEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLPOINTPARAMETERFVEXTPROC GLH_EXT_NAME(glPointParameterfvEXT) GLH_INITIALIZER;
+#endif
+
+#ifdef GL_EXT_rescale_normal
+#endif
+
+#ifdef GL_EXT_secondary_color
+ GLH_EXTERN PFNGLSECONDARYCOLOR3BEXTPROC GLH_EXT_NAME(glSecondaryColor3bEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLSECONDARYCOLOR3BVEXTPROC GLH_EXT_NAME(glSecondaryColor3bvEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLSECONDARYCOLOR3DEXTPROC GLH_EXT_NAME(glSecondaryColor3dEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLSECONDARYCOLOR3DVEXTPROC GLH_EXT_NAME(glSecondaryColor3dvEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLSECONDARYCOLOR3FEXTPROC GLH_EXT_NAME(glSecondaryColor3fEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLSECONDARYCOLOR3FVEXTPROC GLH_EXT_NAME(glSecondaryColor3fvEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLSECONDARYCOLOR3IEXTPROC GLH_EXT_NAME(glSecondaryColor3iEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLSECONDARYCOLOR3IVEXTPROC GLH_EXT_NAME(glSecondaryColor3ivEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLSECONDARYCOLOR3SEXTPROC GLH_EXT_NAME(glSecondaryColor3sEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLSECONDARYCOLOR3SVEXTPROC GLH_EXT_NAME(glSecondaryColor3svEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLSECONDARYCOLOR3UBEXTPROC GLH_EXT_NAME(glSecondaryColor3ubEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLSECONDARYCOLOR3UBVEXTPROC GLH_EXT_NAME(glSecondaryColor3ubvEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLSECONDARYCOLOR3UIEXTPROC GLH_EXT_NAME(glSecondaryColor3uiEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLSECONDARYCOLOR3UIVEXTPROC GLH_EXT_NAME(glSecondaryColor3uivEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLSECONDARYCOLOR3USEXTPROC GLH_EXT_NAME(glSecondaryColor3usEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLSECONDARYCOLOR3USVEXTPROC GLH_EXT_NAME(glSecondaryColor3usvEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLSECONDARYCOLORPOINTEREXTPROC GLH_EXT_NAME(glSecondaryColorPointerEXT) GLH_INITIALIZER;
+#endif
+
+#ifdef GL_EXT_separate_specular_color
+#endif
+
+#ifdef GL_EXT_shared_texture_palette
+#endif
+
+#ifdef GL_EXT_stencil_wrap
+#endif
+
+#ifdef GL_EXT_texture_compression_s3tc
+#endif
+
+#ifdef GL_EXT_texture_cube_map
+#endif
+
+#ifdef GL_EXT_texture_edge_clamp
+#endif
+
+#ifdef GL_EXT_texture_env_add
+#endif
+
+#ifdef GL_EXT_texture_env_combine
+#endif
+
+#ifdef GL_EXT_texture_filter_anisotropic
+#endif
+
+#ifdef GL_EXT_texture_lod_bias
+#endif
+
+#ifdef GL_EXT_texture_object
+ GLH_EXTERN PFNGLARETEXTURESRESIDENTEXTPROC GLH_EXT_NAME(glAreTexturesResidentEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLBINDTEXTUREEXTPROC GLH_EXT_NAME(glBindTextureEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLDELETETEXTURESEXTPROC GLH_EXT_NAME(glDeleteTexturesEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGENTEXTURESEXTPROC GLH_EXT_NAME(glGenTexturesEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLISTEXTUREEXTPROC GLH_EXT_NAME(glIsTextureEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLPRIORITIZETEXTURESEXTPROC GLH_EXT_NAME(glPrioritizeTexturesEXT) GLH_INITIALIZER;
+#endif
+
+#ifdef GL_EXT_texture3D
+ GLH_EXTERN PFNGLTEXIMAGE3DEXTPROC GLH_EXT_NAME(glTexImage3DEXT) GLH_INITIALIZER;
+#endif
+
+#ifdef GL_EXT_vertex_array
+ GLH_EXTERN PFNGLARRAYELEMENTEXTPROC GLH_EXT_NAME(glArrayElementEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLCOLORPOINTEREXTPROC GLH_EXT_NAME(glColorPointerEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLEDGEFLAGPOINTEREXTPROC GLH_EXT_NAME(glEdgeFlagPointerEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETPOINTERVEXTPROC GLH_EXT_NAME(glGetPointervEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLINDEXPOINTEREXTPROC GLH_EXT_NAME(glIndexPointerEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLNORMALPOINTEREXTPROC GLH_EXT_NAME(glNormalPointerEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLTEXCOORDPOINTEREXTPROC GLH_EXT_NAME(glTexCoordPointerEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXPOINTEREXTPROC GLH_EXT_NAME(glVertexPointerEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLDRAWARRAYSEXTPROC GLH_EXT_NAME(glDrawArraysEXT) GLH_INITIALIZER;
+#endif
+
+#ifdef GL_EXT_vertex_weighting
+ GLH_EXTERN PFNGLVERTEXWEIGHTFEXTPROC GLH_EXT_NAME(glVertexWeightfEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXWEIGHTFVEXTPROC GLH_EXT_NAME(glVertexWeightfvEXT) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXWEIGHTPOINTEREXTPROC GLH_EXT_NAME(glVertexWeightPointerEXT) GLH_INITIALIZER;
+#endif
+
+#ifdef GL_NV_blend_square
+#endif
+
+#ifdef GL_NV_evaluators
+ GLH_EXTERN PFNGLMAPCONTROLPOINTSNVPROC GLH_EXT_NAME(glMapControlPointsNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMAPPARAMETERIVNVPROC GLH_EXT_NAME(glMapParameterivNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLMAPPARAMETERFVNVPROC GLH_EXT_NAME(glMapParameterfvNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETMAPCONTROLPOINTSNVPROC GLH_EXT_NAME(glGetMapControlPointsNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETMAPPARAMETERIVNVPROC GLH_EXT_NAME(glGetMapParameterivNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETMAPPARAMETERFVNVPROC GLH_EXT_NAME(glGetMapParameterfvNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETMAPATTRIBPARAMETERIVNVPROC GLH_EXT_NAME(glGetMapAttribParameterivNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETMAPATTRIBPARAMETERFVNVPROC GLH_EXT_NAME(glGetMapAttribParameterfvNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLEVALMAPSNVPROC GLH_EXT_NAME(glEvalMapsNV) GLH_INITIALIZER;
+#endif
+
+#ifdef GL_NV_fence
+ GLH_EXTERN PFNGLGENFENCESNVPROC GLH_EXT_NAME(glGenFencesNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLDELETEFENCESNVPROC GLH_EXT_NAME(glDeleteFencesNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLSETFENCENVPROC GLH_EXT_NAME(glSetFenceNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLTESTFENCENVPROC GLH_EXT_NAME(glTestFenceNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLFINISHFENCENVPROC GLH_EXT_NAME(glFinishFenceNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLISFENCENVPROC GLH_EXT_NAME(glIsFenceNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETFENCEIVNVPROC GLH_EXT_NAME(glGetFenceivNV) GLH_INITIALIZER;
+#endif
+
+#ifdef GL_NV_fog_distance
+#endif
+
+#ifdef GL_NV_packed_depth_stencil
+#endif
+
+#ifdef GL_NV_register_combiners
+ GLH_EXTERN PFNGLCOMBINERPARAMETERFVNVPROC GLH_EXT_NAME(glCombinerParameterfvNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLCOMBINERPARAMETERFNVPROC GLH_EXT_NAME(glCombinerParameterfNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLCOMBINERPARAMETERIVNVPROC GLH_EXT_NAME(glCombinerParameterivNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLCOMBINERPARAMETERINVPROC GLH_EXT_NAME(glCombinerParameteriNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLCOMBINERINPUTNVPROC GLH_EXT_NAME(glCombinerInputNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLCOMBINEROUTPUTNVPROC GLH_EXT_NAME(glCombinerOutputNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLFINALCOMBINERINPUTNVPROC GLH_EXT_NAME(glFinalCombinerInputNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC GLH_EXT_NAME(glGetCombinerInputParameterfvNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC GLH_EXT_NAME(glGetCombinerInputParameterivNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC GLH_EXT_NAME(glGetCombinerOutputParameterfvNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC GLH_EXT_NAME(glGetCombinerOutputParameterivNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC GLH_EXT_NAME(glGetFinalCombinerInputParameterfvNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC GLH_EXT_NAME(glGetFinalCombinerInputParameterivNV) GLH_INITIALIZER;
+#endif
+
+#ifdef GL_NV_register_combiners2
+ GLH_EXTERN PFNGLCOMBINERSTAGEPARAMETERFVNVPROC GLH_EXT_NAME(glCombinerStageParameterfvNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC GLH_EXT_NAME(glGetCombinerStageParameterfvNV) GLH_INITIALIZER;
+#endif
+
+#ifdef GL_NV_texgen_reflection
+#endif
+
+#ifdef GL_NV_texture_env_combine4
+#endif
+
+#ifdef GL_NV_texture_rectangle
+#endif
+
+#ifdef GL_NV_texture_shader
+#endif
+
+#ifdef GL_NV_vertex_array_range
+ GLH_EXTERN PFNGLFLUSHVERTEXARRAYRANGENVPROC GLH_EXT_NAME(glFlushVertexArrayRangeNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXARRAYRANGENVPROC GLH_EXT_NAME(glVertexArrayRangeNV) GLH_INITIALIZER;
+# ifdef _WIN32
+ GLH_EXTERN PFNWGLALLOCATEMEMORYNVPROC GLH_EXT_NAME(wglAllocateMemoryNV) GLH_INITIALIZER;
+# endif
+# ifdef GLX_VERSION_1_3
+ GLH_EXTERN PFNGLXALLOCATEMEMORYNVPROC GLH_EXT_NAME(glXAllocateMemoryNV) GLH_INITIALIZER;
+# endif
+# ifdef _WIN32
+ GLH_EXTERN PFNWGLFREEMEMORYNVPROC GLH_EXT_NAME(wglFreeMemoryNV) GLH_INITIALIZER;
+# endif
+# ifdef GLX_VERSION_1_3
+ GLH_EXTERN PFNGLXFREEMEMORYNVPROC GLH_EXT_NAME(glXFreeMemoryNV) GLH_INITIALIZER;
+# endif
+#endif
+
+#ifdef GL_NV_vertex_program
+ GLH_EXTERN PFNGLAREPROGRAMSRESIDENTNVPROC GLH_EXT_NAME(glAreProgramsResidentNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLBINDPROGRAMNVPROC GLH_EXT_NAME(glBindProgramNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLDELETEPROGRAMSNVPROC GLH_EXT_NAME(glDeleteProgramsNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLEXECUTEPROGRAMNVPROC GLH_EXT_NAME(glExecuteProgramNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGENPROGRAMSNVPROC GLH_EXT_NAME(glGenProgramsNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETPROGRAMPARAMETERDVNVPROC GLH_EXT_NAME(glGetProgramParameterdvNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETPROGRAMPARAMETERFVNVPROC GLH_EXT_NAME(glGetProgramParameterfvNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETPROGRAMIVNVPROC GLH_EXT_NAME(glGetProgramivNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETPROGRAMSTRINGNVPROC GLH_EXT_NAME(glGetProgramStringNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETTRACKMATRIXIVNVPROC GLH_EXT_NAME(glGetTrackMatrixivNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETVERTEXATTRIBDVNVPROC GLH_EXT_NAME(glGetVertexAttribdvNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETVERTEXATTRIBFVNVPROC GLH_EXT_NAME(glGetVertexAttribfvNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETVERTEXATTRIBIVNVPROC GLH_EXT_NAME(glGetVertexAttribivNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETVERTEXATTRIBPOINTERVNVPROC GLH_EXT_NAME(glGetVertexAttribPointervNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLISPROGRAMNVPROC GLH_EXT_NAME(glIsProgramNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLLOADPROGRAMNVPROC GLH_EXT_NAME(glLoadProgramNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLPROGRAMPARAMETER4DNVPROC GLH_EXT_NAME(glProgramParameter4dNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLPROGRAMPARAMETER4DVNVPROC GLH_EXT_NAME(glProgramParameter4dvNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLPROGRAMPARAMETER4FNVPROC GLH_EXT_NAME(glProgramParameter4fNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLPROGRAMPARAMETER4FVNVPROC GLH_EXT_NAME(glProgramParameter4fvNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLPROGRAMPARAMETERS4DVNVPROC GLH_EXT_NAME(glProgramParameters4dvNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLPROGRAMPARAMETERS4FVNVPROC GLH_EXT_NAME(glProgramParameters4fvNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLREQUESTRESIDENTPROGRAMSNVPROC GLH_EXT_NAME(glRequestResidentProgramsNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLTRACKMATRIXNVPROC GLH_EXT_NAME(glTrackMatrixNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIBPOINTERNVPROC GLH_EXT_NAME(glVertexAttribPointerNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB1DNVPROC GLH_EXT_NAME(glVertexAttrib1dNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB1DVNVPROC GLH_EXT_NAME(glVertexAttrib1dvNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB1FNVPROC GLH_EXT_NAME(glVertexAttrib1fNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB1FVNVPROC GLH_EXT_NAME(glVertexAttrib1fvNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB1SNVPROC GLH_EXT_NAME(glVertexAttrib1sNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB1SVNVPROC GLH_EXT_NAME(glVertexAttrib1svNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB2DNVPROC GLH_EXT_NAME(glVertexAttrib2dNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB2DVNVPROC GLH_EXT_NAME(glVertexAttrib2dvNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB2FNVPROC GLH_EXT_NAME(glVertexAttrib2fNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB2FVNVPROC GLH_EXT_NAME(glVertexAttrib2fvNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB2SNVPROC GLH_EXT_NAME(glVertexAttrib2sNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB2SVNVPROC GLH_EXT_NAME(glVertexAttrib2svNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB3DNVPROC GLH_EXT_NAME(glVertexAttrib3dNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB3DVNVPROC GLH_EXT_NAME(glVertexAttrib3dvNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB3FNVPROC GLH_EXT_NAME(glVertexAttrib3fNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB3FVNVPROC GLH_EXT_NAME(glVertexAttrib3fvNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB3SNVPROC GLH_EXT_NAME(glVertexAttrib3sNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB3SVNVPROC GLH_EXT_NAME(glVertexAttrib3svNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB4DNVPROC GLH_EXT_NAME(glVertexAttrib4dNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB4DVNVPROC GLH_EXT_NAME(glVertexAttrib4dvNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB4FNVPROC GLH_EXT_NAME(glVertexAttrib4fNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB4FVNVPROC GLH_EXT_NAME(glVertexAttrib4fvNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB4SNVPROC GLH_EXT_NAME(glVertexAttrib4sNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB4SVNVPROC GLH_EXT_NAME(glVertexAttrib4svNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIB4UBVNVPROC GLH_EXT_NAME(glVertexAttrib4ubvNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIBS1DVNVPROC GLH_EXT_NAME(glVertexAttribs1dvNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIBS1FVNVPROC GLH_EXT_NAME(glVertexAttribs1fvNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIBS1SVNVPROC GLH_EXT_NAME(glVertexAttribs1svNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIBS2DVNVPROC GLH_EXT_NAME(glVertexAttribs2dvNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIBS2FVNVPROC GLH_EXT_NAME(glVertexAttribs2fvNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIBS2SVNVPROC GLH_EXT_NAME(glVertexAttribs2svNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIBS3DVNVPROC GLH_EXT_NAME(glVertexAttribs3dvNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIBS3FVNVPROC GLH_EXT_NAME(glVertexAttribs3fvNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIBS3SVNVPROC GLH_EXT_NAME(glVertexAttribs3svNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIBS4DVNVPROC GLH_EXT_NAME(glVertexAttribs4dvNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIBS4FVNVPROC GLH_EXT_NAME(glVertexAttribs4fvNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIBS4SVNVPROC GLH_EXT_NAME(glVertexAttribs4svNV) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLVERTEXATTRIBS4UBVNVPROC GLH_EXT_NAME(glVertexAttribs4ubvNV) GLH_INITIALIZER;
+#endif
+
+#ifdef GL_SGIS_generate_mipmap
+#endif
+
+#ifdef GL_SGIS_texture_lod
+#endif
+
+#ifdef GL_SGIX_depth_texture
+#endif
+
+#ifdef GL_SGIX_shadow
+#endif
+
+#ifdef GL_VERSION_1_2
+ /* These routines are prefixed by the preprocessor constant
+ GLH_CORE_1_2_PREFIX to avoid colliding with the OpenGL 1.2 namespace. */
+ GLH_EXTERN PFNGLBLENDCOLORPROC GLH_CORE_1_2_NAME(glBlendColor) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLBLENDEQUATIONPROC GLH_CORE_1_2_NAME(glBlendEquation) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLDRAWRANGEELEMENTSPROC GLH_CORE_1_2_NAME(glDrawRangeElements) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLCOLORTABLEPROC GLH_CORE_1_2_NAME(glColorTable) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLCOLORTABLEPARAMETERFVPROC GLH_CORE_1_2_NAME(glColorTableParameterfv) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLCOLORTABLEPARAMETERIVPROC GLH_CORE_1_2_NAME(glColorTableParameteriv) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLCOPYCOLORTABLEPROC GLH_CORE_1_2_NAME(glCopyColorTable) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETCOLORTABLEPROC GLH_CORE_1_2_NAME(glGetColorTable) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETCOLORTABLEPARAMETERFVPROC GLH_CORE_1_2_NAME(glGetColorTableParameterfv) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLGETCOLORTABLEPARAMETERIVPROC GLH_CORE_1_2_NAME(glGetColorTableParameteriv) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLTEXIMAGE3DPROC GLH_CORE_1_2_NAME(glTexImage3D) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLTEXSUBIMAGE3DPROC GLH_CORE_1_2_NAME(glTexSubImage3D) GLH_INITIALIZER;
+ GLH_EXTERN PFNGLCOPYTEXSUBIMAGE3DPROC GLH_CORE_1_2_NAME(glCopyTexSubImage3D) GLH_INITIALIZER;
+#endif
+
+#ifdef GL_WIN_swap_hint
+ GLH_EXTERN PFNGLADDSWAPHINTRECTWINPROC GLH_EXT_NAME(glAddSwapHintRectWIN) GLH_INITIALIZER;
+#endif
+
+#ifdef WGL_ARB_pbuffer
+# ifdef _WIN32
+ GLH_EXTERN PFNWGLCREATEPBUFFERARBPROC GLH_EXT_NAME(wglCreatePbufferARB) GLH_INITIALIZER;
+# endif
+# ifdef _WIN32
+ GLH_EXTERN PFNWGLGETPBUFFERDCARBPROC GLH_EXT_NAME(wglGetPbufferDCARB) GLH_INITIALIZER;
+# endif
+# ifdef _WIN32
+ GLH_EXTERN PFNWGLRELEASEPBUFFERDCARBPROC GLH_EXT_NAME(wglReleasePbufferDCARB) GLH_INITIALIZER;
+# endif
+# ifdef _WIN32
+ GLH_EXTERN PFNWGLDESTROYPBUFFERARBPROC GLH_EXT_NAME(wglDestroyPbufferARB) GLH_INITIALIZER;
+# endif
+# ifdef _WIN32
+ GLH_EXTERN PFNWGLQUERYPBUFFERARBPROC GLH_EXT_NAME(wglQueryPbufferARB) GLH_INITIALIZER;
+# endif
+#endif
+
+#ifdef WGL_ARB_render_texture
+# ifdef _WIN32
+ GLH_EXTERN PFNWGLBINDTEXIMAGEARBPROC GLH_EXT_NAME(wglBindTexImageARB) GLH_INITIALIZER;
+# endif
+# ifdef _WIN32
+ GLH_EXTERN PFNWGLRELEASETEXIMAGEARBPROC GLH_EXT_NAME(wglReleaseTexImageARB) GLH_INITIALIZER;
+# endif
+# ifdef _WIN32
+ GLH_EXTERN PFNWGLSETPBUFFERATTRIBARBPROC GLH_EXT_NAME(wglSetPbufferAttribARB) GLH_INITIALIZER;
+# endif
+#endif
+
+#ifdef WGL_ARB_pixel_format
+# ifdef _WIN32
+ GLH_EXTERN PFNWGLGETPIXELFORMATATTRIBIVARBPROC GLH_EXT_NAME(wglGetPixelFormatAttribivARB) GLH_INITIALIZER;
+# endif
+# ifdef _WIN32
+ GLH_EXTERN PFNWGLGETPIXELFORMATATTRIBFVARBPROC GLH_EXT_NAME(wglGetPixelFormatAttribfvARB) GLH_INITIALIZER;
+# endif
+# ifdef _WIN32
+ GLH_EXTERN PFNWGLCHOOSEPIXELFORMATARBPROC GLH_EXT_NAME(wglChoosePixelFormatARB) GLH_INITIALIZER;
+# endif
+#endif
+
+
+#ifdef GLH_EXT_SINGLE_FILE
+
+int glh_init_extension(const char* extension)
+{
+ if (NULL == extension) {
+ return FALSE;
+#ifdef GL_ARB_multitexture
+ } else if (0 == strcmp(extension, "GL_ARB_multitexture")) {
+ GLH_EXT_NAME(glMultiTexCoord1dARB) = (PFNGLMULTITEXCOORD1DARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1dARB");
+ if (NULL == GLH_EXT_NAME(glMultiTexCoord1dARB))
+ return FALSE;
+ GLH_EXT_NAME(glMultiTexCoord1dvARB) = (PFNGLMULTITEXCOORD1DVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1dvARB");
+ if (NULL == GLH_EXT_NAME(glMultiTexCoord1dvARB))
+ return FALSE;
+ GLH_EXT_NAME(glMultiTexCoord1fARB) = (PFNGLMULTITEXCOORD1FARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1fARB");
+ if (NULL == GLH_EXT_NAME(glMultiTexCoord1fARB))
+ return FALSE;
+ GLH_EXT_NAME(glMultiTexCoord1fvARB) = (PFNGLMULTITEXCOORD1FVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1fvARB");
+ if (NULL == GLH_EXT_NAME(glMultiTexCoord1fvARB))
+ return FALSE;
+ GLH_EXT_NAME(glMultiTexCoord1iARB) = (PFNGLMULTITEXCOORD1IARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1iARB");
+ if (NULL == GLH_EXT_NAME(glMultiTexCoord1iARB))
+ return FALSE;
+ GLH_EXT_NAME(glMultiTexCoord1ivARB) = (PFNGLMULTITEXCOORD1IVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1ivARB");
+ if (NULL == GLH_EXT_NAME(glMultiTexCoord1ivARB))
+ return FALSE;
+ GLH_EXT_NAME(glMultiTexCoord1sARB) = (PFNGLMULTITEXCOORD1SARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1sARB");
+ if (NULL == GLH_EXT_NAME(glMultiTexCoord1sARB))
+ return FALSE;
+ GLH_EXT_NAME(glMultiTexCoord1svARB) = (PFNGLMULTITEXCOORD1SVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1svARB");
+ if (NULL == GLH_EXT_NAME(glMultiTexCoord1svARB))
+ return FALSE;
+ GLH_EXT_NAME(glMultiTexCoord2dARB) = (PFNGLMULTITEXCOORD2DARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2dARB");
+ if (NULL == GLH_EXT_NAME(glMultiTexCoord2dARB))
+ return FALSE;
+ GLH_EXT_NAME(glMultiTexCoord2dvARB) = (PFNGLMULTITEXCOORD2DVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2dvARB");
+ if (NULL == GLH_EXT_NAME(glMultiTexCoord2dvARB))
+ return FALSE;
+ GLH_EXT_NAME(glMultiTexCoord2fARB) = (PFNGLMULTITEXCOORD2FARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2fARB");
+ if (NULL == GLH_EXT_NAME(glMultiTexCoord2fARB))
+ return FALSE;
+ GLH_EXT_NAME(glMultiTexCoord2fvARB) = (PFNGLMULTITEXCOORD2FVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2fvARB");
+ if (NULL == GLH_EXT_NAME(glMultiTexCoord2fvARB))
+ return FALSE;
+ GLH_EXT_NAME(glMultiTexCoord2iARB) = (PFNGLMULTITEXCOORD2IARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2iARB");
+ if (NULL == GLH_EXT_NAME(glMultiTexCoord2iARB))
+ return FALSE;
+ GLH_EXT_NAME(glMultiTexCoord2ivARB) = (PFNGLMULTITEXCOORD2IVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2ivARB");
+ if (NULL == GLH_EXT_NAME(glMultiTexCoord2ivARB))
+ return FALSE;
+ GLH_EXT_NAME(glMultiTexCoord2sARB) = (PFNGLMULTITEXCOORD2SARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2sARB");
+ if (NULL == GLH_EXT_NAME(glMultiTexCoord2sARB))
+ return FALSE;
+ GLH_EXT_NAME(glMultiTexCoord2svARB) = (PFNGLMULTITEXCOORD2SVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2svARB");
+ if (NULL == GLH_EXT_NAME(glMultiTexCoord2svARB))
+ return FALSE;
+ GLH_EXT_NAME(glMultiTexCoord3dARB) = (PFNGLMULTITEXCOORD3DARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3dARB");
+ if (NULL == GLH_EXT_NAME(glMultiTexCoord3dARB))
+ return FALSE;
+ GLH_EXT_NAME(glMultiTexCoord3dvARB) = (PFNGLMULTITEXCOORD3DVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3dvARB");
+ if (NULL == GLH_EXT_NAME(glMultiTexCoord3dvARB))
+ return FALSE;
+ GLH_EXT_NAME(glMultiTexCoord3fARB) = (PFNGLMULTITEXCOORD3FARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3fARB");
+ if (NULL == GLH_EXT_NAME(glMultiTexCoord3fARB))
+ return FALSE;
+ GLH_EXT_NAME(glMultiTexCoord3fvARB) = (PFNGLMULTITEXCOORD3FVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3fvARB");
+ if (NULL == GLH_EXT_NAME(glMultiTexCoord3fvARB))
+ return FALSE;
+ GLH_EXT_NAME(glMultiTexCoord3iARB) = (PFNGLMULTITEXCOORD3IARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3iARB");
+ if (NULL == GLH_EXT_NAME(glMultiTexCoord3iARB))
+ return FALSE;
+ GLH_EXT_NAME(glMultiTexCoord3ivARB) = (PFNGLMULTITEXCOORD3IVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3ivARB");
+ if (NULL == GLH_EXT_NAME(glMultiTexCoord3ivARB))
+ return FALSE;
+ GLH_EXT_NAME(glMultiTexCoord3sARB) = (PFNGLMULTITEXCOORD3SARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3sARB");
+ if (NULL == GLH_EXT_NAME(glMultiTexCoord3sARB))
+ return FALSE;
+ GLH_EXT_NAME(glMultiTexCoord3svARB) = (PFNGLMULTITEXCOORD3SVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3svARB");
+ if (NULL == GLH_EXT_NAME(glMultiTexCoord3svARB))
+ return FALSE;
+ GLH_EXT_NAME(glMultiTexCoord4dARB) = (PFNGLMULTITEXCOORD4DARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4dARB");
+ if (NULL == GLH_EXT_NAME(glMultiTexCoord4dARB))
+ return FALSE;
+ GLH_EXT_NAME(glMultiTexCoord4dvARB) = (PFNGLMULTITEXCOORD4DVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4dvARB");
+ if (NULL == GLH_EXT_NAME(glMultiTexCoord4dvARB))
+ return FALSE;
+ GLH_EXT_NAME(glMultiTexCoord4fARB) = (PFNGLMULTITEXCOORD4FARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4fARB");
+ if (NULL == GLH_EXT_NAME(glMultiTexCoord4fARB))
+ return FALSE;
+ GLH_EXT_NAME(glMultiTexCoord4fvARB) = (PFNGLMULTITEXCOORD4FVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4fvARB");
+ if (NULL == GLH_EXT_NAME(glMultiTexCoord4fvARB))
+ return FALSE;
+ GLH_EXT_NAME(glMultiTexCoord4iARB) = (PFNGLMULTITEXCOORD4IARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4iARB");
+ if (NULL == GLH_EXT_NAME(glMultiTexCoord4iARB))
+ return FALSE;
+ GLH_EXT_NAME(glMultiTexCoord4ivARB) = (PFNGLMULTITEXCOORD4IVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4ivARB");
+ if (NULL == GLH_EXT_NAME(glMultiTexCoord4ivARB))
+ return FALSE;
+ GLH_EXT_NAME(glMultiTexCoord4sARB) = (PFNGLMULTITEXCOORD4SARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4sARB");
+ if (NULL == GLH_EXT_NAME(glMultiTexCoord4sARB))
+ return FALSE;
+ GLH_EXT_NAME(glMultiTexCoord4svARB) = (PFNGLMULTITEXCOORD4SVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4svARB");
+ if (NULL == GLH_EXT_NAME(glMultiTexCoord4svARB))
+ return FALSE;
+ GLH_EXT_NAME(glActiveTextureARB) = (PFNGLACTIVETEXTUREARBPROC)GLH_EXT_GET_PROC_ADDRESS("glActiveTextureARB");
+ if (NULL == GLH_EXT_NAME(glActiveTextureARB))
+ return FALSE;
+ GLH_EXT_NAME(glClientActiveTextureARB) = (PFNGLCLIENTACTIVETEXTUREARBPROC)GLH_EXT_GET_PROC_ADDRESS("glClientActiveTextureARB");
+ if (NULL == GLH_EXT_NAME(glClientActiveTextureARB))
+ return FALSE;
+#endif
+
+#ifdef GL_ARB_texture_border_clamp
+ } else if (0 == strcmp(extension, "GL_ARB_texture_border_clamp")) {
+#endif
+
+#ifdef GL_ARB_texture_compression
+ } else if (0 == strcmp(extension, "GL_ARB_texture_compression")) {
+ GLH_EXT_NAME(glCompressedTexImage3DARB) = (PFNGLCOMPRESSEDTEXIMAGE3DARBPROC)GLH_EXT_GET_PROC_ADDRESS("glCompressedTexImage3DARB");
+ if (NULL == GLH_EXT_NAME(glCompressedTexImage3DARB))
+ return FALSE;
+ GLH_EXT_NAME(glCompressedTexImage2DARB) = (PFNGLCOMPRESSEDTEXIMAGE2DARBPROC)GLH_EXT_GET_PROC_ADDRESS("glCompressedTexImage2DARB");
+ if (NULL == GLH_EXT_NAME(glCompressedTexImage2DARB))
+ return FALSE;
+ GLH_EXT_NAME(glCompressedTexImage1DARB) = (PFNGLCOMPRESSEDTEXIMAGE1DARBPROC)GLH_EXT_GET_PROC_ADDRESS("glCompressedTexImage1DARB");
+ if (NULL == GLH_EXT_NAME(glCompressedTexImage1DARB))
+ return FALSE;
+ GLH_EXT_NAME(glCompressedTexSubImage3DARB) = (PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC)GLH_EXT_GET_PROC_ADDRESS("glCompressedTexSubImage3DARB");
+ if (NULL == GLH_EXT_NAME(glCompressedTexSubImage3DARB))
+ return FALSE;
+ GLH_EXT_NAME(glCompressedTexSubImage2DARB) = (PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC)GLH_EXT_GET_PROC_ADDRESS("glCompressedTexSubImage2DARB");
+ if (NULL == GLH_EXT_NAME(glCompressedTexSubImage2DARB))
+ return FALSE;
+ GLH_EXT_NAME(glCompressedTexSubImage1DARB) = (PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC)GLH_EXT_GET_PROC_ADDRESS("glCompressedTexSubImage1DARB");
+ if (NULL == GLH_EXT_NAME(glCompressedTexSubImage1DARB))
+ return FALSE;
+ GLH_EXT_NAME(glGetCompressedTexImageARB) = (PFNGLGETCOMPRESSEDTEXIMAGEARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetCompressedTexImageARB");
+ if (NULL == GLH_EXT_NAME(glGetCompressedTexImageARB))
+ return FALSE;
+#endif
+
+#ifdef GL_ARB_texture_cube_map
+ } else if (0 == strcmp(extension, "GL_ARB_texture_cube_map")) {
+#endif
+
+#ifdef GL_ARB_transpose_matrix
+ } else if (0 == strcmp(extension, "GL_ARB_transpose_matrix")) {
+ GLH_EXT_NAME(glLoadTransposeMatrixfARB) = (PFNGLLOADTRANSPOSEMATRIXFARBPROC)GLH_EXT_GET_PROC_ADDRESS("glLoadTransposeMatrixfARB");
+ if (NULL == GLH_EXT_NAME(glLoadTransposeMatrixfARB))
+ return FALSE;
+ GLH_EXT_NAME(glLoadTransposeMatrixdARB) = (PFNGLLOADTRANSPOSEMATRIXDARBPROC)GLH_EXT_GET_PROC_ADDRESS("glLoadTransposeMatrixdARB");
+ if (NULL == GLH_EXT_NAME(glLoadTransposeMatrixdARB))
+ return FALSE;
+ GLH_EXT_NAME(glMultTransposeMatrixfARB) = (PFNGLMULTTRANSPOSEMATRIXFARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultTransposeMatrixfARB");
+ if (NULL == GLH_EXT_NAME(glMultTransposeMatrixfARB))
+ return FALSE;
+ GLH_EXT_NAME(glMultTransposeMatrixdARB) = (PFNGLMULTTRANSPOSEMATRIXDARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultTransposeMatrixdARB");
+ if (NULL == GLH_EXT_NAME(glMultTransposeMatrixdARB))
+ return FALSE;
+#endif
+
+#ifdef GL_ARB_vertex_program
+ } else if (0 == strcmp(extension, "GL_ARB_vertex_program")) {
+ GLH_EXT_NAME(glVertexAttrib1sARB) = (PFNGLVERTEXATTRIB1SARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib1sARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib1sARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib1fARB) = (PFNGLVERTEXATTRIB1FARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib1fARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib1fARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib1dARB) = (PFNGLVERTEXATTRIB1DARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib1dARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib1dARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib2sARB) = (PFNGLVERTEXATTRIB2SARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib2sARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib2sARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib2fARB) = (PFNGLVERTEXATTRIB2FARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib2fARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib2fARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib2dARB) = (PFNGLVERTEXATTRIB2DARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib2dARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib2dARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib3sARB) = (PFNGLVERTEXATTRIB3SARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib3sARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib3sARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib3fARB) = (PFNGLVERTEXATTRIB3FARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib3fARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib3fARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib3dARB) = (PFNGLVERTEXATTRIB3DARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib3dARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib3dARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib4sARB) = (PFNGLVERTEXATTRIB4SARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4sARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib4sARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib4fARB) = (PFNGLVERTEXATTRIB4FARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4fARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib4fARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib4dARB) = (PFNGLVERTEXATTRIB4DARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4dARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib4dARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib4NubARB) = (PFNGLVERTEXATTRIB4NUBARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4NubARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib4NubARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib1svARB) = (PFNGLVERTEXATTRIB1SVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib1svARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib1svARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib1fvARB) = (PFNGLVERTEXATTRIB1FVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib1fvARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib1fvARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib1dvARB) = (PFNGLVERTEXATTRIB1DVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib1dvARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib1dvARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib2svARB) = (PFNGLVERTEXATTRIB2SVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib2svARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib2svARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib2fvARB) = (PFNGLVERTEXATTRIB2FVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib2fvARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib2fvARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib2dvARB) = (PFNGLVERTEXATTRIB2DVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib2dvARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib2dvARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib3svARB) = (PFNGLVERTEXATTRIB3SVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib3svARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib3svARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib3fvARB) = (PFNGLVERTEXATTRIB3FVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib3fvARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib3fvARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib3dvARB) = (PFNGLVERTEXATTRIB3DVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib3dvARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib3dvARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib4bvARB) = (PFNGLVERTEXATTRIB4BVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4bvARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib4bvARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib4svARB) = (PFNGLVERTEXATTRIB4SVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4svARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib4svARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib4ivARB) = (PFNGLVERTEXATTRIB4IVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4ivARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib4ivARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib4ubvARB) = (PFNGLVERTEXATTRIB4UBVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4ubvARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib4ubvARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib4usvARB) = (PFNGLVERTEXATTRIB4USVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4usvARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib4usvARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib4uivARB) = (PFNGLVERTEXATTRIB4UIVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4uivARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib4uivARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib4fvARB) = (PFNGLVERTEXATTRIB4FVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4fvARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib4fvARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib4dvARB) = (PFNGLVERTEXATTRIB4DVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4dvARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib4dvARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib4NbvARB) = (PFNGLVERTEXATTRIB4NBVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4NbvARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib4NbvARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib4NsvARB) = (PFNGLVERTEXATTRIB4NSVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4NsvARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib4NsvARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib4NivARB) = (PFNGLVERTEXATTRIB4NIVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4NivARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib4NivARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib4NubvARB) = (PFNGLVERTEXATTRIB4NUBVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4NubvARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib4NubvARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib4NusvARB) = (PFNGLVERTEXATTRIB4NUSVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4NusvARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib4NusvARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttrib4NuivARB) = (PFNGLVERTEXATTRIB4NUIVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4NuivARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib4NuivARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glVertexAttribPointerARB) = (PFNGLVERTEXATTRIBPOINTERARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttribPointerARB");
+ if (NULL == GLH_EXT_NAME(glVertexAttribPointerARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glEnableVertexAttribArrayARB) = (PFNGLENABLEVERTEXATTRIBARRAYARBPROC)GLH_EXT_GET_PROC_ADDRESS("glEnableVertexAttribArrayARB");
+ if (NULL == GLH_EXT_NAME(glEnableVertexAttribArrayARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glDisableVertexAttribArrayARB) = (PFNGLDISABLEVERTEXATTRIBARRAYARBPROC)GLH_EXT_GET_PROC_ADDRESS("glDisableVertexAttribArrayARB");
+ if (NULL == GLH_EXT_NAME(glDisableVertexAttribArrayARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glProgramStringARB) = (PFNGLPROGRAMSTRINGARBPROC)GLH_EXT_GET_PROC_ADDRESS("glProgramStringARB");
+ if (NULL == GLH_EXT_NAME(glProgramStringARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glBindProgramARB) = (PFNGLBINDPROGRAMARBPROC)GLH_EXT_GET_PROC_ADDRESS("glBindProgramARB");
+ if (NULL == GLH_EXT_NAME(glBindProgramARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glDeleteProgramsARB) = (PFNGLDELETEPROGRAMSARBPROC)GLH_EXT_GET_PROC_ADDRESS("glDeleteProgramsARB");
+ if (NULL == GLH_EXT_NAME(glDeleteProgramsARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glGenProgramsARB) = (PFNGLGENPROGRAMSARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGenProgramsARB");
+ if (NULL == GLH_EXT_NAME(glGenProgramsARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glProgramEnvParameter4dARB) = (PFNGLPROGRAMENVPARAMETER4DARBPROC)GLH_EXT_GET_PROC_ADDRESS("glProgramEnvParameter4dARB");
+ if (NULL == GLH_EXT_NAME(glProgramEnvParameter4dARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glProgramEnvParameter4dvARB) = (PFNGLPROGRAMENVPARAMETER4DVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glProgramEnvParameter4dvARB");
+ if (NULL == GLH_EXT_NAME(glProgramEnvParameter4dvARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glProgramEnvParameter4fARB) = (PFNGLPROGRAMENVPARAMETER4FARBPROC)GLH_EXT_GET_PROC_ADDRESS("glProgramEnvParameter4fARB");
+ if (NULL == GLH_EXT_NAME(glProgramEnvParameter4fARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glProgramEnvParameter4fvARB) = (PFNGLPROGRAMENVPARAMETER4FVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glProgramEnvParameter4fvARB");
+ if (NULL == GLH_EXT_NAME(glProgramEnvParameter4fvARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glProgramLocalParameter4dARB) = (PFNGLPROGRAMLOCALPARAMETER4DARBPROC)GLH_EXT_GET_PROC_ADDRESS("glProgramLocalParameter4dARB");
+ if (NULL == GLH_EXT_NAME(glProgramLocalParameter4dARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glProgramLocalParameter4dvARB) = (PFNGLPROGRAMLOCALPARAMETER4DVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glProgramLocalParameter4dvARB");
+ if (NULL == GLH_EXT_NAME(glProgramLocalParameter4dvARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glProgramLocalParameter4fARB) = (PFNGLPROGRAMLOCALPARAMETER4FARBPROC)GLH_EXT_GET_PROC_ADDRESS("glProgramLocalParameter4fARB");
+ if (NULL == GLH_EXT_NAME(glProgramLocalParameter4fARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glProgramLocalParameter4fvARB) = (PFNGLPROGRAMLOCALPARAMETER4FVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glProgramLocalParameter4fvARB");
+ if (NULL == GLH_EXT_NAME(glProgramLocalParameter4fvARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glGetProgramEnvParameterdvARB) = (PFNGLGETPROGRAMENVPARAMETERDVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetProgramEnvParameterdvARB");
+ if (NULL == GLH_EXT_NAME(glGetProgramEnvParameterdvARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glGetProgramEnvParameterfvARB) = (PFNGLGETPROGRAMENVPARAMETERFVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetProgramEnvParameterfvARB");
+ if (NULL == GLH_EXT_NAME(glGetProgramEnvParameterfvARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glGetProgramLocalParameterdvARB) = (PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetProgramLocalParameterdvARB");
+ if (NULL == GLH_EXT_NAME(glGetProgramLocalParameterdvARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glGetProgramLocalParameterfvARB) = (PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetProgramLocalParameterfvARB");
+ if (NULL == GLH_EXT_NAME(glGetProgramLocalParameterfvARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glGetProgramivARB) = (PFNGLGETPROGRAMIVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetProgramivARB");
+ if (NULL == GLH_EXT_NAME(glGetProgramivARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glGetProgramStringARB) = (PFNGLGETPROGRAMSTRINGARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetProgramStringARB");
+ if (NULL == GLH_EXT_NAME(glGetProgramStringARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glGetVertexAttribdvARB) = (PFNGLGETVERTEXATTRIBDVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetVertexAttribdvARB");
+ if (NULL == GLH_EXT_NAME(glGetVertexAttribdvARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glGetVertexAttribfvARB) = (PFNGLGETVERTEXATTRIBFVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetVertexAttribfvARB");
+ if (NULL == GLH_EXT_NAME(glGetVertexAttribfvARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glGetVertexAttribivARB) = (PFNGLGETVERTEXATTRIBIVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetVertexAttribivARB");
+ if (NULL == GLH_EXT_NAME(glGetVertexAttribivARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glGetVertexAttribPointervARB) = (PFNGLGETVERTEXATTRIBPOINTERVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetVertexAttribPointervARB");
+ if (NULL == GLH_EXT_NAME(glGetVertexAttribPointervARB))
+ return GL_FALSE;
+ GLH_EXT_NAME(glIsProgramARB) = (PFNGLISPROGRAMARBPROC)GLH_EXT_GET_PROC_ADDRESS("glIsProgramARB");
+ if (NULL == GLH_EXT_NAME(glIsProgramARB))
+ return GL_FALSE;
+#endif
+
+#ifdef GL_EXT_abgr
+ } else if (0 == strcmp(extension, "GL_EXT_abgr")) {
+#endif
+
+#ifdef GL_EXT_bgra
+ } else if (0 == strcmp(extension, "GL_EXT_bgra")) {
+#endif
+
+#ifdef GL_EXT_blend_color
+ } else if (0 == strcmp(extension, "GL_EXT_blend_color")) {
+ GLH_EXT_NAME(glBlendColorEXT) = (PFNGLBLENDCOLOREXTPROC)GLH_EXT_GET_PROC_ADDRESS("glBlendColorEXT");
+ if (NULL == GLH_EXT_NAME(glBlendColorEXT))
+ return FALSE;
+#endif
+
+#ifdef GL_EXT_blend_minmax
+ } else if (0 == strcmp(extension, "GL_EXT_blend_minmax")) {
+ GLH_EXT_NAME(glBlendEquationEXT) = (PFNGLBLENDEQUATIONEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glBlendEquationEXT");
+ if (NULL == GLH_EXT_NAME(glBlendEquationEXT))
+ return FALSE;
+#endif
+
+#ifdef GL_EXT_blend_subtract
+ } else if (0 == strcmp(extension, "GL_EXT_blend_subtract")) {
+#endif
+
+#ifdef GL_EXT_compiled_vertex_array
+ } else if (0 == strcmp(extension, "GL_EXT_compiled_vertex_array")) {
+ GLH_EXT_NAME(glLockArraysEXT) = (PFNGLLOCKARRAYSEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glLockArraysEXT");
+ if (NULL == GLH_EXT_NAME(glLockArraysEXT))
+ return FALSE;
+ GLH_EXT_NAME(glUnlockArraysEXT) = (PFNGLUNLOCKARRAYSEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glUnlockArraysEXT");
+ if (NULL == GLH_EXT_NAME(glUnlockArraysEXT))
+ return FALSE;
+#endif
+
+#ifdef GL_EXT_fog_coord
+ } else if (0 == strcmp(extension, "GL_EXT_fog_coord")) {
+ GLH_EXT_NAME(glFogCoorddEXT) = (PFNGLFOGCOORDDEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glFogCoorddEXT");
+ if (NULL == GLH_EXT_NAME(glFogCoorddEXT))
+ return FALSE;
+ GLH_EXT_NAME(glFogCoorddvEXT) = (PFNGLFOGCOORDDVEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glFogCoorddvEXT");
+ if (NULL == GLH_EXT_NAME(glFogCoorddvEXT))
+ return FALSE;
+ GLH_EXT_NAME(glFogCoordfEXT) = (PFNGLFOGCOORDFEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glFogCoordfEXT");
+ if (NULL == GLH_EXT_NAME(glFogCoordfEXT))
+ return FALSE;
+ GLH_EXT_NAME(glFogCoordfvEXT) = (PFNGLFOGCOORDFVEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glFogCoordfvEXT");
+ if (NULL == GLH_EXT_NAME(glFogCoordfvEXT))
+ return FALSE;
+ GLH_EXT_NAME(glFogCoordPointerEXT) = (PFNGLFOGCOORDPOINTEREXTPROC)GLH_EXT_GET_PROC_ADDRESS("glFogCoordPointerEXT");
+ if (NULL == GLH_EXT_NAME(glFogCoordPointerEXT))
+ return FALSE;
+#endif
+
+#ifdef GL_EXT_light_max_exponent
+ } else if (0 == strcmp(extension, "GL_EXT_light_max_exponent")) {
+#endif
+
+#ifdef GL_EXT_packed_pixels
+ } else if (0 == strcmp(extension, "GL_EXT_packed_pixels")) {
+#endif
+
+#ifdef GL_EXT_paletted_texture
+ } else if (0 == strcmp(extension, "GL_EXT_paletted_texture")) {
+ GLH_EXT_NAME(glColorSubTableEXT) = (PFNGLCOLORSUBTABLEEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glColorSubTableEXT");
+ if (NULL == GLH_EXT_NAME(glColorSubTableEXT))
+ return FALSE;
+ GLH_EXT_NAME(glColorTableEXT) = (PFNGLCOLORTABLEEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glColorTableEXT");
+ if (NULL == GLH_EXT_NAME(glColorTableEXT))
+ return FALSE;
+ GLH_EXT_NAME(glGetColorTableEXT) = (PFNGLGETCOLORTABLEEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glGetColorTableEXT");
+ if (NULL == GLH_EXT_NAME(glGetColorTableEXT))
+ return FALSE;
+ GLH_EXT_NAME(glGetColorTableParameterfvEXT) = (PFNGLGETCOLORTABLEPARAMETERFVEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glGetColorTableParameterfvEXT");
+ if (NULL == GLH_EXT_NAME(glGetColorTableParameterfvEXT))
+ return FALSE;
+ GLH_EXT_NAME(glGetColorTableParameterivEXT) = (PFNGLGETCOLORTABLEPARAMETERIVEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glGetColorTableParameterivEXT");
+ if (NULL == GLH_EXT_NAME(glGetColorTableParameterivEXT))
+ return FALSE;
+#endif
+
+#ifdef GL_EXT_point_parameters
+ } else if (0 == strcmp(extension, "GL_EXT_point_parameters")) {
+ GLH_EXT_NAME(glPointParameterfEXT) = (PFNGLPOINTPARAMETERFEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glPointParameterfEXT");
+ if (NULL == GLH_EXT_NAME(glPointParameterfEXT))
+ return FALSE;
+ GLH_EXT_NAME(glPointParameterfvEXT) = (PFNGLPOINTPARAMETERFVEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glPointParameterfvEXT");
+ if (NULL == GLH_EXT_NAME(glPointParameterfvEXT))
+ return FALSE;
+#endif
+
+#ifdef GL_EXT_rescale_normal
+ } else if (0 == strcmp(extension, "GL_EXT_rescale_normal")) {
+#endif
+
+#ifdef GL_EXT_secondary_color
+ } else if (0 == strcmp(extension, "GL_EXT_secondary_color")) {
+ GLH_EXT_NAME(glSecondaryColor3bEXT) = (PFNGLSECONDARYCOLOR3BEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3bEXT");
+ if (NULL == GLH_EXT_NAME(glSecondaryColor3bEXT))
+ return FALSE;
+ GLH_EXT_NAME(glSecondaryColor3bvEXT) = (PFNGLSECONDARYCOLOR3BVEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3bvEXT");
+ if (NULL == GLH_EXT_NAME(glSecondaryColor3bvEXT))
+ return FALSE;
+ GLH_EXT_NAME(glSecondaryColor3dEXT) = (PFNGLSECONDARYCOLOR3DEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3dEXT");
+ if (NULL == GLH_EXT_NAME(glSecondaryColor3dEXT))
+ return FALSE;
+ GLH_EXT_NAME(glSecondaryColor3dvEXT) = (PFNGLSECONDARYCOLOR3DVEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3dvEXT");
+ if (NULL == GLH_EXT_NAME(glSecondaryColor3dvEXT))
+ return FALSE;
+ GLH_EXT_NAME(glSecondaryColor3fEXT) = (PFNGLSECONDARYCOLOR3FEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3fEXT");
+ if (NULL == GLH_EXT_NAME(glSecondaryColor3fEXT))
+ return FALSE;
+ GLH_EXT_NAME(glSecondaryColor3fvEXT) = (PFNGLSECONDARYCOLOR3FVEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3fvEXT");
+ if (NULL == GLH_EXT_NAME(glSecondaryColor3fvEXT))
+ return FALSE;
+ GLH_EXT_NAME(glSecondaryColor3iEXT) = (PFNGLSECONDARYCOLOR3IEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3iEXT");
+ if (NULL == GLH_EXT_NAME(glSecondaryColor3iEXT))
+ return FALSE;
+ GLH_EXT_NAME(glSecondaryColor3ivEXT) = (PFNGLSECONDARYCOLOR3IVEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3ivEXT");
+ if (NULL == GLH_EXT_NAME(glSecondaryColor3ivEXT))
+ return FALSE;
+ GLH_EXT_NAME(glSecondaryColor3sEXT) = (PFNGLSECONDARYCOLOR3SEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3sEXT");
+ if (NULL == GLH_EXT_NAME(glSecondaryColor3sEXT))
+ return FALSE;
+ GLH_EXT_NAME(glSecondaryColor3svEXT) = (PFNGLSECONDARYCOLOR3SVEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3svEXT");
+ if (NULL == GLH_EXT_NAME(glSecondaryColor3svEXT))
+ return FALSE;
+ GLH_EXT_NAME(glSecondaryColor3ubEXT) = (PFNGLSECONDARYCOLOR3UBEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3ubEXT");
+ if (NULL == GLH_EXT_NAME(glSecondaryColor3ubEXT))
+ return FALSE;
+ GLH_EXT_NAME(glSecondaryColor3ubvEXT) = (PFNGLSECONDARYCOLOR3UBVEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3ubvEXT");
+ if (NULL == GLH_EXT_NAME(glSecondaryColor3ubvEXT))
+ return FALSE;
+ GLH_EXT_NAME(glSecondaryColor3uiEXT) = (PFNGLSECONDARYCOLOR3UIEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3uiEXT");
+ if (NULL == GLH_EXT_NAME(glSecondaryColor3uiEXT))
+ return FALSE;
+ GLH_EXT_NAME(glSecondaryColor3uivEXT) = (PFNGLSECONDARYCOLOR3UIVEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3uivEXT");
+ if (NULL == GLH_EXT_NAME(glSecondaryColor3uivEXT))
+ return FALSE;
+ GLH_EXT_NAME(glSecondaryColor3usEXT) = (PFNGLSECONDARYCOLOR3USEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3usEXT");
+ if (NULL == GLH_EXT_NAME(glSecondaryColor3usEXT))
+ return FALSE;
+ GLH_EXT_NAME(glSecondaryColor3usvEXT) = (PFNGLSECONDARYCOLOR3USVEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3usvEXT");
+ if (NULL == GLH_EXT_NAME(glSecondaryColor3usvEXT))
+ return FALSE;
+ GLH_EXT_NAME(glSecondaryColorPointerEXT) = (PFNGLSECONDARYCOLORPOINTEREXTPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColorPointerEXT");
+ if (NULL == GLH_EXT_NAME(glSecondaryColorPointerEXT))
+ return FALSE;
+#endif
+
+#ifdef GL_EXT_separate_specular_color
+ } else if (0 == strcmp(extension, "GL_EXT_separate_specular_color")) {
+#endif
+
+#ifdef GL_EXT_shared_texture_palette
+ } else if (0 == strcmp(extension, "GL_EXT_shared_texture_palette")) {
+#endif
+
+#ifdef GL_EXT_stencil_wrap
+ } else if (0 == strcmp(extension, "GL_EXT_stencil_wrap")) {
+#endif
+
+#ifdef GL_EXT_texture_compression_s3tc
+ } else if (0 == strcmp(extension, "GL_EXT_texture_compression_s3tc")) {
+#endif
+
+#ifdef GL_EXT_texture_cube_map
+ } else if (0 == strcmp(extension, "GL_EXT_texture_cube_map")) {
+#endif
+
+#ifdef GL_EXT_texture_edge_clamp
+ } else if (0 == strcmp(extension, "GL_EXT_texture_edge_clamp")) {
+#endif
+
+#ifdef GL_EXT_texture_env_add
+ } else if (0 == strcmp(extension, "GL_EXT_texture_env_add")) {
+#endif
+
+#ifdef GL_EXT_texture_env_combine
+ } else if (0 == strcmp(extension, "GL_EXT_texture_env_combine")) {
+#endif
+
+#ifdef GL_EXT_texture_filter_anisotropic
+ } else if (0 == strcmp(extension, "GL_EXT_texture_filter_anisotropic")) {
+#endif
+
+#ifdef GL_EXT_texture_lod_bias
+ } else if (0 == strcmp(extension, "GL_EXT_texture_lod_bias")) {
+#endif
+
+#ifdef GL_EXT_texture_object
+ } else if (0 == strcmp(extension, "GL_EXT_texture_object")) {
+ GLH_EXT_NAME(glAreTexturesResidentEXT) = (PFNGLARETEXTURESRESIDENTEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glAreTexturesResidentEXT");
+ if (NULL == GLH_EXT_NAME(glAreTexturesResidentEXT))
+ return FALSE;
+ GLH_EXT_NAME(glBindTextureEXT) = (PFNGLBINDTEXTUREEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glBindTextureEXT");
+ if (NULL == GLH_EXT_NAME(glBindTextureEXT))
+ return FALSE;
+ GLH_EXT_NAME(glDeleteTexturesEXT) = (PFNGLDELETETEXTURESEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glDeleteTexturesEXT");
+ if (NULL == GLH_EXT_NAME(glDeleteTexturesEXT))
+ return FALSE;
+ GLH_EXT_NAME(glGenTexturesEXT) = (PFNGLGENTEXTURESEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glGenTexturesEXT");
+ if (NULL == GLH_EXT_NAME(glGenTexturesEXT))
+ return FALSE;
+ GLH_EXT_NAME(glIsTextureEXT) = (PFNGLISTEXTUREEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glIsTextureEXT");
+ if (NULL == GLH_EXT_NAME(glIsTextureEXT))
+ return FALSE;
+ GLH_EXT_NAME(glPrioritizeTexturesEXT) = (PFNGLPRIORITIZETEXTURESEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glPrioritizeTexturesEXT");
+ if (NULL == GLH_EXT_NAME(glPrioritizeTexturesEXT))
+ return FALSE;
+#endif
+
+#ifdef GL_EXT_texture3D
+ } else if (0 == strcmp(extension, "GL_EXT_texture3D")) {
+ GLH_EXT_NAME(glTexImage3DEXT) = (PFNGLTEXIMAGE3DEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glTexImage3DEXT");
+ if (NULL == GLH_EXT_NAME(glTexImage3DEXT))
+ return FALSE;
+#endif
+
+#ifdef GL_EXT_vertex_array
+ } else if (0 == strcmp(extension, "GL_EXT_vertex_array")) {
+ GLH_EXT_NAME(glArrayElementEXT) = (PFNGLARRAYELEMENTEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glArrayElementEXT");
+ if (NULL == GLH_EXT_NAME(glArrayElementEXT))
+ return FALSE;
+ GLH_EXT_NAME(glColorPointerEXT) = (PFNGLCOLORPOINTEREXTPROC)GLH_EXT_GET_PROC_ADDRESS("glColorPointerEXT");
+ if (NULL == GLH_EXT_NAME(glColorPointerEXT))
+ return FALSE;
+ GLH_EXT_NAME(glEdgeFlagPointerEXT) = (PFNGLEDGEFLAGPOINTEREXTPROC)GLH_EXT_GET_PROC_ADDRESS("glEdgeFlagPointerEXT");
+ if (NULL == GLH_EXT_NAME(glEdgeFlagPointerEXT))
+ return FALSE;
+ GLH_EXT_NAME(glGetPointervEXT) = (PFNGLGETPOINTERVEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glGetPointervEXT");
+ if (NULL == GLH_EXT_NAME(glGetPointervEXT))
+ return FALSE;
+ GLH_EXT_NAME(glIndexPointerEXT) = (PFNGLINDEXPOINTEREXTPROC)GLH_EXT_GET_PROC_ADDRESS("glIndexPointerEXT");
+ if (NULL == GLH_EXT_NAME(glIndexPointerEXT))
+ return FALSE;
+ GLH_EXT_NAME(glNormalPointerEXT) = (PFNGLNORMALPOINTEREXTPROC)GLH_EXT_GET_PROC_ADDRESS("glNormalPointerEXT");
+ if (NULL == GLH_EXT_NAME(glNormalPointerEXT))
+ return FALSE;
+ GLH_EXT_NAME(glTexCoordPointerEXT) = (PFNGLTEXCOORDPOINTEREXTPROC)GLH_EXT_GET_PROC_ADDRESS("glTexCoordPointerEXT");
+ if (NULL == GLH_EXT_NAME(glTexCoordPointerEXT))
+ return FALSE;
+ GLH_EXT_NAME(glVertexPointerEXT) = (PFNGLVERTEXPOINTEREXTPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexPointerEXT");
+ if (NULL == GLH_EXT_NAME(glVertexPointerEXT))
+ return FALSE;
+ GLH_EXT_NAME(glDrawArraysEXT) = (PFNGLDRAWARRAYSEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glDrawArraysEXT");
+ if (NULL == GLH_EXT_NAME(glDrawArraysEXT))
+ return FALSE;
+#endif
+
+#ifdef GL_EXT_vertex_weighting
+ } else if (0 == strcmp(extension, "GL_EXT_vertex_weighting")) {
+ GLH_EXT_NAME(glVertexWeightfEXT) = (PFNGLVERTEXWEIGHTFEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexWeightfEXT");
+ if (NULL == GLH_EXT_NAME(glVertexWeightfEXT))
+ return FALSE;
+ GLH_EXT_NAME(glVertexWeightfvEXT) = (PFNGLVERTEXWEIGHTFVEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexWeightfvEXT");
+ if (NULL == GLH_EXT_NAME(glVertexWeightfvEXT))
+ return FALSE;
+ GLH_EXT_NAME(glVertexWeightPointerEXT) = (PFNGLVERTEXWEIGHTPOINTEREXTPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexWeightPointerEXT");
+ if (NULL == GLH_EXT_NAME(glVertexWeightPointerEXT))
+ return FALSE;
+#endif
+
+#ifdef GL_NV_blend_square
+ } else if (0 == strcmp(extension, "GL_NV_blend_square")) {
+#endif
+
+#ifdef GL_NV_evaluators
+ } else if (0 == strcmp(extension, "GL_NV_evaluators")) {
+ GLH_EXT_NAME(glMapControlPointsNV) = (PFNGLMAPCONTROLPOINTSNVPROC)GLH_EXT_GET_PROC_ADDRESS("glMapControlPointsNV");
+ if (NULL == GLH_EXT_NAME(glMapControlPointsNV))
+ return FALSE;
+ GLH_EXT_NAME(glMapParameterivNV) = (PFNGLMAPPARAMETERIVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glMapParameterivNV");
+ if (NULL == GLH_EXT_NAME(glMapParameterivNV))
+ return FALSE;
+ GLH_EXT_NAME(glMapParameterfvNV) = (PFNGLMAPPARAMETERFVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glMapParameterfvNV");
+ if (NULL == GLH_EXT_NAME(glMapParameterfvNV))
+ return FALSE;
+ GLH_EXT_NAME(glGetMapControlPointsNV) = (PFNGLGETMAPCONTROLPOINTSNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetMapControlPointsNV");
+ if (NULL == GLH_EXT_NAME(glGetMapControlPointsNV))
+ return FALSE;
+ GLH_EXT_NAME(glGetMapParameterivNV) = (PFNGLGETMAPPARAMETERIVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetMapParameterivNV");
+ if (NULL == GLH_EXT_NAME(glGetMapParameterivNV))
+ return FALSE;
+ GLH_EXT_NAME(glGetMapParameterfvNV) = (PFNGLGETMAPPARAMETERFVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetMapParameterfvNV");
+ if (NULL == GLH_EXT_NAME(glGetMapParameterfvNV))
+ return FALSE;
+ GLH_EXT_NAME(glGetMapAttribParameterivNV) = (PFNGLGETMAPATTRIBPARAMETERIVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetMapAttribParameterivNV");
+ if (NULL == GLH_EXT_NAME(glGetMapAttribParameterivNV))
+ return FALSE;
+ GLH_EXT_NAME(glGetMapAttribParameterfvNV) = (PFNGLGETMAPATTRIBPARAMETERFVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetMapAttribParameterfvNV");
+ if (NULL == GLH_EXT_NAME(glGetMapAttribParameterfvNV))
+ return FALSE;
+ GLH_EXT_NAME(glEvalMapsNV) = (PFNGLEVALMAPSNVPROC)GLH_EXT_GET_PROC_ADDRESS("glEvalMapsNV");
+ if (NULL == GLH_EXT_NAME(glEvalMapsNV))
+ return FALSE;
+#endif
+
+#ifdef GL_NV_fence
+ } else if (0 == strcmp(extension, "GL_NV_fence")) {
+ GLH_EXT_NAME(glGenFencesNV) = (PFNGLGENFENCESNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGenFencesNV");
+ if (NULL == GLH_EXT_NAME(glGenFencesNV))
+ return FALSE;
+ GLH_EXT_NAME(glDeleteFencesNV) = (PFNGLDELETEFENCESNVPROC)GLH_EXT_GET_PROC_ADDRESS("glDeleteFencesNV");
+ if (NULL == GLH_EXT_NAME(glDeleteFencesNV))
+ return FALSE;
+ GLH_EXT_NAME(glSetFenceNV) = (PFNGLSETFENCENVPROC)GLH_EXT_GET_PROC_ADDRESS("glSetFenceNV");
+ if (NULL == GLH_EXT_NAME(glSetFenceNV))
+ return FALSE;
+ GLH_EXT_NAME(glTestFenceNV) = (PFNGLTESTFENCENVPROC)GLH_EXT_GET_PROC_ADDRESS("glTestFenceNV");
+ if (NULL == GLH_EXT_NAME(glTestFenceNV))
+ return FALSE;
+ GLH_EXT_NAME(glFinishFenceNV) = (PFNGLFINISHFENCENVPROC)GLH_EXT_GET_PROC_ADDRESS("glFinishFenceNV");
+ if (NULL == GLH_EXT_NAME(glFinishFenceNV))
+ return FALSE;
+ GLH_EXT_NAME(glIsFenceNV) = (PFNGLISFENCENVPROC)GLH_EXT_GET_PROC_ADDRESS("glIsFenceNV");
+ if (NULL == GLH_EXT_NAME(glIsFenceNV))
+ return FALSE;
+ GLH_EXT_NAME(glGetFenceivNV) = (PFNGLGETFENCEIVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetFenceivNV");
+ if (NULL == GLH_EXT_NAME(glGetFenceivNV))
+ return FALSE;
+#endif
+
+#ifdef GL_NV_fog_distance
+ } else if (0 == strcmp(extension, "GL_NV_fog_distance")) {
+#endif
+
+#ifdef GL_NV_packed_depth_stencil
+ } else if (0 == strcmp(extension, "GL_NV_packed_depth_stencil")) {
+#endif
+
+#ifdef GL_NV_register_combiners
+ } else if (0 == strcmp(extension, "GL_NV_register_combiners")) {
+ GLH_EXT_NAME(glCombinerParameterfvNV) = (PFNGLCOMBINERPARAMETERFVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glCombinerParameterfvNV");
+ if (NULL == GLH_EXT_NAME(glCombinerParameterfvNV))
+ return FALSE;
+ GLH_EXT_NAME(glCombinerParameterfNV) = (PFNGLCOMBINERPARAMETERFNVPROC)GLH_EXT_GET_PROC_ADDRESS("glCombinerParameterfNV");
+ if (NULL == GLH_EXT_NAME(glCombinerParameterfNV))
+ return FALSE;
+ GLH_EXT_NAME(glCombinerParameterivNV) = (PFNGLCOMBINERPARAMETERIVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glCombinerParameterivNV");
+ if (NULL == GLH_EXT_NAME(glCombinerParameterivNV))
+ return FALSE;
+ GLH_EXT_NAME(glCombinerParameteriNV) = (PFNGLCOMBINERPARAMETERINVPROC)GLH_EXT_GET_PROC_ADDRESS("glCombinerParameteriNV");
+ if (NULL == GLH_EXT_NAME(glCombinerParameteriNV))
+ return FALSE;
+ GLH_EXT_NAME(glCombinerInputNV) = (PFNGLCOMBINERINPUTNVPROC)GLH_EXT_GET_PROC_ADDRESS("glCombinerInputNV");
+ if (NULL == GLH_EXT_NAME(glCombinerInputNV))
+ return FALSE;
+ GLH_EXT_NAME(glCombinerOutputNV) = (PFNGLCOMBINEROUTPUTNVPROC)GLH_EXT_GET_PROC_ADDRESS("glCombinerOutputNV");
+ if (NULL == GLH_EXT_NAME(glCombinerOutputNV))
+ return FALSE;
+ GLH_EXT_NAME(glFinalCombinerInputNV) = (PFNGLFINALCOMBINERINPUTNVPROC)GLH_EXT_GET_PROC_ADDRESS("glFinalCombinerInputNV");
+ if (NULL == GLH_EXT_NAME(glFinalCombinerInputNV))
+ return FALSE;
+ GLH_EXT_NAME(glGetCombinerInputParameterfvNV) = (PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetCombinerInputParameterfvNV");
+ if (NULL == GLH_EXT_NAME(glGetCombinerInputParameterfvNV))
+ return FALSE;
+ GLH_EXT_NAME(glGetCombinerInputParameterivNV) = (PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetCombinerInputParameterivNV");
+ if (NULL == GLH_EXT_NAME(glGetCombinerInputParameterivNV))
+ return FALSE;
+ GLH_EXT_NAME(glGetCombinerOutputParameterfvNV) = (PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetCombinerOutputParameterfvNV");
+ if (NULL == GLH_EXT_NAME(glGetCombinerOutputParameterfvNV))
+ return FALSE;
+ GLH_EXT_NAME(glGetCombinerOutputParameterivNV) = (PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetCombinerOutputParameterivNV");
+ if (NULL == GLH_EXT_NAME(glGetCombinerOutputParameterivNV))
+ return FALSE;
+ GLH_EXT_NAME(glGetFinalCombinerInputParameterfvNV) = (PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetFinalCombinerInputParameterfvNV");
+ if (NULL == GLH_EXT_NAME(glGetFinalCombinerInputParameterfvNV))
+ return FALSE;
+ GLH_EXT_NAME(glGetFinalCombinerInputParameterivNV) = (PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetFinalCombinerInputParameterivNV");
+ if (NULL == GLH_EXT_NAME(glGetFinalCombinerInputParameterivNV))
+ return FALSE;
+#endif
+
+#ifdef GL_NV_register_combiners2
+ } else if (0 == strcmp(extension, "GL_NV_register_combiners2")) {
+ GLH_EXT_NAME(glCombinerStageParameterfvNV) = (PFNGLCOMBINERSTAGEPARAMETERFVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glCombinerStageParameterfvNV");
+ if (NULL == GLH_EXT_NAME(glCombinerStageParameterfvNV))
+ return FALSE;
+ GLH_EXT_NAME(glGetCombinerStageParameterfvNV) = (PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetCombinerStageParameterfvNV");
+ if (NULL == GLH_EXT_NAME(glGetCombinerStageParameterfvNV))
+ return FALSE;
+#endif
+
+#ifdef GL_NV_texgen_reflection
+ } else if (0 == strcmp(extension, "GL_NV_texgen_reflection")) {
+#endif
+
+#ifdef GL_NV_texture_env_combine4
+ } else if (0 == strcmp(extension, "GL_NV_texture_env_combine4")) {
+#endif
+
+#ifdef GL_NV_texture_rectangle
+ } else if (0 == strcmp(extension, "GL_NV_texture_rectangle")) {
+#endif
+
+#ifdef GL_NV_texture_shader
+ } else if (0 == strcmp(extension, "GL_NV_texture_shader")) {
+#endif
+
+#ifdef GL_NV_vertex_array_range
+ } else if (0 == strcmp(extension, "GL_NV_vertex_array_range")) {
+ GLH_EXT_NAME(glFlushVertexArrayRangeNV) = (PFNGLFLUSHVERTEXARRAYRANGENVPROC)GLH_EXT_GET_PROC_ADDRESS("glFlushVertexArrayRangeNV");
+ if (NULL == GLH_EXT_NAME(glFlushVertexArrayRangeNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexArrayRangeNV) = (PFNGLVERTEXARRAYRANGENVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexArrayRangeNV");
+ if (NULL == GLH_EXT_NAME(glVertexArrayRangeNV))
+ return FALSE;
+# ifdef _WIN32
+ GLH_EXT_NAME(wglAllocateMemoryNV) = (PFNWGLALLOCATEMEMORYNVPROC)GLH_EXT_GET_PROC_ADDRESS("wglAllocateMemoryNV");
+ if (NULL == GLH_EXT_NAME(wglAllocateMemoryNV))
+ return FALSE;
+# endif
+# ifdef GLX_VERSION_1_3
+ GLH_EXT_NAME(glXAllocateMemoryNV) = (PFNGLXALLOCATEMEMORYNVPROC)GLH_EXT_GET_PROC_ADDRESS("glXAllocateMemoryNV");
+ if (NULL == GLH_EXT_NAME(glXAllocateMemoryNV))
+ return FALSE;
+# endif
+# ifdef _WIN32
+ GLH_EXT_NAME(wglFreeMemoryNV) = (PFNWGLFREEMEMORYNVPROC)GLH_EXT_GET_PROC_ADDRESS("wglFreeMemoryNV");
+ if (NULL == GLH_EXT_NAME(wglFreeMemoryNV))
+ return FALSE;
+# endif
+# ifdef GLX_VERSION_1_3
+ GLH_EXT_NAME(glXFreeMemoryNV) = (PFNGLXFREEMEMORYNVPROC)GLH_EXT_GET_PROC_ADDRESS("glXFreeMemoryNV");
+ if (NULL == GLH_EXT_NAME(glXFreeMemoryNV))
+ return FALSE;
+# endif
+#endif
+
+#ifdef GL_NV_vertex_program
+ } else if (0 == strcmp(extension, "GL_NV_vertex_program")) {
+ GLH_EXT_NAME(glAreProgramsResidentNV) = (PFNGLAREPROGRAMSRESIDENTNVPROC)GLH_EXT_GET_PROC_ADDRESS("glAreProgramsResidentNV");
+ if (NULL == GLH_EXT_NAME(glAreProgramsResidentNV))
+ return FALSE;
+ GLH_EXT_NAME(glBindProgramNV) = (PFNGLBINDPROGRAMNVPROC)GLH_EXT_GET_PROC_ADDRESS("glBindProgramNV");
+ if (NULL == GLH_EXT_NAME(glBindProgramNV))
+ return FALSE;
+ GLH_EXT_NAME(glDeleteProgramsNV) = (PFNGLDELETEPROGRAMSNVPROC)GLH_EXT_GET_PROC_ADDRESS("glDeleteProgramsNV");
+ if (NULL == GLH_EXT_NAME(glDeleteProgramsNV))
+ return FALSE;
+ GLH_EXT_NAME(glExecuteProgramNV) = (PFNGLEXECUTEPROGRAMNVPROC)GLH_EXT_GET_PROC_ADDRESS("glExecuteProgramNV");
+ if (NULL == GLH_EXT_NAME(glExecuteProgramNV))
+ return FALSE;
+ GLH_EXT_NAME(glGenProgramsNV) = (PFNGLGENPROGRAMSNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGenProgramsNV");
+ if (NULL == GLH_EXT_NAME(glGenProgramsNV))
+ return FALSE;
+ GLH_EXT_NAME(glGetProgramParameterdvNV) = (PFNGLGETPROGRAMPARAMETERDVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetProgramParameterdvNV");
+ if (NULL == GLH_EXT_NAME(glGetProgramParameterdvNV))
+ return FALSE;
+ GLH_EXT_NAME(glGetProgramParameterfvNV) = (PFNGLGETPROGRAMPARAMETERFVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetProgramParameterfvNV");
+ if (NULL == GLH_EXT_NAME(glGetProgramParameterfvNV))
+ return FALSE;
+ GLH_EXT_NAME(glGetProgramivNV) = (PFNGLGETPROGRAMIVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetProgramivNV");
+ if (NULL == GLH_EXT_NAME(glGetProgramivNV))
+ return FALSE;
+ GLH_EXT_NAME(glGetProgramStringNV) = (PFNGLGETPROGRAMSTRINGNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetProgramStringNV");
+ if (NULL == GLH_EXT_NAME(glGetProgramStringNV))
+ return FALSE;
+ GLH_EXT_NAME(glGetTrackMatrixivNV) = (PFNGLGETTRACKMATRIXIVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetTrackMatrixivNV");
+ if (NULL == GLH_EXT_NAME(glGetTrackMatrixivNV))
+ return FALSE;
+ GLH_EXT_NAME(glGetVertexAttribdvNV) = (PFNGLGETVERTEXATTRIBDVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetVertexAttribdvNV");
+ if (NULL == GLH_EXT_NAME(glGetVertexAttribdvNV))
+ return FALSE;
+ GLH_EXT_NAME(glGetVertexAttribfvNV) = (PFNGLGETVERTEXATTRIBFVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetVertexAttribfvNV");
+ if (NULL == GLH_EXT_NAME(glGetVertexAttribfvNV))
+ return FALSE;
+ GLH_EXT_NAME(glGetVertexAttribivNV) = (PFNGLGETVERTEXATTRIBIVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetVertexAttribivNV");
+ if (NULL == GLH_EXT_NAME(glGetVertexAttribivNV))
+ return FALSE;
+ GLH_EXT_NAME(glGetVertexAttribPointervNV) = (PFNGLGETVERTEXATTRIBPOINTERVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetVertexAttribPointervNV");
+ if (NULL == GLH_EXT_NAME(glGetVertexAttribPointervNV))
+ return FALSE;
+ GLH_EXT_NAME(glIsProgramNV) = (PFNGLISPROGRAMNVPROC)GLH_EXT_GET_PROC_ADDRESS("glIsProgramNV");
+ if (NULL == GLH_EXT_NAME(glIsProgramNV))
+ return FALSE;
+ GLH_EXT_NAME(glLoadProgramNV) = (PFNGLLOADPROGRAMNVPROC)GLH_EXT_GET_PROC_ADDRESS("glLoadProgramNV");
+ if (NULL == GLH_EXT_NAME(glLoadProgramNV))
+ return FALSE;
+ GLH_EXT_NAME(glProgramParameter4dNV) = (PFNGLPROGRAMPARAMETER4DNVPROC)GLH_EXT_GET_PROC_ADDRESS("glProgramParameter4dNV");
+ if (NULL == GLH_EXT_NAME(glProgramParameter4dNV))
+ return FALSE;
+ GLH_EXT_NAME(glProgramParameter4dvNV) = (PFNGLPROGRAMPARAMETER4DVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glProgramParameter4dvNV");
+ if (NULL == GLH_EXT_NAME(glProgramParameter4dvNV))
+ return FALSE;
+ GLH_EXT_NAME(glProgramParameter4fNV) = (PFNGLPROGRAMPARAMETER4FNVPROC)GLH_EXT_GET_PROC_ADDRESS("glProgramParameter4fNV");
+ if (NULL == GLH_EXT_NAME(glProgramParameter4fNV))
+ return FALSE;
+ GLH_EXT_NAME(glProgramParameter4fvNV) = (PFNGLPROGRAMPARAMETER4FVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glProgramParameter4fvNV");
+ if (NULL == GLH_EXT_NAME(glProgramParameter4fvNV))
+ return FALSE;
+ GLH_EXT_NAME(glProgramParameters4dvNV) = (PFNGLPROGRAMPARAMETERS4DVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glProgramParameters4dvNV");
+ if (NULL == GLH_EXT_NAME(glProgramParameters4dvNV))
+ return FALSE;
+ GLH_EXT_NAME(glProgramParameters4fvNV) = (PFNGLPROGRAMPARAMETERS4FVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glProgramParameters4fvNV");
+ if (NULL == GLH_EXT_NAME(glProgramParameters4fvNV))
+ return FALSE;
+ GLH_EXT_NAME(glRequestResidentProgramsNV) = (PFNGLREQUESTRESIDENTPROGRAMSNVPROC)GLH_EXT_GET_PROC_ADDRESS("glRequestResidentProgramsNV");
+ if (NULL == GLH_EXT_NAME(glRequestResidentProgramsNV))
+ return FALSE;
+ GLH_EXT_NAME(glTrackMatrixNV) = (PFNGLTRACKMATRIXNVPROC)GLH_EXT_GET_PROC_ADDRESS("glTrackMatrixNV");
+ if (NULL == GLH_EXT_NAME(glTrackMatrixNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttribPointerNV) = (PFNGLVERTEXATTRIBPOINTERNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttribPointerNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttribPointerNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttrib1dNV) = (PFNGLVERTEXATTRIB1DNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib1dNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib1dNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttrib1dvNV) = (PFNGLVERTEXATTRIB1DVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib1dvNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib1dvNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttrib1fNV) = (PFNGLVERTEXATTRIB1FNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib1fNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib1fNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttrib1fvNV) = (PFNGLVERTEXATTRIB1FVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib1fvNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib1fvNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttrib1sNV) = (PFNGLVERTEXATTRIB1SNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib1sNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib1sNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttrib1svNV) = (PFNGLVERTEXATTRIB1SVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib1svNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib1svNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttrib2dNV) = (PFNGLVERTEXATTRIB2DNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib2dNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib2dNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttrib2dvNV) = (PFNGLVERTEXATTRIB2DVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib2dvNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib2dvNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttrib2fNV) = (PFNGLVERTEXATTRIB2FNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib2fNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib2fNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttrib2fvNV) = (PFNGLVERTEXATTRIB2FVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib2fvNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib2fvNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttrib2sNV) = (PFNGLVERTEXATTRIB2SNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib2sNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib2sNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttrib2svNV) = (PFNGLVERTEXATTRIB2SVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib2svNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib2svNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttrib3dNV) = (PFNGLVERTEXATTRIB3DNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib3dNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib3dNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttrib3dvNV) = (PFNGLVERTEXATTRIB3DVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib3dvNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib3dvNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttrib3fNV) = (PFNGLVERTEXATTRIB3FNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib3fNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib3fNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttrib3fvNV) = (PFNGLVERTEXATTRIB3FVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib3fvNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib3fvNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttrib3sNV) = (PFNGLVERTEXATTRIB3SNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib3sNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib3sNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttrib3svNV) = (PFNGLVERTEXATTRIB3SVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib3svNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib3svNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttrib4dNV) = (PFNGLVERTEXATTRIB4DNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4dNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib4dNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttrib4dvNV) = (PFNGLVERTEXATTRIB4DVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4dvNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib4dvNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttrib4fNV) = (PFNGLVERTEXATTRIB4FNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4fNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib4fNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttrib4fvNV) = (PFNGLVERTEXATTRIB4FVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4fvNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib4fvNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttrib4sNV) = (PFNGLVERTEXATTRIB4SNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4sNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib4sNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttrib4svNV) = (PFNGLVERTEXATTRIB4SVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4svNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib4svNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttrib4ubvNV) = (PFNGLVERTEXATTRIB4UBVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4ubvNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttrib4ubvNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttribs1dvNV) = (PFNGLVERTEXATTRIBS1DVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttribs1dvNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttribs1dvNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttribs1fvNV) = (PFNGLVERTEXATTRIBS1FVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttribs1fvNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttribs1fvNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttribs1svNV) = (PFNGLVERTEXATTRIBS1SVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttribs1svNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttribs1svNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttribs2dvNV) = (PFNGLVERTEXATTRIBS2DVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttribs2dvNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttribs2dvNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttribs2fvNV) = (PFNGLVERTEXATTRIBS2FVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttribs2fvNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttribs2fvNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttribs2svNV) = (PFNGLVERTEXATTRIBS2SVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttribs2svNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttribs2svNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttribs3dvNV) = (PFNGLVERTEXATTRIBS3DVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttribs3dvNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttribs3dvNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttribs3fvNV) = (PFNGLVERTEXATTRIBS3FVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttribs3fvNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttribs3fvNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttribs3svNV) = (PFNGLVERTEXATTRIBS3SVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttribs3svNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttribs3svNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttribs4dvNV) = (PFNGLVERTEXATTRIBS4DVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttribs4dvNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttribs4dvNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttribs4fvNV) = (PFNGLVERTEXATTRIBS4FVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttribs4fvNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttribs4fvNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttribs4svNV) = (PFNGLVERTEXATTRIBS4SVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttribs4svNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttribs4svNV))
+ return FALSE;
+ GLH_EXT_NAME(glVertexAttribs4ubvNV) = (PFNGLVERTEXATTRIBS4UBVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttribs4ubvNV");
+ if (NULL == GLH_EXT_NAME(glVertexAttribs4ubvNV))
+ return FALSE;
+#endif
+
+#ifdef GL_SGIS_generate_mipmap
+ } else if (0 == strcmp(extension, "GL_SGIS_generate_mipmap")) {
+#endif
+
+#ifdef GL_SGIS_texture_lod
+ } else if (0 == strcmp(extension, "GL_SGIS_texture_lod")) {
+#endif
+
+#ifdef GL_SGIX_depth_texture
+ } else if (0 == strcmp(extension, "GL_SGIX_depth_texture")) {
+#endif
+
+#ifdef GL_SGIX_shadow
+ } else if (0 == strcmp(extension, "GL_SGIX_shadow")) {
+#endif
+
+#ifdef GL_VERSION_1_2
+ } else if (0 == strcmp(extension, "GL_VERSION_1_2")) {
+ GLH_CORE_1_2_NAME(glBlendColor) = (PFNGLBLENDCOLORPROC)GLH_EXT_GET_PROC_ADDRESS("glBlendColor");
+ if (NULL == GLH_CORE_1_2_NAME(glBlendColor))
+ return FALSE;
+ GLH_CORE_1_2_NAME(glBlendEquation) = (PFNGLBLENDEQUATIONPROC)GLH_EXT_GET_PROC_ADDRESS("glBlendEquation");
+ if (NULL == GLH_CORE_1_2_NAME(glBlendEquation))
+ return FALSE;
+ GLH_CORE_1_2_NAME(glDrawRangeElements) = (PFNGLDRAWRANGEELEMENTSPROC)GLH_EXT_GET_PROC_ADDRESS("glDrawRangeElements");
+ if (NULL == GLH_CORE_1_2_NAME(glDrawRangeElements))
+ return FALSE;
+ GLH_CORE_1_2_NAME(glColorTable) = (PFNGLCOLORTABLEPROC)GLH_EXT_GET_PROC_ADDRESS("glColorTable");
+ if (NULL == GLH_CORE_1_2_NAME(glColorTable))
+ return FALSE;
+ GLH_CORE_1_2_NAME(glColorTableParameterfv) = (PFNGLCOLORTABLEPARAMETERFVPROC)GLH_EXT_GET_PROC_ADDRESS("glColorTableParameterfv");
+ if (NULL == GLH_CORE_1_2_NAME(glColorTableParameterfv))
+ return FALSE;
+ GLH_CORE_1_2_NAME(glColorTableParameteriv) = (PFNGLCOLORTABLEPARAMETERIVPROC)GLH_EXT_GET_PROC_ADDRESS("glColorTableParameteriv");
+ if (NULL == GLH_CORE_1_2_NAME(glColorTableParameteriv))
+ return FALSE;
+ GLH_CORE_1_2_NAME(glCopyColorTable) = (PFNGLCOPYCOLORTABLEPROC)GLH_EXT_GET_PROC_ADDRESS("glCopyColorTable");
+ if (NULL == GLH_CORE_1_2_NAME(glCopyColorTable))
+ return FALSE;
+ GLH_CORE_1_2_NAME(glGetColorTable) = (PFNGLGETCOLORTABLEPROC)GLH_EXT_GET_PROC_ADDRESS("glGetColorTable");
+ if (NULL == GLH_CORE_1_2_NAME(glGetColorTable))
+ return FALSE;
+ GLH_CORE_1_2_NAME(glGetColorTableParameterfv) = (PFNGLGETCOLORTABLEPARAMETERFVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetColorTableParameterfv");
+ if (NULL == GLH_CORE_1_2_NAME(glGetColorTableParameterfv))
+ return FALSE;
+ GLH_CORE_1_2_NAME(glGetColorTableParameteriv) = (PFNGLGETCOLORTABLEPARAMETERIVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetColorTableParameteriv");
+ if (NULL == GLH_CORE_1_2_NAME(glGetColorTableParameteriv))
+ return FALSE;
+ GLH_CORE_1_2_NAME(glTexImage3D) = (PFNGLTEXIMAGE3DPROC)GLH_EXT_GET_PROC_ADDRESS("glTexImage3D");
+ if (NULL == GLH_CORE_1_2_NAME(glTexImage3D))
+ return FALSE;
+ GLH_CORE_1_2_NAME(glTexSubImage3D) = (PFNGLTEXSUBIMAGE3DPROC)GLH_EXT_GET_PROC_ADDRESS("glTexSubImage3D");
+ if (NULL == GLH_CORE_1_2_NAME(glTexSubImage3D))
+ return FALSE;
+ GLH_CORE_1_2_NAME(glCopyTexSubImage3D) = (PFNGLCOPYTEXSUBIMAGE3DPROC)GLH_EXT_GET_PROC_ADDRESS("glCopyTexSubImage3D");
+ if (NULL == GLH_CORE_1_2_NAME(glCopyTexSubImage3D))
+ return FALSE;
+#endif
+
+#ifdef GL_WIN_swap_hint
+ } else if (0 == strcmp(extension, "GL_WIN_swap_hint")) {
+ GLH_EXT_NAME(glAddSwapHintRectWIN) = (PFNGLADDSWAPHINTRECTWINPROC)GLH_EXT_GET_PROC_ADDRESS("glAddSwapHintRectWIN");
+ if (NULL == GLH_EXT_NAME(glAddSwapHintRectWIN))
+ return FALSE;
+#endif
+
+#ifdef WGL_ARB_pbuffer
+ } else if (0 == strcmp(extension, "WGL_ARB_pbuffer")) {
+# ifdef _WIN32
+ GLH_EXT_NAME(wglCreatePbufferARB) = (PFNWGLCREATEPBUFFERARBPROC)GLH_EXT_GET_PROC_ADDRESS("wglCreatePbufferARB");
+ if (NULL == GLH_EXT_NAME(wglCreatePbufferARB))
+ return FALSE;
+# endif
+# ifdef _WIN32
+ GLH_EXT_NAME(wglGetPbufferDCARB) = (PFNWGLGETPBUFFERDCARBPROC)GLH_EXT_GET_PROC_ADDRESS("wglGetPbufferDCARB");
+ if (NULL == GLH_EXT_NAME(wglGetPbufferDCARB))
+ return FALSE;
+# endif
+# ifdef _WIN32
+ GLH_EXT_NAME(wglReleasePbufferDCARB) = (PFNWGLRELEASEPBUFFERDCARBPROC)GLH_EXT_GET_PROC_ADDRESS("wglReleasePbufferDCARB");
+ if (NULL == GLH_EXT_NAME(wglReleasePbufferDCARB))
+ return FALSE;
+# endif
+# ifdef _WIN32
+ GLH_EXT_NAME(wglDestroyPbufferARB) = (PFNWGLDESTROYPBUFFERARBPROC)GLH_EXT_GET_PROC_ADDRESS("wglDestroyPbufferARB");
+ if (NULL == GLH_EXT_NAME(wglDestroyPbufferARB))
+ return FALSE;
+# endif
+# ifdef _WIN32
+ GLH_EXT_NAME(wglQueryPbufferARB) = (PFNWGLQUERYPBUFFERARBPROC)GLH_EXT_GET_PROC_ADDRESS("wglQueryPbufferARB");
+ if (NULL == GLH_EXT_NAME(wglQueryPbufferARB))
+ return FALSE;
+# endif
+#endif
+
+#ifdef WGL_ARB_render_texture
+# ifdef _WIN32
+ GLH_EXT_NAME(wglBindTexImageARB) = (PFNWGLBINDTEXIMAGEARBPROC)GLH_EXT_GET_PROC_ADDRESS("wglBindTexImageARB");
+ if (NULL == GLH_EXT_NAME(wglBindTexImageARB))
+ return FALSE;
+# endif
+# ifdef _WIN32
+ GLH_EXT_NAME(wglReleaseTexImageARB) = (PFNWGLRELEASETEXIMAGEARBPROC)GLH_EXT_GET_PROC_ADDRESS("wglReleaseTexImageARB");
+ if (NULL == GLH_EXT_NAME(wglReleaseTexImageARB))
+ return FALSE;
+# endif
+# ifdef _WIN32
+ GLH_EXT_NAME(wglSetPbufferAttribARB) = (PFNWGLSETPBUFFERATTRIBARBPROC)GLH_EXT_GET_PROC_ADDRESS("wglSetPbufferAttribARB");
+ if (NULL == GLH_EXT_NAME(wglSetPbufferAttribARB))
+ return FALSE;
+# endif
+#endif
+
+#ifdef WGL_ARB_pixel_format
+ } else if (0 == strcmp(extension, "WGL_ARB_pixel_format")) {
+# ifdef _WIN32
+ GLH_EXT_NAME(wglGetPixelFormatAttribivARB) = (PFNWGLGETPIXELFORMATATTRIBIVARBPROC)GLH_EXT_GET_PROC_ADDRESS("wglGetPixelFormatAttribivARB");
+ if (NULL == GLH_EXT_NAME(wglGetPixelFormatAttribivARB))
+ return FALSE;
+# endif
+# ifdef _WIN32
+ GLH_EXT_NAME(wglGetPixelFormatAttribfvARB) = (PFNWGLGETPIXELFORMATATTRIBFVARBPROC)GLH_EXT_GET_PROC_ADDRESS("wglGetPixelFormatAttribfvARB");
+ if (NULL == GLH_EXT_NAME(wglGetPixelFormatAttribfvARB))
+ return FALSE;
+# endif
+# ifdef _WIN32
+ GLH_EXT_NAME(wglChoosePixelFormatARB) = (PFNWGLCHOOSEPIXELFORMATARBPROC)GLH_EXT_GET_PROC_ADDRESS("wglChoosePixelFormatARB");
+ if (NULL == GLH_EXT_NAME(wglChoosePixelFormatARB))
+ return FALSE;
+# endif
+#endif
+
+ } else {
+ return FALSE;
+ }
+ return TRUE;
+}
+#endif
+
+#else // defined(__APPLE__)
+
+#ifdef GLH_EXT_SINGLE_FILE
+
+int glh_init_extension(const char* extension)
+{
+ // MBW -- XXX -- Should this check for extension availability?
+ return TRUE;
+}
+#endif // GLH_EXT_SINGLE_FILE
+
+#endif // defined(__APPLE__)
+
+#undef GLH_EXT_SINGLE_FILE
+
+#endif /* GLH_GENEXT_H */
diff --git a/indra/llwindow/llwindow.cpp b/indra/llwindow/llwindow.cpp
index 1c1e1b6f2b..d954bdf86b 100644
--- a/indra/llwindow/llwindow.cpp
+++ b/indra/llwindow/llwindow.cpp
@@ -417,8 +417,8 @@ void LLSplashScreen::hide()
static std::set<LLWindow*> sWindowList;
LLWindow* LLWindowManager::createWindow(
- char *title,
- char *name,
+ const char *title,
+ const char *name,
LLCoordScreen upper_left,
LLCoordScreen size,
U32 flags,
@@ -434,7 +434,7 @@ LLWindow* LLWindowManager::createWindow(
}
LLWindow* LLWindowManager::createWindow(
- char *title, char *name, S32 x, S32 y, S32 width, S32 height, U32 flags,
+ const char *title, const char *name, S32 x, S32 y, S32 width, S32 height, U32 flags,
BOOL fullscreen,
BOOL clearBg,
BOOL disable_vsync,
diff --git a/indra/llwindow/llwindow.h b/indra/llwindow/llwindow.h
index 7a7c14fa35..9fc91d3643 100644
--- a/indra/llwindow/llwindow.h
+++ b/indra/llwindow/llwindow.h
@@ -325,8 +325,8 @@ class LLWindowManager
{
public:
static LLWindow* createWindow(
- char *title,
- char *name,
+ const char *title,
+ const char *name,
LLCoordScreen upper_left = LLCoordScreen(10, 10),
LLCoordScreen size = LLCoordScreen(320, 240),
U32 flags = 0,
@@ -336,7 +336,7 @@ public:
BOOL use_gl = TRUE,
BOOL ignore_pixel_depth = FALSE);
static LLWindow *createWindow(
- char* title, char* name, S32 x, S32 y, S32 width, S32 height,
+ const char* title, const char* name, S32 x, S32 y, S32 width, S32 height,
U32 flags = 0,
BOOL fullscreen = FALSE,
BOOL clearBg = FALSE,
diff --git a/indra/llwindow/llwindowheadless.cpp b/indra/llwindow/llwindowheadless.cpp
index 1b55791467..77bee891b7 100644
--- a/indra/llwindow/llwindowheadless.cpp
+++ b/indra/llwindow/llwindowheadless.cpp
@@ -37,7 +37,7 @@
//
// LLWindowHeadless
//
-LLWindowHeadless::LLWindowHeadless(char *title, char *name, S32 x, S32 y, S32 width, S32 height,
+LLWindowHeadless::LLWindowHeadless(const char *title, const char *name, S32 x, S32 y, S32 width, S32 height,
U32 flags, BOOL fullscreen, BOOL clearBg,
BOOL disable_vsync, BOOL use_gl, BOOL ignore_pixel_depth)
: LLWindow(fullscreen, flags)
diff --git a/indra/llwindow/llwindowheadless.h b/indra/llwindow/llwindowheadless.h
index a138814241..1970a03931 100644
--- a/indra/llwindow/llwindowheadless.h
+++ b/indra/llwindow/llwindowheadless.h
@@ -99,7 +99,7 @@ public:
/*virtual*/ void *getPlatformWindow() { return 0; };
/*virtual*/ void bringToFront() {};
- LLWindowHeadless(char *title, char *name, S32 x, S32 y, S32 width, S32 height,
+ LLWindowHeadless(const char *title, const char *name, S32 x, S32 y, S32 width, S32 height,
U32 flags, BOOL fullscreen, BOOL clearBg,
BOOL disable_vsync, BOOL use_gl, BOOL ignore_pixel_depth);
virtual ~LLWindowHeadless();
diff --git a/indra/llwindow/llwindowmacosx.cpp b/indra/llwindow/llwindowmacosx.cpp
index 4940e06f39..22b594d745 100644
--- a/indra/llwindow/llwindowmacosx.cpp
+++ b/indra/llwindow/llwindowmacosx.cpp
@@ -29,8 +29,6 @@
* $/LicenseInfo$
*/
-#if LL_DARWIN
-
#include "linden_common.h"
#include <Carbon/Carbon.h>
@@ -42,10 +40,6 @@
#include "llgl.h"
#include "llstring.h"
#include "lldir.h"
-#include "llviewercontrol.h"
-
-#include "llglheaders.h"
-
#include "indra_constants.h"
#include "llwindowmacosx-objc.h"
@@ -66,6 +60,8 @@ const S32 MAX_NUM_RESOLUTIONS = 32;
// LLWindowMacOSX
//
+BOOL LLWindowMacOSX::sUseMultGL = FALSE;
+
// Cross-platform bits:
void show_window_creation_error(const char* title)
@@ -242,7 +238,7 @@ static LLWindowMacOSX *gWindowImplementation = NULL;
-LLWindowMacOSX::LLWindowMacOSX(char *title, char *name, S32 x, S32 y, S32 width,
+LLWindowMacOSX::LLWindowMacOSX(const char *title, const char *name, S32 x, S32 y, S32 width,
S32 height, U32 flags,
BOOL fullscreen, BOOL clearBg,
BOOL disable_vsync, BOOL use_gl,
@@ -809,7 +805,7 @@ BOOL LLWindowMacOSX::createContext(int x, int y, int width, int height, int bits
aglSetInteger(mContext, AGL_SWAP_INTERVAL, &frames_per_swap);
//enable multi-threaded OpenGL
- if (gSavedSettings.getBOOL("RenderAppleUseMultGL"))
+ if (sUseMultGL)
{
CGLError cgl_err;
CGLContextObj ctx = CGLGetCurrentContext();
@@ -3286,7 +3282,7 @@ void *LLWindowMacOSX::getPlatformWindow()
dummywindowref = NewCWindow(
NULL,
&window_rect,
- "\p",
+ (ConstStr255Param) "\p",
false, // Create the window invisible.
zoomDocProc, // Window with a grow box and a zoom box
kLastWindowOfClass, // create it behind other windows
@@ -3402,5 +3398,3 @@ std::string LLWindowMacOSX::getFontListSans()
// The third filename is in UTF8, but it shows up in the font menu as "STHeiti Light"
return "\xE3\x83\x92\xE3\x83\xA9\xE3\x82\xAD\xE3\x82\x99\xE3\x83\x8E\xE8\xA7\x92\xE3\x82\xB3\xE3\x82\x99 Pro W3.otf;\xE3\x83\x92\xE3\x83\xA9\xE3\x82\xAD\xE3\x82\x99\xE3\x83\x8E\xE8\xA7\x92\xE3\x82\xB3\xE3\x82\x99 ProN W3.otf;AppleGothic.dfont;AppleGothic.ttf;\xe5\x8d\x8e\xe6\x96\x87\xe7\xbb\x86\xe9\xbb\x91.ttf";
}
-
-#endif // LL_DARWIN
diff --git a/indra/llwindow/llwindowmacosx.h b/indra/llwindow/llwindowmacosx.h
index 0534893aa7..171ec9864a 100644
--- a/indra/llwindow/llwindowmacosx.h
+++ b/indra/llwindow/llwindowmacosx.h
@@ -120,7 +120,7 @@ public:
protected:
LLWindowMacOSX(
- char *title, char *name, int x, int y, int width, int height, U32 flags,
+ const char *title, const char *name, int x, int y, int width, int height, U32 flags,
BOOL fullscreen, BOOL clearBg, BOOL disable_vsync, BOOL use_gl,
BOOL ignore_pixel_depth,
U32 fsaa_samples);
@@ -203,6 +203,8 @@ protected:
LangCode mTSMLangCode;
LLPreeditor* mPreeditor;
+ static BOOL sUseMultGL;
+
friend class LLWindowManager;
};
diff --git a/indra/llwindow/llwindowmesaheadless.cpp b/indra/llwindow/llwindowmesaheadless.cpp
index f32ca01888..b24d3b91f8 100644
--- a/indra/llwindow/llwindowmesaheadless.cpp
+++ b/indra/llwindow/llwindowmesaheadless.cpp
@@ -29,14 +29,11 @@
* $/LicenseInfo$
*/
-#if LL_MESA_HEADLESS
-
#include "linden_common.h"
#include "indra_constants.h"
#include "llwindowmesaheadless.h"
#include "llgl.h"
-#include "llglheaders.h"
#define MESA_CHANNEL_TYPE GL_UNSIGNED_SHORT
#define MESA_CHANNEL_SIZE 2
@@ -46,7 +43,7 @@ U16 *gMesaBuffer = NULL;
//
// LLWindowMesaHeadless
//
-LLWindowMesaHeadless::LLWindowMesaHeadless(char *title, char *name, S32 x, S32 y, S32 width, S32 height,
+LLWindowMesaHeadless::LLWindowMesaHeadless(const char *title, const char *name, S32 x, S32 y, S32 width, S32 height,
U32 flags, BOOL fullscreen, BOOL clearBg,
BOOL disable_vsync, BOOL use_gl, BOOL ignore_pixel_depth)
: LLWindow(fullscreen, flags)
@@ -83,5 +80,3 @@ void LLWindowMesaHeadless::swapBuffers()
{
glFinish();
}
-
-#endif
diff --git a/indra/llwindow/llwindowmesaheadless.h b/indra/llwindow/llwindowmesaheadless.h
index 4ed88d7b81..4ecc971abb 100644
--- a/indra/llwindow/llwindowmesaheadless.h
+++ b/indra/llwindow/llwindowmesaheadless.h
@@ -103,7 +103,7 @@ public:
/*virtual*/ void *getPlatformWindow() { return 0; };
/*virtual*/ void bringToFront() {};
- LLWindowMesaHeadless(char *title, char *name, S32 x, S32 y, S32 width, S32 height,
+ LLWindowMesaHeadless(const char *title, const char *name, S32 x, S32 y, S32 width, S32 height,
U32 flags, BOOL fullscreen, BOOL clearBg,
BOOL disable_vsync, BOOL use_gl, BOOL ignore_pixel_depth);
~LLWindowMesaHeadless();
diff --git a/indra/llwindow/llwindowsdl.cpp b/indra/llwindow/llwindowsdl.cpp
index 8ca0b4b4b8..50925dcebf 100644
--- a/indra/llwindow/llwindowsdl.cpp
+++ b/indra/llwindow/llwindowsdl.cpp
@@ -41,8 +41,6 @@
#include "lldir.h"
#include "llfindlocale.h"
-#include "llglheaders.h"
-
#include "indra_constants.h"
#if LL_GTK
@@ -219,7 +217,7 @@ BOOL check_for_card(const char* RENDERER, const char* bad_card)
-LLWindowSDL::LLWindowSDL(char *title, S32 x, S32 y, S32 width,
+LLWindowSDL::LLWindowSDL(const char *title, S32 x, S32 y, S32 width,
S32 height, U32 flags,
BOOL fullscreen, BOOL clearBg,
BOOL disable_vsync, BOOL use_gl,
diff --git a/indra/llwindow/llwindowsdl.h b/indra/llwindow/llwindowsdl.h
index 58bb93bbc7..f878ded891 100644
--- a/indra/llwindow/llwindowsdl.h
+++ b/indra/llwindow/llwindowsdl.h
@@ -134,7 +134,7 @@ public:
protected:
LLWindowSDL(
- char *title, int x, int y, int width, int height, U32 flags,
+ const char *title, int x, int y, int width, int height, U32 flags,
BOOL fullscreen, BOOL clearBg, BOOL disable_vsync, BOOL use_gl,
BOOL ignore_pixel_depth, U32 fsaa_samples);
~LLWindowSDL();
diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp
index 841cac941a..3ed566062f 100644
--- a/indra/llwindow/llwindowwin32.cpp
+++ b/indra/llwindow/llwindowwin32.cpp
@@ -54,8 +54,6 @@
#include "llstring.h"
#include "lldir.h"
-#include "llglheaders.h"
-
#include "indra_constants.h"
#include "llpreeditor.h"
@@ -359,7 +357,7 @@ LLWinImm::~LLWinImm()
}
-LLWindowWin32::LLWindowWin32(char *title, char *name, S32 x, S32 y, S32 width,
+LLWindowWin32::LLWindowWin32(const char *title, const char *name, S32 x, S32 y, S32 width,
S32 height, U32 flags,
BOOL fullscreen, BOOL clearBg,
BOOL disable_vsync, BOOL use_gl,
diff --git a/indra/llwindow/llwindowwin32.h b/indra/llwindow/llwindowwin32.h
index 38836e0d81..039774f138 100644
--- a/indra/llwindow/llwindowwin32.h
+++ b/indra/llwindow/llwindowwin32.h
@@ -120,7 +120,7 @@ public:
protected:
LLWindowWin32(
- char *title, char *name, int x, int y, int width, int height, U32 flags,
+ const char *title, const char *name, int x, int y, int width, int height, U32 flags,
BOOL fullscreen, BOOL clearBg, BOOL disable_vsync, BOOL use_gl,
BOOL ignore_pixel_depth, U32 fsaa_samples);
~LLWindowWin32();