/indra/llrender/llglheaders.h
C Header | 1013 lines | 780 code | 91 blank | 142 comment | 4 complexity | e9a5015921226b7e080b298772a616a7 MD5 | raw file
Possible License(s): LGPL-2.1
- /**
- * @file llglheaders.h
- * @brief LLGL definitions
- *
- * $LicenseInfo:firstyear=2001&license=viewerlgpl$
- * Second Life Viewer Source Code
- * Copyright (C) 2010, Linden Research, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License only.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
- * $/LicenseInfo$
- */
- #ifndef LL_LLGLHEADERS_H
- #define LL_LLGLHEADERS_H
- #if LL_SOLARIS
- # if defined(__sparc)
- # define I_NEED_OS2_H // avoiding BOOL conflicts
- # endif
- # include "GL/gl.h"
- # if defined(__sparc)
- # undef I_NEED_OS2_H
- # ifdef BOOL
- # undef BOOL // now get rid of Xmd.h crap
- # endif
- # endif
- # include "GL/glx.h"
- # define GL_GLEXT_PROTOTYPES 1
- # include "GL/glext.h"
- # include "GL/glu.h"
- # include "GL/glx.h"
- # define GLX_GLXEXT_PROTOTYPES 1
- # include "GL/glxext.h"
- //# define GLH_EXT_GET_PROC_ADDRESS(p) glXGetProcAddressARB((const GLubyte*)(p))
- # define GLH_EXT_GET_PROC_ADDRESS(p) glXGetProcAddress((const GLubyte*)(p))
- // The __APPLE__ kludge is to make glh_extensions.h not symbol-clash horribly
- // This header is distributed with SL. You'll find it in linden/libraries/include/GL/
- # define __APPLE__
- # include "GL/glh_extensions.h"
- # undef __APPLE__
- // GL_ARB_vertex_buffer_object
- extern PFNGLBINDBUFFERARBPROC glBindBufferARB;
- extern PFNGLDELETEBUFFERSARBPROC glDeleteBuffersARB;
- extern PFNGLGENBUFFERSARBPROC glGenBuffersARB;
- extern PFNGLISBUFFERARBPROC glIsBufferARB;
- extern PFNGLBUFFERDATAARBPROC glBufferDataARB;
- extern PFNGLBUFFERSUBDATAARBPROC glBufferSubDataARB;
- extern PFNGLGETBUFFERSUBDATAARBPROC glGetBufferSubDataARB;
- extern PFNGLMAPBUFFERARBPROC glMapBufferARB;
- extern PFNGLUNMAPBUFFERARBPROC glUnmapBufferARB;
- extern PFNGLGETBUFFERPARAMETERIVARBPROC glGetBufferParameterivARB;
- extern PFNGLGETBUFFERPOINTERVARBPROC glGetBufferPointervARB;
- // GL_ARB_vertex_array_object
- extern PFNGLBINDVERTEXARRAYPROC glBindVertexArray;
- extern PFNGLDELETEVERTEXARRAYSPROC glDeleteVertexArrays;
- extern PFNGLGENVERTEXARRAYSPROC glGenVertexArrays;
- extern PFNGLISVERTEXARRAYPROC glIsVertexArray;
- // GL_ARB_sync
- extern PFNGLFENCESYNCPROC glFenceSync;
- extern PFNGLISSYNCPROC glIsSync;
- extern PFNGLDELETESYNCPROC glDeleteSync;
- extern PFNGLCLIENTWAITSYNCPROC glClientWaitSync;
- extern PFNGLWAITSYNCPROC glWaitSync;
- extern PFNGLGETINTEGER64VPROC glGetInteger64v;
- extern PFNGLGETSYNCIVPROC glGetSynciv;
- // GL_APPLE_flush_buffer_range
- extern PFNGLBUFFERPARAMETERIAPPLEPROC glBufferParameteriAPPLE;
- extern PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC glFlushMappedBufferRangeAPPLE;
- // GL_ARB_map_buffer_range
- extern PFNGLMAPBUFFERRANGEPROC glMapBufferRange;
- extern PFNGLFLUSHMAPPEDBUFFERRANGEPROC glFlushMappedBufferRange;
- // GL_ATI_vertex_array_object
- extern PFNGLNEWOBJECTBUFFERATIPROC glNewObjectBufferATI;
- extern PFNGLISOBJECTBUFFERATIPROC glIsObjectBufferATI;
- extern PFNGLUPDATEOBJECTBUFFERATIPROC glUpdateObjectBufferATI;
- extern PFNGLGETOBJECTBUFFERFVATIPROC glGetObjectBufferfvATI;
- extern PFNGLGETOBJECTBUFFERIVATIPROC glGetObjectBufferivATI;
- extern PFNGLFREEOBJECTBUFFERATIPROC glFreeObjectBufferATI;
- extern PFNGLARRAYOBJECTATIPROC glArrayObjectATI;
- extern PFNGLVERTEXATTRIBARRAYOBJECTATIPROC glVertexAttribArrayObjectATI;
- extern PFNGLGETARRAYOBJECTFVATIPROC glGetArrayObjectfvATI;
- extern PFNGLGETARRAYOBJECTIVATIPROC glGetArrayObjectivATI;
- extern PFNGLVARIANTARRAYOBJECTATIPROC glVariantObjectArrayATI;
- extern PFNGLGETVARIANTARRAYOBJECTFVATIPROC glGetVariantArrayObjectfvATI;
- extern PFNGLGETVARIANTARRAYOBJECTIVATIPROC glGetVariantArrayObjectivATI;
- // GL_ARB_occlusion_query
- extern PFNGLGENQUERIESARBPROC glGenQueriesARB;
- extern PFNGLDELETEQUERIESARBPROC glDeleteQueriesARB;
- extern PFNGLISQUERYARBPROC glIsQueryARB;
- extern PFNGLBEGINQUERYARBPROC glBeginQueryARB;
- extern PFNGLENDQUERYARBPROC glEndQueryARB;
- extern PFNGLGETQUERYIVARBPROC glGetQueryivARB;
- extern PFNGLGETQUERYOBJECTIVARBPROC glGetQueryObjectivARB;
- extern PFNGLGETQUERYOBJECTUIVARBPROC glGetQueryObjectuivARB;
- // GL_ARB_point_parameters
- extern PFNGLPOINTPARAMETERFARBPROC glPointParameterfARB;
- extern PFNGLPOINTPARAMETERFVARBPROC glPointParameterfvARB;
- // GL_ARB_shader_objects
- extern PFNGLDELETEOBJECTARBPROC glDeleteObjectARB;
- extern PFNGLGETHANDLEARBPROC glGetHandleARB;
- extern PFNGLDETACHOBJECTARBPROC glDetachObjectARB;
- extern PFNGLCREATESHADEROBJECTARBPROC glCreateShaderObjectARB;
- extern PFNGLSHADERSOURCEARBPROC glShaderSourceARB;
- extern PFNGLCOMPILESHADERARBPROC glCompileShaderARB;
- extern PFNGLCREATEPROGRAMOBJECTARBPROC glCreateProgramObjectARB;
- extern PFNGLATTACHOBJECTARBPROC glAttachObjectARB;
- extern PFNGLLINKPROGRAMARBPROC glLinkProgramARB;
- extern PFNGLUSEPROGRAMOBJECTARBPROC glUseProgramObjectARB;
- extern PFNGLVALIDATEPROGRAMARBPROC glValidateProgramARB;
- extern PFNGLUNIFORM1FARBPROC glUniform1fARB;
- extern PFNGLUNIFORM2FARBPROC glUniform2fARB;
- extern PFNGLUNIFORM3FARBPROC glUniform3fARB;
- extern PFNGLUNIFORM4FARBPROC glUniform4fARB;
- extern PFNGLUNIFORM1IARBPROC glUniform1iARB;
- extern PFNGLUNIFORM2IARBPROC glUniform2iARB;
- extern PFNGLUNIFORM3IARBPROC glUniform3iARB;
- extern PFNGLUNIFORM4IARBPROC glUniform4iARB;
- extern PFNGLUNIFORM1FVARBPROC glUniform1fvARB;
- extern PFNGLUNIFORM2FVARBPROC glUniform2fvARB;
- extern PFNGLUNIFORM3FVARBPROC glUniform3fvARB;
- extern PFNGLUNIFORM4FVARBPROC glUniform4fvARB;
- extern PFNGLUNIFORM1IVARBPROC glUniform1ivARB;
- extern PFNGLUNIFORM2IVARBPROC glUniform2ivARB;
- extern PFNGLUNIFORM3IVARBPROC glUniform3ivARB;
- extern PFNGLUNIFORM4IVARBPROC glUniform4ivARB;
- extern PFNGLUNIFORMMATRIX2FVARBPROC glUniformMatrix2fvARB;
- extern PFNGLUNIFORMMATRIX3FVARBPROC glUniformMatrix3fvARB;
- extern PFNGLUNIFORMMATRIX4FVARBPROC glUniformMatrix4fvARB;
- extern PFNGLGETOBJECTPARAMETERFVARBPROC glGetObjectParameterfvARB;
- extern PFNGLGETOBJECTPARAMETERIVARBPROC glGetObjectParameterivARB;
- extern PFNGLGETINFOLOGARBPROC glGetInfoLogARB;
- extern PFNGLGETATTACHEDOBJECTSARBPROC glGetAttachedObjectsARB;
- extern PFNGLGETUNIFORMLOCATIONARBPROC glGetUniformLocationARB;
- extern PFNGLGETACTIVEUNIFORMARBPROC glGetActiveUniformARB;
- extern PFNGLGETUNIFORMFVARBPROC glGetUniformfvARB;
- extern PFNGLGETUNIFORMIVARBPROC glGetUniformivARB;
- extern PFNGLGETSHADERSOURCEARBPROC glGetShaderSourceARB;
- // GL_ARB_vertex_shader
- extern PFNGLVERTEXATTRIB1DARBPROC glVertexAttrib1dARB;
- extern PFNGLVERTEXATTRIB1DVARBPROC glVertexAttrib1dvARB;
- extern PFNGLVERTEXATTRIB1FARBPROC glVertexAttrib1fARB;
- extern PFNGLVERTEXATTRIB1FVARBPROC glVertexAttrib1fvARB;
- extern PFNGLVERTEXATTRIB1SARBPROC glVertexAttrib1sARB;
- extern PFNGLVERTEXATTRIB1SVARBPROC glVertexAttrib1svARB;
- extern PFNGLVERTEXATTRIB2DARBPROC glVertexAttrib2dARB;
- extern PFNGLVERTEXATTRIB2DVARBPROC glVertexAttrib2dvARB;
- extern PFNGLVERTEXATTRIB2FARBPROC glVertexAttrib2fARB;
- extern PFNGLVERTEXATTRIB2FVARBPROC glVertexAttrib2fvARB;
- extern PFNGLVERTEXATTRIB2SARBPROC glVertexAttrib2sARB;
- extern PFNGLVERTEXATTRIB2SVARBPROC glVertexAttrib2svARB;
- extern PFNGLVERTEXATTRIB3DARBPROC glVertexAttrib3dARB;
- extern PFNGLVERTEXATTRIB3DVARBPROC glVertexAttrib3dvARB;
- extern PFNGLVERTEXATTRIB3FARBPROC glVertexAttrib3fARB;
- extern PFNGLVERTEXATTRIB3FVARBPROC glVertexAttrib3fvARB;
- extern PFNGLVERTEXATTRIB3SARBPROC glVertexAttrib3sARB;
- extern PFNGLVERTEXATTRIB3SVARBPROC glVertexAttrib3svARB;
- extern PFNGLVERTEXATTRIB4NBVARBPROC glVertexAttrib4nbvARB;
- extern PFNGLVERTEXATTRIB4NIVARBPROC glVertexAttrib4nivARB;
- extern PFNGLVERTEXATTRIB4NSVARBPROC glVertexAttrib4nsvARB;
- extern PFNGLVERTEXATTRIB4NUBARBPROC glVertexAttrib4nubARB;
- extern PFNGLVERTEXATTRIB4NUBVARBPROC glVertexAttrib4nubvARB;
- extern PFNGLVERTEXATTRIB4NUIVARBPROC glVertexAttrib4nuivARB;
- extern PFNGLVERTEXATTRIB4NUSVARBPROC glVertexAttrib4nusvARB;
- extern PFNGLVERTEXATTRIB4BVARBPROC glVertexAttrib4bvARB;
- extern PFNGLVERTEXATTRIB4DARBPROC glVertexAttrib4dARB;
- extern PFNGLVERTEXATTRIB4DVARBPROC glVertexAttrib4dvARB;
- extern PFNGLVERTEXATTRIB4FARBPROC glVertexAttrib4fARB;
- extern PFNGLVERTEXATTRIB4FVARBPROC glVertexAttrib4fvARB;
- extern PFNGLVERTEXATTRIB4IVARBPROC glVertexAttrib4ivARB;
- extern PFNGLVERTEXATTRIB4SARBPROC glVertexAttrib4sARB;
- extern PFNGLVERTEXATTRIB4SVARBPROC glVertexAttrib4svARB;
- extern PFNGLVERTEXATTRIB4UBVARBPROC glVertexAttrib4ubvARB;
- extern PFNGLVERTEXATTRIB4UIVARBPROC glVertexAttrib4uivARB;
- extern PFNGLVERTEXATTRIB4USVARBPROC glVertexAttrib4usvARB;
- extern PFNGLVERTEXATTRIBPOINTERARBPROC glVertexAttribPointerARB;
- extern PFNGLENABLEVERTEXATTRIBARRAYARBPROC glEnableVertexAttribArrayARB;
- extern PFNGLDISABLEVERTEXATTRIBARRAYARBPROC glDisableVertexAttribArrayARB;
- extern PFNGLPROGRAMSTRINGARBPROC glProgramStringARB;
- extern PFNGLBINDPROGRAMARBPROC glBindProgramARB;
- extern PFNGLDELETEPROGRAMSARBPROC glDeleteProgramsARB;
- extern PFNGLGENPROGRAMSARBPROC glGenProgramsARB;
- extern PFNGLPROGRAMENVPARAMETER4DARBPROC glProgramEnvParameter4dARB;
- extern PFNGLPROGRAMENVPARAMETER4DVARBPROC glProgramEnvParameter4dvARB;
- extern PFNGLPROGRAMENVPARAMETER4FARBPROC glProgramEnvParameter4fARB;
- extern PFNGLPROGRAMENVPARAMETER4FVARBPROC glProgramEnvParameter4fvARB;
- extern PFNGLPROGRAMLOCALPARAMETER4DARBPROC glProgramLocalParameter4dARB;
- extern PFNGLPROGRAMLOCALPARAMETER4DVARBPROC glProgramLocalParameter4dvARB;
- extern PFNGLPROGRAMLOCALPARAMETER4FARBPROC glProgramLocalParameter4fARB;
- extern PFNGLPROGRAMLOCALPARAMETER4FVARBPROC glProgramLocalParameter4fvARB;
- extern PFNGLGETPROGRAMENVPARAMETERDVARBPROC glGetProgramEnvParameterdvARB;
- extern PFNGLGETPROGRAMENVPARAMETERFVARBPROC glGetProgramEnvParameterfvARB;
- extern PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC glGetProgramLocalParameterdvARB;
- extern PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC glGetProgramLocalParameterfvARB;
- extern PFNGLGETPROGRAMIVARBPROC glGetProgramivARB;
- extern PFNGLGETPROGRAMSTRINGARBPROC glGetProgramStringARB;
- extern PFNGLGETVERTEXATTRIBDVARBPROC glGetVertexAttribdvARB;
- extern PFNGLGETVERTEXATTRIBFVARBPROC glGetVertexAttribfvARB;
- extern PFNGLGETVERTEXATTRIBIVARBPROC glGetVertexAttribivARB;
- extern PFNGLGETVERTEXATTRIBPOINTERVARBPROC glGetVertexAttribPointervARB;
- extern PFNGLISPROGRAMARBPROC glIsProgramARB;
- extern PFNGLBINDATTRIBLOCATIONARBPROC glBindAttribLocationARB;
- extern PFNGLGETACTIVEATTRIBARBPROC glGetActiveAttribARB;
- extern PFNGLGETATTRIBLOCATIONARBPROC glGetAttribLocationARB;
- extern PFNGLCOMPRESSEDTEXIMAGE2DARBPROC glCompressedTexImage2DARB;
- extern PFNGLGETCOMPRESSEDTEXIMAGEARBPROC glGetCompressedTexImageARB;
- extern PFNGLCOLORTABLEEXTPROC glColorTableEXT;
- //GL_EXT_blend_func_separate
- extern PFNGLBLENDFUNCSEPARATEEXTPROC glBlendFuncSeparateEXT;
- //GL_EXT_framebuffer_object
- extern PFNGLISRENDERBUFFEREXTPROC glIsRenderbufferEXT;
- extern PFNGLBINDRENDERBUFFEREXTPROC glBindRenderbufferEXT;
- extern PFNGLDELETERENDERBUFFERSEXTPROC glDeleteRenderbuffersEXT;
- extern PFNGLGENRENDERBUFFERSEXTPROC glGenRenderbuffersEXT;
- extern PFNGLRENDERBUFFERSTORAGEEXTPROC glRenderbufferStorageEXT;
- extern PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC glGetRenderbufferParameterivEXT;
- extern PFNGLISFRAMEBUFFEREXTPROC glIsFramebufferEXT;
- extern PFNGLBINDFRAMEBUFFEREXTPROC glBindFramebufferEXT;
- extern PFNGLDELETEFRAMEBUFFERSEXTPROC glDeleteFramebuffersEXT;
- extern PFNGLGENFRAMEBUFFERSEXTPROC glGenFramebuffersEXT;
- extern PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC glCheckFramebufferStatusEXT;
- extern PFNGLFRAMEBUFFERTEXTURE1DEXTPROC glFramebufferTexture1DEXT;
- extern PFNGLFRAMEBUFFERTEXTURE2DEXTPROC glFramebufferTexture2DEXT;
- extern PFNGLFRAMEBUFFERTEXTURE3DEXTPROC glFramebufferTexture3DEXT;
- extern PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC glFramebufferRenderbufferEXT;
- extern PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC glGetFramebufferAttachmentParameterivEXT;
- extern PFNGLGENERATEMIPMAPEXTPROC glGenerateMipmapEXT;
- #elif LL_MESA
- //----------------------------------------------------------------------------
- // MESA headers
- // quotes so we get libraries/.../GL/ version
- #define GL_GLEXT_PROTOTYPES 1
- #include "GL/gl.h"
- #include "GL/glext.h"
- #include "GL/glu.h"
- // The __APPLE__ kludge is to make glh_extensions.h not symbol-clash horribly
- # define __APPLE__
- # include "GL/glh_extensions.h"
- # undef __APPLE__
- #elif LL_LINUX
- //----------------------------------------------------------------------------
- // LL_LINUX
- //----------------------------------------------------------------------------
- // Linux, MESA headers, but not necessarily assuming MESA runtime.
- // quotes so we get libraries/.../GL/ version
- #include "GL/gl.h"
- #include "GL/glext.h"
- #include "GL/glu.h"
- #if LL_LINUX && !LL_MESA_HEADLESS
- // The __APPLE__ kludge is to make glh_extensions.h not symbol-clash horribly
- # define __APPLE__
- # include "GL/glh_extensions.h"
- # undef __APPLE__
- /* Although SDL very likely ends up calling glXGetProcAddress() itself,
- if we use SDL_GL_GetProcAddress() then we get bogus addresses back on
- some systems. Weird. */
- /*# include "SDL/SDL.h"
- # define GLH_EXT_GET_PROC_ADDRESS(p) SDL_GL_GetProcAddress(p) */
- #define GLX_GLXEXT_PROTOTYPES 1
- # include "GL/glx.h"
- # include "GL/glxext.h"
- // Use glXGetProcAddressARB instead of glXGetProcAddress - the ARB symbol
- // is considered 'legacy' but works on more machines.
- # define GLH_EXT_GET_PROC_ADDRESS(p) glXGetProcAddressARB((const GLubyte*)(p))
- #endif // LL_LINUX && !LL_MESA_HEADLESS
- #if LL_LINUX && defined(WINGDIAPI)
- // WINGDIAPI gets set if we are using the linux nvidia gl.h header which needs
- // the functions below setting up.
- # define LL_LINUX_NV_GL_HEADERS 1
- #else
- # define LL_LINUX_NV_GL_HEADERS 0
- #endif // LL_LINUX && defined(WINGDIAPI)
- #if LL_LINUX_NV_GL_HEADERS
- // Missing functions when using nvidia headers:
- extern PFNGLACTIVETEXTUREARBPROC glActiveTextureARB;
- extern PFNGLCLIENTACTIVETEXTUREARBPROC glClientActiveTextureARB;
- extern PFNGLDRAWRANGEELEMENTSPROC glDrawRangeElements;
- #endif // LL_LINUX_NV_GL_HEADERS
- // GL_ARB_vertex_array_object
- extern PFNGLBINDVERTEXARRAYPROC glBindVertexArray;
- extern PFNGLDELETEVERTEXARRAYSPROC glDeleteVertexArrays;
- extern PFNGLGENVERTEXARRAYSPROC glGenVertexArrays;
- extern PFNGLISVERTEXARRAYPROC glIsVertexArray;
- // GL_ARB_vertex_buffer_object
- extern PFNGLBINDBUFFERARBPROC glBindBufferARB;
- extern PFNGLDELETEBUFFERSARBPROC glDeleteBuffersARB;
- extern PFNGLGENBUFFERSARBPROC glGenBuffersARB;
- extern PFNGLISBUFFERARBPROC glIsBufferARB;
- extern PFNGLBUFFERDATAARBPROC glBufferDataARB;
- extern PFNGLBUFFERSUBDATAARBPROC glBufferSubDataARB;
- extern PFNGLGETBUFFERSUBDATAARBPROC glGetBufferSubDataARB;
- extern PFNGLMAPBUFFERARBPROC glMapBufferARB;
- extern PFNGLUNMAPBUFFERARBPROC glUnmapBufferARB;
- extern PFNGLGETBUFFERPARAMETERIVARBPROC glGetBufferParameterivARB;
- extern PFNGLGETBUFFERPOINTERVARBPROC glGetBufferPointervARB;
- // GL_ARB_sync
- extern PFNGLFENCESYNCPROC glFenceSync;
- extern PFNGLISSYNCPROC glIsSync;
- extern PFNGLDELETESYNCPROC glDeleteSync;
- extern PFNGLCLIENTWAITSYNCPROC glClientWaitSync;
- extern PFNGLWAITSYNCPROC glWaitSync;
- extern PFNGLGETINTEGER64VPROC glGetInteger64v;
- extern PFNGLGETSYNCIVPROC glGetSynciv;
- // GL_APPLE_flush_buffer_range
- extern PFNGLBUFFERPARAMETERIAPPLEPROC glBufferParameteriAPPLE;
- extern PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC glFlushMappedBufferRangeAPPLE;
- // GL_ARB_map_buffer_range
- extern PFNGLMAPBUFFERRANGEPROC glMapBufferRange;
- extern PFNGLFLUSHMAPPEDBUFFERRANGEPROC glFlushMappedBufferRange;
- // GL_ATI_vertex_array_object
- extern PFNGLNEWOBJECTBUFFERATIPROC glNewObjectBufferATI;
- extern PFNGLISOBJECTBUFFERATIPROC glIsObjectBufferATI;
- extern PFNGLUPDATEOBJECTBUFFERATIPROC glUpdateObjectBufferATI;
- extern PFNGLGETOBJECTBUFFERFVATIPROC glGetObjectBufferfvATI;
- extern PFNGLGETOBJECTBUFFERIVATIPROC glGetObjectBufferivATI;
- extern PFNGLFREEOBJECTBUFFERATIPROC glFreeObjectBufferATI;
- extern PFNGLARRAYOBJECTATIPROC glArrayObjectATI;
- extern PFNGLVERTEXATTRIBARRAYOBJECTATIPROC glVertexAttribArrayObjectATI;
- extern PFNGLGETARRAYOBJECTFVATIPROC glGetArrayObjectfvATI;
- extern PFNGLGETARRAYOBJECTIVATIPROC glGetArrayObjectivATI;
- extern PFNGLVARIANTARRAYOBJECTATIPROC glVariantObjectArrayATI;
- extern PFNGLGETVARIANTARRAYOBJECTFVATIPROC glGetVariantArrayObjectfvATI;
- extern PFNGLGETVARIANTARRAYOBJECTIVATIPROC glGetVariantArrayObjectivATI;
- // GL_ARB_occlusion_query
- extern PFNGLGENQUERIESARBPROC glGenQueriesARB;
- extern PFNGLDELETEQUERIESARBPROC glDeleteQueriesARB;
- extern PFNGLISQUERYARBPROC glIsQueryARB;
- extern PFNGLBEGINQUERYARBPROC glBeginQueryARB;
- extern PFNGLENDQUERYARBPROC glEndQueryARB;
- extern PFNGLGETQUERYIVARBPROC glGetQueryivARB;
- extern PFNGLGETQUERYOBJECTIVARBPROC glGetQueryObjectivARB;
- extern PFNGLGETQUERYOBJECTUIVARBPROC glGetQueryObjectuivARB;
- // GL_ARB_point_parameters
- extern PFNGLPOINTPARAMETERFARBPROC glPointParameterfARB;
- extern PFNGLPOINTPARAMETERFVARBPROC glPointParameterfvARB;
- // GL_ARB_shader_objects
- extern PFNGLDELETEOBJECTARBPROC glDeleteObjectARB;
- extern PFNGLGETHANDLEARBPROC glGetHandleARB;
- extern PFNGLDETACHOBJECTARBPROC glDetachObjectARB;
- extern PFNGLCREATESHADEROBJECTARBPROC glCreateShaderObjectARB;
- extern PFNGLSHADERSOURCEARBPROC glShaderSourceARB;
- extern PFNGLCOMPILESHADERARBPROC glCompileShaderARB;
- extern PFNGLCREATEPROGRAMOBJECTARBPROC glCreateProgramObjectARB;
- extern PFNGLATTACHOBJECTARBPROC glAttachObjectARB;
- extern PFNGLLINKPROGRAMARBPROC glLinkProgramARB;
- extern PFNGLUSEPROGRAMOBJECTARBPROC glUseProgramObjectARB;
- extern PFNGLVALIDATEPROGRAMARBPROC glValidateProgramARB;
- extern PFNGLUNIFORM1FARBPROC glUniform1fARB;
- extern PFNGLUNIFORM2FARBPROC glUniform2fARB;
- extern PFNGLUNIFORM3FARBPROC glUniform3fARB;
- extern PFNGLUNIFORM4FARBPROC glUniform4fARB;
- extern PFNGLUNIFORM1IARBPROC glUniform1iARB;
- extern PFNGLUNIFORM2IARBPROC glUniform2iARB;
- extern PFNGLUNIFORM3IARBPROC glUniform3iARB;
- extern PFNGLUNIFORM4IARBPROC glUniform4iARB;
- extern PFNGLUNIFORM1FVARBPROC glUniform1fvARB;
- extern PFNGLUNIFORM2FVARBPROC glUniform2fvARB;
- extern PFNGLUNIFORM3FVARBPROC glUniform3fvARB;
- extern PFNGLUNIFORM4FVARBPROC glUniform4fvARB;
- extern PFNGLUNIFORM1IVARBPROC glUniform1ivARB;
- extern PFNGLUNIFORM2IVARBPROC glUniform2ivARB;
- extern PFNGLUNIFORM3IVARBPROC glUniform3ivARB;
- extern PFNGLUNIFORM4IVARBPROC glUniform4ivARB;
- extern PFNGLUNIFORMMATRIX2FVARBPROC glUniformMatrix2fvARB;
- extern PFNGLUNIFORMMATRIX3FVARBPROC glUniformMatrix3fvARB;
- extern PFNGLUNIFORMMATRIX4FVARBPROC glUniformMatrix4fvARB;
- extern PFNGLGETOBJECTPARAMETERFVARBPROC glGetObjectParameterfvARB;
- extern PFNGLGETOBJECTPARAMETERIVARBPROC glGetObjectParameterivARB;
- extern PFNGLGETINFOLOGARBPROC glGetInfoLogARB;
- extern PFNGLGETATTACHEDOBJECTSARBPROC glGetAttachedObjectsARB;
- extern PFNGLGETUNIFORMLOCATIONARBPROC glGetUniformLocationARB;
- extern PFNGLGETACTIVEUNIFORMARBPROC glGetActiveUniformARB;
- extern PFNGLGETUNIFORMFVARBPROC glGetUniformfvARB;
- extern PFNGLGETUNIFORMIVARBPROC glGetUniformivARB;
- extern PFNGLGETSHADERSOURCEARBPROC glGetShaderSourceARB;
- // GL_ARB_vertex_shader
- extern PFNGLVERTEXATTRIB1DARBPROC glVertexAttrib1dARB;
- extern PFNGLVERTEXATTRIB1DVARBPROC glVertexAttrib1dvARB;
- extern PFNGLVERTEXATTRIB1FARBPROC glVertexAttrib1fARB;
- extern PFNGLVERTEXATTRIB1FVARBPROC glVertexAttrib1fvARB;
- extern PFNGLVERTEXATTRIB1SARBPROC glVertexAttrib1sARB;
- extern PFNGLVERTEXATTRIB1SVARBPROC glVertexAttrib1svARB;
- extern PFNGLVERTEXATTRIB2DARBPROC glVertexAttrib2dARB;
- extern PFNGLVERTEXATTRIB2DVARBPROC glVertexAttrib2dvARB;
- extern PFNGLVERTEXATTRIB2FARBPROC glVertexAttrib2fARB;
- extern PFNGLVERTEXATTRIB2FVARBPROC glVertexAttrib2fvARB;
- extern PFNGLVERTEXATTRIB2SARBPROC glVertexAttrib2sARB;
- extern PFNGLVERTEXATTRIB2SVARBPROC glVertexAttrib2svARB;
- extern PFNGLVERTEXATTRIB3DARBPROC glVertexAttrib3dARB;
- extern PFNGLVERTEXATTRIB3DVARBPROC glVertexAttrib3dvARB;
- extern PFNGLVERTEXATTRIB3FARBPROC glVertexAttrib3fARB;
- extern PFNGLVERTEXATTRIB3FVARBPROC glVertexAttrib3fvARB;
- extern PFNGLVERTEXATTRIB3SARBPROC glVertexAttrib3sARB;
- extern PFNGLVERTEXATTRIB3SVARBPROC glVertexAttrib3svARB;
- extern PFNGLVERTEXATTRIB4NBVARBPROC glVertexAttrib4nbvARB;
- extern PFNGLVERTEXATTRIB4NIVARBPROC glVertexAttrib4nivARB;
- extern PFNGLVERTEXATTRIB4NSVARBPROC glVertexAttrib4nsvARB;
- extern PFNGLVERTEXATTRIB4NUBARBPROC glVertexAttrib4nubARB;
- extern PFNGLVERTEXATTRIB4NUBVARBPROC glVertexAttrib4nubvARB;
- extern PFNGLVERTEXATTRIB4NUIVARBPROC glVertexAttrib4nuivARB;
- extern PFNGLVERTEXATTRIB4NUSVARBPROC glVertexAttrib4nusvARB;
- extern PFNGLVERTEXATTRIB4BVARBPROC glVertexAttrib4bvARB;
- extern PFNGLVERTEXATTRIB4DARBPROC glVertexAttrib4dARB;
- extern PFNGLVERTEXATTRIB4DVARBPROC glVertexAttrib4dvARB;
- extern PFNGLVERTEXATTRIB4FARBPROC glVertexAttrib4fARB;
- extern PFNGLVERTEXATTRIB4FVARBPROC glVertexAttrib4fvARB;
- extern PFNGLVERTEXATTRIB4IVARBPROC glVertexAttrib4ivARB;
- extern PFNGLVERTEXATTRIB4SARBPROC glVertexAttrib4sARB;
- extern PFNGLVERTEXATTRIB4SVARBPROC glVertexAttrib4svARB;
- extern PFNGLVERTEXATTRIB4UBVARBPROC glVertexAttrib4ubvARB;
- extern PFNGLVERTEXATTRIB4UIVARBPROC glVertexAttrib4uivARB;
- extern PFNGLVERTEXATTRIB4USVARBPROC glVertexAttrib4usvARB;
- extern PFNGLVERTEXATTRIBPOINTERARBPROC glVertexAttribPointerARB;
- extern PFNGLENABLEVERTEXATTRIBARRAYARBPROC glEnableVertexAttribArrayARB;
- extern PFNGLDISABLEVERTEXATTRIBARRAYARBPROC glDisableVertexAttribArrayARB;
- extern PFNGLPROGRAMSTRINGARBPROC glProgramStringARB;
- extern PFNGLBINDPROGRAMARBPROC glBindProgramARB;
- extern PFNGLDELETEPROGRAMSARBPROC glDeleteProgramsARB;
- extern PFNGLGENPROGRAMSARBPROC glGenProgramsARB;
- extern PFNGLPROGRAMENVPARAMETER4DARBPROC glProgramEnvParameter4dARB;
- extern PFNGLPROGRAMENVPARAMETER4DVARBPROC glProgramEnvParameter4dvARB;
- extern PFNGLPROGRAMENVPARAMETER4FARBPROC glProgramEnvParameter4fARB;
- extern PFNGLPROGRAMENVPARAMETER4FVARBPROC glProgramEnvParameter4fvARB;
- extern PFNGLPROGRAMLOCALPARAMETER4DARBPROC glProgramLocalParameter4dARB;
- extern PFNGLPROGRAMLOCALPARAMETER4DVARBPROC glProgramLocalParameter4dvARB;
- extern PFNGLPROGRAMLOCALPARAMETER4FARBPROC glProgramLocalParameter4fARB;
- extern PFNGLPROGRAMLOCALPARAMETER4FVARBPROC glProgramLocalParameter4fvARB;
- extern PFNGLGETPROGRAMENVPARAMETERDVARBPROC glGetProgramEnvParameterdvARB;
- extern PFNGLGETPROGRAMENVPARAMETERFVARBPROC glGetProgramEnvParameterfvARB;
- extern PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC glGetProgramLocalParameterdvARB;
- extern PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC glGetProgramLocalParameterfvARB;
- extern PFNGLGETPROGRAMIVARBPROC glGetProgramivARB;
- extern PFNGLGETPROGRAMSTRINGARBPROC glGetProgramStringARB;
- extern PFNGLGETVERTEXATTRIBDVARBPROC glGetVertexAttribdvARB;
- extern PFNGLGETVERTEXATTRIBFVARBPROC glGetVertexAttribfvARB;
- extern PFNGLGETVERTEXATTRIBIVARBPROC glGetVertexAttribivARB;
- extern PFNGLGETVERTEXATTRIBPOINTERVARBPROC glGetVertexAttribPointervARB;
- extern PFNGLISPROGRAMARBPROC glIsProgramARB;
- extern PFNGLBINDATTRIBLOCATIONARBPROC glBindAttribLocationARB;
- extern PFNGLGETACTIVEATTRIBARBPROC glGetActiveAttribARB;
- extern PFNGLGETATTRIBLOCATIONARBPROC glGetAttribLocationARB;
- extern PFNGLCOMPRESSEDTEXIMAGE2DARBPROC glCompressedTexImage2DARB;
- extern PFNGLGETCOMPRESSEDTEXIMAGEARBPROC glGetCompressedTexImageARB;
- //GL_EXT_blend_func_separate
- extern PFNGLBLENDFUNCSEPARATEEXTPROC glBlendFuncSeparateEXT;
- //GL_ARB_framebuffer_object
- extern PFNGLISRENDERBUFFERPROC glIsRenderbuffer;
- extern PFNGLBINDRENDERBUFFERPROC glBindRenderbuffer;
- extern PFNGLDELETERENDERBUFFERSPROC glDeleteRenderbuffers;
- extern PFNGLGENRENDERBUFFERSPROC glGenRenderbuffers;
- extern PFNGLRENDERBUFFERSTORAGEPROC glRenderbufferStorage;
- extern PFNGLGETRENDERBUFFERPARAMETERIVPROC glGetRenderbufferParameteriv;
- extern PFNGLISFRAMEBUFFERPROC glIsFramebuffer;
- extern PFNGLBINDFRAMEBUFFERPROC glBindFramebuffer;
- extern PFNGLDELETEFRAMEBUFFERSPROC glDeleteFramebuffers;
- extern PFNGLGENFRAMEBUFFERSPROC glGenFramebuffers;
- extern PFNGLCHECKFRAMEBUFFERSTATUSPROC glCheckFramebufferStatus;
- extern PFNGLFRAMEBUFFERTEXTURE1DPROC glFramebufferTexture1D;
- extern PFNGLFRAMEBUFFERTEXTURE2DPROC glFramebufferTexture2D;
- extern PFNGLFRAMEBUFFERTEXTURE3DPROC glFramebufferTexture3D;
- extern PFNGLFRAMEBUFFERRENDERBUFFERPROC glFramebufferRenderbuffer;
- extern PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glGetFramebufferAttachmentParameteriv;
- extern PFNGLGENERATEMIPMAPPROC glGenerateMipmap;
- extern PFNGLBLITFRAMEBUFFERPROC glBlitFramebuffer;
- extern PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glRenderbufferStorageMultisample;
- extern PFNGLFRAMEBUFFERTEXTURELAYERPROC glFramebufferTextureLayer;
- //GL_ARB_draw_buffers
- extern PFNGLDRAWBUFFERSARBPROC glDrawBuffersARB;
- //GL_ARB_texture_multisample
- extern PFNGLTEXIMAGE2DMULTISAMPLEPROC glTexImage2DMultisample;
- extern PFNGLTEXIMAGE3DMULTISAMPLEPROC glTexImage3DMultisample;
- extern PFNGLGETMULTISAMPLEFVPROC glGetMultisamplefv;
- extern PFNGLSAMPLEMASKIPROC glSampleMaski;
- #elif LL_WINDOWS
- //----------------------------------------------------------------------------
- // LL_WINDOWS
- // windows gl headers depend on things like APIENTRY, so include windows.
- #define WIN32_LEAN_AND_MEAN
- #include <winsock2.h>
- #include <windows.h>
- //----------------------------------------------------------------------------
- #include <GL/gl.h>
- #include <GL/glu.h>
- // quotes so we get libraries/.../GL/ version
- #include "GL/glext.h"
- #include "GL/glh_extensions.h"
- // WGL_ARB_create_context
- extern PFNWGLCREATECONTEXTATTRIBSARBPROC wglCreateContextAttribsARB;
- extern PFNGLGETSTRINGIPROC glGetStringi;
- // GL_ARB_vertex_buffer_object
- extern PFNGLBINDBUFFERARBPROC glBindBufferARB;
- extern PFNGLDELETEBUFFERSARBPROC glDeleteBuffersARB;
- extern PFNGLGENBUFFERSARBPROC glGenBuffersARB;
- extern PFNGLISBUFFERARBPROC glIsBufferARB;
- extern PFNGLBUFFERDATAARBPROC glBufferDataARB;
- extern PFNGLBUFFERSUBDATAARBPROC glBufferSubDataARB;
- extern PFNGLGETBUFFERSUBDATAARBPROC glGetBufferSubDataARB;
- extern PFNGLMAPBUFFERARBPROC glMapBufferARB;
- extern PFNGLUNMAPBUFFERARBPROC glUnmapBufferARB;
- extern PFNGLGETBUFFERPARAMETERIVARBPROC glGetBufferParameterivARB;
- extern PFNGLGETBUFFERPOINTERVARBPROC glGetBufferPointervARB;
- // GL_ARB_vertex_array_object
- extern PFNGLBINDVERTEXARRAYPROC glBindVertexArray;
- extern PFNGLDELETEVERTEXARRAYSPROC glDeleteVertexArrays;
- extern PFNGLGENVERTEXARRAYSPROC glGenVertexArrays;
- extern PFNGLISVERTEXARRAYPROC glIsVertexArray;
- // GL_ARB_sync
- extern PFNGLFENCESYNCPROC glFenceSync;
- extern PFNGLISSYNCPROC glIsSync;
- extern PFNGLDELETESYNCPROC glDeleteSync;
- extern PFNGLCLIENTWAITSYNCPROC glClientWaitSync;
- extern PFNGLWAITSYNCPROC glWaitSync;
- extern PFNGLGETINTEGER64VPROC glGetInteger64v;
- extern PFNGLGETSYNCIVPROC glGetSynciv;
- // GL_APPLE_flush_buffer_range
- extern PFNGLBUFFERPARAMETERIAPPLEPROC glBufferParameteriAPPLE;
- extern PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC glFlushMappedBufferRangeAPPLE;
- // GL_ARB_map_buffer_range
- extern PFNGLMAPBUFFERRANGEPROC glMapBufferRange;
- extern PFNGLFLUSHMAPPEDBUFFERRANGEPROC glFlushMappedBufferRange;
- // GL_ATI_vertex_array_object
- extern PFNGLNEWOBJECTBUFFERATIPROC glNewObjectBufferATI;
- extern PFNGLISOBJECTBUFFERATIPROC glIsObjectBufferATI;
- extern PFNGLUPDATEOBJECTBUFFERATIPROC glUpdateObjectBufferATI;
- extern PFNGLGETOBJECTBUFFERFVATIPROC glGetObjectBufferfvATI;
- extern PFNGLGETOBJECTBUFFERIVATIPROC glGetObjectBufferivATI;
- extern PFNGLFREEOBJECTBUFFERATIPROC glFreeObjectBufferATI;
- extern PFNGLARRAYOBJECTATIPROC glArrayObjectATI;
- extern PFNGLVERTEXATTRIBARRAYOBJECTATIPROC glVertexAttribArrayObjectATI;
- extern PFNGLGETARRAYOBJECTFVATIPROC glGetArrayObjectfvATI;
- extern PFNGLGETARRAYOBJECTIVATIPROC glGetArrayObjectivATI;
- extern PFNGLVARIANTARRAYOBJECTATIPROC glVariantObjectArrayATI;
- extern PFNGLGETVARIANTARRAYOBJECTFVATIPROC glGetVariantArrayObjectfvATI;
- extern PFNGLGETVARIANTARRAYOBJECTIVATIPROC glGetVariantArrayObjectivATI;
- extern PFNWGLSWAPINTERVALEXTPROC wglSwapIntervalEXT;
- // GL_ARB_occlusion_query
- extern PFNGLGENQUERIESARBPROC glGenQueriesARB;
- extern PFNGLDELETEQUERIESARBPROC glDeleteQueriesARB;
- extern PFNGLISQUERYARBPROC glIsQueryARB;
- extern PFNGLBEGINQUERYARBPROC glBeginQueryARB;
- extern PFNGLENDQUERYARBPROC glEndQueryARB;
- extern PFNGLGETQUERYIVARBPROC glGetQueryivARB;
- extern PFNGLGETQUERYOBJECTIVARBPROC glGetQueryObjectivARB;
- extern PFNGLGETQUERYOBJECTUIVARBPROC glGetQueryObjectuivARB;
- // GL_ARB_point_parameters
- extern PFNGLPOINTPARAMETERFARBPROC glPointParameterfARB;
- extern PFNGLPOINTPARAMETERFVARBPROC glPointParameterfvARB;
- // GL_ARB_shader_objects
- extern PFNGLDELETEOBJECTARBPROC glDeleteObjectARB;
- extern PFNGLGETHANDLEARBPROC glGetHandleARB;
- extern PFNGLDETACHOBJECTARBPROC glDetachObjectARB;
- extern PFNGLCREATESHADEROBJECTARBPROC glCreateShaderObjectARB;
- extern PFNGLSHADERSOURCEARBPROC glShaderSourceARB;
- extern PFNGLCOMPILESHADERARBPROC glCompileShaderARB;
- extern PFNGLCREATEPROGRAMOBJECTARBPROC glCreateProgramObjectARB;
- extern PFNGLATTACHOBJECTARBPROC glAttachObjectARB;
- extern PFNGLLINKPROGRAMARBPROC glLinkProgramARB;
- extern PFNGLUSEPROGRAMOBJECTARBPROC glUseProgramObjectARB;
- extern PFNGLVALIDATEPROGRAMARBPROC glValidateProgramARB;
- extern PFNGLUNIFORM1FARBPROC glUniform1fARB;
- extern PFNGLUNIFORM2FARBPROC glUniform2fARB;
- extern PFNGLUNIFORM3FARBPROC glUniform3fARB;
- extern PFNGLUNIFORM4FARBPROC glUniform4fARB;
- extern PFNGLUNIFORM1IARBPROC glUniform1iARB;
- extern PFNGLUNIFORM2IARBPROC glUniform2iARB;
- extern PFNGLUNIFORM3IARBPROC glUniform3iARB;
- extern PFNGLUNIFORM4IARBPROC glUniform4iARB;
- extern PFNGLUNIFORM1FVARBPROC glUniform1fvARB;
- extern PFNGLUNIFORM2FVARBPROC glUniform2fvARB;
- extern PFNGLUNIFORM3FVARBPROC glUniform3fvARB;
- extern PFNGLUNIFORM4FVARBPROC glUniform4fvARB;
- extern PFNGLUNIFORM1IVARBPROC glUniform1ivARB;
- extern PFNGLUNIFORM2IVARBPROC glUniform2ivARB;
- extern PFNGLUNIFORM3IVARBPROC glUniform3ivARB;
- extern PFNGLUNIFORM4IVARBPROC glUniform4ivARB;
- extern PFNGLUNIFORMMATRIX2FVARBPROC glUniformMatrix2fvARB;
- extern PFNGLUNIFORMMATRIX3FVARBPROC glUniformMatrix3fvARB;
- extern PFNGLUNIFORMMATRIX4FVARBPROC glUniformMatrix4fvARB;
- extern PFNGLGETOBJECTPARAMETERFVARBPROC glGetObjectParameterfvARB;
- extern PFNGLGETOBJECTPARAMETERIVARBPROC glGetObjectParameterivARB;
- extern PFNGLGETINFOLOGARBPROC glGetInfoLogARB;
- extern PFNGLGETATTACHEDOBJECTSARBPROC glGetAttachedObjectsARB;
- extern PFNGLGETUNIFORMLOCATIONARBPROC glGetUniformLocationARB;
- extern PFNGLGETACTIVEUNIFORMARBPROC glGetActiveUniformARB;
- extern PFNGLGETUNIFORMFVARBPROC glGetUniformfvARB;
- extern PFNGLGETUNIFORMIVARBPROC glGetUniformivARB;
- extern PFNGLGETSHADERSOURCEARBPROC glGetShaderSourceARB;
- // GL_ARB_vertex_shader
- extern PFNGLVERTEXATTRIB1DARBPROC glVertexAttrib1dARB;
- extern PFNGLVERTEXATTRIB1DVARBPROC glVertexAttrib1dvARB;
- extern PFNGLVERTEXATTRIB1FARBPROC glVertexAttrib1fARB;
- extern PFNGLVERTEXATTRIB1FVARBPROC glVertexAttrib1fvARB;
- extern PFNGLVERTEXATTRIB1SARBPROC glVertexAttrib1sARB;
- extern PFNGLVERTEXATTRIB1SVARBPROC glVertexAttrib1svARB;
- extern PFNGLVERTEXATTRIB2DARBPROC glVertexAttrib2dARB;
- extern PFNGLVERTEXATTRIB2DVARBPROC glVertexAttrib2dvARB;
- extern PFNGLVERTEXATTRIB2FARBPROC glVertexAttrib2fARB;
- extern PFNGLVERTEXATTRIB2FVARBPROC glVertexAttrib2fvARB;
- extern PFNGLVERTEXATTRIB2SARBPROC glVertexAttrib2sARB;
- extern PFNGLVERTEXATTRIB2SVARBPROC glVertexAttrib2svARB;
- extern PFNGLVERTEXATTRIB3DARBPROC glVertexAttrib3dARB;
- extern PFNGLVERTEXATTRIB3DVARBPROC glVertexAttrib3dvARB;
- extern PFNGLVERTEXATTRIB3FARBPROC glVertexAttrib3fARB;
- extern PFNGLVERTEXATTRIB3FVARBPROC glVertexAttrib3fvARB;
- extern PFNGLVERTEXATTRIB3SARBPROC glVertexAttrib3sARB;
- extern PFNGLVERTEXATTRIB3SVARBPROC glVertexAttrib3svARB;
- extern PFNGLVERTEXATTRIB4NBVARBPROC glVertexAttrib4nbvARB;
- extern PFNGLVERTEXATTRIB4NIVARBPROC glVertexAttrib4nivARB;
- extern PFNGLVERTEXATTRIB4NSVARBPROC glVertexAttrib4nsvARB;
- extern PFNGLVERTEXATTRIB4NUBARBPROC glVertexAttrib4nubARB;
- extern PFNGLVERTEXATTRIB4NUBVARBPROC glVertexAttrib4nubvARB;
- extern PFNGLVERTEXATTRIB4NUIVARBPROC glVertexAttrib4nuivARB;
- extern PFNGLVERTEXATTRIB4NUSVARBPROC glVertexAttrib4nusvARB;
- extern PFNGLVERTEXATTRIB4BVARBPROC glVertexAttrib4bvARB;
- extern PFNGLVERTEXATTRIB4DARBPROC glVertexAttrib4dARB;
- extern PFNGLVERTEXATTRIB4DVARBPROC glVertexAttrib4dvARB;
- extern PFNGLVERTEXATTRIB4FARBPROC glVertexAttrib4fARB;
- extern PFNGLVERTEXATTRIB4FVARBPROC glVertexAttrib4fvARB;
- extern PFNGLVERTEXATTRIB4IVARBPROC glVertexAttrib4ivARB;
- extern PFNGLVERTEXATTRIB4SARBPROC glVertexAttrib4sARB;
- extern PFNGLVERTEXATTRIB4SVARBPROC glVertexAttrib4svARB;
- extern PFNGLVERTEXATTRIB4UBVARBPROC glVertexAttrib4ubvARB;
- extern PFNGLVERTEXATTRIB4UIVARBPROC glVertexAttrib4uivARB;
- extern PFNGLVERTEXATTRIB4USVARBPROC glVertexAttrib4usvARB;
- extern PFNGLVERTEXATTRIBPOINTERARBPROC glVertexAttribPointerARB;
- extern PFNGLENABLEVERTEXATTRIBARRAYARBPROC glEnableVertexAttribArrayARB;
- extern PFNGLDISABLEVERTEXATTRIBARRAYARBPROC glDisableVertexAttribArrayARB;
- extern PFNGLPROGRAMSTRINGARBPROC glProgramStringARB;
- extern PFNGLBINDPROGRAMARBPROC glBindProgramARB;
- extern PFNGLDELETEPROGRAMSARBPROC glDeleteProgramsARB;
- extern PFNGLGENPROGRAMSARBPROC glGenProgramsARB;
- extern PFNGLPROGRAMENVPARAMETER4DARBPROC glProgramEnvParameter4dARB;
- extern PFNGLPROGRAMENVPARAMETER4DVARBPROC glProgramEnvParameter4dvARB;
- extern PFNGLPROGRAMENVPARAMETER4FARBPROC glProgramEnvParameter4fARB;
- extern PFNGLPROGRAMENVPARAMETER4FVARBPROC glProgramEnvParameter4fvARB;
- extern PFNGLPROGRAMLOCALPARAMETER4DARBPROC glProgramLocalParameter4dARB;
- extern PFNGLPROGRAMLOCALPARAMETER4DVARBPROC glProgramLocalParameter4dvARB;
- extern PFNGLPROGRAMLOCALPARAMETER4FARBPROC glProgramLocalParameter4fARB;
- extern PFNGLPROGRAMLOCALPARAMETER4FVARBPROC glProgramLocalParameter4fvARB;
- extern PFNGLGETPROGRAMENVPARAMETERDVARBPROC glGetProgramEnvParameterdvARB;
- extern PFNGLGETPROGRAMENVPARAMETERFVARBPROC glGetProgramEnvParameterfvARB;
- extern PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC glGetProgramLocalParameterdvARB;
- extern PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC glGetProgramLocalParameterfvARB;
- extern PFNGLGETPROGRAMIVARBPROC glGetProgramivARB;
- extern PFNGLGETPROGRAMSTRINGARBPROC glGetProgramStringARB;
- extern PFNGLGETVERTEXATTRIBDVARBPROC glGetVertexAttribdvARB;
- extern PFNGLGETVERTEXATTRIBFVARBPROC glGetVertexAttribfvARB;
- extern PFNGLGETVERTEXATTRIBIVARBPROC glGetVertexAttribivARB;
- extern PFNGLGETVERTEXATTRIBPOINTERVARBPROC glGetVertexAttribPointervARB;
- extern PFNGLISPROGRAMARBPROC glIsProgramARB;
- extern PFNGLBINDATTRIBLOCATIONARBPROC glBindAttribLocationARB;
- extern PFNGLGETACTIVEATTRIBARBPROC glGetActiveAttribARB;
- extern PFNGLGETATTRIBLOCATIONARBPROC glGetAttribLocationARB;
- //GL_EXT_blend_func_separate
- extern PFNGLBLENDFUNCSEPARATEEXTPROC glBlendFuncSeparateEXT;
- //GL_ARB_framebuffer_object
- extern PFNGLISRENDERBUFFERPROC glIsRenderbuffer;
- extern PFNGLBINDRENDERBUFFERPROC glBindRenderbuffer;
- extern PFNGLDELETERENDERBUFFERSPROC glDeleteRenderbuffers;
- extern PFNGLGENRENDERBUFFERSPROC glGenRenderbuffers;
- extern PFNGLRENDERBUFFERSTORAGEPROC glRenderbufferStorage;
- extern PFNGLGETRENDERBUFFERPARAMETERIVPROC glGetRenderbufferParameteriv;
- extern PFNGLISFRAMEBUFFERPROC glIsFramebuffer;
- extern PFNGLBINDFRAMEBUFFERPROC glBindFramebuffer;
- extern PFNGLDELETEFRAMEBUFFERSPROC glDeleteFramebuffers;
- extern PFNGLGENFRAMEBUFFERSPROC glGenFramebuffers;
- extern PFNGLCHECKFRAMEBUFFERSTATUSPROC glCheckFramebufferStatus;
- extern PFNGLFRAMEBUFFERTEXTURE1DPROC glFramebufferTexture1D;
- extern PFNGLFRAMEBUFFERTEXTURE2DPROC glFramebufferTexture2D;
- extern PFNGLFRAMEBUFFERTEXTURE3DPROC glFramebufferTexture3D;
- extern PFNGLFRAMEBUFFERRENDERBUFFERPROC glFramebufferRenderbuffer;
- extern PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glGetFramebufferAttachmentParameteriv;
- extern PFNGLGENERATEMIPMAPPROC glGenerateMipmap;
- extern PFNGLBLITFRAMEBUFFERPROC glBlitFramebuffer;
- extern PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glRenderbufferStorageMultisample;
- extern PFNGLFRAMEBUFFERTEXTURELAYERPROC glFramebufferTextureLayer;
- //GL_ARB_draw_buffers
- extern PFNGLDRAWBUFFERSARBPROC glDrawBuffersARB;
- //GL_ARB_texture_multisample
- extern PFNGLTEXIMAGE2DMULTISAMPLEPROC glTexImage2DMultisample;
- extern PFNGLTEXIMAGE3DMULTISAMPLEPROC glTexImage3DMultisample;
- extern PFNGLGETMULTISAMPLEFVPROC glGetMultisamplefv;
- extern PFNGLSAMPLEMASKIPROC glSampleMaski;
- //GL_ARB_debug_output
- extern PFNGLDEBUGMESSAGECONTROLARBPROC glDebugMessageControlARB;
- extern PFNGLDEBUGMESSAGEINSERTARBPROC glDebugMessageInsertARB;
- extern PFNGLDEBUGMESSAGECALLBACKARBPROC glDebugMessageCallbackARB;
- extern PFNGLGETDEBUGMESSAGELOGARBPROC glGetDebugMessageLogARB;
- #elif LL_DARWIN
- //----------------------------------------------------------------------------
- // LL_DARWIN
- #include <OpenGL/gl.h>
- #include <OpenGL/glu.h>
- #define GL_EXT_separate_specular_color 1
- #include <OpenGL/glext.h>
- #include "GL/glh_extensions.h"
- // These symbols don't exist on 10.3.9, so they have to be declared weak. Redeclaring them here fixes the problem.
- // Note that they also must not be called on 10.3.9. This should be taken care of by a runtime check for the existence of the GL extension.
- #include <AvailabilityMacros.h>
- //GL_EXT_blend_func_separate
- extern void glBlendFuncSeparateEXT(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) ;
- // GL_EXT_framebuffer_object
- extern GLboolean glIsRenderbufferEXT(GLuint renderbuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
- extern void glBindRenderbufferEXT(GLenum target, GLuint renderbuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
- extern void glDeleteRenderbuffersEXT(GLsizei n, const GLuint *renderbuffers) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
- extern void glGenRenderbuffersEXT(GLsizei n, GLuint *renderbuffers) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
- extern void glRenderbufferStorageEXT(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
- extern void glGetRenderbufferParameterivEXT(GLenum target, GLenum pname, GLint *params) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
- extern GLboolean glIsFramebufferEXT(GLuint framebuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
- extern void glBindFramebufferEXT(GLenum target, GLuint framebuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
- extern void glDeleteFramebuffersEXT(GLsizei n, const GLuint *framebuffers) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
- extern void glGenFramebuffersEXT(GLsizei n, GLuint *framebuffers) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
- extern GLenum glCheckFramebufferStatusEXT(GLenum target) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
- extern void glFramebufferTexture1DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
- extern void glFramebufferTexture2DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
- extern void glFramebufferTexture3DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
- extern void glFramebufferRenderbufferEXT(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
- extern void glGetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment, GLenum pname, GLint *params) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
- extern void glGenerateMipmapEXT(GLenum target) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
- #ifndef GL_ARB_framebuffer_object
- #define glGenerateMipmap glGenerateMipmapEXT
- #define GL_MAX_SAMPLES 0x8D57
- #endif
- // GL_ARB_draw_buffers
- extern void glDrawBuffersARB(GLsizei n, const GLenum* bufs) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
- #ifdef __cplusplus
- extern "C" {
- #endif
- //
- // Define map buffer range headers on Mac
- //
- #ifndef GL_ARB_map_buffer_range
- #define GL_MAP_READ_BIT 0x0001
- #define GL_MAP_WRITE_BIT 0x0002
- #define GL_MAP_INVALIDATE_RANGE_BIT 0x0004
- #define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008
- #define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010
- #define GL_MAP_UNSYNCHRONIZED_BIT 0x0020
- #endif
- //
- // Define multisample headers on Mac
- //
- #ifndef GL_ARB_texture_multisample
- #define GL_SAMPLE_POSITION 0x8E50
- #define GL_SAMPLE_MASK 0x8E51
- #define GL_SAMPLE_MASK_VALUE 0x8E52
- #define GL_MAX_SAMPLE_MASK_WORDS 0x8E59
- #define GL_TEXTURE_2D_MULTISAMPLE 0x9100
- #define GL_PROXY_TEXTURE_2D_MULTISAMPLE 0x9101
- #define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102
- #define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9103
- #define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104
- #define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 0x9105
- #define GL_TEXTURE_SAMPLES 0x9106
- #define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107
- #define GL_SAMPLER_2D_MULTISAMPLE 0x9108
- #define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109
- #define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A
- #define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B
- #define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C
- #define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D
- #define GL_MAX_COLOR_TEXTURE_SAMPLES 0x910E
- #define GL_MAX_DEPTH_TEXTURE_SAMPLES 0x910F
- #define GL_MAX_INTEGER_SAMPLES 0x9110
- #endif
- //
- // Define vertex buffer object headers on Mac
- //
- #ifndef GL_ARB_vertex_buffer_object
- #define GL_BUFFER_SIZE_ARB 0x8764
- #define GL_BUFFER_USAGE_ARB 0x8765
- #define GL_ARRAY_BUFFER_ARB 0x8892
- #define GL_ELEMENT_ARRAY_BUFFER_ARB 0x8893
- #define GL_ARRAY_BUFFER_BINDING_ARB 0x8894
- #define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB 0x8895
- #define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB 0x8896
- #define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB 0x8897
- #define GL_COLOR_ARRAY_BUFFER_BINDING_ARB 0x8898
- #define GL_INDEX_ARRAY_BUFFER_BINDING_ARB 0x8899
- #define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB 0x889A
- #define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB 0x889B
- #define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB 0x889C
- #define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB 0x889D
- #define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB 0x889E
- #define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB 0x889F
- #define GL_READ_ONLY_ARB 0x88B8
- #define GL_WRITE_ONLY_ARB 0x88B9
- #define GL_READ_WRITE_ARB 0x88BA
- #define GL_BUFFER_ACCESS_ARB 0x88BB
- #define GL_BUFFER_MAPPED_ARB 0x88BC
- #define GL_BUFFER_MAP_POINTER_ARB 0x88BD
- #define GL_STREAM_DRAW_ARB 0x88E0
- #define GL_STREAM_READ_ARB 0x88E1
- #define GL_STREAM_COPY_ARB 0x88E2
- #define GL_STATIC_DRAW_ARB 0x88E4
- #define GL_STATIC_READ_ARB 0x88E5
- #define GL_STATIC_COPY_ARB 0x88E6
- #define GL_DYNAMIC_DRAW_ARB 0x88E8
- #define GL_DYNAMIC_READ_ARB 0x88E9
- #define GL_DYNAMIC_COPY_ARB 0x88EA
- #endif
-
- #ifndef GL_ARB_vertex_buffer_object
- /* GL types for handling large vertex buffer objects */
- typedef intptr_t GLintptrARB;
- typedef intptr_t GLsizeiptrARB;
- #endif
- #ifndef GL_ARB_vertex_buffer_object
- #define GL_ARB_vertex_buffer_object 1
- #ifdef GL_GLEXT_FUNCTION_POINTERS
- typedef void (* glBindBufferARBProcPtr) (GLenum target, GLuint buffer);
- typedef void (* glDeleteBufferARBProcPtr) (GLsizei n, const GLuint *buffers);
- typedef void (* glGenBuffersARBProcPtr) (GLsizei n, GLuint *buffers);
- typedef GLboolean (* glIsBufferARBProcPtr) (GLuint buffer);
- typedef void (* glBufferDataARBProcPtr) (GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage);
- typedef void (* glBufferSubDataARBProcPtr) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data);
- typedef void (* glGetBufferSubDataARBProcPtr) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data);
- typedef GLvoid* (* glMapBufferARBProcPtr) (GLenum target, GLenum access); /* Flawfinder: ignore */
- typedef GLboolean (* glUnmapBufferARBProcPtr) (GLenum target);
- typedef void (* glGetBufferParameterivARBProcPtr) (GLenum target, GLenum pname, GLint *params);
- typedef void (* glGetBufferPointervARBProcPtr) (GLenum target, GLenum pname, GLvoid* *params);
- #else
- extern void glBindBufferARB (GLenum, GLuint);
- extern void glDeleteBuffersARB (GLsizei, const GLuint *);
- extern void glGenBuffersARB (GLsizei, GLuint *);
- extern GLboolean glIsBufferARB (GLuint);
- extern void glBufferDataARB (GLenum, GLsizeiptrARB, const GLvoid *, GLenum);
- extern void glBufferSubDataARB (GLenum, GLintptrARB, GLsizeiptrARB, const GLvoid *);
- extern void glGetBufferSubDataARB (GLenum, GLintptrARB, GLsizeiptrARB, GLvoid *);
- extern GLvoid* glMapBufferARB (GLenum, GLenum);
- extern GLboolean glUnmapBufferARB (GLenum);
- extern void glGetBufferParameterivARB (GLenum, GLenum, GLint *);
- extern void glGetBufferPointervARB (GLenum, GLenum, GLvoid* *);
- #endif /* GL_GLEXT_FUNCTION_POINTERS */
- #endif
- #ifndef GL_ARB_texture_rg
- #define GL_RG 0x8227
- #define GL_RG_INTEGER 0x8228
- #define GL_R8 0x8229
- #define GL_R16 0x822A
- #define GL_RG8 0x822B
- #define GL_RG16 0x822C
- #define GL_R16F 0x822D
- #define GL_R32F 0x822E
- #define GL_RG16F 0x822F
- #define GL_RG32F 0x8230
- #define GL_R8I 0x8231
- #define GL_R8UI 0x8232
- #define GL_R16I 0x8233
- #define GL_R16UI 0x8234
- #define GL_R32I 0x8235
- #define GL_R32UI 0x8236
- #define GL_RG8I 0x8237
- #define GL_RG8UI 0x8238
- #define GL_RG16I 0x8239
- #define GL_RG16UI 0x823A
- #define GL_RG32I 0x823B
- #define GL_RG32UI 0x823C
- #endif
- // May be needed for DARWIN...
- // #ifndef GL_ARB_compressed_tex_image
- // #define GL_ARB_compressed_tex_image 1
- // #ifdef GL_GLEXT_FUNCTION_POINTERS
- // typedef void (* glCompressedTexImage1D) (GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid*);
- // typedef void (* glCompressedTexImage2D) (GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid*);
- // typedef void (* glCompressedTexImage3D) (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid*);
- // typedef void (* glCompressedTexSubImage1D) (GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid*);
- // typedef void (* glCompressedTexSubImage2D) (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid*);
- // typedef void (* glCompressedTexSubImage3D) (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid*);
- // typedef void (* glGetCompressedTexImage) (GLenum, GLint, GLvoid*);
- // #else
- // extern void glCompressedTexImage1D (GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid*);
- // extern void glCompressedTexImage2D (GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid*);
- // extern void glCompressedTexImage3D (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid*);
- // extern void glCompressedTexSubImage1D (GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid*);
- // extern void glCompressedTexSubImage2D (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid*);
- // extern void glCompressedTexSubImage3D (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid*);
- // extern void glGetCompressedTexImage (GLenum, GLint, GLvoid*);
- // #endif /* GL_GLEXT_FUNCTION_POINTERS */
- // #endif
- #ifdef __cplusplus
- }
- #endif
- #include <AGL/gl.h>
- #endif // LL_MESA / LL_WINDOWS / LL_DARWIN
- // Even when GL_ARB_depth_clamp is available in the driver, the (correct)
- // headers, and therefore GL_DEPTH_CLAMP might not be defined.
- // In that case GL_DEPTH_CLAMP_NV should be defined, but why not just
- // use the known numeric.
- //
- // To avoid #ifdef's in the code. Just define this here.
- #ifndef GL_DEPTH_CLAMP
- // Probably (still) called GL_DEPTH_CLAMP_NV.
- #define GL_DEPTH_CLAMP 0x864F
- #endif
- //GL_NVX_gpu_memory_info constants
- #ifndef GL_NVX_gpu_memory_info
- #define GL_NVX_gpu_memory_info
- #define GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX 0x9047
- #define GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX 0x9048
- #define GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX 0x9049
- #define GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX 0x904A
- #define GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX 0x904B
- #endif
- //GL_ATI_meminfo constants
- #ifndef GL_ATI_meminfo
- #define GL_ATI_meminfo
- #define GL_VBO_FREE_MEMORY_ATI 0x87FB
- #define GL_TEXTURE_FREE_MEMORY_ATI 0x87FC
- #define GL_RENDERBUFFER_FREE_MEMORY_ATI 0x87FD
- #endif
- #endif // LL_LLGLHEADERS_H