1 // GENERATED FILE - DO NOT EDIT. 2 // Generated by generate_gl_dispatch_table.py using data from gl_bindings_data.json and gl.xml. 3 // 4 // Copyright 2017 The ANGLE Project Authors. All rights reserved. 5 // Use of this source code is governed by a BSD-style license that can be 6 // found in the LICENSE file. 7 // 8 // DispatchTableGL_autogen.h: 9 // Defines the native binding interface for ANGLE's OpenGL back-end. 10 11 #ifndef LIBGLESV2_RENDERER_GL_DISPATCH_TABLE_GL_AUTOGEN_H_ 12 #define LIBGLESV2_RENDERER_GL_DISPATCH_TABLE_GL_AUTOGEN_H_ 13 14 #include "common/angleutils.h" 15 #include "libANGLE/renderer/gl/functionsgl_typedefs.h" 16 17 #include <set> 18 19 namespace gl 20 { 21 struct Version; 22 } // namespace gl 23 24 namespace rx 25 { 26 class DispatchTableGL : angle::NonCopyable 27 { 28 public: 29 // clang-format off 30 // 1.0 31 PFNGLBLENDFUNCPROC blendFunc = nullptr; 32 PFNGLCLEARPROC clear = nullptr; 33 PFNGLCLEARCOLORPROC clearColor = nullptr; 34 PFNGLCLEARDEPTHPROC clearDepth = nullptr; 35 PFNGLCLEARSTENCILPROC clearStencil = nullptr; 36 PFNGLCOLORMASKPROC colorMask = nullptr; 37 PFNGLCULLFACEPROC cullFace = nullptr; 38 PFNGLDEPTHFUNCPROC depthFunc = nullptr; 39 PFNGLDEPTHMASKPROC depthMask = nullptr; 40 PFNGLDEPTHRANGEPROC depthRange = nullptr; 41 PFNGLDISABLEPROC disable = nullptr; 42 PFNGLDRAWBUFFERPROC drawBuffer = nullptr; 43 PFNGLENABLEPROC enable = nullptr; 44 PFNGLFINISHPROC finish = nullptr; 45 PFNGLFLUSHPROC flush = nullptr; 46 PFNGLFRONTFACEPROC frontFace = nullptr; 47 PFNGLGETBOOLEANVPROC getBooleanv = nullptr; 48 PFNGLGETDOUBLEVPROC getDoublev = nullptr; 49 PFNGLGETERRORPROC getError = nullptr; 50 PFNGLGETFLOATVPROC getFloatv = nullptr; 51 PFNGLGETINTEGERVPROC getIntegerv = nullptr; 52 PFNGLGETSTRINGPROC getString = nullptr; 53 PFNGLGETTEXIMAGEPROC getTexImage = nullptr; 54 PFNGLGETTEXLEVELPARAMETERFVPROC getTexLevelParameterfv = nullptr; 55 PFNGLGETTEXLEVELPARAMETERIVPROC getTexLevelParameteriv = nullptr; 56 PFNGLGETTEXPARAMETERFVPROC getTexParameterfv = nullptr; 57 PFNGLGETTEXPARAMETERIVPROC getTexParameteriv = nullptr; 58 PFNGLHINTPROC hint = nullptr; 59 PFNGLISENABLEDPROC isEnabled = nullptr; 60 PFNGLLINEWIDTHPROC lineWidth = nullptr; 61 PFNGLLOGICOPPROC logicOp = nullptr; 62 PFNGLPIXELSTOREFPROC pixelStoref = nullptr; 63 PFNGLPIXELSTOREIPROC pixelStorei = nullptr; 64 PFNGLPOINTSIZEPROC pointSize = nullptr; 65 PFNGLPOLYGONMODEPROC polygonMode = nullptr; 66 PFNGLREADBUFFERPROC readBuffer = nullptr; 67 PFNGLREADPIXELSPROC readPixels = nullptr; 68 PFNGLSCISSORPROC scissor = nullptr; 69 PFNGLSTENCILFUNCPROC stencilFunc = nullptr; 70 PFNGLSTENCILMASKPROC stencilMask = nullptr; 71 PFNGLSTENCILOPPROC stencilOp = nullptr; 72 PFNGLTEXIMAGE1DPROC texImage1D = nullptr; 73 PFNGLTEXIMAGE2DPROC texImage2D = nullptr; 74 PFNGLTEXPARAMETERFPROC texParameterf = nullptr; 75 PFNGLTEXPARAMETERFVPROC texParameterfv = nullptr; 76 PFNGLTEXPARAMETERIPROC texParameteri = nullptr; 77 PFNGLTEXPARAMETERIVPROC texParameteriv = nullptr; 78 PFNGLVIEWPORTPROC viewport = nullptr; 79 80 // 1.1 81 PFNGLBINDTEXTUREPROC bindTexture = nullptr; 82 PFNGLCOPYTEXIMAGE1DPROC copyTexImage1D = nullptr; 83 PFNGLCOPYTEXIMAGE2DPROC copyTexImage2D = nullptr; 84 PFNGLCOPYTEXSUBIMAGE1DPROC copyTexSubImage1D = nullptr; 85 PFNGLCOPYTEXSUBIMAGE2DPROC copyTexSubImage2D = nullptr; 86 PFNGLDELETETEXTURESPROC deleteTextures = nullptr; 87 PFNGLDRAWARRAYSPROC drawArrays = nullptr; 88 PFNGLDRAWELEMENTSPROC drawElements = nullptr; 89 PFNGLGENTEXTURESPROC genTextures = nullptr; 90 PFNGLISTEXTUREPROC isTexture = nullptr; 91 PFNGLPOLYGONOFFSETPROC polygonOffset = nullptr; 92 PFNGLTEXSUBIMAGE1DPROC texSubImage1D = nullptr; 93 PFNGLTEXSUBIMAGE2DPROC texSubImage2D = nullptr; 94 95 // 1.2 96 PFNGLBLENDCOLORPROC blendColor = nullptr; 97 PFNGLBLENDEQUATIONPROC blendEquation = nullptr; 98 PFNGLCOPYTEXSUBIMAGE3DPROC copyTexSubImage3D = nullptr; 99 PFNGLDRAWRANGEELEMENTSPROC drawRangeElements = nullptr; 100 PFNGLTEXIMAGE3DPROC texImage3D = nullptr; 101 PFNGLTEXSUBIMAGE3DPROC texSubImage3D = nullptr; 102 103 // 1.2 Extensions 104 PFNGLDELETEFENCESNVPROC deleteFencesNV = nullptr; 105 PFNGLFINISHFENCENVPROC finishFenceNV = nullptr; 106 PFNGLGENFENCESNVPROC genFencesNV = nullptr; 107 PFNGLGETFENCEIVNVPROC getFenceivNV = nullptr; 108 PFNGLISFENCENVPROC isFenceNV = nullptr; 109 PFNGLSETFENCENVPROC setFenceNV = nullptr; 110 PFNGLTESTFENCENVPROC testFenceNV = nullptr; 111 112 // 1.3 113 PFNGLACTIVETEXTUREPROC activeTexture = nullptr; 114 PFNGLCOMPRESSEDTEXIMAGE1DPROC compressedTexImage1D = nullptr; 115 PFNGLCOMPRESSEDTEXIMAGE2DPROC compressedTexImage2D = nullptr; 116 PFNGLCOMPRESSEDTEXIMAGE3DPROC compressedTexImage3D = nullptr; 117 PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC compressedTexSubImage1D = nullptr; 118 PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC compressedTexSubImage2D = nullptr; 119 PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC compressedTexSubImage3D = nullptr; 120 PFNGLGETCOMPRESSEDTEXIMAGEPROC getCompressedTexImage = nullptr; 121 PFNGLSAMPLECOVERAGEPROC sampleCoverage = nullptr; 122 123 // 1.4 124 PFNGLBLENDFUNCSEPARATEPROC blendFuncSeparate = nullptr; 125 PFNGLMULTIDRAWARRAYSPROC multiDrawArrays = nullptr; 126 PFNGLMULTIDRAWELEMENTSPROC multiDrawElements = nullptr; 127 PFNGLPOINTPARAMETERFPROC pointParameterf = nullptr; 128 PFNGLPOINTPARAMETERFVPROC pointParameterfv = nullptr; 129 PFNGLPOINTPARAMETERIPROC pointParameteri = nullptr; 130 PFNGLPOINTPARAMETERIVPROC pointParameteriv = nullptr; 131 132 // 1.5 133 PFNGLBEGINQUERYPROC beginQuery = nullptr; 134 PFNGLBINDBUFFERPROC bindBuffer = nullptr; 135 PFNGLBUFFERDATAPROC bufferData = nullptr; 136 PFNGLBUFFERSUBDATAPROC bufferSubData = nullptr; 137 PFNGLDELETEBUFFERSPROC deleteBuffers = nullptr; 138 PFNGLDELETEQUERIESPROC deleteQueries = nullptr; 139 PFNGLENDQUERYPROC endQuery = nullptr; 140 PFNGLGENBUFFERSPROC genBuffers = nullptr; 141 PFNGLGENQUERIESPROC genQueries = nullptr; 142 PFNGLGETBUFFERPARAMETERIVPROC getBufferParameteriv = nullptr; 143 PFNGLGETBUFFERPOINTERVPROC getBufferPointerv = nullptr; 144 PFNGLGETBUFFERSUBDATAPROC getBufferSubData = nullptr; 145 PFNGLGETQUERYOBJECTIVPROC getQueryObjectiv = nullptr; 146 PFNGLGETQUERYOBJECTUIVPROC getQueryObjectuiv = nullptr; 147 PFNGLGETQUERYIVPROC getQueryiv = nullptr; 148 PFNGLISBUFFERPROC isBuffer = nullptr; 149 PFNGLISQUERYPROC isQuery = nullptr; 150 PFNGLMAPBUFFERPROC mapBuffer = nullptr; 151 PFNGLUNMAPBUFFERPROC unmapBuffer = nullptr; 152 153 // 2.0 154 PFNGLATTACHSHADERPROC attachShader = nullptr; 155 PFNGLBINDATTRIBLOCATIONPROC bindAttribLocation = nullptr; 156 PFNGLBLENDEQUATIONSEPARATEPROC blendEquationSeparate = nullptr; 157 PFNGLCOMPILESHADERPROC compileShader = nullptr; 158 PFNGLCREATEPROGRAMPROC createProgram = nullptr; 159 PFNGLCREATESHADERPROC createShader = nullptr; 160 PFNGLDELETEPROGRAMPROC deleteProgram = nullptr; 161 PFNGLDELETESHADERPROC deleteShader = nullptr; 162 PFNGLDETACHSHADERPROC detachShader = nullptr; 163 PFNGLDISABLEVERTEXATTRIBARRAYPROC disableVertexAttribArray = nullptr; 164 PFNGLDRAWBUFFERSPROC drawBuffers = nullptr; 165 PFNGLENABLEVERTEXATTRIBARRAYPROC enableVertexAttribArray = nullptr; 166 PFNGLGETACTIVEATTRIBPROC getActiveAttrib = nullptr; 167 PFNGLGETACTIVEUNIFORMPROC getActiveUniform = nullptr; 168 PFNGLGETATTACHEDSHADERSPROC getAttachedShaders = nullptr; 169 PFNGLGETATTRIBLOCATIONPROC getAttribLocation = nullptr; 170 PFNGLGETPROGRAMINFOLOGPROC getProgramInfoLog = nullptr; 171 PFNGLGETPROGRAMIVPROC getProgramiv = nullptr; 172 PFNGLGETSHADERINFOLOGPROC getShaderInfoLog = nullptr; 173 PFNGLGETSHADERSOURCEPROC getShaderSource = nullptr; 174 PFNGLGETSHADERIVPROC getShaderiv = nullptr; 175 PFNGLGETUNIFORMLOCATIONPROC getUniformLocation = nullptr; 176 PFNGLGETUNIFORMFVPROC getUniformfv = nullptr; 177 PFNGLGETUNIFORMIVPROC getUniformiv = nullptr; 178 PFNGLGETVERTEXATTRIBPOINTERVPROC getVertexAttribPointerv = nullptr; 179 PFNGLGETVERTEXATTRIBDVPROC getVertexAttribdv = nullptr; 180 PFNGLGETVERTEXATTRIBFVPROC getVertexAttribfv = nullptr; 181 PFNGLGETVERTEXATTRIBIVPROC getVertexAttribiv = nullptr; 182 PFNGLISPROGRAMPROC isProgram = nullptr; 183 PFNGLISSHADERPROC isShader = nullptr; 184 PFNGLLINKPROGRAMPROC linkProgram = nullptr; 185 PFNGLSHADERSOURCEPROC shaderSource = nullptr; 186 PFNGLSTENCILFUNCSEPARATEPROC stencilFuncSeparate = nullptr; 187 PFNGLSTENCILMASKSEPARATEPROC stencilMaskSeparate = nullptr; 188 PFNGLSTENCILOPSEPARATEPROC stencilOpSeparate = nullptr; 189 PFNGLUNIFORM1FPROC uniform1f = nullptr; 190 PFNGLUNIFORM1FVPROC uniform1fv = nullptr; 191 PFNGLUNIFORM1IPROC uniform1i = nullptr; 192 PFNGLUNIFORM1IVPROC uniform1iv = nullptr; 193 PFNGLUNIFORM2FPROC uniform2f = nullptr; 194 PFNGLUNIFORM2FVPROC uniform2fv = nullptr; 195 PFNGLUNIFORM2IPROC uniform2i = nullptr; 196 PFNGLUNIFORM2IVPROC uniform2iv = nullptr; 197 PFNGLUNIFORM3FPROC uniform3f = nullptr; 198 PFNGLUNIFORM3FVPROC uniform3fv = nullptr; 199 PFNGLUNIFORM3IPROC uniform3i = nullptr; 200 PFNGLUNIFORM3IVPROC uniform3iv = nullptr; 201 PFNGLUNIFORM4FPROC uniform4f = nullptr; 202 PFNGLUNIFORM4FVPROC uniform4fv = nullptr; 203 PFNGLUNIFORM4IPROC uniform4i = nullptr; 204 PFNGLUNIFORM4IVPROC uniform4iv = nullptr; 205 PFNGLUNIFORMMATRIX2FVPROC uniformMatrix2fv = nullptr; 206 PFNGLUNIFORMMATRIX3FVPROC uniformMatrix3fv = nullptr; 207 PFNGLUNIFORMMATRIX4FVPROC uniformMatrix4fv = nullptr; 208 PFNGLUSEPROGRAMPROC useProgram = nullptr; 209 PFNGLVALIDATEPROGRAMPROC validateProgram = nullptr; 210 PFNGLVERTEXATTRIB1DPROC vertexAttrib1d = nullptr; 211 PFNGLVERTEXATTRIB1DVPROC vertexAttrib1dv = nullptr; 212 PFNGLVERTEXATTRIB1FPROC vertexAttrib1f = nullptr; 213 PFNGLVERTEXATTRIB1FVPROC vertexAttrib1fv = nullptr; 214 PFNGLVERTEXATTRIB1SPROC vertexAttrib1s = nullptr; 215 PFNGLVERTEXATTRIB1SVPROC vertexAttrib1sv = nullptr; 216 PFNGLVERTEXATTRIB2DPROC vertexAttrib2d = nullptr; 217 PFNGLVERTEXATTRIB2DVPROC vertexAttrib2dv = nullptr; 218 PFNGLVERTEXATTRIB2FPROC vertexAttrib2f = nullptr; 219 PFNGLVERTEXATTRIB2FVPROC vertexAttrib2fv = nullptr; 220 PFNGLVERTEXATTRIB2SPROC vertexAttrib2s = nullptr; 221 PFNGLVERTEXATTRIB2SVPROC vertexAttrib2sv = nullptr; 222 PFNGLVERTEXATTRIB3DPROC vertexAttrib3d = nullptr; 223 PFNGLVERTEXATTRIB3DVPROC vertexAttrib3dv = nullptr; 224 PFNGLVERTEXATTRIB3FPROC vertexAttrib3f = nullptr; 225 PFNGLVERTEXATTRIB3FVPROC vertexAttrib3fv = nullptr; 226 PFNGLVERTEXATTRIB3SPROC vertexAttrib3s = nullptr; 227 PFNGLVERTEXATTRIB3SVPROC vertexAttrib3sv = nullptr; 228 PFNGLVERTEXATTRIB4NBVPROC vertexAttrib4Nbv = nullptr; 229 PFNGLVERTEXATTRIB4NIVPROC vertexAttrib4Niv = nullptr; 230 PFNGLVERTEXATTRIB4NSVPROC vertexAttrib4Nsv = nullptr; 231 PFNGLVERTEXATTRIB4NUBPROC vertexAttrib4Nub = nullptr; 232 PFNGLVERTEXATTRIB4NUBVPROC vertexAttrib4Nubv = nullptr; 233 PFNGLVERTEXATTRIB4NUIVPROC vertexAttrib4Nuiv = nullptr; 234 PFNGLVERTEXATTRIB4NUSVPROC vertexAttrib4Nusv = nullptr; 235 PFNGLVERTEXATTRIB4BVPROC vertexAttrib4bv = nullptr; 236 PFNGLVERTEXATTRIB4DPROC vertexAttrib4d = nullptr; 237 PFNGLVERTEXATTRIB4DVPROC vertexAttrib4dv = nullptr; 238 PFNGLVERTEXATTRIB4FPROC vertexAttrib4f = nullptr; 239 PFNGLVERTEXATTRIB4FVPROC vertexAttrib4fv = nullptr; 240 PFNGLVERTEXATTRIB4IVPROC vertexAttrib4iv = nullptr; 241 PFNGLVERTEXATTRIB4SPROC vertexAttrib4s = nullptr; 242 PFNGLVERTEXATTRIB4SVPROC vertexAttrib4sv = nullptr; 243 PFNGLVERTEXATTRIB4UBVPROC vertexAttrib4ubv = nullptr; 244 PFNGLVERTEXATTRIB4UIVPROC vertexAttrib4uiv = nullptr; 245 PFNGLVERTEXATTRIB4USVPROC vertexAttrib4usv = nullptr; 246 PFNGLVERTEXATTRIBPOINTERPROC vertexAttribPointer = nullptr; 247 248 // 2.1 249 PFNGLUNIFORMMATRIX2X3FVPROC uniformMatrix2x3fv = nullptr; 250 PFNGLUNIFORMMATRIX2X4FVPROC uniformMatrix2x4fv = nullptr; 251 PFNGLUNIFORMMATRIX3X2FVPROC uniformMatrix3x2fv = nullptr; 252 PFNGLUNIFORMMATRIX3X4FVPROC uniformMatrix3x4fv = nullptr; 253 PFNGLUNIFORMMATRIX4X2FVPROC uniformMatrix4x2fv = nullptr; 254 PFNGLUNIFORMMATRIX4X3FVPROC uniformMatrix4x3fv = nullptr; 255 256 // 3.0 257 PFNGLBEGINCONDITIONALRENDERPROC beginConditionalRender = nullptr; 258 PFNGLBEGINTRANSFORMFEEDBACKPROC beginTransformFeedback = nullptr; 259 PFNGLBINDBUFFERBASEPROC bindBufferBase = nullptr; 260 PFNGLBINDBUFFERRANGEPROC bindBufferRange = nullptr; 261 PFNGLBINDFRAGDATALOCATIONPROC bindFragDataLocation = nullptr; 262 PFNGLBINDFRAMEBUFFERPROC bindFramebuffer = nullptr; 263 PFNGLBINDRENDERBUFFERPROC bindRenderbuffer = nullptr; 264 PFNGLBINDVERTEXARRAYPROC bindVertexArray = nullptr; 265 PFNGLBLITFRAMEBUFFERPROC blitFramebuffer = nullptr; 266 PFNGLCHECKFRAMEBUFFERSTATUSPROC checkFramebufferStatus = nullptr; 267 PFNGLCLAMPCOLORPROC clampColor = nullptr; 268 PFNGLCLEARBUFFERFIPROC clearBufferfi = nullptr; 269 PFNGLCLEARBUFFERFVPROC clearBufferfv = nullptr; 270 PFNGLCLEARBUFFERIVPROC clearBufferiv = nullptr; 271 PFNGLCLEARBUFFERUIVPROC clearBufferuiv = nullptr; 272 PFNGLCOLORMASKIPROC colorMaski = nullptr; 273 PFNGLDELETEFRAMEBUFFERSPROC deleteFramebuffers = nullptr; 274 PFNGLDELETERENDERBUFFERSPROC deleteRenderbuffers = nullptr; 275 PFNGLDELETEVERTEXARRAYSPROC deleteVertexArrays = nullptr; 276 PFNGLDISABLEIPROC disablei = nullptr; 277 PFNGLENABLEIPROC enablei = nullptr; 278 PFNGLENDCONDITIONALRENDERPROC endConditionalRender = nullptr; 279 PFNGLENDTRANSFORMFEEDBACKPROC endTransformFeedback = nullptr; 280 PFNGLFLUSHMAPPEDBUFFERRANGEPROC flushMappedBufferRange = nullptr; 281 PFNGLFRAMEBUFFERRENDERBUFFERPROC framebufferRenderbuffer = nullptr; 282 PFNGLFRAMEBUFFERTEXTURE1DPROC framebufferTexture1D = nullptr; 283 PFNGLFRAMEBUFFERTEXTURE2DPROC framebufferTexture2D = nullptr; 284 PFNGLFRAMEBUFFERTEXTURE3DPROC framebufferTexture3D = nullptr; 285 PFNGLFRAMEBUFFERTEXTURELAYERPROC framebufferTextureLayer = nullptr; 286 PFNGLGENFRAMEBUFFERSPROC genFramebuffers = nullptr; 287 PFNGLGENRENDERBUFFERSPROC genRenderbuffers = nullptr; 288 PFNGLGENVERTEXARRAYSPROC genVertexArrays = nullptr; 289 PFNGLGENERATEMIPMAPPROC generateMipmap = nullptr; 290 PFNGLGETBOOLEANI_VPROC getBooleani_v = nullptr; 291 PFNGLGETFRAGDATALOCATIONPROC getFragDataLocation = nullptr; 292 PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC getFramebufferAttachmentParameteriv = nullptr; 293 PFNGLGETINTEGERI_VPROC getIntegeri_v = nullptr; 294 PFNGLGETRENDERBUFFERPARAMETERIVPROC getRenderbufferParameteriv = nullptr; 295 PFNGLGETSTRINGIPROC getStringi = nullptr; 296 PFNGLGETTEXPARAMETERIIVPROC getTexParameterIiv = nullptr; 297 PFNGLGETTEXPARAMETERIUIVPROC getTexParameterIuiv = nullptr; 298 PFNGLGETTRANSFORMFEEDBACKVARYINGPROC getTransformFeedbackVarying = nullptr; 299 PFNGLGETUNIFORMUIVPROC getUniformuiv = nullptr; 300 PFNGLGETVERTEXATTRIBIIVPROC getVertexAttribIiv = nullptr; 301 PFNGLGETVERTEXATTRIBIUIVPROC getVertexAttribIuiv = nullptr; 302 PFNGLISENABLEDIPROC isEnabledi = nullptr; 303 PFNGLISFRAMEBUFFERPROC isFramebuffer = nullptr; 304 PFNGLISRENDERBUFFERPROC isRenderbuffer = nullptr; 305 PFNGLISVERTEXARRAYPROC isVertexArray = nullptr; 306 PFNGLMAPBUFFERRANGEPROC mapBufferRange = nullptr; 307 PFNGLRENDERBUFFERSTORAGEPROC renderbufferStorage = nullptr; 308 PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC renderbufferStorageMultisample = nullptr; 309 PFNGLTEXPARAMETERIIVPROC texParameterIiv = nullptr; 310 PFNGLTEXPARAMETERIUIVPROC texParameterIuiv = nullptr; 311 PFNGLTRANSFORMFEEDBACKVARYINGSPROC transformFeedbackVaryings = nullptr; 312 PFNGLUNIFORM1UIPROC uniform1ui = nullptr; 313 PFNGLUNIFORM1UIVPROC uniform1uiv = nullptr; 314 PFNGLUNIFORM2UIPROC uniform2ui = nullptr; 315 PFNGLUNIFORM2UIVPROC uniform2uiv = nullptr; 316 PFNGLUNIFORM3UIPROC uniform3ui = nullptr; 317 PFNGLUNIFORM3UIVPROC uniform3uiv = nullptr; 318 PFNGLUNIFORM4UIPROC uniform4ui = nullptr; 319 PFNGLUNIFORM4UIVPROC uniform4uiv = nullptr; 320 PFNGLVERTEXATTRIBI1IPROC vertexAttribI1i = nullptr; 321 PFNGLVERTEXATTRIBI1IVPROC vertexAttribI1iv = nullptr; 322 PFNGLVERTEXATTRIBI1UIPROC vertexAttribI1ui = nullptr; 323 PFNGLVERTEXATTRIBI1UIVPROC vertexAttribI1uiv = nullptr; 324 PFNGLVERTEXATTRIBI2IPROC vertexAttribI2i = nullptr; 325 PFNGLVERTEXATTRIBI2IVPROC vertexAttribI2iv = nullptr; 326 PFNGLVERTEXATTRIBI2UIPROC vertexAttribI2ui = nullptr; 327 PFNGLVERTEXATTRIBI2UIVPROC vertexAttribI2uiv = nullptr; 328 PFNGLVERTEXATTRIBI3IPROC vertexAttribI3i = nullptr; 329 PFNGLVERTEXATTRIBI3IVPROC vertexAttribI3iv = nullptr; 330 PFNGLVERTEXATTRIBI3UIPROC vertexAttribI3ui = nullptr; 331 PFNGLVERTEXATTRIBI3UIVPROC vertexAttribI3uiv = nullptr; 332 PFNGLVERTEXATTRIBI4BVPROC vertexAttribI4bv = nullptr; 333 PFNGLVERTEXATTRIBI4IPROC vertexAttribI4i = nullptr; 334 PFNGLVERTEXATTRIBI4IVPROC vertexAttribI4iv = nullptr; 335 PFNGLVERTEXATTRIBI4SVPROC vertexAttribI4sv = nullptr; 336 PFNGLVERTEXATTRIBI4UBVPROC vertexAttribI4ubv = nullptr; 337 PFNGLVERTEXATTRIBI4UIPROC vertexAttribI4ui = nullptr; 338 PFNGLVERTEXATTRIBI4UIVPROC vertexAttribI4uiv = nullptr; 339 PFNGLVERTEXATTRIBI4USVPROC vertexAttribI4usv = nullptr; 340 PFNGLVERTEXATTRIBIPOINTERPROC vertexAttribIPointer = nullptr; 341 342 // 3.1 343 PFNGLCOPYBUFFERSUBDATAPROC copyBufferSubData = nullptr; 344 PFNGLDRAWARRAYSINSTANCEDPROC drawArraysInstanced = nullptr; 345 PFNGLDRAWELEMENTSINSTANCEDPROC drawElementsInstanced = nullptr; 346 PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC getActiveUniformBlockName = nullptr; 347 PFNGLGETACTIVEUNIFORMBLOCKIVPROC getActiveUniformBlockiv = nullptr; 348 PFNGLGETACTIVEUNIFORMNAMEPROC getActiveUniformName = nullptr; 349 PFNGLGETACTIVEUNIFORMSIVPROC getActiveUniformsiv = nullptr; 350 PFNGLGETUNIFORMBLOCKINDEXPROC getUniformBlockIndex = nullptr; 351 PFNGLGETUNIFORMINDICESPROC getUniformIndices = nullptr; 352 PFNGLPRIMITIVERESTARTINDEXPROC primitiveRestartIndex = nullptr; 353 PFNGLTEXBUFFERPROC texBuffer = nullptr; 354 PFNGLUNIFORMBLOCKBINDINGPROC uniformBlockBinding = nullptr; 355 356 // 3.2 357 PFNGLCLIENTWAITSYNCPROC clientWaitSync = nullptr; 358 PFNGLDELETESYNCPROC deleteSync = nullptr; 359 PFNGLDRAWELEMENTSBASEVERTEXPROC drawElementsBaseVertex = nullptr; 360 PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC drawElementsInstancedBaseVertex = nullptr; 361 PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC drawRangeElementsBaseVertex = nullptr; 362 PFNGLFENCESYNCPROC fenceSync = nullptr; 363 PFNGLFRAMEBUFFERTEXTUREPROC framebufferTexture = nullptr; 364 PFNGLGETBUFFERPARAMETERI64VPROC getBufferParameteri64v = nullptr; 365 PFNGLGETINTEGER64I_VPROC getInteger64i_v = nullptr; 366 PFNGLGETINTEGER64VPROC getInteger64v = nullptr; 367 PFNGLGETMULTISAMPLEFVPROC getMultisamplefv = nullptr; 368 PFNGLGETSYNCIVPROC getSynciv = nullptr; 369 PFNGLISSYNCPROC isSync = nullptr; 370 PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC multiDrawElementsBaseVertex = nullptr; 371 PFNGLPROVOKINGVERTEXPROC provokingVertex = nullptr; 372 PFNGLSAMPLEMASKIPROC sampleMaski = nullptr; 373 PFNGLTEXIMAGE2DMULTISAMPLEPROC texImage2DMultisample = nullptr; 374 PFNGLTEXIMAGE3DMULTISAMPLEPROC texImage3DMultisample = nullptr; 375 PFNGLWAITSYNCPROC waitSync = nullptr; 376 377 // 3.3 378 PFNGLBINDFRAGDATALOCATIONINDEXEDPROC bindFragDataLocationIndexed = nullptr; 379 PFNGLBINDSAMPLERPROC bindSampler = nullptr; 380 PFNGLDELETESAMPLERSPROC deleteSamplers = nullptr; 381 PFNGLGENSAMPLERSPROC genSamplers = nullptr; 382 PFNGLGETFRAGDATAINDEXPROC getFragDataIndex = nullptr; 383 PFNGLGETQUERYOBJECTI64VPROC getQueryObjecti64v = nullptr; 384 PFNGLGETQUERYOBJECTUI64VPROC getQueryObjectui64v = nullptr; 385 PFNGLGETSAMPLERPARAMETERIIVPROC getSamplerParameterIiv = nullptr; 386 PFNGLGETSAMPLERPARAMETERIUIVPROC getSamplerParameterIuiv = nullptr; 387 PFNGLGETSAMPLERPARAMETERFVPROC getSamplerParameterfv = nullptr; 388 PFNGLGETSAMPLERPARAMETERIVPROC getSamplerParameteriv = nullptr; 389 PFNGLISSAMPLERPROC isSampler = nullptr; 390 PFNGLQUERYCOUNTERPROC queryCounter = nullptr; 391 PFNGLSAMPLERPARAMETERIIVPROC samplerParameterIiv = nullptr; 392 PFNGLSAMPLERPARAMETERIUIVPROC samplerParameterIuiv = nullptr; 393 PFNGLSAMPLERPARAMETERFPROC samplerParameterf = nullptr; 394 PFNGLSAMPLERPARAMETERFVPROC samplerParameterfv = nullptr; 395 PFNGLSAMPLERPARAMETERIPROC samplerParameteri = nullptr; 396 PFNGLSAMPLERPARAMETERIVPROC samplerParameteriv = nullptr; 397 PFNGLVERTEXATTRIBDIVISORPROC vertexAttribDivisor = nullptr; 398 PFNGLVERTEXATTRIBP1UIPROC vertexAttribP1ui = nullptr; 399 PFNGLVERTEXATTRIBP1UIVPROC vertexAttribP1uiv = nullptr; 400 PFNGLVERTEXATTRIBP2UIPROC vertexAttribP2ui = nullptr; 401 PFNGLVERTEXATTRIBP2UIVPROC vertexAttribP2uiv = nullptr; 402 PFNGLVERTEXATTRIBP3UIPROC vertexAttribP3ui = nullptr; 403 PFNGLVERTEXATTRIBP3UIVPROC vertexAttribP3uiv = nullptr; 404 PFNGLVERTEXATTRIBP4UIPROC vertexAttribP4ui = nullptr; 405 PFNGLVERTEXATTRIBP4UIVPROC vertexAttribP4uiv = nullptr; 406 407 // 4.0 408 PFNGLBEGINQUERYINDEXEDPROC beginQueryIndexed = nullptr; 409 PFNGLBINDTRANSFORMFEEDBACKPROC bindTransformFeedback = nullptr; 410 PFNGLBLENDEQUATIONSEPARATEIPROC blendEquationSeparatei = nullptr; 411 PFNGLBLENDEQUATIONIPROC blendEquationi = nullptr; 412 PFNGLBLENDFUNCSEPARATEIPROC blendFuncSeparatei = nullptr; 413 PFNGLBLENDFUNCIPROC blendFunci = nullptr; 414 PFNGLDELETETRANSFORMFEEDBACKSPROC deleteTransformFeedbacks = nullptr; 415 PFNGLDRAWARRAYSINDIRECTPROC drawArraysIndirect = nullptr; 416 PFNGLDRAWELEMENTSINDIRECTPROC drawElementsIndirect = nullptr; 417 PFNGLDRAWTRANSFORMFEEDBACKPROC drawTransformFeedback = nullptr; 418 PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC drawTransformFeedbackStream = nullptr; 419 PFNGLENDQUERYINDEXEDPROC endQueryIndexed = nullptr; 420 PFNGLGENTRANSFORMFEEDBACKSPROC genTransformFeedbacks = nullptr; 421 PFNGLGETACTIVESUBROUTINENAMEPROC getActiveSubroutineName = nullptr; 422 PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC getActiveSubroutineUniformName = nullptr; 423 PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC getActiveSubroutineUniformiv = nullptr; 424 PFNGLGETPROGRAMSTAGEIVPROC getProgramStageiv = nullptr; 425 PFNGLGETQUERYINDEXEDIVPROC getQueryIndexediv = nullptr; 426 PFNGLGETSUBROUTINEINDEXPROC getSubroutineIndex = nullptr; 427 PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC getSubroutineUniformLocation = nullptr; 428 PFNGLGETUNIFORMSUBROUTINEUIVPROC getUniformSubroutineuiv = nullptr; 429 PFNGLGETUNIFORMDVPROC getUniformdv = nullptr; 430 PFNGLISTRANSFORMFEEDBACKPROC isTransformFeedback = nullptr; 431 PFNGLMINSAMPLESHADINGPROC minSampleShading = nullptr; 432 PFNGLPATCHPARAMETERFVPROC patchParameterfv = nullptr; 433 PFNGLPATCHPARAMETERIPROC patchParameteri = nullptr; 434 PFNGLPAUSETRANSFORMFEEDBACKPROC pauseTransformFeedback = nullptr; 435 PFNGLRESUMETRANSFORMFEEDBACKPROC resumeTransformFeedback = nullptr; 436 PFNGLUNIFORM1DPROC uniform1d = nullptr; 437 PFNGLUNIFORM1DVPROC uniform1dv = nullptr; 438 PFNGLUNIFORM2DPROC uniform2d = nullptr; 439 PFNGLUNIFORM2DVPROC uniform2dv = nullptr; 440 PFNGLUNIFORM3DPROC uniform3d = nullptr; 441 PFNGLUNIFORM3DVPROC uniform3dv = nullptr; 442 PFNGLUNIFORM4DPROC uniform4d = nullptr; 443 PFNGLUNIFORM4DVPROC uniform4dv = nullptr; 444 PFNGLUNIFORMMATRIX2DVPROC uniformMatrix2dv = nullptr; 445 PFNGLUNIFORMMATRIX2X3DVPROC uniformMatrix2x3dv = nullptr; 446 PFNGLUNIFORMMATRIX2X4DVPROC uniformMatrix2x4dv = nullptr; 447 PFNGLUNIFORMMATRIX3DVPROC uniformMatrix3dv = nullptr; 448 PFNGLUNIFORMMATRIX3X2DVPROC uniformMatrix3x2dv = nullptr; 449 PFNGLUNIFORMMATRIX3X4DVPROC uniformMatrix3x4dv = nullptr; 450 PFNGLUNIFORMMATRIX4DVPROC uniformMatrix4dv = nullptr; 451 PFNGLUNIFORMMATRIX4X2DVPROC uniformMatrix4x2dv = nullptr; 452 PFNGLUNIFORMMATRIX4X3DVPROC uniformMatrix4x3dv = nullptr; 453 PFNGLUNIFORMSUBROUTINESUIVPROC uniformSubroutinesuiv = nullptr; 454 455 // 4.1 456 PFNGLACTIVESHADERPROGRAMPROC activeShaderProgram = nullptr; 457 PFNGLBINDPROGRAMPIPELINEPROC bindProgramPipeline = nullptr; 458 PFNGLCLEARDEPTHFPROC clearDepthf = nullptr; 459 PFNGLCREATESHADERPROGRAMVPROC createShaderProgramv = nullptr; 460 PFNGLDELETEPROGRAMPIPELINESPROC deleteProgramPipelines = nullptr; 461 PFNGLDEPTHRANGEARRAYVPROC depthRangeArrayv = nullptr; 462 PFNGLDEPTHRANGEINDEXEDPROC depthRangeIndexed = nullptr; 463 PFNGLDEPTHRANGEFPROC depthRangef = nullptr; 464 PFNGLGENPROGRAMPIPELINESPROC genProgramPipelines = nullptr; 465 PFNGLGETDOUBLEI_VPROC getDoublei_v = nullptr; 466 PFNGLGETFLOATI_VPROC getFloati_v = nullptr; 467 PFNGLGETPROGRAMBINARYPROC getProgramBinary = nullptr; 468 PFNGLGETPROGRAMPIPELINEINFOLOGPROC getProgramPipelineInfoLog = nullptr; 469 PFNGLGETPROGRAMPIPELINEIVPROC getProgramPipelineiv = nullptr; 470 PFNGLGETSHADERPRECISIONFORMATPROC getShaderPrecisionFormat = nullptr; 471 PFNGLGETVERTEXATTRIBLDVPROC getVertexAttribLdv = nullptr; 472 PFNGLISPROGRAMPIPELINEPROC isProgramPipeline = nullptr; 473 PFNGLPROGRAMBINARYPROC programBinary = nullptr; 474 PFNGLPROGRAMPARAMETERIPROC programParameteri = nullptr; 475 PFNGLPROGRAMUNIFORM1DPROC programUniform1d = nullptr; 476 PFNGLPROGRAMUNIFORM1DVPROC programUniform1dv = nullptr; 477 PFNGLPROGRAMUNIFORM1FPROC programUniform1f = nullptr; 478 PFNGLPROGRAMUNIFORM1FVPROC programUniform1fv = nullptr; 479 PFNGLPROGRAMUNIFORM1IPROC programUniform1i = nullptr; 480 PFNGLPROGRAMUNIFORM1IVPROC programUniform1iv = nullptr; 481 PFNGLPROGRAMUNIFORM1UIPROC programUniform1ui = nullptr; 482 PFNGLPROGRAMUNIFORM1UIVPROC programUniform1uiv = nullptr; 483 PFNGLPROGRAMUNIFORM2DPROC programUniform2d = nullptr; 484 PFNGLPROGRAMUNIFORM2DVPROC programUniform2dv = nullptr; 485 PFNGLPROGRAMUNIFORM2FPROC programUniform2f = nullptr; 486 PFNGLPROGRAMUNIFORM2FVPROC programUniform2fv = nullptr; 487 PFNGLPROGRAMUNIFORM2IPROC programUniform2i = nullptr; 488 PFNGLPROGRAMUNIFORM2IVPROC programUniform2iv = nullptr; 489 PFNGLPROGRAMUNIFORM2UIPROC programUniform2ui = nullptr; 490 PFNGLPROGRAMUNIFORM2UIVPROC programUniform2uiv = nullptr; 491 PFNGLPROGRAMUNIFORM3DPROC programUniform3d = nullptr; 492 PFNGLPROGRAMUNIFORM3DVPROC programUniform3dv = nullptr; 493 PFNGLPROGRAMUNIFORM3FPROC programUniform3f = nullptr; 494 PFNGLPROGRAMUNIFORM3FVPROC programUniform3fv = nullptr; 495 PFNGLPROGRAMUNIFORM3IPROC programUniform3i = nullptr; 496 PFNGLPROGRAMUNIFORM3IVPROC programUniform3iv = nullptr; 497 PFNGLPROGRAMUNIFORM3UIPROC programUniform3ui = nullptr; 498 PFNGLPROGRAMUNIFORM3UIVPROC programUniform3uiv = nullptr; 499 PFNGLPROGRAMUNIFORM4DPROC programUniform4d = nullptr; 500 PFNGLPROGRAMUNIFORM4DVPROC programUniform4dv = nullptr; 501 PFNGLPROGRAMUNIFORM4FPROC programUniform4f = nullptr; 502 PFNGLPROGRAMUNIFORM4FVPROC programUniform4fv = nullptr; 503 PFNGLPROGRAMUNIFORM4IPROC programUniform4i = nullptr; 504 PFNGLPROGRAMUNIFORM4IVPROC programUniform4iv = nullptr; 505 PFNGLPROGRAMUNIFORM4UIPROC programUniform4ui = nullptr; 506 PFNGLPROGRAMUNIFORM4UIVPROC programUniform4uiv = nullptr; 507 PFNGLPROGRAMUNIFORMMATRIX2DVPROC programUniformMatrix2dv = nullptr; 508 PFNGLPROGRAMUNIFORMMATRIX2FVPROC programUniformMatrix2fv = nullptr; 509 PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC programUniformMatrix2x3dv = nullptr; 510 PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC programUniformMatrix2x3fv = nullptr; 511 PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC programUniformMatrix2x4dv = nullptr; 512 PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC programUniformMatrix2x4fv = nullptr; 513 PFNGLPROGRAMUNIFORMMATRIX3DVPROC programUniformMatrix3dv = nullptr; 514 PFNGLPROGRAMUNIFORMMATRIX3FVPROC programUniformMatrix3fv = nullptr; 515 PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC programUniformMatrix3x2dv = nullptr; 516 PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC programUniformMatrix3x2fv = nullptr; 517 PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC programUniformMatrix3x4dv = nullptr; 518 PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC programUniformMatrix3x4fv = nullptr; 519 PFNGLPROGRAMUNIFORMMATRIX4DVPROC programUniformMatrix4dv = nullptr; 520 PFNGLPROGRAMUNIFORMMATRIX4FVPROC programUniformMatrix4fv = nullptr; 521 PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC programUniformMatrix4x2dv = nullptr; 522 PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC programUniformMatrix4x2fv = nullptr; 523 PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC programUniformMatrix4x3dv = nullptr; 524 PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC programUniformMatrix4x3fv = nullptr; 525 PFNGLRELEASESHADERCOMPILERPROC releaseShaderCompiler = nullptr; 526 PFNGLSCISSORARRAYVPROC scissorArrayv = nullptr; 527 PFNGLSCISSORINDEXEDPROC scissorIndexed = nullptr; 528 PFNGLSCISSORINDEXEDVPROC scissorIndexedv = nullptr; 529 PFNGLSHADERBINARYPROC shaderBinary = nullptr; 530 PFNGLUSEPROGRAMSTAGESPROC useProgramStages = nullptr; 531 PFNGLVALIDATEPROGRAMPIPELINEPROC validateProgramPipeline = nullptr; 532 PFNGLVERTEXATTRIBL1DPROC vertexAttribL1d = nullptr; 533 PFNGLVERTEXATTRIBL1DVPROC vertexAttribL1dv = nullptr; 534 PFNGLVERTEXATTRIBL2DPROC vertexAttribL2d = nullptr; 535 PFNGLVERTEXATTRIBL2DVPROC vertexAttribL2dv = nullptr; 536 PFNGLVERTEXATTRIBL3DPROC vertexAttribL3d = nullptr; 537 PFNGLVERTEXATTRIBL3DVPROC vertexAttribL3dv = nullptr; 538 PFNGLVERTEXATTRIBL4DPROC vertexAttribL4d = nullptr; 539 PFNGLVERTEXATTRIBL4DVPROC vertexAttribL4dv = nullptr; 540 PFNGLVERTEXATTRIBLPOINTERPROC vertexAttribLPointer = nullptr; 541 PFNGLVIEWPORTARRAYVPROC viewportArrayv = nullptr; 542 PFNGLVIEWPORTINDEXEDFPROC viewportIndexedf = nullptr; 543 PFNGLVIEWPORTINDEXEDFVPROC viewportIndexedfv = nullptr; 544 545 // 4.2 546 PFNGLBINDIMAGETEXTUREPROC bindImageTexture = nullptr; 547 PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC drawArraysInstancedBaseInstance = nullptr; 548 PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC drawElementsInstancedBaseInstance = nullptr; 549 PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC drawElementsInstancedBaseVertexBaseInstance = nullptr; 550 PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC drawTransformFeedbackInstanced = nullptr; 551 PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC drawTransformFeedbackStreamInstanced = nullptr; 552 PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC getActiveAtomicCounterBufferiv = nullptr; 553 PFNGLGETINTERNALFORMATIVPROC getInternalformativ = nullptr; 554 PFNGLMEMORYBARRIERPROC memoryBarrier = nullptr; 555 PFNGLTEXSTORAGE1DPROC texStorage1D = nullptr; 556 PFNGLTEXSTORAGE2DPROC texStorage2D = nullptr; 557 PFNGLTEXSTORAGE3DPROC texStorage3D = nullptr; 558 559 // 4.3 560 PFNGLBINDVERTEXBUFFERPROC bindVertexBuffer = nullptr; 561 PFNGLCLEARBUFFERDATAPROC clearBufferData = nullptr; 562 PFNGLCLEARBUFFERSUBDATAPROC clearBufferSubData = nullptr; 563 PFNGLCOPYIMAGESUBDATAPROC copyImageSubData = nullptr; 564 PFNGLCOVERAGEMODULATIONNVPROC coverageModulationNV = nullptr; 565 PFNGLDEBUGMESSAGECALLBACKPROC debugMessageCallback = nullptr; 566 PFNGLDEBUGMESSAGECONTROLPROC debugMessageControl = nullptr; 567 PFNGLDEBUGMESSAGEINSERTPROC debugMessageInsert = nullptr; 568 PFNGLDISPATCHCOMPUTEPROC dispatchCompute = nullptr; 569 PFNGLDISPATCHCOMPUTEINDIRECTPROC dispatchComputeIndirect = nullptr; 570 PFNGLFRAMEBUFFERPARAMETERIPROC framebufferParameteri = nullptr; 571 PFNGLGETDEBUGMESSAGELOGPROC getDebugMessageLog = nullptr; 572 PFNGLGETFRAMEBUFFERPARAMETERIVPROC getFramebufferParameteriv = nullptr; 573 PFNGLGETINTERNALFORMATI64VPROC getInternalformati64v = nullptr; 574 PFNGLGETOBJECTLABELPROC getObjectLabel = nullptr; 575 PFNGLGETOBJECTPTRLABELPROC getObjectPtrLabel = nullptr; 576 PFNGLGETPOINTERVPROC getPointerv = nullptr; 577 PFNGLGETPROGRAMINTERFACEIVPROC getProgramInterfaceiv = nullptr; 578 PFNGLGETPROGRAMRESOURCEINDEXPROC getProgramResourceIndex = nullptr; 579 PFNGLGETPROGRAMRESOURCELOCATIONPROC getProgramResourceLocation = nullptr; 580 PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC getProgramResourceLocationIndex = nullptr; 581 PFNGLGETPROGRAMRESOURCENAMEPROC getProgramResourceName = nullptr; 582 PFNGLGETPROGRAMRESOURCEIVPROC getProgramResourceiv = nullptr; 583 PFNGLINVALIDATEBUFFERDATAPROC invalidateBufferData = nullptr; 584 PFNGLINVALIDATEBUFFERSUBDATAPROC invalidateBufferSubData = nullptr; 585 PFNGLINVALIDATEFRAMEBUFFERPROC invalidateFramebuffer = nullptr; 586 PFNGLINVALIDATESUBFRAMEBUFFERPROC invalidateSubFramebuffer = nullptr; 587 PFNGLINVALIDATETEXIMAGEPROC invalidateTexImage = nullptr; 588 PFNGLINVALIDATETEXSUBIMAGEPROC invalidateTexSubImage = nullptr; 589 PFNGLMULTIDRAWARRAYSINDIRECTPROC multiDrawArraysIndirect = nullptr; 590 PFNGLMULTIDRAWELEMENTSINDIRECTPROC multiDrawElementsIndirect = nullptr; 591 PFNGLOBJECTLABELPROC objectLabel = nullptr; 592 PFNGLOBJECTPTRLABELPROC objectPtrLabel = nullptr; 593 PFNGLPOPDEBUGGROUPPROC popDebugGroup = nullptr; 594 PFNGLPUSHDEBUGGROUPPROC pushDebugGroup = nullptr; 595 PFNGLSHADERSTORAGEBLOCKBINDINGPROC shaderStorageBlockBinding = nullptr; 596 PFNGLTEXBUFFERRANGEPROC texBufferRange = nullptr; 597 PFNGLTEXSTORAGE2DMULTISAMPLEPROC texStorage2DMultisample = nullptr; 598 PFNGLTEXSTORAGE3DMULTISAMPLEPROC texStorage3DMultisample = nullptr; 599 PFNGLTEXTUREVIEWPROC textureView = nullptr; 600 PFNGLVERTEXATTRIBBINDINGPROC vertexAttribBinding = nullptr; 601 PFNGLVERTEXATTRIBFORMATPROC vertexAttribFormat = nullptr; 602 PFNGLVERTEXATTRIBIFORMATPROC vertexAttribIFormat = nullptr; 603 PFNGLVERTEXATTRIBLFORMATPROC vertexAttribLFormat = nullptr; 604 PFNGLVERTEXBINDINGDIVISORPROC vertexBindingDivisor = nullptr; 605 606 // 4.4 607 PFNGLBINDBUFFERSBASEPROC bindBuffersBase = nullptr; 608 PFNGLBINDBUFFERSRANGEPROC bindBuffersRange = nullptr; 609 PFNGLBINDIMAGETEXTURESPROC bindImageTextures = nullptr; 610 PFNGLBINDSAMPLERSPROC bindSamplers = nullptr; 611 PFNGLBINDTEXTURESPROC bindTextures = nullptr; 612 PFNGLBINDVERTEXBUFFERSPROC bindVertexBuffers = nullptr; 613 PFNGLBUFFERSTORAGEPROC bufferStorage = nullptr; 614 PFNGLCLEARTEXIMAGEPROC clearTexImage = nullptr; 615 PFNGLCLEARTEXSUBIMAGEPROC clearTexSubImage = nullptr; 616 617 // 4.5 618 PFNGLBINDTEXTUREUNITPROC bindTextureUnit = nullptr; 619 PFNGLBLITNAMEDFRAMEBUFFERPROC blitNamedFramebuffer = nullptr; 620 PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC checkNamedFramebufferStatus = nullptr; 621 PFNGLCLEARNAMEDBUFFERDATAPROC clearNamedBufferData = nullptr; 622 PFNGLCLEARNAMEDBUFFERSUBDATAPROC clearNamedBufferSubData = nullptr; 623 PFNGLCLEARNAMEDFRAMEBUFFERFIPROC clearNamedFramebufferfi = nullptr; 624 PFNGLCLEARNAMEDFRAMEBUFFERFVPROC clearNamedFramebufferfv = nullptr; 625 PFNGLCLEARNAMEDFRAMEBUFFERIVPROC clearNamedFramebufferiv = nullptr; 626 PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC clearNamedFramebufferuiv = nullptr; 627 PFNGLCLIPCONTROLPROC clipControl = nullptr; 628 PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC compressedTextureSubImage1D = nullptr; 629 PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC compressedTextureSubImage2D = nullptr; 630 PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC compressedTextureSubImage3D = nullptr; 631 PFNGLCOPYNAMEDBUFFERSUBDATAPROC copyNamedBufferSubData = nullptr; 632 PFNGLCOPYTEXTURESUBIMAGE1DPROC copyTextureSubImage1D = nullptr; 633 PFNGLCOPYTEXTURESUBIMAGE2DPROC copyTextureSubImage2D = nullptr; 634 PFNGLCOPYTEXTURESUBIMAGE3DPROC copyTextureSubImage3D = nullptr; 635 PFNGLCREATEBUFFERSPROC createBuffers = nullptr; 636 PFNGLCREATEFRAMEBUFFERSPROC createFramebuffers = nullptr; 637 PFNGLCREATEPROGRAMPIPELINESPROC createProgramPipelines = nullptr; 638 PFNGLCREATEQUERIESPROC createQueries = nullptr; 639 PFNGLCREATERENDERBUFFERSPROC createRenderbuffers = nullptr; 640 PFNGLCREATESAMPLERSPROC createSamplers = nullptr; 641 PFNGLCREATETEXTURESPROC createTextures = nullptr; 642 PFNGLCREATETRANSFORMFEEDBACKSPROC createTransformFeedbacks = nullptr; 643 PFNGLCREATEVERTEXARRAYSPROC createVertexArrays = nullptr; 644 PFNGLDISABLEVERTEXARRAYATTRIBPROC disableVertexArrayAttrib = nullptr; 645 PFNGLENABLEVERTEXARRAYATTRIBPROC enableVertexArrayAttrib = nullptr; 646 PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC flushMappedNamedBufferRange = nullptr; 647 PFNGLGENERATETEXTUREMIPMAPPROC generateTextureMipmap = nullptr; 648 PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC getCompressedTextureImage = nullptr; 649 PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC getCompressedTextureSubImage = nullptr; 650 PFNGLGETGRAPHICSRESETSTATUSPROC getGraphicsResetStatus = nullptr; 651 PFNGLGETNAMEDBUFFERPARAMETERI64VPROC getNamedBufferParameteri64v = nullptr; 652 PFNGLGETNAMEDBUFFERPARAMETERIVPROC getNamedBufferParameteriv = nullptr; 653 PFNGLGETNAMEDBUFFERPOINTERVPROC getNamedBufferPointerv = nullptr; 654 PFNGLGETNAMEDBUFFERSUBDATAPROC getNamedBufferSubData = nullptr; 655 PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC getNamedFramebufferAttachmentParameteriv = nullptr; 656 PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC getNamedFramebufferParameteriv = nullptr; 657 PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC getNamedRenderbufferParameteriv = nullptr; 658 PFNGLGETQUERYBUFFEROBJECTI64VPROC getQueryBufferObjecti64v = nullptr; 659 PFNGLGETQUERYBUFFEROBJECTIVPROC getQueryBufferObjectiv = nullptr; 660 PFNGLGETQUERYBUFFEROBJECTUI64VPROC getQueryBufferObjectui64v = nullptr; 661 PFNGLGETQUERYBUFFEROBJECTUIVPROC getQueryBufferObjectuiv = nullptr; 662 PFNGLGETTEXTUREIMAGEPROC getTextureImage = nullptr; 663 PFNGLGETTEXTURELEVELPARAMETERFVPROC getTextureLevelParameterfv = nullptr; 664 PFNGLGETTEXTURELEVELPARAMETERIVPROC getTextureLevelParameteriv = nullptr; 665 PFNGLGETTEXTUREPARAMETERIIVPROC getTextureParameterIiv = nullptr; 666 PFNGLGETTEXTUREPARAMETERIUIVPROC getTextureParameterIuiv = nullptr; 667 PFNGLGETTEXTUREPARAMETERFVPROC getTextureParameterfv = nullptr; 668 PFNGLGETTEXTUREPARAMETERIVPROC getTextureParameteriv = nullptr; 669 PFNGLGETTEXTURESUBIMAGEPROC getTextureSubImage = nullptr; 670 PFNGLGETTRANSFORMFEEDBACKI64_VPROC getTransformFeedbacki64_v = nullptr; 671 PFNGLGETTRANSFORMFEEDBACKI_VPROC getTransformFeedbacki_v = nullptr; 672 PFNGLGETTRANSFORMFEEDBACKIVPROC getTransformFeedbackiv = nullptr; 673 PFNGLGETVERTEXARRAYINDEXED64IVPROC getVertexArrayIndexed64iv = nullptr; 674 PFNGLGETVERTEXARRAYINDEXEDIVPROC getVertexArrayIndexediv = nullptr; 675 PFNGLGETVERTEXARRAYIVPROC getVertexArrayiv = nullptr; 676 PFNGLGETNCOMPRESSEDTEXIMAGEPROC getnCompressedTexImage = nullptr; 677 PFNGLGETNTEXIMAGEPROC getnTexImage = nullptr; 678 PFNGLGETNUNIFORMDVPROC getnUniformdv = nullptr; 679 PFNGLGETNUNIFORMFVPROC getnUniformfv = nullptr; 680 PFNGLGETNUNIFORMIVPROC getnUniformiv = nullptr; 681 PFNGLGETNUNIFORMUIVPROC getnUniformuiv = nullptr; 682 PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC invalidateNamedFramebufferData = nullptr; 683 PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC invalidateNamedFramebufferSubData = nullptr; 684 PFNGLMAPNAMEDBUFFERPROC mapNamedBuffer = nullptr; 685 PFNGLMAPNAMEDBUFFERRANGEPROC mapNamedBufferRange = nullptr; 686 PFNGLMEMORYBARRIERBYREGIONPROC memoryBarrierByRegion = nullptr; 687 PFNGLNAMEDBUFFERDATAPROC namedBufferData = nullptr; 688 PFNGLNAMEDBUFFERSTORAGEPROC namedBufferStorage = nullptr; 689 PFNGLNAMEDBUFFERSUBDATAPROC namedBufferSubData = nullptr; 690 PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC namedFramebufferDrawBuffer = nullptr; 691 PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC namedFramebufferDrawBuffers = nullptr; 692 PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC namedFramebufferParameteri = nullptr; 693 PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC namedFramebufferReadBuffer = nullptr; 694 PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC namedFramebufferRenderbuffer = nullptr; 695 PFNGLNAMEDFRAMEBUFFERTEXTUREPROC namedFramebufferTexture = nullptr; 696 PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC namedFramebufferTextureLayer = nullptr; 697 PFNGLNAMEDRENDERBUFFERSTORAGEPROC namedRenderbufferStorage = nullptr; 698 PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC namedRenderbufferStorageMultisample = nullptr; 699 PFNGLREADNPIXELSPROC readnPixels = nullptr; 700 PFNGLTEXTUREBARRIERPROC textureBarrier = nullptr; 701 PFNGLTEXTUREBUFFERPROC textureBuffer = nullptr; 702 PFNGLTEXTUREBUFFERRANGEPROC textureBufferRange = nullptr; 703 PFNGLTEXTUREPARAMETERIIVPROC textureParameterIiv = nullptr; 704 PFNGLTEXTUREPARAMETERIUIVPROC textureParameterIuiv = nullptr; 705 PFNGLTEXTUREPARAMETERFPROC textureParameterf = nullptr; 706 PFNGLTEXTUREPARAMETERFVPROC textureParameterfv = nullptr; 707 PFNGLTEXTUREPARAMETERIPROC textureParameteri = nullptr; 708 PFNGLTEXTUREPARAMETERIVPROC textureParameteriv = nullptr; 709 PFNGLTEXTURESTORAGE1DPROC textureStorage1D = nullptr; 710 PFNGLTEXTURESTORAGE2DPROC textureStorage2D = nullptr; 711 PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC textureStorage2DMultisample = nullptr; 712 PFNGLTEXTURESTORAGE3DPROC textureStorage3D = nullptr; 713 PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC textureStorage3DMultisample = nullptr; 714 PFNGLTEXTURESUBIMAGE1DPROC textureSubImage1D = nullptr; 715 PFNGLTEXTURESUBIMAGE2DPROC textureSubImage2D = nullptr; 716 PFNGLTEXTURESUBIMAGE3DPROC textureSubImage3D = nullptr; 717 PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC transformFeedbackBufferBase = nullptr; 718 PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC transformFeedbackBufferRange = nullptr; 719 PFNGLUNMAPNAMEDBUFFERPROC unmapNamedBuffer = nullptr; 720 PFNGLVERTEXARRAYATTRIBBINDINGPROC vertexArrayAttribBinding = nullptr; 721 PFNGLVERTEXARRAYATTRIBFORMATPROC vertexArrayAttribFormat = nullptr; 722 PFNGLVERTEXARRAYATTRIBIFORMATPROC vertexArrayAttribIFormat = nullptr; 723 PFNGLVERTEXARRAYATTRIBLFORMATPROC vertexArrayAttribLFormat = nullptr; 724 PFNGLVERTEXARRAYBINDINGDIVISORPROC vertexArrayBindingDivisor = nullptr; 725 PFNGLVERTEXARRAYELEMENTBUFFERPROC vertexArrayElementBuffer = nullptr; 726 PFNGLVERTEXARRAYVERTEXBUFFERPROC vertexArrayVertexBuffer = nullptr; 727 PFNGLVERTEXARRAYVERTEXBUFFERSPROC vertexArrayVertexBuffers = nullptr; 728 729 // ES 3.2 730 PFNGLBLENDBARRIERPROC blendBarrier = nullptr; 731 PFNGLPRIMITIVEBOUNDINGBOXPROC primitiveBoundingBox = nullptr; 732 733 // GL_ARB_parallel_shader_compile 734 PFNGLMAXSHADERCOMPILERTHREADSARBPROC maxShaderCompilerThreadsARB = nullptr; 735 736 // GL_EXT_debug_marker 737 PFNGLINSERTEVENTMARKEREXTPROC insertEventMarkerEXT = nullptr; 738 PFNGLPOPGROUPMARKEREXTPROC popGroupMarkerEXT = nullptr; 739 PFNGLPUSHGROUPMARKEREXTPROC pushGroupMarkerEXT = nullptr; 740 741 // GL_EXT_discard_framebuffer 742 PFNGLDISCARDFRAMEBUFFEREXTPROC discardFramebufferEXT = nullptr; 743 744 // GL_EXT_framebuffer_blit 745 PFNGLBLITFRAMEBUFFEREXTPROC blitFramebufferEXT = nullptr; 746 747 // GL_EXT_memory_object 748 PFNGLBUFFERSTORAGEMEMEXTPROC bufferStorageMemEXT = nullptr; 749 PFNGLCREATEMEMORYOBJECTSEXTPROC createMemoryObjectsEXT = nullptr; 750 PFNGLDELETEMEMORYOBJECTSEXTPROC deleteMemoryObjectsEXT = nullptr; 751 PFNGLGETMEMORYOBJECTPARAMETERIVEXTPROC getMemoryObjectParameterivEXT = nullptr; 752 PFNGLGETUNSIGNEDBYTEI_VEXTPROC getUnsignedBytei_vEXT = nullptr; 753 PFNGLGETUNSIGNEDBYTEVEXTPROC getUnsignedBytevEXT = nullptr; 754 PFNGLISMEMORYOBJECTEXTPROC isMemoryObjectEXT = nullptr; 755 PFNGLMEMORYOBJECTPARAMETERIVEXTPROC memoryObjectParameterivEXT = nullptr; 756 PFNGLNAMEDBUFFERSTORAGEMEMEXTPROC namedBufferStorageMemEXT = nullptr; 757 PFNGLTEXSTORAGEMEM2DEXTPROC texStorageMem2DEXT = nullptr; 758 PFNGLTEXSTORAGEMEM2DMULTISAMPLEEXTPROC texStorageMem2DMultisampleEXT = nullptr; 759 PFNGLTEXSTORAGEMEM3DEXTPROC texStorageMem3DEXT = nullptr; 760 PFNGLTEXSTORAGEMEM3DMULTISAMPLEEXTPROC texStorageMem3DMultisampleEXT = nullptr; 761 PFNGLTEXTURESTORAGEMEM2DEXTPROC textureStorageMem2DEXT = nullptr; 762 PFNGLTEXTURESTORAGEMEM2DMULTISAMPLEEXTPROC textureStorageMem2DMultisampleEXT = nullptr; 763 PFNGLTEXTURESTORAGEMEM3DEXTPROC textureStorageMem3DEXT = nullptr; 764 PFNGLTEXTURESTORAGEMEM3DMULTISAMPLEEXTPROC textureStorageMem3DMultisampleEXT = nullptr; 765 766 // GL_EXT_memory_object_fd 767 PFNGLIMPORTMEMORYFDEXTPROC importMemoryFdEXT = nullptr; 768 769 // GL_EXT_memory_object_win32 770 PFNGLIMPORTMEMORYWIN32HANDLEEXTPROC importMemoryWin32HandleEXT = nullptr; 771 PFNGLIMPORTMEMORYWIN32NAMEEXTPROC importMemoryWin32NameEXT = nullptr; 772 773 // GL_EXT_multisampled_render_to_texture 774 PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC framebufferTexture2DMultisampleEXT = nullptr; 775 PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC renderbufferStorageMultisampleEXT = nullptr; 776 777 // GL_EXT_semaphore 778 PFNGLDELETESEMAPHORESEXTPROC deleteSemaphoresEXT = nullptr; 779 PFNGLGENSEMAPHORESEXTPROC genSemaphoresEXT = nullptr; 780 PFNGLGETSEMAPHOREPARAMETERUI64VEXTPROC getSemaphoreParameterui64vEXT = nullptr; 781 PFNGLISSEMAPHOREEXTPROC isSemaphoreEXT = nullptr; 782 PFNGLSEMAPHOREPARAMETERUI64VEXTPROC semaphoreParameterui64vEXT = nullptr; 783 PFNGLSIGNALSEMAPHOREEXTPROC signalSemaphoreEXT = nullptr; 784 PFNGLWAITSEMAPHOREEXTPROC waitSemaphoreEXT = nullptr; 785 786 // GL_EXT_semaphore_fd 787 PFNGLIMPORTSEMAPHOREFDEXTPROC importSemaphoreFdEXT = nullptr; 788 789 // GL_EXT_semaphore_win32 790 PFNGLIMPORTSEMAPHOREWIN32HANDLEEXTPROC importSemaphoreWin32HandleEXT = nullptr; 791 PFNGLIMPORTSEMAPHOREWIN32NAMEEXTPROC importSemaphoreWin32NameEXT = nullptr; 792 793 // GL_EXT_texture_buffer 794 PFNGLTEXBUFFEREXTPROC texBufferEXT = nullptr; 795 PFNGLTEXBUFFERRANGEEXTPROC texBufferRangeEXT = nullptr; 796 797 // GL_IMG_multisampled_render_to_texture 798 PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC framebufferTexture2DMultisampleIMG = nullptr; 799 PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC renderbufferStorageMultisampleIMG = nullptr; 800 801 // GL_KHR_parallel_shader_compile 802 PFNGLMAXSHADERCOMPILERTHREADSKHRPROC maxShaderCompilerThreadsKHR = nullptr; 803 804 // GL_NV_framebuffer_blit 805 PFNGLBLITFRAMEBUFFERNVPROC blitFramebufferNV = nullptr; 806 807 // GL_NV_internalformat_sample_query 808 PFNGLGETINTERNALFORMATSAMPLEIVNVPROC getInternalformatSampleivNV = nullptr; 809 810 // GL_OES_EGL_image 811 PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC eGLImageTargetRenderbufferStorageOES = nullptr; 812 PFNGLEGLIMAGETARGETTEXTURE2DOESPROC eGLImageTargetTexture2DOES = nullptr; 813 814 // GL_OES_texture_buffer 815 PFNGLTEXBUFFEROESPROC texBufferOES = nullptr; 816 PFNGLTEXBUFFERRANGEOESPROC texBufferRangeOES = nullptr; 817 818 // GL_OVR_multiview2 819 PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC framebufferTextureMultiviewOVR = nullptr; 820 // clang-format on 821 822 DispatchTableGL(); 823 virtual ~DispatchTableGL() = default; 824 825 protected: 826 virtual void *loadProcAddress(const std::string &function) const = 0; 827 828 void initProcsDesktopGL(const gl::Version &version, const std::set<std::string> &extensions); 829 void initProcsGLES(const gl::Version &version, const std::set<std::string> &extensions); 830 void initProcsSharedExtensions(const std::set<std::string> &extensions); 831 832 #if defined(ANGLE_ENABLE_OPENGL_NULL) 833 void initProcsDesktopGLNULL(const gl::Version &version, 834 const std::set<std::string> &extensions); 835 void initProcsGLESNULL(const gl::Version &version, const std::set<std::string> &extensions); 836 void initProcsSharedExtensionsNULL(const std::set<std::string> &extensions); 837 #endif // defined(ANGLE_ENABLE_OPENGL_NULL) 838 }; 839 840 } // namespace rx 841 842 #endif // LIBGLESV2_RENDERER_GL_DISPATCH_TABLE_GL_AUTOGEN_H_ 843