| #!/usr/bin/env python |
| # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| """code generator for GL/GLES extension wrangler.""" |
| |
| import optparse |
| import os |
| import collections |
| import re |
| import platform |
| import sys |
| from subprocess import call |
| from collections import namedtuple |
| |
| HEADER_PATHS = [ |
| '../../third_party/khronos', |
| '../../third_party/mesa_headers', |
| '.', |
| '../../gpu', |
| ] |
| |
| UNCONDITIONALLY_BOUND_EXTENSIONS = set([ |
| 'WGL_ARB_extensions_string', |
| 'WGL_EXT_extensions_string', |
| 'GL_CHROMIUM_gles_depth_binding_hack', # crbug.com/448206 |
| 'GL_CHROMIUM_glgetstringi_hack', # crbug.com/470396 |
| 'GL_CHROMIUM_egl_khr_fence_sync_hack', # crbug.com/504758 |
| 'GL_CHROMIUM_egl_android_native_fence_sync_hack', # crbug.com/775707 |
| ]) |
| |
| """Function binding conditions can be specified manually by supplying a versions |
| array instead of the names array. Each version has the following keys: |
| name: Mandatory. Name of the function. Multiple versions can have the same |
| name but different conditions. |
| extensions: Extra Extensions for which the function is bound. Only needed |
| in some cases where the extension cannot be parsed from the |
| headers. |
| explicit_only: if True, only extensions in 'extensions' are considered. |
| is_optional: True if the GetProcAddress can return NULL for the |
| function. This may happen for example when functions |
| are added to a new version of an extension, but the |
| extension string is not modified. |
| By default, the function gets its name from the first name in its names or |
| versions array. This can be overridden by supplying a 'known_as' key. |
| |
| """ |
| GL_FUNCTIONS = [ |
| { 'return_type': 'void', |
| 'names': ['glActiveShaderProgram'], |
| 'arguments': 'GLuint pipeline, GLuint program', }, |
| { 'return_type': 'void', |
| 'names': ['glActiveTexture'], |
| 'arguments': 'GLenum texture', }, |
| { 'return_type': 'void', |
| 'known_as': 'glApplyFramebufferAttachmentCMAAINTEL', |
| 'versions': [{ 'name': 'glApplyFramebufferAttachmentCMAAINTEL', |
| 'extensions': ['GL_INTEL_framebuffer_CMAA'] }], |
| 'arguments': 'void', }, |
| { 'return_type': 'void', |
| 'names': ['glAttachShader'], |
| 'arguments': 'GLuint program, GLuint shader', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glBeginQuery' }, |
| { 'name': 'glBeginQueryARB' }, |
| { 'name': 'glBeginQueryEXT', |
| 'extensions': ['GL_EXT_occlusion_query_boolean'] }], |
| 'arguments': 'GLenum target, GLuint id', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glBeginTransformFeedback' }, |
| { 'name': 'glBeginTransformFeedbackEXT', |
| 'extension': ['GL_EXT_transform_feedback'] }], |
| 'arguments': 'GLenum primitiveMode', }, |
| { 'return_type': 'void', |
| 'names': ['glBindAttribLocation'], |
| 'arguments': 'GLuint program, GLuint index, const char* name', }, |
| { 'return_type': 'void', |
| 'names': ['glBindBuffer'], |
| 'arguments': 'GLenum target, GLuint buffer', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glBindBufferBase' }, |
| { 'name': 'glBindBufferBaseEXT', |
| 'extension': ['GL_EXT_transform_feedback'] }], |
| 'arguments': 'GLenum target, GLuint index, GLuint buffer', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glBindBufferRange' }, |
| { 'name': 'glBindBufferRangeEXT', |
| 'extension': ['GL_EXT_transform_feedback'] }], |
| 'arguments': 'GLenum target, GLuint index, GLuint buffer, GLintptr offset, ' |
| 'GLsizeiptr size', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glBindFragDataLocation', |
| 'extensions': ['GL_ARB_blend_func_extended'] }, |
| { 'name': 'glBindFragDataLocationEXT', |
| 'extensions': ['GL_EXT_blend_func_extended'] }], |
| 'arguments': 'GLuint program, GLuint colorNumber, const char* name', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glBindFragDataLocationIndexed', |
| 'extensions': ['GL_ARB_blend_func_extended'] }, |
| { 'name': 'glBindFragDataLocationIndexedEXT', |
| 'extensions': ['GL_EXT_blend_func_extended'] }], |
| 'arguments': |
| 'GLuint program, GLuint colorNumber, GLuint index, const char* name', |
| }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glBindFragmentInputLocationCHROMIUM', |
| 'extensions': ['GL_CHROMIUM_path_rendering'] }], |
| 'arguments': 'GLuint program, GLint location, const char* name', }, |
| { 'return_type': 'void', |
| 'names': ['glBindFramebufferEXT', 'glBindFramebuffer'], |
| 'arguments': 'GLenum target, GLuint framebuffer', }, |
| { 'return_type': 'void', |
| 'known_as': 'glBindImageTextureEXT', |
| 'versions': [{ 'name': 'glBindImageTexture', |
| 'extensions': ['GL_ARB_shader_image_load_store'] }, |
| { 'name': 'glBindImageTextureEXT', |
| 'extensions': ['GL_EXT_shader_image_load_store'] }], |
| 'arguments': 'GLuint index, GLuint texture, GLint level, GLboolean layered,' |
| 'GLint layer, GLenum access, GLint format', }, |
| { 'return_type': 'void', |
| 'names': ['glBindProgramPipeline'], |
| 'arguments': 'GLuint pipeline', }, |
| { 'return_type': 'void', |
| 'names': ['glBindRenderbufferEXT', 'glBindRenderbuffer'], |
| 'arguments': 'GLenum target, GLuint renderbuffer', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glBindSampler', |
| 'extensions': ['GL_ARB_sampler_objects'] }], |
| 'arguments': 'GLuint unit, GLuint sampler', }, |
| { 'return_type': 'void', |
| 'names': ['glBindTexture'], |
| 'arguments': 'GLenum target, GLuint texture', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glBindTransformFeedback', |
| 'extensions': ['GL_ARB_transform_feedback2'] }], |
| 'arguments': 'GLenum target, GLuint id', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glBindUniformLocationCHROMIUM', |
| 'extensions': ['GL_CHROMIUM_bind_uniform_location'] }], |
| 'arguments': 'GLuint program, GLint location, const char* name' }, |
| { 'return_type': 'void', |
| 'known_as': 'glBindVertexArrayOES', |
| 'versions': [{ 'name': 'glBindVertexArray', |
| 'extensions': ['GL_ARB_vertex_array_object'], }, |
| { 'name': 'glBindVertexArrayOES' }, |
| { 'name': 'glBindVertexArrayAPPLE', |
| 'extensions': ['GL_APPLE_vertex_array_object'] }], |
| 'arguments': 'GLuint array' }, |
| { 'return_type': 'void', |
| 'names': ['glBindVertexBuffer'], |
| 'arguments': 'GLuint bindingindex, GLuint buffer, GLintptr offset, ' |
| 'GLsizei stride', }, |
| { 'return_type': 'void', |
| 'known_as': 'glBlendBarrierKHR', |
| 'versions': [{ 'name': 'glBlendBarrierNV', |
| 'extensions': ['GL_NV_blend_equation_advanced'] }, |
| { 'name': 'glBlendBarrierKHR', |
| 'extensions': ['GL_KHR_blend_equation_advanced'] }], |
| 'arguments': 'void' }, |
| { 'return_type': 'void', |
| 'names': ['glBlendColor'], |
| 'arguments': 'GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha', }, |
| { 'return_type': 'void', |
| 'names': ['glBlendEquation'], |
| 'arguments': ' GLenum mode ', }, |
| { 'return_type': 'void', |
| 'names': ['glBlendEquationSeparate'], |
| 'arguments': 'GLenum modeRGB, GLenum modeAlpha', }, |
| { 'return_type': 'void', |
| 'names': ['glBlendFunc'], |
| 'arguments': 'GLenum sfactor, GLenum dfactor', }, |
| { 'return_type': 'void', |
| 'names': ['glBlendFuncSeparate'], |
| 'arguments': |
| 'GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha', }, |
| { 'return_type': 'void', |
| 'versions' : [{'name': 'glBlitFramebuffer', |
| 'extensions': ['GL_ARB_framebuffer_object']}, |
| {'name': 'glBlitFramebufferANGLE'}, |
| {'name': 'glBlitFramebufferEXT'}], |
| 'arguments': 'GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, ' |
| 'GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, ' |
| 'GLbitfield mask, GLenum filter', }, |
| { 'return_type': 'void', |
| 'names': ['glBufferData'], |
| 'arguments': |
| 'GLenum target, GLsizeiptr size, const void* data, GLenum usage', }, |
| { 'return_type': 'void', |
| 'names': ['glBufferSubData'], |
| 'arguments': |
| 'GLenum target, GLintptr offset, GLsizeiptr size, const void* data', }, |
| { 'return_type': 'GLenum', |
| 'names': ['glCheckFramebufferStatusEXT', |
| 'glCheckFramebufferStatus'], |
| 'arguments': 'GLenum target', |
| 'logging_code': """ |
| GL_SERVICE_LOG("GL_RESULT: " << GLEnums::GetStringEnum(result)); |
| """, }, |
| { 'return_type': 'void', |
| 'names': ['glClear'], |
| 'arguments': 'GLbitfield mask', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glClearBufferfi' }], |
| 'arguments': 'GLenum buffer, GLint drawbuffer, const GLfloat depth, ' |
| 'GLint stencil', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glClearBufferfv' }], |
| 'arguments': 'GLenum buffer, GLint drawbuffer, const GLfloat* value', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glClearBufferiv' }], |
| 'arguments': 'GLenum buffer, GLint drawbuffer, const GLint* value', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glClearBufferuiv' }], |
| 'arguments': 'GLenum buffer, GLint drawbuffer, const GLuint* value', }, |
| { 'return_type': 'void', |
| 'names': ['glClearColor'], |
| 'arguments': 'GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glClearDepth', |
| 'extensions': ['GL_CHROMIUM_gles_depth_binding_hack'] }], |
| 'arguments': 'GLclampd depth', }, |
| { 'return_type': 'void', |
| 'names': ['glClearDepthf'], |
| 'arguments': 'GLclampf depth', }, |
| { 'return_type': 'void', |
| 'names': ['glClearStencil'], |
| 'arguments': 'GLint s', }, |
| { 'return_type': 'GLenum', |
| 'versions': [{ 'name': 'glClientWaitSync', |
| 'extensions': ['GL_ARB_sync'] }], |
| 'arguments': 'GLsync sync, GLbitfield flags, GLuint64 timeout', }, |
| { 'return_type': 'void', |
| 'names': ['glColorMask'], |
| 'arguments': |
| 'GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha', }, |
| { 'return_type': 'void', |
| 'names': ['glCompileShader'], |
| 'arguments': 'GLuint shader', }, |
| { 'return_type': 'void', |
| 'names': ['glCompressedTexImage2D'], |
| 'arguments': |
| 'GLenum target, GLint level, GLenum internalformat, GLsizei width, ' |
| 'GLsizei height, GLint border, GLsizei imageSize, const void* data', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glCompressedTexImage2DRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum target, GLint level, GLenum internalformat, GLsizei width, ' |
| 'GLsizei height, GLint border, GLsizei imageSize, GLsizei dataSize, ' |
| 'const void* data', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glCompressedTexImage3D' }], |
| 'arguments': |
| 'GLenum target, GLint level, GLenum internalformat, GLsizei width, ' |
| 'GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, ' |
| 'const void* data', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glCompressedTexImage3DRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum target, GLint level, GLenum internalformat, GLsizei width, ' |
| 'GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, ' |
| 'GLsizei dataSize, const void* data', }, |
| { 'return_type': 'void', |
| 'names': ['glCompressedTexSubImage2D'], |
| 'arguments': |
| 'GLenum target, GLint level, GLint xoffset, GLint yoffset, ' |
| 'GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, ' |
| 'const void* data', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glCompressedTexSubImage2DRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum target, GLint level, GLint xoffset, GLint yoffset, ' |
| 'GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, ' |
| 'GLsizei dataSize, const void* data', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glCompressedTexSubImage3D' }], |
| 'arguments': |
| 'GLenum target, GLint level, GLint xoffset, GLint yoffset, ' |
| 'GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, ' |
| 'GLenum format, GLsizei imageSize, const void* data', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glCompressedTexSubImage3DRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum target, GLint level, GLint xoffset, GLint yoffset, ' |
| 'GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, ' |
| 'GLenum format, GLsizei imageSize, GLsizei dataSize, ' |
| 'const void* data', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glCopyBufferSubData' }], |
| 'arguments': |
| 'GLenum readTarget, GLenum writeTarget, GLintptr readOffset, ' |
| 'GLintptr writeOffset, GLsizeiptr size', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glCopySubTextureCHROMIUM', |
| 'extensions': ['GL_CHROMIUM_copy_texture'], }], |
| 'arguments': |
| 'GLuint sourceId, GLint sourceLevel, GLenum destTarget, GLuint destId, ' |
| 'GLint destLevel, GLint xoffset, GLint yoffset, GLint x, GLint y, ' |
| 'GLsizei width, GLsizei height, GLboolean unpackFlipY, ' |
| 'GLboolean unpackPremultiplyAlpha, GLboolean unpackUnmultiplyAlpha', }, |
| { 'return_type': 'void', |
| 'names': ['glCopyTexImage2D'], |
| 'arguments': |
| 'GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, ' |
| 'GLsizei width, GLsizei height, GLint border', }, |
| { 'return_type': 'void', |
| 'names': ['glCopyTexSubImage2D'], |
| 'arguments': |
| 'GLenum target, GLint level, GLint xoffset, ' |
| 'GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glCopyTexSubImage3D' }], |
| 'arguments': |
| 'GLenum target, GLint level, GLint xoffset, GLint yoffset, ' |
| 'GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glCopyTextureCHROMIUM', |
| 'extensions': ['GL_CHROMIUM_copy_texture'], }], |
| 'arguments': |
| 'GLuint sourceId, GLint sourceLevel, GLenum destTarget, GLuint destId, ' |
| 'GLint destLevel, GLint internalFormat, GLenum destType, ' |
| 'GLboolean unpackFlipY, GLboolean unpackPremultiplyAlpha, ' |
| 'GLboolean unpackUnmultiplyAlpha', }, |
| { 'return_type': 'void', |
| 'names': ['glCoverageModulationNV'], |
| 'versions': [{ 'name': 'glCoverageModulationNV', |
| 'extensions': ['GL_NV_framebuffer_mixed_samples'] }, |
| { 'name': 'glCoverageModulationCHROMIUM', |
| 'extensions': ['GL_CHROMIUM_framebuffer_mixed_samples'] }], |
| 'arguments': 'GLenum components'}, |
| { 'return_type': 'void', |
| 'names': ['glCoverFillPathInstancedNV'], |
| 'versions': [{ 'name': 'glCoverFillPathInstancedNV', |
| 'extensions': ['GL_NV_path_rendering'] }, |
| { 'name': 'glCoverFillPathInstancedCHROMIUM', |
| 'extensions': ['GL_CHROMIUM_path_rendering'] }], |
| 'arguments': 'GLsizei numPaths, GLenum pathNameType, const void* paths, ' |
| 'GLuint pathBase, GLenum coverMode, GLenum transformType, ' |
| 'const GLfloat* transformValues' }, |
| { 'return_type': 'void', |
| 'names': ['glCoverFillPathNV'], |
| 'versions': [{ 'name': 'glCoverFillPathNV', |
| 'extensions': ['GL_NV_path_rendering'] }, |
| { 'name': 'glCoverFillPathCHROMIUM', |
| 'extensions': ['GL_CHROMIUM_path_rendering'] }], |
| 'arguments': 'GLuint path, GLenum coverMode' }, |
| { 'return_type': 'void', |
| 'names': ['glCoverStrokePathInstancedNV'], |
| 'versions': [{ 'name': 'glCoverStrokePathInstancedNV', |
| 'extensions': ['GL_NV_path_rendering'] }, |
| { 'name': 'glCoverStrokePathInstancedCHROMIUM', |
| 'extensions': ['GL_CHROMIUM_path_rendering'] }], |
| 'arguments': 'GLsizei numPaths, GLenum pathNameType, const void* paths, ' |
| 'GLuint pathBase, GLenum coverMode, GLenum transformType, ' |
| 'const GLfloat* transformValues' }, |
| { 'return_type': 'void', |
| 'names': ['glCoverStrokePathNV'], |
| 'versions': [{ 'name': 'glCoverStrokePathNV', |
| 'extensions': ['GL_NV_path_rendering'] }, |
| { 'name': 'glCoverStrokePathCHROMIUM', |
| 'extensions': ['GL_CHROMIUM_path_rendering'] }], |
| 'arguments': 'GLuint name, GLenum coverMode' }, |
| { 'return_type': 'GLuint', |
| 'names': ['glCreateProgram'], |
| 'arguments': 'void', }, |
| { 'return_type': 'GLuint', |
| 'names': ['glCreateShader'], |
| 'arguments': 'GLenum type', }, |
| { 'return_type': 'GLuint', |
| 'names': ['glCreateShaderProgramv'], |
| 'arguments': 'GLenum type, GLsizei count, const char* const* strings', }, |
| { 'return_type': 'void', |
| 'names': ['glCullFace'], |
| 'arguments': 'GLenum mode', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glDebugMessageCallback' }, |
| { 'name': 'glDebugMessageCallbackKHR', |
| 'extensions': ['GL_KHR_debug'] }], |
| 'arguments': 'GLDEBUGPROC callback, const void* userParam', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glDebugMessageControl' }, |
| { 'name': 'glDebugMessageControlKHR', |
| 'extensions': ['GL_KHR_debug'] }], |
| 'arguments': |
| 'GLenum source, GLenum type, GLenum severity, GLsizei count, ' |
| 'const GLuint* ids, GLboolean enabled', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glDebugMessageInsert' }, |
| { 'name': 'glDebugMessageInsertKHR', |
| 'extensions': ['GL_KHR_debug'] }], |
| 'arguments': |
| 'GLenum source, GLenum type, GLuint id, GLenum severity, ' |
| 'GLsizei length, const char* buf', }, |
| { 'return_type': 'void', |
| 'names': ['glDeleteBuffers'], |
| 'known_as': 'glDeleteBuffersARB', |
| 'arguments': 'GLsizei n, const GLuint* buffers', }, |
| { 'return_type': 'void', |
| 'known_as': 'glDeleteFencesAPPLE', |
| 'versions': [{ 'name': 'glDeleteFencesAPPLE', |
| 'extensions': ['GL_APPLE_fence'] }], |
| 'arguments': 'GLsizei n, const GLuint* fences', }, |
| { 'return_type': 'void', |
| 'names': ['glDeleteFencesNV'], |
| 'arguments': 'GLsizei n, const GLuint* fences', }, |
| { 'return_type': 'void', |
| 'names': ['glDeleteFramebuffersEXT', 'glDeleteFramebuffers'], |
| 'arguments': 'GLsizei n, const GLuint* framebuffers', }, |
| { 'return_type': 'void', |
| 'names': ['glDeletePathsNV'], |
| 'versions': [{ 'name': 'glDeletePathsNV', |
| 'extensions': ['GL_NV_path_rendering'] }, |
| { 'name': 'glDeletePathsCHROMIUM', |
| 'extensions': ['GL_CHROMIUM_path_rendering'] }], |
| 'arguments': 'GLuint path, GLsizei range' }, |
| { 'return_type': 'void', |
| 'names': ['glDeleteProgram'], |
| 'arguments': 'GLuint program', }, |
| { 'return_type': 'void', |
| 'names': ['glDeleteProgramPipelines'], |
| 'arguments': 'GLsizei n, const GLuint* pipelines', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glDeleteQueries' }, |
| { 'name': 'glDeleteQueriesARB'}, |
| { 'name': 'glDeleteQueriesEXT', |
| 'extensions': ['GL_EXT_occlusion_query_boolean'] }], |
| 'arguments': 'GLsizei n, const GLuint* ids', }, |
| { 'return_type': 'void', |
| 'names': ['glDeleteRenderbuffersEXT', 'glDeleteRenderbuffers'], |
| 'arguments': 'GLsizei n, const GLuint* renderbuffers', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glDeleteSamplers', |
| 'extensions': ['GL_ARB_sampler_objects'] }], |
| 'arguments': 'GLsizei n, const GLuint* samplers', }, |
| { 'return_type': 'void', |
| 'names': ['glDeleteShader'], |
| 'arguments': 'GLuint shader', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glDeleteSync', |
| 'extensions': ['GL_ARB_sync'] }], |
| 'arguments': 'GLsync sync', }, |
| { 'return_type': 'void', |
| 'names': ['glDeleteTextures'], |
| 'arguments': 'GLsizei n, const GLuint* textures', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glDeleteTransformFeedbacks', |
| 'extensions': ['GL_ARB_transform_feedback2'] }], |
| 'arguments': 'GLsizei n, const GLuint* ids', }, |
| { 'return_type': 'void', |
| 'known_as': 'glDeleteVertexArraysOES', |
| 'versions': [{ 'name': 'glDeleteVertexArrays', |
| 'extensions': ['GL_ARB_vertex_array_object'], }, |
| { 'name': 'glDeleteVertexArraysOES' }, |
| { 'name': 'glDeleteVertexArraysAPPLE', |
| 'extensions': ['GL_APPLE_vertex_array_object'] }], |
| 'arguments': 'GLsizei n, const GLuint* arrays' }, |
| { 'return_type': 'void', |
| 'names': ['glDepthFunc'], |
| 'arguments': 'GLenum func', }, |
| { 'return_type': 'void', |
| 'names': ['glDepthMask'], |
| 'arguments': 'GLboolean flag', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glDepthRange', |
| 'extensions': ['GL_CHROMIUM_gles_depth_binding_hack'] }], |
| 'arguments': 'GLclampd zNear, GLclampd zFar', }, |
| { 'return_type': 'void', |
| 'names': ['glDepthRangef'], |
| 'arguments': 'GLclampf zNear, GLclampf zFar', }, |
| { 'return_type': 'void', |
| 'names': ['glDetachShader'], |
| 'arguments': 'GLuint program, GLuint shader', }, |
| { 'return_type': 'void', |
| 'names': ['glDisable'], |
| 'arguments': 'GLenum cap', }, |
| { 'return_type': 'void', |
| 'names': ['glDisableVertexAttribArray'], |
| 'arguments': 'GLuint index', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glDiscardFramebufferEXT', |
| 'extensions': ['GL_EXT_discard_framebuffer'] }], |
| 'arguments': 'GLenum target, GLsizei numAttachments, ' |
| 'const GLenum* attachments' }, |
| { 'return_type': 'void', |
| 'names': ['glDispatchCompute'], |
| 'arguments': 'GLuint numGroupsX, GLuint numGroupsY, GLuint numGroupsZ', }, |
| { 'return_type': 'void', |
| 'names': ['glDispatchComputeIndirect'], |
| 'arguments': 'GLintptr indirect', }, |
| { 'return_type': 'void', |
| 'names': ['glDrawArrays'], |
| 'arguments': 'GLenum mode, GLint first, GLsizei count', }, |
| { 'return_type': 'void', |
| 'names': ['glDrawArraysIndirect'], |
| 'arguments': 'GLenum mode, const void* indirect', }, |
| { 'return_type': 'void', |
| 'known_as': 'glDrawArraysInstancedANGLE', |
| 'names': ['glDrawArraysInstancedARB', 'glDrawArraysInstancedANGLE', |
| 'glDrawArraysInstanced'], |
| 'arguments': 'GLenum mode, GLint first, GLsizei count, GLsizei primcount', }, |
| { 'return_type': 'void', |
| 'names': ['glDrawBuffer'], |
| 'arguments': 'GLenum mode', }, |
| { 'return_type': 'void', |
| 'names': ['glDrawBuffersARB', 'glDrawBuffersEXT', 'glDrawBuffers'], |
| 'arguments': 'GLsizei n, const GLenum* bufs', }, |
| { 'return_type': 'void', |
| 'names': ['glDrawElements'], |
| 'arguments': |
| 'GLenum mode, GLsizei count, GLenum type, const void* indices', }, |
| { 'return_type': 'void', |
| 'names': ['glDrawElementsIndirect'], |
| 'arguments': 'GLenum mode, GLenum type, const void* indirect', }, |
| { 'return_type': 'void', |
| 'known_as': 'glDrawElementsInstancedANGLE', |
| 'names': ['glDrawElementsInstancedARB', 'glDrawElementsInstancedANGLE', |
| 'glDrawElementsInstanced'], |
| 'arguments': |
| 'GLenum mode, GLsizei count, GLenum type, const void* indices, ' |
| 'GLsizei primcount', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glDrawRangeElements' }], |
| 'arguments': 'GLenum mode, GLuint start, GLuint end, GLsizei count, ' |
| 'GLenum type, const void* indices', }, |
| { 'return_type': 'void', |
| 'names': ['glEGLImageTargetRenderbufferStorageOES'], |
| 'arguments': 'GLenum target, GLeglImageOES image', }, |
| { 'return_type': 'void', |
| 'names': ['glEGLImageTargetTexture2DOES'], |
| 'arguments': 'GLenum target, GLeglImageOES image', }, |
| { 'return_type': 'void', |
| 'names': ['glEnable'], |
| 'arguments': 'GLenum cap', }, |
| { 'return_type': 'void', |
| 'names': ['glEnableVertexAttribArray'], |
| 'arguments': 'GLuint index', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glEndQuery' }, |
| { 'name': 'glEndQueryARB' }, |
| { 'name': 'glEndQueryEXT', |
| 'extensions': ['GL_EXT_occlusion_query_boolean'] }], |
| 'arguments': 'GLenum target', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glEndTransformFeedback' }, |
| { 'name': 'glEndTransformFeedbackEXT', |
| 'extension': ['GL_EXT_transform_feedback'] }], |
| 'arguments': 'void', }, |
| { 'return_type': 'GLsync', |
| 'versions': [{ 'name': 'glFenceSync', |
| 'extensions': ['GL_ARB_sync'] }], |
| 'arguments': 'GLenum condition, GLbitfield flags', }, |
| { 'return_type': 'void', |
| 'names': ['glFinish'], |
| 'arguments': 'void', }, |
| { 'return_type': 'void', |
| 'known_as': 'glFinishFenceAPPLE', |
| 'versions': [{ 'name': 'glFinishFenceAPPLE', |
| 'extensions': ['GL_APPLE_fence'] }], |
| 'arguments': 'GLuint fence', }, |
| { 'return_type': 'void', |
| 'names': ['glFinishFenceNV'], |
| 'arguments': 'GLuint fence', }, |
| { 'return_type': 'void', |
| 'names': ['glFlush'], |
| 'arguments': 'void', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glFlushMappedBufferRange', |
| 'extensions': ['GL_ARB_map_buffer_range']}, |
| {'name': 'glFlushMappedBufferRangeEXT'}], |
| 'arguments': 'GLenum target, GLintptr offset, GLsizeiptr length', }, |
| { 'return_type': 'void', |
| 'names': ['glFramebufferParameteri'], |
| 'arguments': 'GLenum target, GLenum pname, GLint param', }, |
| { 'return_type': 'void', |
| 'names': ['glFramebufferRenderbufferEXT', 'glFramebufferRenderbuffer'], |
| 'arguments': |
| 'GLenum target, GLenum attachment, GLenum renderbuffertarget, ' |
| 'GLuint renderbuffer', }, |
| { 'return_type': 'void', |
| 'names': ['glFramebufferTexture2DEXT', 'glFramebufferTexture2D'], |
| 'arguments': |
| 'GLenum target, GLenum attachment, GLenum textarget, GLuint texture, ' |
| 'GLint level', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glFramebufferTexture2DMultisampleEXT'}, |
| {'name': 'glFramebufferTexture2DMultisampleIMG'}], |
| 'arguments': |
| 'GLenum target, GLenum attachment, GLenum textarget, GLuint texture, ' |
| 'GLint level, GLsizei samples', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glFramebufferTextureLayer' }], |
| 'arguments': 'GLenum target, GLenum attachment, GLuint texture, GLint level, ' |
| 'GLint layer', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glFramebufferTextureMultiviewLayeredANGLE', |
| 'extensions': ['GL_ANGLE_multiview']}], |
| 'arguments': 'GLenum target, GLenum attachment, GLuint texture, GLint level, ' |
| 'GLint baseViewIndex, GLsizei numViews', }, |
| { 'return_type': 'void', |
| 'names': ['glFrontFace'], |
| 'arguments': 'GLenum mode', }, |
| { 'return_type': 'void', |
| 'names': ['glGenBuffers'], |
| 'known_as': 'glGenBuffersARB', |
| 'arguments': 'GLsizei n, GLuint* buffers', }, |
| { 'return_type': 'void', |
| 'names': ['glGenerateMipmapEXT', 'glGenerateMipmap'], |
| 'arguments': 'GLenum target', }, |
| { 'return_type': 'void', |
| 'known_as': 'glGenFencesAPPLE', |
| 'versions': [{ 'name': 'glGenFencesAPPLE', |
| 'extensions': ['GL_APPLE_fence'] }], |
| 'arguments': 'GLsizei n, GLuint* fences', }, |
| { 'return_type': 'void', |
| 'names': ['glGenFencesNV'], |
| 'arguments': 'GLsizei n, GLuint* fences', }, |
| { 'return_type': 'void', |
| 'names': ['glGenFramebuffersEXT', 'glGenFramebuffers'], |
| 'arguments': 'GLsizei n, GLuint* framebuffers', }, |
| { 'return_type': 'GLuint', |
| 'names': ['glGenPathsNV'], |
| 'versions': [{ 'name': 'glGenPathsNV', |
| 'extensions': ['GL_NV_path_rendering'] }, |
| { 'name': 'glGenPathsCHROMIUM', |
| 'extensions': ['GL_CHROMIUM_path_rendering'] }], |
| 'arguments': 'GLsizei range' }, |
| { 'return_type': 'GLuint', |
| 'names': ['glGenProgramPipelines'], |
| 'arguments': 'GLsizei n, GLuint* pipelines' }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glGenQueries' }, |
| { 'name': 'glGenQueriesARB', }, |
| { 'name' : 'glGenQueriesEXT', |
| 'extensions': ['GL_EXT_occlusion_query_boolean'] }], |
| 'arguments': 'GLsizei n, GLuint* ids', }, |
| { 'return_type': 'void', |
| 'names': ['glGenRenderbuffersEXT', 'glGenRenderbuffers'], |
| 'arguments': 'GLsizei n, GLuint* renderbuffers', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glGenSamplers', |
| 'extensions': ['GL_ARB_sampler_objects'] }], |
| 'arguments': 'GLsizei n, GLuint* samplers', }, |
| { 'return_type': 'void', |
| 'names': ['glGenTextures'], |
| 'arguments': 'GLsizei n, GLuint* textures', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glGenTransformFeedbacks', |
| 'extensions': ['GL_ARB_transform_feedback2'] }], |
| 'arguments': 'GLsizei n, GLuint* ids', }, |
| { 'return_type': 'void', |
| 'known_as': 'glGenVertexArraysOES', |
| 'versions': [{ 'name': 'glGenVertexArrays', |
| 'extensions': ['GL_ARB_vertex_array_object'], }, |
| { 'name': 'glGenVertexArraysOES' }, |
| { 'name': 'glGenVertexArraysAPPLE', |
| 'extensions': ['GL_APPLE_vertex_array_object'] }], |
| 'arguments': 'GLsizei n, GLuint* arrays', }, |
| { 'return_type': 'void', |
| 'names': ['glGetActiveAttrib'], |
| 'arguments': |
| 'GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, ' |
| 'GLint* size, GLenum* type, char* name', }, |
| { 'return_type': 'void', |
| 'names': ['glGetActiveUniform'], |
| 'arguments': |
| 'GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, ' |
| 'GLint* size, GLenum* type, char* name', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glGetActiveUniformBlockiv' }], |
| 'arguments': 'GLuint program, GLuint uniformBlockIndex, GLenum pname, ' |
| 'GLint* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetActiveUniformBlockivRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLuint program, GLuint uniformBlockIndex, GLenum pname, ' |
| 'GLsizei bufSize, GLsizei* length, GLint* params', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glGetActiveUniformBlockName' }], |
| 'arguments': 'GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, ' |
| 'GLsizei* length, char* uniformBlockName', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glGetActiveUniformsiv' }], |
| 'arguments': 'GLuint program, GLsizei uniformCount, ' |
| 'const GLuint* uniformIndices, GLenum pname, GLint* params', }, |
| { 'return_type': 'void', |
| 'names': ['glGetAttachedShaders'], |
| 'arguments': |
| 'GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders', }, |
| { 'return_type': 'GLint', |
| 'names': ['glGetAttribLocation'], |
| 'arguments': 'GLuint program, const char* name', }, |
| { 'return_type': 'void', |
| 'names': ['glGetBooleani_v'], |
| 'arguments': 'GLenum target, GLuint index, GLboolean* data', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetBooleani_vRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum target, GLuint index, GLsizei bufSize, GLsizei* length, ' |
| 'GLboolean* data', }, |
| { 'return_type': 'void', |
| 'names': ['glGetBooleanv'], |
| 'arguments': 'GLenum pname, GLboolean* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetBooleanvRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum pname, GLsizei bufSize, GLsizei* length, GLboolean* data', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetBufferParameteri64vRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum target, GLenum pname, GLsizei bufSize, GLsizei* length, ' |
| 'GLint64* params', }, |
| { 'return_type': 'void', |
| 'names': ['glGetBufferParameteriv'], |
| 'arguments': 'GLenum target, GLenum pname, GLint* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetBufferParameterivRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum target, GLenum pname, GLsizei bufSize, GLsizei* length, ' |
| 'GLint* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetBufferPointervRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum target, GLenum pname, GLsizei bufSize, GLsizei* length, ' |
| 'void** params', }, |
| { 'return_type': 'GLuint', |
| 'versions': [{ 'name': 'glGetDebugMessageLog' }, |
| { 'name': 'glGetDebugMessageLogKHR', |
| 'extensions': ['GL_KHR_debug'] }], |
| 'arguments': |
| 'GLuint count, GLsizei bufSize, GLenum* sources, GLenum* types, ' |
| 'GLuint* ids, GLenum* severities, GLsizei* lengths, char* messageLog', }, |
| { 'return_type': 'GLenum', |
| 'names': ['glGetError'], |
| 'arguments': 'void', |
| 'logging_code': """ |
| GL_SERVICE_LOG("GL_RESULT: " << GLEnums::GetStringError(result)); |
| """, }, |
| { 'return_type': 'void', |
| 'names': ['glGetFenceivNV'], |
| 'arguments': 'GLuint fence, GLenum pname, GLint* params', }, |
| { 'return_type': 'void', |
| 'names': ['glGetFloatv'], |
| 'arguments': 'GLenum pname, GLfloat* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetFloatvRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum pname, GLsizei bufSize, GLsizei* length, GLfloat* data', }, |
| { 'return_type': 'GLint', |
| 'versions': [{'name': 'glGetFragDataIndex', |
| 'extensions': ['GL_ARB_blend_func_extended']}, |
| {'name': 'glGetFragDataIndexEXT', |
| 'extensions': ['GL_EXT_blend_func_extended']}], |
| 'arguments': 'GLuint program, const char* name', }, |
| { 'return_type': 'GLint', |
| 'versions': [{ 'name': 'glGetFragDataLocation' }], |
| 'arguments': 'GLuint program, const char* name', }, |
| { 'return_type': 'void', |
| 'names': ['glGetFramebufferAttachmentParameterivEXT', |
| 'glGetFramebufferAttachmentParameteriv'], |
| 'arguments': 'GLenum target, ' |
| 'GLenum attachment, GLenum pname, GLint* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetFramebufferAttachmentParameterivRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum target, GLenum attachment, GLenum pname, GLsizei bufSize, ' |
| 'GLsizei* length, GLint* params', }, |
| { 'return_type': 'void', |
| 'names': ['glGetFramebufferParameteriv'], |
| 'arguments': 'GLenum target, GLenum pname, GLint* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetFramebufferParameterivRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum target, GLenum pname, GLsizei bufSize, GLsizei* length, ' |
| 'GLint* params', }, |
| { 'return_type': 'GLenum', |
| 'names': ['glGetGraphicsResetStatusARB', |
| 'glGetGraphicsResetStatusKHR', |
| 'glGetGraphicsResetStatusEXT', |
| 'glGetGraphicsResetStatus'], |
| 'arguments': 'void', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glGetInteger64i_v' }], |
| 'arguments': 'GLenum target, GLuint index, GLint64* data', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetInteger64i_vRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum target, GLuint index, GLsizei bufSize, GLsizei* length, ' |
| 'GLint64* data', }, |
| { 'return_type': 'void', |
| 'names': ['glGetInteger64v'], |
| 'arguments': 'GLenum pname, GLint64* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetInteger64vRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum pname, GLsizei bufSize, GLsizei* length, GLint64* data', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glGetIntegeri_v' }], |
| 'arguments': 'GLenum target, GLuint index, GLint* data', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetIntegeri_vRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum target, GLuint index, GLsizei bufSize, GLsizei* length, ' |
| 'GLint* data', }, |
| { 'return_type': 'void', |
| 'names': ['glGetIntegerv'], |
| 'arguments': 'GLenum pname, GLint* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetIntegervRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum pname, GLsizei bufSize, GLsizei* length, GLint* data', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetInternalformativ', |
| 'extensions': ['GL_ARB_internalformat_query']}], |
| 'arguments': 'GLenum target, GLenum internalformat, GLenum pname, ' |
| 'GLsizei bufSize, GLint* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetInternalformativRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, ' |
| 'GLsizei* length, GLint* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetMultisamplefv', |
| 'extensions': ['GL_ARB_texture_multisample']}], |
| 'arguments': 'GLenum pname, GLuint index, GLfloat* val', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetMultisamplefvRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum pname, GLuint index, GLsizei bufSize, GLsizei* length, ' |
| 'GLfloat* val', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetnUniformfvRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLuint program, GLint location, GLsizei bufSize, GLsizei* length, ' |
| 'GLfloat* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetnUniformivRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLuint program, GLint location, GLsizei bufSize, GLsizei* length, ' |
| 'GLint* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetnUniformuivRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLuint program, GLint location, GLsizei bufSize, GLsizei* length, ' |
| 'GLuint* params', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glGetObjectLabel' }, |
| { 'name': 'glGetObjectLabelKHR', |
| 'extensions': ['GL_KHR_debug'] }], |
| 'arguments': |
| 'GLenum identifier, GLuint name, GLsizei bufSize, GLsizei* length, ' |
| 'char* label', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glGetObjectPtrLabel' }, |
| { 'name': 'glGetObjectPtrLabelKHR', |
| 'extensions': ['GL_KHR_debug'] }], |
| 'arguments': 'void* ptr, GLsizei bufSize, GLsizei* length, char* label', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glGetPointerv' }, |
| { 'name': 'glGetPointervKHR', |
| 'extensions': ['GL_KHR_debug'] }], |
| 'arguments': 'GLenum pname, void** params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetPointervRobustANGLERobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum pname, GLsizei bufSize, GLsizei* length, void** params', }, |
| { 'return_type': 'void', |
| 'known_as': 'glGetProgramBinary', |
| 'versions': [{ 'name': 'glGetProgramBinaryOES' }, |
| { 'name': 'glGetProgramBinary', |
| 'extensions': ['GL_ARB_get_program_binary'] }], |
| 'arguments': 'GLuint program, GLsizei bufSize, GLsizei* length, ' |
| 'GLenum* binaryFormat, GLvoid* binary' }, |
| { 'return_type': 'void', |
| 'names': ['glGetProgramInfoLog'], |
| 'arguments': |
| 'GLuint program, GLsizei bufsize, GLsizei* length, char* infolog', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetProgramInterfaceiv', |
| 'extensions': ['GL_ARB_program_interface_query']}], |
| 'arguments': 'GLuint program, GLenum programInterface, GLenum pname, ' |
| 'GLint* params'}, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetProgramInterfaceivRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLuint program, GLenum programInterface, GLenum pname, ' |
| 'GLsizei bufSize, GLsizei* length, GLint* params', }, |
| { 'return_type': 'void', |
| 'names': ['glGetProgramiv'], |
| 'arguments': 'GLuint program, GLenum pname, GLint* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetProgramivRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLuint program, GLenum pname, GLsizei bufSize, GLsizei* length, ' |
| 'GLint* params', }, |
| { 'return_type': 'void', |
| 'names': ['glGetProgramPipelineInfoLog'], |
| 'arguments': |
| 'GLuint pipeline, GLsizei bufSize, GLsizei* length, GLchar* infoLog', }, |
| { 'return_type': 'void', |
| 'names': ['glGetProgramPipelineiv'], |
| 'arguments': |
| 'GLuint pipeline, GLenum pname, GLint* params', }, |
| { 'return_type': 'GLuint', |
| 'names': ['glGetProgramResourceIndex'], |
| 'arguments': |
| 'GLuint program, GLenum programInterface, const GLchar* name', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetProgramResourceiv', |
| 'extensions': ['GL_ARB_program_interface_query']}], |
| 'arguments': 'GLuint program, GLenum programInterface, GLuint index, ' |
| 'GLsizei propCount, const GLenum* props, GLsizei bufSize, ' |
| 'GLsizei* length, GLint* params'}, |
| { 'return_type': 'GLint', |
| 'names': ['glGetProgramResourceLocation'], |
| 'arguments': 'GLuint program, GLenum programInterface, const char* name', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetProgramResourceName', |
| 'extensions': ['GL_ARB_program_interface_query']}], |
| 'arguments': 'GLuint program, GLenum programInterface, GLuint index, ' |
| 'GLsizei bufSize, GLsizei* length, GLchar* name'}, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glGetQueryiv' }, |
| { 'name': 'glGetQueryivARB' }, |
| { 'name': 'glGetQueryivEXT', |
| 'extensions': ['GL_EXT_occlusion_query_boolean'] }], |
| 'arguments': 'GLenum target, GLenum pname, GLint* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetQueryivRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum target, GLenum pname, GLsizei bufSize, GLsizei* length, ' |
| 'GLint* params', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glGetQueryObjecti64v', |
| 'extensions': ['GL_ARB_timer_query'] }, |
| { 'name': 'glGetQueryObjecti64vEXT' }], |
| 'arguments': 'GLuint id, GLenum pname, GLint64* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetQueryObjecti64vRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLuint id, GLenum pname, GLsizei bufSize, GLsizei* length, ' |
| 'GLint64* params', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glGetQueryObjectiv' }, |
| { 'name': 'glGetQueryObjectivARB' }, |
| { 'name': 'glGetQueryObjectivEXT' }], |
| 'arguments': 'GLuint id, GLenum pname, GLint* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetQueryObjectivRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLuint id, GLenum pname, GLsizei bufSize, GLsizei* length, ' |
| 'GLint* params', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glGetQueryObjectui64v', |
| 'extensions': ['GL_ARB_timer_query'] }, |
| { 'name': 'glGetQueryObjectui64vEXT' }], |
| 'arguments': 'GLuint id, GLenum pname, GLuint64* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetQueryObjectui64vRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLuint id, GLenum pname, GLsizei bufSize, GLsizei* length, ' |
| 'GLuint64* params', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glGetQueryObjectuiv' }, |
| { 'name': 'glGetQueryObjectuivARB' }, |
| { 'name': 'glGetQueryObjectuivEXT', |
| 'extensions': ['GL_EXT_occlusion_query_boolean'] }], |
| 'arguments': 'GLuint id, GLenum pname, GLuint* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetQueryObjectuivRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLuint id, GLenum pname, GLsizei bufSize, GLsizei* length, ' |
| 'GLuint* params', }, |
| { 'return_type': 'void', |
| 'names': ['glGetRenderbufferParameterivEXT', 'glGetRenderbufferParameteriv'], |
| 'arguments': 'GLenum target, GLenum pname, GLint* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetRenderbufferParameterivRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum target, GLenum pname, GLsizei bufSize, GLsizei* length, ' |
| 'GLint* params', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glGetSamplerParameterfv', |
| 'extensions': ['GL_ARB_sampler_objects'] }], |
| 'arguments': 'GLuint sampler, GLenum pname, GLfloat* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetSamplerParameterfvRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei* length, ' |
| 'GLfloat* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetSamplerParameterIivRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei* length, ' |
| 'GLint* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetSamplerParameterIuivRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei* length, ' |
| 'GLuint* params', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glGetSamplerParameteriv', |
| 'extensions': ['GL_ARB_sampler_objects'] }], |
| 'arguments': 'GLuint sampler, GLenum pname, GLint* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetSamplerParameterivRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei* length, ' |
| 'GLint* params', }, |
| { 'return_type': 'void', |
| 'names': ['glGetShaderInfoLog'], |
| 'arguments': |
| 'GLuint shader, GLsizei bufsize, GLsizei* length, char* infolog', }, |
| { 'return_type': 'void', |
| 'names': ['glGetShaderiv'], |
| 'arguments': 'GLuint shader, GLenum pname, GLint* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetShaderivRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLuint shader, GLenum pname, GLsizei bufSize, GLsizei* length, ' |
| 'GLint* params', }, |
| { 'return_type': 'void', |
| 'names': ['glGetShaderPrecisionFormat'], |
| 'arguments': 'GLenum shadertype, GLenum precisiontype, ' |
| 'GLint* range, GLint* precision', }, |
| { 'return_type': 'void', |
| 'names': ['glGetShaderSource'], |
| 'arguments': |
| 'GLuint shader, GLsizei bufsize, GLsizei* length, char* source', }, |
| { 'return_type': 'const GLubyte*', |
| 'names': ['glGetString'], |
| 'arguments': 'GLenum name', }, |
| { 'return_type': 'const GLubyte*', |
| # This is needed for bootstrapping on the desktop GL core profile. |
| # It won't be called unless the expected GL version is used. |
| 'versions': [{ 'name': 'glGetStringi', |
| 'extensions': ['GL_CHROMIUM_glgetstringi_hack'] }], |
| 'arguments': 'GLenum name, GLuint index', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glGetSynciv', |
| 'extensions': ['GL_ARB_sync'] }], |
| 'arguments': |
| 'GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length,' |
| 'GLint* values', }, |
| { 'return_type': 'void', |
| 'names': ['glGetTexLevelParameterfv'], |
| 'arguments': 'GLenum target, GLint level, GLenum pname, GLfloat* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetTexLevelParameterfvRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum target, GLint level, GLenum pname, GLsizei bufSize, ' |
| 'GLsizei* length, GLfloat* params', }, |
| { 'return_type': 'void', |
| 'names': ['glGetTexLevelParameteriv'], |
| 'arguments': 'GLenum target, GLint level, GLenum pname, GLint* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetTexLevelParameterivRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum target, GLint level, GLenum pname, GLsizei bufSize, ' |
| 'GLsizei* length, GLint* params', }, |
| { 'return_type': 'void', |
| 'names': ['glGetTexParameterfv'], |
| 'arguments': 'GLenum target, GLenum pname, GLfloat* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetTexParameterfvRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum target, GLenum pname, GLsizei bufSize, GLsizei* length, ' |
| 'GLfloat* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetTexParameterIivRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum target, GLenum pname, GLsizei bufSize, GLsizei* length, ' |
| 'GLint* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetTexParameterIuivRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum target, GLenum pname, GLsizei bufSize, GLsizei* length, ' |
| 'GLuint* params', }, |
| { 'return_type': 'void', |
| 'names': ['glGetTexParameteriv'], |
| 'arguments': 'GLenum target, GLenum pname, GLint* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetTexParameterivRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum target, GLenum pname, GLsizei bufSize, GLsizei* length, ' |
| 'GLint* params', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glGetTransformFeedbackVarying' }, |
| { 'name': 'glGetTransformFeedbackVaryingEXT', |
| 'extension': ['GL_EXT_transform_feedback'] }], |
| 'arguments': 'GLuint program, GLuint index, GLsizei bufSize, ' |
| 'GLsizei* length, GLsizei* size, GLenum* type, char* name', }, |
| { 'return_type': 'void', |
| 'names': ['glGetTranslatedShaderSourceANGLE'], |
| 'arguments': |
| 'GLuint shader, GLsizei bufsize, GLsizei* length, char* source', }, |
| { 'return_type': 'GLuint', |
| 'versions': [{ 'name': 'glGetUniformBlockIndex' }], |
| 'arguments': 'GLuint program, const char* uniformBlockName', }, |
| { 'return_type': 'void', |
| 'names': ['glGetUniformfv'], |
| 'arguments': 'GLuint program, GLint location, GLfloat* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetUniformfvRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLuint program, GLint location, GLsizei bufSize, GLsizei* length, ' |
| 'GLfloat* params', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glGetUniformIndices' }], |
| 'arguments': 'GLuint program, GLsizei uniformCount, ' |
| 'const char* const* uniformNames, GLuint* uniformIndices', }, |
| { 'return_type': 'void', |
| 'names': ['glGetUniformiv'], |
| 'arguments': 'GLuint program, GLint location, GLint* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetUniformivRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLuint program, GLint location, GLsizei bufSize, GLsizei* length, ' |
| 'GLint* params', }, |
| { 'return_type': 'GLint', |
| 'names': ['glGetUniformLocation'], |
| 'arguments': 'GLuint program, const char* name', }, |
| { 'return_type': 'void', |
| 'names': ['glGetUniformuiv'], |
| 'arguments': 'GLuint program, GLint location, GLuint* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetUniformuivRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLuint program, GLint location, GLsizei bufSize, GLsizei* length, ' |
| 'GLuint* params', }, |
| { 'return_type': 'void', |
| 'names': ['glGetVertexAttribfv'], |
| 'arguments': 'GLuint index, GLenum pname, GLfloat* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetVertexAttribfvRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLuint index, GLenum pname, GLsizei bufSize, GLsizei* length, ' |
| 'GLfloat* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetVertexAttribIivRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLuint index, GLenum pname, GLsizei bufSize, GLsizei* length, ' |
| 'GLint* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetVertexAttribIuivRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLuint index, GLenum pname, GLsizei bufSize, GLsizei* length, ' |
| 'GLuint* params', }, |
| { 'return_type': 'void', |
| 'names': ['glGetVertexAttribiv'], |
| 'arguments': 'GLuint index, GLenum pname, GLint* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetVertexAttribivRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLuint index, GLenum pname, GLsizei bufSize, GLsizei* length, ' |
| 'GLint* params', }, |
| { 'return_type': 'void', |
| 'names': ['glGetVertexAttribPointerv'], |
| 'arguments': 'GLuint index, GLenum pname, void** pointer', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glGetVertexAttribPointervRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLuint index, GLenum pname, GLsizei bufSize, GLsizei* length, ' |
| 'void** pointer', }, |
| { 'return_type': 'void', |
| 'names': ['glHint'], |
| 'arguments': 'GLenum target, GLenum mode', }, |
| { 'return_type': 'void', |
| 'names': ['glInsertEventMarkerEXT'], |
| 'arguments': 'GLsizei length, const char* marker', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glInvalidateFramebuffer' }], |
| 'arguments': 'GLenum target, GLsizei numAttachments, ' |
| 'const GLenum* attachments' }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glInvalidateSubFramebuffer' }], |
| 'arguments': |
| 'GLenum target, GLsizei numAttachments, const GLenum* attachments, ' |
| 'GLint x, GLint y, GLint width, GLint height', }, |
| { 'return_type': 'GLboolean', |
| 'names': ['glIsBuffer'], |
| 'arguments': 'GLuint buffer', }, |
| { 'return_type': 'GLboolean', |
| 'names': ['glIsEnabled'], |
| 'arguments': 'GLenum cap', }, |
| { 'return_type': 'GLboolean', |
| 'known_as': 'glIsFenceAPPLE', |
| 'versions': [{ 'name': 'glIsFenceAPPLE', |
| 'extensions': ['GL_APPLE_fence'] }], |
| 'arguments': 'GLuint fence', }, |
| { 'return_type': 'GLboolean', |
| 'names': ['glIsFenceNV'], |
| 'arguments': 'GLuint fence', }, |
| { 'return_type': 'GLboolean', |
| 'names': ['glIsFramebufferEXT', 'glIsFramebuffer'], |
| 'arguments': 'GLuint framebuffer', }, |
| { 'return_type': 'GLboolean', |
| 'names': ['glIsPathNV'], |
| 'versions': [{ 'name': 'glIsPathNV', |
| 'extensions': ['GL_NV_path_rendering'] }, |
| { 'name': 'glIsPathCHROMIUM', |
| 'extensions': ['GL_CHROMIUM_path_rendering'] }], |
| 'arguments': 'GLuint path' }, |
| { 'return_type': 'GLboolean', |
| 'names': ['glIsProgram'], |
| 'arguments': 'GLuint program', }, |
| { 'return_type': 'GLboolean', |
| 'names': ['glIsProgramPipeline'], |
| 'arguments': 'GLuint pipeline', }, |
| { 'return_type': 'GLboolean', |
| 'versions': [{ 'name': 'glIsQuery' }, |
| { 'name': 'glIsQueryARB' }, |
| { 'name': 'glIsQueryEXT', |
| 'extensions': ['GL_EXT_occlusion_query_boolean'] }], |
| 'arguments': 'GLuint query', }, |
| { 'return_type': 'GLboolean', |
| 'names': ['glIsRenderbufferEXT', 'glIsRenderbuffer'], |
| 'arguments': 'GLuint renderbuffer', }, |
| { 'return_type': 'GLboolean', |
| 'versions': [{ 'name': 'glIsSampler', |
| 'extensions': ['GL_ARB_sampler_objects'] }], |
| 'arguments': 'GLuint sampler', }, |
| { 'return_type': 'GLboolean', |
| 'names': ['glIsShader'], |
| 'arguments': 'GLuint shader', }, |
| { 'return_type': 'GLboolean', |
| 'versions': [{ 'name': 'glIsSync', |
| 'extensions': ['GL_ARB_sync'] }], |
| 'arguments': 'GLsync sync', }, |
| { 'return_type': 'GLboolean', |
| 'names': ['glIsTexture'], |
| 'arguments': 'GLuint texture', }, |
| { 'return_type': 'GLboolean', |
| 'versions': [{ 'name': 'glIsTransformFeedback', |
| 'extensions': ['GL_ARB_transform_feedback2'] }], |
| 'arguments': 'GLuint id', }, |
| { 'return_type': 'GLboolean', |
| 'known_as': 'glIsVertexArrayOES', |
| 'versions': [{ 'name': 'glIsVertexArray', |
| 'extensions': ['GL_ARB_vertex_array_object'], }, |
| { 'name': 'glIsVertexArrayOES' }, |
| { 'name': 'glIsVertexArrayAPPLE', |
| 'extensions': ['GL_APPLE_vertex_array_object'] }], |
| 'arguments': 'GLuint array' }, |
| { 'return_type': 'void', |
| 'names': ['glLineWidth'], |
| 'arguments': 'GLfloat width', }, |
| { 'return_type': 'void', |
| 'names': ['glLinkProgram'], |
| 'arguments': 'GLuint program', }, |
| { 'return_type': 'void*', |
| 'known_as': 'glMapBuffer', |
| 'names': ['glMapBufferOES', 'glMapBuffer'], |
| 'arguments': 'GLenum target, GLenum access', }, |
| { 'return_type': 'void*', |
| 'known_as': 'glMapBufferRange', |
| 'versions': [{ 'name': 'glMapBufferRange', |
| 'extensions': ['GL_ARB_map_buffer_range'] }, |
| { 'name': 'glMapBufferRangeEXT', |
| 'extensions': ['GL_EXT_map_buffer_range'] }], |
| 'arguments': |
| 'GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access', }, |
| { 'return_type': 'void', |
| 'known_as': 'glMatrixLoadfEXT', |
| 'versions': [{ 'name': 'glMatrixLoadfEXT', |
| 'extensions': ['GL_EXT_direct_state_access', |
| 'GL_NV_path_rendering'] }, |
| { 'name': 'glMatrixLoadfCHROMIUM', |
| 'extensions': ['GL_CHROMIUM_path_rendering'] }], |
| 'arguments': 'GLenum matrixMode, const GLfloat* m' }, |
| { 'return_type': 'void', |
| 'known_as': 'glMatrixLoadIdentityEXT', |
| 'versions': [{ 'name': 'glMatrixLoadIdentityEXT', |
| 'extensions': ['GL_EXT_direct_state_access', |
| 'GL_NV_path_rendering'] }, |
| { 'name': 'glMatrixLoadIdentityCHROMIUM', |
| 'extensions': ['GL_CHROMIUM_path_rendering'] }], |
| 'arguments': 'GLenum matrixMode' }, |
| {'return_type': 'void', |
| 'known_as': 'glMaxShaderCompilerThreadsKHR', |
| 'versions': [{ 'name': 'glMaxShaderCompilerThreadsKHR', |
| 'extensions': ['GL_KHR_parallel_shader_compile'] }], |
| 'arguments': 'GLuint count', }, |
| { 'return_type': 'void', |
| 'names': ['glMemoryBarrierByRegion'], |
| 'arguments': 'GLbitfield barriers', }, |
| {'return_type': 'void', |
| 'known_as': 'glMemoryBarrierEXT', |
| 'versions': [{ 'name': 'glMemoryBarrier', |
| 'extensions': ['GL_ARB_shader_image_load_store'] }, |
| { 'name': 'glMemoryBarrierEXT', |
| 'extensions': ['GL_EXT_shader_image_load_store'] }], |
| 'arguments': 'GLbitfield barriers', }, |
| { 'return_type': 'void', |
| 'names': ['glMinSampleShading'], |
| 'arguments': 'GLfloat value', }, |
| { 'return_type': 'void', |
| 'versions' : [{'name': 'glMultiDrawArraysANGLE', |
| 'extensions': ['GL_ANGLE_multi_draw'] }], |
| 'arguments': 'GLenum mode, const GLint* firsts, ' |
| 'const GLsizei* counts, GLsizei drawcount', }, |
| { 'return_type': 'void', |
| 'versions' : [{'name': 'glMultiDrawArraysInstancedANGLE', |
| 'extensions': ['GL_ANGLE_multi_draw'] }], |
| 'arguments': 'GLenum mode, const GLint* firsts, ' |
| 'const GLsizei* counts, const GLsizei* instanceCounts, ' |
| 'GLsizei drawcount', }, |
| { 'return_type': 'void', |
| 'versions' : [{'name': 'glMultiDrawElementsANGLE', |
| 'extensions': ['GL_ANGLE_multi_draw'] }], |
| 'arguments': 'GLenum mode, const GLsizei* counts, ' |
| 'GLenum type, const GLvoid* const* indices, ' |
| 'GLsizei drawcount', }, |
| { 'return_type': 'void', |
| 'versions' : [{'name': 'glMultiDrawElementsInstancedANGLE', |
| 'extensions': ['GL_ANGLE_multi_draw'] }], |
| 'arguments': 'GLenum mode, const GLsizei* counts, ' |
| 'GLenum type, const GLvoid* const* indices, ' |
| 'const GLsizei* instanceCounts, GLsizei drawcount', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glObjectLabel' }, |
| { 'name': 'glObjectLabelKHR', |
| 'extensions': ['GL_KHR_debug'] }], |
| 'arguments': |
| 'GLenum identifier, GLuint name, GLsizei length, const char* label', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glObjectPtrLabel' }, |
| { 'name': 'glObjectPtrLabelKHR', |
| 'extensions': ['GL_KHR_debug'] }], |
| 'arguments': 'void* ptr, GLsizei length, const char* label', }, |
| { 'return_type': 'void', |
| 'names': ['glPathCommandsNV'], |
| 'versions': [{ 'name': 'glPathCommandsNV', |
| 'extensions': ['GL_NV_path_rendering'] }, |
| { 'name': 'glPathCommandsCHROMIUM', |
| 'extensions': ['GL_CHROMIUM_path_rendering'] }], |
| 'arguments': 'GLuint path, GLsizei numCommands, const GLubyte* commands, ' |
| 'GLsizei numCoords, GLenum coordType, const GLvoid* coords' }, |
| { 'return_type': 'void', |
| 'names': ['glPathParameterfNV'], |
| 'versions': [{ 'name': 'glPathParameterfNV', |
| 'extensions': ['GL_NV_path_rendering'] }, |
| { 'name': 'glPathParameterfCHROMIUM', |
| 'extensions': ['GL_CHROMIUM_path_rendering'] }], |
| 'arguments': 'GLuint path, GLenum pname, GLfloat value' }, |
| { 'return_type': 'void', |
| 'names': ['glPathParameteriNV'], |
| 'versions': [{ 'name': 'glPathParameteriNV', |
| 'extensions': ['GL_NV_path_rendering'] }, |
| { 'name': 'glPathParameteriCHROMIUM', |
| 'extensions': ['GL_CHROMIUM_path_rendering'] }], |
| 'arguments': 'GLuint path, GLenum pname, GLint value' }, |
| { 'return_type': 'void', |
| 'names': ['glPathStencilFuncNV'], |
| 'versions': [{ 'name': 'glPathStencilFuncNV', |
| 'extensions': ['GL_NV_path_rendering'] }, |
| { 'name': 'glPathStencilFuncCHROMIUM', |
| 'extensions': ['GL_CHROMIUM_path_rendering'] }], |
| 'arguments': 'GLenum func, GLint ref, GLuint mask' }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glPauseTransformFeedback', |
| 'extensions': ['GL_ARB_transform_feedback2'] }], |
| 'arguments': 'void', }, |
| { 'return_type': 'void', |
| 'names': ['glPixelStorei'], |
| 'arguments': 'GLenum pname, GLint param', }, |
| { 'return_type': 'void', |
| 'names': ['glPointParameteri'], |
| 'arguments': 'GLenum pname, GLint param', }, |
| { 'return_type': 'void', |
| 'names': ['glPolygonMode'], |
| 'arguments': 'GLenum face, GLenum mode', }, |
| { 'return_type': 'void', |
| 'names': ['glPolygonOffset'], |
| 'arguments': 'GLfloat factor, GLfloat units', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glPopDebugGroup' }, |
| { 'name': 'glPopDebugGroupKHR', |
| 'extensions': ['GL_KHR_debug'] }], |
| 'arguments': '', }, |
| { 'return_type': 'void', |
| 'names': ['glPopGroupMarkerEXT'], |
| 'arguments': 'void', }, |
| { 'return_type': 'void', |
| 'names': ['glPrimitiveRestartIndex'], |
| 'arguments': 'GLuint index', }, |
| { 'return_type': 'void', |
| 'known_as': 'glProgramBinary', |
| 'versions': [{ 'name': 'glProgramBinaryOES' }, |
| { 'name': 'glProgramBinary', |
| 'extensions': ['GL_ARB_get_program_binary'] }], |
| 'arguments': 'GLuint program, GLenum binaryFormat, ' |
| 'const GLvoid* binary, GLsizei length' }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glProgramParameteri', |
| 'extensions': ['GL_ARB_get_program_binary'] }], |
| 'arguments': 'GLuint program, GLenum pname, GLint value' }, |
| { 'return_type': 'void', |
| 'names': ['glProgramPathFragmentInputGenNV'], |
| 'versions': [{ 'name': 'glProgramPathFragmentInputGenNV', |
| 'extensions': ['GL_NV_path_rendering'] }, |
| { 'name': 'glProgramPathFragmentInputGenCHROMIUM', |
| 'extensions': ['GL_CHROMIUM_path_rendering'] }], |
| 'arguments': 'GLuint program, GLint location, GLenum genMode, ' |
| 'GLint components, const GLfloat* coeffs', |
| 'is_optional': True, }, |
| { 'return_type': 'void', |
| 'names': ['glProgramUniform1f'], |
| 'arguments': 'GLuint program, GLint location, GLfloat v0' }, |
| { 'return_type': 'void', |
| 'names': ['glProgramUniform1fv'], |
| 'arguments': 'GLuint program, GLint location, GLsizei count, ' |
| 'const GLfloat* value' }, |
| { 'return_type': 'void', |
| 'names': ['glProgramUniform1i'], |
| 'arguments': 'GLuint program, GLint location, GLint v0' }, |
| { 'return_type': 'void', |
| 'names': ['glProgramUniform1iv'], |
| 'arguments': 'GLuint program, GLint location, GLsizei count, ' |
| 'const GLint* value' }, |
| { 'return_type': 'void', |
| 'names': ['glProgramUniform1ui'], |
| 'arguments': 'GLuint program, GLint location, GLuint v0' }, |
| { 'return_type': 'void', |
| 'names': ['glProgramUniform1uiv'], |
| 'arguments': 'GLuint program, GLint location, GLsizei count, ' |
| 'const GLuint* value' }, |
| { 'return_type': 'void', |
| 'names': ['glProgramUniform2f'], |
| 'arguments': 'GLuint program, GLint location, GLfloat v0, GLfloat v1' }, |
| { 'return_type': 'void', |
| 'names': ['glProgramUniform2fv'], |
| 'arguments': 'GLuint program, GLint location, GLsizei count, ' |
| 'const GLfloat* value' }, |
| { 'return_type': 'void', |
| 'names': ['glProgramUniform2i'], |
| 'arguments': 'GLuint program, GLint location, GLint v0, GLint v1' }, |
| { 'return_type': 'void', |
| 'names': ['glProgramUniform2iv'], |
| 'arguments': 'GLuint program, GLint location, GLsizei count, ' |
| 'const GLint* value' }, |
| { 'return_type': 'void', |
| 'names': ['glProgramUniform2ui'], |
| 'arguments': 'GLuint program, GLint location, GLuint v0, GLuint v1' }, |
| { 'return_type': 'void', |
| 'names': ['glProgramUniform2uiv'], |
| 'arguments': 'GLuint program, GLint location, GLsizei count, ' |
| 'const GLuint* value' }, |
| { 'return_type': 'void', |
| 'names': ['glProgramUniform3f'], |
| 'arguments': 'GLuint program, GLint location, GLfloat v0, GLfloat v1, ' |
| 'GLfloat v2' }, |
| { 'return_type': 'void', |
| 'names': ['glProgramUniform3fv'], |
| 'arguments': 'GLuint program, GLint location, GLsizei count, ' |
| 'const GLfloat* value' }, |
| { 'return_type': 'void', |
| 'names': ['glProgramUniform3i'], |
| 'arguments': 'GLuint program, GLint location, GLint v0, GLint v1, GLint v2' }, |
| { 'return_type': 'void', |
| 'names': ['glProgramUniform3iv'], |
| 'arguments': 'GLuint program, GLint location, GLsizei count, ' |
| 'const GLint* value' }, |
| { 'return_type': 'void', |
| 'names': ['glProgramUniform3ui'], |
| 'arguments': 'GLuint program, GLint location, GLuint v0, GLuint v1, ' |
| 'GLuint v2' }, |
| { 'return_type': 'void', |
| 'names': ['glProgramUniform3uiv'], |
| 'arguments': 'GLuint program, GLint location, GLsizei count, ' |
| 'const GLuint* value' }, |
| { 'return_type': 'void', |
| 'names': ['glProgramUniform4f'], |
| 'arguments': 'GLuint program, GLint location, GLfloat v0, GLfloat v1, ' |
| 'GLfloat v2, GLfloat v3' }, |
| { 'return_type': 'void', |
| 'names': ['glProgramUniform4fv'], |
| 'arguments': 'GLuint program, GLint location, GLsizei count, ' |
| 'const GLfloat* value' }, |
| { 'return_type': 'void', |
| 'names': ['glProgramUniform4i'], |
| 'arguments': 'GLuint program, GLint location, GLint v0, GLint v1, GLint v2, ' |
| 'GLint v3' }, |
| { 'return_type': 'void', |
| 'names': ['glProgramUniform4iv'], |
| 'arguments': 'GLuint program, GLint location, GLsizei count, ' |
| 'const GLint* value' }, |
| { 'return_type': 'void', |
| 'names': ['glProgramUniform4ui'], |
| 'arguments': 'GLuint program, GLint location, GLuint v0, GLuint v1, ' |
| 'GLuint v2, GLuint v3' }, |
| { 'return_type': 'void', |
| 'names': ['glProgramUniform4uiv'], |
| 'arguments': 'GLuint program, GLint location, GLsizei count, ' |
| 'const GLuint* value' }, |
| { 'return_type': 'void', |
| 'names': ['glProgramUniformMatrix2fv'], |
| 'arguments': 'GLuint program, GLint location, GLsizei count, ' |
| 'GLboolean transpose, const GLfloat* value' }, |
| { 'return_type': 'void', |
| 'names': ['glProgramUniformMatrix2x3fv'], |
| 'arguments': 'GLuint program, GLint location, GLsizei count, ' |
| 'GLboolean transpose, const GLfloat* value' }, |
| { 'return_type': 'void', |
| 'names': ['glProgramUniformMatrix2x4fv'], |
| 'arguments': 'GLuint program, GLint location, GLsizei count, ' |
| 'GLboolean transpose, const GLfloat* value' }, |
| { 'return_type': 'void', |
| 'names': ['glProgramUniformMatrix3fv'], |
| 'arguments': 'GLuint program, GLint location, GLsizei count, ' |
| 'GLboolean transpose, const GLfloat* value' }, |
| { 'return_type': 'void', |
| 'names': ['glProgramUniformMatrix3x2fv'], |
| 'arguments': 'GLuint program, GLint location, GLsizei count, ' |
| 'GLboolean transpose, const GLfloat* value' }, |
| { 'return_type': 'void', |
| 'names': ['glProgramUniformMatrix3x4fv'], |
| 'arguments': 'GLuint program, GLint location, GLsizei count, ' |
| 'GLboolean transpose, const GLfloat* value' }, |
| { 'return_type': 'void', |
| 'names': ['glProgramUniformMatrix4fv'], |
| 'arguments': 'GLuint program, GLint location, GLsizei count, ' |
| 'GLboolean transpose, const GLfloat* value' }, |
| { 'return_type': 'void', |
| 'names': ['glProgramUniformMatrix4x2fv'], |
| 'arguments': 'GLuint program, GLint location, GLsizei count, ' |
| 'GLboolean transpose, const GLfloat* value' }, |
| { 'return_type': 'void', |
| 'names': ['glProgramUniformMatrix4x3fv'], |
| 'arguments': 'GLuint program, GLint location, GLsizei count, ' |
| 'GLboolean transpose, const GLfloat* value' }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glPushDebugGroup' }, |
| { 'name': 'glPushDebugGroupKHR', |
| 'extensions': ['GL_KHR_debug'] }], |
| 'arguments': |
| 'GLenum source, GLuint id, GLsizei length, const char* message', }, |
| { 'return_type': 'void', |
| 'names': ['glPushGroupMarkerEXT'], |
| 'arguments': 'GLsizei length, const char* marker', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glQueryCounter', |
| 'extensions': ['GL_ARB_timer_query'] }, |
| { 'name': 'glQueryCounterEXT' }], |
| 'arguments': 'GLuint id, GLenum target', }, |
| { 'return_type': 'void', |
| 'names': ['glReadBuffer'], |
| 'arguments': 'GLenum src', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glReadnPixelsRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, ' |
| 'GLenum type, GLsizei bufSize, GLsizei* length, GLsizei* columns, ' |
| 'GLsizei* rows, void* data', }, |
| { 'return_type': 'void', |
| 'names': ['glReadPixels'], |
| 'arguments': |
| 'GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, ' |
| 'GLenum type, void* pixels', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glReadPixelsRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, ' |
| 'GLenum type, GLsizei bufSize, GLsizei* length, GLsizei* columns, ' |
| 'GLsizei* rows, void* pixels', }, |
| { 'return_type': 'void', |
| 'names': ['glReleaseShaderCompiler'], |
| 'arguments': 'void', }, |
| { 'return_type': 'void', |
| 'names': ['glRenderbufferStorageEXT', 'glRenderbufferStorage'], |
| 'arguments': |
| 'GLenum target, GLenum internalformat, GLsizei width, GLsizei height', }, |
| { 'return_type': 'void', |
| 'versions' : [{'name': 'glRenderbufferStorageMultisample', |
| 'extensions': ['GL_ARB_framebuffer_object']}, |
| {'name': 'glRenderbufferStorageMultisampleANGLE'}, |
| {'name': 'glRenderbufferStorageMultisampleEXT', |
| 'extensions': ['GL_EXT_framebuffer_multisample'], |
| 'explicit_only': True}], |
| 'arguments': 'GLenum target, GLsizei samples, GLenum internalformat, ' |
| 'GLsizei width, GLsizei height', }, |
| { 'return_type': 'void', |
| 'versions' : [{'name': 'glRenderbufferStorageMultisampleEXT', |
| 'extensions': ['GL_EXT_multisampled_render_to_texture'], |
| 'explicit_only': True}, |
| {'name': 'glRenderbufferStorageMultisampleIMG'}], |
| 'arguments': 'GLenum target, GLsizei samples, GLenum internalformat, ' |
| 'GLsizei width, GLsizei height', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glRequestExtensionANGLE', |
| 'extensions': ['GL_ANGLE_request_extension'] }], |
| 'arguments': 'const char* name', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glResumeTransformFeedback', |
| 'extensions': ['GL_ARB_transform_feedback2'] }], |
| 'arguments': 'void', }, |
| { 'return_type': 'void', |
| 'names': ['glSampleCoverage'], |
| 'arguments': 'GLclampf value, GLboolean invert', }, |
| { 'return_type': 'void', |
| 'names': ['glSampleMaski'], |
| 'arguments': 'GLuint maskNumber, GLbitfield mask', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glSamplerParameterf', |
| 'extensions': ['GL_ARB_sampler_objects'] }], |
| 'arguments': 'GLuint sampler, GLenum pname, GLfloat param', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glSamplerParameterfv', |
| 'extensions': ['GL_ARB_sampler_objects'] }], |
| 'arguments': 'GLuint sampler, GLenum pname, const GLfloat* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glSamplerParameterfvRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLuint sampler, GLenum pname, GLsizei bufSize, const GLfloat* param', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glSamplerParameteri', |
| 'extensions': ['GL_ARB_sampler_objects'] }], |
| 'arguments': 'GLuint sampler, GLenum pname, GLint param', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glSamplerParameterIivRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLuint sampler, GLenum pname, GLsizei bufSize, const GLint* param', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glSamplerParameterIuivRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLuint sampler, GLenum pname, GLsizei bufSize, const GLuint* param', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glSamplerParameteriv', |
| 'extensions': ['GL_ARB_sampler_objects'] }], |
| 'arguments': 'GLuint sampler, GLenum pname, const GLint* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glSamplerParameterivRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLuint sampler, GLenum pname, GLsizei bufSize, const GLint* param', }, |
| { 'return_type': 'void', |
| 'names': ['glScissor'], |
| 'arguments': 'GLint x, GLint y, GLsizei width, GLsizei height', }, |
| { 'return_type': 'void', |
| 'known_as': 'glSetFenceAPPLE', |
| 'versions': [{ 'name': 'glSetFenceAPPLE', |
| 'extensions': ['GL_APPLE_fence'] }], |
| 'arguments': 'GLuint fence', }, |
| { 'return_type': 'void', |
| 'names': ['glSetFenceNV'], |
| 'arguments': 'GLuint fence, GLenum condition', }, |
| { 'return_type': 'void', |
| 'names': ['glShaderBinary'], |
| 'arguments': 'GLsizei n, const GLuint* shaders, GLenum binaryformat, ' |
| 'const void* binary, GLsizei length', }, |
| { 'return_type': 'void', |
| 'names': ['glShaderSource'], |
| 'arguments': 'GLuint shader, GLsizei count, const char* const* str, ' |
| 'const GLint* length', |
| 'logging_code': """ |
| GL_SERVICE_LOG_CODE_BLOCK({ |
| for (GLsizei ii = 0; ii < count; ++ii) { |
| if (str[ii]) { |
| if (length && length[ii] >= 0) { |
| std::string source(str[ii], length[ii]); |
| GL_SERVICE_LOG(" " << ii << ": ---\\n" << source << "\\n---"); |
| } else { |
| GL_SERVICE_LOG(" " << ii << ": ---\\n" << str[ii] << "\\n---"); |
| } |
| } else { |
| GL_SERVICE_LOG(" " << ii << ": NULL"); |
| } |
| } |
| }); |
| """, }, |
| { 'return_type': 'void', |
| 'names': ['glStencilFillPathInstancedNV'], |
| 'versions': [{ 'name': 'glStencilFillPathInstancedNV', |
| 'extensions': ['GL_NV_path_rendering'] }, |
| { 'name': 'glStencilFillPathInstancedCHROMIUM', |
| 'extensions': ['GL_CHROMIUM_path_rendering'] }], |
| 'arguments': 'GLsizei numPaths, GLenum pathNameType, const void* paths, ' |
| 'GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, ' |
| 'const GLfloat* transformValues' }, |
| { 'return_type': 'void', |
| 'names': ['glStencilFillPathNV'], |
| 'versions': [{ 'name': 'glStencilFillPathNV', |
| 'extensions': ['GL_NV_path_rendering'] }, |
| { 'name': 'glStencilFillPathCHROMIUM', |
| 'extensions': ['GL_CHROMIUM_path_rendering'] }], |
| 'arguments': 'GLuint path, GLenum fillMode, GLuint mask' }, |
| { 'return_type': 'void', |
| 'names': ['glStencilFunc'], |
| 'arguments': 'GLenum func, GLint ref, GLuint mask', }, |
| { 'return_type': 'void', |
| 'names': ['glStencilFuncSeparate'], |
| 'arguments': 'GLenum face, GLenum func, GLint ref, GLuint mask', }, |
| { 'return_type': 'void', |
| 'names': ['glStencilMask'], |
| 'arguments': 'GLuint mask', }, |
| { 'return_type': 'void', |
| 'names': ['glStencilMaskSeparate'], |
| 'arguments': 'GLenum face, GLuint mask', }, |
| { 'return_type': 'void', |
| 'names': ['glStencilOp'], |
| 'arguments': 'GLenum fail, GLenum zfail, GLenum zpass', }, |
| { 'return_type': 'void', |
| 'names': ['glStencilOpSeparate'], |
| 'arguments': 'GLenum face, GLenum fail, GLenum zfail, GLenum zpass', }, |
| { 'return_type': 'void', |
| 'names': ['glStencilStrokePathInstancedNV'], |
| 'versions': [{ 'name': 'glStencilStrokePathInstancedNV', |
| 'extensions': ['GL_NV_path_rendering'] }, |
| { 'name': 'glStencilStrokePathInstancedCHROMIUM', |
| 'extensions': ['GL_CHROMIUM_path_rendering'] }], |
| 'arguments': 'GLsizei numPaths, GLenum pathNameType, const void* paths, ' |
| 'GLuint pathBase, GLint ref, GLuint mask, GLenum transformType, ' |
| 'const GLfloat* transformValues' }, |
| { 'return_type': 'void', |
| 'names': ['glStencilStrokePathNV'], |
| 'versions': [{ 'name': 'glStencilStrokePathNV', |
| 'extensions': ['GL_NV_path_rendering'] }, |
| { 'name': 'glStencilStrokePathCHROMIUM', |
| 'extensions': ['GL_CHROMIUM_path_rendering'] }], |
| 'arguments': 'GLuint path, GLint reference, GLuint mask' }, |
| { 'return_type': 'void', |
| 'names': ['glStencilThenCoverFillPathInstancedNV'], |
| 'versions': [{ 'name': 'glStencilThenCoverFillPathInstancedNV', |
| 'extensions': ['GL_NV_path_rendering'] }, |
| { 'name': 'glStencilThenCoverFillPathInstancedCHROMIUM', |
| 'extensions': ['GL_CHROMIUM_path_rendering'] }], |
| 'arguments': 'GLsizei numPaths, GLenum pathNameType, const void* paths, ' |
| 'GLuint pathBase, GLenum fillMode, GLuint mask, GLenum coverMode, ' |
| 'GLenum transformType, const GLfloat* transformValues', |
| 'is_optional': True, }, |
| { 'return_type': 'void', |
| 'names': ['glStencilThenCoverFillPathNV'], |
| 'versions': [{ 'name': 'glStencilThenCoverFillPathNV', |
| 'extensions': ['GL_NV_path_rendering'] }, |
| { 'name': 'glStencilThenCoverFillPathCHROMIUM', |
| 'extensions': ['GL_CHROMIUM_path_rendering'] }], |
| 'arguments': 'GLuint path, GLenum fillMode, GLuint mask, GLenum coverMode', |
| 'is_optional': True, }, |
| { 'return_type': 'void', |
| 'names': ['glStencilThenCoverStrokePathInstancedNV'], |
| 'versions': [{ 'name': 'glStencilThenCoverStrokePathInstancedNV', |
| 'extensions': ['GL_NV_path_rendering'] }, |
| { 'name': 'glStencilThenCoverStrokePathInstancedCHROMIUM', |
| 'extensions': ['GL_CHROMIUM_path_rendering'] }], |
| 'arguments': 'GLsizei numPaths, GLenum pathNameType, const void* paths, ' |
| 'GLuint pathBase, GLint ref, GLuint mask, GLenum coverMode, ' |
| 'GLenum transformType, const GLfloat* transformValues', |
| 'is_optional': True, }, |
| { 'return_type': 'void', |
| 'names': ['glStencilThenCoverStrokePathNV'], |
| 'versions': [{ 'name': 'glStencilThenCoverStrokePathNV', |
| 'extensions': ['GL_NV_path_rendering'] }, |
| { 'name': 'glStencilThenCoverStrokePathCHROMIUM', |
| 'extensions': ['GL_CHROMIUM_path_rendering'] }], |
| 'arguments': 'GLuint path, GLint reference, GLuint mask, GLenum coverMode', |
| 'is_optional': True, }, |
| { 'return_type': 'GLboolean', |
| 'known_as': 'glTestFenceAPPLE', |
| 'versions': [{ 'name': 'glTestFenceAPPLE', |
| 'extensions': ['GL_APPLE_fence'] }], |
| 'arguments': 'GLuint fence', }, |
| { 'return_type': 'GLboolean', |
| 'names': ['glTestFenceNV'], |
| 'arguments': 'GLuint fence', }, |
| { 'return_type': 'void', |
| 'names': ['glTexBuffer', 'glTexBufferOES', 'glTexBufferEXT'], |
| 'arguments': 'GLenum target, GLenum internalformat, GLuint buffer', } , |
| { 'return_type': 'void', |
| 'names': ['glTexBufferRange', 'glTexBufferRangeOES', 'glTexBufferRangeEXT'], |
| 'arguments': |
| 'GLenum target, GLenum internalformat, GLuint buffer, ' |
| 'GLintptr offset, GLsizeiptr size', }, |
| { 'return_type': 'void', |
| 'names': ['glTexImage2D'], |
| 'arguments': |
| 'GLenum target, GLint level, GLint internalformat, GLsizei width, ' |
| 'GLsizei height, GLint border, GLenum format, GLenum type, ' |
| 'const void* pixels', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glTexImage2DRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum target, GLint level, GLint internalformat, GLsizei width, ' |
| 'GLsizei height, GLint border, GLenum format, GLenum type, ' |
| 'GLsizei bufSize, const void* pixels', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glTexImage3D' }], |
| 'arguments': |
| 'GLenum target, GLint level, GLint internalformat, GLsizei width, ' |
| 'GLsizei height, GLsizei depth, GLint border, GLenum format, ' |
| 'GLenum type, const void* pixels', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glTexImage3DRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum target, GLint level, GLint internalformat, GLsizei width, ' |
| 'GLsizei height, GLsizei depth, GLint border, GLenum format, ' |
| 'GLenum type, GLsizei bufSize, const void* pixels', }, |
| { 'return_type': 'void', |
| 'names': ['glTexParameterf'], |
| 'arguments': 'GLenum target, GLenum pname, GLfloat param', }, |
| { 'return_type': 'void', |
| 'names': ['glTexParameterfv'], |
| 'arguments': 'GLenum target, GLenum pname, const GLfloat* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glTexParameterfvRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum target, GLenum pname, GLsizei bufSize, const GLfloat* params', }, |
| { 'return_type': 'void', |
| 'names': ['glTexParameteri'], |
| 'arguments': 'GLenum target, GLenum pname, GLint param', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glTexParameterIivRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum target, GLenum pname, GLsizei bufSize, const GLint* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glTexParameterIuivRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum target, GLenum pname, GLsizei bufSize, const GLuint* params', }, |
| { 'return_type': 'void', |
| 'names': ['glTexParameteriv'], |
| 'arguments': 'GLenum target, GLenum pname, const GLint* params', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glTexParameterivRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum target, GLenum pname, GLsizei bufSize, const GLint* params', }, |
| { 'return_type': 'void', |
| 'known_as': 'glTexStorage2DEXT', |
| 'versions': [{ 'name': 'glTexStorage2D', |
| 'extensions': ['GL_ARB_texture_storage'] }, |
| { 'name': 'glTexStorage2DEXT', |
| 'extensions': ['GL_EXT_texture_storage'] }], |
| 'arguments': 'GLenum target, GLsizei levels, GLenum internalformat, ' |
| 'GLsizei width, GLsizei height', }, |
| { 'return_type': 'void', |
| 'names': ['glTexStorage2DMultisample'], |
| 'arguments': |
| 'GLenum target, GLsizei samples, GLenum internalformat, ' |
| 'GLsizei width, GLsizei height, GLboolean fixedsamplelocations', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glTexStorage3D', |
| 'extensions': ['GL_ARB_texture_storage'] }], |
| 'arguments': 'GLenum target, GLsizei levels, GLenum internalformat, ' |
| 'GLsizei width, GLsizei height, GLsizei depth', }, |
| { 'return_type': 'void', |
| 'names': ['glTexSubImage2D'], |
| 'arguments': |
| 'GLenum target, GLint level, GLint xoffset, GLint yoffset, ' |
| 'GLsizei width, GLsizei height, GLenum format, GLenum type, ' |
| 'const void* pixels', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glTexSubImage2DRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum target, GLint level, GLint xoffset, GLint yoffset, ' |
| 'GLsizei width, GLsizei height, GLenum format, GLenum type, ' |
| 'GLsizei bufSize, const void* pixels', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glTexSubImage3D' }], |
| 'arguments': |
| 'GLenum target, GLint level, GLint xoffset, GLint yoffset, ' |
| 'GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, ' |
| 'GLenum format, GLenum type, const void* pixels', }, |
| { 'return_type': 'void', |
| 'versions': [{'name': 'glTexSubImage3DRobustANGLE', |
| 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 'arguments': |
| 'GLenum target, GLint level, GLint xoffset, GLint yoffset, ' |
| 'GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, ' |
| 'GLenum format, GLenum type, GLsizei bufSize, const void* pixels', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glTransformFeedbackVaryings' }, |
| { 'name': 'glTransformFeedbackVaryingsEXT', |
| 'extension': ['GL_EXT_transform_feedback'] }], |
| 'arguments': 'GLuint program, GLsizei count, const char* const* varyings, ' |
| 'GLenum bufferMode', }, |
| { 'return_type': 'void', |
| 'names': ['glUniform1f'], |
| 'arguments': 'GLint location, GLfloat x', }, |
| { 'return_type': 'void', |
| 'names': ['glUniform1fv'], |
| 'arguments': 'GLint location, GLsizei count, const GLfloat* v', }, |
| { 'return_type': 'void', |
| 'names': ['glUniform1i'], |
| 'arguments': 'GLint location, GLint x', }, |
| { 'return_type': 'void', |
| 'names': ['glUniform1iv'], |
| 'arguments': 'GLint location, GLsizei count, const GLint* v', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glUniform1ui' }], |
| 'arguments': 'GLint location, GLuint v0', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glUniform1uiv' }], |
| 'arguments': 'GLint location, GLsizei count, const GLuint* v', }, |
| { 'return_type': 'void', |
| 'names': ['glUniform2f'], |
| 'arguments': 'GLint location, GLfloat x, GLfloat y', }, |
| { 'return_type': 'void', |
| 'names': ['glUniform2fv'], |
| 'arguments': 'GLint location, GLsizei count, const GLfloat* v', }, |
| { 'return_type': 'void', |
| 'names': ['glUniform2i'], |
| 'arguments': 'GLint location, GLint x, GLint y', }, |
| { 'return_type': 'void', |
| 'names': ['glUniform2iv'], |
| 'arguments': 'GLint location, GLsizei count, const GLint* v', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glUniform2ui' }], |
| 'arguments': 'GLint location, GLuint v0, GLuint v1', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glUniform2uiv' }], |
| 'arguments': 'GLint location, GLsizei count, const GLuint* v', }, |
| { 'return_type': 'void', |
| 'names': ['glUniform3f'], |
| 'arguments': 'GLint location, GLfloat x, GLfloat y, GLfloat z', }, |
| { 'return_type': 'void', |
| 'names': ['glUniform3fv'], |
| 'arguments': 'GLint location, GLsizei count, const GLfloat* v', }, |
| { 'return_type': 'void', |
| 'names': ['glUniform3i'], |
| 'arguments': 'GLint location, GLint x, GLint y, GLint z', }, |
| { 'return_type': 'void', |
| 'names': ['glUniform3iv'], |
| 'arguments': 'GLint location, GLsizei count, const GLint* v', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glUniform3ui' }], |
| 'arguments': 'GLint location, GLuint v0, GLuint v1, GLuint v2', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glUniform3uiv' }], |
| 'arguments': 'GLint location, GLsizei count, const GLuint* v', }, |
| { 'return_type': 'void', |
| 'names': ['glUniform4f'], |
| 'arguments': 'GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w', }, |
| { 'return_type': 'void', |
| 'names': ['glUniform4fv'], |
| 'arguments': 'GLint location, GLsizei count, const GLfloat* v', }, |
| { 'return_type': 'void', |
| 'names': ['glUniform4i'], |
| 'arguments': 'GLint location, GLint x, GLint y, GLint z, GLint w', }, |
| { 'return_type': 'void', |
| 'names': ['glUniform4iv'], |
| 'arguments': 'GLint location, GLsizei count, const GLint* v', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glUniform4ui' }], |
| 'arguments': 'GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glUniform4uiv' }], |
| 'arguments': 'GLint location, GLsizei count, const GLuint* v', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glUniformBlockBinding' }], |
| 'arguments': 'GLuint program, GLuint uniformBlockIndex, ' |
| 'GLuint uniformBlockBinding', }, |
| { 'return_type': 'void', |
| 'names': ['glUniformMatrix2fv'], |
| 'arguments': 'GLint location, GLsizei count, ' |
| 'GLboolean transpose, const GLfloat* value', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glUniformMatrix2x3fv' }], |
| 'arguments': 'GLint location, GLsizei count, ' |
| 'GLboolean transpose, const GLfloat* value', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glUniformMatrix2x4fv' }], |
| 'arguments': 'GLint location, GLsizei count, ' |
| 'GLboolean transpose, const GLfloat* value', }, |
| { 'return_type': 'void', |
| 'names': ['glUniformMatrix3fv'], |
| 'arguments': 'GLint location, GLsizei count, ' |
| 'GLboolean transpose, const GLfloat* value', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glUniformMatrix3x2fv' }], |
| 'arguments': 'GLint location, GLsizei count, ' |
| 'GLboolean transpose, const GLfloat* value', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glUniformMatrix3x4fv' }], |
| 'arguments': 'GLint location, GLsizei count, ' |
| 'GLboolean transpose, const GLfloat* value', }, |
| { 'return_type': 'void', |
| 'names': ['glUniformMatrix4fv'], |
| 'arguments': 'GLint location, GLsizei count, ' |
| 'GLboolean transpose, const GLfloat* value', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glUniformMatrix4x2fv' }], |
| 'arguments': 'GLint location, GLsizei count, ' |
| 'GLboolean transpose, const GLfloat* value', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glUniformMatrix4x3fv' }], |
| 'arguments': 'GLint location, GLsizei count, ' |
| 'GLboolean transpose, const GLfloat* value', }, |
| { 'return_type': 'GLboolean', |
| 'known_as': 'glUnmapBuffer', |
| 'names': ['glUnmapBufferOES', 'glUnmapBuffer'], |
| 'arguments': 'GLenum target', }, |
| { 'return_type': 'void', |
| 'names': ['glUseProgram'], |
| 'arguments': 'GLuint program', }, |
| { 'return_type': 'void', |
| 'names': ['glUseProgramStages'], |
| 'arguments': 'GLuint pipeline, GLbitfield stages, GLuint program', }, |
| { 'return_type': 'void', |
| 'names': ['glValidateProgram'], |
| 'arguments': 'GLuint program', }, |
| { 'return_type': 'void', |
| 'names': ['glValidateProgramPipeline'], |
| 'arguments': 'GLuint pipeline', }, |
| { 'return_type': 'void', |
| 'names': ['glVertexAttrib1f'], |
| 'arguments': 'GLuint indx, GLfloat x', }, |
| { 'return_type': 'void', |
| 'names': ['glVertexAttrib1fv'], |
| 'arguments': 'GLuint indx, const GLfloat* values', }, |
| { 'return_type': 'void', |
| 'names': ['glVertexAttrib2f'], |
| 'arguments': 'GLuint indx, GLfloat x, GLfloat y', }, |
| { 'return_type': 'void', |
| 'names': ['glVertexAttrib2fv'], |
| 'arguments': 'GLuint indx, const GLfloat* values', }, |
| { 'return_type': 'void', |
| 'names': ['glVertexAttrib3f'], |
| 'arguments': 'GLuint indx, GLfloat x, GLfloat y, GLfloat z', }, |
| { 'return_type': 'void', |
| 'names': ['glVertexAttrib3fv'], |
| 'arguments': 'GLuint indx, const GLfloat* values', }, |
| { 'return_type': 'void', |
| 'names': ['glVertexAttrib4f'], |
| 'arguments': 'GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w', }, |
| { 'return_type': 'void', |
| 'names': ['glVertexAttrib4fv'], |
| 'arguments': 'GLuint indx, const GLfloat* values', }, |
| { 'return_type': 'void', |
| 'names': ['glVertexAttribBinding'], |
| 'arguments': 'GLuint attribindex, GLuint bindingindex', }, |
| { 'return_type': 'void', |
| 'known_as': 'glVertexAttribDivisorANGLE', |
| 'names': ['glVertexAttribDivisorARB', 'glVertexAttribDivisorANGLE', |
| 'glVertexAttribDivisorEXT', 'glVertexAttribDivisor'], |
| 'arguments': |
| 'GLuint index, GLuint divisor', }, |
| { 'return_type': 'void', |
| 'names': ['glVertexAttribFormat'], |
| 'arguments': 'GLuint attribindex, GLint size, GLenum type, ' |
| 'GLboolean normalized, GLuint relativeoffset', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glVertexAttribI4i' }], |
| 'arguments': 'GLuint indx, GLint x, GLint y, GLint z, GLint w', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glVertexAttribI4iv' }], |
| 'arguments': 'GLuint indx, const GLint* values', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glVertexAttribI4ui' }], |
| 'arguments': 'GLuint indx, GLuint x, GLuint y, GLuint z, GLuint w', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glVertexAttribI4uiv' }], |
| 'arguments': 'GLuint indx, const GLuint* values', }, |
| { 'return_type': 'void', |
| 'names': ['glVertexAttribIFormat'], |
| 'arguments': 'GLuint attribindex, GLint size, GLenum type, ' |
| 'GLuint relativeoffset', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glVertexAttribIPointer' }], |
| 'arguments': 'GLuint indx, GLint size, GLenum type, GLsizei stride, ' |
| 'const void* ptr', }, |
| { 'return_type': 'void', |
| 'names': ['glVertexAttribPointer'], |
| 'arguments': 'GLuint indx, GLint size, GLenum type, GLboolean normalized, ' |
| 'GLsizei stride, const void* ptr', }, |
| { 'return_type': 'void', |
| 'names': ['glVertexBindingDivisor'], |
| 'arguments': 'GLuint bindingindex, GLuint divisor', }, |
| { 'return_type': 'void', |
| 'names': ['glViewport'], |
| 'arguments': 'GLint x, GLint y, GLsizei width, GLsizei height', }, |
| { 'return_type': 'void', |
| 'versions': [{ 'name': 'glWaitSync', |
| 'extensions': ['GL_ARB_sync'] }], |
| 'arguments': |
| 'GLsync sync, GLbitfield flags, GLuint64 timeout', }, |
| { 'return_type': 'void', |
| 'names': ['glWindowRectanglesEXT'], |
| 'arguments': 'GLenum mode, GLsizei n, const GLint* box', }, |
| ] |
| |
| EGL_FUNCTIONS = [ |
| { 'return_type': 'EGLBoolean', |
| 'names': ['eglBindAPI'], |
| 'arguments': 'EGLenum api', }, |
| { 'return_type': 'EGLBoolean', |
| 'names': ['eglBindTexImage'], |
| 'arguments': 'EGLDisplay dpy, EGLSurface surface, EGLint buffer', }, |
| { 'return_type': 'EGLBoolean', |
| 'names': ['eglChooseConfig'], |
| 'arguments': 'EGLDisplay dpy, const EGLint* attrib_list, EGLConfig* configs, ' |
| 'EGLint config_size, EGLint* num_config', }, |
| { 'return_type': 'EGLint', |
| 'versions': [{ 'name': 'eglClientWaitSyncKHR', |
| 'extensions': [ |
| 'EGL_KHR_fence_sync', |
| 'GL_CHROMIUM_egl_khr_fence_sync_hack' |
| ] }], |
| 'arguments': 'EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, ' |
| 'EGLTimeKHR timeout' }, |
| { 'return_type': 'EGLBoolean', |
| 'names': ['eglCopyBuffers'], |
| 'arguments': |
| 'EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target', }, |
| { 'return_type': 'EGLContext', |
| 'names': ['eglCreateContext'], |
| 'arguments': 'EGLDisplay dpy, EGLConfig config, EGLContext share_context, ' |
| 'const EGLint* attrib_list', }, |
| { 'return_type': 'EGLImageKHR', |
| 'versions': [{ 'name': 'eglCreateImageKHR', |
| 'extensions': |
| ['EGL_KHR_image_base', 'EGL_KHR_gl_texture_2D_image'] }], |
| 'arguments': |
| 'EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, ' |
| 'const EGLint* attrib_list' }, |
| { 'return_type': 'EGLSurface', |
| 'names': ['eglCreatePbufferFromClientBuffer'], |
| 'arguments': |
| 'EGLDisplay dpy, EGLenum buftype, void* buffer, EGLConfig config, ' |
| 'const EGLint* attrib_list', }, |
| { 'return_type': 'EGLSurface', |
| 'names': ['eglCreatePbufferSurface'], |
| 'arguments': 'EGLDisplay dpy, EGLConfig config, const EGLint* attrib_list', }, |
| { 'return_type': 'EGLSurface', |
| 'names': ['eglCreatePixmapSurface'], |
| 'arguments': 'EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, ' |
| 'const EGLint* attrib_list', }, |
| { 'return_type': 'EGLStreamKHR', |
| 'versions': [{ 'name': 'eglCreateStreamKHR', |
| 'extensions': ['EGL_KHR_stream'] }], |
| 'arguments': 'EGLDisplay dpy, const EGLint* attrib_list' }, |
| { 'return_type': 'EGLBoolean', |
| 'versions': [{'name': 'eglCreateStreamProducerD3DTextureANGLE', |
| 'extensions': |
| ['EGL_ANGLE_stream_producer_d3d_texture']}], |
| 'arguments': |
| 'EGLDisplay dpy, EGLStreamKHR stream, EGLAttrib* attrib_list', }, |
| { 'return_type': 'EGLSyncKHR', |
| 'versions': [{ 'name': 'eglCreateSyncKHR', |
| 'extensions': [ |
| 'EGL_KHR_fence_sync', |
| 'GL_CHROMIUM_egl_khr_fence_sync_hack' |
| ] }], |
| 'arguments': 'EGLDisplay dpy, EGLenum type, const EGLint* attrib_list' }, |
| { 'return_type': 'EGLSurface', |
| 'names': ['eglCreateWindowSurface'], |
| 'arguments': 'EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, ' |
| 'const EGLint* attrib_list', }, |
| { 'return_type': 'EGLint', |
| 'known_as': 'eglDebugMessageControlKHR', |
| 'versions': [{ 'name': 'eglDebugMessageControlKHR', |
| 'client_extensions': ['EGL_KHR_debug'], }], |
| 'arguments': 'EGLDEBUGPROCKHR callback, const EGLAttrib* attrib_list', }, |
| { 'return_type': 'EGLBoolean', |
| 'names': ['eglDestroyContext'], |
| 'arguments': 'EGLDisplay dpy, EGLContext ctx', }, |
| { 'return_type': 'EGLBoolean', |
| 'versions': [{ 'name' : 'eglDestroyImageKHR', |
| 'extensions': ['EGL_KHR_image_base'] }], |
| 'arguments': 'EGLDisplay dpy, EGLImageKHR image' }, |
| { 'return_type': 'EGLBoolean', |
| 'versions': [{ 'name': 'eglDestroyStreamKHR', |
| 'extensions': ['EGL_KHR_stream'] }], |
| 'arguments': 'EGLDisplay dpy, EGLStreamKHR stream' }, |
| { 'return_type': 'EGLBoolean', |
| 'names': ['eglDestroySurface'], |
| 'arguments': 'EGLDisplay dpy, EGLSurface surface', }, |
| { 'return_type': 'EGLBoolean', |
| 'versions': [{ 'name': 'eglDestroySyncKHR', |
| 'extensions': [ |
| 'EGL_KHR_fence_sync', |
| 'GL_CHROMIUM_egl_khr_fence_sync_hack' |
| ] }], |
| 'arguments': 'EGLDisplay dpy, EGLSyncKHR sync' }, |
| { 'return_type': 'EGLint', |
| # At least some Android O devices such as Pixel implement this |
| # but don't export the EGL_ANDROID_native_fence_sync extension. |
| 'versions': [{ 'name': 'eglDupNativeFenceFDANDROID', |
| 'extensions': [ |
| 'EGL_ANDROID_native_fence_sync', |
| 'GL_CHROMIUM_egl_android_native_fence_sync_hack']}], |
| 'arguments': |
| 'EGLDisplay dpy, EGLSyncKHR sync' }, |
| { 'return_type': 'EGLBoolean', |
| 'versions': [{ 'name': 'eglExportDMABUFImageMESA', |
| 'extensions': ['EGL_MESA_image_dma_buf_export'] }], |
| 'arguments': 'EGLDisplay dpy, EGLImageKHR image, int* fds, EGLint* strides, ' |
| 'EGLint* offsets', }, |
| { 'return_type': 'EGLBoolean', |
| 'versions': [{ 'name': 'eglExportDMABUFImageQueryMESA', |
| 'extensions': ['EGL_MESA_image_dma_buf_export'] }], |
| 'arguments': 'EGLDisplay dpy, EGLImageKHR image, int* fourcc, ' |
| 'int* num_planes, EGLuint64KHR* modifiers', }, |
| { 'return_type': 'EGLBoolean', |
| 'versions': [{ 'name': 'eglGetCompositorTimingANDROID', |
| 'extensions': [ |
| 'EGL_ANDROID_get_frame_timestamps' |
| ] }], |
| 'arguments': 'EGLDisplay dpy, EGLSurface surface, EGLint numTimestamps, ' |
| 'EGLint* names, EGLnsecsANDROID* values', }, |
| { 'return_type': 'EGLBoolean', |
| 'versions': [{ 'name': 'eglGetCompositorTimingSupportedANDROID', |
| 'extensions': [ |
| 'EGL_ANDROID_get_frame_timestamps' |
| ] }], |
| 'arguments': 'EGLDisplay dpy, EGLSurface surface, EGLint timestamp', }, |
| { 'return_type': 'EGLBoolean', |
| 'names': ['eglGetConfigAttrib'], |
| 'arguments': |
| 'EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint* value', }, |
| { 'return_type': 'EGLBoolean', |
| 'names': ['eglGetConfigs'], |
| 'arguments': 'EGLDisplay dpy, EGLConfig* configs, EGLint config_size, ' |
| 'EGLint* num_config', }, |
| { 'return_type': 'EGLContext', |
| 'names': ['eglGetCurrentContext'], |
| 'arguments': 'void', }, |
| { 'return_type': 'EGLDisplay', |
| 'names': ['eglGetCurrentDisplay'], |
| 'arguments': 'void', }, |
| { 'return_type': 'EGLSurface', |
| 'names': ['eglGetCurrentSurface'], |
| 'arguments': 'EGLint readdraw', }, |
| { 'return_type': 'EGLDisplay', |
| 'names': ['eglGetDisplay'], |
| 'arguments': 'EGLNativeDisplayType display_id', }, |
| { 'return_type': 'EGLint', |
| 'names': ['eglGetError'], |
| 'arguments': 'void', }, |
| { 'return_type': 'EGLBoolean', |
| 'versions': [{ 'name': 'eglGetFrameTimestampsANDROID', |
| 'extensions': [ |
| 'EGL_ANDROID_get_frame_timestamps' |
| ] }], |
| 'arguments': 'EGLDisplay dpy, EGLSurface surface, EGLuint64KHR frameId, ' |
| 'EGLint numTimestamps, EGLint* timestamps, ' |
| 'EGLnsecsANDROID* values', }, |
| { 'return_type': 'EGLBoolean', |
| 'versions': [{ 'name': 'eglGetFrameTimestampSupportedANDROID', |
| 'extensions': [ |
| 'EGL_ANDROID_get_frame_timestamps' |
| ] }], |
| 'arguments': 'EGLDisplay dpy, EGLSurface surface, EGLint timestamp', }, |
| { 'return_type': 'EGLClientBuffer', |
| 'versions': [{ 'name': 'eglGetNativeClientBufferANDROID', |
| 'extensions': ['EGL_ANDROID_get_native_client_buffer'], }], |
| 'arguments': 'const struct AHardwareBuffer* ahardwarebuffer', }, |
| { 'return_type': 'EGLBoolean', |
| 'versions': [{ 'name': 'eglGetNextFrameIdANDROID', |
| 'extensions': [ |
| 'EGL_ANDROID_get_frame_timestamps' |
| |