diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /gfx/gl/GLContextSymbols.h | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | uxp-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz |
Add m-esr52 at 52.6.0
Diffstat (limited to 'gfx/gl/GLContextSymbols.h')
-rw-r--r-- | gfx/gl/GLContextSymbols.h | 705 |
1 files changed, 705 insertions, 0 deletions
diff --git a/gfx/gl/GLContextSymbols.h b/gfx/gl/GLContextSymbols.h new file mode 100644 index 0000000000..61069e3f73 --- /dev/null +++ b/gfx/gl/GLContextSymbols.h @@ -0,0 +1,705 @@ +/* -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40; -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#ifndef GLCONTEXTSYMBOLS_H_ +#define GLCONTEXTSYMBOLS_H_ + +#include "GLDefs.h" + +/* + * This file should only be included by GLContext.h, and should be + * autogenerated in the future. + */ + +#ifndef GLAPIENTRY +#ifdef XP_WIN +#define GLAPIENTRY __stdcall +#else +#define GLAPIENTRY +#endif +#define GLAPI +#endif + +namespace mozilla { +namespace gl { + +struct GLContextSymbols +{ + GLContextSymbols() { + Zero(); + } + + void Zero() { + memset(this, 0, sizeof(GLContextSymbols)); + } + + typedef void (GLAPIENTRY * PFNGLACTIVETEXTUREPROC) (GLenum texture); + PFNGLACTIVETEXTUREPROC fActiveTexture; + typedef void (GLAPIENTRY * PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader); + PFNGLATTACHSHADERPROC fAttachShader; + typedef void (GLAPIENTRY * PFNGLBEGINQUERYPROC) (GLenum target, GLuint id); + PFNGLBEGINQUERYPROC fBeginQuery; + typedef void (GLAPIENTRY * PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar* name); + PFNGLBINDATTRIBLOCATIONPROC fBindAttribLocation; + typedef void (GLAPIENTRY * PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer); + PFNGLBINDBUFFERPROC fBindBuffer; + typedef void (GLAPIENTRY * PFNGLBINDTEXTUREPROC) (GLenum target, GLuint texture); + PFNGLBINDTEXTUREPROC fBindTexture; + typedef void (GLAPIENTRY * PFNGLBINDVERTEXARRAYPROC) (GLuint array); + PFNGLBINDVERTEXARRAYPROC fBindVertexArray; + typedef void (GLAPIENTRY * PFNGLBLENDCOLORPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); + PFNGLBLENDCOLORPROC fBlendColor; + typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONPROC) (GLenum mode); + PFNGLBLENDEQUATIONPROC fBlendEquation; + typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum, GLenum); + PFNGLBLENDEQUATIONSEPARATEPROC fBlendEquationSeparate; + typedef void (GLAPIENTRY * PFNGLBLENDFUNCPROC) (GLenum, GLenum); + PFNGLBLENDFUNCPROC fBlendFunc; + typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); + PFNGLBLENDFUNCSEPARATEPROC fBlendFuncSeparate; + typedef void (GLAPIENTRY * PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage); + PFNGLBUFFERDATAPROC fBufferData; + typedef void (GLAPIENTRY * PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data); + PFNGLBUFFERSUBDATAPROC fBufferSubData; + typedef void (GLAPIENTRY * PFNGLCLEARPROC) (GLbitfield); + PFNGLCLEARPROC fClear; + typedef void (GLAPIENTRY * PFNGLCLEARBUFFERFIPROC) (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); + PFNGLCLEARBUFFERFIPROC fClearBufferfi; + typedef void (GLAPIENTRY * PFNGLCLEARBUFFERFVPROC) (GLenum buffer, GLint drawbuffer, const GLfloat* value); + PFNGLCLEARBUFFERFVPROC fClearBufferfv; + typedef void (GLAPIENTRY * PFNGLCLEARBUFFERIVPROC) (GLenum buffer, GLint drawbuffer, const GLint* value); + PFNGLCLEARBUFFERIVPROC fClearBufferiv; + typedef void (GLAPIENTRY * PFNGLCLEARBUFFERUIVPROC) (GLenum buffer, GLint drawbuffer, const GLuint* value); + PFNGLCLEARBUFFERUIVPROC fClearBufferuiv; + typedef void (GLAPIENTRY * PFNGLCLEARCOLORPROC) (GLfloat, GLfloat, GLfloat, GLfloat); + PFNGLCLEARCOLORPROC fClearColor; + typedef void (GLAPIENTRY * PFNGLCLEARSTENCILPROC) (GLint); + PFNGLCLEARSTENCILPROC fClearStencil; + typedef void (GLAPIENTRY * PFNGLCOLORMASKPROC) (realGLboolean red, realGLboolean green, realGLboolean blue, realGLboolean alpha); + PFNGLCOLORMASKPROC fColorMask; + typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE2D) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* pixels); + PFNGLCOMPRESSEDTEXIMAGE2D fCompressedTexImage2D; + typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE2D) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* pixels); + PFNGLCOMPRESSEDTEXSUBIMAGE2D fCompressedTexSubImage2D; + typedef void (GLAPIENTRY * PFNGLCULLFACEPROC) (GLenum mode); + PFNGLCULLFACEPROC fCullFace; + typedef void (GLAPIENTRY * PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader); + PFNGLDETACHSHADERPROC fDetachShader; + typedef void (GLAPIENTRY * PFNGLDEPTHFUNCPROC) (GLenum); + PFNGLDEPTHFUNCPROC fDepthFunc; + typedef void (GLAPIENTRY * PFNGLDEPTHMASKPROC) (realGLboolean); + PFNGLDEPTHMASKPROC fDepthMask; + typedef void (GLAPIENTRY * PFNGLDISABLEPROC) (GLenum); + PFNGLDISABLEPROC fDisable; + typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint); + PFNGLDISABLEVERTEXATTRIBARRAYPROC fDisableVertexAttribArray; + typedef void (GLAPIENTRY * PFNGLDRAWARRAYSPROC) (GLenum mode, GLint first, GLsizei count); + PFNGLDRAWARRAYSPROC fDrawArrays; + typedef void (GLAPIENTRY * PFNGLDRAWBUFFERPROC) (GLenum mode); + PFNGLDRAWBUFFERPROC fDrawBuffer; + typedef void (GLAPIENTRY * PFNGLDRAWBUFFERSPROC) (GLsizei n, const GLenum* bufs); + PFNGLDRAWBUFFERSPROC fDrawBuffers; + typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices); + PFNGLDRAWELEMENTSPROC fDrawElements; + typedef void (GLAPIENTRY * PFNGLENABLEPROC) (GLenum); + PFNGLENABLEPROC fEnable; + typedef void (GLAPIENTRY * PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint); + PFNGLENABLEVERTEXATTRIBARRAYPROC fEnableVertexAttribArray; + typedef void (GLAPIENTRY * PFNGLFINISHPROC) (void); + PFNGLFINISHPROC fFinish; + typedef void (GLAPIENTRY * PFNGLENDQUERYPROC) (GLenum target); + PFNGLENDQUERYPROC fEndQuery; + typedef void (GLAPIENTRY * PFNGLFLUSHPROC) (void); + PFNGLFLUSHPROC fFlush; + typedef void (GLAPIENTRY * PFNGLFRONTFACEPROC) (GLenum); + PFNGLFRONTFACEPROC fFrontFace; + typedef void (GLAPIENTRY * PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLenum* type, GLchar* name); + PFNGLGETACTIVEATTRIBPROC fGetActiveAttrib; + typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLenum* type, GLchar* name); + PFNGLGETACTIVEUNIFORMPROC fGetActiveUniform; + typedef void (GLAPIENTRY * PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei* count, GLuint* shaders); + PFNGLGETATTACHEDSHADERSPROC fGetAttachedShaders; + typedef GLint (GLAPIENTRY * PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar* name); + PFNGLGETATTRIBLOCATIONPROC fGetAttribLocation; + typedef void (GLAPIENTRY * PFNGLGETINTEGERVPROC) (GLenum pname, GLint* params); + PFNGLGETINTEGERVPROC fGetIntegerv; + typedef void (GLAPIENTRY * PFNGLGETFLOATVPROC) (GLenum pname, GLfloat* params); + PFNGLGETFLOATVPROC fGetFloatv; + typedef void (GLAPIENTRY * PFNGLGETBOOLEANBPROC) (GLenum pname, realGLboolean* params); + PFNGLGETBOOLEANBPROC fGetBooleanv; + typedef void (GLAPIENTRY * PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint* params); + PFNGLGETBUFFERPARAMETERIVPROC fGetBufferParameteriv; + typedef void (GLAPIENTRY * PFNGLGENERATEMIPMAPPROC) (GLenum target); + PFNGLGENERATEMIPMAPPROC fGenerateMipmap; + typedef GLenum (GLAPIENTRY * PFNGLGETERRORPROC) (void); + PFNGLGETERRORPROC fGetError; + typedef void (GLAPIENTRY * PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint* param); + PFNGLGETPROGRAMIVPROC fGetProgramiv; + typedef void (GLAPIENTRY * PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei* length, GLchar* infoLog); + PFNGLGETPROGRAMINFOLOGPROC fGetProgramInfoLog; + typedef void (GLAPIENTRY * PFNGLGETQUERYIVPROC) (GLenum target, GLenum pname, GLint* params); + PFNGLGETQUERYIVPROC fGetQueryiv; + typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTIVPROC) (GLuint id, GLenum pname, GLint* params); + PFNGLGETQUERYOBJECTIVPROC fGetQueryObjectiv; + typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint* params); + PFNGLGETQUERYOBJECTUIVPROC fGetQueryObjectuiv; + typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTI64VPROC) (GLuint id, GLenum pname, GLint64* params); + PFNGLGETQUERYOBJECTI64VPROC fGetQueryObjecti64v; + typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUI64VPROC) (GLuint id, GLenum pname, GLuint64* params); + PFNGLGETQUERYOBJECTUI64VPROC fGetQueryObjectui64v; + typedef void (GLAPIENTRY * PFNGLQUERYCOUNTERPROC) (GLuint id, GLenum target); + PFNGLQUERYCOUNTERPROC fQueryCounter; + typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIPROC) (GLenum target, GLenum pname, GLint param); + PFNGLTEXPARAMETERIPROC fTexParameteri; + typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint* param); + PFNGLTEXPARAMETERIVPROC fTexParameteriv; + typedef void (GLAPIENTRY * PFNGLTEXPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat param); + PFNGLTEXPARAMETERFPROC fTexParameterf; + typedef GLubyte* (GLAPIENTRY * PFNGLGETSTRINGPROC) (GLenum); + PFNGLGETSTRINGPROC fGetString; + typedef void (GLAPIENTRY * PFNGLGETTEXIMAGEPROC) (GLenum target, GLint level, GLenum format, GLenum type, GLvoid* image); + PFNGLGETTEXIMAGEPROC fGetTexImage; + typedef void (GLAPIENTRY * PFNGLGETTEXLEVELPARAMETERIVPROC) (GLenum target, GLint level, GLenum pname, GLint* params); + PFNGLGETTEXLEVELPARAMETERIVPROC fGetTexLevelParameteriv; + typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat* params); + PFNGLGETTEXPARAMETERFVPROC fGetTexParameterfv; + typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint* params); + PFNGLGETTEXPARAMETERIVPROC fGetTexParameteriv; + typedef void (GLAPIENTRY * PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat* params); + PFNGLGETUNIFORMFVPROC fGetUniformfv; + typedef void (GLAPIENTRY * PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint* params); + PFNGLGETUNIFORMIVPROC fGetUniformiv; + typedef void (GLAPIENTRY * PFNGLGETUNIFORMUIVPROC) (GLuint program, GLint location, GLuint* params); + PFNGLGETUNIFORMUIVPROC fGetUniformuiv; + typedef GLint (GLAPIENTRY * PFNGLGETUNIFORMLOCATIONPROC) (GLint programObj, const GLchar* name); + PFNGLGETUNIFORMLOCATIONPROC fGetUniformLocation; + typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBFVPROC) (GLuint, GLenum, GLfloat*); + PFNGLGETVERTEXATTRIBFVPROC fGetVertexAttribfv; + typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIVPROC) (GLuint, GLenum, GLint*); + PFNGLGETVERTEXATTRIBIVPROC fGetVertexAttribiv; + typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint, GLenum, GLvoid**); + PFNGLGETVERTEXATTRIBPOINTERVPROC fGetVertexAttribPointerv; + typedef void (GLAPIENTRY * PFNGLHINTPROC) (GLenum target, GLenum mode); + PFNGLHINTPROC fHint; + typedef realGLboolean (GLAPIENTRY * PFNGLISBUFFERPROC) (GLuint buffer); + PFNGLISBUFFERPROC fIsBuffer; + typedef realGLboolean (GLAPIENTRY * PFNGLISENABLEDPROC) (GLenum cap); + PFNGLISENABLEDPROC fIsEnabled; + typedef realGLboolean (GLAPIENTRY * PFNGLISPROGRAMPROC) (GLuint program); + PFNGLISPROGRAMPROC fIsProgram; + typedef realGLboolean (GLAPIENTRY * PFNGLISQUERYPROC) (GLuint id); + PFNGLISQUERYPROC fIsQuery; + typedef realGLboolean (GLAPIENTRY * PFNGLISSHADERPROC) (GLuint shader); + PFNGLISSHADERPROC fIsShader; + typedef realGLboolean (GLAPIENTRY * PFNGLISTEXTUREPROC) (GLuint texture); + PFNGLISTEXTUREPROC fIsTexture; + typedef void (GLAPIENTRY * PFNGLLINEWIDTHPROC) (GLfloat width); + PFNGLLINEWIDTHPROC fLineWidth; + typedef void (GLAPIENTRY * PFNGLLINKPROGRAMPROC) (GLuint program); + PFNGLLINKPROGRAMPROC fLinkProgram; + typedef void (GLAPIENTRY * PFNGLPIXELSTOREIPROC) (GLenum pname, GLint param); + PFNGLPIXELSTOREIPROC fPixelStorei; + typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param); + PFNGLPOINTPARAMETERFPROC fPointParameterf; + typedef void (GLAPIENTRY * PFNGLPOLYGONOFFSETPROC) (GLfloat factor, GLfloat bias); + PFNGLPOLYGONOFFSETPROC fPolygonOffset; + typedef void (GLAPIENTRY * PFNGLREADBUFFERPROC) (GLenum); + PFNGLREADBUFFERPROC fReadBuffer; + typedef void (GLAPIENTRY * PFNGLREADPIXELSPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels); + PFNGLREADPIXELSPROC fReadPixels; + typedef void (GLAPIENTRY * PFNGLSAMPLECOVERAGEPROC) (GLclampf value, realGLboolean invert); + PFNGLSAMPLECOVERAGEPROC fSampleCoverage; + typedef void (GLAPIENTRY * PFNGLSTENCILFUNCPROC) (GLenum func, GLint ref, GLuint mask); + PFNGLSTENCILFUNCPROC fStencilFunc; + typedef void (GLAPIENTRY * PFNGLSTENCILFUNCSEPARATEPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); + PFNGLSTENCILFUNCSEPARATEPROC fStencilFuncSeparate; + typedef void (GLAPIENTRY * PFNGLSTENCILMASKPROC) (GLuint mask); + PFNGLSTENCILMASKPROC fStencilMask; + typedef void (GLAPIENTRY * PFNGLSTENCILMASKSEPARATEPROC) (GLenum, GLuint); + PFNGLSTENCILMASKSEPARATEPROC fStencilMaskSeparate; + typedef void (GLAPIENTRY * PFNGLSTENCILOPPROC) (GLenum fail, GLenum zfail, GLenum zpass); + PFNGLSTENCILOPPROC fStencilOp; + typedef void (GLAPIENTRY * PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); + PFNGLSTENCILOPSEPARATEPROC fStencilOpSeparate; + typedef void (GLAPIENTRY * PFNGLTEXIMAGE2DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels); + PFNGLTEXIMAGE2DPROC fTexImage2D; + typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels); + PFNGLTEXSUBIMAGE2DPROC fTexSubImage2D; + typedef void (GLAPIENTRY * PFNGLTEXTURERANGEAPPLEPROC) (GLenum target, GLsizei length, GLvoid* pointer); + PFNGLTEXTURERANGEAPPLEPROC fTextureRangeAPPLE; + typedef void (GLAPIENTRY * PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0); + PFNGLUNIFORM1FPROC fUniform1f; + typedef void (GLAPIENTRY * PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat* value); + PFNGLUNIFORM1FVPROC fUniform1fv; + typedef void (GLAPIENTRY * PFNGLUNIFORM1IPROC) (GLint location, GLint v0); + PFNGLUNIFORM1IPROC fUniform1i; + typedef void (GLAPIENTRY * PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint* value); + PFNGLUNIFORM1IVPROC fUniform1iv; + typedef void (GLAPIENTRY * PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1); + PFNGLUNIFORM2FPROC fUniform2f; + typedef void (GLAPIENTRY * PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat* value); + PFNGLUNIFORM2FVPROC fUniform2fv; + typedef void (GLAPIENTRY * PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1); + PFNGLUNIFORM2IPROC fUniform2i; + typedef void (GLAPIENTRY * PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint* value); + PFNGLUNIFORM2IVPROC fUniform2iv; + typedef void (GLAPIENTRY * PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2); + PFNGLUNIFORM3FPROC fUniform3f; + typedef void (GLAPIENTRY * PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat* value); + PFNGLUNIFORM3FVPROC fUniform3fv; + typedef void (GLAPIENTRY * PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2); + PFNGLUNIFORM3IPROC fUniform3i; + typedef void (GLAPIENTRY * PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint* value); + PFNGLUNIFORM3IVPROC fUniform3iv; + typedef void (GLAPIENTRY * PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); + PFNGLUNIFORM4FPROC fUniform4f; + typedef void (GLAPIENTRY * PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat* value); + PFNGLUNIFORM4FVPROC fUniform4fv; + typedef void (GLAPIENTRY * PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3); + PFNGLUNIFORM4IPROC fUniform4i; + typedef void (GLAPIENTRY * PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint* value); + PFNGLUNIFORM4IVPROC fUniform4iv; + typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, realGLboolean transpose, const GLfloat* value); + PFNGLUNIFORMMATRIX2FVPROC fUniformMatrix2fv; + typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2X3FVPROC) (GLint location, GLsizei count, realGLboolean transpose, const GLfloat* value); + PFNGLUNIFORMMATRIX2X3FVPROC fUniformMatrix2x3fv; + typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2X4FVPROC) (GLint location, GLsizei count, realGLboolean transpose, const GLfloat* value); + PFNGLUNIFORMMATRIX2X4FVPROC fUniformMatrix2x4fv; + typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, realGLboolean transpose, const GLfloat* value); + PFNGLUNIFORMMATRIX3FVPROC fUniformMatrix3fv; + typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3X2FVPROC) (GLint location, GLsizei count, realGLboolean transpose, const GLfloat* value); + PFNGLUNIFORMMATRIX3X2FVPROC fUniformMatrix3x2fv; + typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3X4FVPROC) (GLint location, GLsizei count, realGLboolean transpose, const GLfloat* value); + PFNGLUNIFORMMATRIX3X4FVPROC fUniformMatrix3x4fv; + typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, realGLboolean transpose, const GLfloat* value); + PFNGLUNIFORMMATRIX4FVPROC fUniformMatrix4fv; + typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4X2FVPROC) (GLint location, GLsizei count, realGLboolean transpose, const GLfloat* value); + PFNGLUNIFORMMATRIX4X2FVPROC fUniformMatrix4x2fv; + typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4X3FVPROC) (GLint location, GLsizei count, realGLboolean transpose, const GLfloat* value); + PFNGLUNIFORMMATRIX4X3FVPROC fUniformMatrix4x3fv; + + typedef void (GLAPIENTRY * PFNGLUSEPROGRAMPROC) (GLuint program); + PFNGLUSEPROGRAMPROC fUseProgram; + typedef void (GLAPIENTRY * PFNGLVALIDATEPROGRAMPROC) (GLuint program); + PFNGLVALIDATEPROGRAMPROC fValidateProgram; + typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, realGLboolean normalized, GLsizei stride, const GLvoid* pointer); + PFNGLVERTEXATTRIBPOINTERPROC fVertexAttribPointer; + typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x); + PFNGLVERTEXATTRIB1FPROC fVertexAttrib1f; + typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y); + PFNGLVERTEXATTRIB2FPROC fVertexAttrib2f; + typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z); + PFNGLVERTEXATTRIB3FPROC fVertexAttrib3f; + typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); + PFNGLVERTEXATTRIB4FPROC fVertexAttrib4f; + typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat* v); + PFNGLVERTEXATTRIB1FVPROC fVertexAttrib1fv; + typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat* v); + PFNGLVERTEXATTRIB2FVPROC fVertexAttrib2fv; + typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat* v); + PFNGLVERTEXATTRIB3FVPROC fVertexAttrib3fv; + typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat* v); + PFNGLVERTEXATTRIB4FVPROC fVertexAttrib4fv; + typedef void (GLAPIENTRY * PFNGLCOMPILESHADERPROC) (GLuint shader); + PFNGLCOMPILESHADERPROC fCompileShader; + typedef void (GLAPIENTRY * PFNGLCOPYTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); + PFNGLCOPYTEXIMAGE2DPROC fCopyTexImage2D; + typedef void (GLAPIENTRY * PFNGLCOPYTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); + PFNGLCOPYTEXSUBIMAGE2DPROC fCopyTexSubImage2D; + typedef void (GLAPIENTRY * PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint* param); + PFNGLGETSHADERIVPROC fGetShaderiv; + typedef void (GLAPIENTRY * PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* infoLog); + PFNGLGETSHADERINFOLOGPROC fGetShaderInfoLog; + typedef void (GLAPIENTRY * PFNGETSHADERPRECISIONFORMAT) (GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision); + PFNGETSHADERPRECISIONFORMAT fGetShaderPrecisionFormat; + typedef void (GLAPIENTRY * PFNGLGETSHADERSOURCEPROC) (GLint obj, GLsizei maxLength, GLsizei* length, GLchar* source); + PFNGLGETSHADERSOURCEPROC fGetShaderSource; + typedef void (GLAPIENTRY * PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar* const* strings, const GLint* lengths); + PFNGLSHADERSOURCEPROC fShaderSource; + + typedef void (GLAPIENTRY * PFNGLBINDFRAMEBUFFER) (GLenum target, GLuint framebuffer); + PFNGLBINDFRAMEBUFFER fBindFramebuffer; + typedef void (GLAPIENTRY * PFNGLBINDRENDERBUFFER) (GLenum target, GLuint renderbuffer); + PFNGLBINDRENDERBUFFER fBindRenderbuffer; + typedef GLenum (GLAPIENTRY * PFNGLCHECKFRAMEBUFFERSTATUS) (GLenum target); + PFNGLCHECKFRAMEBUFFERSTATUS fCheckFramebufferStatus; + typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERRENDERBUFFER) (GLenum target, GLenum attachmentPoint, GLenum renderbufferTarget, GLuint renderbuffer); + PFNGLFRAMEBUFFERRENDERBUFFER fFramebufferRenderbuffer; + typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE2D) (GLenum target, GLenum attachmentPoint, GLenum textureTarget, GLuint texture, GLint level); + PFNGLFRAMEBUFFERTEXTURE2D fFramebufferTexture2D; + typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURELAYERPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); + PFNGLFRAMEBUFFERTEXTURELAYERPROC fFramebufferTextureLayer; + typedef void (GLAPIENTRY * PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIV) (GLenum target, GLenum attachment, GLenum pname, GLint* value); + PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIV fGetFramebufferAttachmentParameteriv; + typedef void (GLAPIENTRY * PFNGLGETRENDERBUFFERPARAMETERIV) (GLenum target, GLenum pname, GLint* value); + PFNGLGETRENDERBUFFERPARAMETERIV fGetRenderbufferParameteriv; + typedef realGLboolean (GLAPIENTRY * PFNGLISFRAMEBUFFER) (GLuint framebuffer); + PFNGLISFRAMEBUFFER fIsFramebuffer; + typedef realGLboolean (GLAPIENTRY * PFNGLISRENDERBUFFER) (GLuint renderbuffer); + PFNGLISRENDERBUFFER fIsRenderbuffer; + typedef realGLboolean (GLAPIENTRY * PFNGLISVERTEXARRAY) (GLuint array); + PFNGLISVERTEXARRAY fIsVertexArray; + typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGE) (GLenum target, GLenum internalFormat, GLsizei width, GLsizei height); + PFNGLRENDERBUFFERSTORAGE fRenderbufferStorage; + + typedef void (GLAPIENTRY * PFNINVALIDATEFRAMEBUFFER) (GLenum target, GLsizei numAttachments, const GLenum* attachments); + PFNINVALIDATEFRAMEBUFFER fInvalidateFramebuffer; + typedef void (GLAPIENTRY * PFNINVALIDATESUBFRAMEBUFFER) (GLenum target, GLsizei numAttachments, const GLenum* attachments, GLint x, GLint y, GLsizei width, GLsizei height); + PFNINVALIDATESUBFRAMEBUFFER fInvalidateSubFramebuffer; + + // These functions are only used by Skia/GL in desktop mode. + // Other parts of Gecko should avoid using these + typedef void (GLAPIENTRY * PFNGLCLIENTACTIVETEXTURE) (GLenum texture); + PFNGLCLIENTACTIVETEXTURE fClientActiveTexture; + typedef void (GLAPIENTRY * PFNDISABLECLIENTSTATE) (GLenum capability); + PFNDISABLECLIENTSTATE fDisableClientState; + typedef void (GLAPIENTRY * PFNENABLECLIENTSTATE) (GLenum capability); + PFNENABLECLIENTSTATE fEnableClientState; + typedef void (GLAPIENTRY * PFNLOADIDENTITY) (void); + PFNLOADIDENTITY fLoadIdentity; + typedef void (GLAPIENTRY * PFNLOADMATRIXD) (const GLdouble* matrix); + PFNLOADMATRIXD fLoadMatrixd; + typedef void (GLAPIENTRY * PFNLOADMATRIXF) (const GLfloat* matrix); + PFNLOADMATRIXF fLoadMatrixf; + typedef void (GLAPIENTRY * PFNMATRIXMODE) (GLenum mode); + PFNMATRIXMODE fMatrixMode; + typedef void (GLAPIENTRY * PFNTEXGENI) (GLenum coord, GLenum pname, GLint param); + PFNTEXGENI fTexGeni; + typedef void (GLAPIENTRY * PFNTEXGENF) (GLenum coord, GLenum pname, GLfloat param); + PFNTEXGENF fTexGenf; + typedef void (GLAPIENTRY * PFNTEXGENFV) (GLenum coord, GLenum pname, const GLfloat* param); + PFNTEXGENFV fTexGenfv; + typedef void (GLAPIENTRY * PFNVERTEXPOINTER) (GLint size, GLenum type, GLsizei stride, const GLvoid* pointer); + PFNVERTEXPOINTER fVertexPointer; + + typedef void (GLAPIENTRY * PFNGLBLITFRAMEBUFFER) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); + PFNGLBLITFRAMEBUFFER fBlitFramebuffer; + typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEMULTISAMPLE) (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height); + PFNGLRENDERBUFFERSTORAGEMULTISAMPLE fRenderbufferStorageMultisample; + + + /* These are different between GLES2 and desktop GL; we hide those differences, use the GL + * names, but the most limited data type. + */ + typedef void (GLAPIENTRY * PFNGLDEPTHRANGEFPROC) (GLclampf, GLclampf); + PFNGLDEPTHRANGEFPROC fDepthRangef; + typedef void (GLAPIENTRY * PFNGLCLEARDEPTHFPROC) (GLclampf); + PFNGLCLEARDEPTHFPROC fClearDepthf; + + typedef void (GLAPIENTRY * PFNGLDEPTHRANGEPROC) (GLclampd, GLclampd); + PFNGLDEPTHRANGEPROC fDepthRange; + typedef void (GLAPIENTRY * PFNGLCLEARDEPTHPROC) (GLclampd); + PFNGLCLEARDEPTHPROC fClearDepth; + + /* These are special because we end up tracking these so that we don't + * have to query the values from GL. + */ + + typedef void (GLAPIENTRY * PFNGLVIEWPORTPROC) (GLint x, GLint y, GLsizei width, GLsizei height); + PFNGLVIEWPORTPROC fViewport; + typedef void (GLAPIENTRY * PFNGLSCISSORPROC) (GLint x, GLint y, GLsizei width, GLsizei height); + PFNGLSCISSORPROC fScissor; + + + /* These are special -- they create or delete GL resources that can live + * in a shared namespace. In DEBUG, we wrap these calls so that we can + * check when we have something that failed to do cleanup at the time the + * final context is destroyed. + */ + + typedef GLuint (GLAPIENTRY * PFNGLCREATEPROGRAMPROC) (void); + PFNGLCREATEPROGRAMPROC fCreateProgram; + typedef GLuint (GLAPIENTRY * PFNGLCREATESHADERPROC) (GLenum type); + PFNGLCREATESHADERPROC fCreateShader; + typedef void (GLAPIENTRY * PFNGLGENBUFFERSPROC) (GLsizei n, GLuint* buffers); + PFNGLGENBUFFERSPROC fGenBuffers; + typedef void (GLAPIENTRY * PFNGLGENQUERIESPROC) (GLsizei n, GLuint* queries); + PFNGLGENQUERIESPROC fGenQueries; + typedef void (GLAPIENTRY * PFNGLGENTEXTURESPROC) (GLsizei n, GLuint* textures); + PFNGLGENTEXTURESPROC fGenTextures; + typedef void (GLAPIENTRY * PFNGLGENFRAMEBUFFERS) (GLsizei n, GLuint* ids); + PFNGLGENFRAMEBUFFERS fGenFramebuffers; + typedef void (GLAPIENTRY * PFNGLGENRENDERBUFFERS) (GLsizei n, GLuint* ids); + PFNGLGENRENDERBUFFERS fGenRenderbuffers; + typedef void (GLAPIENTRY * PFNGLGENVERTEXARRAYS) (GLsizei n, GLuint* arrays); + PFNGLGENVERTEXARRAYS fGenVertexArrays; + + typedef void (GLAPIENTRY * PFNGLDELETEPROGRAMPROC) (GLuint program); + PFNGLDELETEPROGRAMPROC fDeleteProgram; + typedef void (GLAPIENTRY * PFNGLDELETESHADERPROC) (GLuint shader); + PFNGLDELETESHADERPROC fDeleteShader; + typedef void (GLAPIENTRY * PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint* buffers); + PFNGLDELETEBUFFERSPROC fDeleteBuffers; + typedef void (GLAPIENTRY * PFNGLDELETEQUERIESPROC) (GLsizei n, const GLuint* queries); + PFNGLDELETEQUERIESPROC fDeleteQueries; + typedef void (GLAPIENTRY * PFNGLDELETETEXTURESPROC) (GLsizei n, const GLuint* textures); + PFNGLDELETETEXTURESPROC fDeleteTextures; + typedef void (GLAPIENTRY * PFNGLDELETEFRAMEBUFFERS) (GLsizei n, const GLuint* ids); + PFNGLDELETEFRAMEBUFFERS fDeleteFramebuffers; + typedef void (GLAPIENTRY * PFNGLDELETERENDERBUFFERS) (GLsizei n, const GLuint* ids); + PFNGLDELETERENDERBUFFERS fDeleteRenderbuffers; + typedef void (GLAPIENTRY * PFNGLDELETEVERTEXARRAYS) (GLsizei n, const GLuint* arrays); + PFNGLDELETEVERTEXARRAYS fDeleteVertexArrays; + + typedef void* (GLAPIENTRY * PFNGLMAPBUFFER) (GLenum target, GLenum access); + PFNGLMAPBUFFER fMapBuffer; + typedef realGLboolean (GLAPIENTRY * PFNGLUNMAPBUFFER) (GLenum target); + PFNGLUNMAPBUFFER fUnmapBuffer; + + // ARB_copy_buffer / OpenGL 3.1 / OpenGL ES 3.0 + typedef void (GLAPIENTRY * PFNGLCOPYBUFFERSUBDATAPROC) (GLenum readTarget, GLenum writeTarget, + GLintptr readOffset, GLintptr writeOffset, + GLsizeiptr size); + PFNGLCOPYBUFFERSUBDATAPROC fCopyBufferSubData; + + typedef GLenum (GLAPIENTRY * PFNGLGETGRAPHICSRESETSTATUS) (void); + PFNGLGETGRAPHICSRESETSTATUS fGetGraphicsResetStatus; + + // ARB_sync + typedef GLsync (GLAPIENTRY * PFNGLFENCESYNC) (GLenum condition, GLbitfield flags); + PFNGLFENCESYNC fFenceSync; + typedef realGLboolean (GLAPIENTRY * PFNGLISSYNC) (GLsync sync); + PFNGLISSYNC fIsSync; + typedef void (GLAPIENTRY * PFNGLDELETESYNC) (GLsync sync); + PFNGLDELETESYNC fDeleteSync; + typedef GLenum (GLAPIENTRY * PFNGLCLIENTWAITSYNC) (GLsync sync, GLbitfield flags, GLuint64 timeout); + PFNGLCLIENTWAITSYNC fClientWaitSync; + typedef void (GLAPIENTRY * PFNGLWAITSYNC) (GLsync sync, GLbitfield flags, GLuint64 timeout); + PFNGLWAITSYNC fWaitSync; + typedef void (GLAPIENTRY * PFNGLGETINTEGER64V) (GLenum pname, GLint64* params); + PFNGLGETINTEGER64V fGetInteger64v; + typedef void (GLAPIENTRY * PFNGLGETSYNCIV) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values); + PFNGLGETSYNCIV fGetSynciv; + + // OES_egl_image + typedef void (GLAPIENTRY * PFNGLEGLIMAGETARGETTEXTURE2D)(GLenum target, GLeglImage image); + PFNGLEGLIMAGETARGETTEXTURE2D fEGLImageTargetTexture2D; + typedef void (GLAPIENTRY * PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGE)(GLenum target, GLeglImage image); + PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGE fEGLImageTargetRenderbufferStorage; + + // ARB_draw_instanced + typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCED) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); + PFNGLDRAWARRAYSINSTANCED fDrawArraysInstanced; + typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCED) (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices, GLsizei primcount); + PFNGLDRAWELEMENTSINSTANCED fDrawElementsInstanced; + + // ARB_instanced_array + typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBDIVISOR) (GLuint index, GLuint divisor); + PFNGLVERTEXATTRIBDIVISOR fVertexAttribDivisor; + + // ARB_internalformat_query + typedef void (GLAPIENTRY * PFNGLGETINTERNALFORMATIVPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint* params); + PFNGLGETINTERNALFORMATIVPROC fGetInternalformativ; + + // ARB_transform_feedback2 / OpenGL 4.0 / OpenGL ES 3.0 + typedef void (GLAPIENTRY * PFNGLBINDBUFFERBASE) (GLenum target, GLuint index, GLuint buffer); + PFNGLBINDBUFFERBASE fBindBufferBase; + typedef void (GLAPIENTRY * PFNGLBINDBUFFERRANGE) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); + PFNGLBINDBUFFERRANGE fBindBufferRange; + + typedef void (GLAPIENTRY * PFNGLGENTRANSFORMFEEDBACKSPROC) (GLsizei n, GLuint* ids); + PFNGLGENTRANSFORMFEEDBACKSPROC fGenTransformFeedbacks; + typedef void (GLAPIENTRY * PFNGLDELETETRANSFORMFEEDBACKSPROC) (GLsizei n, const GLuint* ids); + PFNGLDELETETRANSFORMFEEDBACKSPROC fDeleteTransformFeedbacks; + typedef realGLboolean (GLAPIENTRY * PFNGLISTRANSFORMFEEDBACKPROC) (GLuint id); + PFNGLISTRANSFORMFEEDBACKPROC fIsTransformFeedback; + typedef void (GLAPIENTRY * PFNGLBINDTRANSFORMFEEDBACKPROC) (GLenum target, GLuint id); + PFNGLBINDTRANSFORMFEEDBACKPROC fBindTransformFeedback; + typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKVARYINGS) (GLuint program, GLsizei count, const GLchar* const* varyings, GLenum bufferMode); + PFNGLTRANSFORMFEEDBACKVARYINGS fTransformFeedbackVaryings; + typedef void (GLAPIENTRY * PFNGLGETTRANSFORMFEEDBACKVARYING) (GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, GLchar* name); + PFNGLGETTRANSFORMFEEDBACKVARYING fGetTransformFeedbackVarying; + typedef void (GLAPIENTRY * PFNGLBEGINTRANSFORMFEEDBACK) (GLenum primitiveMode); + PFNGLBEGINTRANSFORMFEEDBACK fBeginTransformFeedback; + typedef void (GLAPIENTRY * PFNGLENDTRANSFORMFEEDBACK) (void); + PFNGLENDTRANSFORMFEEDBACK fEndTransformFeedback; + typedef void (GLAPIENTRY * PFNGLPAUSETRANSFORMFEEDBACKPROC) (); + PFNGLPAUSETRANSFORMFEEDBACKPROC fPauseTransformFeedback; + typedef void (GLAPIENTRY * PFNGLRESUMETRANSFORMFEEDBACKPROC) (); + PFNGLRESUMETRANSFORMFEEDBACKPROC fResumeTransformFeedback; + + typedef void (GLAPIENTRY * PFNGLGETINTEGERI_V) (GLenum param, GLuint index, GLint* values); + PFNGLGETINTEGERI_V fGetIntegeri_v; + typedef void (GLAPIENTRY * PFNGLGETINTEGER64I_VPROC) (GLenum target, GLuint index, GLint64* data); + PFNGLGETINTEGER64I_VPROC fGetInteger64i_v; + + // EXT_transform_feedback only + typedef void (GLAPIENTRY * PFNGLBINDBUFFEROFFSET) (GLenum target, GLuint index, GLuint buffer, GLintptr offset); + PFNGLBINDBUFFEROFFSET fBindBufferOffset; + + // KHR_debug + typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECONTROL) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint* ids, realGLboolean enabled); + PFNGLDEBUGMESSAGECONTROL fDebugMessageControl; + typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGEINSERT) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* buf); + PFNGLDEBUGMESSAGEINSERT fDebugMessageInsert; + typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECALLBACK) (GLDEBUGPROC callback, const GLvoid* userParam); + PFNGLDEBUGMESSAGECALLBACK fDebugMessageCallback; + typedef GLuint (GLAPIENTRY * PFNGLDEBUGMESSAGELOG) (GLuint count, GLsizei bufsize, GLenum* sources, GLenum* types, GLuint* ids, GLenum* severities, GLsizei* lengths, GLchar* messageLog); + PFNGLDEBUGMESSAGELOG fGetDebugMessageLog; + typedef void (GLAPIENTRY * PFNGLGETPOINTERV) (GLenum pname, GLvoid** params); + PFNGLGETPOINTERV fGetPointerv; + typedef void (GLAPIENTRY * PFNGLPUSHDEBUGGROUP) (GLenum source, GLuint id, GLsizei length, const GLchar* message); + PFNGLPUSHDEBUGGROUP fPushDebugGroup; + typedef void (GLAPIENTRY * PFNGLPOPDEBUGGROUP) (void); + PFNGLPOPDEBUGGROUP fPopDebugGroup; + typedef void (GLAPIENTRY * PFNGLOBJECTLABEL) (GLenum identifier, GLuint name, GLsizei length, const GLchar* label); + PFNGLOBJECTLABEL fObjectLabel; + typedef void (GLAPIENTRY * PFNGLGETOBJECTLABEL) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei* length, GLchar* label); + PFNGLGETOBJECTLABEL fGetObjectLabel; + typedef void (GLAPIENTRY * PFNGLOBJECTPTRLABEL) (const GLvoid* ptr, GLsizei length, const GLchar* label); + PFNGLOBJECTPTRLABEL fObjectPtrLabel; + typedef void (GLAPIENTRY * PFNGLGETOBJECTPTRLABEL) (const GLvoid* ptr, GLsizei bufSize, GLsizei* length, GLchar* label); + PFNGLGETOBJECTPTRLABEL fGetObjectPtrLabel; + + // draw_range_elements + typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTS) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid* indices); + PFNGLDRAWRANGEELEMENTS fDrawRangeElements; + + // NV_fence + typedef void (GLAPIENTRY * pfnGenFencesT) (GLsizei n, GLuint* fences); + pfnGenFencesT fGenFences; + typedef void (GLAPIENTRY * pfnDeleteFencesT) (GLsizei n, const GLuint* fences); + pfnDeleteFencesT fDeleteFences; + typedef void (GLAPIENTRY * pfnSetFenceT) (GLuint fence, GLenum condition); + pfnSetFenceT fSetFence; + typedef realGLboolean (GLAPIENTRY * pfnTestFenceT) (GLuint fence); + pfnTestFenceT fTestFence; + typedef void (GLAPIENTRY * pfnFinishFenceT) (GLuint fence); + pfnFinishFenceT fFinishFence; + typedef realGLboolean (GLAPIENTRY * pfnIsFenceT) (GLuint fence); + pfnIsFenceT fIsFence; + typedef void (GLAPIENTRY * pfnGetFenceivT) (GLuint fence, GLenum pname, GLint* params); + pfnGetFenceivT fGetFenceiv; + + // map_buffer_range + typedef void* (GLAPIENTRY * PFNGLMAPBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); + PFNGLMAPBUFFERRANGEPROC fMapBufferRange; + typedef void (GLAPIENTRY * PFNGLFLUSHMAPPEDBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length); + PFNGLFLUSHMAPPEDBUFFERRANGEPROC fFlushMappedBufferRange; + + // sampler_object + typedef void (GLAPIENTRY * PFNGLGENSAMPLERSPROC) (GLsizei count, GLuint* samplers); + PFNGLGENSAMPLERSPROC fGenSamplers; + typedef void (GLAPIENTRY * PFNGLDELETESAMPLERSPROC) (GLsizei count, const GLuint* samplers); + PFNGLDELETESAMPLERSPROC fDeleteSamplers; + typedef realGLboolean (GLAPIENTRY * PFNGLISSAMPLERPROC) (GLuint sampler); + PFNGLISSAMPLERPROC fIsSampler; + typedef void (GLAPIENTRY * PFNGLBINDSAMPLERPROC) (GLuint unit, GLuint sampler); + PFNGLBINDSAMPLERPROC fBindSampler; + typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERIPROC) (GLuint sampler, GLenum pname, GLint param); + PFNGLSAMPLERPARAMETERIPROC fSamplerParameteri; + typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, const GLint* param); + PFNGLSAMPLERPARAMETERIVPROC fSamplerParameteriv; + typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERFPROC) (GLuint sampler, GLenum pname, GLfloat param); + PFNGLSAMPLERPARAMETERFPROC fSamplerParameterf; + typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, const GLfloat* param); + PFNGLSAMPLERPARAMETERFVPROC fSamplerParameterfv; + typedef void (GLAPIENTRY * PFNGLGETSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, GLint* params); + PFNGLGETSAMPLERPARAMETERIVPROC fGetSamplerParameteriv; + typedef void (GLAPIENTRY * PFNGLGETSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, GLfloat* params); + PFNGLGETSAMPLERPARAMETERFVPROC fGetSamplerParameterfv; + + // texture_storage + typedef void (GLAPIENTRY * PFNGLTEXSTORAGE2DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); + PFNGLTEXSTORAGE2DPROC fTexStorage2D; + typedef void (GLAPIENTRY * PFNGLTEXSTORAGE3DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); + PFNGLTEXSTORAGE3DPROC fTexStorage3D; + + // uniform_buffer_object + typedef void (GLAPIENTRY * PFNGLGETUNIFORMINDICESPROC) (GLuint program, GLsizei uniformCount, + const GLchar* const* uniformNames, GLuint* uniformIndices); + PFNGLGETUNIFORMINDICESPROC fGetUniformIndices; + typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMSIVPROC) (GLuint program, GLsizei uniformCount, const GLuint* uniformIndices, + GLenum pname, GLint* params); + PFNGLGETACTIVEUNIFORMSIVPROC fGetActiveUniformsiv; + typedef GLuint (GLAPIENTRY * PFNGLGETUNIFORMBLOCKINDEXPROC) (GLuint program, const GLchar* uniformBlockName); + PFNGLGETUNIFORMBLOCKINDEXPROC fGetUniformBlockIndex; + typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMBLOCKIVPROC) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params); + PFNGLGETACTIVEUNIFORMBLOCKIVPROC fGetActiveUniformBlockiv; + typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName); + PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC fGetActiveUniformBlockName; + typedef void (GLAPIENTRY * PFNGLUNIFORMBLOCKBINDINGPROC) (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); + PFNGLUNIFORMBLOCKBINDINGPROC fUniformBlockBinding; + + // EXT_gpu_shader4 + typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIIVPROC) (GLuint index, GLenum pname, GLint* params); + PFNGLGETVERTEXATTRIBIIVPROC fGetVertexAttribIiv; + typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIUIVPROC) (GLuint index, GLenum pname, GLuint* params); + PFNGLGETVERTEXATTRIBIUIVPROC fGetVertexAttribIuiv; + typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4IPROC) (GLuint index, GLint x, GLint y, GLint z, GLint w); + PFNGLVERTEXATTRIBI4IPROC fVertexAttribI4i; + typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4IVPROC) (GLuint index, const GLint* v); + PFNGLVERTEXATTRIBI4IVPROC fVertexAttribI4iv; + typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UIPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); + PFNGLVERTEXATTRIBI4UIPROC fVertexAttribI4ui; + typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UIVPROC) (GLuint index, const GLuint* v); + PFNGLVERTEXATTRIBI4UIVPROC fVertexAttribI4uiv; + typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBIPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid* ptr); + PFNGLVERTEXATTRIBIPOINTERPROC fVertexAttribIPointer; + typedef void (GLAPIENTRY * PFNGLUNIFORM1UIPROC) (GLint location, GLuint v0); + PFNGLUNIFORM1UIPROC fUniform1ui; + typedef void (GLAPIENTRY * PFNGLUNIFORM2UIPROC) (GLint location, GLuint v0, GLuint v1); + PFNGLUNIFORM2UIPROC fUniform2ui; + typedef void (GLAPIENTRY * PFNGLUNIFORM3UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2); + PFNGLUNIFORM3UIPROC fUniform3ui; + typedef void (GLAPIENTRY * PFNGLUNIFORM4UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); + PFNGLUNIFORM4UIPROC fUniform4ui; + typedef void (GLAPIENTRY * PFNGLUNIFORM1UIVPROC) (GLint location, GLsizei count, const GLuint* value); + PFNGLUNIFORM1UIVPROC fUniform1uiv; + typedef void (GLAPIENTRY * PFNGLUNIFORM2UIVPROC) (GLint location, GLsizei count, const GLuint* value); + PFNGLUNIFORM2UIVPROC fUniform2uiv; + typedef void (GLAPIENTRY * PFNGLUNIFORM3UIVPROC) (GLint location, GLsizei count, const GLuint* value); + PFNGLUNIFORM3UIVPROC fUniform3uiv; + typedef void (GLAPIENTRY * PFNGLUNIFORM4UIVPROC) (GLint location, GLsizei count, const GLuint* value); + PFNGLUNIFORM4UIVPROC fUniform4uiv; + typedef GLint (GLAPIENTRY * PFNGLGETFRAGDATALOCATIONPROC) (GLuint program, const GLchar* name); + PFNGLGETFRAGDATALOCATIONPROC fGetFragDataLocation; + + // 3D Textures + typedef void (GLAPIENTRY * PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, + GLenum internalFormat, + GLenum width, GLsizei height, GLsizei depth, + GLint border, GLenum format, GLenum type, + const GLvoid* pixels); + PFNGLTEXIMAGE3DPROC fTexImage3D; + typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, + GLint yoffset, GLint zoffset, GLsizei width, + GLsizei height, GLsizei depth, GLenum format, + GLenum type, const GLvoid* pixels); + PFNGLTEXSUBIMAGE3DPROC fTexSubImage3D; + typedef void (GLAPIENTRY * PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, + GLint yoffset, GLint zoffset, GLint x, + GLint y, GLsizei width, GLsizei height); + PFNGLCOPYTEXSUBIMAGE3DPROC fCopyTexSubImage3D; + typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, + GLsizei width, GLsizei height, GLsizei depth, + GLint border, GLsizei imageSize, const GLvoid* data); + PFNGLCOMPRESSEDTEXIMAGE3DPROC fCompressedTexImage3D; + typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, + GLint xoffset, GLint yoffset, GLint zoffset, + GLsizei width, GLsizei height, GLsizei depth, + GLenum format, GLsizei imageSize, const GLvoid* data); + PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC fCompressedTexSubImage3D; + + // get_string_indexed + typedef const GLubyte* (GLAPIENTRY * PFNGLGETSTRINGIPROC)(GLenum name, GLuint index); + PFNGLGETSTRINGIPROC fGetStringi; + + // APPLE_framebuffer_multisample + typedef void (GLAPIENTRY * PFNRESOLVEMULTISAMPLEFRAMEBUFFERAPPLE) (void); + PFNRESOLVEMULTISAMPLEFRAMEBUFFERAPPLE fResolveMultisampleFramebufferAPPLE; + + // NV_texture_barrier + typedef void (GLAPIENTRY * PFNTEXTUREBARRIERPROC) (void); + PFNTEXTUREBARRIERPROC fTextureBarrier; + + // NV_primitive_restart + void (GLAPIENTRY * fPrimitiveRestartIndex) (GLuint index); +}; + +} // namespace gl +} // namespace mozilla + +#endif /* GLCONTEXTSYMBOLS_H_ */ |