Changeset 561 for trunk/src/opengl/qglextensions_p.h
- Timestamp:
- Feb 11, 2010, 11:19:06 PM (15 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
-
Property svn:mergeinfo
set to (toggle deleted branches)
/branches/vendor/nokia/qt/4.6.1 merged eligible /branches/vendor/nokia/qt/current merged eligible /branches/vendor/trolltech/qt/current 3-149
-
Property svn:mergeinfo
set to (toggle deleted branches)
-
trunk/src/opengl/qglextensions_p.h
r2 r561 2 2 ** 3 3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). 4 ** Contact: Qt Software Information (qt-info@nokia.com) 4 ** All rights reserved. 5 ** Contact: Nokia Corporation (qt-info@nokia.com) 5 6 ** 6 7 ** This file is part of the QtOpenGL module of the Qt Toolkit. … … 21 22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. 22 23 ** 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. 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 27 ** 28 28 ** GNU General Public License Usage … … 34 34 ** met: http://www.gnu.org/copyleft/gpl.html. 35 35 ** 36 ** If you are unsure which license is appropriate for your use, please37 ** contact the sales department at qt-sales@nokia.com.36 ** If you have questions regarding the use of this file, please contact 37 ** Nokia at qt-info@nokia.com. 38 38 ** $QT_END_LICENSE$ 39 39 ** … … 75 75 #endif 76 76 77 #ifndef GL_VERSION_2_0 78 typedef char GLchar; 79 #endif 80 77 81 // ARB_pixel_buffer_object 78 typedef void (APIENTRY *_glBindBuffer ARB) (GLenum, GLuint);79 typedef void (APIENTRY *_glDeleteBuffers ARB) (GLsizei, const GLuint *);80 typedef void (APIENTRY *_glGenBuffers ARB) (GLsizei, GLuint *);81 typedef void (APIENTRY *_glBufferData ARB) (GLenum, GLsizeiptrARB, const GLvoid *, GLenum);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); 82 86 typedef GLvoid* (APIENTRY *_glMapBufferARB) (GLenum, GLenum); 83 87 typedef GLboolean (APIENTRY *_glUnmapBufferARB) (GLenum); … … 93 97 typedef GLuint (APIENTRY *_glCreateShader) (GLenum); 94 98 typedef void (APIENTRY *_glShaderSource) (GLuint, GLsizei, const char **, const GLint *); 99 typedef void (APIENTRY *_glShaderBinary) (GLint, const GLuint*, GLenum, const void*, GLint); 95 100 typedef void (APIENTRY *_glCompileShader) (GLuint); 96 101 typedef void (APIENTRY *_glDeleteShader) (GLuint); 102 typedef GLboolean (APIENTRY *_glIsShader) (GLuint); 97 103 98 104 typedef GLuint (APIENTRY *_glCreateProgram) (); … … 102 108 typedef void (APIENTRY *_glUseProgram) (GLuint); 103 109 typedef void (APIENTRY *_glDeleteProgram) (GLuint); 110 typedef GLboolean (APIENTRY *_glIsProgram) (GLuint); 104 111 105 112 typedef void (APIENTRY *_glGetShaderInfoLog) (GLuint, GLsizei, GLsizei *, char *); 106 113 typedef void (APIENTRY *_glGetShaderiv) (GLuint, GLenum, GLint *); 114 typedef void (APIENTRY *_glGetShaderSource) (GLuint, GLsizei, GLsizei *, char *); 107 115 typedef void (APIENTRY *_glGetProgramiv) (GLuint, GLenum, GLint *); 116 typedef void (APIENTRY *_glGetProgramInfoLog) (GLuint, GLsizei, GLsizei *, char *); 108 117 109 118 typedef GLuint (APIENTRY *_glGetUniformLocation) (GLuint, const char*); 110 typedef void (APIENTRY *_glUniform4fv) (GLint, GLsizei, GLfloat *);111 typedef void (APIENTRY *_glUniform3fv) (GLint, GLsizei, GLfloat *);112 typedef void (APIENTRY *_glUniform2fv) (GLint, GLsizei, GLfloat *);113 typedef void (APIENTRY *_glUniform1fv) (GLint, GLsizei, GLfloat *);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 *); 114 123 typedef void (APIENTRY *_glUniform1i) (GLint, GLint); 115 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); 116 150 typedef void (APIENTRY *_glActiveStencilFaceEXT) (GLenum ); 117 151 118 typedef void (APIENTRY *_glMultiTexCoord4f) (GLenum, GLfloat, GLfloat, GLfloat, GLfloat); 152 // Needed for GL2 engine: 153 typedef void (APIENTRY *_glStencilOpSeparate) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); 119 154 typedef void (APIENTRY *_glActiveTexture) (GLenum); 155 typedef void (APIENTRY *_glBlendColor) (GLclampf, GLclampf, GLclampf, GLclampf); 156 120 157 121 158 // EXT_GL_framebuffer_object 122 typedef GLboolean (APIENTRY *_glIsRenderbuffer EXT) (GLuint renderbuffer);123 typedef void (APIENTRY *_glBindRenderbuffer EXT) (GLenum target, GLuint renderbuffer);124 typedef void (APIENTRY *_glDeleteRenderbuffers EXT) (GLsizei n, const GLuint *renderbuffers);125 typedef void (APIENTRY *_glGenRenderbuffers EXT) (GLsizei n, GLuint *renderbuffers);126 typedef void (APIENTRY *_glRenderbufferStorage EXT) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);127 typedef void (APIENTRY *_glGetRenderbufferParameteriv EXT) (GLenum target, GLenum pname, GLint *params);128 typedef GLboolean (APIENTRY *_glIsFramebuffer EXT) (GLuint framebuffer);129 typedef void (APIENTRY *_glBindFramebuffer EXT) (GLenum target, GLuint framebuffer);130 typedef void (APIENTRY *_glDeleteFramebuffers EXT) (GLsizei n, const GLuint *framebuffers);131 typedef void (APIENTRY *_glGenFramebuffers EXT) (GLsizei n, GLuint *framebuffers);132 typedef GLenum (APIENTRY *_glCheckFramebufferStatus EXT) (GLenum target);133 typedef void (APIENTRY *_glFramebufferTexture 1DEXT) (GLenum target, GLenum attachment, GLenum textarget,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, 134 171 GLuint texture, GLint level); 135 typedef void (APIENTRY *_glFramebufferTexture2DEXT) (GLenum target, GLenum attachment, GLenum textarget, 136 GLuint texture, GLint level); 137 typedef void (APIENTRY *_glFramebufferTexture3DEXT) (GLenum target, GLenum attachment, GLenum textarget, 138 GLuint texture, GLint level, GLint zoffset); 139 typedef void (APIENTRY *_glFramebufferRenderbufferEXT) (GLenum target, GLenum attachment, GLenum renderbuffertarget, 172 typedef void (APIENTRY *_glFramebufferRenderbuffer) (GLenum target, GLenum attachment, GLenum renderbuffertarget, 140 173 GLuint renderbuffer); 141 typedef void (APIENTRY *_glGetFramebufferAttachmentParameteriv EXT) (GLenum target, GLenum attachment, GLenum pname,174 typedef void (APIENTRY *_glGetFramebufferAttachmentParameteriv) (GLenum target, GLenum attachment, GLenum pname, 142 175 GLint *params); 143 typedef void (APIENTRY *_glGenerateMipmapEXT) (GLenum target); 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 // ARB_texture_compression 188 typedef void (APIENTRY *_glCompressedTexImage2DARB) (GLenum, GLint, GLenum, GLsizei, 189 GLsizei, GLint, GLsizei, const GLvoid *); 144 190 145 191 QT_BEGIN_NAMESPACE … … 148 194 { 149 195 QGLExtensionFuncs() { 196 #if !defined(QT_OPENGL_ES_2) 150 197 qt_glProgramStringARB = 0; 151 198 qt_glBindProgramARB = 0; … … 154 201 qt_glProgramLocalParameter4fvARB = 0; 155 202 203 // GLSL 156 204 qt_glCreateShader = 0; 157 205 qt_glShaderSource = 0; 206 qt_glShaderBinary = 0; 158 207 qt_glCompileShader = 0; 159 208 qt_glDeleteShader = 0; 209 qt_glIsShader = 0; 160 210 161 211 qt_glCreateProgram = 0; … … 165 215 qt_glUseProgram = 0; 166 216 qt_glDeleteProgram = 0; 217 qt_glIsProgram = 0; 167 218 168 219 qt_glGetShaderInfoLog = 0; 169 220 qt_glGetShaderiv = 0; 221 qt_glGetShaderSource = 0; 170 222 qt_glGetProgramiv = 0; 223 qt_glGetProgramInfoLog = 0; 171 224 172 225 qt_glGetUniformLocation = 0; … … 176 229 qt_glUniform1fv = 0; 177 230 qt_glUniform1i = 0; 231 qt_glUniform1iv = 0; 232 qt_glUniformMatrix2fv = 0; 233 qt_glUniformMatrix3fv = 0; 234 qt_glUniformMatrix4fv = 0; 235 qt_glUniformMatrix2x3fv = 0; 236 qt_glUniformMatrix2x4fv = 0; 237 qt_glUniformMatrix3x2fv = 0; 238 qt_glUniformMatrix3x4fv = 0; 239 qt_glUniformMatrix4x2fv = 0; 240 qt_glUniformMatrix4x3fv = 0; 241 242 qt_glBindAttribLocation = 0; 243 qt_glGetAttribLocation = 0; 244 qt_glVertexAttrib1fv = 0; 245 qt_glVertexAttrib2fv = 0; 246 qt_glVertexAttrib3fv = 0; 247 qt_glVertexAttrib4fv = 0; 248 qt_glVertexAttribPointer = 0; 249 qt_glDisableVertexAttribArray = 0; 250 qt_glEnableVertexAttribArray = 0; 251 252 // Extras for GL2 engine: 253 qt_glActiveTexture = 0; 254 qt_glStencilOpSeparate = 0; 255 qt_glBlendColor = 0; 178 256 179 257 qt_glActiveStencilFaceEXT = 0; 180 181 258 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; 259 #else 260 qt_glslResolved = false; 261 262 qt_glGetProgramBinaryOES = 0; 263 qt_glProgramBinaryOES = 0; 264 #endif 265 266 // FBOs 267 #if !defined(QT_OPENGL_ES_2) 268 qt_glIsRenderbuffer = 0; 269 qt_glBindRenderbuffer = 0; 270 qt_glDeleteRenderbuffers = 0; 271 qt_glGenRenderbuffers = 0; 272 qt_glRenderbufferStorage = 0; 273 qt_glGetRenderbufferParameteriv = 0; 274 qt_glIsFramebuffer = 0; 275 qt_glBindFramebuffer = 0; 276 qt_glDeleteFramebuffers = 0; 277 qt_glGenFramebuffers = 0; 278 qt_glCheckFramebufferStatus = 0; 279 qt_glFramebufferTexture2D = 0; 280 qt_glFramebufferRenderbuffer = 0; 281 qt_glGetFramebufferAttachmentParameteriv = 0; 282 qt_glGenerateMipmap = 0; 283 #endif 284 qt_glBlitFramebufferEXT = 0; 285 qt_glRenderbufferStorageMultisampleEXT = 0; 286 287 // Buffer objects: 288 #if !defined(QT_OPENGL_ES_2) 289 qt_glBindBuffer = 0; 290 qt_glDeleteBuffers = 0; 291 qt_glGenBuffers = 0; 292 qt_glBufferData = 0; 293 #endif 208 294 qt_glMapBufferARB = 0; 209 295 qt_glUnmapBufferARB = 0; 296 297 #if !defined(QT_OPENGL_ES) 298 // Texture compression 299 qt_glCompressedTexImage2DARB = 0; 300 #endif 210 301 } 211 302 303 304 #if !defined(QT_OPENGL_ES_2) 212 305 _glProgramStringARB qt_glProgramStringARB; 213 306 _glBindProgramARB qt_glBindProgramARB; … … 219 312 _glCreateShader qt_glCreateShader; 220 313 _glShaderSource qt_glShaderSource; 314 _glShaderBinary qt_glShaderBinary; 221 315 _glCompileShader qt_glCompileShader; 222 316 _glDeleteShader qt_glDeleteShader; 317 _glIsShader qt_glIsShader; 223 318 224 319 _glCreateProgram qt_glCreateProgram; … … 228 323 _glUseProgram qt_glUseProgram; 229 324 _glDeleteProgram qt_glDeleteProgram; 325 _glIsProgram qt_glIsProgram; 230 326 231 327 _glGetShaderInfoLog qt_glGetShaderInfoLog; 232 328 _glGetShaderiv qt_glGetShaderiv; 329 _glGetShaderSource qt_glGetShaderSource; 233 330 _glGetProgramiv qt_glGetProgramiv; 331 _glGetProgramInfoLog qt_glGetProgramInfoLog; 234 332 235 333 _glGetUniformLocation qt_glGetUniformLocation; … … 239 337 _glUniform1fv qt_glUniform1fv; 240 338 _glUniform1i qt_glUniform1i; 339 _glUniform1iv qt_glUniform1iv; 340 _glUniformMatrix2fv qt_glUniformMatrix2fv; 341 _glUniformMatrix3fv qt_glUniformMatrix3fv; 342 _glUniformMatrix4fv qt_glUniformMatrix4fv; 343 _glUniformMatrix2x3fv qt_glUniformMatrix2x3fv; 344 _glUniformMatrix2x4fv qt_glUniformMatrix2x4fv; 345 _glUniformMatrix3x2fv qt_glUniformMatrix3x2fv; 346 _glUniformMatrix3x4fv qt_glUniformMatrix3x4fv; 347 _glUniformMatrix4x2fv qt_glUniformMatrix4x2fv; 348 _glUniformMatrix4x3fv qt_glUniformMatrix4x3fv; 349 350 _glBindAttribLocation qt_glBindAttribLocation; 351 _glGetAttribLocation qt_glGetAttribLocation; 352 _glVertexAttrib1fv qt_glVertexAttrib1fv; 353 _glVertexAttrib2fv qt_glVertexAttrib2fv; 354 _glVertexAttrib3fv qt_glVertexAttrib3fv; 355 _glVertexAttrib4fv qt_glVertexAttrib4fv; 356 _glVertexAttribPointer qt_glVertexAttribPointer; 357 _glDisableVertexAttribArray qt_glDisableVertexAttribArray; 358 _glEnableVertexAttribArray qt_glEnableVertexAttribArray; 359 360 #else 361 bool qt_glslResolved; 362 363 _glGetProgramBinaryOES qt_glGetProgramBinaryOES; 364 _glProgramBinaryOES qt_glProgramBinaryOES; 365 #endif 241 366 242 367 _glActiveStencilFaceEXT qt_glActiveStencilFaceEXT; 243 244 368 _glMultiTexCoord4f qt_glMultiTexCoord4f; 369 370 #if !defined(QT_OPENGL_ES_2) 371 // Extras needed for GL2 engine: 245 372 _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; 373 _glStencilOpSeparate qt_glStencilOpSeparate; 374 _glBlendColor qt_glBlendColor; 375 376 #endif 377 378 // FBOs 379 #if !defined(QT_OPENGL_ES_2) 380 _glIsRenderbuffer qt_glIsRenderbuffer; 381 _glBindRenderbuffer qt_glBindRenderbuffer; 382 _glDeleteRenderbuffers qt_glDeleteRenderbuffers; 383 _glGenRenderbuffers qt_glGenRenderbuffers; 384 _glRenderbufferStorage qt_glRenderbufferStorage; 385 _glGetRenderbufferParameteriv qt_glGetRenderbufferParameteriv; 386 _glIsFramebuffer qt_glIsFramebuffer; 387 _glBindFramebuffer qt_glBindFramebuffer; 388 _glDeleteFramebuffers qt_glDeleteFramebuffers; 389 _glGenFramebuffers qt_glGenFramebuffers; 390 _glCheckFramebufferStatus qt_glCheckFramebufferStatus; 391 _glFramebufferTexture2D qt_glFramebufferTexture2D; 392 _glFramebufferRenderbuffer qt_glFramebufferRenderbuffer; 393 _glGetFramebufferAttachmentParameteriv qt_glGetFramebufferAttachmentParameteriv; 394 _glGenerateMipmap qt_glGenerateMipmap; 395 #endif 396 _glBlitFramebufferEXT qt_glBlitFramebufferEXT; 397 _glRenderbufferStorageMultisampleEXT qt_glRenderbufferStorageMultisampleEXT; 398 399 // Buffer objects 400 #if !defined(QT_OPENGL_ES_2) 401 _glBindBuffer qt_glBindBuffer; 402 _glDeleteBuffers qt_glDeleteBuffers; 403 _glGenBuffers qt_glGenBuffers; 404 _glBufferData qt_glBufferData; 405 #endif 271 406 _glMapBufferARB qt_glMapBufferARB; 272 407 _glUnmapBufferARB qt_glUnmapBufferARB; 408 409 #if !defined(QT_OPENGL_ES) 410 // Texture compression 411 _glCompressedTexImage2DARB qt_glCompressedTexImage2DARB; 412 #endif 273 413 }; 274 414 … … 286 426 #ifndef GL_BGRA 287 427 #define GL_BGRA 0x80E1 428 #endif 429 430 #ifndef GL_RGB16 431 #define GL_RGB16 32852 432 #endif 433 434 #ifndef GL_UNSIGNED_SHORT_5_6_5 435 #define GL_UNSIGNED_SHORT_5_6_5 33635 436 #endif 437 438 #ifndef GL_UNSIGNED_INT_8_8_8_8_REV 439 #define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367 288 440 #endif 289 441 … … 398 550 #endif 399 551 552 // GL_EXT_framebuffer_blit 553 #ifndef GL_READ_FRAMEBUFFER_EXT 554 #define GL_READ_FRAMEBUFFER_EXT 0x8CA8 555 #endif 556 557 // GL_EXT_framebuffer_multisample 558 #ifndef GL_RENDERBUFFER_SAMPLES_EXT 559 #define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB 560 #endif 561 562 #ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 563 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56 564 #endif 565 566 #ifndef GL_MAX_SAMPLES_EXT 567 #define GL_MAX_SAMPLES_EXT 0x8D57 568 #endif 569 570 #ifndef GL_DRAW_FRAMEBUFFER_EXT 571 #define GL_DRAW_FRAMEBUFFER_EXT 0x8CA9 572 #endif 573 400 574 #ifndef GL_EXT_packed_depth_stencil 401 575 #define GL_DEPTH_STENCIL_EXT 0x84F9 … … 417 591 #endif 418 592 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 593 #ifndef GL_VERSION_1_4 594 #define GL_CONSTANT_COLOR 0x8001 595 #define GL_ONE_MINUS_CONSTANT_COLOR 0x8002 596 #define GL_CONSTANT_ALPHA 0x8003 597 #define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 598 #define GL_INCR_WRAP 0x8507 599 #define GL_DECR_WRAP 0x8508 600 #endif 601 602 #ifndef GL_VERSION_2_0 603 #define GL_FRAGMENT_SHADER 0x8B30 604 #define GL_VERTEX_SHADER 0x8B31 605 #define GL_FLOAT_VEC2 0x8B50 606 #define GL_FLOAT_VEC3 0x8B51 607 #define GL_FLOAT_VEC4 0x8B52 608 #define GL_INT_VEC2 0x8B53 609 #define GL_INT_VEC3 0x8B54 610 #define GL_INT_VEC4 0x8B55 611 #define GL_BOOL 0x8B56 612 #define GL_BOOL_VEC2 0x8B57 613 #define GL_BOOL_VEC3 0x8B58 614 #define GL_BOOL_VEC4 0x8B59 615 #define GL_FLOAT_MAT2 0x8B5A 616 #define GL_FLOAT_MAT3 0x8B5B 617 #define GL_FLOAT_MAT4 0x8B5C 618 #define GL_SAMPLER_1D 0x8B5D 619 #define GL_SAMPLER_2D 0x8B5E 620 #define GL_SAMPLER_3D 0x8B5F 621 #define GL_SAMPLER_CUBE 0x8B60 622 #define GL_COMPILE_STATUS 0x8B81 623 #define GL_LINK_STATUS 0x8B82 624 #define GL_INFO_LOG_LENGTH 0x8B84 625 #define GL_ACTIVE_UNIFORMS 0x8B86 626 #define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87 627 #define GL_ACTIVE_ATTRIBUTES 0x8B89 628 #define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A 629 #endif 630 631 632 #if !defined(QT_OPENGL_ES_2) 633 #define glProgramStringARB QGLContextPrivate::extensionFuncs(ctx).qt_glProgramStringARB 634 #define glBindProgramARB QGLContextPrivate::extensionFuncs(ctx).qt_glBindProgramARB 635 #define glDeleteProgramsARB QGLContextPrivate::extensionFuncs(ctx).qt_glDeleteProgramsARB 636 #define glGenProgramsARB QGLContextPrivate::extensionFuncs(ctx).qt_glGenProgramsARB 637 #define glProgramLocalParameter4fvARB QGLContextPrivate::extensionFuncs(ctx).qt_glProgramLocalParameter4fvARB 638 639 #define glActiveStencilFaceEXT QGLContextPrivate::extensionFuncs(ctx).qt_glActiveStencilFaceEXT 640 641 #define glMultiTexCoord4f QGLContextPrivate::extensionFuncs(ctx).qt_glMultiTexCoord4f 642 643 #define glActiveTexture QGLContextPrivate::extensionFuncs(ctx).qt_glActiveTexture 644 #endif // !defined(QT_OPENGL_ES_2) 645 646 647 // FBOs 648 #if !defined(QT_OPENGL_ES_2) 649 #define glIsRenderbuffer QGLContextPrivate::extensionFuncs(ctx).qt_glIsRenderbuffer 650 #define glBindRenderbuffer QGLContextPrivate::extensionFuncs(ctx).qt_glBindRenderbuffer 651 #define glDeleteRenderbuffers QGLContextPrivate::extensionFuncs(ctx).qt_glDeleteRenderbuffers 652 #define glGenRenderbuffers QGLContextPrivate::extensionFuncs(ctx).qt_glGenRenderbuffers 653 #define glRenderbufferStorage QGLContextPrivate::extensionFuncs(ctx).qt_glRenderbufferStorage 654 #define glGetRenderbufferParameteriv QGLContextPrivate::extensionFuncs(ctx).qt_glGetRenderbufferParameteriv 655 #define glIsFramebuffer QGLContextPrivate::extensionFuncs(ctx).qt_glIsFramebuffer 656 #define glBindFramebuffer QGLContextPrivate::extensionFuncs(ctx).qt_glBindFramebuffer 657 #define glDeleteFramebuffers QGLContextPrivate::extensionFuncs(ctx).qt_glDeleteFramebuffers 658 #define glGenFramebuffers QGLContextPrivate::extensionFuncs(ctx).qt_glGenFramebuffers 659 #define glCheckFramebufferStatus QGLContextPrivate::extensionFuncs(ctx).qt_glCheckFramebufferStatus 660 #define glFramebufferTexture2D QGLContextPrivate::extensionFuncs(ctx).qt_glFramebufferTexture2D 661 #define glFramebufferRenderbuffer QGLContextPrivate::extensionFuncs(ctx).qt_glFramebufferRenderbuffer 662 #define glGetFramebufferAttachmentParameteriv QGLContextPrivate::extensionFuncs(ctx).qt_glGetFramebufferAttachmentParameteriv 663 #define glGenerateMipmap QGLContextPrivate::extensionFuncs(ctx).qt_glGenerateMipmap 664 #endif // QT_OPENGL_ES_2 665 #define glBlitFramebufferEXT QGLContextPrivate::extensionFuncs(ctx).qt_glBlitFramebufferEXT 666 #define glRenderbufferStorageMultisampleEXT QGLContextPrivate::extensionFuncs(ctx).qt_glRenderbufferStorageMultisampleEXT 667 668 669 // Buffer objects 670 #if !defined(QT_OPENGL_ES_2) 671 #define glBindBuffer QGLContextPrivate::extensionFuncs(ctx).qt_glBindBuffer 672 #define glDeleteBuffers QGLContextPrivate::extensionFuncs(ctx).qt_glDeleteBuffers 673 #define glGenBuffers QGLContextPrivate::extensionFuncs(ctx).qt_glGenBuffers 674 #define glBufferData QGLContextPrivate::extensionFuncs(ctx).qt_glBufferData 675 #endif 676 #define glMapBufferARB QGLContextPrivate::extensionFuncs(ctx).qt_glMapBufferARB 677 #define glUnmapBufferARB QGLContextPrivate::extensionFuncs(ctx).qt_glUnmapBufferARB 678 679 680 // GLSL 681 #if !defined(QT_OPENGL_ES_2) 682 683 #define glCreateShader QGLContextPrivate::extensionFuncs(ctx).qt_glCreateShader 684 #define glShaderSource QGLContextPrivate::extensionFuncs(ctx).qt_glShaderSource 685 #define glShaderBinary QGLContextPrivate::extensionFuncs(ctx).qt_glShaderBinary 686 #define glCompileShader QGLContextPrivate::extensionFuncs(ctx).qt_glCompileShader 687 #define glDeleteShader QGLContextPrivate::extensionFuncs(ctx).qt_glDeleteShader 688 #define glIsShader QGLContextPrivate::extensionFuncs(ctx).qt_glIsShader 689 690 #define glCreateProgram QGLContextPrivate::extensionFuncs(ctx).qt_glCreateProgram 691 #define glAttachShader QGLContextPrivate::extensionFuncs(ctx).qt_glAttachShader 692 #define glDetachShader QGLContextPrivate::extensionFuncs(ctx).qt_glDetachShader 693 #define glLinkProgram QGLContextPrivate::extensionFuncs(ctx).qt_glLinkProgram 694 #define glUseProgram QGLContextPrivate::extensionFuncs(ctx).qt_glUseProgram 695 #define glDeleteProgram QGLContextPrivate::extensionFuncs(ctx).qt_glDeleteProgram 696 #define glIsProgram QGLContextPrivate::extensionFuncs(ctx).qt_glIsProgram 697 698 #define glGetShaderInfoLog QGLContextPrivate::extensionFuncs(ctx).qt_glGetShaderInfoLog 699 #define glGetShaderiv QGLContextPrivate::extensionFuncs(ctx).qt_glGetShaderiv 700 #define glGetShaderSource QGLContextPrivate::extensionFuncs(ctx).qt_glGetShaderSource 701 #define glGetProgramiv QGLContextPrivate::extensionFuncs(ctx).qt_glGetProgramiv 702 #define glGetProgramInfoLog QGLContextPrivate::extensionFuncs(ctx).qt_glGetProgramInfoLog 703 704 #define glGetUniformLocation QGLContextPrivate::extensionFuncs(ctx).qt_glGetUniformLocation 705 #define glUniform4fv QGLContextPrivate::extensionFuncs(ctx).qt_glUniform4fv 706 #define glUniform3fv QGLContextPrivate::extensionFuncs(ctx).qt_glUniform3fv 707 #define glUniform2fv QGLContextPrivate::extensionFuncs(ctx).qt_glUniform2fv 708 #define glUniform1fv QGLContextPrivate::extensionFuncs(ctx).qt_glUniform1fv 709 #define glUniform1i QGLContextPrivate::extensionFuncs(ctx).qt_glUniform1i 710 #define glUniform1iv QGLContextPrivate::extensionFuncs(ctx).qt_glUniform1iv 711 #define glUniformMatrix2fv QGLContextPrivate::extensionFuncs(ctx).qt_glUniformMatrix2fv 712 #define glUniformMatrix3fv QGLContextPrivate::extensionFuncs(ctx).qt_glUniformMatrix3fv 713 #define glUniformMatrix4fv QGLContextPrivate::extensionFuncs(ctx).qt_glUniformMatrix4fv 714 #define glUniformMatrix2x3fv QGLContextPrivate::extensionFuncs(ctx).qt_glUniformMatrix2x3fv 715 #define glUniformMatrix2x4fv QGLContextPrivate::extensionFuncs(ctx).qt_glUniformMatrix2x4fv 716 #define glUniformMatrix3x2fv QGLContextPrivate::extensionFuncs(ctx).qt_glUniformMatrix3x2fv 717 #define glUniformMatrix3x4fv QGLContextPrivate::extensionFuncs(ctx).qt_glUniformMatrix3x4fv 718 #define glUniformMatrix4x2fv QGLContextPrivate::extensionFuncs(ctx).qt_glUniformMatrix4x2fv 719 #define glUniformMatrix4x3fv QGLContextPrivate::extensionFuncs(ctx).qt_glUniformMatrix4x3fv 720 721 #define glBindAttribLocation QGLContextPrivate::extensionFuncs(ctx).qt_glBindAttribLocation 722 #define glGetAttribLocation QGLContextPrivate::extensionFuncs(ctx).qt_glGetAttribLocation 723 #define glVertexAttrib1fv QGLContextPrivate::extensionFuncs(ctx).qt_glVertexAttrib1fv 724 #define glVertexAttrib2fv QGLContextPrivate::extensionFuncs(ctx).qt_glVertexAttrib2fv 725 #define glVertexAttrib3fv QGLContextPrivate::extensionFuncs(ctx).qt_glVertexAttrib3fv 726 #define glVertexAttrib4fv QGLContextPrivate::extensionFuncs(ctx).qt_glVertexAttrib4fv 727 #define glVertexAttribPointer QGLContextPrivate::extensionFuncs(ctx).qt_glVertexAttribPointer 728 #define glDisableVertexAttribArray QGLContextPrivate::extensionFuncs(ctx).qt_glDisableVertexAttribArray 729 #define glEnableVertexAttribArray QGLContextPrivate::extensionFuncs(ctx).qt_glEnableVertexAttribArray 452 730 453 731 #else // QT_OPENGL_ES_2 454 732 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 733 #define glGetProgramBinaryOES QGLContextPrivate::extensionFuncs(ctx).qt_glGetProgramBinaryOES 734 #define glProgramBinaryOES QGLContextPrivate::extensionFuncs(ctx).qt_glProgramBinaryOES 472 735 473 736 #endif // QT_OPENGL_ES_2 474 737 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 738 739 #if !defined(QT_OPENGL_ES_2) 740 #define glStencilOpSeparate QGLContextPrivate::extensionFuncs(ctx).qt_glStencilOpSeparate 741 #define glBlendColor QGLContextPrivate::extensionFuncs(ctx).qt_glBlendColor 742 #endif 743 744 #if defined(QT_OPENGL_ES_2) 745 #define glClearDepth glClearDepthf 746 #endif 747 748 #if !defined(QT_OPENGL_ES) 749 #define glCompressedTexImage2D QGLContextPrivate::extensionFuncs(ctx).qt_glCompressedTexImage2DARB 750 #endif 504 751 505 752 extern bool qt_resolve_framebufferobject_extensions(QGLContext *ctx); … … 507 754 508 755 bool qt_resolve_version_1_3_functions(QGLContext *ctx); 756 bool qt_resolve_version_2_0_functions(QGLContext *ctx); 509 757 bool qt_resolve_stencil_face_extension(QGLContext *ctx); 510 758 bool qt_resolve_frag_program_extensions(QGLContext *ctx);
Note:
See TracChangeset
for help on using the changeset viewer.