aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/llrender/llglheaders.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--linden/indra/llrender/llglheaders.h247
1 files changed, 241 insertions, 6 deletions
diff --git a/linden/indra/llrender/llglheaders.h b/linden/indra/llrender/llglheaders.h
index 20a420b..c7178a5 100644
--- a/linden/indra/llrender/llglheaders.h
+++ b/linden/indra/llrender/llglheaders.h
@@ -17,7 +17,8 @@
17 * There are special exceptions to the terms and conditions of the GPL as 17 * There are special exceptions to the terms and conditions of the GPL as
18 * it is applied to this Source Code. View the full text of the exception 18 * it is applied to this Source Code. View the full text of the exception
19 * in the file doc/FLOSS-exception.txt in this software distribution, or 19 * in the file doc/FLOSS-exception.txt in this software distribution, or
20 * online at http://secondlifegrid.net/programs/open_source/licensing/flossexception 20 * online at
21 * http://secondlifegrid.net/programs/open_source/licensing/flossexception
21 * 22 *
22 * By copying, modifying or distributing this software, you acknowledge 23 * By copying, modifying or distributing this software, you acknowledge
23 * that you have read and understood your obligations described above, 24 * that you have read and understood your obligations described above,
@@ -32,11 +33,215 @@
32#ifndef LL_LLGLHEADERS_H 33#ifndef LL_LLGLHEADERS_H
33#define LL_LLGLHEADERS_H 34#define LL_LLGLHEADERS_H
34 35
35#if LL_MESA 36#if LL_SOLARIS
37# if defined(__sparc)
38# define I_NEED_OS2_H // avoiding BOOL conflicts
39# endif
40# include "GL/gl.h"
41# if defined(__sparc)
42# undef I_NEED_OS2_H
43# ifdef BOOL
44# undef BOOL // now get rid of Xmd.h crap
45# endif
46# endif
47# include "GL/glx.h"
48# define GL_GLEXT_PROTOTYPES 1
49# include "GL/glext.h"
50# include "GL/glu.h"
51# include "GL/glx.h"
52# define GLX_GLXEXT_PROTOTYPES 1
53# include "GL/glxext.h"
54//# define GLH_EXT_GET_PROC_ADDRESS(p) glXGetProcAddressARB((const GLubyte*)(p))
55# define GLH_EXT_GET_PROC_ADDRESS(p) glXGetProcAddress((const GLubyte*)(p))
56// the X headers define 'Status'. Undefine to avoid confusion.
57#undef Status
58
59// The __APPLE__ kludge is to make glh_extensions.h not symbol-clash horribly
60// This header is distributed with SL. You'll find it in linden/libraries/include/GL/
61# define __APPLE__
62# include "GL/glh_extensions.h"
63# undef __APPLE__
64
65
66// GL_ARB_vertex_buffer_object
67extern PFNGLBINDBUFFERARBPROC glBindBufferARB;
68extern PFNGLDELETEBUFFERSARBPROC glDeleteBuffersARB;
69extern PFNGLGENBUFFERSARBPROC glGenBuffersARB;
70extern PFNGLISBUFFERARBPROC glIsBufferARB;
71extern PFNGLBUFFERDATAARBPROC glBufferDataARB;
72extern PFNGLBUFFERSUBDATAARBPROC glBufferSubDataARB;
73extern PFNGLGETBUFFERSUBDATAARBPROC glGetBufferSubDataARB;
74extern PFNGLMAPBUFFERARBPROC glMapBufferARB;
75extern PFNGLUNMAPBUFFERARBPROC glUnmapBufferARB;
76extern PFNGLGETBUFFERPARAMETERIVARBPROC glGetBufferParameterivARB;
77extern PFNGLGETBUFFERPOINTERVARBPROC glGetBufferPointervARB;
78
79// GL_ATI_vertex_array_object
80extern PFNGLNEWOBJECTBUFFERATIPROC glNewObjectBufferATI;
81extern PFNGLISOBJECTBUFFERATIPROC glIsObjectBufferATI;
82extern PFNGLUPDATEOBJECTBUFFERATIPROC glUpdateObjectBufferATI;
83extern PFNGLGETOBJECTBUFFERFVATIPROC glGetObjectBufferfvATI;
84extern PFNGLGETOBJECTBUFFERIVATIPROC glGetObjectBufferivATI;
85extern PFNGLFREEOBJECTBUFFERATIPROC glFreeObjectBufferATI;
86extern PFNGLARRAYOBJECTATIPROC glArrayObjectATI;
87extern PFNGLVERTEXATTRIBARRAYOBJECTATIPROC glVertexAttribArrayObjectATI;
88extern PFNGLGETARRAYOBJECTFVATIPROC glGetArrayObjectfvATI;
89extern PFNGLGETARRAYOBJECTIVATIPROC glGetArrayObjectivATI;
90extern PFNGLVARIANTARRAYOBJECTATIPROC glVariantObjectArrayATI;
91extern PFNGLGETVARIANTARRAYOBJECTFVATIPROC glGetVariantArrayObjectfvATI;
92extern PFNGLGETVARIANTARRAYOBJECTIVATIPROC glGetVariantArrayObjectivATI;
93
94// GL_ARB_occlusion_query
95extern PFNGLGENQUERIESARBPROC glGenQueriesARB;
96extern PFNGLDELETEQUERIESARBPROC glDeleteQueriesARB;
97extern PFNGLISQUERYARBPROC glIsQueryARB;
98extern PFNGLBEGINQUERYARBPROC glBeginQueryARB;
99extern PFNGLENDQUERYARBPROC glEndQueryARB;
100extern PFNGLGETQUERYIVARBPROC glGetQueryivARB;
101extern PFNGLGETQUERYOBJECTIVARBPROC glGetQueryObjectivARB;
102extern PFNGLGETQUERYOBJECTUIVARBPROC glGetQueryObjectuivARB;
103
104// GL_ARB_point_parameters
105extern PFNGLPOINTPARAMETERFARBPROC glPointParameterfARB;
106extern PFNGLPOINTPARAMETERFVARBPROC glPointParameterfvARB;
107
108// GL_ARB_shader_objects
109extern PFNGLDELETEOBJECTARBPROC glDeleteObjectARB;
110extern PFNGLGETHANDLEARBPROC glGetHandleARB;
111extern PFNGLDETACHOBJECTARBPROC glDetachObjectARB;
112extern PFNGLCREATESHADEROBJECTARBPROC glCreateShaderObjectARB;
113extern PFNGLSHADERSOURCEARBPROC glShaderSourceARB;
114extern PFNGLCOMPILESHADERARBPROC glCompileShaderARB;
115extern PFNGLCREATEPROGRAMOBJECTARBPROC glCreateProgramObjectARB;
116extern PFNGLATTACHOBJECTARBPROC glAttachObjectARB;
117extern PFNGLLINKPROGRAMARBPROC glLinkProgramARB;
118extern PFNGLUSEPROGRAMOBJECTARBPROC glUseProgramObjectARB;
119extern PFNGLVALIDATEPROGRAMARBPROC glValidateProgramARB;
120extern PFNGLUNIFORM1FARBPROC glUniform1fARB;
121extern PFNGLUNIFORM2FARBPROC glUniform2fARB;
122extern PFNGLUNIFORM3FARBPROC glUniform3fARB;
123extern PFNGLUNIFORM4FARBPROC glUniform4fARB;
124extern PFNGLUNIFORM1IARBPROC glUniform1iARB;
125extern PFNGLUNIFORM2IARBPROC glUniform2iARB;
126extern PFNGLUNIFORM3IARBPROC glUniform3iARB;
127extern PFNGLUNIFORM4IARBPROC glUniform4iARB;
128extern PFNGLUNIFORM1FVARBPROC glUniform1fvARB;
129extern PFNGLUNIFORM2FVARBPROC glUniform2fvARB;
130extern PFNGLUNIFORM3FVARBPROC glUniform3fvARB;
131extern PFNGLUNIFORM4FVARBPROC glUniform4fvARB;
132extern PFNGLUNIFORM1IVARBPROC glUniform1ivARB;
133extern PFNGLUNIFORM2IVARBPROC glUniform2ivARB;
134extern PFNGLUNIFORM3IVARBPROC glUniform3ivARB;
135extern PFNGLUNIFORM4IVARBPROC glUniform4ivARB;
136extern PFNGLUNIFORMMATRIX2FVARBPROC glUniformMatrix2fvARB;
137extern PFNGLUNIFORMMATRIX3FVARBPROC glUniformMatrix3fvARB;
138extern PFNGLUNIFORMMATRIX4FVARBPROC glUniformMatrix4fvARB;
139extern PFNGLGETOBJECTPARAMETERFVARBPROC glGetObjectParameterfvARB;
140extern PFNGLGETOBJECTPARAMETERIVARBPROC glGetObjectParameterivARB;
141extern PFNGLGETINFOLOGARBPROC glGetInfoLogARB;
142extern PFNGLGETATTACHEDOBJECTSARBPROC glGetAttachedObjectsARB;
143extern PFNGLGETUNIFORMLOCATIONARBPROC glGetUniformLocationARB;
144extern PFNGLGETACTIVEUNIFORMARBPROC glGetActiveUniformARB;
145extern PFNGLGETUNIFORMFVARBPROC glGetUniformfvARB;
146extern PFNGLGETUNIFORMIVARBPROC glGetUniformivARB;
147extern PFNGLGETSHADERSOURCEARBPROC glGetShaderSourceARB;
148
149// GL_ARB_vertex_shader
150extern PFNGLVERTEXATTRIB1DARBPROC glVertexAttrib1dARB;
151extern PFNGLVERTEXATTRIB1DVARBPROC glVertexAttrib1dvARB;
152extern PFNGLVERTEXATTRIB1FARBPROC glVertexAttrib1fARB;
153extern PFNGLVERTEXATTRIB1FVARBPROC glVertexAttrib1fvARB;
154extern PFNGLVERTEXATTRIB1SARBPROC glVertexAttrib1sARB;
155extern PFNGLVERTEXATTRIB1SVARBPROC glVertexAttrib1svARB;
156extern PFNGLVERTEXATTRIB2DARBPROC glVertexAttrib2dARB;
157extern PFNGLVERTEXATTRIB2DVARBPROC glVertexAttrib2dvARB;
158extern PFNGLVERTEXATTRIB2FARBPROC glVertexAttrib2fARB;
159extern PFNGLVERTEXATTRIB2FVARBPROC glVertexAttrib2fvARB;
160extern PFNGLVERTEXATTRIB2SARBPROC glVertexAttrib2sARB;
161extern PFNGLVERTEXATTRIB2SVARBPROC glVertexAttrib2svARB;
162extern PFNGLVERTEXATTRIB3DARBPROC glVertexAttrib3dARB;
163extern PFNGLVERTEXATTRIB3DVARBPROC glVertexAttrib3dvARB;
164extern PFNGLVERTEXATTRIB3FARBPROC glVertexAttrib3fARB;
165extern PFNGLVERTEXATTRIB3FVARBPROC glVertexAttrib3fvARB;
166extern PFNGLVERTEXATTRIB3SARBPROC glVertexAttrib3sARB;
167extern PFNGLVERTEXATTRIB3SVARBPROC glVertexAttrib3svARB;
168extern PFNGLVERTEXATTRIB4NBVARBPROC glVertexAttrib4nbvARB;
169extern PFNGLVERTEXATTRIB4NIVARBPROC glVertexAttrib4nivARB;
170extern PFNGLVERTEXATTRIB4NSVARBPROC glVertexAttrib4nsvARB;
171extern PFNGLVERTEXATTRIB4NUBARBPROC glVertexAttrib4nubARB;
172extern PFNGLVERTEXATTRIB4NUBVARBPROC glVertexAttrib4nubvARB;
173extern PFNGLVERTEXATTRIB4NUIVARBPROC glVertexAttrib4nuivARB;
174extern PFNGLVERTEXATTRIB4NUSVARBPROC glVertexAttrib4nusvARB;
175extern PFNGLVERTEXATTRIB4BVARBPROC glVertexAttrib4bvARB;
176extern PFNGLVERTEXATTRIB4DARBPROC glVertexAttrib4dARB;
177extern PFNGLVERTEXATTRIB4DVARBPROC glVertexAttrib4dvARB;
178extern PFNGLVERTEXATTRIB4FARBPROC glVertexAttrib4fARB;
179extern PFNGLVERTEXATTRIB4FVARBPROC glVertexAttrib4fvARB;
180extern PFNGLVERTEXATTRIB4IVARBPROC glVertexAttrib4ivARB;
181extern PFNGLVERTEXATTRIB4SARBPROC glVertexAttrib4sARB;
182extern PFNGLVERTEXATTRIB4SVARBPROC glVertexAttrib4svARB;
183extern PFNGLVERTEXATTRIB4UBVARBPROC glVertexAttrib4ubvARB;
184extern PFNGLVERTEXATTRIB4UIVARBPROC glVertexAttrib4uivARB;
185extern PFNGLVERTEXATTRIB4USVARBPROC glVertexAttrib4usvARB;
186extern PFNGLVERTEXATTRIBPOINTERARBPROC glVertexAttribPointerARB;
187extern PFNGLENABLEVERTEXATTRIBARRAYARBPROC glEnableVertexAttribArrayARB;
188extern PFNGLDISABLEVERTEXATTRIBARRAYARBPROC glDisableVertexAttribArrayARB;
189extern PFNGLPROGRAMSTRINGARBPROC glProgramStringARB;
190extern PFNGLBINDPROGRAMARBPROC glBindProgramARB;
191extern PFNGLDELETEPROGRAMSARBPROC glDeleteProgramsARB;
192extern PFNGLGENPROGRAMSARBPROC glGenProgramsARB;
193extern PFNGLPROGRAMENVPARAMETER4DARBPROC glProgramEnvParameter4dARB;
194extern PFNGLPROGRAMENVPARAMETER4DVARBPROC glProgramEnvParameter4dvARB;
195extern PFNGLPROGRAMENVPARAMETER4FARBPROC glProgramEnvParameter4fARB;
196extern PFNGLPROGRAMENVPARAMETER4FVARBPROC glProgramEnvParameter4fvARB;
197extern PFNGLPROGRAMLOCALPARAMETER4DARBPROC glProgramLocalParameter4dARB;
198extern PFNGLPROGRAMLOCALPARAMETER4DVARBPROC glProgramLocalParameter4dvARB;
199extern PFNGLPROGRAMLOCALPARAMETER4FARBPROC glProgramLocalParameter4fARB;
200extern PFNGLPROGRAMLOCALPARAMETER4FVARBPROC glProgramLocalParameter4fvARB;
201extern PFNGLGETPROGRAMENVPARAMETERDVARBPROC glGetProgramEnvParameterdvARB;
202extern PFNGLGETPROGRAMENVPARAMETERFVARBPROC glGetProgramEnvParameterfvARB;
203extern PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC glGetProgramLocalParameterdvARB;
204extern PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC glGetProgramLocalParameterfvARB;
205extern PFNGLGETPROGRAMIVARBPROC glGetProgramivARB;
206extern PFNGLGETPROGRAMSTRINGARBPROC glGetProgramStringARB;
207extern PFNGLGETVERTEXATTRIBDVARBPROC glGetVertexAttribdvARB;
208extern PFNGLGETVERTEXATTRIBFVARBPROC glGetVertexAttribfvARB;
209extern PFNGLGETVERTEXATTRIBIVARBPROC glGetVertexAttribivARB;
210extern PFNGLGETVERTEXATTRIBPOINTERVARBPROC glGetVertexAttribPointervARB;
211extern PFNGLISPROGRAMARBPROC glIsProgramARB;
212extern PFNGLBINDATTRIBLOCATIONARBPROC glBindAttribLocationARB;
213extern PFNGLGETACTIVEATTRIBARBPROC glGetActiveAttribARB;
214extern PFNGLGETATTRIBLOCATIONARBPROC glGetAttribLocationARB;
215
216extern PFNGLCOMPRESSEDTEXIMAGE2DARBPROC glCompressedTexImage2DARB;
217extern PFNGLGETCOMPRESSEDTEXIMAGEARBPROC glGetCompressedTexImageARB;
218
219extern PFNGLCOLORTABLEEXTPROC glColorTableEXT;
220
221//GL_EXT_framebuffer_object
222extern PFNGLISRENDERBUFFEREXTPROC glIsRenderbufferEXT;
223extern PFNGLBINDRENDERBUFFEREXTPROC glBindRenderbufferEXT;
224extern PFNGLDELETERENDERBUFFERSEXTPROC glDeleteRenderbuffersEXT;
225extern PFNGLGENRENDERBUFFERSEXTPROC glGenRenderbuffersEXT;
226extern PFNGLRENDERBUFFERSTORAGEEXTPROC glRenderbufferStorageEXT;
227extern PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC glGetRenderbufferParameterivEXT;
228extern PFNGLISFRAMEBUFFEREXTPROC glIsFramebufferEXT;
229extern PFNGLBINDFRAMEBUFFEREXTPROC glBindFramebufferEXT;
230extern PFNGLDELETEFRAMEBUFFERSEXTPROC glDeleteFramebuffersEXT;
231extern PFNGLGENFRAMEBUFFERSEXTPROC glGenFramebuffersEXT;
232extern PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC glCheckFramebufferStatusEXT;
233extern PFNGLFRAMEBUFFERTEXTURE1DEXTPROC glFramebufferTexture1DEXT;
234extern PFNGLFRAMEBUFFERTEXTURE2DEXTPROC glFramebufferTexture2DEXT;
235extern PFNGLFRAMEBUFFERTEXTURE3DEXTPROC glFramebufferTexture3DEXT;
236extern PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC glFramebufferRenderbufferEXT;
237extern PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC glGetFramebufferAttachmentParameterivEXT;
238extern PFNGLGENERATEMIPMAPEXTPROC glGenerateMipmapEXT;
239
240#elif LL_MESA
36//---------------------------------------------------------------------------- 241//----------------------------------------------------------------------------
37// MESA headers 242// MESA headers
38// quotes so we get libraries/.../GL/ version 243// quotes so we get libraries/.../GL/ version
39#define GL_GLEXT_PROTOTYPES 244#define GL_GLEXT_PROTOTYPES 1
40#include "GL/gl.h" 245#include "GL/gl.h"
41#include "GL/glext.h" 246#include "GL/glext.h"
42#include "GL/glu.h" 247#include "GL/glu.h"
@@ -46,7 +251,7 @@
46# include "GL/glh_extensions.h" 251# include "GL/glh_extensions.h"
47# undef __APPLE__ 252# undef __APPLE__
48 253
49#elif LL_LINUX 254#elif LL_LINUX
50//---------------------------------------------------------------------------- 255//----------------------------------------------------------------------------
51// Linux, MESA headers, but not necessarily assuming MESA runtime. 256// Linux, MESA headers, but not necessarily assuming MESA runtime.
52// quotes so we get libraries/.../GL/ version 257// quotes so we get libraries/.../GL/ version
@@ -76,6 +281,20 @@
76#undef Status 281#undef Status
77#endif // LL_LINUX && !LL_MESA_HEADLESS 282#endif // LL_LINUX && !LL_MESA_HEADLESS
78 283
284#if LL_LINUX && defined(WINGDIAPI)
285// WINGDIAPI gets set if we are using the linux nvidia gl.h header which needs
286// the functions below setting up.
287# define LL_LINUX_NV_GL_HEADERS 1
288#else
289# define LL_LINUX_NV_GL_HEADERS 0
290#endif // LL_LINUX && defined(WINGDIAPI)
291
292#if LL_LINUX_NV_GL_HEADERS
293// Missing functions when using nvidia headers:
294extern PFNGLACTIVETEXTUREARBPROC glActiveTextureARB;
295extern PFNGLCLIENTACTIVETEXTUREARBPROC glClientActiveTextureARB;
296extern PFNGLDRAWRANGEELEMENTSPROC glDrawRangeElements;
297#endif // LL_LINUX_NV_GL_HEADERS
79 298
80// GL_ARB_vertex_buffer_object 299// GL_ARB_vertex_buffer_object
81extern PFNGLBINDBUFFERARBPROC glBindBufferARB; 300extern PFNGLBINDBUFFERARBPROC glBindBufferARB;
@@ -230,8 +449,6 @@ extern PFNGLGETATTRIBLOCATIONARBPROC glGetAttribLocationARB;
230extern PFNGLCOMPRESSEDTEXIMAGE2DARBPROC glCompressedTexImage2DARB; 449extern PFNGLCOMPRESSEDTEXIMAGE2DARBPROC glCompressedTexImage2DARB;
231extern PFNGLGETCOMPRESSEDTEXIMAGEARBPROC glGetCompressedTexImageARB; 450extern PFNGLGETCOMPRESSEDTEXIMAGEARBPROC glGetCompressedTexImageARB;
232 451
233extern PFNGLCOLORTABLEEXTPROC glColorTableEXT;
234
235//GL_EXT_framebuffer_object 452//GL_EXT_framebuffer_object
236extern PFNGLISRENDERBUFFEREXTPROC glIsRenderbufferEXT; 453extern PFNGLISRENDERBUFFEREXTPROC glIsRenderbufferEXT;
237extern PFNGLBINDRENDERBUFFEREXTPROC glBindRenderbufferEXT; 454extern PFNGLBINDRENDERBUFFEREXTPROC glBindRenderbufferEXT;
@@ -251,6 +468,14 @@ extern PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC glFramebufferRenderbufferEXT;
251extern PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC glGetFramebufferAttachmentParameterivEXT; 468extern PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC glGetFramebufferAttachmentParameterivEXT;
252extern PFNGLGENERATEMIPMAPEXTPROC glGenerateMipmapEXT; 469extern PFNGLGENERATEMIPMAPEXTPROC glGenerateMipmapEXT;
253 470
471// GL_EXT_framebuffer_multisample
472extern PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC glRenderbufferStorageMultisampleEXT;
473
474// GL_EXT_framebuffer_blit
475extern PFNGLBLITFRAMEBUFFEREXTPROC glBlitFramebufferEXT;
476
477//GL_ARB_draw_buffers
478extern PFNGLDRAWBUFFERSARBPROC glDrawBuffersARB;
254 479
255#elif LL_WINDOWS 480#elif LL_WINDOWS
256 481
@@ -439,6 +664,14 @@ extern PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC glFramebufferRenderbufferEXT;
439extern PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC glGetFramebufferAttachmentParameterivEXT; 664extern PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC glGetFramebufferAttachmentParameterivEXT;
440extern PFNGLGENERATEMIPMAPEXTPROC glGenerateMipmapEXT; 665extern PFNGLGENERATEMIPMAPEXTPROC glGenerateMipmapEXT;
441 666
667// GL_EXT_framebuffer_multisample
668extern PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC glRenderbufferStorageMultisampleEXT;
669
670// GL_EXT_framebuffer_blit
671extern PFNGLBLITFRAMEBUFFEREXTPROC glBlitFramebufferEXT;
672
673//GL_ARB_draw_buffers
674extern PFNGLDRAWBUFFERSARBPROC glDrawBuffersARB;
442 675
443#elif LL_DARWIN 676#elif LL_DARWIN
444//---------------------------------------------------------------------------- 677//----------------------------------------------------------------------------
@@ -475,6 +708,8 @@ extern void glFramebufferRenderbufferEXT(GLenum target, GLenum attachment, GLenu
475extern void glGetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment, GLenum pname, GLint *params) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; 708extern void glGetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment, GLenum pname, GLint *params) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
476extern void glGenerateMipmapEXT(GLenum target) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; 709extern void glGenerateMipmapEXT(GLenum target) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
477 710
711// GL_ARB_draw_buffers
712extern void glDrawBuffersARB(GLsizei n, const GLenum* bufs) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
478 713
479#ifdef __cplusplus 714#ifdef __cplusplus
480extern "C" { 715extern "C" {