Merge branch 'mesa_7_5_branch'
[mesa.git] / progs / util / extfuncs.h
1 /**
2 * Utility for getting OpenGL extension function pointers
3 * Meant to be #included.
4 */
5
6 /* OpenGL 2.0 */
7 static PFNGLATTACHSHADERPROC glAttachShader_func = NULL;
8 static PFNGLBINDATTRIBLOCATIONPROC glBindAttribLocation_func = NULL;
9 static PFNGLCOMPILESHADERPROC glCompileShader_func = NULL;
10 static PFNGLCREATEPROGRAMPROC glCreateProgram_func = NULL;
11 static PFNGLCREATESHADERPROC glCreateShader_func = NULL;
12 static PFNGLDELETEPROGRAMPROC glDeleteProgram_func = NULL;
13 static PFNGLDELETESHADERPROC glDeleteShader_func = NULL;
14 static PFNGLGETACTIVEATTRIBPROC glGetActiveAttrib_func = NULL;
15 static PFNGLGETACTIVEUNIFORMPROC glGetActiveUniform_func = NULL;
16 static PFNGLGETATTACHEDSHADERSPROC glGetAttachedShaders_func = NULL;
17 static PFNGLGETATTRIBLOCATIONPROC glGetAttribLocation_func = NULL;
18 static PFNGLGETPROGRAMINFOLOGPROC glGetProgramInfoLog_func = NULL;
19 static PFNGLGETSHADERINFOLOGPROC glGetShaderInfoLog_func = NULL;
20 static PFNGLGETSHADERIVPROC glGetShaderiv_func = NULL;
21 static PFNGLGETPROGRAMIVPROC glGetProgramiv_func = NULL;
22 static PFNGLGETSHADERSOURCEPROC glGetShaderSource_func = NULL;
23 static PFNGLGETUNIFORMFVPROC glGetUniformfv_func = NULL;
24 static PFNGLGETUNIFORMLOCATIONPROC glGetUniformLocation_func = NULL;
25 static PFNGLISPROGRAMPROC glIsProgram_func = NULL;
26 static PFNGLISSHADERPROC glIsShader_func = NULL;
27 static PFNGLLINKPROGRAMPROC glLinkProgram_func = NULL;
28 static PFNGLSHADERSOURCEPROC glShaderSource_func = NULL;
29 static PFNGLUNIFORM1IPROC glUniform1i_func = NULL;
30 static PFNGLUNIFORM2IPROC glUniform2i_func = NULL;
31 static PFNGLUNIFORM3IPROC glUniform3i_func = NULL;
32 static PFNGLUNIFORM4IPROC glUniform4i_func = NULL;
33 static PFNGLUNIFORM1FPROC glUniform1f_func = NULL;
34 static PFNGLUNIFORM2FPROC glUniform2f_func = NULL;
35 static PFNGLUNIFORM3FPROC glUniform3f_func = NULL;
36 static PFNGLUNIFORM4FPROC glUniform4f_func = NULL;
37 static PFNGLUNIFORM1FVPROC glUniform1fv_func = NULL;
38 static PFNGLUNIFORM2FVPROC glUniform2fv_func = NULL;
39 static PFNGLUNIFORM3FVPROC glUniform3fv_func = NULL;
40 static PFNGLUNIFORM4FVPROC glUniform4fv_func = NULL;
41 static PFNGLUNIFORMMATRIX2FVPROC glUniformMatrix2fv_func = NULL;
42 static PFNGLUNIFORMMATRIX3FVPROC glUniformMatrix3fv_func = NULL;
43 static PFNGLUNIFORMMATRIX4FVPROC glUniformMatrix4fv_func = NULL;
44 static PFNGLUSEPROGRAMPROC glUseProgram_func = NULL;
45 static PFNGLVERTEXATTRIB1FPROC glVertexAttrib1f_func = NULL;
46 static PFNGLVERTEXATTRIB2FPROC glVertexAttrib2f_func = NULL;
47 static PFNGLVERTEXATTRIB3FPROC glVertexAttrib3f_func = NULL;
48 static PFNGLVERTEXATTRIB4FPROC glVertexAttrib4f_func = NULL;
49 static PFNGLVERTEXATTRIB1FVPROC glVertexAttrib1fv_func = NULL;
50 static PFNGLVERTEXATTRIB2FVPROC glVertexAttrib2fv_func = NULL;
51 static PFNGLVERTEXATTRIB3FVPROC glVertexAttrib3fv_func = NULL;
52 static PFNGLVERTEXATTRIB4FVPROC glVertexAttrib4fv_func = NULL;
53 static PFNGLVERTEXATTRIBPOINTERPROC glVertexAttribPointer_func = NULL;
54 static PFNGLENABLEVERTEXATTRIBARRAYPROC glEnableVertexAttribArray_func = NULL;
55 static PFNGLDISABLEVERTEXATTRIBARRAYPROC glDisableVertexAttribArray_func = NULL;
56
57 /* OpenGL 2.1 */
58 static PFNGLUNIFORMMATRIX2X3FVPROC glUniformMatrix2x3fv_func = NULL;
59 static PFNGLUNIFORMMATRIX3X2FVPROC glUniformMatrix3x2fv_func = NULL;
60 static PFNGLUNIFORMMATRIX2X4FVPROC glUniformMatrix2x4fv_func = NULL;
61 static PFNGLUNIFORMMATRIX4X2FVPROC glUniformMatrix4x2fv_func = NULL;
62 static PFNGLUNIFORMMATRIX3X4FVPROC glUniformMatrix3x4fv_func = NULL;
63 static PFNGLUNIFORMMATRIX4X3FVPROC glUniformMatrix4x3fv_func = NULL;
64
65 /* OpenGL 1.4 */
66 static PFNGLPOINTPARAMETERFVPROC glPointParameterfv_func = NULL;
67 static PFNGLSECONDARYCOLOR3FVPROC glSecondaryColor3fv_func = NULL;
68
69 /* GL_ARB_vertex/fragment_program */
70 static PFNGLBINDPROGRAMARBPROC glBindProgramARB_func = NULL;
71 static PFNGLDELETEPROGRAMSARBPROC glDeleteProgramsARB_func = NULL;
72 static PFNGLGENPROGRAMSARBPROC glGenProgramsARB_func = NULL;
73 static PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC glGetProgramLocalParameterdvARB_func = NULL;
74 static PFNGLISPROGRAMARBPROC glIsProgramARB_func = NULL;
75 static PFNGLPROGRAMLOCALPARAMETER4DARBPROC glProgramLocalParameter4dARB_func = NULL;
76 static PFNGLPROGRAMLOCALPARAMETER4FVARBPROC glProgramLocalParameter4fvARB_func = NULL;
77 static PFNGLPROGRAMSTRINGARBPROC glProgramStringARB_func = NULL;
78 static PFNGLVERTEXATTRIB1FARBPROC glVertexAttrib1fARB_func = NULL;
79
80 /* GL_APPLE_vertex_array_object */
81 static PFNGLBINDVERTEXARRAYAPPLEPROC glBindVertexArrayAPPLE_func = NULL;
82 static PFNGLDELETEVERTEXARRAYSAPPLEPROC glDeleteVertexArraysAPPLE_func = NULL;
83 static PFNGLGENVERTEXARRAYSAPPLEPROC glGenVertexArraysAPPLE_func = NULL;
84 static PFNGLISVERTEXARRAYAPPLEPROC glIsVertexArrayAPPLE_func = NULL;
85
86 /* GL_EXT_stencil_two_side */
87 static PFNGLACTIVESTENCILFACEEXTPROC glActiveStencilFaceEXT_func = NULL;
88
89 /* GL_ARB_buffer_object */
90 static PFNGLGENBUFFERSARBPROC glGenBuffersARB_func = NULL;
91 static PFNGLDELETEBUFFERSARBPROC glDeleteBuffersARB_func = NULL;
92 static PFNGLBINDBUFFERARBPROC glBindBufferARB_func = NULL;
93 static PFNGLBUFFERDATAARBPROC glBufferDataARB_func = NULL;
94 static PFNGLBUFFERSUBDATAARBPROC glBufferSubDataARB_func = NULL;
95 static PFNGLMAPBUFFERARBPROC glMapBufferARB_func = NULL;
96 static PFNGLUNMAPBUFFERARBPROC glUnmapBufferARB_func = NULL;
97
98 /* GL_EXT_framebuffer_object */
99 static PFNGLISRENDERBUFFEREXTPROC glIsRenderbufferEXT_func = NULL;
100 static PFNGLBINDRENDERBUFFEREXTPROC glBindRenderbufferEXT_func = NULL;
101 static PFNGLDELETERENDERBUFFERSEXTPROC glDeleteRenderbuffersEXT_func = NULL;
102 static PFNGLGENRENDERBUFFERSEXTPROC glGenRenderbuffersEXT_func = NULL;
103 static PFNGLRENDERBUFFERSTORAGEEXTPROC glRenderbufferStorageEXT_func = NULL;
104 static PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC glGetRenderbufferParameterivEXT_func = NULL;
105 static PFNGLISFRAMEBUFFEREXTPROC glIsFramebufferEXT_func = NULL;
106 static PFNGLBINDFRAMEBUFFEREXTPROC glBindFramebufferEXT_func = NULL;
107 static PFNGLDELETEFRAMEBUFFERSEXTPROC glDeleteFramebuffersEXT_func = NULL;
108 static PFNGLGENFRAMEBUFFERSEXTPROC glGenFramebuffersEXT_func = NULL;
109 static PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC glCheckFramebufferStatusEXT_func = NULL;
110 static PFNGLFRAMEBUFFERTEXTURE1DEXTPROC glFramebufferTexture1DEXT_func = NULL;
111 static PFNGLFRAMEBUFFERTEXTURE2DEXTPROC glFramebufferTexture2DEXT_func = NULL;
112 static PFNGLFRAMEBUFFERTEXTURE3DEXTPROC glFramebufferTexture3DEXT_func = NULL;
113 static PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC glFramebufferRenderbufferEXT_func = NULL;
114 static PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC glGetFramebufferAttachmentParameterivEXT_func = NULL;
115 static PFNGLGENERATEMIPMAPEXTPROC glGenerateMipmapEXT_func = NULL;
116
117 /* GL_ARB_framebuffer_object */
118 static PFNGLISRENDERBUFFERPROC glIsRenderbuffer_func = NULL;
119 static PFNGLBINDRENDERBUFFERPROC glBindRenderbuffer_func = NULL;
120 static PFNGLDELETERENDERBUFFERSPROC glDeleteRenderbuffers_func = NULL;
121 static PFNGLGENRENDERBUFFERSPROC glGenRenderbuffers_func = NULL;
122 static PFNGLRENDERBUFFERSTORAGEPROC glRenderbufferStorage_func = NULL;
123 static PFNGLGETRENDERBUFFERPARAMETERIVPROC glGetRenderbufferParameteriv_func = NULL;
124 static PFNGLISFRAMEBUFFERPROC glIsFramebuffer_func = NULL;
125 static PFNGLBINDFRAMEBUFFERPROC glBindFramebuffer_func = NULL;
126 static PFNGLDELETEFRAMEBUFFERSPROC glDeleteFramebuffers_func = NULL;
127 static PFNGLGENFRAMEBUFFERSPROC glGenFramebuffers_func = NULL;
128 static PFNGLCHECKFRAMEBUFFERSTATUSPROC glCheckFramebufferStatus_func = NULL;
129 static PFNGLFRAMEBUFFERTEXTURE1DPROC glFramebufferTexture1D_func = NULL;
130 static PFNGLFRAMEBUFFERTEXTURE2DPROC glFramebufferTexture2D_func = NULL;
131 static PFNGLFRAMEBUFFERTEXTURE3DPROC glFramebufferTexture3D_func = NULL;
132 static PFNGLFRAMEBUFFERRENDERBUFFERPROC glFramebufferRenderbuffer_func = NULL;
133 static PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glGetFramebufferAttachmentParameteriv_func = NULL;
134 static PFNGLGENERATEMIPMAPPROC glGenerateMipmap_func = NULL;
135 static PFNGLBLITFRAMEBUFFERPROC glBlitFramebuffer_func = NULL;
136 static PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glRenderbufferStorageMultisample_func = NULL;
137 static PFNGLFRAMEBUFFERTEXTURELAYERPROC glFramebufferTextureLayer_func = NULL;
138
139
140 static void
141 GetExtensionFuncs(void)
142 {
143 /* OpenGL 2.0 */
144 glAttachShader_func = (PFNGLATTACHSHADERPROC) glutGetProcAddress("glAttachShader");
145 glBindAttribLocation_func = (PFNGLBINDATTRIBLOCATIONPROC) glutGetProcAddress("glBindAttribLocation");
146 glCompileShader_func = (PFNGLCOMPILESHADERPROC) glutGetProcAddress("glCompileShader");
147 glCreateProgram_func = (PFNGLCREATEPROGRAMPROC) glutGetProcAddress("glCreateProgram");
148 glCreateShader_func = (PFNGLCREATESHADERPROC) glutGetProcAddress("glCreateShader");
149 glDeleteProgram_func = (PFNGLDELETEPROGRAMPROC) glutGetProcAddress("glDeleteProgram");
150 glDeleteShader_func = (PFNGLDELETESHADERPROC) glutGetProcAddress("glDeleteShader");
151 glGetActiveAttrib_func = (PFNGLGETACTIVEATTRIBPROC) glutGetProcAddress("glGetActiveAttrib");
152 glGetActiveUniform_func = (PFNGLGETACTIVEUNIFORMPROC) glutGetProcAddress("glGetActiveUniform");
153 glGetAttachedShaders_func = (PFNGLGETATTACHEDSHADERSPROC) glutGetProcAddress("glGetAttachedShaders");
154 glGetAttribLocation_func = (PFNGLGETATTRIBLOCATIONPROC) glutGetProcAddress("glGetAttribLocation");
155 glGetProgramInfoLog_func = (PFNGLGETPROGRAMINFOLOGPROC) glutGetProcAddress("glGetProgramInfoLog");
156 glGetShaderInfoLog_func = (PFNGLGETSHADERINFOLOGPROC) glutGetProcAddress("glGetShaderInfoLog");
157 glGetProgramiv_func = (PFNGLGETPROGRAMIVPROC) glutGetProcAddress("glGetProgramiv");
158 glGetShaderiv_func = (PFNGLGETSHADERIVPROC) glutGetProcAddress("glGetShaderiv");
159 glGetShaderSource_func = (PFNGLGETSHADERSOURCEPROC) glutGetProcAddress("glGetShaderSource");
160 glGetUniformLocation_func = (PFNGLGETUNIFORMLOCATIONPROC) glutGetProcAddress("glGetUniformLocation");
161 glGetUniformfv_func = (PFNGLGETUNIFORMFVPROC) glutGetProcAddress("glGetUniformfv");
162 glIsProgram_func = (PFNGLISPROGRAMPROC) glutGetProcAddress("glIsProgram");
163 glIsShader_func = (PFNGLISSHADERPROC) glutGetProcAddress("glIsShader");
164 glLinkProgram_func = (PFNGLLINKPROGRAMPROC) glutGetProcAddress("glLinkProgram");
165 glShaderSource_func = (PFNGLSHADERSOURCEPROC) glutGetProcAddress("glShaderSource");
166 glUniform1i_func = (PFNGLUNIFORM1IPROC) glutGetProcAddress("glUniform1i");
167 glUniform2i_func = (PFNGLUNIFORM2IPROC) glutGetProcAddress("glUniform2i");
168 glUniform3i_func = (PFNGLUNIFORM3IPROC) glutGetProcAddress("glUniform3i");
169 glUniform4i_func = (PFNGLUNIFORM4IPROC) glutGetProcAddress("glUniform3i");
170 glUniform1f_func = (PFNGLUNIFORM1FPROC) glutGetProcAddress("glUniform1f");
171 glUniform2f_func = (PFNGLUNIFORM2FPROC) glutGetProcAddress("glUniform2f");
172 glUniform3f_func = (PFNGLUNIFORM3FPROC) glutGetProcAddress("glUniform3f");
173 glUniform4f_func = (PFNGLUNIFORM4FPROC) glutGetProcAddress("glUniform4f");
174 glUniform1fv_func = (PFNGLUNIFORM1FVPROC) glutGetProcAddress("glUniform1fv");
175 glUniform2fv_func = (PFNGLUNIFORM2FVPROC) glutGetProcAddress("glUniform2fv");
176 glUniform3fv_func = (PFNGLUNIFORM3FVPROC) glutGetProcAddress("glUniform3fv");
177 glUniform4fv_func = (PFNGLUNIFORM3FVPROC) glutGetProcAddress("glUniform4fv");
178 glUniformMatrix2fv_func = (PFNGLUNIFORMMATRIX2FVPROC) glutGetProcAddress("glUniformMatrix2fv");
179 glUniformMatrix3fv_func = (PFNGLUNIFORMMATRIX3FVPROC) glutGetProcAddress("glUniformMatrix3fv");
180 glUniformMatrix4fv_func = (PFNGLUNIFORMMATRIX4FVPROC) glutGetProcAddress("glUniformMatrix4fv");
181 glUseProgram_func = (PFNGLUSEPROGRAMPROC) glutGetProcAddress("glUseProgram");
182 glVertexAttrib1f_func = (PFNGLVERTEXATTRIB1FPROC) glutGetProcAddress("glVertexAttrib1f");
183 glVertexAttrib2f_func = (PFNGLVERTEXATTRIB2FPROC) glutGetProcAddress("glVertexAttrib2f");
184 glVertexAttrib3f_func = (PFNGLVERTEXATTRIB3FPROC) glutGetProcAddress("glVertexAttrib3f");
185 glVertexAttrib4f_func = (PFNGLVERTEXATTRIB4FPROC) glutGetProcAddress("glVertexAttrib4f");
186 glVertexAttrib1fv_func = (PFNGLVERTEXATTRIB1FVPROC) glutGetProcAddress("glVertexAttrib1fv");
187 glVertexAttrib2fv_func = (PFNGLVERTEXATTRIB2FVPROC) glutGetProcAddress("glVertexAttrib2fv");
188 glVertexAttrib3fv_func = (PFNGLVERTEXATTRIB3FVPROC) glutGetProcAddress("glVertexAttrib3fv");
189 glVertexAttrib4fv_func = (PFNGLVERTEXATTRIB4FVPROC) glutGetProcAddress("glVertexAttrib4fv");
190
191 glVertexAttribPointer_func = (PFNGLVERTEXATTRIBPOINTERPROC) glutGetProcAddress("glVertexAttribPointer");
192 glEnableVertexAttribArray_func = (PFNGLENABLEVERTEXATTRIBARRAYPROC) glutGetProcAddress("glEnableVertexAttribArray");
193 glDisableVertexAttribArray_func = (PFNGLDISABLEVERTEXATTRIBARRAYPROC) glutGetProcAddress("glDisableVertexAttribArray");
194
195 /* OpenGL 2.1 */
196 glUniformMatrix2x3fv_func = (PFNGLUNIFORMMATRIX2X3FVPROC) glutGetProcAddress("glUniformMatrix2x3fv");
197 glUniformMatrix3x2fv_func = (PFNGLUNIFORMMATRIX3X2FVPROC) glutGetProcAddress("glUniformMatrix3x2fv");
198 glUniformMatrix2x4fv_func = (PFNGLUNIFORMMATRIX2X4FVPROC) glutGetProcAddress("glUniformMatrix2x4fv");
199 glUniformMatrix4x2fv_func = (PFNGLUNIFORMMATRIX4X2FVPROC) glutGetProcAddress("glUniformMatrix4x2fv");
200 glUniformMatrix3x4fv_func = (PFNGLUNIFORMMATRIX3X4FVPROC) glutGetProcAddress("glUniformMatrix3x4fv");
201 glUniformMatrix4x3fv_func = (PFNGLUNIFORMMATRIX4X3FVPROC) glutGetProcAddress("glUniformMatrix4x3fv");
202
203 /* OpenGL 1.4 */
204 glPointParameterfv_func = (PFNGLPOINTPARAMETERFVPROC) glutGetProcAddress("glPointParameterfv");
205 glSecondaryColor3fv_func = (PFNGLSECONDARYCOLOR3FVPROC) glutGetProcAddress("glSecondaryColor3fv");
206
207 /* GL_ARB_vertex/fragment_program */
208 glBindProgramARB_func = (PFNGLBINDPROGRAMARBPROC) glutGetProcAddress("glBindProgramARB");
209 glDeleteProgramsARB_func = (PFNGLDELETEPROGRAMSARBPROC) glutGetProcAddress("glDeleteProgramsARB");
210 glGenProgramsARB_func = (PFNGLGENPROGRAMSARBPROC) glutGetProcAddress("glGenProgramsARB");
211 glGetProgramLocalParameterdvARB_func = (PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC) glutGetProcAddress("glGetProgramLocalParameterdvARB");
212 glIsProgramARB_func = (PFNGLISPROGRAMARBPROC) glutGetProcAddress("glIsProgramARB");
213 glProgramLocalParameter4dARB_func = (PFNGLPROGRAMLOCALPARAMETER4DARBPROC) glutGetProcAddress("glProgramLocalParameter4dARB");
214 glProgramLocalParameter4fvARB_func = (PFNGLPROGRAMLOCALPARAMETER4FVARBPROC) glutGetProcAddress("glProgramLocalParameter4fvARB");
215 glProgramStringARB_func = (PFNGLPROGRAMSTRINGARBPROC) glutGetProcAddress("glProgramStringARB");
216 glVertexAttrib1fARB_func = (PFNGLVERTEXATTRIB1FARBPROC) glutGetProcAddress("glVertexAttrib1fARB");
217
218 /* GL_APPLE_vertex_array_object */
219 glBindVertexArrayAPPLE_func = (PFNGLBINDVERTEXARRAYAPPLEPROC) glutGetProcAddress("glBindVertexArrayAPPLE");
220 glDeleteVertexArraysAPPLE_func = (PFNGLDELETEVERTEXARRAYSAPPLEPROC) glutGetProcAddress("glDeleteVertexArraysAPPLE");
221 glGenVertexArraysAPPLE_func = (PFNGLGENVERTEXARRAYSAPPLEPROC) glutGetProcAddress("glGenVertexArraysAPPLE");
222 glIsVertexArrayAPPLE_func = (PFNGLISVERTEXARRAYAPPLEPROC) glutGetProcAddress("glIsVertexArrayAPPLE");
223
224 /* GL_EXT_stencil_two_side */
225 glActiveStencilFaceEXT_func = (PFNGLACTIVESTENCILFACEEXTPROC) glutGetProcAddress("glActiveStencilFaceEXT");
226
227 /* GL_ARB_vertex_buffer_object */
228 glGenBuffersARB_func = (PFNGLGENBUFFERSARBPROC) glutGetProcAddress("glGenBuffersARB");
229 glDeleteBuffersARB_func = (PFNGLDELETEBUFFERSARBPROC) glutGetProcAddress("glDeleteBuffersARB");
230 glBindBufferARB_func = (PFNGLBINDBUFFERARBPROC) glutGetProcAddress("glBindBufferARB");
231 glBufferDataARB_func = (PFNGLBUFFERDATAARBPROC) glutGetProcAddress("glBufferDataARB");
232 glBufferSubDataARB_func = (PFNGLBUFFERSUBDATAARBPROC) glutGetProcAddress("glBufferSubDataARB");
233 glMapBufferARB_func = (PFNGLMAPBUFFERARBPROC) glutGetProcAddress("glMapBufferARB");
234 glUnmapBufferARB_func = (PFNGLUNMAPBUFFERARBPROC) glutGetProcAddress("glUnmapBufferARB");
235
236 /* GL_EXT_framebuffer_object */
237 glIsRenderbufferEXT_func = (PFNGLISRENDERBUFFEREXTPROC) glutGetProcAddress("glIsRenderbufferEXT");
238 glBindRenderbufferEXT_func = (PFNGLBINDRENDERBUFFEREXTPROC) glutGetProcAddress("glBindRenderbufferEXT");
239 glDeleteRenderbuffersEXT_func = (PFNGLDELETERENDERBUFFERSEXTPROC) glutGetProcAddress("glDeleteRenderbuffersEXT");
240 glGenRenderbuffersEXT_func = (PFNGLGENRENDERBUFFERSEXTPROC) glutGetProcAddress("glGenRenderbuffersEXT");
241 glRenderbufferStorageEXT_func = (PFNGLRENDERBUFFERSTORAGEEXTPROC) glutGetProcAddress("glRenderbufferStorageEXT");
242 glGetRenderbufferParameterivEXT_func = (PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC) glutGetProcAddress("glGetRenderbufferParameterivEXT");
243 glIsFramebufferEXT_func = (PFNGLISFRAMEBUFFEREXTPROC) glutGetProcAddress("glIsFramebufferEXT");
244 glBindFramebufferEXT_func = (PFNGLBINDFRAMEBUFFEREXTPROC) glutGetProcAddress("glBindFramebufferEXT");
245 glDeleteFramebuffersEXT_func = (PFNGLDELETEFRAMEBUFFERSEXTPROC) glutGetProcAddress("glDeleteFramebuffersEXT");
246 glGenFramebuffersEXT_func = (PFNGLGENFRAMEBUFFERSEXTPROC) glutGetProcAddress("glGenFramebuffersEXT");
247 glCheckFramebufferStatusEXT_func = (PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC) glutGetProcAddress("glCheckFramebufferStatusEXT");
248 glFramebufferTexture1DEXT_func = (PFNGLFRAMEBUFFERTEXTURE1DEXTPROC) glutGetProcAddress("glFramebufferTexture1DEXT");
249 glFramebufferTexture2DEXT_func = (PFNGLFRAMEBUFFERTEXTURE2DEXTPROC) glutGetProcAddress("glFramebufferTexture2DEXT");
250 glFramebufferTexture3DEXT_func = (PFNGLFRAMEBUFFERTEXTURE3DEXTPROC) glutGetProcAddress("glFramebufferTexture3DEXT");
251 glFramebufferRenderbufferEXT_func = (PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC) glutGetProcAddress("glFramebufferRenderbufferEXT");
252 glGetFramebufferAttachmentParameterivEXT_func = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) glutGetProcAddress("glGetFramebufferAttachmentParameterivEXT");
253 glGenerateMipmapEXT_func = (PFNGLGENERATEMIPMAPEXTPROC) glutGetProcAddress("glGenerateMipmapEXT");
254
255 /* GL_ARB_framebuffer_object */
256 glIsRenderbuffer_func = (PFNGLISRENDERBUFFERPROC) glutGetProcAddress("glIsRenderbuffer");
257 glBindRenderbuffer_func = (PFNGLBINDRENDERBUFFERPROC) glutGetProcAddress("glBindRenderbuffer");
258 glDeleteRenderbuffers_func = (PFNGLDELETERENDERBUFFERSPROC) glutGetProcAddress("glDeleteRenderbuffers");
259 glGenRenderbuffers_func = (PFNGLGENRENDERBUFFERSPROC) glutGetProcAddress("glGenRenderbuffers");
260 glRenderbufferStorage_func = (PFNGLRENDERBUFFERSTORAGEPROC) glutGetProcAddress("glRenderbufferStorage");
261 glGetRenderbufferParameteriv_func = (PFNGLGETRENDERBUFFERPARAMETERIVPROC) glutGetProcAddress("glGetRenderbufferParameteriv");
262 glIsFramebuffer_func = (PFNGLISFRAMEBUFFERPROC) glutGetProcAddress("glIsFramebuffer");
263 glBindFramebuffer_func = (PFNGLBINDFRAMEBUFFERPROC) glutGetProcAddress("glBindFramebuffer");
264 glDeleteFramebuffers_func = (PFNGLDELETEFRAMEBUFFERSPROC) glutGetProcAddress("glDeleteFramebuffers");
265 glGenFramebuffers_func = (PFNGLGENFRAMEBUFFERSPROC) glutGetProcAddress("glGenFramebuffers");
266 glCheckFramebufferStatus_func = (PFNGLCHECKFRAMEBUFFERSTATUSPROC) glutGetProcAddress("glCheckFramebufferStatus");
267 glFramebufferTexture1D_func = (PFNGLFRAMEBUFFERTEXTURE1DPROC) glutGetProcAddress("glFramebufferTexture1D");
268 glFramebufferTexture2D_func = (PFNGLFRAMEBUFFERTEXTURE2DPROC) glutGetProcAddress("glFramebufferTexture2D");
269 glFramebufferTexture3D_func = (PFNGLFRAMEBUFFERTEXTURE3DPROC) glutGetProcAddress("glFramebufferTexture3D");
270 glFramebufferRenderbuffer_func = (PFNGLFRAMEBUFFERRENDERBUFFERPROC) glutGetProcAddress("glFramebufferRenderbuffer");
271 glGetFramebufferAttachmentParameteriv_func = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) glutGetProcAddress("glGetFramebufferAttachmentParameteriv");
272 glGenerateMipmap_func = (PFNGLGENERATEMIPMAPPROC) glutGetProcAddress("glGenerateMipmap");
273 glBlitFramebuffer_func = (PFNGLBLITFRAMEBUFFERPROC) glutGetProcAddress("glBlitFramebuffer");
274 glRenderbufferStorageMultisample_func = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) glutGetProcAddress("glRenderbufferStorageMultisample");
275 glFramebufferTextureLayer_func = (PFNGLFRAMEBUFFERTEXTURELAYERPROC) glutGetProcAddress("glFramebufferTextureLayer");
276 }
277