Ignore:
Timestamp:
Feb 11, 2010, 11:19:06 PM (15 years ago)
Author:
Dmitry A. Kuminov
Message:

trunk: Merged in qt 4.6.1 sources.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/src/opengl/qglextensions_p.h

    r2 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information ([email protected])
     4** All rights reserved.
     5** Contact: Nokia Corporation ([email protected])
    56**
    67** This file is part of the QtOpenGL module of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    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.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you
     37** @nokia.com.
    3838** $QT_END_LICENSE$
    3939**
     
    7575#endif
    7676
     77
     78
     79
     80
    7781// ARB_pixel_buffer_object
    78 typedef void (APIENTRY *_glBindBufferARB) (GLenum, GLuint);
    79 typedef void (APIENTRY *_glDeleteBuffersARB) (GLsizei, const GLuint *);
    80 typedef void (APIENTRY *_glGenBuffersARB) (GLsizei, GLuint *);
    81 typedef void (APIENTRY *_glBufferDataARB) (GLenum, GLsizeiptrARB, const GLvoid *, GLenum);
     82typedef void (APIENTRY *_glBindBuffer) (GLenum, GLuint);
     83typedef void (APIENTRY *_glDeleteBuffers) (GLsizei, const GLuint *);
     84typedef void (APIENTRY *_glGenBuffers) (GLsizei, GLuint *);
     85typedef void (APIENTRY *_glBufferData) (GLenum, GLsizeiptrARB, const GLvoid *, GLenum);
    8286typedef GLvoid* (APIENTRY *_glMapBufferARB) (GLenum, GLenum);
    8387typedef GLboolean (APIENTRY *_glUnmapBufferARB) (GLenum);
     
    9397typedef GLuint (APIENTRY *_glCreateShader) (GLenum);
    9498typedef void (APIENTRY *_glShaderSource) (GLuint, GLsizei, const char **, const GLint *);
     99
    95100typedef void (APIENTRY *_glCompileShader) (GLuint);
    96101typedef void (APIENTRY *_glDeleteShader) (GLuint);
     102
    97103
    98104typedef GLuint (APIENTRY *_glCreateProgram) ();
     
    102108typedef void (APIENTRY *_glUseProgram) (GLuint);
    103109typedef void (APIENTRY *_glDeleteProgram) (GLuint);
     110
    104111
    105112typedef void (APIENTRY *_glGetShaderInfoLog) (GLuint, GLsizei, GLsizei *, char *);
    106113typedef void (APIENTRY *_glGetShaderiv) (GLuint, GLenum, GLint *);
     114
    107115typedef void (APIENTRY *_glGetProgramiv) (GLuint, GLenum, GLint *);
     116
    108117
    109118typedef 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 *);
     119typedef void (APIENTRY *_glUniform4fv) (GLint, GLsizei, GLfloat *);
     120typedef void (APIENTRY *_glUniform3fv) (GLint, GLsizei, GLfloat *);
     121typedef void (APIENTRY *_glUniform2fv) (GLint, GLsizei, GLfloat *);
     122typedef void (APIENTRY *_glUniform1fv) (GLint, GLsizei, GLfloat *);
    114123typedef void (APIENTRY *_glUniform1i) (GLint, GLint);
    115 
     124typedef void (APIENTRY *_glUniform1iv) (GLint, GLsizei, const GLint *);
     125typedef void (APIENTRY *_glUniformMatrix2fv) (GLint, GLsizei, GLboolean, const GLfloat *);
     126typedef void (APIENTRY *_glUniformMatrix3fv) (GLint, GLsizei, GLboolean, const GLfloat *);
     127typedef void (APIENTRY *_glUniformMatrix4fv) (GLint, GLsizei, GLboolean, const GLfloat *);
     128typedef void (APIENTRY *_glUniformMatrix2x3fv) (GLint, GLsizei, GLboolean, const GLfloat *);
     129typedef void (APIENTRY *_glUniformMatrix2x4fv) (GLint, GLsizei, GLboolean, const GLfloat *);
     130typedef void (APIENTRY *_glUniformMatrix3x2fv) (GLint, GLsizei, GLboolean, const GLfloat *);
     131typedef void (APIENTRY *_glUniformMatrix3x4fv) (GLint, GLsizei, GLboolean, const GLfloat *);
     132typedef void (APIENTRY *_glUniformMatrix4x2fv) (GLint, GLsizei, GLboolean, const GLfloat *);
     133typedef void (APIENTRY *_glUniformMatrix4x3fv) (GLint, GLsizei, GLboolean, const GLfloat *);
     134
     135typedef void (APIENTRY *_glBindAttribLocation) (GLuint, GLuint, const char *);
     136typedef GLint (APIENTRY *_glGetAttribLocation) (GLuint, const char *);
     137typedef void (APIENTRY *_glVertexAttrib1fv) (GLuint, const GLfloat *);
     138typedef void (APIENTRY *_glVertexAttrib2fv) (GLuint, const GLfloat *);
     139typedef void (APIENTRY *_glVertexAttrib3fv) (GLuint, const GLfloat *);
     140typedef void (APIENTRY *_glVertexAttrib4fv) (GLuint, const GLfloat *);
     141typedef void (APIENTRY *_glVertexAttribPointer) (GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid *);
     142typedef void (APIENTRY *_glDisableVertexAttribArray) (GLuint);
     143typedef void (APIENTRY *_glEnableVertexAttribArray) (GLuint);
     144
     145typedef void (APIENTRY *_glGetProgramBinaryOES) (GLuint, GLsizei, GLsizei *, GLenum *, void *);
     146typedef void (APIENTRY *_glProgramBinaryOES) (GLuint, GLenum, const void *, GLint);
     147
     148
     149typedef void (APIENTRY *_glMultiTexCoord4f) (GLenum, GLfloat, GLfloat, GLfloat, GLfloat);
    116150typedef void (APIENTRY *_glActiveStencilFaceEXT) (GLenum );
    117151
    118 typedef void (APIENTRY *_glMultiTexCoord4f) (GLenum, GLfloat, GLfloat, GLfloat, GLfloat);
     152// Needed for GL2 engine:
     153typedef void (APIENTRY *_glStencilOpSeparate) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
    119154typedef void (APIENTRY *_glActiveTexture) (GLenum);
     155
     156
    120157
    121158// EXT_GL_framebuffer_object
    122 typedef GLboolean (APIENTRY *_glIsRenderbufferEXT) (GLuint renderbuffer);
    123 typedef void (APIENTRY *_glBindRenderbufferEXT) (GLenum target, GLuint renderbuffer);
    124 typedef void (APIENTRY *_glDeleteRenderbuffersEXT) (GLsizei n, const GLuint *renderbuffers);
    125 typedef void (APIENTRY *_glGenRenderbuffersEXT) (GLsizei n, GLuint *renderbuffers);
    126 typedef void (APIENTRY *_glRenderbufferStorageEXT) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
    127 typedef void (APIENTRY *_glGetRenderbufferParameterivEXT) (GLenum target, GLenum pname, GLint *params);
    128 typedef GLboolean (APIENTRY *_glIsFramebufferEXT) (GLuint framebuffer);
    129 typedef void (APIENTRY *_glBindFramebufferEXT) (GLenum target, GLuint framebuffer);
    130 typedef void (APIENTRY *_glDeleteFramebuffersEXT) (GLsizei n, const GLuint *framebuffers);
    131 typedef void (APIENTRY *_glGenFramebuffersEXT) (GLsizei n, GLuint *framebuffers);
    132 typedef GLenum (APIENTRY *_glCheckFramebufferStatusEXT) (GLenum target);
    133 typedef void (APIENTRY *_glFramebufferTexture1DEXT) (GLenum target, GLenum attachment, GLenum textarget,
     159typedef GLboolean (APIENTRY *_glIsRenderbuffer) (GLuint renderbuffer);
     160typedef void (APIENTRY *_glBindRenderbuffer) (GLenum target, GLuint renderbuffer);
     161typedef void (APIENTRY *_glDeleteRenderbuffers) (GLsizei n, const GLuint *renderbuffers);
     162typedef void (APIENTRY *_glGenRenderbuffers) (GLsizei n, GLuint *renderbuffers);
     163typedef void (APIENTRY *_glRenderbufferStorage) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
     164typedef void (APIENTRY *_glGetRenderbufferParameteriv) (GLenum target, GLenum pname, GLint *params);
     165typedef GLboolean (APIENTRY *_glIsFramebuffer) (GLuint framebuffer);
     166typedef void (APIENTRY *_glBindFramebuffer) (GLenum target, GLuint framebuffer);
     167typedef void (APIENTRY *_glDeleteFramebuffers) (GLsizei n, const GLuint *framebuffers);
     168typedef void (APIENTRY *_glGenFramebuffers) (GLsizei n, GLuint *framebuffers);
     169typedef GLenum (APIENTRY *_glCheckFramebufferStatus) (GLenum target);
     170typedef void (APIENTRY *_glFramebufferTexture) (GLenum target, GLenum attachment, GLenum textarget,
    134171                                                           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,
     172typedef void (APIENTRY *_glFramebufferRenderbuffer) (GLenum target, GLenum attachment, GLenum renderbuffertarget,
    140173                                                              GLuint renderbuffer);
    141 typedef void (APIENTRY *_glGetFramebufferAttachmentParameterivEXT) (GLenum target, GLenum attachment, GLenum pname,
     174typedef void (APIENTRY *_glGetFramebufferAttachmentParameteriv) (GLenum target, GLenum attachment, GLenum pname,
    142175                                                                          GLint *params);
    143 typedef void (APIENTRY *_glGenerateMipmapEXT) (GLenum target);
     176typedef void (APIENTRY *_glGenerateMipmap) (GLenum target);
     177
     178// EXT_GL_framebuffer_blit
     179typedef 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
     184typedef void (APIENTRY *_glRenderbufferStorageMultisampleEXT) (GLenum target, GLsizei samples,
     185                                                               GLenum internalformat, GLsizei width, GLsizei height);
     186
     187// ARB_texture_compression
     188typedef void (APIENTRY *_glCompressedTexImage2DARB) (GLenum, GLint, GLenum, GLsizei,
     189                                                     GLsizei, GLint, GLsizei, const GLvoid *);
    144190
    145191QT_BEGIN_NAMESPACE
     
    148194{
    149195    QGLExtensionFuncs() {
     196
    150197        qt_glProgramStringARB = 0;
    151198        qt_glBindProgramARB = 0;
     
    154201        qt_glProgramLocalParameter4fvARB = 0;
    155202
     203
    156204        qt_glCreateShader = 0;
    157205        qt_glShaderSource = 0;
     206
    158207        qt_glCompileShader = 0;
    159208        qt_glDeleteShader = 0;
     209
    160210
    161211        qt_glCreateProgram = 0;
     
    165215        qt_glUseProgram = 0;
    166216        qt_glDeleteProgram = 0;
     217
    167218
    168219        qt_glGetShaderInfoLog = 0;
    169220        qt_glGetShaderiv = 0;
     221
    170222        qt_glGetProgramiv = 0;
     223
    171224
    172225        qt_glGetUniformLocation = 0;
     
    176229        qt_glUniform1fv = 0;
    177230        qt_glUniform1i = 0;
     231
     232
     233
     234
     235
     236
     237
     238
     239
     240
     241
     242
     243
     244
     245
     246
     247
     248
     249
     250
     251
     252
     253
     254
     255
    178256
    179257        qt_glActiveStencilFaceEXT = 0;
    180 
    181258        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
    208294        qt_glMapBufferARB = 0;
    209295        qt_glUnmapBufferARB = 0;
     296
     297
     298
     299
     300
    210301    }
    211302
     303
     304
    212305    _glProgramStringARB qt_glProgramStringARB;
    213306    _glBindProgramARB qt_glBindProgramARB;
     
    219312    _glCreateShader qt_glCreateShader;
    220313    _glShaderSource qt_glShaderSource;
     314
    221315    _glCompileShader qt_glCompileShader;
    222316    _glDeleteShader qt_glDeleteShader;
     317
    223318
    224319    _glCreateProgram qt_glCreateProgram;
     
    228323    _glUseProgram qt_glUseProgram;
    229324    _glDeleteProgram qt_glDeleteProgram;
     325
    230326
    231327    _glGetShaderInfoLog qt_glGetShaderInfoLog;
    232328    _glGetShaderiv qt_glGetShaderiv;
     329
    233330    _glGetProgramiv qt_glGetProgramiv;
     331
    234332
    235333    _glGetUniformLocation qt_glGetUniformLocation;
     
    239337    _glUniform1fv qt_glUniform1fv;
    240338    _glUniform1i qt_glUniform1i;
     339
     340
     341
     342
     343
     344
     345
     346
     347
     348
     349
     350
     351
     352
     353
     354
     355
     356
     357
     358
     359
     360
     361
     362
     363
     364
     365
    241366
    242367    _glActiveStencilFaceEXT qt_glActiveStencilFaceEXT;
    243 
    244368    _glMultiTexCoord4f qt_glMultiTexCoord4f;
     369
     370
     371
    245372    _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
    271406    _glMapBufferARB qt_glMapBufferARB;
    272407    _glUnmapBufferARB qt_glUnmapBufferARB;
     408
     409
     410
     411
     412
    273413};
    274414
     
    286426#ifndef GL_BGRA
    287427#define GL_BGRA 0x80E1
     428
     429
     430
     431
     432
     433
     434
     435
     436
     437
     438
     439
    288440#endif
    289441
     
    398550#endif
    399551
     552
     553
     554
     555
     556
     557
     558
     559
     560
     561
     562
     563
     564
     565
     566
     567
     568
     569
     570
     571
     572
     573
    400574#ifndef GL_EXT_packed_depth_stencil
    401575#define GL_DEPTH_STENCIL_EXT                                    0x84F9
     
    417591#endif
    418592
    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
    452730
    453731#else // QT_OPENGL_ES_2
    454732
    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
    472735
    473736#endif // QT_OPENGL_ES_2
    474737
    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
    504751
    505752extern bool qt_resolve_framebufferobject_extensions(QGLContext *ctx);
     
    507754
    508755bool qt_resolve_version_1_3_functions(QGLContext *ctx);
     756
    509757bool qt_resolve_stencil_face_extension(QGLContext *ctx);
    510758bool qt_resolve_frag_program_extensions(QGLContext *ctx);
Note: See TracChangeset for help on using the changeset viewer.