From 5fd11de22c41ce17927c17d485d157cf4408b297 Mon Sep 17 00:00:00 2001
From: wusongqing <wusongqing@huawei.com>
Date: Fri, 26 Aug 2022 14:11:45 +0800
Subject: [PATCH] update docs against 8561

Signed-off-by: wusongqing <wusongqing@huawei.com>
---
 .../reference/apis/js-apis-webgl.md           | 940 +++++++++---------
 .../reference/apis/js-apis-webgl2.md          | 804 +++++++--------
 2 files changed, 876 insertions(+), 868 deletions(-)

diff --git a/en/application-dev/reference/apis/js-apis-webgl.md b/en/application-dev/reference/apis/js-apis-webgl.md
index e71562765f..a205de94d8 100644
--- a/en/application-dev/reference/apis/js-apis-webgl.md
+++ b/en/application-dev/reference/apis/js-apis-webgl.md
@@ -1,11 +1,15 @@
-# webgl
-
->  **NOTE**<br/>
-> The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version.
+# WebGL
 
+The **WebGL** module provides the graphics drawing capability, such as processing the graphics position and color.
 
 This module provides WebGL APIs that correspond to the OpenGL ES 2.0 feature set. For more information, see [WebGLâ„¢](https://www.khronos.org/registry/webgl/specs/latest/1.0/).
 
+>  **NOTE**
+>
+> The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version.
+>
+> WebGL complies with the OpenGL protocol and does not support multi-thread calling.
+
 
 ## Invoking Method
 
@@ -37,11 +41,11 @@ gl.clearColor(0.0, 0.0, 0.0, 1.0);
 
 **System capability**: SystemCapability.Graphic.Graphic2D.WebGL
 
-  **Table 1** Type
+**Table 1** Type
 
-| Name| Type| 
+| Name| Type|
 | -------- | -------- |
-| GLenum | number | 
+| GLenum | number |
 | GLboolean | boolean |
 | GLbitfield | number |
 | GLbyte | number |
@@ -54,18 +58,18 @@ gl.clearColor(0.0, 0.0, 0.0, 1.0);
 | GLushort | number |
 | GLuint | number |
 | GLfloat | number |
-| GLclampf | number | 
+| GLclampf | number |
 | TexImageSource | ImageData |
 | Float32List | array |
 | Int32List | array |
 | WebGLPowerPreference | string |
 
 
-## Interface
+## APIs
 
 **System capability**: SystemCapability.Graphic.Graphic2D.WebGL
 
-  **Table 2** Interface
+**Table 2** APIs
 
 | Name|
 | -------- |
@@ -77,7 +81,7 @@ gl.clearColor(0.0, 0.0, 0.0, 1.0);
 | WebGLShader |
 | WebGLTexture |
 | WebGLUniformLocation |
-| [WebGLActiveInfo](#webglactiveinfo) | 
+| [WebGLActiveInfo](#webglactiveinfo) |
 | [WebGLShaderPrecisionFormat](#webglshaderprecisionformat) |
 | [WebGLRenderingContextBase](#webglrenderingcontextbase) |
 | [WebGLRenderingContextOverloads](#webglrenderingcontextoverloads) |
@@ -88,39 +92,39 @@ gl.clearColor(0.0, 0.0, 0.0, 1.0);
 WebGLContextAttributes
 
 
-  | Name| Type| Mandatory| 
+| Name| Type| Mandatory|
 | -------- | -------- | -------- |
-| alpha | boolean | No| 
-| depth | boolean | No| 
-| stencil | boolean | No| 
-| antialias | boolean | No| 
-| premultipliedAlpha | boolean | No| 
-| preserveDrawingBuffer | boolean | No| 
-| powerPreference | WebGLPowerPreference | No| 
-| failIfMajorPerformanceCaveat | boolean | No| 
-| desynchronized | boolean | No| 
+| alpha | boolean | No|
+| depth | boolean | No|
+| stencil | boolean | No|
+| antialias | boolean | No|
+| premultipliedAlpha | boolean | No|
+| preserveDrawingBuffer | boolean | No|
+| powerPreference | WebGLPowerPreference | No|
+| failIfMajorPerformanceCaveat | boolean | No|
+| desynchronized | boolean | No|
 
 
 ## WebGLActiveInfo
 
 WebGLActiveInfo
 
-  | Name| Type| Mandatory| 
+| Name| Type| Mandatory|
 | -------- | -------- | -------- |
-| size | GLint | Yes| 
-| type | GLenum | Yes| 
-| name | string | Yes| 
+| size | GLint | Yes|
+| type | GLenum | Yes|
+| name | string | Yes|
 
 
 ## WebGLShaderPrecisionFormat
 
 WebGLShaderPrecisionFormat
 
-  | Name| Type| Mandatory| 
+| Name| Type| Mandatory|
 | -------- | -------- | -------- |
-| rangeMin | GLint | Yes| 
-| rangeMax | GLint | Yes| 
-| precision | GLint | Yes| 
+| rangeMin | GLint | Yes|
+| rangeMax | GLint | Yes|
+| precision | GLint | Yes|
 
 
 ## WebGLRenderingContextBase
@@ -130,455 +134,455 @@ WebGLRenderingContextBase
 
 ### Attributes
 
-  | Name| Type| Mandatory| 
+| Name| Type| Mandatory|
 | -------- | -------- | -------- |
-| DEPTH_BUFFER_BIT | GLenum | Yes| 
-| STENCIL_BUFFER_BIT | GLenum | Yes| 
-| COLOR_BUFFER_BIT | GLenum | Yes| 
-| POINTS | GLenum | Yes| 
-| LINES | GLenum | Yes| 
-| LINE_LOOP | GLenum | Yes| 
-| LINE_STRIP | GLenum | Yes| 
-| TRIANGLES | GLenum | Yes| 
-| TRIANGLE_STRIP | GLenum | Yes| 
-| TRIANGLE_FAN | GLenum | Yes| 
-| ZERO | GLenum | Yes| 
-| ONE | GLenum | Yes| 
-| SRC_COLOR | GLenum | Yes| 
-| ONE_MINUS_SRC_COLOR | GLenum | Yes| 
-| SRC_ALPHA | GLenum | Yes| 
-| ONE_MINUS_SRC_ALPHA | GLenum | Yes| 
-| DST_ALPHA | GLenum | Yes| 
-| ONE_MINUS_DST_ALPHA | GLenum | Yes| 
-| DST_COLOR | GLenum | Yes| 
-| ONE_MINUS_DST_COLOR | GLenum | Yes| 
-| SRC_ALPHA_SATURATE | GLenum | Yes| 
-| FUNC_ADD | GLenum | Yes| 
-| BLEND_EQUATION | GLenum | Yes| 
-| BLEND_EQUATION_RGB | GLenum | Yes| 
-| BLEND_EQUATION_ALPHA | GLenum | Yes| 
-| FUNC_SUBTRACT | GLenum | Yes| 
-| FUNC_REVERSE_SUBTRACT | GLenum | Yes| 
-| BLEND_DST_RGB | GLenum | Yes| 
-| BLEND_SRC_RGB | GLenum | Yes| 
-| BLEND_DST_ALPHA | GLenum | Yes| 
-| BLEND_SRC_ALPHA | GLenum | Yes| 
-| CONSTANT_COLOR | GLenum | Yes| 
-| ONE_MINUS_CONSTANT_COLOR | GLenum | Yes| 
-| CONSTANT_ALPHA | GLenum | Yes| 
-| ONE_MINUS_CONSTANT_ALPHA | GLenum | Yes| 
-| BLEND_COLOR | GLenum | Yes| 
-| ARRAY_BUFFER | GLenum | Yes| 
-| ELEMENT_ARRAY_BUFFER | GLenum | Yes| 
-| ARRAY_BUFFER_BINDING | GLenum | Yes| 
-| ELEMENT_ARRAY_BUFFER_BINDING | GLenum | Yes| 
-| STREAM_DRAW | GLenum | Yes| 
-| STATIC_DRAW | GLenum | Yes| 
-| DYNAMIC_DRAW | GLenum | Yes| 
-| BUFFER_SIZE | GLenum | Yes| 
-| BUFFER_USAGE | GLenum | Yes| 
-| CURRENT_VERTEX_ATTRIB | GLenum | Yes| 
-| FRONT | GLenum | Yes| 
-| BACK | GLenum | Yes| 
-| FRONT_AND_BACK | GLenum | Yes| 
-| CULL_FACE | GLenum | Yes| 
-| BLEND | GLenum | Yes| 
-| DITHER | GLenum | Yes| 
-| STENCIL_TEST | GLenum | Yes| 
-| DEPTH_TEST | GLenum | Yes| 
-| SCISSOR_TEST | GLenum | Yes| 
-| POLYGON_OFFSET_FILL | GLenum | Yes| 
-| SAMPLE_ALPHA_TO_COVERAGE | GLenum | Yes| 
-| SAMPLE_COVERAGE | GLenum | Yes| 
-| NO_ERROR | GLenum | Yes| 
-| INVALID_ENUM | GLenum | Yes| 
-| INVALID_VALUE | GLenum | Yes| 
-| INVALID_OPERATION | GLenum | Yes| 
-| OUT_OF_MEMORY | GLenum | Yes| 
-| CW | GLenum | Yes| 
-| CCW | GLenum | Yes| 
-| LINE_WIDTH | GLenum | Yes| 
-| ALIASED_POINT_SIZE_RANGE | GLenum | Yes| 
-| ALIASED_LINE_WIDTH_RANGE | GLenum | Yes| 
-| CULL_FACE_MODE | GLenum | Yes| 
-| FRONT_FACE | GLenum | Yes| 
-| DEPTH_RANGE | GLenum | Yes| 
-| DEPTH_WRITEMASK | GLenum | Yes| 
-| DEPTH_CLEAR_VALUE | GLenum | Yes| 
-| DEPTH_FUNC | GLenum | Yes| 
-| STENCIL_CLEAR_VALUE | GLenum | Yes| 
-| STENCIL_FUNC | GLenum | Yes| 
-| STENCIL_FAIL | GLenum | Yes| 
-| STENCIL_PASS_DEPTH_FAIL | GLenum | Yes| 
-| STENCIL_PASS_DEPTH_PASS | GLenum | Yes| 
-| STENCIL_REF | GLenum | Yes| 
-| STENCIL_VALUE_MASK | GLenum | Yes| 
-| STENCIL_WRITEMASK | GLenum | Yes| 
-| STENCIL_BACK_FUNC | GLenum | Yes| 
-| STENCIL_BACK_FAIL | GLenum | Yes| 
-| STENCIL_BACK_PASS_DEPTH_FAIL | GLenum | Yes| 
-| STENCIL_BACK_PASS_DEPTH_PASS | GLenum | Yes| 
-| STENCIL_BACK_REF | GLenum | Yes| 
-| STENCIL_BACK_VALUE_MASK | GLenum | Yes| 
-| STENCIL_BACK_WRITEMASK | GLenum | Yes| 
-| VIEWPORT | GLenum | Yes| 
-| SCISSOR_BOX | GLenum | Yes| 
-| COLOR_CLEAR_VALUE | GLenum | Yes| 
-| COLOR_WRITEMASK | GLenum | Yes| 
-| UNPACK_ALIGNMENT | GLenum | Yes| 
-| PACK_ALIGNMENT | GLenum | Yes| 
-| MAX_TEXTURE_SIZE | GLenum | Yes| 
-| MAX_VIEWPORT_DIMS | GLenum | Yes| 
-| SUBPIXEL_BITS | GLenum | Yes| 
-| RED_BITS | GLenum | Yes| 
-| GREEN_BITS | GLenum | Yes| 
-| BLUE_BITS | GLenum | Yes| 
-| ALPHA_BITS | GLenum | Yes| 
-| DEPTH_BITS | GLenum | Yes| 
-| STENCIL_BITS | GLenum | Yes| 
-| POLYGON_OFFSET_UNITS | GLenum | Yes| 
-| POLYGON_OFFSET_FACTOR | GLenum | Yes| 
-| TEXTURE_BINDING_2D | GLenum | Yes| 
-| SAMPLE_BUFFERS | GLenum | Yes| 
-| SAMPLES | GLenum | Yes| 
-| SAMPLE_COVERAGE_VALUE | GLenum | Yes| 
-| SAMPLE_COVERAGE_INVERT | GLenum | Yes| 
-| COMPRESSED_TEXTURE_FORMATS | GLenum | Yes| 
-| DONT_CARE | GLenum | Yes| 
-| FASTEST | GLenum | Yes| 
-| NICEST | GLenum | Yes| 
-| GENERATE_MIPMAP_HINT | GLenum | Yes| 
-| BYTE | GLenum | Yes| 
-| UNSIGNED_BYTE | GLenum | Yes| 
-| SHORT | GLenum | Yes| 
-| UNSIGNED_SHORT | GLenum | Yes| 
-| INT | GLenum | Yes| 
-| UNSIGNED_INT | GLenum | Yes| 
-| FLOAT | GLenum | Yes| 
-| DEPTH_COMPONENT | GLenum | Yes| 
-| ALPHA | GLenum | Yes| 
-| RGB | GLenum | Yes| 
-| RGBA | GLenum | Yes| 
-| LUMINANCE | GLenum | Yes| 
-| LUMINANCE_ALPHA | GLenum | Yes| 
-| UNSIGNED_SHORT_4_4_4_4 | GLenum | Yes| 
-| UNSIGNED_SHORT_5_5_5_1 | GLenum | Yes| 
-| UNSIGNED_SHORT_5_6_5 | GLenum | Yes| 
-| FRAGMENT_SHADER | GLenum | Yes| 
-| VERTEX_SHADER | GLenum | Yes| 
-| MAX_VERTEX_ATTRIBS | GLenum | Yes| 
-| MAX_VERTEX_UNIFORM_VECTORS | GLenum | Yes| 
-| MAX_VARYING_VECTORS | GLenum | Yes| 
-| MAX_COMBINED_TEXTURE_IMAGE_UNITS | GLenum | Yes| 
-| MAX_VERTEX_TEXTURE_IMAGE_UNITS | GLenum | Yes| 
-| MAX_TEXTURE_IMAGE_UNITS | GLenum | Yes| 
-| MAX_FRAGMENT_UNIFORM_VECTORS | GLenum | Yes| 
-| SHADER_TYPE | GLenum | Yes| 
-| DELETE_STATUS | GLenum | Yes| 
-| LINK_STATUS | GLenum | Yes| 
-| VALIDATE_STATUS | GLenum | Yes| 
-| ATTACHED_SHADERS | GLenum | Yes| 
-| ACTIVE_UNIFORMS | GLenum | Yes| 
-| ACTIVE_ATTRIBUTES | GLenum | Yes| 
-| SHADING_LANGUAGE_VERSION | GLenum | Yes| 
-| CURRENT_PROGRAM | GLenum | Yes| 
-| NEVER | GLenum | Yes| 
-| LESS | GLenum | Yes| 
-| EQUAL | GLenum | Yes| 
-| LEQUAL | GLenum | Yes| 
-| GREATER | GLenum | Yes| 
-| NOTEQUAL | GLenum | Yes| 
-| GEQUAL | GLenum | Yes| 
-| ALWAYS | GLenum | Yes| 
-| KEEP | GLenum | Yes| 
-| REPLACE | GLenum | Yes| 
-| INCR | GLenum | Yes| 
-| DECR | GLenum | Yes| 
-| INVERT | GLenum | Yes| 
-| INCR_WRAP | GLenum | Yes| 
-| DECR_WRAP | GLenum | Yes| 
-| VENDOR | GLenum | Yes| 
-| RENDERER | GLenum | Yes| 
-| VERSION | GLenum | Yes| 
-| NEAREST | GLenum | Yes| 
-| LINEAR | GLenum | Yes| 
-| NEAREST_MIPMAP_NEAREST | GLenum | Yes| 
-| LINEAR_MIPMAP_NEAREST | GLenum | Yes| 
-| NEAREST_MIPMAP_LINEAR | GLenum | Yes| 
-| LINEAR_MIPMAP_LINEAR | GLenum | Yes| 
-| TEXTURE_MIN_FILTER | GLenum | Yes| 
-| TEXTURE_WRAP_S | GLenum | Yes| 
-| TEXTURE_WRAP_T | GLenum | Yes| 
-| TEXTURE_2D | GLenum | Yes| 
-| TEXTURE | GLenum | Yes| 
-| TEXTURE_CUBE_MAP | GLenum | Yes| 
-| TEXTURE_BINDING_CUBE_MAP | GLenum | Yes| 
-| TEXTURE_CUBE_MAP_POSITIVE_X | GLenum | Yes| 
-| TEXTURE_CUBE_MAP_NEGATIVE_X | GLenum | Yes| 
-| TEXTURE_CUBE_MAP_POSITIVE_Y | GLenum | Yes| 
-| TEXTURE_CUBE_MAP_NEGATIVE_Y | GLenum | Yes| 
-| TEXTURE_CUBE_MAP_POSITIVE_Z | GLenum | Yes| 
-| TEXTURE_CUBE_MAP_NEGATIVE_Z | GLenum | Yes| 
-| MAX_CUBE_MAP_TEXTURE_SIZE | GLenum | Yes| 
-| TEXTURE0 | GLenum | Yes| 
-| TEXTURE1 | GLenum | Yes| 
-| TEXTURE2 | GLenum | Yes| 
-| TEXTURE3 | GLenum | Yes| 
-| TEXTURE4 | GLenum | Yes| 
-| TEXTURE5 | GLenum | Yes| 
-| TEXTURE6 | GLenum | Yes| 
-| TEXTURE7 | GLenum | Yes| 
-| TEXTURE8 | GLenum | Yes| 
-| TEXTURE9 | GLenum | Yes| 
-| TEXTURE10 | GLenum | Yes| 
-| TEXTURE11 | GLenum | Yes| 
-| TEXTURE12 | GLenum | Yes| 
-| TEXTURE13 | GLenum | Yes| 
-| TEXTURE14 | GLenum | Yes| 
-| TEXTURE15 | GLenum | Yes| 
-| TEXTURE16 | GLenum | Yes| 
-| TEXTURE17 | GLenum | Yes| 
-| TEXTURE18 | GLenum | Yes| 
-| TEXTURE19 | GLenum | Yes| 
-| TEXTURE20 | GLenum | Yes| 
-| TEXTURE21 | GLenum | Yes| 
-| TEXTURE22 | GLenum | Yes| 
-| TEXTURE23 | GLenum | Yes| 
-| TEXTURE24 | GLenum | Yes| 
-| TEXTURE25 | GLenum | Yes| 
-| TEXTURE26 | GLenum | Yes| 
-| TEXTURE27 | GLenum | Yes| 
-| TEXTURE28 | GLenum | Yes| 
-| TEXTURE29 | GLenum | Yes| 
-| TEXTURE30 | GLenum | Yes| 
-| TEXTURE31 | GLenum | Yes| 
-| ACTIVE_TEXTURE | GLenum | Yes| 
-| REPEAT | GLenum | Yes| 
-| CLAMP_TO_EDGE | GLenum | Yes| 
-| MIRRORED_REPEAT | GLenum | Yes| 
-| FLOAT_VEC2 | GLenum | Yes| 
-| FLOAT_VEC3 | GLenum | Yes| 
-| FLOAT_VEC4 | GLenum | Yes| 
-| INT_VEC2 | GLenum | Yes| 
-| INT_VEC3 | GLenum | Yes| 
-| INT_VEC4 | GLenum | Yes| 
-| BOOL | GLenum | Yes| 
-| BOOL_VEC2 | GLenum | Yes| 
-| BOOL_VEC3 | GLenum | Yes| 
-| BOOL_VEC4 | GLenum | Yes| 
-| FLOAT_MAT2 | GLenum | Yes| 
-| FLOAT_MAT3 | GLenum | Yes| 
-| FLOAT_MAT4 | GLenum | Yes| 
-| SAMPLER_2D | GLenum | Yes| 
-| SAMPLER_CUBE | GLenum | Yes| 
-| VERTEX_ATTRIB_ARRAY_ENABLED | GLenum | Yes| 
-| VERTEX_ATTRIB_ARRAY_SIZE | GLenum | Yes| 
-| VERTEX_ATTRIB_ARRAY_STRIDE | GLenum | Yes| 
-| VERTEX_ATTRIB_ARRAY_TYPE | GLenum | Yes| 
-| VERTEX_ATTRIB_ARRAY_NORMALIZED | GLenum | Yes| 
-| VERTEX_ATTRIB_ARRAY_POINTER | GLenum | Yes| 
-| VERTEX_ATTRIB_ARRAY_BUFFER_BINDING | GLenum | Yes| 
-| IMPLEMENTATION_COLOR_READ_TYPE | GLenum | Yes| 
-| IMPLEMENTATION_COLOR_READ_FORMAT | GLenum | Yes| 
-| COMPILE_STATUS | GLenum | Yes| 
-| LOW_FLOAT | GLenum | Yes| 
-| MEDIUM_FLOAT | GLenum | Yes| 
-| HIGH_FLOAT | GLenum | Yes| 
-| LOW_INT | GLenum | Yes| 
-| MEDIUM_INT | GLenum | Yes| 
-| HIGH_INT | GLenum | Yes| 
-| FRAMEBUFFER | GLenum | Yes| 
-| RENDERBUFFER | GLenum | Yes| 
-| RGBA4 | GLenum | Yes| 
-| RGB5_A1 | GLenum | Yes| 
-| RGB565 | GLenum | Yes| 
-| DEPTH_COMPONENT16 | GLenum | Yes| 
-| STENCIL_INDEX8 | GLenum | Yes| 
-| DEPTH_STENCIL | GLenum | Yes| 
-| RENDERBUFFER_WIDTH | GLenum | Yes| 
-| RENDERBUFFER_HEIGHT | GLenum | Yes| 
-| RENDERBUFFER_INTERNAL_FORMAT | GLenum | Yes| 
-| RENDERBUFFER_RED_SIZE | GLenum | Yes| 
-| RENDERBUFFER_GREEN_SIZE | GLenum | Yes| 
-| RENDERBUFFER_BLUE_SIZE | GLenum | Yes| 
-| RENDERBUFFER_ALPHA_SIZE | GLenum | Yes| 
-| RENDERBUFFER_DEPTH_SIZE | GLenum | Yes| 
-| RENDERBUFFER_STENCIL_SIZE | GLenum | Yes| 
-| FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE | GLenum | Yes| 
-| FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL | GLenum | Yes| 
-| FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE | GLenum | Yes| 
-| COLOR_ATTACHMENT0 | GLenum | Yes| 
-| DEPTH_ATTACHMENT | GLenum | Yes| 
-| STENCIL_ATTACHMENT | GLenum | Yes| 
-| DEPTH_STENCIL_ATTACHMENT | GLenum | Yes| 
-| NONE | GLenum | Yes| 
-| FRAMEBUFFER_COMPLETE | GLenum | Yes| 
-| FRAMEBUFFER_INCOMPLETE_ATTACHMENT | GLenum | Yes| 
-| FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT | GLenum | Yes| 
-| FRAMEBUFFER_INCOMPLETE_DIMENSIONS | GLenum | Yes| 
-| FRAMEBUFFER_UNSUPPORTED | GLenum | Yes| 
-| FRAMEBUFFER_BINDING | GLenum | Yes| 
-| RENDERBUFFER_BINDING | GLenum | Yes| 
-| MAX_RENDERBUFFER_SIZE | GLenum | Yes| 
-| INVALID_FRAMEBUFFER_OPERATION | GLenum | Yes| 
-| UNPACK_FLIP_Y_WEBGL | GLenum | Yes| 
-| UNPACK_PREMULTIPLY_ALPHA_WEBGL | GLenum | Yes| 
-| CONTEXT_LOST_WEBGL | GLenum | Yes| 
-| UNPACK_COLORSPACE_CONVERSION_WEBGL | GLenum | Yes| 
-| BROWSER_DEFAULT_WEBGL | GLenum | Yes| 
-| canvas | HTMLCanvasElement \| OffscreenCanvas | Yes| 
-| drawingBufferWidth | GLsizei | Yes| 
-| drawingBufferHeight | GLsizei | Yes| 
+| DEPTH_BUFFER_BIT | GLenum | Yes|
+| STENCIL_BUFFER_BIT | GLenum | Yes|
+| COLOR_BUFFER_BIT | GLenum | Yes|
+| POINTS | GLenum | Yes|
+| LINES | GLenum | Yes|
+| LINE_LOOP | GLenum | Yes|
+| LINE_STRIP | GLenum | Yes|
+| TRIANGLES | GLenum | Yes|
+| TRIANGLE_STRIP | GLenum | Yes|
+| TRIANGLE_FAN | GLenum | Yes|
+| ZERO | GLenum | Yes|
+| ONE | GLenum | Yes|
+| SRC_COLOR | GLenum | Yes|
+| ONE_MINUS_SRC_COLOR | GLenum | Yes|
+| SRC_ALPHA | GLenum | Yes|
+| ONE_MINUS_SRC_ALPHA | GLenum | Yes|
+| DST_ALPHA | GLenum | Yes|
+| ONE_MINUS_DST_ALPHA | GLenum | Yes|
+| DST_COLOR | GLenum | Yes|
+| ONE_MINUS_DST_COLOR | GLenum | Yes|
+| SRC_ALPHA_SATURATE | GLenum | Yes|
+| FUNC_ADD | GLenum | Yes|
+| BLEND_EQUATION | GLenum | Yes|
+| BLEND_EQUATION_RGB | GLenum | Yes|
+| BLEND_EQUATION_ALPHA | GLenum | Yes|
+| FUNC_SUBTRACT | GLenum | Yes|
+| FUNC_REVERSE_SUBTRACT | GLenum | Yes|
+| BLEND_DST_RGB | GLenum | Yes|
+| BLEND_SRC_RGB | GLenum | Yes|
+| BLEND_DST_ALPHA | GLenum | Yes|
+| BLEND_SRC_ALPHA | GLenum | Yes|
+| CONSTANT_COLOR | GLenum | Yes|
+| ONE_MINUS_CONSTANT_COLOR | GLenum | Yes|
+| CONSTANT_ALPHA | GLenum | Yes|
+| ONE_MINUS_CONSTANT_ALPHA | GLenum | Yes|
+| BLEND_COLOR | GLenum | Yes|
+| ARRAY_BUFFER | GLenum | Yes|
+| ELEMENT_ARRAY_BUFFER | GLenum | Yes|
+| ARRAY_BUFFER_BINDING | GLenum | Yes|
+| ELEMENT_ARRAY_BUFFER_BINDING | GLenum | Yes|
+| STREAM_DRAW | GLenum | Yes|
+| STATIC_DRAW | GLenum | Yes|
+| DYNAMIC_DRAW | GLenum | Yes|
+| BUFFER_SIZE | GLenum | Yes|
+| BUFFER_USAGE | GLenum | Yes|
+| CURRENT_VERTEX_ATTRIB | GLenum | Yes|
+| FRONT | GLenum | Yes|
+| BACK | GLenum | Yes|
+| FRONT_AND_BACK | GLenum | Yes|
+| CULL_FACE | GLenum | Yes|
+| BLEND | GLenum | Yes|
+| DITHER | GLenum | Yes|
+| STENCIL_TEST | GLenum | Yes|
+| DEPTH_TEST | GLenum | Yes|
+| SCISSOR_TEST | GLenum | Yes|
+| POLYGON_OFFSET_FILL | GLenum | Yes|
+| SAMPLE_ALPHA_TO_COVERAGE | GLenum | Yes|
+| SAMPLE_COVERAGE | GLenum | Yes|
+| NO_ERROR | GLenum | Yes|
+| INVALID_ENUM | GLenum | Yes|
+| INVALID_VALUE | GLenum | Yes|
+| INVALID_OPERATION | GLenum | Yes|
+| OUT_OF_MEMORY | GLenum | Yes|
+| CW | GLenum | Yes|
+| CCW | GLenum | Yes|
+| LINE_WIDTH | GLenum | Yes|
+| ALIASED_POINT_SIZE_RANGE | GLenum | Yes|
+| ALIASED_LINE_WIDTH_RANGE | GLenum | Yes|
+| CULL_FACE_MODE | GLenum | Yes|
+| FRONT_FACE | GLenum | Yes|
+| DEPTH_RANGE | GLenum | Yes|
+| DEPTH_WRITEMASK | GLenum | Yes|
+| DEPTH_CLEAR_VALUE | GLenum | Yes|
+| DEPTH_FUNC | GLenum | Yes|
+| STENCIL_CLEAR_VALUE | GLenum | Yes|
+| STENCIL_FUNC | GLenum | Yes|
+| STENCIL_FAIL | GLenum | Yes|
+| STENCIL_PASS_DEPTH_FAIL | GLenum | Yes|
+| STENCIL_PASS_DEPTH_PASS | GLenum | Yes|
+| STENCIL_REF | GLenum | Yes|
+| STENCIL_VALUE_MASK | GLenum | Yes|
+| STENCIL_WRITEMASK | GLenum | Yes|
+| STENCIL_BACK_FUNC | GLenum | Yes|
+| STENCIL_BACK_FAIL | GLenum | Yes|
+| STENCIL_BACK_PASS_DEPTH_FAIL | GLenum | Yes|
+| STENCIL_BACK_PASS_DEPTH_PASS | GLenum | Yes|
+| STENCIL_BACK_REF | GLenum | Yes|
+| STENCIL_BACK_VALUE_MASK | GLenum | Yes|
+| STENCIL_BACK_WRITEMASK | GLenum | Yes|
+| VIEWPORT | GLenum | Yes|
+| SCISSOR_BOX | GLenum | Yes|
+| COLOR_CLEAR_VALUE | GLenum | Yes|
+| COLOR_WRITEMASK | GLenum | Yes|
+| UNPACK_ALIGNMENT | GLenum | Yes|
+| PACK_ALIGNMENT | GLenum | Yes|
+| MAX_TEXTURE_SIZE | GLenum | Yes|
+| MAX_VIEWPORT_DIMS | GLenum | Yes|
+| SUBPIXEL_BITS | GLenum | Yes|
+| RED_BITS | GLenum | Yes|
+| GREEN_BITS | GLenum | Yes|
+| BLUE_BITS | GLenum | Yes|
+| ALPHA_BITS | GLenum | Yes|
+| DEPTH_BITS | GLenum | Yes|
+| STENCIL_BITS | GLenum | Yes|
+| POLYGON_OFFSET_UNITS | GLenum | Yes|
+| POLYGON_OFFSET_FACTOR | GLenum | Yes|
+| TEXTURE_BINDING_2D | GLenum | Yes|
+| SAMPLE_BUFFERS | GLenum | Yes|
+| SAMPLES | GLenum | Yes|
+| SAMPLE_COVERAGE_VALUE | GLenum | Yes|
+| SAMPLE_COVERAGE_INVERT | GLenum | Yes|
+| COMPRESSED_TEXTURE_FORMATS | GLenum | Yes|
+| DONT_CARE | GLenum | Yes|
+| FASTEST | GLenum | Yes|
+| NICEST | GLenum | Yes|
+| GENERATE_MIPMAP_HINT | GLenum | Yes|
+| BYTE | GLenum | Yes|
+| UNSIGNED_BYTE | GLenum | Yes|
+| SHORT | GLenum | Yes|
+| UNSIGNED_SHORT | GLenum | Yes|
+| INT | GLenum | Yes|
+| UNSIGNED_INT | GLenum | Yes|
+| FLOAT | GLenum | Yes|
+| DEPTH_COMPONENT | GLenum | Yes|
+| ALPHA | GLenum | Yes|
+| RGB | GLenum | Yes|
+| RGBA | GLenum | Yes|
+| LUMINANCE | GLenum | Yes|
+| LUMINANCE_ALPHA | GLenum | Yes|
+| UNSIGNED_SHORT_4_4_4_4 | GLenum | Yes|
+| UNSIGNED_SHORT_5_5_5_1 | GLenum | Yes|
+| UNSIGNED_SHORT_5_6_5 | GLenum | Yes|
+| FRAGMENT_SHADER | GLenum | Yes|
+| VERTEX_SHADER | GLenum | Yes|
+| MAX_VERTEX_ATTRIBS | GLenum | Yes|
+| MAX_VERTEX_UNIFORM_VECTORS | GLenum | Yes|
+| MAX_VARYING_VECTORS | GLenum | Yes|
+| MAX_COMBINED_TEXTURE_IMAGE_UNITS | GLenum | Yes|
+| MAX_VERTEX_TEXTURE_IMAGE_UNITS | GLenum | Yes|
+| MAX_TEXTURE_IMAGE_UNITS | GLenum | Yes|
+| MAX_FRAGMENT_UNIFORM_VECTORS | GLenum | Yes|
+| SHADER_TYPE | GLenum | Yes|
+| DELETE_STATUS | GLenum | Yes|
+| LINK_STATUS | GLenum | Yes|
+| VALIDATE_STATUS | GLenum | Yes|
+| ATTACHED_SHADERS | GLenum | Yes|
+| ACTIVE_UNIFORMS | GLenum | Yes|
+| ACTIVE_ATTRIBUTES | GLenum | Yes|
+| SHADING_LANGUAGE_VERSION | GLenum | Yes|
+| CURRENT_PROGRAM | GLenum | Yes|
+| NEVER | GLenum | Yes|
+| LESS | GLenum | Yes|
+| EQUAL | GLenum | Yes|
+| LEQUAL | GLenum | Yes|
+| GREATER | GLenum | Yes|
+| NOTEQUAL | GLenum | Yes|
+| GEQUAL | GLenum | Yes|
+| ALWAYS | GLenum | Yes|
+| KEEP | GLenum | Yes|
+| REPLACE | GLenum | Yes|
+| INCR | GLenum | Yes|
+| DECR | GLenum | Yes|
+| INVERT | GLenum | Yes|
+| INCR_WRAP | GLenum | Yes|
+| DECR_WRAP | GLenum | Yes|
+| VENDOR | GLenum | Yes|
+| RENDERER | GLenum | Yes|
+| VERSION | GLenum | Yes|
+| NEAREST | GLenum | Yes|
+| LINEAR | GLenum | Yes|
+| NEAREST_MIPMAP_NEAREST | GLenum | Yes|
+| LINEAR_MIPMAP_NEAREST | GLenum | Yes|
+| NEAREST_MIPMAP_LINEAR | GLenum | Yes|
+| LINEAR_MIPMAP_LINEAR | GLenum | Yes|
+| TEXTURE_MIN_FILTER | GLenum | Yes|
+| TEXTURE_WRAP_S | GLenum | Yes|
+| TEXTURE_WRAP_T | GLenum | Yes|
+| TEXTURE_2D | GLenum | Yes|
+| TEXTURE | GLenum | Yes|
+| TEXTURE_CUBE_MAP | GLenum | Yes|
+| TEXTURE_BINDING_CUBE_MAP | GLenum | Yes|
+| TEXTURE_CUBE_MAP_POSITIVE_X | GLenum | Yes|
+| TEXTURE_CUBE_MAP_NEGATIVE_X | GLenum | Yes|
+| TEXTURE_CUBE_MAP_POSITIVE_Y | GLenum | Yes|
+| TEXTURE_CUBE_MAP_NEGATIVE_Y | GLenum | Yes|
+| TEXTURE_CUBE_MAP_POSITIVE_Z | GLenum | Yes|
+| TEXTURE_CUBE_MAP_NEGATIVE_Z | GLenum | Yes|
+| MAX_CUBE_MAP_TEXTURE_SIZE | GLenum | Yes|
+| TEXTURE0 | GLenum | Yes|
+| TEXTURE1 | GLenum | Yes|
+| TEXTURE2 | GLenum | Yes|
+| TEXTURE3 | GLenum | Yes|
+| TEXTURE4 | GLenum | Yes|
+| TEXTURE5 | GLenum | Yes|
+| TEXTURE6 | GLenum | Yes|
+| TEXTURE7 | GLenum | Yes|
+| TEXTURE8 | GLenum | Yes|
+| TEXTURE9 | GLenum | Yes|
+| TEXTURE10 | GLenum | Yes|
+| TEXTURE11 | GLenum | Yes|
+| TEXTURE12 | GLenum | Yes|
+| TEXTURE13 | GLenum | Yes|
+| TEXTURE14 | GLenum | Yes|
+| TEXTURE15 | GLenum | Yes|
+| TEXTURE16 | GLenum | Yes|
+| TEXTURE17 | GLenum | Yes|
+| TEXTURE18 | GLenum | Yes|
+| TEXTURE19 | GLenum | Yes|
+| TEXTURE20 | GLenum | Yes|
+| TEXTURE21 | GLenum | Yes|
+| TEXTURE22 | GLenum | Yes|
+| TEXTURE23 | GLenum | Yes|
+| TEXTURE24 | GLenum | Yes|
+| TEXTURE25 | GLenum | Yes|
+| TEXTURE26 | GLenum | Yes|
+| TEXTURE27 | GLenum | Yes|
+| TEXTURE28 | GLenum | Yes|
+| TEXTURE29 | GLenum | Yes|
+| TEXTURE30 | GLenum | Yes|
+| TEXTURE31 | GLenum | Yes|
+| ACTIVE_TEXTURE | GLenum | Yes|
+| REPEAT | GLenum | Yes|
+| CLAMP_TO_EDGE | GLenum | Yes|
+| MIRRORED_REPEAT | GLenum | Yes|
+| FLOAT_VEC2 | GLenum | Yes|
+| FLOAT_VEC3 | GLenum | Yes|
+| FLOAT_VEC4 | GLenum | Yes|
+| INT_VEC2 | GLenum | Yes|
+| INT_VEC3 | GLenum | Yes|
+| INT_VEC4 | GLenum | Yes|
+| BOOL | GLenum | Yes|
+| BOOL_VEC2 | GLenum | Yes|
+| BOOL_VEC3 | GLenum | Yes|
+| BOOL_VEC4 | GLenum | Yes|
+| FLOAT_MAT2 | GLenum | Yes|
+| FLOAT_MAT3 | GLenum | Yes|
+| FLOAT_MAT4 | GLenum | Yes|
+| SAMPLER_2D | GLenum | Yes|
+| SAMPLER_CUBE | GLenum | Yes|
+| VERTEX_ATTRIB_ARRAY_ENABLED | GLenum | Yes|
+| VERTEX_ATTRIB_ARRAY_SIZE | GLenum | Yes|
+| VERTEX_ATTRIB_ARRAY_STRIDE | GLenum | Yes|
+| VERTEX_ATTRIB_ARRAY_TYPE | GLenum | Yes|
+| VERTEX_ATTRIB_ARRAY_NORMALIZED | GLenum | Yes|
+| VERTEX_ATTRIB_ARRAY_POINTER | GLenum | Yes|
+| VERTEX_ATTRIB_ARRAY_BUFFER_BINDING | GLenum | Yes|
+| IMPLEMENTATION_COLOR_READ_TYPE | GLenum | Yes|
+| IMPLEMENTATION_COLOR_READ_FORMAT | GLenum | Yes|
+| COMPILE_STATUS | GLenum | Yes|
+| LOW_FLOAT | GLenum | Yes|
+| MEDIUM_FLOAT | GLenum | Yes|
+| HIGH_FLOAT | GLenum | Yes|
+| LOW_INT | GLenum | Yes|
+| MEDIUM_INT | GLenum | Yes|
+| HIGH_INT | GLenum | Yes|
+| FRAMEBUFFER | GLenum | Yes|
+| RENDERBUFFER | GLenum | Yes|
+| RGBA4 | GLenum | Yes|
+| RGB5_A1 | GLenum | Yes|
+| RGB565 | GLenum | Yes|
+| DEPTH_COMPONENT16 | GLenum | Yes|
+| STENCIL_INDEX8 | GLenum | Yes|
+| DEPTH_STENCIL | GLenum | Yes|
+| RENDERBUFFER_WIDTH | GLenum | Yes|
+| RENDERBUFFER_HEIGHT | GLenum | Yes|
+| RENDERBUFFER_INTERNAL_FORMAT | GLenum | Yes|
+| RENDERBUFFER_RED_SIZE | GLenum | Yes|
+| RENDERBUFFER_GREEN_SIZE | GLenum | Yes|
+| RENDERBUFFER_BLUE_SIZE | GLenum | Yes|
+| RENDERBUFFER_ALPHA_SIZE | GLenum | Yes|
+| RENDERBUFFER_DEPTH_SIZE | GLenum | Yes|
+| RENDERBUFFER_STENCIL_SIZE | GLenum | Yes|
+| FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE | GLenum | Yes|
+| FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL | GLenum | Yes|
+| FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE | GLenum | Yes|
+| COLOR_ATTACHMENT0 | GLenum | Yes|
+| DEPTH_ATTACHMENT | GLenum | Yes|
+| STENCIL_ATTACHMENT | GLenum | Yes|
+| DEPTH_STENCIL_ATTACHMENT | GLenum | Yes|
+| NONE | GLenum | Yes|
+| FRAMEBUFFER_COMPLETE | GLenum | Yes|
+| FRAMEBUFFER_INCOMPLETE_ATTACHMENT | GLenum | Yes|
+| FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT | GLenum | Yes|
+| FRAMEBUFFER_INCOMPLETE_DIMENSIONS | GLenum | Yes|
+| FRAMEBUFFER_UNSUPPORTED | GLenum | Yes|
+| FRAMEBUFFER_BINDING | GLenum | Yes|
+| RENDERBUFFER_BINDING | GLenum | Yes|
+| MAX_RENDERBUFFER_SIZE | GLenum | Yes|
+| INVALID_FRAMEBUFFER_OPERATION | GLenum | Yes|
+| UNPACK_FLIP_Y_WEBGL | GLenum | Yes|
+| UNPACK_PREMULTIPLY_ALPHA_WEBGL | GLenum | Yes|
+| CONTEXT_LOST_WEBGL | GLenum | Yes|
+| UNPACK_COLORSPACE_CONVERSION_WEBGL | GLenum | Yes|
+| BROWSER_DEFAULT_WEBGL | GLenum | Yes|
+| canvas | HTMLCanvasElement \| OffscreenCanvas | Yes|
+| drawingBufferWidth | GLsizei | Yes|
+| drawingBufferHeight | GLsizei | Yes|
 
 
 ### Methods
 
-  | Method| Return Value Type| 
+| Method| Return Value Type|
 | -------- | -------- |
-| getContextAttributes() | WebGLContextAttributes \| null | 
-| isContextLost() | boolean | 
-| getSupportedExtensions() | string[] \| null | 
-| getExtension(name: string) | any | 
-| activeTexture(texture: GLenum) | void | 
-| attachShader(program: WebGLProgram, shader: WebGLShader) | void | 
-| bindAttribLocation(program: WebGLProgram, index: GLuint, name: string) | void | 
-| bindBuffer(target: GLenum, buffer: WebGLBuffer \| null) | void | 
-| bindFramebuffer(target: GLenum, framebuffer: WebGLFramebuffer \| null) | void | 
-| bindRenderbuffer(target: GLenum, renderbuffer: WebGLRenderbuffer \| null) | void | 
-| bindTexture(target: GLenum, texture: WebGLTexture \| null) | void | 
-| blendColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf) | void | 
-| blendEquation(mode: GLenum) | void | 
-| blendEquationSeparate(modeRGB: GLenum, modeAlpha: GLenum) | void | 
-| blendFunc(sfactor: GLenum, dfactor: GLenum) | void | 
-| blendFuncSeparate(srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum) | void | 
-| checkFramebufferStatus(target: GLenum) | GLenum | 
-| clear(mask: GLbitfield) | void | 
-| clearColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf) | void | 
-| clearDepth(depth: GLclampf) | void | 
-| clearStencil(s: GLint) | void | 
-| colorMask(red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean) | void | 
-| compileShader(shader: WebGLShader) | void | 
-| copyTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint) | void | 
-| copyTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei) | void | 
-| createBuffer() | WebGLBuffer \| null | 
-| createFramebuffer() | WebGLFramebuffer \| null | 
-| createProgram() | WebGLProgram \| null | 
-| createRenderbuffer() | WebGLRenderbuffer \| null | 
-| createShader(type: GLenum) | WebGLShader \| null | 
-| createTexture() | WebGLTexture \| null | 
-| cullFace(mode: GLenum) | void | 
-| deleteBuffer(buffer: WebGLBuffer \| null) | void | 
-| deleteFramebuffer(framebuffer: WebGLFramebuffer \| null) | void | 
-| deleteProgram(program: WebGLProgram \| null) | void | 
-| deleteRenderbuffer(renderbuffer: WebGLRenderbuffer \| null) | void | 
-| deleteShader(shader: WebGLShader \| null) | void | 
-| deleteTexture(texture: WebGLTexture \| null) | void | 
-| depthFunc(func: GLenum) | void | 
-| depthMask(flag: GLboolean) | void | 
-| depthRange(zNear: GLclampf, zFar: GLclampf) | void | 
-| detachShader(program: WebGLProgram, shader: WebGLShader) | void | 
-| disable(cap: GLenum) | void | 
-| disableVertexAttribArray(index: GLuint) | void | 
-| drawArrays(mode: GLenum, first: GLint, count: GLsizei) | void | 
-| drawElements(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr) | void | 
-| enable(cap: GLenum) | void | 
-| enableVertexAttribArray(index: GLuint) | void | 
-| finish() | void | 
-| flush() | void | 
-| framebufferRenderbuffer(target: GLenum, attachment: GLenum, renderbuffertarget: GLenum, renderbuffer: WebGLRenderbuffer \| null) | void | 
-| framebufferTexture2D(target: GLenum, attachment: GLenum, textarget: GLenum, texture: WebGLTexture \| null, level: GLint) | void | 
-| frontFace(mode: GLenum) | void | 
-| generateMipmap(target: GLenum) | void | 
-| getActiveAttrib(program: WebGLProgram, index: GLuint) | WebGLActiveInfo \| null | 
-| getActiveUniform(program: WebGLProgram, index: GLuint) | WebGLActiveInfo \| null | 
-| getAttachedShaders(program: WebGLProgram) | WebGLShader[] \| null | 
-| getAttribLocation(program: WebGLProgram, name: string) | GLint | 
-| getBufferParameter(target: GLenum, pname: GLenum) | any | 
-| getParameter(pname: GLenum) | any | 
-| getError() | GLenum | 
-| getFramebufferAttachmentParameter(target: GLenum, attachment: GLenum, pname: GLenum) | any | 
-| getProgramParameter(program: WebGLProgram, pname: GLenum) | any | 
-| getProgramInfoLog(program: WebGLProgram) | string \| null | 
-| getRenderbufferParameter(target: GLenum, pname: GLenum) | any | 
-| getShaderParameter(shader: WebGLShader, pname: GLenum) | any | 
-| getShaderPrecisionFormat(shadertype: GLenum, precisiontype: GLenum) | WebGLShaderPrecisionFormat \| null | 
-| getShaderInfoLog(shader: WebGLShader) | string \| null | 
-| getShaderSource(shader: WebGLShader) | string \| null | 
-| getTexParameter(target: GLenum, pname: GLenum) | any | 
-| getUniform(program: WebGLProgram, location: WebGLUniformLocation) | any | 
-| getUniformLocation(program: WebGLProgram, name: string) | WebGLUniformLocation \| null | 
-| getVertexAttrib(index: GLuint, pname: GLenum) | any | 
-| getVertexAttribOffset(index: GLuint, pname: GLenum) | GLintptr | 
-| hint(target: GLenum, mode: GLenum) | void | 
-| isBuffer(buffer: WebGLBuffer \| null) | GLboolean | 
-| isEnabled(cap: GLenum) | GLboolean | 
-| isFramebuffer(framebuffer: WebGLFramebuffer \| null) | GLboolean | 
-| isProgram(program: WebGLProgram \| null) | GLboolean | 
-| isRenderbuffer(renderbuffer: WebGLRenderbuffer \| null) | GLboolean | 
-| isShader(shader: WebGLShader \| null) | GLboolean | 
-| isTexture(texture: WebGLTexture \| null) | GLboolean | 
-| lineWidth(width: GLfloat) | void | 
-| linkProgram(program: WebGLProgram) | void | 
-| pixelStorei(pname: GLenum, param: GLint \| GLboolean) | void | 
-| polygonOffset(factor: GLfloat, units: GLfloat) | void | 
-| renderbufferStorage(target: GLenum, internalformat: GLenum, width: GLsizei, height: GLsizei) | void | 
-| sampleCoverage(value: GLclampf, invert: GLboolean) | void | 
-| scissor(x: GLint, y: GLint, width: GLsizei, height: GLsizei) | void | 
-| shaderSource(shader: WebGLShader, source: string) | void | 
-| stencilFunc(func: GLenum, ref: GLint, mask: GLuint) | void | 
-| stencilFuncSeparate(face: GLenum, func: GLenum, ref: GLint, mask: GLuint) | void | 
-| stencilMask(mask: GLuint) | void | 
-| stencilMaskSeparate(face: GLenum, mask: GLuint) | void | 
-| stencilOp(fail: GLenum, zfail: GLenum, zpass: GLenum) | void | 
-| stencilOpSeparate(face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum) | void | 
-| texParameterf(target: GLenum, pname: GLenum, param: GLfloat) | void | 
-| texParameteri(target: GLenum, pname: GLenum, param: GLint) | void | 
-| uniform1f(location: WebGLUniformLocation \| null, x: GLfloat) | void | 
-| uniform2f(location: WebGLUniformLocation \| null, x: GLfloat, y: GLfloat) | void | 
-| uniform3f(location: WebGLUniformLocation \| null, x: GLfloat, y: GLfloat, z: GLfloat) | void | 
-| uniform4f(location: WebGLUniformLocation \| null, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat) | void | 
-| uniform1i(location: WebGLUniformLocation \| null, x: GLint) | void | 
-| uniform2i(location: WebGLUniformLocation \| null, x: GLint, y: GLint) | void | 
-| uniform3i(location: WebGLUniformLocation \| null, x: GLint, y: GLint, z: GLint) | void | 
-| uniform4i(location: WebGLUniformLocation \| null, x: GLint, y: GLint, z: GLint, w: GLint) | void | 
-| useProgram(program: WebGLProgram \| null) | void | 
-| validateProgram(program: WebGLProgram) | void | 
-| vertexAttrib1f(index: GLuint, x: GLfloat) | void | 
-| vertexAttrib2f(index: GLuint, x: GLfloat, y: GLfloat) | void | 
-| vertexAttrib3f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat) | void | 
-| vertexAttrib4f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat) | void | 
-| vertexAttrib1fv(index: GLuint, values: Float32List) | void | 
-| vertexAttrib2fv(index: GLuint, values: Float32List) | void | 
-| vertexAttrib3fv(index: GLuint, values: Float32List) | void | 
-| vertexAttrib4fv(index: GLuint, values: Float32List) | void | 
-| vertexAttribPointer(index: GLuint, size: GLint, type: GLenum, normalized: GLboolean, stride: GLsizei, offset: GLintptr) | void | 
-| viewport(x: GLint, y: GLint, width: GLsizei, height: GLsizei) | void | 
+| getContextAttributes() | WebGLContextAttributes \| null |
+| isContextLost() | boolean |
+| getSupportedExtensions() | string[] \| null |
+| getExtension(name: string) | any |
+| activeTexture(texture: GLenum) | void |
+| attachShader(program: WebGLProgram, shader: WebGLShader) | void |
+| bindAttribLocation(program: WebGLProgram, index: GLuint, name: string) | void |
+| bindBuffer(target: GLenum, buffer: WebGLBuffer \| null) | void |
+| bindFramebuffer(target: GLenum, framebuffer: WebGLFramebuffer \| null) | void |
+| bindRenderbuffer(target: GLenum, renderbuffer: WebGLRenderbuffer \| null) | void |
+| bindTexture(target: GLenum, texture: WebGLTexture \| null) | void |
+| blendColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf) | void |
+| blendEquation(mode: GLenum) | void |
+| blendEquationSeparate(modeRGB: GLenum, modeAlpha: GLenum) | void |
+| blendFunc(sfactor: GLenum, dfactor: GLenum) | void |
+| blendFuncSeparate(srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum) | void |
+| checkFramebufferStatus(target: GLenum) | GLenum |
+| clear(mask: GLbitfield) | void |
+| clearColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf) | void |
+| clearDepth(depth: GLclampf) | void |
+| clearStencil(s: GLint) | void |
+| colorMask(red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean) | void |
+| compileShader(shader: WebGLShader) | void |
+| copyTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint) | void |
+| copyTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei) | void |
+| createBuffer() | WebGLBuffer \| null |
+| createFramebuffer() | WebGLFramebuffer \| null |
+| createProgram() | WebGLProgram \| null |
+| createRenderbuffer() | WebGLRenderbuffer \| null |
+| createShader(type: GLenum) | WebGLShader \| null |
+| createTexture() | WebGLTexture \| null |
+| cullFace(mode: GLenum) | void |
+| deleteBuffer(buffer: WebGLBuffer \| null) | void |
+| deleteFramebuffer(framebuffer: WebGLFramebuffer \| null) | void |
+| deleteProgram(program: WebGLProgram \| null) | void |
+| deleteRenderbuffer(renderbuffer: WebGLRenderbuffer \| null) | void |
+| deleteShader(shader: WebGLShader \| null) | void |
+| deleteTexture(texture: WebGLTexture \| null) | void |
+| depthFunc(func: GLenum) | void |
+| depthMask(flag: GLboolean) | void |
+| depthRange(zNear: GLclampf, zFar: GLclampf) | void |
+| detachShader(program: WebGLProgram, shader: WebGLShader) | void |
+| disable(cap: GLenum) | void |
+| disableVertexAttribArray(index: GLuint) | void |
+| drawArrays(mode: GLenum, first: GLint, count: GLsizei) | void |
+| drawElements(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr) | void |
+| enable(cap: GLenum) | void |
+| enableVertexAttribArray(index: GLuint) | void |
+| finish() | void |
+| flush() | void |
+| framebufferRenderbuffer(target: GLenum, attachment: GLenum, renderbuffertarget: GLenum, renderbuffer: WebGLRenderbuffer \| null) | void |
+| framebufferTexture2D(target: GLenum, attachment: GLenum, textarget: GLenum, texture: WebGLTexture \| null, level: GLint) | void |
+| frontFace(mode: GLenum) | void |
+| generateMipmap(target: GLenum) | void |
+| getActiveAttrib(program: WebGLProgram, index: GLuint) | WebGLActiveInfo \| null |
+| getActiveUniform(program: WebGLProgram, index: GLuint) | WebGLActiveInfo \| null |
+| getAttachedShaders(program: WebGLProgram) | WebGLShader[] \| null |
+| getAttribLocation(program: WebGLProgram, name: string) | GLint |
+| getBufferParameter(target: GLenum, pname: GLenum) | any |
+| getParameter(pname: GLenum) | any |
+| getError() | GLenum |
+| getFramebufferAttachmentParameter(target: GLenum, attachment: GLenum, pname: GLenum) | any |
+| getProgramParameter(program: WebGLProgram, pname: GLenum) | any |
+| getProgramInfoLog(program: WebGLProgram) | string \| null |
+| getRenderbufferParameter(target: GLenum, pname: GLenum) | any |
+| getShaderParameter(shader: WebGLShader, pname: GLenum) | any |
+| getShaderPrecisionFormat(shadertype: GLenum, precisiontype: GLenum) | WebGLShaderPrecisionFormat \| null |
+| getShaderInfoLog(shader: WebGLShader) | string \| null |
+| getShaderSource(shader: WebGLShader) | string \| null |
+| getTexParameter(target: GLenum, pname: GLenum) | any |
+| getUniform(program: WebGLProgram, location: WebGLUniformLocation) | any |
+| getUniformLocation(program: WebGLProgram, name: string) | WebGLUniformLocation \| null |
+| getVertexAttrib(index: GLuint, pname: GLenum) | any |
+| getVertexAttribOffset(index: GLuint, pname: GLenum) | GLintptr |
+| hint(target: GLenum, mode: GLenum) | void |
+| isBuffer(buffer: WebGLBuffer \| null) | GLboolean |
+| isEnabled(cap: GLenum) | GLboolean |
+| isFramebuffer(framebuffer: WebGLFramebuffer \| null) | GLboolean |
+| isProgram(program: WebGLProgram \| null) | GLboolean |
+| isRenderbuffer(renderbuffer: WebGLRenderbuffer \| null) | GLboolean |
+| isShader(shader: WebGLShader \| null) | GLboolean |
+| isTexture(texture: WebGLTexture \| null) | GLboolean |
+| lineWidth(width: GLfloat) | void |
+| linkProgram(program: WebGLProgram) | void |
+| pixelStorei(pname: GLenum, param: GLint \| GLboolean) | void |
+| polygonOffset(factor: GLfloat, units: GLfloat) | void |
+| renderbufferStorage(target: GLenum, internalformat: GLenum, width: GLsizei, height: GLsizei) | void |
+| sampleCoverage(value: GLclampf, invert: GLboolean) | void |
+| scissor(x: GLint, y: GLint, width: GLsizei, height: GLsizei) | void |
+| shaderSource(shader: WebGLShader, source: string) | void |
+| stencilFunc(func: GLenum, ref: GLint, mask: GLuint) | void |
+| stencilFuncSeparate(face: GLenum, func: GLenum, ref: GLint, mask: GLuint) | void |
+| stencilMask(mask: GLuint) | void |
+| stencilMaskSeparate(face: GLenum, mask: GLuint) | void |
+| stencilOp(fail: GLenum, zfail: GLenum, zpass: GLenum) | void |
+| stencilOpSeparate(face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum) | void |
+| texParameterf(target: GLenum, pname: GLenum, param: GLfloat) | void |
+| texParameteri(target: GLenum, pname: GLenum, param: GLint) | void |
+| uniform1f(location: WebGLUniformLocation \| null, x: GLfloat) | void |
+| uniform2f(location: WebGLUniformLocation \| null, x: GLfloat, y: GLfloat) | void |
+| uniform3f(location: WebGLUniformLocation \| null, x: GLfloat, y: GLfloat, z: GLfloat) | void |
+| uniform4f(location: WebGLUniformLocation \| null, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat) | void |
+| uniform1i(location: WebGLUniformLocation \| null, x: GLint) | void |
+| uniform2i(location: WebGLUniformLocation \| null, x: GLint, y: GLint) | void |
+| uniform3i(location: WebGLUniformLocation \| null, x: GLint, y: GLint, z: GLint) | void |
+| uniform4i(location: WebGLUniformLocation \| null, x: GLint, y: GLint, z: GLint, w: GLint) | void |
+| useProgram(program: WebGLProgram \| null) | void |
+| validateProgram(program: WebGLProgram) | void |
+| vertexAttrib1f(index: GLuint, x: GLfloat) | void |
+| vertexAttrib2f(index: GLuint, x: GLfloat, y: GLfloat) | void |
+| vertexAttrib3f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat) | void |
+| vertexAttrib4f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat) | void |
+| vertexAttrib1fv(index: GLuint, values: Float32List) | void |
+| vertexAttrib2fv(index: GLuint, values: Float32List) | void |
+| vertexAttrib3fv(index: GLuint, values: Float32List) | void |
+| vertexAttrib4fv(index: GLuint, values: Float32List) | void |
+| vertexAttribPointer(index: GLuint, size: GLint, type: GLenum, normalized: GLboolean, stride: GLsizei, offset: GLintptr) | void |
+| viewport(x: GLint, y: GLint, width: GLsizei, height: GLsizei) | void |
 
 
 ## WebGLRenderingContextOverloads
 
 WebGLRenderingContextOverloads
 
-  | Method| Return Value Type| 
+| Method| Return Value Type|
 | -------- | -------- |
-| bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum) | void | 
-| bufferData(target: GLenum, data: BufferSource \| null, usage: GLenum) | void | 
-| bufferSubData(target: GLenum, offset: GLintptr, data: BufferSource) | void | 
-| compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data: ArrayBufferView) | void | 
-| compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, data: ArrayBufferView) | void | 
-| readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null) | void | 
-| texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null) | void | 
-| texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void | 
-| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null) | void | 
-| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void | 
-| uniform1fv(location: WebGLUniformLocation \| null, v: Float32List) | void | 
-| uniform2fv(location: WebGLUniformLocation \| null, v: Float32List) | void | 
-| uniform3fv(location: WebGLUniformLocation \| null, v: Float32List) | void | 
-| uniform4fv(location: WebGLUniformLocation \| null, v: Float32List) | void | 
-| uniform1iv(location: WebGLUniformLocation \| null, v: Int32List) | void | 
-| uniform2iv(location: WebGLUniformLocation \| null, v: Int32List) | void | 
-| uniform3iv(location: WebGLUniformLocation \| null, v: Int32List) | void | 
-| uniform4iv(location: WebGLUniformLocation \| null, v: Int32List) | void | 
-| uniformMatrix2fv(location: WebGLUniformLocation \| null, transpose: GLboolean, value: Float32List) | void | 
-| uniformMatrix3fv(location: WebGLUniformLocation \| null, transpose: GLboolean, value: Float32List) | void | 
-| uniformMatrix4fv(location: WebGLUniformLocation \| null, transpose: GLboolean, value: Float32List) | void | 
+| bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum) | void |
+| bufferData(target: GLenum, data: BufferSource \| null, usage: GLenum) | void |
+| bufferSubData(target: GLenum, offset: GLintptr, data: BufferSource) | void |
+| compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data: ArrayBufferView) | void |
+| compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, data: ArrayBufferView) | void |
+| readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null) | void |
+| texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null) | void |
+| texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void |
+| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null) | void |
+| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void |
+| uniform1fv(location: WebGLUniformLocation \| null, v: Float32List) | void |
+| uniform2fv(location: WebGLUniformLocation \| null, v: Float32List) | void |
+| uniform3fv(location: WebGLUniformLocation \| null, v: Float32List) | void |
+| uniform4fv(location: WebGLUniformLocation \| null, v: Float32List) | void |
+| uniform1iv(location: WebGLUniformLocation \| null, v: Int32List) | void |
+| uniform2iv(location: WebGLUniformLocation \| null, v: Int32List) | void |
+| uniform3iv(location: WebGLUniformLocation \| null, v: Int32List) | void |
+| uniform4iv(location: WebGLUniformLocation \| null, v: Int32List) | void |
+| uniformMatrix2fv(location: WebGLUniformLocation \| null, transpose: GLboolean, value: Float32List) | void |
+| uniformMatrix3fv(location: WebGLUniformLocation \| null, transpose: GLboolean, value: Float32List) | void |
+| uniformMatrix4fv(location: WebGLUniformLocation \| null, transpose: GLboolean, value: Float32List) | void |
diff --git a/en/application-dev/reference/apis/js-apis-webgl2.md b/en/application-dev/reference/apis/js-apis-webgl2.md
index 386d1c53da..6fc36366d3 100644
--- a/en/application-dev/reference/apis/js-apis-webgl2.md
+++ b/en/application-dev/reference/apis/js-apis-webgl2.md
@@ -1,11 +1,15 @@
-# webgl2
-
->  **NOTE**<br/>
-> The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version.
+# WebGL2
 
+The **WebGL2** module supports graphics drawing, such as processing the graphics position and color. WebGL2 provides enhanced capabilities in the rendering pipeline and shader language than WebGL.
 
 This module provides WebGL APIs that correspond to the OpenGL ES 3.0 feature set. For more information, see [WebGLâ„¢](https://www.khronos.org/registry/webgl/specs/latest/2.0/).
 
+>  **NOTE**
+>
+> The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version.
+>
+> WebGL2 complies with the OpenGL protocol and does not support multi-thread calling.
+
 
 ## Invoking Method
 
@@ -37,7 +41,7 @@ gl.clearColor(0.0, 0.0, 0.0, 1.0);
 
 **System capability**: SystemCapability.Graphic.Graphic2D.WebGL2
 
-  **Table 1** Type
+**Table 1** Type
 
 | Name| Type|
 | -------- | -------- |
@@ -47,11 +51,11 @@ gl.clearColor(0.0, 0.0, 0.0, 1.0);
 | Uint32List | array |
 
 
-## Interface
+## APIs
 
 **System capability**: SystemCapability.Graphic.Graphic2D.WebGL2
 
-  **Table 2** Interface
+**Table 2** APIs
 
 | Name|
 | -------- |
@@ -71,409 +75,409 @@ WebGL2RenderingContextBase
 
 ### Attributes
 
-  | Name| Type| Mandatory| 
+| Name| Type| Mandatory|
 | -------- | -------- | -------- |
-| READ_BUFFER | GLenum | Yes| 
-| UNPACK_ROW_LENGTH | GLenum | Yes| 
-| UNPACK_SKIP_ROWS | GLenum | Yes| 
-| UNPACK_SKIP_PIXELS | GLenum | Yes| 
-| PACK_ROW_LENGTH | GLenum | Yes| 
-| PACK_SKIP_ROWS | GLenum | Yes| 
-| PACK_SKIP_PIXELS | GLenum | Yes| 
-| COLOR | GLenum | Yes| 
-| DEPTH | GLenum | Yes| 
-| STENCIL | GLenum | Yes| 
-| RED | GLenum | Yes| 
-| RGB8 | GLenum | Yes| 
-| RGBA8 | GLenum | Yes| 
-| RGB10_A2 | GLenum | Yes| 
-| TEXTURE_BINDING_3D | GLenum | Yes| 
-| UNPACK_SKIP_IMAGES | GLenum | Yes| 
-| UNPACK_IMAGE_HEIGHT | GLenum | Yes| 
-| TEXTURE_3D | GLenum | Yes| 
-| TEXTURE_WRAP_R | GLenum | Yes| 
-| MAX_3D_TEXTURE_SIZE | GLenum | Yes| 
-| UNSIGNED_INT_2_10_10_10_REV | GLenum | Yes| 
-| MAX_ELEMENTS_VERTICES | GLenum | Yes| 
-| MAX_ELEMENTS_INDICES | GLenum | Yes| 
-| TEXTURE_MIN_LOD | GLenum | Yes| 
-| TEXTURE_MAX_LOD | GLenum | Yes| 
-| TEXTURE_BASE_LEVEL | GLenum | Yes| 
-| TEXTURE_MAX_LEVEL | GLenum | Yes| 
-| MIN | GLenum | Yes| 
-| MAX | GLenum | Yes| 
-| DEPTH_COMPONENT24 | GLenum | Yes| 
-| MAX_TEXTURE_LOD_BIAS | GLenum | Yes| 
-| TEXTURE_COMPARE_MODE | GLenum | Yes| 
-| TEXTURE_COMPARE_FUNC | GLenum | Yes| 
-| CURRENT_QUERY | GLenum | Yes| 
-| QUERY_RESULT | GLenum | Yes| 
-| QUERY_RESULT_AVAILABLE | GLenum | Yes| 
-| STREAM_READ | GLenum | Yes| 
-| STREAM_COPY | GLenum | Yes| 
-| STATIC_READ | GLenum | Yes| 
-| STATIC_COPY | GLenum | Yes| 
-| DYNAMIC_READ | GLenum | Yes| 
-| DYNAMIC_COPY | GLenum | Yes| 
-| MAX_DRAW_BUFFERS | GLenum | Yes| 
-| DRAW_BUFFER0 | GLenum | Yes| 
-| DRAW_BUFFER1 | GLenum | Yes| 
-| DRAW_BUFFER2 | GLenum | Yes| 
-| DRAW_BUFFER3 | GLenum | Yes| 
-| DRAW_BUFFER4 | GLenum | Yes| 
-| DRAW_BUFFER5 | GLenum | Yes| 
-| DRAW_BUFFER6 | GLenum | Yes| 
-| DRAW_BUFFER7 | GLenum | Yes| 
-| DRAW_BUFFER8 | GLenum | Yes| 
-| DRAW_BUFFER9 | GLenum | Yes| 
-| DRAW_BUFFER10 | GLenum | Yes| 
-| DRAW_BUFFER11 | GLenum | Yes| 
-| DRAW_BUFFER12 | GLenum | Yes| 
-| DRAW_BUFFER13 | GLenum | Yes| 
-| DRAW_BUFFER14 | GLenum | Yes| 
-| DRAW_BUFFER15 | GLenum | Yes| 
-| MAX_FRAGMENT_UNIFORM_COMPONENTS | GLenum | Yes| 
-| MAX_VERTEX_UNIFORM_COMPONENTS | GLenum | Yes| 
-| SAMPLER_3D | GLenum | Yes| 
-| SAMPLER_2D_SHADOW | GLenum | Yes| 
-| FRAGMENT_SHADER_DERIVATIVE_HINT | GLenum | Yes| 
-| PIXEL_PACK_BUFFER | GLenum | Yes| 
-| PIXEL_UNPACK_BUFFER | GLenum | Yes| 
-| PIXEL_PACK_BUFFER_BINDING | GLenum | Yes| 
-| PIXEL_UNPACK_BUFFER_BINDING | GLenum | Yes| 
-| FLOAT_MAT2x3 | GLenum | Yes| 
-| FLOAT_MAT2x4 | GLenum | Yes| 
-| FLOAT_MAT3x2 | GLenum | Yes| 
-| FLOAT_MAT3x4 | GLenum | Yes| 
-| FLOAT_MAT4x2 | GLenum | Yes| 
-| FLOAT_MAT4x3 | GLenum | Yes| 
-| SRGB | GLenum | Yes| 
-| SRGB8 | GLenum | Yes| 
-| SRGB8_ALPHA8 | GLenum | Yes| 
-| COMPARE_REF_TO_TEXTURE | GLenum | Yes| 
-| RGBA32F | GLenum | Yes| 
-| RGB32F | GLenum | Yes| 
-| RGBA16F | GLenum | Yes| 
-| RGB16F | GLenum | Yes| 
-| VERTEX_ATTRIB_ARRAY_INTEGER | GLenum | Yes| 
-| MAX_ARRAY_TEXTURE_LAYERS | GLenum | Yes| 
-| MIN_PROGRAM_TEXEL_OFFSET | GLenum | Yes| 
-| MAX_PROGRAM_TEXEL_OFFSET | GLenum | Yes| 
-| MAX_VARYING_COMPONENTS | GLenum | Yes| 
-| TEXTURE_2D_ARRAY | GLenum | Yes| 
-| TEXTURE_BINDING_2D_ARRAY | GLenum | Yes| 
-| R11F_G11F_B10F | GLenum | Yes| 
-| UNSIGNED_INT_10F_11F_11F_REV | GLenum | Yes| 
-| RGB9_E5 | GLenum | Yes| 
-| UNSIGNED_INT_5_9_9_9_REV | GLenum | Yes| 
-| TRANSFORM_FEEDBACK_BUFFER_MODE | GLenum | Yes| 
-| MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS | GLenum | Yes| 
-| TRANSFORM_FEEDBACK_VARYINGS | GLenum | Yes| 
-| TRANSFORM_FEEDBACK_BUFFER_START | GLenum | Yes| 
-| TRANSFORM_FEEDBACK_BUFFER_SIZE | GLenum | Yes| 
-| TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN | GLenum | Yes| 
-| RASTERIZER_DISCARD | GLenum | Yes| 
-| MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS | GLenum | Yes| 
-| MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS | GLenum | Yes| 
-| INTERLEAVED_ATTRIBS | GLenum | Yes| 
-| SEPARATE_ATTRIBS | GLenum | Yes| 
-| TRANSFORM_FEEDBACK_BUFFER | GLenum | Yes| 
-| TRANSFORM_FEEDBACK_BUFFER_BINDING | GLenum | Yes| 
-| RGBA32UI | GLenum | Yes| 
-| RGB32UI | GLenum | Yes| 
-| RGBA16UI | GLenum | Yes| 
-| RGB16UI | GLenum | Yes| 
-| RGBA8UI | GLenum | Yes| 
-| RGB8UI | GLenum | Yes| 
-| RGBA32I | GLenum | Yes| 
-| RGB32I | GLenum | Yes| 
-| RGBA16I | GLenum | Yes| 
-| RGB16I | GLenum | Yes| 
-| RGBA8I | GLenum | Yes| 
-| RGB8I | GLenum | Yes| 
-| RED_INTEGER | GLenum | Yes| 
-| RGB_INTEGER | GLenum | Yes| 
-| RGBA_INTEGER | GLenum | Yes| 
-| SAMPLER_2D_ARRAY | GLenum | Yes| 
-| SAMPLER_2D_ARRAY_SHADOW | GLenum | Yes| 
-| SAMPLER_CUBE_SHADOW | GLenum | Yes| 
-| UNSIGNED_INT_VEC2 | GLenum | Yes| 
-| UNSIGNED_INT_VEC3 | GLenum | Yes| 
-| UNSIGNED_INT_VEC4 | GLenum | Yes| 
-| INT_SAMPLER_2D | GLenum | Yes| 
-| INT_SAMPLER_3D | GLenum | Yes| 
-| INT_SAMPLER_CUBE | GLenum | Yes| 
-| INT_SAMPLER_2D_ARRAY | GLenum | Yes| 
-| UNSIGNED_INT_SAMPLER_2D | GLenum | Yes| 
-| UNSIGNED_INT_SAMPLER_3D | GLenum | Yes| 
-| UNSIGNED_INT_SAMPLER_CUBE | GLenum | Yes| 
-| UNSIGNED_INT_SAMPLER_2D_ARRAY | GLenum | Yes| 
-| DEPTH_COMPONENT32F | GLenum | Yes| 
-| DEPTH32F_STENCIL8 | GLenum | Yes| 
-| FLOAT_32_UNSIGNED_INT_24_8_REV | GLenum | Yes| 
-| FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING | GLenum | Yes| 
-| FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE | GLenum | Yes| 
-| FRAMEBUFFER_ATTACHMENT_RED_SIZE | GLenum | Yes| 
-| FRAMEBUFFER_ATTACHMENT_GREEN_SIZE | GLenum | Yes| 
-| FRAMEBUFFER_ATTACHMENT_BLUE_SIZE | GLenum | Yes| 
-| FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE | GLenum | Yes| 
-| FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE | GLenum | Yes| 
-| FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE | GLenum | Yes| 
-| FRAMEBUFFER_DEFAULT | GLenum | Yes| 
-| UNSIGNED_INT_24_8 | GLenum | Yes| 
-| DEPTH24_STENCIL8 | GLenum | Yes| 
-| UNSIGNED_NORMALIZED | GLenum | Yes| 
-| DRAW_FRAMEBUFFER_BINDING | GLenum | Yes| 
-| READ_FRAMEBUFFER | GLenum | Yes| 
-| DRAW_FRAMEBUFFER | GLenum | Yes| 
-| READ_FRAMEBUFFER_BINDING | GLenum | Yes| 
-| RENDERBUFFER_SAMPLES | GLenum | Yes| 
-| FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER | GLenum | Yes| 
-| MAX_COLOR_ATTACHMENTS | GLenum | Yes| 
-| COLOR_ATTACHMENT1 | GLenum | Yes| 
-| COLOR_ATTACHMENT2 | GLenum | Yes| 
-| COLOR_ATTACHMENT3 | GLenum | Yes| 
-| COLOR_ATTACHMENT4 | GLenum | Yes| 
-| COLOR_ATTACHMENT5 | GLenum | Yes| 
-| COLOR_ATTACHMENT6 | GLenum | Yes| 
-| COLOR_ATTACHMENT7 | GLenum | Yes| 
-| COLOR_ATTACHMENT8 | GLenum | Yes| 
-| COLOR_ATTACHMENT9 | GLenum | Yes| 
-| COLOR_ATTACHMENT10 | GLenum | Yes| 
-| COLOR_ATTACHMENT11 | GLenum | Yes| 
-| COLOR_ATTACHMENT12 | GLenum | Yes| 
-| COLOR_ATTACHMENT13 | GLenum | Yes| 
-| COLOR_ATTACHMENT14 | GLenum | Yes| 
-| COLOR_ATTACHMENT15 | GLenum | Yes| 
-| FRAMEBUFFER_INCOMPLETE_MULTISAMPLE | GLenum | Yes| 
-| MAX_SAMPLES | GLenum | Yes| 
-| HALF_FLOAT | GLenum | Yes| 
-| RG | GLenum | Yes| 
-| RG_INTEGER | GLenum | Yes| 
-| R8 | GLenum | Yes| 
-| RG8 | GLenum | Yes| 
-| R16F | GLenum | Yes| 
-| R32F | GLenum | Yes| 
-| RG16F | GLenum | Yes| 
-| RG32F | GLenum | Yes| 
-| R8I | GLenum | Yes| 
-| R8UI | GLenum | Yes| 
-| R16I | GLenum | Yes| 
-| R16UI | GLenum | Yes| 
-| R32I | GLenum | Yes| 
-| R32UI | GLenum | Yes| 
-| RG8I | GLenum | Yes| 
-| RG8UI | GLenum | Yes| 
-| RG16I | GLenum | Yes| 
-| RG16UI | GLenum | Yes| 
-| RG32I | GLenum | Yes| 
-| RG32UI | GLenum | Yes| 
-| VERTEX_ARRAY_BINDING | GLenum | Yes| 
-| R8_SNORM | GLenum | Yes| 
-| RG8_SNORM | GLenum | Yes| 
-| RGB8_SNORM | GLenum | Yes| 
-| SIGNED_NORMALIZED | GLenum | Yes| 
-| COPY_READ_BUFFER | GLenum | Yes| 
-| COPY_WRITE_BUFFER | GLenum | Yes| 
-| COPY_READ_BUFFER_BINDING | GLenum | Yes| 
-| COPY_WRITE_BUFFER_BINDING | GLenum | Yes| 
-| UNIFORM_BUFFER | GLenum | Yes| 
-| UNIFORM_BUFFER_BINDING | GLenum | Yes| 
-| UNIFORM_BUFFER_START | GLenum | Yes| 
-| UNIFORM_BUFFER_SIZE | GLenum | Yes| 
-| MAX_VERTEX_UNIFORM_BLOCKS | GLenum | Yes| 
-| MAX_FRAGMENT_UNIFORM_BLOCKS | GLenum | Yes| 
-| MAX_COMBINED_UNIFORM_BLOCKS | GLenum | Yes| 
-| MAX_UNIFORM_BUFFER_BINDINGS | GLenum | Yes| 
-| MAX_UNIFORM_BLOCK_SIZE | GLenum | Yes| 
-| MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS | GLenum | Yes| 
-| MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS | GLenum | Yes| 
-| UNIFORM_BUFFER_OFFSET_ALIGNMENT | GLenum | Yes| 
-| ACTIVE_UNIFORM_BLOCKS | GLenum | Yes| 
-| UNIFORM_TYPE | GLenum | Yes| 
-| UNIFORM_SIZE | GLenum | Yes| 
-| UNIFORM_BLOCK_INDEX | GLenum | Yes| 
-| UNIFORM_OFFSET | GLenum | Yes| 
-| UNIFORM_ARRAY_STRIDE | GLenum | Yes| 
-| UNIFORM_MATRIX_STRIDE | GLenum | Yes| 
-| UNIFORM_IS_ROW_MAJOR | GLenum | Yes| 
-| UNIFORM_BLOCK_BINDING | GLenum | Yes| 
-| UNIFORM_BLOCK_DATA_SIZE | GLenum | Yes| 
-| UNIFORM_BLOCK_ACTIVE_UNIFORMS | GLenum | Yes| 
-| UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES | GLenum | Yes| 
-| UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER | GLenum | Yes| 
-| UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER | GLenum | Yes| 
-| INVALID_INDEX | GLenum | Yes| 
-| MAX_VERTEX_OUTPUT_COMPONENTS | GLenum | Yes| 
-| MAX_FRAGMENT_INPUT_COMPONENTS | GLenum | Yes| 
-| MAX_SERVER_WAIT_TIMEOUT | GLenum | Yes| 
-| OBJECT_TYPE | GLenum | Yes| 
-| SYNC_CONDITION | GLenum | Yes| 
-| SYNC_STATUS | GLenum | Yes| 
-| SYNC_FLAGS | GLenum | Yes| 
-| SYNC_FENCE | GLenum | Yes| 
-| SYNC_GPU_COMMANDS_COMPLETE | GLenum | Yes| 
-| UNSIGNALED | GLenum | Yes| 
-| SIGNALED | GLenum | Yes| 
-| ALREADY_SIGNALED | GLenum | Yes| 
-| TIMEOUT_EXPIRED | GLenum | Yes| 
-| CONDITION_SATISFIED | GLenum | Yes| 
-| WAIT_FAILED | GLenum | Yes| 
-| SYNC_FLUSH_COMMANDS_BIT | GLenum | Yes| 
-| VERTEX_ATTRIB_ARRAY_DIVISOR | GLenum | Yes| 
-| ANY_SAMPLES_PASSED | GLenum | Yes| 
-| ANY_SAMPLES_PASSED_CONSERVATIVE | GLenum | Yes| 
-| SAMPLER_BINDING | GLenum | Yes| 
-| RGB10_A2UI | GLenum | Yes| 
-| INT_2_10_10_10_REV | GLenum | Yes| 
-| TRANSFORM_FEEDBACK | GLenum | Yes| 
-| TRANSFORM_FEEDBACK_PAUSED | GLenum | Yes| 
-| TRANSFORM_FEEDBACK_ACTIVE | GLenum | Yes| 
-| TRANSFORM_FEEDBACK_BINDING | GLenum | Yes| 
-| TEXTURE_IMMUTABLE_FORMAT | GLenum | Yes| 
-| MAX_ELEMENT_INDEX | GLenum | Yes| 
-| TEXTURE_IMMUTABLE_LEVELS | GLenum | Yes| 
-| TIMEOUT_IGNORED | GLint64 | Yes| 
-| MAX_CLIENT_WAIT_TIMEOUT_WEBGL | GLenum | Yes| 
+| READ_BUFFER | GLenum | Yes|
+| UNPACK_ROW_LENGTH | GLenum | Yes|
+| UNPACK_SKIP_ROWS | GLenum | Yes|
+| UNPACK_SKIP_PIXELS | GLenum | Yes|
+| PACK_ROW_LENGTH | GLenum | Yes|
+| PACK_SKIP_ROWS | GLenum | Yes|
+| PACK_SKIP_PIXELS | GLenum | Yes|
+| COLOR | GLenum | Yes|
+| DEPTH | GLenum | Yes|
+| STENCIL | GLenum | Yes|
+| RED | GLenum | Yes|
+| RGB8 | GLenum | Yes|
+| RGBA8 | GLenum | Yes|
+| RGB10_A2 | GLenum | Yes|
+| TEXTURE_BINDING_3D | GLenum | Yes|
+| UNPACK_SKIP_IMAGES | GLenum | Yes|
+| UNPACK_IMAGE_HEIGHT | GLenum | Yes|
+| TEXTURE_3D | GLenum | Yes|
+| TEXTURE_WRAP_R | GLenum | Yes|
+| MAX_3D_TEXTURE_SIZE | GLenum | Yes|
+| UNSIGNED_INT_2_10_10_10_REV | GLenum | Yes|
+| MAX_ELEMENTS_VERTICES | GLenum | Yes|
+| MAX_ELEMENTS_INDICES | GLenum | Yes|
+| TEXTURE_MIN_LOD | GLenum | Yes|
+| TEXTURE_MAX_LOD | GLenum | Yes|
+| TEXTURE_BASE_LEVEL | GLenum | Yes|
+| TEXTURE_MAX_LEVEL | GLenum | Yes|
+| MIN | GLenum | Yes|
+| MAX | GLenum | Yes|
+| DEPTH_COMPONENT24 | GLenum | Yes|
+| MAX_TEXTURE_LOD_BIAS | GLenum | Yes|
+| TEXTURE_COMPARE_MODE | GLenum | Yes|
+| TEXTURE_COMPARE_FUNC | GLenum | Yes|
+| CURRENT_QUERY | GLenum | Yes|
+| QUERY_RESULT | GLenum | Yes|
+| QUERY_RESULT_AVAILABLE | GLenum | Yes|
+| STREAM_READ | GLenum | Yes|
+| STREAM_COPY | GLenum | Yes|
+| STATIC_READ | GLenum | Yes|
+| STATIC_COPY | GLenum | Yes|
+| DYNAMIC_READ | GLenum | Yes|
+| DYNAMIC_COPY | GLenum | Yes|
+| MAX_DRAW_BUFFERS | GLenum | Yes|
+| DRAW_BUFFER0 | GLenum | Yes|
+| DRAW_BUFFER1 | GLenum | Yes|
+| DRAW_BUFFER2 | GLenum | Yes|
+| DRAW_BUFFER3 | GLenum | Yes|
+| DRAW_BUFFER4 | GLenum | Yes|
+| DRAW_BUFFER5 | GLenum | Yes|
+| DRAW_BUFFER6 | GLenum | Yes|
+| DRAW_BUFFER7 | GLenum | Yes|
+| DRAW_BUFFER8 | GLenum | Yes|
+| DRAW_BUFFER9 | GLenum | Yes|
+| DRAW_BUFFER10 | GLenum | Yes|
+| DRAW_BUFFER11 | GLenum | Yes|
+| DRAW_BUFFER12 | GLenum | Yes|
+| DRAW_BUFFER13 | GLenum | Yes|
+| DRAW_BUFFER14 | GLenum | Yes|
+| DRAW_BUFFER15 | GLenum | Yes|
+| MAX_FRAGMENT_UNIFORM_COMPONENTS | GLenum | Yes|
+| MAX_VERTEX_UNIFORM_COMPONENTS | GLenum | Yes|
+| SAMPLER_3D | GLenum | Yes|
+| SAMPLER_2D_SHADOW | GLenum | Yes|
+| FRAGMENT_SHADER_DERIVATIVE_HINT | GLenum | Yes|
+| PIXEL_PACK_BUFFER | GLenum | Yes|
+| PIXEL_UNPACK_BUFFER | GLenum | Yes|
+| PIXEL_PACK_BUFFER_BINDING | GLenum | Yes|
+| PIXEL_UNPACK_BUFFER_BINDING | GLenum | Yes|
+| FLOAT_MAT2x3 | GLenum | Yes|
+| FLOAT_MAT2x4 | GLenum | Yes|
+| FLOAT_MAT3x2 | GLenum | Yes|
+| FLOAT_MAT3x4 | GLenum | Yes|
+| FLOAT_MAT4x2 | GLenum | Yes|
+| FLOAT_MAT4x3 | GLenum | Yes|
+| SRGB | GLenum | Yes|
+| SRGB8 | GLenum | Yes|
+| SRGB8_ALPHA8 | GLenum | Yes|
+| COMPARE_REF_TO_TEXTURE | GLenum | Yes|
+| RGBA32F | GLenum | Yes|
+| RGB32F | GLenum | Yes|
+| RGBA16F | GLenum | Yes|
+| RGB16F | GLenum | Yes|
+| VERTEX_ATTRIB_ARRAY_INTEGER | GLenum | Yes|
+| MAX_ARRAY_TEXTURE_LAYERS | GLenum | Yes|
+| MIN_PROGRAM_TEXEL_OFFSET | GLenum | Yes|
+| MAX_PROGRAM_TEXEL_OFFSET | GLenum | Yes|
+| MAX_VARYING_COMPONENTS | GLenum | Yes|
+| TEXTURE_2D_ARRAY | GLenum | Yes|
+| TEXTURE_BINDING_2D_ARRAY | GLenum | Yes|
+| R11F_G11F_B10F | GLenum | Yes|
+| UNSIGNED_INT_10F_11F_11F_REV | GLenum | Yes|
+| RGB9_E5 | GLenum | Yes|
+| UNSIGNED_INT_5_9_9_9_REV | GLenum | Yes|
+| TRANSFORM_FEEDBACK_BUFFER_MODE | GLenum | Yes|
+| MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS | GLenum | Yes|
+| TRANSFORM_FEEDBACK_VARYINGS | GLenum | Yes|
+| TRANSFORM_FEEDBACK_BUFFER_START | GLenum | Yes|
+| TRANSFORM_FEEDBACK_BUFFER_SIZE | GLenum | Yes|
+| TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN | GLenum | Yes|
+| RASTERIZER_DISCARD | GLenum | Yes|
+| MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS | GLenum | Yes|
+| MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS | GLenum | Yes|
+| INTERLEAVED_ATTRIBS | GLenum | Yes|
+| SEPARATE_ATTRIBS | GLenum | Yes|
+| TRANSFORM_FEEDBACK_BUFFER | GLenum | Yes|
+| TRANSFORM_FEEDBACK_BUFFER_BINDING | GLenum | Yes|
+| RGBA32UI | GLenum | Yes|
+| RGB32UI | GLenum | Yes|
+| RGBA16UI | GLenum | Yes|
+| RGB16UI | GLenum | Yes|
+| RGBA8UI | GLenum | Yes|
+| RGB8UI | GLenum | Yes|
+| RGBA32I | GLenum | Yes|
+| RGB32I | GLenum | Yes|
+| RGBA16I | GLenum | Yes|
+| RGB16I | GLenum | Yes|
+| RGBA8I | GLenum | Yes|
+| RGB8I | GLenum | Yes|
+| RED_INTEGER | GLenum | Yes|
+| RGB_INTEGER | GLenum | Yes|
+| RGBA_INTEGER | GLenum | Yes|
+| SAMPLER_2D_ARRAY | GLenum | Yes|
+| SAMPLER_2D_ARRAY_SHADOW | GLenum | Yes|
+| SAMPLER_CUBE_SHADOW | GLenum | Yes|
+| UNSIGNED_INT_VEC2 | GLenum | Yes|
+| UNSIGNED_INT_VEC3 | GLenum | Yes|
+| UNSIGNED_INT_VEC4 | GLenum | Yes|
+| INT_SAMPLER_2D | GLenum | Yes|
+| INT_SAMPLER_3D | GLenum | Yes|
+| INT_SAMPLER_CUBE | GLenum | Yes|
+| INT_SAMPLER_2D_ARRAY | GLenum | Yes|
+| UNSIGNED_INT_SAMPLER_2D | GLenum | Yes|
+| UNSIGNED_INT_SAMPLER_3D | GLenum | Yes|
+| UNSIGNED_INT_SAMPLER_CUBE | GLenum | Yes|
+| UNSIGNED_INT_SAMPLER_2D_ARRAY | GLenum | Yes|
+| DEPTH_COMPONENT32F | GLenum | Yes|
+| DEPTH32F_STENCIL8 | GLenum | Yes|
+| FLOAT_32_UNSIGNED_INT_24_8_REV | GLenum | Yes|
+| FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING | GLenum | Yes|
+| FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE | GLenum | Yes|
+| FRAMEBUFFER_ATTACHMENT_RED_SIZE | GLenum | Yes|
+| FRAMEBUFFER_ATTACHMENT_GREEN_SIZE | GLenum | Yes|
+| FRAMEBUFFER_ATTACHMENT_BLUE_SIZE | GLenum | Yes|
+| FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE | GLenum | Yes|
+| FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE | GLenum | Yes|
+| FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE | GLenum | Yes|
+| FRAMEBUFFER_DEFAULT | GLenum | Yes|
+| UNSIGNED_INT_24_8 | GLenum | Yes|
+| DEPTH24_STENCIL8 | GLenum | Yes|
+| UNSIGNED_NORMALIZED | GLenum | Yes|
+| DRAW_FRAMEBUFFER_BINDING | GLenum | Yes|
+| READ_FRAMEBUFFER | GLenum | Yes|
+| DRAW_FRAMEBUFFER | GLenum | Yes|
+| READ_FRAMEBUFFER_BINDING | GLenum | Yes|
+| RENDERBUFFER_SAMPLES | GLenum | Yes|
+| FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER | GLenum | Yes|
+| MAX_COLOR_ATTACHMENTS | GLenum | Yes|
+| COLOR_ATTACHMENT1 | GLenum | Yes|
+| COLOR_ATTACHMENT2 | GLenum | Yes|
+| COLOR_ATTACHMENT3 | GLenum | Yes|
+| COLOR_ATTACHMENT4 | GLenum | Yes|
+| COLOR_ATTACHMENT5 | GLenum | Yes|
+| COLOR_ATTACHMENT6 | GLenum | Yes|
+| COLOR_ATTACHMENT7 | GLenum | Yes|
+| COLOR_ATTACHMENT8 | GLenum | Yes|
+| COLOR_ATTACHMENT9 | GLenum | Yes|
+| COLOR_ATTACHMENT10 | GLenum | Yes|
+| COLOR_ATTACHMENT11 | GLenum | Yes|
+| COLOR_ATTACHMENT12 | GLenum | Yes|
+| COLOR_ATTACHMENT13 | GLenum | Yes|
+| COLOR_ATTACHMENT14 | GLenum | Yes|
+| COLOR_ATTACHMENT15 | GLenum | Yes|
+| FRAMEBUFFER_INCOMPLETE_MULTISAMPLE | GLenum | Yes|
+| MAX_SAMPLES | GLenum | Yes|
+| HALF_FLOAT | GLenum | Yes|
+| RG | GLenum | Yes|
+| RG_INTEGER | GLenum | Yes|
+| R8 | GLenum | Yes|
+| RG8 | GLenum | Yes|
+| R16F | GLenum | Yes|
+| R32F | GLenum | Yes|
+| RG16F | GLenum | Yes|
+| RG32F | GLenum | Yes|
+| R8I | GLenum | Yes|
+| R8UI | GLenum | Yes|
+| R16I | GLenum | Yes|
+| R16UI | GLenum | Yes|
+| R32I | GLenum | Yes|
+| R32UI | GLenum | Yes|
+| RG8I | GLenum | Yes|
+| RG8UI | GLenum | Yes|
+| RG16I | GLenum | Yes|
+| RG16UI | GLenum | Yes|
+| RG32I | GLenum | Yes|
+| RG32UI | GLenum | Yes|
+| VERTEX_ARRAY_BINDING | GLenum | Yes|
+| R8_SNORM | GLenum | Yes|
+| RG8_SNORM | GLenum | Yes|
+| RGB8_SNORM | GLenum | Yes|
+| SIGNED_NORMALIZED | GLenum | Yes|
+| COPY_READ_BUFFER | GLenum | Yes|
+| COPY_WRITE_BUFFER | GLenum | Yes|
+| COPY_READ_BUFFER_BINDING | GLenum | Yes|
+| COPY_WRITE_BUFFER_BINDING | GLenum | Yes|
+| UNIFORM_BUFFER | GLenum | Yes|
+| UNIFORM_BUFFER_BINDING | GLenum | Yes|
+| UNIFORM_BUFFER_START | GLenum | Yes|
+| UNIFORM_BUFFER_SIZE | GLenum | Yes|
+| MAX_VERTEX_UNIFORM_BLOCKS | GLenum | Yes|
+| MAX_FRAGMENT_UNIFORM_BLOCKS | GLenum | Yes|
+| MAX_COMBINED_UNIFORM_BLOCKS | GLenum | Yes|
+| MAX_UNIFORM_BUFFER_BINDINGS | GLenum | Yes|
+| MAX_UNIFORM_BLOCK_SIZE | GLenum | Yes|
+| MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS | GLenum | Yes|
+| MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS | GLenum | Yes|
+| UNIFORM_BUFFER_OFFSET_ALIGNMENT | GLenum | Yes|
+| ACTIVE_UNIFORM_BLOCKS | GLenum | Yes|
+| UNIFORM_TYPE | GLenum | Yes|
+| UNIFORM_SIZE | GLenum | Yes|
+| UNIFORM_BLOCK_INDEX | GLenum | Yes|
+| UNIFORM_OFFSET | GLenum | Yes|
+| UNIFORM_ARRAY_STRIDE | GLenum | Yes|
+| UNIFORM_MATRIX_STRIDE | GLenum | Yes|
+| UNIFORM_IS_ROW_MAJOR | GLenum | Yes|
+| UNIFORM_BLOCK_BINDING | GLenum | Yes|
+| UNIFORM_BLOCK_DATA_SIZE | GLenum | Yes|
+| UNIFORM_BLOCK_ACTIVE_UNIFORMS | GLenum | Yes|
+| UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES | GLenum | Yes|
+| UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER | GLenum | Yes|
+| UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER | GLenum | Yes|
+| INVALID_INDEX | GLenum | Yes|
+| MAX_VERTEX_OUTPUT_COMPONENTS | GLenum | Yes|
+| MAX_FRAGMENT_INPUT_COMPONENTS | GLenum | Yes|
+| MAX_SERVER_WAIT_TIMEOUT | GLenum | Yes|
+| OBJECT_TYPE | GLenum | Yes|
+| SYNC_CONDITION | GLenum | Yes|
+| SYNC_STATUS | GLenum | Yes|
+| SYNC_FLAGS | GLenum | Yes|
+| SYNC_FENCE | GLenum | Yes|
+| SYNC_GPU_COMMANDS_COMPLETE | GLenum | Yes|
+| UNSIGNALED | GLenum | Yes|
+| SIGNALED | GLenum | Yes|
+| ALREADY_SIGNALED | GLenum | Yes|
+| TIMEOUT_EXPIRED | GLenum | Yes|
+| CONDITION_SATISFIED | GLenum | Yes|
+| WAIT_FAILED | GLenum | Yes|
+| SYNC_FLUSH_COMMANDS_BIT | GLenum | Yes|
+| VERTEX_ATTRIB_ARRAY_DIVISOR | GLenum | Yes|
+| ANY_SAMPLES_PASSED | GLenum | Yes|
+| ANY_SAMPLES_PASSED_CONSERVATIVE | GLenum | Yes|
+| SAMPLER_BINDING | GLenum | Yes|
+| RGB10_A2UI | GLenum | Yes|
+| INT_2_10_10_10_REV | GLenum | Yes|
+| TRANSFORM_FEEDBACK | GLenum | Yes|
+| TRANSFORM_FEEDBACK_PAUSED | GLenum | Yes|
+| TRANSFORM_FEEDBACK_ACTIVE | GLenum | Yes|
+| TRANSFORM_FEEDBACK_BINDING | GLenum | Yes|
+| TEXTURE_IMMUTABLE_FORMAT | GLenum | Yes|
+| MAX_ELEMENT_INDEX | GLenum | Yes|
+| TEXTURE_IMMUTABLE_LEVELS | GLenum | Yes|
+| TIMEOUT_IGNORED | GLint64 | Yes|
+| MAX_CLIENT_WAIT_TIMEOUT_WEBGL | GLenum | Yes|
 
 
 ### Methods
 
-  | Method| Return Value Type| 
+| Method| Return Value Type|
 | -------- | -------- |
-| copyBufferSubData(readTarget: GLenum, writeTarget: GLenum, readOffset: GLintptr, writeOffset: GLintptr, size: GLsizeiptr) | void | 
-| getBufferSubData(target: GLenum, srcByteOffset: GLintptr, dstBuffer: ArrayBufferView, dstOffset?: GLuint, length?: GLuint) | void | 
-| blitFramebuffer(srcX0: GLint, srcY0: GLint, srcX1: GLint, srcY1: GLint, dstX0: GLint, dstY0: GLint, dstX1: GLint, dstY1: GLint, mask: GLbitfield, filter: GLenum) | void | 
-| framebufferTextureLayer(target: GLenum, attachment: GLenum, texture: WebGLTexture \| null, level: GLint, layer: GLint) | void | 
-| invalidateFramebuffer(target: GLenum, attachments: GLenum[]) | void | 
-| invalidateSubFramebuffer(target: GLenum, attachments: GLenum[], x: GLint, y: GLint, width: GLsizei, height: GLsizei) | void | 
-| readBuffer(src: GLenum) | void | 
-| getInternalformatParameter(target: GLenum, internalformat: GLenum, pname: GLenum) | any | 
-| renderbufferStorageMultisample(target: GLenum, samples: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei) | void | 
-| texStorage2D(target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei) | void | 
-| texStorage3D(target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei) | void | 
-| texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, pboOffset: GLintptr) | void | 
-| texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void | 
-| texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView \| null) | void | 
-| texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: GLuint) | void | 
-| texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, pboOffset: GLintptr) | void | 
-| texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, source: TexImageSource) | void | 
-| texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, srcData: ArrayBufferView \| null, srcOffset?: GLuint) | void | 
-| copyTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei) | void | 
-| compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr) | void | 
-| compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint) | void | 
-| compressedTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, imageSize: GLsizei, offset: GLintptr) | void | 
-| compressedTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint) | void | 
-| getFragDataLocation(program: WebGLProgram, name: string) | GLint | 
-| uniform1ui(location: WebGLUniformLocation \| null, v0: GLuint) | void | 
-| uniform2ui(location: WebGLUniformLocation \| null, v0: GLuint, v1: GLuint) | void | 
-| uniform3ui(location: WebGLUniformLocation \| null, v0: GLuint, v1: GLuint, v2: GLuint) | void | 
-| uniform4ui(location: WebGLUniformLocation \| null, v0: GLuint, v1: GLuint, v2: GLuint, v3: GLuint) | void | 
-| uniform1uiv(location: WebGLUniformLocation \| null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint) | void | 
-| uniform2uiv(location: WebGLUniformLocation \| null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint) | void | 
-| uniform3uiv(location: WebGLUniformLocation \| null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint) | void | 
-| uniform4uiv(location: WebGLUniformLocation \| null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint) | void | 
-| uniformMatrix3x2fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | 
-| uniformMatrix4x2fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | 
-| uniformMatrix2x3fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | 
-| uniformMatrix4x3fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | 
-| uniformMatrix2x4fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | 
-| uniformMatrix3x4fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | 
-| vertexAttribI4i(index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint) | void | 
-| vertexAttribI4iv(index: GLuint, values: Int32List) | void | 
-| vertexAttribI4ui(index: GLuint, x: GLuint, y: GLuint, z: GLuint, w: GLuint) | void | 
-| vertexAttribI4uiv(index: GLuint, values: Uint32List) | void | 
-| vertexAttribIPointer(index: GLuint, size: GLint, type: GLenum, stride: GLsizei, offset: GLintptr) | void | 
-| vertexAttribDivisor(index: GLuint, divisor: GLuint) | void | 
-| drawArraysInstanced(mode: GLenum, first: GLint, count: GLsizei, instanceCount: GLsizei) | void | 
-| drawElementsInstanced(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, instanceCount: GLsizei) | void | 
-| drawRangeElements(mode: GLenum, start: GLuint, end: GLuint, count: GLsizei, type: GLenum, offset: GLintptr) | void | 
-| drawBuffers(buffers: GLenum[]) | void | 
-| clearBufferfv(buffer: GLenum, drawbuffer: GLint, values: Float32List, srcOffset?: GLuint) | void | 
-| clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Int32List, srcOffset?: GLuint) | void | 
-| clearBufferuiv(buffer: GLenum, drawbuffer: GLint, values: Uint32List, srcOffset?: GLuint) | void | 
-| clearBufferfi(buffer: GLenum, drawbuffer: GLint, depth: GLfloat, stencil: GLint) | void | 
-| createQuery() | WebGLQuery \| null | 
-| deleteQuery(query: WebGLQuery \| null) | void | 
-| isQuery(query: WebGLQuery \| null) | GLboolean | 
-| beginQuery(target: GLenum, query: WebGLQuery) | void | 
-| endQuery(target: GLenum) | void | 
-| getQuery(target: GLenum, pname: GLenum) | WebGLQuery \| null | 
-| getQueryParameter(query: WebGLQuery, pname: GLenum) | any | 
-| createSampler() | WebGLSampler \| null | 
-| deleteSampler(sampler: WebGLSampler \| null) | void | 
-| isSampler(sampler: WebGLSampler \| null) | GLboolean | 
-| bindSampler(unit: GLuint, sampler: WebGLSampler \| null) | void | 
-| samplerParameteri(sampler: WebGLSampler, pname: GLenum, param: GLint) | void | 
-| samplerParameterf(sampler: WebGLSampler, pname: GLenum, param: GLfloat) | void; | 
-| getSamplerParameter(sampler: WebGLSampler, pname: GLenum) | any | 
-| fenceSync(condition: GLenum, flags: GLbitfield) | WebGLSync \| null | 
-| isSync(sync: WebGLSync \| null) | GLboolean | 
-| deleteSync(sync: WebGLSync \| null) | void | 
-| clientWaitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLuint64) | GLenum | 
-| waitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLint64) | void | 
-| getSyncParameter(sync: WebGLSync, pname: GLenum) | any | 
-| createTransformFeedback() | WebGLTransformFeedback \| null | 
-| deleteTransformFeedback(tf: WebGLTransformFeedback \| null) | void | 
-| isTransformFeedback(tf: WebGLTransformFeedback \| null) | GLboolean | 
-| bindTransformFeedback(target: GLenum, tf: WebGLTransformFeedback \| null) | void | 
-| beginTransformFeedback(primitiveMode: GLenum) | void | 
-| endTransformFeedback() | void | 
-| transformFeedbackVaryings(program: WebGLProgram, varyings: string[], bufferMode: GLenum) | void | 
-| getTransformFeedbackVarying(program: WebGLProgram, index: GLuint) | WebGLActiveInfo \| null | 
-| pauseTransformFeedback() | void | 
-| resumeTransformFeedback() | void | 
-| bindBufferBase(target: GLenum, index: GLuint, buffer: WebGLBuffer \| null) | void | 
-| bindBufferRange(target: GLenum, index: GLuint, buffer: WebGLBuffer \| null, offset: GLintptr, size: GLsizeiptr) | void | 
-| getIndexedParameter(target: GLenum, index: GLuint) | any | 
-| getUniformIndices(program: WebGLProgram, uniformNames: string[]) | GLuint[] \| null | 
-| getActiveUniforms(program: WebGLProgram, uniformIndices: GLuint[], pname: GLenum) | any | 
-| getUniformBlockIndex(program: WebGLProgram, uniformBlockName: string) | GLuint | 
-| getActiveUniformBlockParameter(program: WebGLProgram, uniformBlockIndex: GLuint, pname: GLenum) | any | 
-| getActiveUniformBlockName(program: WebGLProgram, uniformBlockIndex: GLuint) | string \| null | 
-| uniformBlockBinding(program: WebGLProgram, uniformBlockIndex: GLuint, uniformBlockBinding: GLuint) | void | 
-| createVertexArray() | WebGLVertexArrayObject \| null | 
-| deleteVertexArray(vertexArray: WebGLVertexArrayObject \| null) | void | 
-| isVertexArray(vertexArray: WebGLVertexArrayObject \| null) | GLboolean | 
-| bindVertexArray(array: WebGLVertexArrayObject \| null) | void | 
+| copyBufferSubData(readTarget: GLenum, writeTarget: GLenum, readOffset: GLintptr, writeOffset: GLintptr, size: GLsizeiptr) | void |
+| getBufferSubData(target: GLenum, srcByteOffset: GLintptr, dstBuffer: ArrayBufferView, dstOffset?: GLuint, length?: GLuint) | void |
+| blitFramebuffer(srcX0: GLint, srcY0: GLint, srcX1: GLint, srcY1: GLint, dstX0: GLint, dstY0: GLint, dstX1: GLint, dstY1: GLint, mask: GLbitfield, filter: GLenum) | void |
+| framebufferTextureLayer(target: GLenum, attachment: GLenum, texture: WebGLTexture \| null, level: GLint, layer: GLint) | void |
+| invalidateFramebuffer(target: GLenum, attachments: GLenum[]) | void |
+| invalidateSubFramebuffer(target: GLenum, attachments: GLenum[], x: GLint, y: GLint, width: GLsizei, height: GLsizei) | void |
+| readBuffer(src: GLenum) | void |
+| getInternalformatParameter(target: GLenum, internalformat: GLenum, pname: GLenum) | any |
+| renderbufferStorageMultisample(target: GLenum, samples: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei) | void |
+| texStorage2D(target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei) | void |
+| texStorage3D(target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei) | void |
+| texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, pboOffset: GLintptr) | void |
+| texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void |
+| texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView \| null) | void |
+| texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: GLuint) | void |
+| texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, pboOffset: GLintptr) | void |
+| texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, source: TexImageSource) | void |
+| texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, srcData: ArrayBufferView \| null, srcOffset?: GLuint) | void |
+| copyTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei) | void |
+| compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr) | void |
+| compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint) | void |
+| compressedTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, imageSize: GLsizei, offset: GLintptr) | void |
+| compressedTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint) | void |
+| getFragDataLocation(program: WebGLProgram, name: string) | GLint |
+| uniform1ui(location: WebGLUniformLocation \| null, v0: GLuint) | void |
+| uniform2ui(location: WebGLUniformLocation \| null, v0: GLuint, v1: GLuint) | void |
+| uniform3ui(location: WebGLUniformLocation \| null, v0: GLuint, v1: GLuint, v2: GLuint) | void |
+| uniform4ui(location: WebGLUniformLocation \| null, v0: GLuint, v1: GLuint, v2: GLuint, v3: GLuint) | void |
+| uniform1uiv(location: WebGLUniformLocation \| null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
+| uniform2uiv(location: WebGLUniformLocation \| null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
+| uniform3uiv(location: WebGLUniformLocation \| null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
+| uniform4uiv(location: WebGLUniformLocation \| null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
+| uniformMatrix3x2fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
+| uniformMatrix4x2fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
+| uniformMatrix2x3fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
+| uniformMatrix4x3fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
+| uniformMatrix2x4fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
+| uniformMatrix3x4fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
+| vertexAttribI4i(index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint) | void |
+| vertexAttribI4iv(index: GLuint, values: Int32List) | void |
+| vertexAttribI4ui(index: GLuint, x: GLuint, y: GLuint, z: GLuint, w: GLuint) | void |
+| vertexAttribI4uiv(index: GLuint, values: Uint32List) | void |
+| vertexAttribIPointer(index: GLuint, size: GLint, type: GLenum, stride: GLsizei, offset: GLintptr) | void |
+| vertexAttribDivisor(index: GLuint, divisor: GLuint) | void |
+| drawArraysInstanced(mode: GLenum, first: GLint, count: GLsizei, instanceCount: GLsizei) | void |
+| drawElementsInstanced(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, instanceCount: GLsizei) | void |
+| drawRangeElements(mode: GLenum, start: GLuint, end: GLuint, count: GLsizei, type: GLenum, offset: GLintptr) | void |
+| drawBuffers(buffers: GLenum[]) | void |
+| clearBufferfv(buffer: GLenum, drawbuffer: GLint, values: Float32List, srcOffset?: GLuint) | void |
+| clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Int32List, srcOffset?: GLuint) | void |
+| clearBufferuiv(buffer: GLenum, drawbuffer: GLint, values: Uint32List, srcOffset?: GLuint) | void |
+| clearBufferfi(buffer: GLenum, drawbuffer: GLint, depth: GLfloat, stencil: GLint) | void |
+| createQuery() | WebGLQuery \| null |
+| deleteQuery(query: WebGLQuery \| null) | void |
+| isQuery(query: WebGLQuery \| null) | GLboolean |
+| beginQuery(target: GLenum, query: WebGLQuery) | void |
+| endQuery(target: GLenum) | void |
+| getQuery(target: GLenum, pname: GLenum) | WebGLQuery \| null |
+| getQueryParameter(query: WebGLQuery, pname: GLenum) | any |
+| createSampler() | WebGLSampler \| null |
+| deleteSampler(sampler: WebGLSampler \| null) | void |
+| isSampler(sampler: WebGLSampler \| null) | GLboolean |
+| bindSampler(unit: GLuint, sampler: WebGLSampler \| null) | void |
+| samplerParameteri(sampler: WebGLSampler, pname: GLenum, param: GLint) | void |
+| samplerParameterf(sampler: WebGLSampler, pname: GLenum, param: GLfloat) | void; |
+| getSamplerParameter(sampler: WebGLSampler, pname: GLenum) | any |
+| fenceSync(condition: GLenum, flags: GLbitfield) | WebGLSync \| null |
+| isSync(sync: WebGLSync \| null) | GLboolean |
+| deleteSync(sync: WebGLSync \| null) | void |
+| clientWaitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLuint64) | GLenum |
+| waitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLint64) | void |
+| getSyncParameter(sync: WebGLSync, pname: GLenum) | any |
+| createTransformFeedback() | WebGLTransformFeedback \| null |
+| deleteTransformFeedback(tf: WebGLTransformFeedback \| null) | void |
+| isTransformFeedback(tf: WebGLTransformFeedback \| null) | GLboolean |
+| bindTransformFeedback(target: GLenum, tf: WebGLTransformFeedback \| null) | void |
+| beginTransformFeedback(primitiveMode: GLenum) | void |
+| endTransformFeedback() | void |
+| transformFeedbackVaryings(program: WebGLProgram, varyings: string[], bufferMode: GLenum) | void |
+| getTransformFeedbackVarying(program: WebGLProgram, index: GLuint) | WebGLActiveInfo \| null |
+| pauseTransformFeedback() | void |
+| resumeTransformFeedback() | void |
+| bindBufferBase(target: GLenum, index: GLuint, buffer: WebGLBuffer \| null) | void |
+| bindBufferRange(target: GLenum, index: GLuint, buffer: WebGLBuffer \| null, offset: GLintptr, size: GLsizeiptr) | void |
+| getIndexedParameter(target: GLenum, index: GLuint) | any |
+| getUniformIndices(program: WebGLProgram, uniformNames: string[]) | GLuint[] \| null |
+| getActiveUniforms(program: WebGLProgram, uniformIndices: GLuint[], pname: GLenum) | any |
+| getUniformBlockIndex(program: WebGLProgram, uniformBlockName: string) | GLuint |
+| getActiveUniformBlockParameter(program: WebGLProgram, uniformBlockIndex: GLuint, pname: GLenum) | any |
+| getActiveUniformBlockName(program: WebGLProgram, uniformBlockIndex: GLuint) | string \| null |
+| uniformBlockBinding(program: WebGLProgram, uniformBlockIndex: GLuint, uniformBlockBinding: GLuint) | void |
+| createVertexArray() | WebGLVertexArrayObject \| null |
+| deleteVertexArray(vertexArray: WebGLVertexArrayObject \| null) | void |
+| isVertexArray(vertexArray: WebGLVertexArrayObject \| null) | GLboolean |
+| bindVertexArray(array: WebGLVertexArrayObject \| null) | void |
 
 
 ## WebGL2RenderingContextOverloads
 
 WebGL2RenderingContextOverloads
 
-  | Method| Return Value Type| 
+| Method| Return Value Type|
 | -------- | -------- |
-| bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum) | void | 
-| bufferData(target: GLenum, srcData: BufferSource \| null, usage: GLenum) | void | 
-| bufferSubData(target: GLenum, dstByteOffset: GLintptr, srcData: BufferSource) | void | 
-| bufferData(target: GLenum, srcData: ArrayBufferView, usage: GLenum, srcOffset: GLuint, length?: GLuint) | void | 
-| bufferSubData(target: GLenum, dstByteOffset: GLintptr, srcData: ArrayBufferView, srcOffset: GLuint, length?: GLuint) | void | 
-| texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null) | void | 
-| texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void | 
-| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null) | void | 
-| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void | 
-| texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pboOffset: GLintptr) | void | 
-| texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void | 
-| texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: GLuint) | void | 
-| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pboOffset: GLintptr) | void | 
-| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, source: TexImageSource) | void | 
-| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: GLuint) | void | 
-| compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr) | void | 
-| compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint) | void | 
-| compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, imageSize: GLsizei, offset: GLintptr) | void | 
-| compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint) | void | 
-| uniform1fv(location: WebGLUniformLocation \| null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | 
-| uniform2fv(location: WebGLUniformLocation \| null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | 
-| uniform3fv(location: WebGLUniformLocation \| null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | 
-| uniform4fv(location: WebGLUniformLocation \| null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | 
-| uniform1iv(location: WebGLUniformLocation \| null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint) | void | 
-| uniform2iv(location: WebGLUniformLocation \| null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint) | void | 
-| uniform3iv(location: WebGLUniformLocation \| null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint) | void | 
-| uniform4iv(location: WebGLUniformLocation \| null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint) | void | 
-| uniformMatrix2fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | 
-| uniformMatrix3fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | 
-| uniformMatrix4fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | 
-| readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, dstData: ArrayBufferView \| null) | void | 
-| readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, offset: GLintptr) | void | 
-| readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, dstData: ArrayBufferView, dstOffset: GLuint) | void | 
+| bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum) | void |
+| bufferData(target: GLenum, srcData: BufferSource \| null, usage: GLenum) | void |
+| bufferSubData(target: GLenum, dstByteOffset: GLintptr, srcData: BufferSource) | void |
+| bufferData(target: GLenum, srcData: ArrayBufferView, usage: GLenum, srcOffset: GLuint, length?: GLuint) | void |
+| bufferSubData(target: GLenum, dstByteOffset: GLintptr, srcData: ArrayBufferView, srcOffset: GLuint, length?: GLuint) | void |
+| texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null) | void |
+| texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void |
+| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null) | void |
+| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void |
+| texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pboOffset: GLintptr) | void |
+| texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void |
+| texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: GLuint) | void |
+| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pboOffset: GLintptr) | void |
+| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, source: TexImageSource) | void |
+| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: GLuint) | void |
+| compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr) | void |
+| compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint) | void |
+| compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, imageSize: GLsizei, offset: GLintptr) | void |
+| compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint) | void |
+| uniform1fv(location: WebGLUniformLocation \| null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
+| uniform2fv(location: WebGLUniformLocation \| null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
+| uniform3fv(location: WebGLUniformLocation \| null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
+| uniform4fv(location: WebGLUniformLocation \| null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
+| uniform1iv(location: WebGLUniformLocation \| null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
+| uniform2iv(location: WebGLUniformLocation \| null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
+| uniform3iv(location: WebGLUniformLocation \| null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
+| uniform4iv(location: WebGLUniformLocation \| null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
+| uniformMatrix2fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
+| uniformMatrix3fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
+| uniformMatrix4fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
+| readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, dstData: ArrayBufferView \| null) | void |
+| readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, offset: GLintptr) | void |
+| readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, dstData: ArrayBufferView, dstOffset: GLuint) | void |
-- 
GitLab