source: trunk/src/opengl/qglextensions_p.h@ 385

Last change on this file since 385 was 2, checked in by Dmitry A. Kuminov, 16 years ago

Initially imported qt-all-opensource-src-4.5.1 from Trolltech.

File size: 22.9 KB
Line 
1/****************************************************************************
2**
3** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
4** Contact: Qt Software Information ([email protected])
5**
6** This file is part of the QtOpenGL module of the Qt Toolkit.
7**
8** $QT_BEGIN_LICENSE:LGPL$
9** Commercial Usage
10** Licensees holding valid Qt Commercial licenses may use this file in
11** accordance with the Qt Commercial License Agreement provided with the
12** Software or, alternatively, in accordance with the terms contained in
13** a written agreement between you and Nokia.
14**
15** GNU Lesser General Public License Usage
16** Alternatively, this file may be used under the terms of the GNU Lesser
17** General Public License version 2.1 as published by the Free Software
18** Foundation and appearing in the file LICENSE.LGPL included in the
19** packaging of this file. Please review the following information to
20** ensure the GNU Lesser General Public License version 2.1 requirements
21** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
22**
23** In addition, as a special exception, Nokia gives you certain
24** additional rights. These rights are described in the Nokia Qt LGPL
25** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
26** package.
27**
28** GNU General Public License Usage
29** Alternatively, this file may be used under the terms of the GNU
30** General Public License version 3.0 as published by the Free Software
31** Foundation and appearing in the file LICENSE.GPL included in the
32** packaging of this file. Please review the following information to
33** ensure the GNU General Public License version 3.0 requirements will be
34** met: http://www.gnu.org/copyleft/gpl.html.
35**
36** If you are unsure which license is appropriate for your use, please
37** contact the sales department at [email protected].
38** $QT_END_LICENSE$
39**
40****************************************************************************/
41
42#ifndef QGL_EXTENSIONS_P_H
43#define QGL_EXTENSIONS_P_H
44
45//
46// W A R N I N G
47// -------------
48//
49// This file is not part of the Qt API. It exists for the convenience
50// of the Qt OpenGL classes. This header file may change from
51// version to version without notice, or even be removed.
52//
53// We mean it.
54//
55
56// extension prototypes
57#ifndef Q_WS_MAC
58# ifndef APIENTRYP
59# ifdef APIENTRY
60# define APIENTRYP APIENTRY *
61# else
62# define APIENTRY
63# define APIENTRYP *
64# endif
65# endif
66#else
67# define APIENTRY
68# define APIENTRYP *
69#endif
70
71#include <QtCore/qglobal.h>
72
73#ifndef GL_ARB_vertex_buffer_object
74typedef ptrdiff_t GLsizeiptrARB;
75#endif
76
77// ARB_pixel_buffer_object
78typedef void (APIENTRY *_glBindBufferARB) (GLenum, GLuint);
79typedef void (APIENTRY *_glDeleteBuffersARB) (GLsizei, const GLuint *);
80typedef void (APIENTRY *_glGenBuffersARB) (GLsizei, GLuint *);
81typedef void (APIENTRY *_glBufferDataARB) (GLenum, GLsizeiptrARB, const GLvoid *, GLenum);
82typedef GLvoid* (APIENTRY *_glMapBufferARB) (GLenum, GLenum);
83typedef GLboolean (APIENTRY *_glUnmapBufferARB) (GLenum);
84
85// ARB_fragment_program
86typedef void (APIENTRY *_glProgramStringARB) (GLenum, GLenum, GLsizei, const GLvoid *);
87typedef void (APIENTRY *_glBindProgramARB) (GLenum, GLuint);
88typedef void (APIENTRY *_glDeleteProgramsARB) (GLsizei, const GLuint *);
89typedef void (APIENTRY *_glGenProgramsARB) (GLsizei, GLuint *);
90typedef void (APIENTRY *_glProgramLocalParameter4fvARB) (GLenum, GLuint, const GLfloat *);
91
92// GLSL
93typedef GLuint (APIENTRY *_glCreateShader) (GLenum);
94typedef void (APIENTRY *_glShaderSource) (GLuint, GLsizei, const char **, const GLint *);
95typedef void (APIENTRY *_glCompileShader) (GLuint);
96typedef void (APIENTRY *_glDeleteShader) (GLuint);
97
98typedef GLuint (APIENTRY *_glCreateProgram) ();
99typedef void (APIENTRY *_glAttachShader) (GLuint, GLuint);
100typedef void (APIENTRY *_glDetachShader) (GLuint, GLuint);
101typedef void (APIENTRY *_glLinkProgram) (GLuint);
102typedef void (APIENTRY *_glUseProgram) (GLuint);
103typedef void (APIENTRY *_glDeleteProgram) (GLuint);
104
105typedef void (APIENTRY *_glGetShaderInfoLog) (GLuint, GLsizei, GLsizei *, char *);
106typedef void (APIENTRY *_glGetShaderiv) (GLuint, GLenum, GLint *);
107typedef void (APIENTRY *_glGetProgramiv) (GLuint, GLenum, GLint *);
108
109typedef GLuint (APIENTRY *_glGetUniformLocation) (GLuint, const char*);
110typedef void (APIENTRY *_glUniform4fv) (GLint, GLsizei, GLfloat *);
111typedef void (APIENTRY *_glUniform3fv) (GLint, GLsizei, GLfloat *);
112typedef void (APIENTRY *_glUniform2fv) (GLint, GLsizei, GLfloat *);
113typedef void (APIENTRY *_glUniform1fv) (GLint, GLsizei, GLfloat *);
114typedef void (APIENTRY *_glUniform1i) (GLint, GLint);
115
116typedef void (APIENTRY *_glActiveStencilFaceEXT) (GLenum );
117
118typedef void (APIENTRY *_glMultiTexCoord4f) (GLenum, GLfloat, GLfloat, GLfloat, GLfloat);
119typedef void (APIENTRY *_glActiveTexture) (GLenum);
120
121// EXT_GL_framebuffer_object
122typedef GLboolean (APIENTRY *_glIsRenderbufferEXT) (GLuint renderbuffer);
123typedef void (APIENTRY *_glBindRenderbufferEXT) (GLenum target, GLuint renderbuffer);
124typedef void (APIENTRY *_glDeleteRenderbuffersEXT) (GLsizei n, const GLuint *renderbuffers);
125typedef void (APIENTRY *_glGenRenderbuffersEXT) (GLsizei n, GLuint *renderbuffers);
126typedef void (APIENTRY *_glRenderbufferStorageEXT) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
127typedef void (APIENTRY *_glGetRenderbufferParameterivEXT) (GLenum target, GLenum pname, GLint *params);
128typedef GLboolean (APIENTRY *_glIsFramebufferEXT) (GLuint framebuffer);
129typedef void (APIENTRY *_glBindFramebufferEXT) (GLenum target, GLuint framebuffer);
130typedef void (APIENTRY *_glDeleteFramebuffersEXT) (GLsizei n, const GLuint *framebuffers);
131typedef void (APIENTRY *_glGenFramebuffersEXT) (GLsizei n, GLuint *framebuffers);
132typedef GLenum (APIENTRY *_glCheckFramebufferStatusEXT) (GLenum target);
133typedef void (APIENTRY *_glFramebufferTexture1DEXT) (GLenum target, GLenum attachment, GLenum textarget,
134 GLuint texture, GLint level);
135typedef void (APIENTRY *_glFramebufferTexture2DEXT) (GLenum target, GLenum attachment, GLenum textarget,
136 GLuint texture, GLint level);
137typedef void (APIENTRY *_glFramebufferTexture3DEXT) (GLenum target, GLenum attachment, GLenum textarget,
138 GLuint texture, GLint level, GLint zoffset);
139typedef void (APIENTRY *_glFramebufferRenderbufferEXT) (GLenum target, GLenum attachment, GLenum renderbuffertarget,
140 GLuint renderbuffer);
141typedef void (APIENTRY *_glGetFramebufferAttachmentParameterivEXT) (GLenum target, GLenum attachment, GLenum pname,
142 GLint *params);
143typedef void (APIENTRY *_glGenerateMipmapEXT) (GLenum target);
144
145QT_BEGIN_NAMESPACE
146
147struct QGLExtensionFuncs
148{
149 QGLExtensionFuncs() {
150 qt_glProgramStringARB = 0;
151 qt_glBindProgramARB = 0;
152 qt_glDeleteProgramsARB = 0;
153 qt_glGenProgramsARB = 0;
154 qt_glProgramLocalParameter4fvARB = 0;
155
156 qt_glCreateShader = 0;
157 qt_glShaderSource = 0;
158 qt_glCompileShader = 0;
159 qt_glDeleteShader = 0;
160
161 qt_glCreateProgram = 0;
162 qt_glAttachShader = 0;
163 qt_glDetachShader = 0;
164 qt_glLinkProgram = 0;
165 qt_glUseProgram = 0;
166 qt_glDeleteProgram = 0;
167
168 qt_glGetShaderInfoLog = 0;
169 qt_glGetShaderiv = 0;
170 qt_glGetProgramiv = 0;
171
172 qt_glGetUniformLocation = 0;
173 qt_glUniform4fv = 0;
174 qt_glUniform3fv = 0;
175 qt_glUniform2fv = 0;
176 qt_glUniform1fv = 0;
177 qt_glUniform1i = 0;
178
179 qt_glActiveStencilFaceEXT = 0;
180
181 qt_glMultiTexCoord4f = 0;
182 qt_glActiveTexture = 0;
183
184#if !defined(QT_OPENGL_ES_2)
185 qt_glIsRenderbufferEXT = 0;
186 qt_glBindRenderbufferEXT = 0;
187 qt_glDeleteRenderbuffersEXT = 0;
188 qt_glGenRenderbuffersEXT = 0;
189 qt_glRenderbufferStorageEXT = 0;
190 qt_glGetRenderbufferParameterivEXT = 0;
191 qt_glIsFramebufferEXT = 0;
192 qt_glBindFramebufferEXT = 0;
193 qt_glDeleteFramebuffersEXT = 0;
194 qt_glGenFramebuffersEXT = 0;
195 qt_glCheckFramebufferStatusEXT = 0;
196 qt_glFramebufferTexture1DEXT = 0;
197 qt_glFramebufferTexture2DEXT = 0;
198 qt_glFramebufferTexture3DEXT = 0;
199 qt_glFramebufferRenderbufferEXT = 0;
200 qt_glGetFramebufferAttachmentParameterivEXT = 0;
201 qt_glGenerateMipmapEXT = 0;
202#endif
203
204 qt_glBindBufferARB = 0;
205 qt_glDeleteBuffersARB = 0;
206 qt_glGenBuffersARB = 0;
207 qt_glBufferDataARB = 0;
208 qt_glMapBufferARB = 0;
209 qt_glUnmapBufferARB = 0;
210 }
211
212 _glProgramStringARB qt_glProgramStringARB;
213 _glBindProgramARB qt_glBindProgramARB;
214 _glDeleteProgramsARB qt_glDeleteProgramsARB;
215 _glGenProgramsARB qt_glGenProgramsARB;
216 _glProgramLocalParameter4fvARB qt_glProgramLocalParameter4fvARB;
217
218 // GLSL definitions
219 _glCreateShader qt_glCreateShader;
220 _glShaderSource qt_glShaderSource;
221 _glCompileShader qt_glCompileShader;
222 _glDeleteShader qt_glDeleteShader;
223
224 _glCreateProgram qt_glCreateProgram;
225 _glAttachShader qt_glAttachShader;
226 _glDetachShader qt_glDetachShader;
227 _glLinkProgram qt_glLinkProgram;
228 _glUseProgram qt_glUseProgram;
229 _glDeleteProgram qt_glDeleteProgram;
230
231 _glGetShaderInfoLog qt_glGetShaderInfoLog;
232 _glGetShaderiv qt_glGetShaderiv;
233 _glGetProgramiv qt_glGetProgramiv;
234
235 _glGetUniformLocation qt_glGetUniformLocation;
236 _glUniform4fv qt_glUniform4fv;
237 _glUniform3fv qt_glUniform3fv;
238 _glUniform2fv qt_glUniform2fv;
239 _glUniform1fv qt_glUniform1fv;
240 _glUniform1i qt_glUniform1i;
241
242 _glActiveStencilFaceEXT qt_glActiveStencilFaceEXT;
243
244 _glMultiTexCoord4f qt_glMultiTexCoord4f;
245 _glActiveTexture qt_glActiveTexture;
246
247#if !defined(QT_OPENGL_ES_2)
248 _glIsRenderbufferEXT qt_glIsRenderbufferEXT;
249 _glBindRenderbufferEXT qt_glBindRenderbufferEXT;
250 _glDeleteRenderbuffersEXT qt_glDeleteRenderbuffersEXT;
251 _glGenRenderbuffersEXT qt_glGenRenderbuffersEXT;
252 _glRenderbufferStorageEXT qt_glRenderbufferStorageEXT;
253 _glGetRenderbufferParameterivEXT qt_glGetRenderbufferParameterivEXT;
254 _glIsFramebufferEXT qt_glIsFramebufferEXT;
255 _glBindFramebufferEXT qt_glBindFramebufferEXT;
256 _glDeleteFramebuffersEXT qt_glDeleteFramebuffersEXT;
257 _glGenFramebuffersEXT qt_glGenFramebuffersEXT;
258 _glCheckFramebufferStatusEXT qt_glCheckFramebufferStatusEXT;
259 _glFramebufferTexture1DEXT qt_glFramebufferTexture1DEXT;
260 _glFramebufferTexture2DEXT qt_glFramebufferTexture2DEXT;
261 _glFramebufferTexture3DEXT qt_glFramebufferTexture3DEXT;
262 _glFramebufferRenderbufferEXT qt_glFramebufferRenderbufferEXT;
263 _glGetFramebufferAttachmentParameterivEXT qt_glGetFramebufferAttachmentParameterivEXT;
264 _glGenerateMipmapEXT qt_glGenerateMipmapEXT;
265#endif
266
267 _glBindBufferARB qt_glBindBufferARB;
268 _glDeleteBuffersARB qt_glDeleteBuffersARB;
269 _glGenBuffersARB qt_glGenBuffersARB;
270 _glBufferDataARB qt_glBufferDataARB;
271 _glMapBufferARB qt_glMapBufferARB;
272 _glUnmapBufferARB qt_glUnmapBufferARB;
273};
274
275
276// OpenGL constants
277
278/* NV_texture_rectangle */
279#ifndef GL_NV_texture_rectangle
280#define GL_TEXTURE_RECTANGLE_NV 0x84F5
281#define GL_TEXTURE_BINDING_RECTANGLE_NV 0x84F6
282#define GL_PROXY_TEXTURE_RECTANGLE_NV 0x84F7
283#define GL_MAX_RECTANGLE_TEXTURE_SIZE_NV 0x84F8
284#endif
285
286#ifndef GL_BGRA
287#define GL_BGRA 0x80E1
288#endif
289
290#ifndef GL_MULTISAMPLE
291#define GL_MULTISAMPLE 0x809D
292#endif
293
294#ifndef GL_CLAMP_TO_EDGE
295#define GL_CLAMP_TO_EDGE 0x812F
296#endif
297
298#ifndef GL_IBM_texture_mirrored_repeat
299#define GL_MIRRORED_REPEAT_IBM 0x8370
300#endif
301
302#ifndef GL_SGIS_generate_mipmap
303#define GL_GENERATE_MIPMAP_SGIS 0x8191
304#define GL_GENERATE_MIPMAP_HINT_SGIS 0x8192
305#endif
306
307// ARB_fragment_program extension protos
308#ifndef GL_FRAGMENT_PROGRAM_ARB
309#define GL_FRAGMENT_PROGRAM_ARB 0x8804
310#define GL_PROGRAM_FORMAT_ASCII_ARB 0x8875
311#endif
312
313#ifndef GL_PIXEL_UNPACK_BUFFER_ARB
314#define GL_PIXEL_UNPACK_BUFFER_ARB 0x88EC
315#endif
316
317#ifndef GL_WRITE_ONLY_ARB
318#define GL_WRITE_ONLY_ARB 0x88B9
319#endif
320
321#ifndef GL_STREAM_DRAW_ARB
322#define GL_STREAM_DRAW_ARB 0x88E0
323#endif
324
325// Stencil wrap and two-side defines
326#ifndef GL_STENCIL_TEST_TWO_SIDE_EXT
327#define GL_STENCIL_TEST_TWO_SIDE_EXT 0x8910
328#endif
329#ifndef GL_INCR_WRAP_EXT
330#define GL_INCR_WRAP_EXT 0x8507
331#endif
332#ifndef GL_DECR_WRAP_EXT
333#define GL_DECR_WRAP_EXT 0x8508
334#endif
335
336#ifndef GL_TEXTURE0
337#define GL_TEXTURE0 0x84C0
338#endif
339
340#ifndef GL_TEXTURE1
341#define GL_TEXTURE1 0x84C1
342#endif
343
344#ifndef GL_EXT_framebuffer_object
345#define GL_INVALID_FRAMEBUFFER_OPERATION_EXT 0x0506
346#define GL_MAX_RENDERBUFFER_SIZE_EXT 0x84E8
347#define GL_FRAMEBUFFER_BINDING_EXT 0x8CA6
348#define GL_RENDERBUFFER_BINDING_EXT 0x8CA7
349#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT 0x8CD0
350#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT 0x8CD1
351#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT 0x8CD2
352#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT 0x8CD3
353#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT 0x8CD4
354#define GL_FRAMEBUFFER_COMPLETE_EXT 0x8CD5
355#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT 0x8CD6
356#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT 0x8CD7
357#define GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT 0x8CD8
358#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT 0x8CD9
359#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT 0x8CDA
360#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT 0x8CDB
361#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT 0x8CDC
362#define GL_FRAMEBUFFER_UNSUPPORTED_EXT 0x8CDD
363#define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF
364#define GL_COLOR_ATTACHMENT0_EXT 0x8CE0
365#define GL_COLOR_ATTACHMENT1_EXT 0x8CE1
366#define GL_COLOR_ATTACHMENT2_EXT 0x8CE2
367#define GL_COLOR_ATTACHMENT3_EXT 0x8CE3
368#define GL_COLOR_ATTACHMENT4_EXT 0x8CE4
369#define GL_COLOR_ATTACHMENT5_EXT 0x8CE5
370#define GL_COLOR_ATTACHMENT6_EXT 0x8CE6
371#define GL_COLOR_ATTACHMENT7_EXT 0x8CE7
372#define GL_COLOR_ATTACHMENT8_EXT 0x8CE8
373#define GL_COLOR_ATTACHMENT9_EXT 0x8CE9
374#define GL_COLOR_ATTACHMENT10_EXT 0x8CEA
375#define GL_COLOR_ATTACHMENT11_EXT 0x8CEB
376#define GL_COLOR_ATTACHMENT12_EXT 0x8CEC
377#define GL_COLOR_ATTACHMENT13_EXT 0x8CED
378#define GL_COLOR_ATTACHMENT14_EXT 0x8CEE
379#define GL_COLOR_ATTACHMENT15_EXT 0x8CEF
380#define GL_DEPTH_ATTACHMENT_EXT 0x8D00
381#define GL_STENCIL_ATTACHMENT_EXT 0x8D20
382#define GL_FRAMEBUFFER_EXT 0x8D40
383#define GL_RENDERBUFFER_EXT 0x8D41
384#define GL_RENDERBUFFER_WIDTH_EXT 0x8D42
385#define GL_RENDERBUFFER_HEIGHT_EXT 0x8D43
386#define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT 0x8D44
387#define GL_STENCIL_INDEX_EXT 0x8D45
388#define GL_STENCIL_INDEX1_EXT 0x8D46
389#define GL_STENCIL_INDEX4_EXT 0x8D47
390#define GL_STENCIL_INDEX8_EXT 0x8D48
391#define GL_STENCIL_INDEX16_EXT 0x8D49
392#define GL_RENDERBUFFER_RED_SIZE_EXT 0x8D50
393#define GL_RENDERBUFFER_GREEN_SIZE_EXT 0x8D51
394#define GL_RENDERBUFFER_BLUE_SIZE_EXT 0x8D52
395#define GL_RENDERBUFFER_ALPHA_SIZE_EXT 0x8D53
396#define GL_RENDERBUFFER_DEPTH_SIZE_EXT 0x8D54
397#define GL_RENDERBUFFER_STENCIL_SIZE_EXT 0x8D55
398#endif
399
400#ifndef GL_EXT_packed_depth_stencil
401#define GL_DEPTH_STENCIL_EXT 0x84F9
402#define GL_UNSIGNED_INT_24_8_EXT 0x84FA
403#define GL_DEPTH24_STENCIL8_EXT 0x88F0
404#define GL_TEXTURE_STENCIL_SIZE_EXT 0x88F1
405#endif
406
407// ### hm. should be part of the GL 1.2 spec..
408#ifndef GL_CLAMP_TO_EDGE
409#define GL_CLAMP_TO_EDGE 0x812F
410#endif
411
412#ifndef GL_VERSION_1_2
413#define GL_PACK_SKIP_IMAGES 0x806B
414#define GL_PACK_IMAGE_HEIGHT 0x806C
415#define GL_UNPACK_SKIP_IMAGES 0x806D
416#define GL_UNPACK_IMAGE_HEIGHT 0x806E
417#endif
418
419#define glProgramStringARB QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glProgramStringARB
420#define glBindProgramARB QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glBindProgramARB
421#define glDeleteProgramsARB QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glDeleteProgramsARB
422#define glGenProgramsARB QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGenProgramsARB
423#define glProgramLocalParameter4fvARB QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glProgramLocalParameter4fvARB
424
425#define glActiveStencilFaceEXT QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glActiveStencilFaceEXT
426
427#define glMultiTexCoord4f QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glMultiTexCoord4f
428
429#if !defined(QT_OPENGL_ES_2)
430#define glActiveTexture QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glActiveTexture
431#endif
432
433#if !defined(QT_OPENGL_ES_2)
434
435#define glIsRenderbufferEXT QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glIsRenderbufferEXT
436#define glBindRenderbufferEXT QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glBindRenderbufferEXT
437#define glDeleteRenderbuffersEXT QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glDeleteRenderbuffersEXT
438#define glGenRenderbuffersEXT QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGenRenderbuffersEXT
439#define glRenderbufferStorageEXT QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glRenderbufferStorageEXT
440#define glGetRenderbufferParameterivEXT QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGetRenderbufferParameterivEXT
441#define glIsFramebufferEXT QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glIsFramebufferEXT
442#define glBindFramebufferEXT QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glBindFramebufferEXT
443#define glDeleteFramebuffersEXT QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glDeleteFramebuffersEXT
444#define glGenFramebuffersEXT QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGenFramebuffersEXT
445#define glCheckFramebufferStatusEXT QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glCheckFramebufferStatusEXT
446#define glFramebufferTexture1DEXT QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glFramebufferTexture1DEXT
447#define glFramebufferTexture2DEXT QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glFramebufferTexture2DEXT
448#define glFramebufferTexture3DEXT QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glFramebufferTexture3DEXT
449#define glFramebufferRenderbufferEXT QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glFramebufferRenderbufferEXT
450#define glGetFramebufferAttachmentParameterivEXT QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGetFramebufferAttachmentParameterivEXT
451#define glGenerateMipmapEXT QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGenerateMipmapEXT
452
453#else // QT_OPENGL_ES_2
454
455#define glIsRenderbufferEXT glIsRenderbuffer
456#define glBindRenderbufferEXT glBindRenderbuffer
457#define glDeleteRenderbuffersEXT glDeleteRenderbuffers
458#define glGenRenderbuffersEXT glGenRenderbuffers
459#define glRenderbufferStorageEXT glRenderbufferStorage
460#define glGetRenderbufferParameterivEXT glGetRenderbufferParameteriv
461#define glIsFramebufferEXT glIsFramebuffer
462#define glBindFramebufferEXT glBindFramebuffer
463#define glDeleteFramebuffersEXT glDeleteFramebuffers
464#define glGenFramebuffersEXT glGenFramebuffers
465#define glCheckFramebufferStatusEXT glCheckFramebufferStatus
466#define glFramebufferTexture1DEXT glFramebufferTexture1D
467#define glFramebufferTexture2DEXT glFramebufferTexture2D
468#define glFramebufferTexture3DEXT glFramebufferTexture3D
469#define glFramebufferRenderbufferEXT glFramebufferRenderbuffer
470#define glGetFramebufferAttachmentParameterivEXT glGetFramebufferAttachmentParameteriv
471#define glGenerateMipmapEXT glGenerateMipmap
472
473#endif // QT_OPENGL_ES_2
474
475#define glBindBufferARB QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glBindBufferARB
476#define glDeleteBuffersARB QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glDeleteBuffersARB
477#define glGenBuffersARB QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGenBuffersARB
478#define glBufferDataARB QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glBufferDataARB
479#define glMapBufferARB QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glMapBufferARB
480#define glUnmapBufferARB QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUnmapBufferARB
481
482#define glCreateShader QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glCreateShader
483#define glShaderSource QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glShaderSource
484#define glCompileShader QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glCompileShader
485#define glDeleteShader QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glDeleteShader
486
487#define glCreateProgram QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glCreateProgram
488#define glAttachShader QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glAttachShader
489#define glDetachShader QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glDetachShader
490#define glLinkProgram QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glLinkProgram
491#define glUseProgram QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUseProgram
492#define glDeleteProgram QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glDeleteProgram
493
494#define glGetShaderInfoLog QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGetShaderInfoLog
495#define glGetShaderiv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGetShaderiv
496#define glGetProgramiv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGetProgramiv
497
498#define glGetUniformLocation QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGetUniformLocation
499#define glUniform4fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniform4fv
500#define glUniform3fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniform3fv
501#define glUniform2fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniform2fv
502#define glUniform1fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniform1fv
503#define glUniform1i QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniform1i
504
505extern bool qt_resolve_framebufferobject_extensions(QGLContext *ctx);
506bool qt_resolve_buffer_extensions(QGLContext *ctx);
507
508bool qt_resolve_version_1_3_functions(QGLContext *ctx);
509bool qt_resolve_stencil_face_extension(QGLContext *ctx);
510bool qt_resolve_frag_program_extensions(QGLContext *ctx);
511
512bool qt_resolve_glsl_extensions(QGLContext *ctx);
513
514QT_END_NAMESPACE
515
516#endif // QGL_EXTENSIONS_P_H
Note: See TracBrowser for help on using the repository browser.