/* -*- 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 final { GLContextSymbols() = delete; // Initialize with {}. 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_ */