tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

GLContextSymbols.h (27021B)


      1 /* -*- Mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 4; -*- */
      2 /* This Source Code Form is subject to the terms of the Mozilla Public
      3 * License, v. 2.0. If a copy of the MPL was not distributed with this
      4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      5 
      6 #ifndef GLCONTEXTSYMBOLS_H_
      7 #define GLCONTEXTSYMBOLS_H_
      8 
      9 #include "GLDefs.h"
     10 
     11 /*
     12 * This file should only be included by GLContext.h, and should be
     13 * autogenerated in the future.
     14 */
     15 
     16 #ifndef GLAPIENTRY
     17 #  ifdef XP_WIN
     18 #    define GLAPIENTRY __stdcall
     19 #  else
     20 #    define GLAPIENTRY
     21 #  endif
     22 #  define GLAPI
     23 #endif
     24 
     25 namespace mozilla {
     26 namespace gl {
     27 
     28 struct GLContextSymbols final {
     29  void(GLAPIENTRY* fActiveTexture)(GLenum);
     30  void(GLAPIENTRY* fAttachShader)(GLuint, GLuint);
     31  void(GLAPIENTRY* fBeginQuery)(GLenum, GLuint);
     32  void(GLAPIENTRY* fBindAttribLocation)(GLuint, GLuint, const GLchar*);
     33  void(GLAPIENTRY* fBindBuffer)(GLenum, GLuint);
     34  void(GLAPIENTRY* fBindTexture)(GLenum, GLuint);
     35  void(GLAPIENTRY* fBindVertexArray)(GLuint);
     36  void(GLAPIENTRY* fBlendColor)(GLfloat, GLfloat, GLfloat, GLfloat);
     37  void(GLAPIENTRY* fBlendEquation)(GLenum);
     38  void(GLAPIENTRY* fBlendEquationSeparate)(GLenum, GLenum);
     39  void(GLAPIENTRY* fBlendFunc)(GLenum, GLenum);
     40  void(GLAPIENTRY* fBlendFuncSeparate)(GLenum, GLenum, GLenum, GLenum);
     41  void(GLAPIENTRY* fBufferData)(GLenum, GLsizeiptr, const GLvoid*, GLenum);
     42  void(GLAPIENTRY* fBufferSubData)(GLenum, GLintptr, GLsizeiptr, const GLvoid*);
     43 
     44  void(GLAPIENTRY* fClear)(GLbitfield);
     45  void(GLAPIENTRY* fClearBufferfi)(GLenum, GLint, GLfloat, GLint);
     46  void(GLAPIENTRY* fClearBufferfv)(GLenum, GLint, const GLfloat*);
     47  void(GLAPIENTRY* fClearBufferiv)(GLenum, GLint, const GLint*);
     48  void(GLAPIENTRY* fClearBufferuiv)(GLenum, GLint, const GLuint*);
     49  void(GLAPIENTRY* fClearColor)(GLfloat, GLfloat, GLfloat, GLfloat);
     50  void(GLAPIENTRY* fClearStencil)(GLint);
     51  void(GLAPIENTRY* fColorMask)(realGLboolean, realGLboolean, realGLboolean,
     52                               realGLboolean);
     53  void(GLAPIENTRY* fCompressedTexImage2D)(GLenum, GLint, GLenum, GLsizei,
     54                                          GLsizei, GLint, GLsizei,
     55                                          const GLvoid*);
     56  void(GLAPIENTRY* fCompressedTexSubImage2D)(GLenum, GLint, GLint, GLint,
     57                                             GLsizei, GLsizei, GLenum, GLsizei,
     58                                             const GLvoid*);
     59  void(GLAPIENTRY* fCullFace)(GLenum);
     60  void(GLAPIENTRY* fDetachShader)(GLuint, GLuint);
     61  void(GLAPIENTRY* fDepthFunc)(GLenum);
     62  void(GLAPIENTRY* fDepthMask)(realGLboolean);
     63  void(GLAPIENTRY* fDisable)(GLenum);
     64  void(GLAPIENTRY* fDisableVertexAttribArray)(GLuint);
     65  void(GLAPIENTRY* fDrawArrays)(GLenum, GLint, GLsizei);
     66  void(GLAPIENTRY* fDrawBuffer)(GLenum);
     67  void(GLAPIENTRY* fDrawBuffers)(GLsizei, const GLenum*);
     68  void(GLAPIENTRY* fDrawElements)(GLenum, GLsizei, GLenum, const GLvoid*);
     69  void(GLAPIENTRY* fEnable)(GLenum);
     70  void(GLAPIENTRY* fEnableVertexAttribArray)(GLuint);
     71  void(GLAPIENTRY* fFinish)(void);
     72  void(GLAPIENTRY* fEndQuery)(GLenum);
     73  void(GLAPIENTRY* fFlush)(void);
     74  void(GLAPIENTRY* fFrontFace)(GLenum);
     75  void(GLAPIENTRY* fGetActiveAttrib)(GLuint, GLuint, GLsizei, GLsizei*, GLint*,
     76                                     GLenum*, GLchar*);
     77  void(GLAPIENTRY* fGetActiveUniform)(GLuint, GLuint, GLsizei, GLsizei*, GLint*,
     78                                      GLenum*, GLchar*);
     79  void(GLAPIENTRY* fGetAttachedShaders)(GLuint, GLsizei, GLsizei*, GLuint*);
     80  GLint(GLAPIENTRY* fGetAttribLocation)(GLuint, const GLchar*);
     81  void(GLAPIENTRY* fGetIntegerv)(GLenum, GLint*);
     82  void(GLAPIENTRY* fGetFloatv)(GLenum, GLfloat*);
     83  void(GLAPIENTRY* fGetBooleanv)(GLenum, realGLboolean*);
     84  void(GLAPIENTRY* fGetBufferParameteriv)(GLenum, GLenum, GLint*);
     85  void(GLAPIENTRY* fGenerateMipmap)(GLenum);
     86  GLenum(GLAPIENTRY* fGetError)(void);
     87  void(GLAPIENTRY* fGetProgramiv)(GLuint, GLenum, GLint*);
     88  void(GLAPIENTRY* fGetProgramInfoLog)(GLuint, GLsizei, GLsizei*, GLchar*);
     89  void(GLAPIENTRY* fGetQueryiv)(GLenum, GLenum, GLint*);
     90  void(GLAPIENTRY* fGetQueryObjectiv)(GLuint, GLenum, GLint*);
     91  void(GLAPIENTRY* fGetQueryObjectuiv)(GLuint, GLenum, GLuint*);
     92  void(GLAPIENTRY* fGetQueryObjecti64v)(GLuint, GLenum, GLint64*);
     93  void(GLAPIENTRY* fGetQueryObjectui64v)(GLuint, GLenum, GLuint64*);
     94  void(GLAPIENTRY* fQueryCounter)(GLuint, GLenum);
     95  void(GLAPIENTRY* fTexParameteri)(GLenum, GLenum, GLint);
     96  void(GLAPIENTRY* fTexParameteriv)(GLenum, GLenum, const GLint*);
     97  void(GLAPIENTRY* fTexParameterf)(GLenum, GLenum, GLfloat);
     98  GLubyte*(GLAPIENTRY* fGetString)(GLenum);
     99  void(GLAPIENTRY* fGetTexImage)(GLenum, GLint, GLenum, GLenum, GLvoid*);
    100  void(GLAPIENTRY* fGetTexLevelParameteriv)(GLenum, GLint, GLenum, GLint*);
    101  void(GLAPIENTRY* fGetTexParameterfv)(GLenum, GLenum, GLfloat*);
    102  void(GLAPIENTRY* fGetTexParameteriv)(GLenum, GLenum, GLint*);
    103  void(GLAPIENTRY* fGetUniformfv)(GLuint, GLint, GLfloat*);
    104  void(GLAPIENTRY* fGetUniformiv)(GLuint, GLint, GLint*);
    105  void(GLAPIENTRY* fGetUniformuiv)(GLuint, GLint, GLuint*);
    106  GLint(GLAPIENTRY* fGetUniformLocation)(GLuint, const GLchar*);
    107  void(GLAPIENTRY* fGetVertexAttribfv)(GLuint, GLenum, GLfloat*);
    108  void(GLAPIENTRY* fGetVertexAttribiv)(GLuint, GLenum, GLint*);
    109  void(GLAPIENTRY* fGetVertexAttribPointerv)(GLuint, GLenum, GLvoid**);
    110  void(GLAPIENTRY* fHint)(GLenum, GLenum);
    111  realGLboolean(GLAPIENTRY* fIsBuffer)(GLuint);
    112  realGLboolean(GLAPIENTRY* fIsEnabled)(GLenum);
    113  realGLboolean(GLAPIENTRY* fIsProgram)(GLuint);
    114  realGLboolean(GLAPIENTRY* fIsQuery)(GLuint);
    115  realGLboolean(GLAPIENTRY* fIsShader)(GLuint);
    116  realGLboolean(GLAPIENTRY* fIsTexture)(GLuint);
    117  void(GLAPIENTRY* fLineWidth)(GLfloat);
    118  void(GLAPIENTRY* fLinkProgram)(GLuint);
    119  void(GLAPIENTRY* fPixelStorei)(GLenum, GLint);
    120  void(GLAPIENTRY* fPointParameterf)(GLenum, GLfloat);
    121  void(GLAPIENTRY* fPolygonMode)(GLenum, GLenum);
    122  void(GLAPIENTRY* fPolygonOffset)(GLfloat, GLfloat);
    123  void(GLAPIENTRY* fReadBuffer)(GLenum);
    124  void(GLAPIENTRY* fReadPixels)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum,
    125                                GLvoid*);
    126  void(GLAPIENTRY* fSampleCoverage)(GLclampf, realGLboolean);
    127  void(GLAPIENTRY* fStencilFunc)(GLenum, GLint, GLuint);
    128  void(GLAPIENTRY* fStencilFuncSeparate)(GLenum, GLenum, GLint, GLuint);
    129  void(GLAPIENTRY* fStencilMask)(GLuint);
    130  void(GLAPIENTRY* fStencilMaskSeparate)(GLenum, GLuint);
    131  void(GLAPIENTRY* fStencilOp)(GLenum, GLenum, GLenum);
    132  void(GLAPIENTRY* fStencilOpSeparate)(GLenum, GLenum, GLenum, GLenum);
    133  void(GLAPIENTRY* fTexImage2D)(GLenum, GLint, GLint, GLsizei, GLsizei, GLint,
    134                                GLenum, GLenum, const GLvoid*);
    135  void(GLAPIENTRY* fTexSubImage2D)(GLenum, GLint, GLint, GLint, GLsizei,
    136                                   GLsizei, GLenum, GLenum, const void*);
    137  void(GLAPIENTRY* fTextureRangeAPPLE)(GLenum, GLsizei, GLvoid*);
    138  void(GLAPIENTRY* fFinishObjectAPPLE)(GLenum, GLint);
    139  realGLboolean(GLAPIENTRY* fTestObjectAPPLE)(GLenum, GLint);
    140  void(GLAPIENTRY* fUniform1f)(GLint, GLfloat);
    141  void(GLAPIENTRY* fUniform1fv)(GLint, GLsizei, const GLfloat*);
    142  void(GLAPIENTRY* fUniform1i)(GLint, GLint);
    143  void(GLAPIENTRY* fUniform1iv)(GLint, GLsizei, const GLint*);
    144  void(GLAPIENTRY* fUniform2f)(GLint, GLfloat, GLfloat);
    145  void(GLAPIENTRY* fUniform2fv)(GLint, GLsizei, const GLfloat*);
    146  void(GLAPIENTRY* fUniform2i)(GLint, GLint, GLint);
    147  void(GLAPIENTRY* fUniform2iv)(GLint, GLsizei, const GLint*);
    148  void(GLAPIENTRY* fUniform3f)(GLint, GLfloat, GLfloat, GLfloat);
    149  void(GLAPIENTRY* fUniform3fv)(GLint, GLsizei, const GLfloat*);
    150  void(GLAPIENTRY* fUniform3i)(GLint, GLint, GLint, GLint);
    151  void(GLAPIENTRY* fUniform3iv)(GLint, GLsizei, const GLint*);
    152  void(GLAPIENTRY* fUniform4f)(GLint, GLfloat, GLfloat, GLfloat, GLfloat);
    153  void(GLAPIENTRY* fUniform4fv)(GLint, GLsizei, const GLfloat*);
    154  void(GLAPIENTRY* fUniform4i)(GLint, GLint, GLint, GLint, GLint);
    155  void(GLAPIENTRY* fUniform4iv)(GLint, GLsizei, const GLint*);
    156  void(GLAPIENTRY* fUniformMatrix2fv)(GLint, GLsizei, realGLboolean,
    157                                      const GLfloat*);
    158  void(GLAPIENTRY* fUniformMatrix2x3fv)(GLint, GLsizei, realGLboolean,
    159                                        const GLfloat*);
    160  void(GLAPIENTRY* fUniformMatrix2x4fv)(GLint, GLsizei, realGLboolean,
    161                                        const GLfloat*);
    162  void(GLAPIENTRY* fUniformMatrix3fv)(GLint, GLsizei, realGLboolean,
    163                                      const GLfloat*);
    164  void(GLAPIENTRY* fUniformMatrix3x2fv)(GLint, GLsizei, realGLboolean,
    165                                        const GLfloat*);
    166  void(GLAPIENTRY* fUniformMatrix3x4fv)(GLint, GLsizei, realGLboolean,
    167                                        const GLfloat*);
    168  void(GLAPIENTRY* fUniformMatrix4fv)(GLint, GLsizei, realGLboolean,
    169                                      const GLfloat*);
    170  void(GLAPIENTRY* fUniformMatrix4x2fv)(GLint, GLsizei, realGLboolean,
    171                                        const GLfloat*);
    172  void(GLAPIENTRY* fUniformMatrix4x3fv)(GLint, GLsizei, realGLboolean,
    173                                        const GLfloat*);
    174 
    175  void(GLAPIENTRY* fUseProgram)(GLuint);
    176  void(GLAPIENTRY* fValidateProgram)(GLuint);
    177  void(GLAPIENTRY* fVertexAttribPointer)(GLuint, GLint, GLenum, realGLboolean,
    178                                         GLsizei, const GLvoid*);
    179  void(GLAPIENTRY* fVertexAttrib1f)(GLuint, GLfloat);
    180  void(GLAPIENTRY* fVertexAttrib2f)(GLuint, GLfloat, GLfloat);
    181  void(GLAPIENTRY* fVertexAttrib3f)(GLuint, GLfloat, GLfloat, GLfloat);
    182  void(GLAPIENTRY* fVertexAttrib4f)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
    183  void(GLAPIENTRY* fVertexAttrib1fv)(GLuint, const GLfloat*);
    184  void(GLAPIENTRY* fVertexAttrib2fv)(GLuint, const GLfloat*);
    185  void(GLAPIENTRY* fVertexAttrib3fv)(GLuint, const GLfloat*);
    186  void(GLAPIENTRY* fVertexAttrib4fv)(GLuint, const GLfloat*);
    187  void(GLAPIENTRY* fCompileShader)(GLuint);
    188  void(GLAPIENTRY* fCopyTexImage2D)(GLenum, GLint, GLenum, GLint, GLint,
    189                                    GLsizei, GLsizei, GLint);
    190  void(GLAPIENTRY* fCopyTexSubImage2D)(GLenum, GLint, GLint, GLint, GLint,
    191                                       GLint, GLsizei, GLsizei);
    192  void(GLAPIENTRY* fGetShaderiv)(GLuint, GLenum, GLint*);
    193  void(GLAPIENTRY* fGetShaderInfoLog)(GLuint, GLsizei, GLsizei*, GLchar*);
    194  void(GLAPIENTRY* fGetShaderPrecisionFormat)(GLenum, GLenum, GLint*, GLint*);
    195  void(GLAPIENTRY* fGetShaderSource)(GLint, GLsizei, GLsizei*, GLchar*);
    196  void(GLAPIENTRY* fShaderSource)(GLuint, GLsizei, const GLchar* const*,
    197                                  const GLint*);
    198 
    199  void(GLAPIENTRY* fBindFramebuffer)(GLenum, GLuint);
    200  void(GLAPIENTRY* fBindRenderbuffer)(GLenum, GLuint);
    201  GLenum(GLAPIENTRY* fCheckFramebufferStatus)(GLenum);
    202  void(GLAPIENTRY* fFramebufferRenderbuffer)(GLenum, GLenum, GLenum, GLuint);
    203  void(GLAPIENTRY* fFramebufferTexture2D)(GLenum, GLenum, GLenum, GLuint,
    204                                          GLint);
    205  void(GLAPIENTRY* fFramebufferTextureLayer)(GLenum, GLenum, GLuint, GLint,
    206                                             GLint);
    207  void(GLAPIENTRY* fGetFramebufferAttachmentParameteriv)(GLenum, GLenum, GLenum,
    208                                                         GLint*);
    209  void(GLAPIENTRY* fGetRenderbufferParameteriv)(GLenum, GLenum, GLint*);
    210  realGLboolean(GLAPIENTRY* fIsFramebuffer)(GLuint);
    211  realGLboolean(GLAPIENTRY* fIsRenderbuffer)(GLuint);
    212  realGLboolean(GLAPIENTRY* fIsVertexArray)(GLuint);
    213  void(GLAPIENTRY* fRenderbufferStorage)(GLenum, GLenum, GLsizei, GLsizei);
    214 
    215  void(GLAPIENTRY* fInvalidateFramebuffer)(GLenum, GLsizei, const GLenum*);
    216  void(GLAPIENTRY* fInvalidateSubFramebuffer)(GLenum, GLsizei, const GLenum*,
    217                                              GLint, GLint, GLsizei, GLsizei);
    218 
    219  // These functions are only used by Skia/GL in desktop mode.
    220  // Other parts of Gecko should avoid using these
    221  void(GLAPIENTRY* fClientActiveTexture)(GLenum);
    222  void(GLAPIENTRY* fDisableClientState)(GLenum);
    223  void(GLAPIENTRY* fEnableClientState)(GLenum);
    224  void(GLAPIENTRY* fLoadIdentity)(void);
    225  void(GLAPIENTRY* fLoadMatrixd)(const GLdouble*);
    226  void(GLAPIENTRY* fLoadMatrixf)(const GLfloat*);
    227  void(GLAPIENTRY* fMatrixMode)(GLenum);
    228  void(GLAPIENTRY* fTexGeni)(GLenum, GLenum, GLint);
    229  void(GLAPIENTRY* fTexGenf)(GLenum, GLenum, GLfloat);
    230  void(GLAPIENTRY* fTexGenfv)(GLenum, GLenum, const GLfloat*);
    231  void(GLAPIENTRY* fVertexPointer)(GLint, GLenum, GLsizei, const GLvoid*);
    232 
    233  void(GLAPIENTRY* fBlitFramebuffer)(GLint, GLint, GLint, GLint, GLint, GLint,
    234                                     GLint, GLint, GLbitfield, GLenum);
    235  void(GLAPIENTRY* fRenderbufferStorageMultisample)(GLenum, GLsizei, GLenum,
    236                                                    GLsizei, GLsizei);
    237 
    238  /* These are different between GLES2 and desktop GL; we hide those
    239   * differences, use the GL names, but the most limited data type.
    240   */
    241  void(GLAPIENTRY* fDepthRangef)(GLclampf, GLclampf);
    242  void(GLAPIENTRY* fClearDepthf)(GLclampf);
    243 
    244  void(GLAPIENTRY* fDepthRange)(GLclampd, GLclampd);
    245  void(GLAPIENTRY* fClearDepth)(GLclampd);
    246 
    247  /* These are special because we end up tracking these so that we don't
    248   * have to query the values from GL.
    249   */
    250 
    251  void(GLAPIENTRY* fViewport)(GLint, GLint, GLsizei, GLsizei);
    252  void(GLAPIENTRY* fScissor)(GLint, GLint, GLsizei, GLsizei);
    253 
    254  /* These are special -- they create or delete GL resources that can live
    255   * in a shared namespace.  In DEBUG, we wrap these calls so that we can
    256   * check when we have something that failed to do cleanup at the time the
    257   * final context is destroyed.
    258   */
    259 
    260  GLuint(GLAPIENTRY* fCreateProgram)();
    261  GLuint(GLAPIENTRY* fCreateShader)(GLenum);
    262  void(GLAPIENTRY* fGenBuffers)(GLsizei, GLuint*);
    263  void(GLAPIENTRY* fGenQueries)(GLsizei, GLuint*);
    264  void(GLAPIENTRY* fGenTextures)(GLsizei, GLuint*);
    265  void(GLAPIENTRY* fGenFramebuffers)(GLsizei, GLuint*);
    266  void(GLAPIENTRY* fGenRenderbuffers)(GLsizei, GLuint*);
    267  void(GLAPIENTRY* fGenVertexArrays)(GLsizei, GLuint*);
    268 
    269  void(GLAPIENTRY* fDeleteProgram)(GLuint);
    270  void(GLAPIENTRY* fDeleteShader)(GLuint);
    271  void(GLAPIENTRY* fDeleteBuffers)(GLsizei, const GLuint*);
    272  void(GLAPIENTRY* fDeleteQueries)(GLsizei, const GLuint*);
    273  void(GLAPIENTRY* fDeleteTextures)(GLsizei, const GLuint*);
    274  void(GLAPIENTRY* fDeleteFramebuffers)(GLsizei, const GLuint*);
    275  void(GLAPIENTRY* fDeleteRenderbuffers)(GLsizei, const GLuint*);
    276  void(GLAPIENTRY* fDeleteVertexArrays)(GLsizei, const GLuint*);
    277 
    278  void*(GLAPIENTRY* fMapBuffer)(GLenum, GLenum);
    279  realGLboolean(GLAPIENTRY* fUnmapBuffer)(GLenum);
    280 
    281  // ARB_copy_buffer / OpenGL 3.1 / OpenGL ES 3.0
    282  void(GLAPIENTRY* fCopyBufferSubData)(GLenum, GLenum, GLintptr, GLintptr,
    283                                       GLsizeiptr);
    284 
    285  GLenum(GLAPIENTRY* fGetGraphicsResetStatus)();
    286 
    287  // ARB_sync
    288  GLsync(GLAPIENTRY* fFenceSync)(GLenum, GLbitfield);
    289  realGLboolean(GLAPIENTRY* fIsSync)(GLsync);
    290  void(GLAPIENTRY* fDeleteSync)(GLsync);
    291  GLenum(GLAPIENTRY* fClientWaitSync)(GLsync, GLbitfield, GLuint64);
    292  void(GLAPIENTRY* fWaitSync)(GLsync, GLbitfield, GLuint64);
    293  void(GLAPIENTRY* fGetInteger64v)(GLenum, GLint64*);
    294  void(GLAPIENTRY* fGetSynciv)(GLsync, GLenum, GLsizei, GLsizei*, GLint*);
    295 
    296  // OES_egl_image
    297  void(GLAPIENTRY* fEGLImageTargetTexture2D)(GLenum, GLeglImage);
    298  void(GLAPIENTRY* fEGLImageTargetRenderbufferStorage)(GLenum, GLeglImage);
    299 
    300  // ARB_draw_instanced
    301  void(GLAPIENTRY* fDrawArraysInstanced)(GLenum, GLint, GLsizei, GLsizei);
    302  void(GLAPIENTRY* fDrawElementsInstanced)(GLenum, GLsizei, GLenum,
    303                                           const GLvoid*, GLsizei);
    304 
    305  // ARB_instanced_array
    306  void(GLAPIENTRY* fVertexAttribDivisor)(GLuint, GLuint);
    307 
    308  // ARB_internalformat_query
    309  void(GLAPIENTRY* fGetInternalformativ)(GLenum, GLenum, GLenum, GLsizei,
    310                                         GLint*);
    311 
    312  // ARB_transform_feedback2 / OpenGL 4.0 / OpenGL ES 3.0
    313  void(GLAPIENTRY* fBindBufferBase)(GLenum, GLuint, GLuint);
    314  void(GLAPIENTRY* fBindBufferRange)(GLenum, GLuint, GLuint, GLintptr,
    315                                     GLsizeiptr);
    316 
    317  void(GLAPIENTRY* fGenTransformFeedbacks)(GLsizei, GLuint*);
    318  void(GLAPIENTRY* fDeleteTransformFeedbacks)(GLsizei, const GLuint*);
    319  realGLboolean(GLAPIENTRY* fIsTransformFeedback)(GLuint);
    320  void(GLAPIENTRY* fBindTransformFeedback)(GLenum, GLuint);
    321  void(GLAPIENTRY* fTransformFeedbackVaryings)(GLuint, GLsizei,
    322                                               const GLchar* const*, GLenum);
    323  void(GLAPIENTRY* fGetTransformFeedbackVarying)(GLuint, GLuint, GLsizei,
    324                                                 GLsizei*, GLsizei*, GLenum*,
    325                                                 GLchar*);
    326  void(GLAPIENTRY* fBeginTransformFeedback)(GLenum);
    327  void(GLAPIENTRY* fEndTransformFeedback)(void);
    328  void(GLAPIENTRY* fPauseTransformFeedback)(void);
    329  void(GLAPIENTRY* fResumeTransformFeedback)(void);
    330 
    331  void(GLAPIENTRY* fGetIntegeri_v)(GLenum, GLuint, GLint*);
    332  void(GLAPIENTRY* fGetInteger64i_v)(GLenum, GLuint, GLint64*);
    333 
    334  // EXT_transform_feedback only
    335  void(GLAPIENTRY* fBindBufferOffset)(GLenum, GLuint, GLuint, GLintptr);
    336 
    337  // KHR_debug
    338  void(GLAPIENTRY* fDebugMessageControl)(GLenum, GLenum, GLenum, GLsizei,
    339                                         const GLuint*, realGLboolean);
    340  void(GLAPIENTRY* fDebugMessageInsert)(GLenum, GLenum, GLuint, GLenum, GLsizei,
    341                                        const GLchar*);
    342  void(GLAPIENTRY* fDebugMessageCallback)(GLDEBUGPROC, const GLvoid*);
    343  GLuint(GLAPIENTRY* fGetDebugMessageLog)(GLuint, GLsizei, GLenum*, GLenum*,
    344                                          GLuint*, GLenum*, GLsizei*, GLchar*);
    345  void(GLAPIENTRY* fGetPointerv)(GLenum, GLvoid**);
    346  void(GLAPIENTRY* fPushDebugGroup)(GLenum, GLuint, GLsizei, const GLchar*);
    347  void(GLAPIENTRY* fPopDebugGroup)(void);
    348  void(GLAPIENTRY* fObjectLabel)(GLenum, GLuint, GLsizei, const GLchar*);
    349  void(GLAPIENTRY* fGetObjectLabel)(GLenum, GLuint, GLsizei, GLsizei*, GLchar*);
    350  void(GLAPIENTRY* fObjectPtrLabel)(const GLvoid*, GLsizei, const GLchar*);
    351  void(GLAPIENTRY* fGetObjectPtrLabel)(const GLvoid*, GLsizei, GLsizei*,
    352                                       GLchar*);
    353 
    354  // NV_fence
    355  void(GLAPIENTRY* fGenFences)(GLsizei, GLuint*);
    356  void(GLAPIENTRY* fDeleteFences)(GLsizei, const GLuint*);
    357  void(GLAPIENTRY* fSetFence)(GLuint, GLenum);
    358  realGLboolean(GLAPIENTRY* fTestFence)(GLuint);
    359  void(GLAPIENTRY* fFinishFence)(GLuint);
    360  realGLboolean(GLAPIENTRY* fIsFence)(GLuint);
    361  void(GLAPIENTRY* fGetFenceiv)(GLuint, GLenum, GLint*);
    362 
    363  // map_buffer_range
    364  void*(GLAPIENTRY* fMapBufferRange)(GLenum, GLintptr, GLsizeiptr, GLbitfield);
    365  void(GLAPIENTRY* fFlushMappedBufferRange)(GLenum, GLintptr, GLsizeiptr);
    366 
    367  // sampler_object
    368  void(GLAPIENTRY* fGenSamplers)(GLsizei, GLuint*);
    369  void(GLAPIENTRY* fDeleteSamplers)(GLsizei, const GLuint*);
    370  realGLboolean(GLAPIENTRY* fIsSampler)(GLuint);
    371  void(GLAPIENTRY* fBindSampler)(GLuint, GLuint);
    372  void(GLAPIENTRY* fSamplerParameteri)(GLuint, GLenum, GLint);
    373  void(GLAPIENTRY* fSamplerParameteriv)(GLuint, GLenum, const GLint*);
    374  void(GLAPIENTRY* fSamplerParameterf)(GLuint, GLenum, GLfloat);
    375  void(GLAPIENTRY* fSamplerParameterfv)(GLuint, GLenum, const GLfloat*);
    376  void(GLAPIENTRY* fGetSamplerParameteriv)(GLuint, GLenum, GLint*);
    377  void(GLAPIENTRY* fGetSamplerParameterfv)(GLuint, GLenum, GLfloat*);
    378 
    379  // texture_storage
    380  void(GLAPIENTRY* fTexStorage2D)(GLenum, GLsizei, GLenum, GLsizei, GLsizei);
    381  void(GLAPIENTRY* fTexStorage3D)(GLenum, GLsizei, GLenum, GLsizei, GLsizei,
    382                                  GLsizei);
    383 
    384  // uniform_buffer_object
    385  void(GLAPIENTRY* fGetUniformIndices)(GLuint, GLsizei, const GLchar* const*,
    386                                       GLuint*);
    387  void(GLAPIENTRY* fGetActiveUniformsiv)(GLuint, GLsizei, const GLuint*, GLenum,
    388                                         GLint*);
    389  GLuint(GLAPIENTRY* fGetUniformBlockIndex)(GLuint, const GLchar*);
    390  void(GLAPIENTRY* fGetActiveUniformBlockiv)(GLuint, GLuint, GLenum, GLint*);
    391  void(GLAPIENTRY* fGetActiveUniformBlockName)(GLuint, GLuint, GLsizei,
    392                                               GLsizei*, GLchar*);
    393  void(GLAPIENTRY* fUniformBlockBinding)(GLuint, GLuint, GLuint);
    394 
    395  // EXT_gpu_shader4
    396  void(GLAPIENTRY* fGetVertexAttribIiv)(GLuint, GLenum, GLint*);
    397  void(GLAPIENTRY* fGetVertexAttribIuiv)(GLuint, GLenum, GLuint*);
    398  void(GLAPIENTRY* fVertexAttribI4i)(GLuint, GLint, GLint, GLint, GLint);
    399  void(GLAPIENTRY* fVertexAttribI4iv)(GLuint, const GLint*);
    400  void(GLAPIENTRY* fVertexAttribI4ui)(GLuint, GLuint, GLuint, GLuint, GLuint);
    401  void(GLAPIENTRY* fVertexAttribI4uiv)(GLuint, const GLuint*);
    402  void(GLAPIENTRY* fVertexAttribIPointer)(GLuint, GLint, GLenum, GLsizei,
    403                                          const GLvoid*);
    404  void(GLAPIENTRY* fUniform1ui)(GLint, GLuint);
    405  void(GLAPIENTRY* fUniform2ui)(GLint, GLuint, GLuint);
    406  void(GLAPIENTRY* fUniform3ui)(GLint, GLuint, GLuint, GLuint);
    407  void(GLAPIENTRY* fUniform4ui)(GLint, GLuint, GLuint, GLuint, GLuint);
    408  void(GLAPIENTRY* fUniform1uiv)(GLint, GLsizei, const GLuint*);
    409  void(GLAPIENTRY* fUniform2uiv)(GLint, GLsizei, const GLuint*);
    410  void(GLAPIENTRY* fUniform3uiv)(GLint, GLsizei, const GLuint*);
    411  void(GLAPIENTRY* fUniform4uiv)(GLint, GLsizei, const GLuint*);
    412  GLint(GLAPIENTRY* fGetFragDataLocation)(GLuint, const GLchar*);
    413 
    414  // 3D Textures
    415  void(GLAPIENTRY* fTexImage3D)(GLenum, GLint, GLenum, GLenum, GLsizei, GLsizei,
    416                                GLint, GLenum, GLenum, const GLvoid*);
    417 
    418  void(GLAPIENTRY* fTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLsizei,
    419                                   GLsizei, GLsizei, GLenum, GLenum,
    420                                   const GLvoid*);
    421 
    422  void(GLAPIENTRY* fCopyTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint,
    423                                       GLint, GLint, GLsizei, GLsizei);
    424 
    425  void(GLAPIENTRY* fCompressedTexImage3D)(GLenum, GLint, GLenum, GLsizei,
    426                                          GLsizei, GLsizei, GLint, GLsizei,
    427                                          const GLvoid*);
    428 
    429  void(GLAPIENTRY* fCompressedTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint,
    430                                             GLsizei, GLsizei, GLsizei, GLenum,
    431                                             GLsizei, const GLvoid*);
    432 
    433  // get_string_indexed
    434  const GLubyte*(GLAPIENTRY* fGetStringi)(GLenum, GLuint);
    435 
    436  // APPLE_framebuffer_multisample
    437  void(GLAPIENTRY* fResolveMultisampleFramebufferAPPLE)(void);
    438 
    439  // NV_texture_barrier
    440  void(GLAPIENTRY* fTextureBarrier)(void);
    441 
    442  // NV_primitive_restart
    443  void(GLAPIENTRY* fPrimitiveRestartIndex)(GLuint);
    444 
    445  // OVR_multiview2
    446  void(GLAPIENTRY* fFramebufferTextureMultiview)(GLenum target,
    447                                                 GLenum attachment,
    448                                                 GLuint texture, GLint level,
    449                                                 GLint baseViewIndex,
    450                                                 GLsizei numViews);
    451 
    452  // draw_buffers_indexed
    453  void(GLAPIENTRY* fBlendEquationSeparatei)(GLuint, GLenum, GLenum);
    454  void(GLAPIENTRY* fBlendFuncSeparatei)(GLuint, GLenum, GLenum, GLenum, GLenum);
    455  void(GLAPIENTRY* fColorMaski)(GLuint, realGLboolean, realGLboolean,
    456                                realGLboolean, realGLboolean);
    457  void(GLAPIENTRY* fDisablei)(GLenum, GLuint);
    458  void(GLAPIENTRY* fEnablei)(GLenum, GLuint);
    459 
    460  // provoking_vertex
    461  void(GLAPIENTRY* fProvokingVertex)(GLenum);
    462 
    463  // GL_EXT_semaphore
    464  void(GLAPIENTRY* fDeleteSemaphoresEXT)(GLsizei, const GLuint*);
    465  void(GLAPIENTRY* fGenSemaphoresEXT)(GLsizei, GLuint*);
    466  void(GLAPIENTRY* fGetSemaphoreParameterui64vEXT)(GLuint, GLenum, GLuint64*);
    467  realGLboolean(GLAPIENTRY* fIsSemaphoreEXT)(GLuint);
    468  void(GLAPIENTRY* fSemaphoreParameterui64vEXT)(GLuint, GLenum,
    469                                                const GLuint64*);
    470  void(GLAPIENTRY* fSignalSemaphoreEXT)(GLuint, GLuint, const GLuint*, GLuint,
    471                                        const GLuint*, const GLenum*);
    472  void(GLAPIENTRY* fWaitSemaphoreEXT)(GLuint, GLuint, const GLuint*, GLuint,
    473                                      const GLuint*, const GLenum*);
    474 
    475  // GL_EXT_semaphore_fd
    476  void(GLAPIENTRY* fImportSemaphoreFdEXT)(GLuint, GLenum, GLint);
    477 
    478  // EXT_memory_object
    479  void(GLAPIENTRY* fGetUnsignedBytevEXT)(GLenum, GLubyte*);
    480  void(GLAPIENTRY* fGetUnsignedBytei_vEXT)(GLenum, GLuint, GLubyte*);
    481  void(GLAPIENTRY* fDeleteMemoryObjectsEXT)(GLsizei, const GLuint*);
    482  void(GLAPIENTRY* fIsMemoryObjectEXT)(GLuint);
    483  void(GLAPIENTRY* fCreateMemoryObjectsEXT)(GLsizei, GLuint*);
    484  void(GLAPIENTRY* fMemoryObjectParameterivEXT)(GLuint, GLenum, const GLint*);
    485  void(GLAPIENTRY* fGetMemoryObjectParameterivEXT)(GLuint, GLenum, GLint*);
    486  void(GLAPIENTRY* fTexStorageMem2DEXT)(GLenum, GLsizei, GLenum, GLsizei,
    487                                        GLsizei, GLuint, GLuint64);
    488  void(GLAPIENTRY* fTexStorageMem2DMultisampleEXT)(GLenum, GLsizei, GLenum,
    489                                                   GLsizei, GLsizei,
    490                                                   realGLboolean, GLuint,
    491                                                   GLuint64);
    492  void(GLAPIENTRY* fTexStorageMem3DEXT)(GLenum, GLsizei, GLenum, GLsizei,
    493                                        GLsizei, GLsizei, GLuint, GLuint64);
    494  void(GLAPIENTRY* fTexStorageMem3DMultisampleEXT)(GLenum, GLsizei, GLenum,
    495                                                   GLsizei, GLsizei, GLsizei,
    496                                                   realGLboolean, GLuint,
    497                                                   GLuint64);
    498  void(GLAPIENTRY* fBufferStorageMemEXT)(GLenum, GLsizeiptr, GLuint, GLuint64);
    499  void(GLAPIENTRY* fTextureStorageMem2DEXT)(GLuint, GLsizei, GLenum, GLsizei,
    500                                            GLsizei, GLuint, GLuint64);
    501  void(GLAPIENTRY* fTextureStorageMem2DMultisampleEXT)(GLuint, GLsizei, GLenum,
    502                                                       GLsizei, GLsizei,
    503                                                       realGLboolean, GLuint,
    504                                                       GLuint64);
    505  void(GLAPIENTRY* fTextureStorageMem3DEXT)(GLuint, GLsizei, GLenum, GLsizei,
    506                                            GLsizei, GLsizei, GLuint, GLuint64);
    507  void(GLAPIENTRY* fTextureStorageMem3DMultisampleEXT)(GLuint, GLsizei, GLenum,
    508                                                       GLsizei, GLsizei,
    509                                                       GLsizei, realGLboolean,
    510                                                       GLuint, GLuint64);
    511  void(GLAPIENTRY* fNamedBufferStorageMemEXT)(GLuint, GLsizeiptr, GLuint,
    512                                              GLuint64);
    513 
    514  // EXT_memory_object_fd
    515  void(GLAPIENTRY* fImportMemoryFdEXT)(GLuint, GLuint64, GLenum, GLint);
    516 };
    517 
    518 }  // namespace gl
    519 }  // namespace mozilla
    520 
    521 #endif /* GLCONTEXTSYMBOLS_H_ */