|
1 /**************************************************************************** |
|
2 ** |
|
3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). |
|
4 ** All rights reserved. |
|
5 ** Contact: Nokia Corporation (qt-info@nokia.com) |
|
6 ** |
|
7 ** This file is part of the QtOpenGL module of the Qt Toolkit. |
|
8 ** |
|
9 ** $QT_BEGIN_LICENSE:LGPL$ |
|
10 ** No Commercial Usage |
|
11 ** This file contains pre-release code and may not be distributed. |
|
12 ** You may use this file in accordance with the terms and conditions |
|
13 ** contained in the Technology Preview License Agreement accompanying |
|
14 ** this package. |
|
15 ** |
|
16 ** GNU Lesser General Public License Usage |
|
17 ** Alternatively, this file may be used under the terms of the GNU Lesser |
|
18 ** General Public License version 2.1 as published by the Free Software |
|
19 ** Foundation and appearing in the file LICENSE.LGPL included in the |
|
20 ** packaging of this file. Please review the following information to |
|
21 ** ensure the GNU Lesser General Public License version 2.1 requirements |
|
22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. |
|
23 ** |
|
24 ** In addition, as a special exception, Nokia gives you certain additional |
|
25 ** rights. These rights are described in the Nokia Qt LGPL Exception |
|
26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. |
|
27 ** |
|
28 ** If you have questions regarding the use of this file, please contact |
|
29 ** Nokia at qt-info@nokia.com. |
|
30 ** |
|
31 ** |
|
32 ** |
|
33 ** |
|
34 ** |
|
35 ** |
|
36 ** |
|
37 ** |
|
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 |
|
74 typedef ptrdiff_t GLsizeiptrARB; |
|
75 #endif |
|
76 |
|
77 #ifndef GL_VERSION_2_0 |
|
78 typedef char GLchar; |
|
79 #endif |
|
80 |
|
81 // ARB_pixel_buffer_object |
|
82 typedef void (APIENTRY *_glBindBuffer) (GLenum, GLuint); |
|
83 typedef void (APIENTRY *_glDeleteBuffers) (GLsizei, const GLuint *); |
|
84 typedef void (APIENTRY *_glGenBuffers) (GLsizei, GLuint *); |
|
85 typedef void (APIENTRY *_glBufferData) (GLenum, GLsizeiptrARB, const GLvoid *, GLenum); |
|
86 typedef GLvoid* (APIENTRY *_glMapBufferARB) (GLenum, GLenum); |
|
87 typedef GLboolean (APIENTRY *_glUnmapBufferARB) (GLenum); |
|
88 |
|
89 // ARB_fragment_program |
|
90 typedef void (APIENTRY *_glProgramStringARB) (GLenum, GLenum, GLsizei, const GLvoid *); |
|
91 typedef void (APIENTRY *_glBindProgramARB) (GLenum, GLuint); |
|
92 typedef void (APIENTRY *_glDeleteProgramsARB) (GLsizei, const GLuint *); |
|
93 typedef void (APIENTRY *_glGenProgramsARB) (GLsizei, GLuint *); |
|
94 typedef void (APIENTRY *_glProgramLocalParameter4fvARB) (GLenum, GLuint, const GLfloat *); |
|
95 |
|
96 // GLSL |
|
97 typedef GLuint (APIENTRY *_glCreateShader) (GLenum); |
|
98 typedef void (APIENTRY *_glShaderSource) (GLuint, GLsizei, const char **, const GLint *); |
|
99 typedef void (APIENTRY *_glShaderBinary) (GLint, const GLuint*, GLenum, const void*, GLint); |
|
100 typedef void (APIENTRY *_glCompileShader) (GLuint); |
|
101 typedef void (APIENTRY *_glDeleteShader) (GLuint); |
|
102 typedef GLboolean (APIENTRY *_glIsShader) (GLuint); |
|
103 |
|
104 typedef GLuint (APIENTRY *_glCreateProgram) (); |
|
105 typedef void (APIENTRY *_glAttachShader) (GLuint, GLuint); |
|
106 typedef void (APIENTRY *_glDetachShader) (GLuint, GLuint); |
|
107 typedef void (APIENTRY *_glLinkProgram) (GLuint); |
|
108 typedef void (APIENTRY *_glUseProgram) (GLuint); |
|
109 typedef void (APIENTRY *_glDeleteProgram) (GLuint); |
|
110 typedef GLboolean (APIENTRY *_glIsProgram) (GLuint); |
|
111 |
|
112 typedef void (APIENTRY *_glGetShaderInfoLog) (GLuint, GLsizei, GLsizei *, char *); |
|
113 typedef void (APIENTRY *_glGetShaderiv) (GLuint, GLenum, GLint *); |
|
114 typedef void (APIENTRY *_glGetShaderSource) (GLuint, GLsizei, GLsizei *, char *); |
|
115 typedef void (APIENTRY *_glGetProgramiv) (GLuint, GLenum, GLint *); |
|
116 typedef void (APIENTRY *_glGetProgramInfoLog) (GLuint, GLsizei, GLsizei *, char *); |
|
117 |
|
118 typedef GLuint (APIENTRY *_glGetUniformLocation) (GLuint, const char*); |
|
119 typedef void (APIENTRY *_glUniform4fv) (GLint, GLsizei, const GLfloat *); |
|
120 typedef void (APIENTRY *_glUniform3fv) (GLint, GLsizei, const GLfloat *); |
|
121 typedef void (APIENTRY *_glUniform2fv) (GLint, GLsizei, const GLfloat *); |
|
122 typedef void (APIENTRY *_glUniform1fv) (GLint, GLsizei, const GLfloat *); |
|
123 typedef void (APIENTRY *_glUniform1i) (GLint, GLint); |
|
124 typedef void (APIENTRY *_glUniform1iv) (GLint, GLsizei, const GLint *); |
|
125 typedef void (APIENTRY *_glUniformMatrix2fv) (GLint, GLsizei, GLboolean, const GLfloat *); |
|
126 typedef void (APIENTRY *_glUniformMatrix3fv) (GLint, GLsizei, GLboolean, const GLfloat *); |
|
127 typedef void (APIENTRY *_glUniformMatrix4fv) (GLint, GLsizei, GLboolean, const GLfloat *); |
|
128 typedef void (APIENTRY *_glUniformMatrix2x3fv) (GLint, GLsizei, GLboolean, const GLfloat *); |
|
129 typedef void (APIENTRY *_glUniformMatrix2x4fv) (GLint, GLsizei, GLboolean, const GLfloat *); |
|
130 typedef void (APIENTRY *_glUniformMatrix3x2fv) (GLint, GLsizei, GLboolean, const GLfloat *); |
|
131 typedef void (APIENTRY *_glUniformMatrix3x4fv) (GLint, GLsizei, GLboolean, const GLfloat *); |
|
132 typedef void (APIENTRY *_glUniformMatrix4x2fv) (GLint, GLsizei, GLboolean, const GLfloat *); |
|
133 typedef void (APIENTRY *_glUniformMatrix4x3fv) (GLint, GLsizei, GLboolean, const GLfloat *); |
|
134 |
|
135 typedef void (APIENTRY *_glBindAttribLocation) (GLuint, GLuint, const char *); |
|
136 typedef GLint (APIENTRY *_glGetAttribLocation) (GLuint, const char *); |
|
137 typedef void (APIENTRY *_glVertexAttrib1fv) (GLuint, const GLfloat *); |
|
138 typedef void (APIENTRY *_glVertexAttrib2fv) (GLuint, const GLfloat *); |
|
139 typedef void (APIENTRY *_glVertexAttrib3fv) (GLuint, const GLfloat *); |
|
140 typedef void (APIENTRY *_glVertexAttrib4fv) (GLuint, const GLfloat *); |
|
141 typedef void (APIENTRY *_glVertexAttribPointer) (GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid *); |
|
142 typedef void (APIENTRY *_glDisableVertexAttribArray) (GLuint); |
|
143 typedef void (APIENTRY *_glEnableVertexAttribArray) (GLuint); |
|
144 |
|
145 typedef void (APIENTRY *_glGetProgramBinaryOES) (GLuint, GLsizei, GLsizei *, GLenum *, void *); |
|
146 typedef void (APIENTRY *_glProgramBinaryOES) (GLuint, GLenum, const void *, GLint); |
|
147 |
|
148 |
|
149 typedef void (APIENTRY *_glMultiTexCoord4f) (GLenum, GLfloat, GLfloat, GLfloat, GLfloat); |
|
150 typedef void (APIENTRY *_glActiveStencilFaceEXT) (GLenum ); |
|
151 |
|
152 // Needed for GL2 engine: |
|
153 typedef void (APIENTRY *_glStencilOpSeparate) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); |
|
154 typedef void (APIENTRY *_glActiveTexture) (GLenum); |
|
155 typedef void (APIENTRY *_glBlendColor) (GLclampf, GLclampf, GLclampf, GLclampf); |
|
156 |
|
157 |
|
158 // EXT_GL_framebuffer_object |
|
159 typedef GLboolean (APIENTRY *_glIsRenderbuffer) (GLuint renderbuffer); |
|
160 typedef void (APIENTRY *_glBindRenderbuffer) (GLenum target, GLuint renderbuffer); |
|
161 typedef void (APIENTRY *_glDeleteRenderbuffers) (GLsizei n, const GLuint *renderbuffers); |
|
162 typedef void (APIENTRY *_glGenRenderbuffers) (GLsizei n, GLuint *renderbuffers); |
|
163 typedef void (APIENTRY *_glRenderbufferStorage) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); |
|
164 typedef void (APIENTRY *_glGetRenderbufferParameteriv) (GLenum target, GLenum pname, GLint *params); |
|
165 typedef GLboolean (APIENTRY *_glIsFramebuffer) (GLuint framebuffer); |
|
166 typedef void (APIENTRY *_glBindFramebuffer) (GLenum target, GLuint framebuffer); |
|
167 typedef void (APIENTRY *_glDeleteFramebuffers) (GLsizei n, const GLuint *framebuffers); |
|
168 typedef void (APIENTRY *_glGenFramebuffers) (GLsizei n, GLuint *framebuffers); |
|
169 typedef GLenum (APIENTRY *_glCheckFramebufferStatus) (GLenum target); |
|
170 typedef void (APIENTRY *_glFramebufferTexture2D) (GLenum target, GLenum attachment, GLenum textarget, |
|
171 GLuint texture, GLint level); |
|
172 typedef void (APIENTRY *_glFramebufferRenderbuffer) (GLenum target, GLenum attachment, GLenum renderbuffertarget, |
|
173 GLuint renderbuffer); |
|
174 typedef void (APIENTRY *_glGetFramebufferAttachmentParameteriv) (GLenum target, GLenum attachment, GLenum pname, |
|
175 GLint *params); |
|
176 typedef void (APIENTRY *_glGenerateMipmap) (GLenum target); |
|
177 |
|
178 // EXT_GL_framebuffer_blit |
|
179 typedef void (APIENTRY *_glBlitFramebufferEXT) (int srcX0, int srcY0, int srcX1, int srcY1, |
|
180 int dstX0, int dstY0, int dstX1, int dstY1, |
|
181 GLbitfield mask, GLenum filter); |
|
182 |
|
183 // EXT_GL_framebuffer_multisample |
|
184 typedef void (APIENTRY *_glRenderbufferStorageMultisampleEXT) (GLenum target, GLsizei samples, |
|
185 GLenum internalformat, GLsizei width, GLsizei height); |
|
186 |
|
187 QT_BEGIN_NAMESPACE |
|
188 |
|
189 struct QGLExtensionFuncs |
|
190 { |
|
191 QGLExtensionFuncs() { |
|
192 #if !defined(QT_OPENGL_ES_2) |
|
193 qt_glProgramStringARB = 0; |
|
194 qt_glBindProgramARB = 0; |
|
195 qt_glDeleteProgramsARB = 0; |
|
196 qt_glGenProgramsARB = 0; |
|
197 qt_glProgramLocalParameter4fvARB = 0; |
|
198 |
|
199 // GLSL |
|
200 qt_glCreateShader = 0; |
|
201 qt_glShaderSource = 0; |
|
202 qt_glShaderBinary = 0; |
|
203 qt_glCompileShader = 0; |
|
204 qt_glDeleteShader = 0; |
|
205 qt_glIsShader = 0; |
|
206 |
|
207 qt_glCreateProgram = 0; |
|
208 qt_glAttachShader = 0; |
|
209 qt_glDetachShader = 0; |
|
210 qt_glLinkProgram = 0; |
|
211 qt_glUseProgram = 0; |
|
212 qt_glDeleteProgram = 0; |
|
213 qt_glIsProgram = 0; |
|
214 |
|
215 qt_glGetShaderInfoLog = 0; |
|
216 qt_glGetShaderiv = 0; |
|
217 qt_glGetShaderSource = 0; |
|
218 qt_glGetProgramiv = 0; |
|
219 qt_glGetProgramInfoLog = 0; |
|
220 |
|
221 qt_glGetUniformLocation = 0; |
|
222 qt_glUniform4fv = 0; |
|
223 qt_glUniform3fv = 0; |
|
224 qt_glUniform2fv = 0; |
|
225 qt_glUniform1fv = 0; |
|
226 qt_glUniform1i = 0; |
|
227 qt_glUniform1iv = 0; |
|
228 qt_glUniformMatrix2fv = 0; |
|
229 qt_glUniformMatrix3fv = 0; |
|
230 qt_glUniformMatrix4fv = 0; |
|
231 qt_glUniformMatrix2x3fv = 0; |
|
232 qt_glUniformMatrix2x4fv = 0; |
|
233 qt_glUniformMatrix3x2fv = 0; |
|
234 qt_glUniformMatrix3x4fv = 0; |
|
235 qt_glUniformMatrix4x2fv = 0; |
|
236 qt_glUniformMatrix4x3fv = 0; |
|
237 |
|
238 qt_glBindAttribLocation = 0; |
|
239 qt_glGetAttribLocation = 0; |
|
240 qt_glVertexAttrib1fv = 0; |
|
241 qt_glVertexAttrib2fv = 0; |
|
242 qt_glVertexAttrib3fv = 0; |
|
243 qt_glVertexAttrib4fv = 0; |
|
244 qt_glVertexAttribPointer = 0; |
|
245 qt_glDisableVertexAttribArray = 0; |
|
246 qt_glEnableVertexAttribArray = 0; |
|
247 |
|
248 // Extras for GL2 engine: |
|
249 qt_glActiveTexture = 0; |
|
250 qt_glStencilOpSeparate = 0; |
|
251 qt_glBlendColor = 0; |
|
252 |
|
253 qt_glActiveStencilFaceEXT = 0; |
|
254 qt_glMultiTexCoord4f = 0; |
|
255 #else |
|
256 qt_glslResolved = false; |
|
257 |
|
258 qt_glGetProgramBinaryOES = 0; |
|
259 qt_glProgramBinaryOES = 0; |
|
260 #endif |
|
261 |
|
262 // FBOs |
|
263 #if !defined(QT_OPENGL_ES_2) |
|
264 qt_glIsRenderbuffer = 0; |
|
265 qt_glBindRenderbuffer = 0; |
|
266 qt_glDeleteRenderbuffers = 0; |
|
267 qt_glGenRenderbuffers = 0; |
|
268 qt_glRenderbufferStorage = 0; |
|
269 qt_glGetRenderbufferParameteriv = 0; |
|
270 qt_glIsFramebuffer = 0; |
|
271 qt_glBindFramebuffer = 0; |
|
272 qt_glDeleteFramebuffers = 0; |
|
273 qt_glGenFramebuffers = 0; |
|
274 qt_glCheckFramebufferStatus = 0; |
|
275 qt_glFramebufferTexture2D = 0; |
|
276 qt_glFramebufferRenderbuffer = 0; |
|
277 qt_glGetFramebufferAttachmentParameteriv = 0; |
|
278 qt_glGenerateMipmap = 0; |
|
279 #endif |
|
280 qt_glBlitFramebufferEXT = 0; |
|
281 qt_glRenderbufferStorageMultisampleEXT = 0; |
|
282 |
|
283 // Buffer objects: |
|
284 #if !defined(QT_OPENGL_ES_2) |
|
285 qt_glBindBuffer = 0; |
|
286 qt_glDeleteBuffers = 0; |
|
287 qt_glGenBuffers = 0; |
|
288 qt_glBufferData = 0; |
|
289 #endif |
|
290 qt_glMapBufferARB = 0; |
|
291 qt_glUnmapBufferARB = 0; |
|
292 } |
|
293 |
|
294 |
|
295 #if !defined(QT_OPENGL_ES_2) |
|
296 _glProgramStringARB qt_glProgramStringARB; |
|
297 _glBindProgramARB qt_glBindProgramARB; |
|
298 _glDeleteProgramsARB qt_glDeleteProgramsARB; |
|
299 _glGenProgramsARB qt_glGenProgramsARB; |
|
300 _glProgramLocalParameter4fvARB qt_glProgramLocalParameter4fvARB; |
|
301 |
|
302 // GLSL definitions |
|
303 _glCreateShader qt_glCreateShader; |
|
304 _glShaderSource qt_glShaderSource; |
|
305 _glShaderBinary qt_glShaderBinary; |
|
306 _glCompileShader qt_glCompileShader; |
|
307 _glDeleteShader qt_glDeleteShader; |
|
308 _glIsShader qt_glIsShader; |
|
309 |
|
310 _glCreateProgram qt_glCreateProgram; |
|
311 _glAttachShader qt_glAttachShader; |
|
312 _glDetachShader qt_glDetachShader; |
|
313 _glLinkProgram qt_glLinkProgram; |
|
314 _glUseProgram qt_glUseProgram; |
|
315 _glDeleteProgram qt_glDeleteProgram; |
|
316 _glIsProgram qt_glIsProgram; |
|
317 |
|
318 _glGetShaderInfoLog qt_glGetShaderInfoLog; |
|
319 _glGetShaderiv qt_glGetShaderiv; |
|
320 _glGetShaderSource qt_glGetShaderSource; |
|
321 _glGetProgramiv qt_glGetProgramiv; |
|
322 _glGetProgramInfoLog qt_glGetProgramInfoLog; |
|
323 |
|
324 _glGetUniformLocation qt_glGetUniformLocation; |
|
325 _glUniform4fv qt_glUniform4fv; |
|
326 _glUniform3fv qt_glUniform3fv; |
|
327 _glUniform2fv qt_glUniform2fv; |
|
328 _glUniform1fv qt_glUniform1fv; |
|
329 _glUniform1i qt_glUniform1i; |
|
330 _glUniform1iv qt_glUniform1iv; |
|
331 _glUniformMatrix2fv qt_glUniformMatrix2fv; |
|
332 _glUniformMatrix3fv qt_glUniformMatrix3fv; |
|
333 _glUniformMatrix4fv qt_glUniformMatrix4fv; |
|
334 _glUniformMatrix2x3fv qt_glUniformMatrix2x3fv; |
|
335 _glUniformMatrix2x4fv qt_glUniformMatrix2x4fv; |
|
336 _glUniformMatrix3x2fv qt_glUniformMatrix3x2fv; |
|
337 _glUniformMatrix3x4fv qt_glUniformMatrix3x4fv; |
|
338 _glUniformMatrix4x2fv qt_glUniformMatrix4x2fv; |
|
339 _glUniformMatrix4x3fv qt_glUniformMatrix4x3fv; |
|
340 |
|
341 _glBindAttribLocation qt_glBindAttribLocation; |
|
342 _glGetAttribLocation qt_glGetAttribLocation; |
|
343 _glVertexAttrib1fv qt_glVertexAttrib1fv; |
|
344 _glVertexAttrib2fv qt_glVertexAttrib2fv; |
|
345 _glVertexAttrib3fv qt_glVertexAttrib3fv; |
|
346 _glVertexAttrib4fv qt_glVertexAttrib4fv; |
|
347 _glVertexAttribPointer qt_glVertexAttribPointer; |
|
348 _glDisableVertexAttribArray qt_glDisableVertexAttribArray; |
|
349 _glEnableVertexAttribArray qt_glEnableVertexAttribArray; |
|
350 |
|
351 #else |
|
352 bool qt_glslResolved; |
|
353 |
|
354 _glGetProgramBinaryOES qt_glGetProgramBinaryOES; |
|
355 _glProgramBinaryOES qt_glProgramBinaryOES; |
|
356 #endif |
|
357 |
|
358 _glActiveStencilFaceEXT qt_glActiveStencilFaceEXT; |
|
359 _glMultiTexCoord4f qt_glMultiTexCoord4f; |
|
360 |
|
361 #if !defined(QT_OPENGL_ES_2) |
|
362 // Extras needed for GL2 engine: |
|
363 _glActiveTexture qt_glActiveTexture; |
|
364 _glStencilOpSeparate qt_glStencilOpSeparate; |
|
365 _glBlendColor qt_glBlendColor; |
|
366 |
|
367 #endif |
|
368 |
|
369 // FBOs |
|
370 #if !defined(QT_OPENGL_ES_2) |
|
371 _glIsRenderbuffer qt_glIsRenderbuffer; |
|
372 _glBindRenderbuffer qt_glBindRenderbuffer; |
|
373 _glDeleteRenderbuffers qt_glDeleteRenderbuffers; |
|
374 _glGenRenderbuffers qt_glGenRenderbuffers; |
|
375 _glRenderbufferStorage qt_glRenderbufferStorage; |
|
376 _glGetRenderbufferParameteriv qt_glGetRenderbufferParameteriv; |
|
377 _glIsFramebuffer qt_glIsFramebuffer; |
|
378 _glBindFramebuffer qt_glBindFramebuffer; |
|
379 _glDeleteFramebuffers qt_glDeleteFramebuffers; |
|
380 _glGenFramebuffers qt_glGenFramebuffers; |
|
381 _glCheckFramebufferStatus qt_glCheckFramebufferStatus; |
|
382 _glFramebufferTexture2D qt_glFramebufferTexture2D; |
|
383 _glFramebufferRenderbuffer qt_glFramebufferRenderbuffer; |
|
384 _glGetFramebufferAttachmentParameteriv qt_glGetFramebufferAttachmentParameteriv; |
|
385 _glGenerateMipmap qt_glGenerateMipmap; |
|
386 #endif |
|
387 _glBlitFramebufferEXT qt_glBlitFramebufferEXT; |
|
388 _glRenderbufferStorageMultisampleEXT qt_glRenderbufferStorageMultisampleEXT; |
|
389 |
|
390 // Buffer objects |
|
391 #if !defined(QT_OPENGL_ES_2) |
|
392 _glBindBuffer qt_glBindBuffer; |
|
393 _glDeleteBuffers qt_glDeleteBuffers; |
|
394 _glGenBuffers qt_glGenBuffers; |
|
395 _glBufferData qt_glBufferData; |
|
396 #endif |
|
397 _glMapBufferARB qt_glMapBufferARB; |
|
398 _glUnmapBufferARB qt_glUnmapBufferARB; |
|
399 |
|
400 }; |
|
401 |
|
402 |
|
403 // OpenGL constants |
|
404 |
|
405 /* NV_texture_rectangle */ |
|
406 #ifndef GL_NV_texture_rectangle |
|
407 #define GL_TEXTURE_RECTANGLE_NV 0x84F5 |
|
408 #define GL_TEXTURE_BINDING_RECTANGLE_NV 0x84F6 |
|
409 #define GL_PROXY_TEXTURE_RECTANGLE_NV 0x84F7 |
|
410 #define GL_MAX_RECTANGLE_TEXTURE_SIZE_NV 0x84F8 |
|
411 #endif |
|
412 |
|
413 #ifndef GL_BGRA |
|
414 #define GL_BGRA 0x80E1 |
|
415 #endif |
|
416 |
|
417 #ifndef GL_RGB16 |
|
418 #define GL_RGB16 32852 |
|
419 #endif |
|
420 |
|
421 #ifndef GL_UNSIGNED_SHORT_5_6_5 |
|
422 #define GL_UNSIGNED_SHORT_5_6_5 33635 |
|
423 #endif |
|
424 |
|
425 #ifndef GL_UNSIGNED_INT_8_8_8_8_REV |
|
426 #define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367 |
|
427 #endif |
|
428 |
|
429 #ifndef GL_MULTISAMPLE |
|
430 #define GL_MULTISAMPLE 0x809D |
|
431 #endif |
|
432 |
|
433 #ifndef GL_CLAMP_TO_EDGE |
|
434 #define GL_CLAMP_TO_EDGE 0x812F |
|
435 #endif |
|
436 |
|
437 #ifndef GL_IBM_texture_mirrored_repeat |
|
438 #define GL_MIRRORED_REPEAT_IBM 0x8370 |
|
439 #endif |
|
440 |
|
441 #ifndef GL_SGIS_generate_mipmap |
|
442 #define GL_GENERATE_MIPMAP_SGIS 0x8191 |
|
443 #define GL_GENERATE_MIPMAP_HINT_SGIS 0x8192 |
|
444 #endif |
|
445 |
|
446 // ARB_fragment_program extension protos |
|
447 #ifndef GL_FRAGMENT_PROGRAM_ARB |
|
448 #define GL_FRAGMENT_PROGRAM_ARB 0x8804 |
|
449 #define GL_PROGRAM_FORMAT_ASCII_ARB 0x8875 |
|
450 #endif |
|
451 |
|
452 #ifndef GL_PIXEL_UNPACK_BUFFER_ARB |
|
453 #define GL_PIXEL_UNPACK_BUFFER_ARB 0x88EC |
|
454 #endif |
|
455 |
|
456 #ifndef GL_WRITE_ONLY_ARB |
|
457 #define GL_WRITE_ONLY_ARB 0x88B9 |
|
458 #endif |
|
459 |
|
460 #ifndef GL_STREAM_DRAW_ARB |
|
461 #define GL_STREAM_DRAW_ARB 0x88E0 |
|
462 #endif |
|
463 |
|
464 // Stencil wrap and two-side defines |
|
465 #ifndef GL_STENCIL_TEST_TWO_SIDE_EXT |
|
466 #define GL_STENCIL_TEST_TWO_SIDE_EXT 0x8910 |
|
467 #endif |
|
468 #ifndef GL_INCR_WRAP_EXT |
|
469 #define GL_INCR_WRAP_EXT 0x8507 |
|
470 #endif |
|
471 #ifndef GL_DECR_WRAP_EXT |
|
472 #define GL_DECR_WRAP_EXT 0x8508 |
|
473 #endif |
|
474 |
|
475 #ifndef GL_TEXTURE0 |
|
476 #define GL_TEXTURE0 0x84C0 |
|
477 #endif |
|
478 |
|
479 #ifndef GL_TEXTURE1 |
|
480 #define GL_TEXTURE1 0x84C1 |
|
481 #endif |
|
482 |
|
483 #ifndef GL_EXT_framebuffer_object |
|
484 #define GL_INVALID_FRAMEBUFFER_OPERATION_EXT 0x0506 |
|
485 #define GL_MAX_RENDERBUFFER_SIZE_EXT 0x84E8 |
|
486 #define GL_FRAMEBUFFER_BINDING_EXT 0x8CA6 |
|
487 #define GL_RENDERBUFFER_BINDING_EXT 0x8CA7 |
|
488 #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT 0x8CD0 |
|
489 #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT 0x8CD1 |
|
490 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT 0x8CD2 |
|
491 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT 0x8CD3 |
|
492 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT 0x8CD4 |
|
493 #define GL_FRAMEBUFFER_COMPLETE_EXT 0x8CD5 |
|
494 #define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT 0x8CD6 |
|
495 #define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT 0x8CD7 |
|
496 #define GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT 0x8CD8 |
|
497 #define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT 0x8CD9 |
|
498 #define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT 0x8CDA |
|
499 #define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT 0x8CDB |
|
500 #define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT 0x8CDC |
|
501 #define GL_FRAMEBUFFER_UNSUPPORTED_EXT 0x8CDD |
|
502 #define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF |
|
503 #define GL_COLOR_ATTACHMENT0_EXT 0x8CE0 |
|
504 #define GL_COLOR_ATTACHMENT1_EXT 0x8CE1 |
|
505 #define GL_COLOR_ATTACHMENT2_EXT 0x8CE2 |
|
506 #define GL_COLOR_ATTACHMENT3_EXT 0x8CE3 |
|
507 #define GL_COLOR_ATTACHMENT4_EXT 0x8CE4 |
|
508 #define GL_COLOR_ATTACHMENT5_EXT 0x8CE5 |
|
509 #define GL_COLOR_ATTACHMENT6_EXT 0x8CE6 |
|
510 #define GL_COLOR_ATTACHMENT7_EXT 0x8CE7 |
|
511 #define GL_COLOR_ATTACHMENT8_EXT 0x8CE8 |
|
512 #define GL_COLOR_ATTACHMENT9_EXT 0x8CE9 |
|
513 #define GL_COLOR_ATTACHMENT10_EXT 0x8CEA |
|
514 #define GL_COLOR_ATTACHMENT11_EXT 0x8CEB |
|
515 #define GL_COLOR_ATTACHMENT12_EXT 0x8CEC |
|
516 #define GL_COLOR_ATTACHMENT13_EXT 0x8CED |
|
517 #define GL_COLOR_ATTACHMENT14_EXT 0x8CEE |
|
518 #define GL_COLOR_ATTACHMENT15_EXT 0x8CEF |
|
519 #define GL_DEPTH_ATTACHMENT_EXT 0x8D00 |
|
520 #define GL_STENCIL_ATTACHMENT_EXT 0x8D20 |
|
521 #define GL_FRAMEBUFFER_EXT 0x8D40 |
|
522 #define GL_RENDERBUFFER_EXT 0x8D41 |
|
523 #define GL_RENDERBUFFER_WIDTH_EXT 0x8D42 |
|
524 #define GL_RENDERBUFFER_HEIGHT_EXT 0x8D43 |
|
525 #define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT 0x8D44 |
|
526 #define GL_STENCIL_INDEX_EXT 0x8D45 |
|
527 #define GL_STENCIL_INDEX1_EXT 0x8D46 |
|
528 #define GL_STENCIL_INDEX4_EXT 0x8D47 |
|
529 #define GL_STENCIL_INDEX8_EXT 0x8D48 |
|
530 #define GL_STENCIL_INDEX16_EXT 0x8D49 |
|
531 #define GL_RENDERBUFFER_RED_SIZE_EXT 0x8D50 |
|
532 #define GL_RENDERBUFFER_GREEN_SIZE_EXT 0x8D51 |
|
533 #define GL_RENDERBUFFER_BLUE_SIZE_EXT 0x8D52 |
|
534 #define GL_RENDERBUFFER_ALPHA_SIZE_EXT 0x8D53 |
|
535 #define GL_RENDERBUFFER_DEPTH_SIZE_EXT 0x8D54 |
|
536 #define GL_RENDERBUFFER_STENCIL_SIZE_EXT 0x8D55 |
|
537 #endif |
|
538 |
|
539 // GL_EXT_framebuffer_blit |
|
540 #ifndef GL_READ_FRAMEBUFFER_EXT |
|
541 #define GL_READ_FRAMEBUFFER_EXT 0x8CA8 |
|
542 #endif |
|
543 |
|
544 // GL_EXT_framebuffer_multisample |
|
545 #ifndef GL_RENDERBUFFER_SAMPLES_EXT |
|
546 #define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB |
|
547 #endif |
|
548 |
|
549 #ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT |
|
550 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56 |
|
551 #endif |
|
552 |
|
553 #ifndef GL_MAX_SAMPLES_EXT |
|
554 #define GL_MAX_SAMPLES_EXT 0x8D57 |
|
555 #endif |
|
556 |
|
557 #ifndef GL_DRAW_FRAMEBUFFER_EXT |
|
558 #define GL_DRAW_FRAMEBUFFER_EXT 0x8CA9 |
|
559 #endif |
|
560 |
|
561 #ifndef GL_EXT_packed_depth_stencil |
|
562 #define GL_DEPTH_STENCIL_EXT 0x84F9 |
|
563 #define GL_UNSIGNED_INT_24_8_EXT 0x84FA |
|
564 #define GL_DEPTH24_STENCIL8_EXT 0x88F0 |
|
565 #define GL_TEXTURE_STENCIL_SIZE_EXT 0x88F1 |
|
566 #endif |
|
567 |
|
568 // ### hm. should be part of the GL 1.2 spec.. |
|
569 #ifndef GL_CLAMP_TO_EDGE |
|
570 #define GL_CLAMP_TO_EDGE 0x812F |
|
571 #endif |
|
572 |
|
573 #ifndef GL_VERSION_1_2 |
|
574 #define GL_PACK_SKIP_IMAGES 0x806B |
|
575 #define GL_PACK_IMAGE_HEIGHT 0x806C |
|
576 #define GL_UNPACK_SKIP_IMAGES 0x806D |
|
577 #define GL_UNPACK_IMAGE_HEIGHT 0x806E |
|
578 #endif |
|
579 |
|
580 #ifndef GL_VERSION_1_4 |
|
581 #define GL_CONSTANT_COLOR 0x8001 |
|
582 #define GL_ONE_MINUS_CONSTANT_COLOR 0x8002 |
|
583 #define GL_CONSTANT_ALPHA 0x8003 |
|
584 #define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 |
|
585 #define GL_INCR_WRAP 0x8507 |
|
586 #define GL_DECR_WRAP 0x8508 |
|
587 #endif |
|
588 |
|
589 #ifndef GL_VERSION_2_0 |
|
590 #define GL_FRAGMENT_SHADER 0x8B30 |
|
591 #define GL_VERTEX_SHADER 0x8B31 |
|
592 #define GL_FLOAT_VEC2 0x8B50 |
|
593 #define GL_FLOAT_VEC3 0x8B51 |
|
594 #define GL_FLOAT_VEC4 0x8B52 |
|
595 #define GL_INT_VEC2 0x8B53 |
|
596 #define GL_INT_VEC3 0x8B54 |
|
597 #define GL_INT_VEC4 0x8B55 |
|
598 #define GL_BOOL 0x8B56 |
|
599 #define GL_BOOL_VEC2 0x8B57 |
|
600 #define GL_BOOL_VEC3 0x8B58 |
|
601 #define GL_BOOL_VEC4 0x8B59 |
|
602 #define GL_FLOAT_MAT2 0x8B5A |
|
603 #define GL_FLOAT_MAT3 0x8B5B |
|
604 #define GL_FLOAT_MAT4 0x8B5C |
|
605 #define GL_SAMPLER_1D 0x8B5D |
|
606 #define GL_SAMPLER_2D 0x8B5E |
|
607 #define GL_SAMPLER_3D 0x8B5F |
|
608 #define GL_SAMPLER_CUBE 0x8B60 |
|
609 #define GL_COMPILE_STATUS 0x8B81 |
|
610 #define GL_LINK_STATUS 0x8B82 |
|
611 #define GL_INFO_LOG_LENGTH 0x8B84 |
|
612 #define GL_ACTIVE_UNIFORMS 0x8B86 |
|
613 #define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87 |
|
614 #define GL_ACTIVE_ATTRIBUTES 0x8B89 |
|
615 #define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A |
|
616 #endif |
|
617 |
|
618 |
|
619 #if !defined(QT_OPENGL_ES_2) |
|
620 #define glProgramStringARB QGLContextPrivate::extensionFuncs(ctx).qt_glProgramStringARB |
|
621 #define glBindProgramARB QGLContextPrivate::extensionFuncs(ctx).qt_glBindProgramARB |
|
622 #define glDeleteProgramsARB QGLContextPrivate::extensionFuncs(ctx).qt_glDeleteProgramsARB |
|
623 #define glGenProgramsARB QGLContextPrivate::extensionFuncs(ctx).qt_glGenProgramsARB |
|
624 #define glProgramLocalParameter4fvARB QGLContextPrivate::extensionFuncs(ctx).qt_glProgramLocalParameter4fvARB |
|
625 |
|
626 #define glActiveStencilFaceEXT QGLContextPrivate::extensionFuncs(ctx).qt_glActiveStencilFaceEXT |
|
627 |
|
628 #define glMultiTexCoord4f QGLContextPrivate::extensionFuncs(ctx).qt_glMultiTexCoord4f |
|
629 |
|
630 #define glActiveTexture QGLContextPrivate::extensionFuncs(ctx).qt_glActiveTexture |
|
631 #endif // !defined(QT_OPENGL_ES_2) |
|
632 |
|
633 |
|
634 // FBOs |
|
635 #if !defined(QT_OPENGL_ES_2) |
|
636 #define glIsRenderbuffer QGLContextPrivate::extensionFuncs(ctx).qt_glIsRenderbuffer |
|
637 #define glBindRenderbuffer QGLContextPrivate::extensionFuncs(ctx).qt_glBindRenderbuffer |
|
638 #define glDeleteRenderbuffers QGLContextPrivate::extensionFuncs(ctx).qt_glDeleteRenderbuffers |
|
639 #define glGenRenderbuffers QGLContextPrivate::extensionFuncs(ctx).qt_glGenRenderbuffers |
|
640 #define glRenderbufferStorage QGLContextPrivate::extensionFuncs(ctx).qt_glRenderbufferStorage |
|
641 #define glGetRenderbufferParameteriv QGLContextPrivate::extensionFuncs(ctx).qt_glGetRenderbufferParameteriv |
|
642 #define glIsFramebuffer QGLContextPrivate::extensionFuncs(ctx).qt_glIsFramebuffer |
|
643 #define glBindFramebuffer QGLContextPrivate::extensionFuncs(ctx).qt_glBindFramebuffer |
|
644 #define glDeleteFramebuffers QGLContextPrivate::extensionFuncs(ctx).qt_glDeleteFramebuffers |
|
645 #define glGenFramebuffers QGLContextPrivate::extensionFuncs(ctx).qt_glGenFramebuffers |
|
646 #define glCheckFramebufferStatus QGLContextPrivate::extensionFuncs(ctx).qt_glCheckFramebufferStatus |
|
647 #define glFramebufferTexture2D QGLContextPrivate::extensionFuncs(ctx).qt_glFramebufferTexture2D |
|
648 #define glFramebufferRenderbuffer QGLContextPrivate::extensionFuncs(ctx).qt_glFramebufferRenderbuffer |
|
649 #define glGetFramebufferAttachmentParameteriv QGLContextPrivate::extensionFuncs(ctx).qt_glGetFramebufferAttachmentParameteriv |
|
650 #define glGenerateMipmap QGLContextPrivate::extensionFuncs(ctx).qt_glGenerateMipmap |
|
651 #endif // QT_OPENGL_ES_2 |
|
652 #define glBlitFramebufferEXT QGLContextPrivate::extensionFuncs(ctx).qt_glBlitFramebufferEXT |
|
653 #define glRenderbufferStorageMultisampleEXT QGLContextPrivate::extensionFuncs(ctx).qt_glRenderbufferStorageMultisampleEXT |
|
654 |
|
655 |
|
656 // Buffer objects |
|
657 #if !defined(QT_OPENGL_ES_2) |
|
658 #define glBindBuffer QGLContextPrivate::extensionFuncs(ctx).qt_glBindBuffer |
|
659 #define glDeleteBuffers QGLContextPrivate::extensionFuncs(ctx).qt_glDeleteBuffers |
|
660 #define glGenBuffers QGLContextPrivate::extensionFuncs(ctx).qt_glGenBuffers |
|
661 #define glBufferData QGLContextPrivate::extensionFuncs(ctx).qt_glBufferData |
|
662 #endif |
|
663 #define glMapBufferARB QGLContextPrivate::extensionFuncs(ctx).qt_glMapBufferARB |
|
664 #define glUnmapBufferARB QGLContextPrivate::extensionFuncs(ctx).qt_glUnmapBufferARB |
|
665 |
|
666 |
|
667 // GLSL |
|
668 #if !defined(QT_OPENGL_ES_2) |
|
669 |
|
670 #define glCreateShader QGLContextPrivate::extensionFuncs(ctx).qt_glCreateShader |
|
671 #define glShaderSource QGLContextPrivate::extensionFuncs(ctx).qt_glShaderSource |
|
672 #define glShaderBinary QGLContextPrivate::extensionFuncs(ctx).qt_glShaderBinary |
|
673 #define glCompileShader QGLContextPrivate::extensionFuncs(ctx).qt_glCompileShader |
|
674 #define glDeleteShader QGLContextPrivate::extensionFuncs(ctx).qt_glDeleteShader |
|
675 #define glIsShader QGLContextPrivate::extensionFuncs(ctx).qt_glIsShader |
|
676 |
|
677 #define glCreateProgram QGLContextPrivate::extensionFuncs(ctx).qt_glCreateProgram |
|
678 #define glAttachShader QGLContextPrivate::extensionFuncs(ctx).qt_glAttachShader |
|
679 #define glDetachShader QGLContextPrivate::extensionFuncs(ctx).qt_glDetachShader |
|
680 #define glLinkProgram QGLContextPrivate::extensionFuncs(ctx).qt_glLinkProgram |
|
681 #define glUseProgram QGLContextPrivate::extensionFuncs(ctx).qt_glUseProgram |
|
682 #define glDeleteProgram QGLContextPrivate::extensionFuncs(ctx).qt_glDeleteProgram |
|
683 #define glIsProgram QGLContextPrivate::extensionFuncs(ctx).qt_glIsProgram |
|
684 |
|
685 #define glGetShaderInfoLog QGLContextPrivate::extensionFuncs(ctx).qt_glGetShaderInfoLog |
|
686 #define glGetShaderiv QGLContextPrivate::extensionFuncs(ctx).qt_glGetShaderiv |
|
687 #define glGetShaderSource QGLContextPrivate::extensionFuncs(ctx).qt_glGetShaderSource |
|
688 #define glGetProgramiv QGLContextPrivate::extensionFuncs(ctx).qt_glGetProgramiv |
|
689 #define glGetProgramInfoLog QGLContextPrivate::extensionFuncs(ctx).qt_glGetProgramInfoLog |
|
690 |
|
691 #define glGetUniformLocation QGLContextPrivate::extensionFuncs(ctx).qt_glGetUniformLocation |
|
692 #define glUniform4fv QGLContextPrivate::extensionFuncs(ctx).qt_glUniform4fv |
|
693 #define glUniform3fv QGLContextPrivate::extensionFuncs(ctx).qt_glUniform3fv |
|
694 #define glUniform2fv QGLContextPrivate::extensionFuncs(ctx).qt_glUniform2fv |
|
695 #define glUniform1fv QGLContextPrivate::extensionFuncs(ctx).qt_glUniform1fv |
|
696 #define glUniform1i QGLContextPrivate::extensionFuncs(ctx).qt_glUniform1i |
|
697 #define glUniform1iv QGLContextPrivate::extensionFuncs(ctx).qt_glUniform1iv |
|
698 #define glUniformMatrix2fv QGLContextPrivate::extensionFuncs(ctx).qt_glUniformMatrix2fv |
|
699 #define glUniformMatrix3fv QGLContextPrivate::extensionFuncs(ctx).qt_glUniformMatrix3fv |
|
700 #define glUniformMatrix4fv QGLContextPrivate::extensionFuncs(ctx).qt_glUniformMatrix4fv |
|
701 #define glUniformMatrix2x3fv QGLContextPrivate::extensionFuncs(ctx).qt_glUniformMatrix2x3fv |
|
702 #define glUniformMatrix2x4fv QGLContextPrivate::extensionFuncs(ctx).qt_glUniformMatrix2x4fv |
|
703 #define glUniformMatrix3x2fv QGLContextPrivate::extensionFuncs(ctx).qt_glUniformMatrix3x2fv |
|
704 #define glUniformMatrix3x4fv QGLContextPrivate::extensionFuncs(ctx).qt_glUniformMatrix3x4fv |
|
705 #define glUniformMatrix4x2fv QGLContextPrivate::extensionFuncs(ctx).qt_glUniformMatrix4x2fv |
|
706 #define glUniformMatrix4x3fv QGLContextPrivate::extensionFuncs(ctx).qt_glUniformMatrix4x3fv |
|
707 |
|
708 #define glBindAttribLocation QGLContextPrivate::extensionFuncs(ctx).qt_glBindAttribLocation |
|
709 #define glGetAttribLocation QGLContextPrivate::extensionFuncs(ctx).qt_glGetAttribLocation |
|
710 #define glVertexAttrib1fv QGLContextPrivate::extensionFuncs(ctx).qt_glVertexAttrib1fv |
|
711 #define glVertexAttrib2fv QGLContextPrivate::extensionFuncs(ctx).qt_glVertexAttrib2fv |
|
712 #define glVertexAttrib3fv QGLContextPrivate::extensionFuncs(ctx).qt_glVertexAttrib3fv |
|
713 #define glVertexAttrib4fv QGLContextPrivate::extensionFuncs(ctx).qt_glVertexAttrib4fv |
|
714 #define glVertexAttribPointer QGLContextPrivate::extensionFuncs(ctx).qt_glVertexAttribPointer |
|
715 #define glDisableVertexAttribArray QGLContextPrivate::extensionFuncs(ctx).qt_glDisableVertexAttribArray |
|
716 #define glEnableVertexAttribArray QGLContextPrivate::extensionFuncs(ctx).qt_glEnableVertexAttribArray |
|
717 |
|
718 #else // QT_OPENGL_ES_2 |
|
719 |
|
720 #define glGetProgramBinaryOES QGLContextPrivate::extensionFuncs(ctx).qt_glGetProgramBinaryOES |
|
721 #define glProgramBinaryOES QGLContextPrivate::extensionFuncs(ctx).qt_glProgramBinaryOES |
|
722 |
|
723 #endif // QT_OPENGL_ES_2 |
|
724 |
|
725 |
|
726 #if !defined(QT_OPENGL_ES_2) |
|
727 #define glStencilOpSeparate QGLContextPrivate::extensionFuncs(ctx).qt_glStencilOpSeparate |
|
728 #define glBlendColor QGLContextPrivate::extensionFuncs(ctx).qt_glBlendColor |
|
729 #endif |
|
730 |
|
731 #if defined(QT_OPENGL_ES_2) |
|
732 #define glClearDepth glClearDepthf |
|
733 #endif |
|
734 |
|
735 extern bool qt_resolve_framebufferobject_extensions(QGLContext *ctx); |
|
736 bool qt_resolve_buffer_extensions(QGLContext *ctx); |
|
737 |
|
738 bool qt_resolve_version_1_3_functions(QGLContext *ctx); |
|
739 bool qt_resolve_version_2_0_functions(QGLContext *ctx); |
|
740 bool qt_resolve_stencil_face_extension(QGLContext *ctx); |
|
741 bool qt_resolve_frag_program_extensions(QGLContext *ctx); |
|
742 |
|
743 bool qt_resolve_glsl_extensions(QGLContext *ctx); |
|
744 |
|
745 QT_END_NAMESPACE |
|
746 |
|
747 #endif // QGL_EXTENSIONS_P_H |