google-closure-compiler
Version:
Check, compile, optimize and compress Javascript with Closure-Compiler
2,038 lines (1,463 loc) • 67.2 kB
JavaScript
/*
* Copyright 2018 The Closure Compiler Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* @fileoverview Definitions for WebGL functions as described at
* http://www.khronos.org/registry/webgl/specs/latest/
*
* This file is current up to the WebGL 2.0 spec.
*
* This relies on webgl.js and html5.js being included for WebGL1, Canvas and
* Typed Array support.
*
* @externs
*/
/**
* @constructor
* @extends {WebGLRenderingContext}
*/
function WebGL2RenderingContext() {}
/** @const {number} */
WebGL2RenderingContext.READ_BUFFER;
/** @const {number} */
WebGL2RenderingContext.UNPACK_ROW_LENGTH;
/** @const {number} */
WebGL2RenderingContext.UNPACK_SKIP_ROWS;
/** @const {number} */
WebGL2RenderingContext.UNPACK_SKIP_PIXELS;
/** @const {number} */
WebGL2RenderingContext.PACK_ROW_LENGTH;
/** @const {number} */
WebGL2RenderingContext.PACK_SKIP_ROWS;
/** @const {number} */
WebGL2RenderingContext.PACK_SKIP_PIXELS;
/** @const {number} */
WebGL2RenderingContext.COLOR;
/** @const {number} */
WebGL2RenderingContext.DEPTH;
/** @const {number} */
WebGL2RenderingContext.STENCIL;
/** @const {number} */
WebGL2RenderingContext.RED;
/** @const {number} */
WebGL2RenderingContext.RGB8;
/** @const {number} */
WebGL2RenderingContext.RGBA8;
/** @const {number} */
WebGL2RenderingContext.RGB10_A2;
/** @const {number} */
WebGL2RenderingContext.TEXTURE_BINDING_3D;
/** @const {number} */
WebGL2RenderingContext.UNPACK_SKIP_IMAGES;
/** @const {number} */
WebGL2RenderingContext.UNPACK_IMAGE_HEIGHT;
/** @const {number} */
WebGL2RenderingContext.TEXTURE_3D;
/** @const {number} */
WebGL2RenderingContext.TEXTURE_WRAP_R;
/** @const {number} */
WebGL2RenderingContext.MAX_3D_TEXTURE_SIZE;
/** @const {number} */
WebGL2RenderingContext.UNSIGNED_INT_2_10_10_10_REV;
/** @const {number} */
WebGL2RenderingContext.MAX_ELEMENTS_VERTICES;
/** @const {number} */
WebGL2RenderingContext.MAX_ELEMENTS_INDICES;
/** @const {number} */
WebGL2RenderingContext.TEXTURE_MIN_LOD;
/** @const {number} */
WebGL2RenderingContext.TEXTURE_MAX_LOD;
/** @const {number} */
WebGL2RenderingContext.TEXTURE_BASE_LEVEL;
/** @const {number} */
WebGL2RenderingContext.TEXTURE_MAX_LEVEL;
/** @const {number} */
WebGL2RenderingContext.MIN;
/** @const {number} */
WebGL2RenderingContext.MAX;
/** @const {number} */
WebGL2RenderingContext.DEPTH_COMPONENT24;
/** @const {number} */
WebGL2RenderingContext.MAX_TEXTURE_LOD_BIAS;
/** @const {number} */
WebGL2RenderingContext.TEXTURE_COMPARE_MODE;
/** @const {number} */
WebGL2RenderingContext.TEXTURE_COMPARE_FUNC;
/** @const {number} */
WebGL2RenderingContext.CURRENT_QUERY;
/** @const {number} */
WebGL2RenderingContext.QUERY_RESULT;
/** @const {number} */
WebGL2RenderingContext.QUERY_RESULT_AVAILABLE;
/** @const {number} */
WebGL2RenderingContext.STREAM_READ;
/** @const {number} */
WebGL2RenderingContext.STREAM_COPY;
/** @const {number} */
WebGL2RenderingContext.STATIC_READ;
/** @const {number} */
WebGL2RenderingContext.STATIC_COPY;
/** @const {number} */
WebGL2RenderingContext.DYNAMIC_READ;
/** @const {number} */
WebGL2RenderingContext.DYNAMIC_COPY;
/** @const {number} */
WebGL2RenderingContext.MAX_DRAW_BUFFERS;
/** @const {number} */
WebGL2RenderingContext.DRAW_BUFFER0;
/** @const {number} */
WebGL2RenderingContext.DRAW_BUFFER1;
/** @const {number} */
WebGL2RenderingContext.DRAW_BUFFER2;
/** @const {number} */
WebGL2RenderingContext.DRAW_BUFFER3;
/** @const {number} */
WebGL2RenderingContext.DRAW_BUFFER4;
/** @const {number} */
WebGL2RenderingContext.DRAW_BUFFER5;
/** @const {number} */
WebGL2RenderingContext.DRAW_BUFFER6;
/** @const {number} */
WebGL2RenderingContext.DRAW_BUFFER7;
/** @const {number} */
WebGL2RenderingContext.DRAW_BUFFER8;
/** @const {number} */
WebGL2RenderingContext.DRAW_BUFFER9;
/** @const {number} */
WebGL2RenderingContext.DRAW_BUFFER10;
/** @const {number} */
WebGL2RenderingContext.DRAW_BUFFER11;
/** @const {number} */
WebGL2RenderingContext.DRAW_BUFFER12;
/** @const {number} */
WebGL2RenderingContext.DRAW_BUFFER13;
/** @const {number} */
WebGL2RenderingContext.DRAW_BUFFER14;
/** @const {number} */
WebGL2RenderingContext.DRAW_BUFFER15;
/** @const {number} */
WebGL2RenderingContext.MAX_FRAGMENT_UNIFORM_COMPONENTS;
/** @const {number} */
WebGL2RenderingContext.MAX_VERTEX_UNIFORM_COMPONENTS;
/** @const {number} */
WebGL2RenderingContext.SAMPLER_3D;
/** @const {number} */
WebGL2RenderingContext.SAMPLER_2D_SHADOW;
/** @const {number} */
WebGL2RenderingContext.FRAGMENT_SHADER_DERIVATIVE_HINT;
/** @const {number} */
WebGL2RenderingContext.PIXEL_PACK_BUFFER;
/** @const {number} */
WebGL2RenderingContext.PIXEL_UNPACK_BUFFER;
/** @const {number} */
WebGL2RenderingContext.PIXEL_PACK_BUFFER_BINDING;
/** @const {number} */
WebGL2RenderingContext.PIXEL_UNPACK_BUFFER_BINDING;
/** @const {number} */
WebGL2RenderingContext.FLOAT_MAT2x3;
/** @const {number} */
WebGL2RenderingContext.FLOAT_MAT2x4;
/** @const {number} */
WebGL2RenderingContext.FLOAT_MAT3x2;
/** @const {number} */
WebGL2RenderingContext.FLOAT_MAT3x4;
/** @const {number} */
WebGL2RenderingContext.FLOAT_MAT4x2;
/** @const {number} */
WebGL2RenderingContext.FLOAT_MAT4x3;
/** @const {number} */
WebGL2RenderingContext.SRGB;
/** @const {number} */
WebGL2RenderingContext.SRGB8;
/** @const {number} */
WebGL2RenderingContext.SRGB8_ALPHA8;
/** @const {number} */
WebGL2RenderingContext.COMPARE_REF_TO_TEXTURE;
/** @const {number} */
WebGL2RenderingContext.RGBA32F;
/** @const {number} */
WebGL2RenderingContext.RGB32F;
/** @const {number} */
WebGL2RenderingContext.RGBA16F;
/** @const {number} */
WebGL2RenderingContext.RGB16F;
/** @const {number} */
WebGL2RenderingContext.VERTEX_ATTRIB_ARRAY_INTEGER;
/** @const {number} */
WebGL2RenderingContext.MAX_ARRAY_TEXTURE_LAYERS;
/** @const {number} */
WebGL2RenderingContext.MIN_PROGRAM_TEXEL_OFFSET;
/** @const {number} */
WebGL2RenderingContext.MAX_PROGRAM_TEXEL_OFFSET;
/** @const {number} */
WebGL2RenderingContext.MAX_VARYING_COMPONENTS;
/** @const {number} */
WebGL2RenderingContext.TEXTURE_2D_ARRAY;
/** @const {number} */
WebGL2RenderingContext.TEXTURE_BINDING_2D_ARRAY;
/** @const {number} */
WebGL2RenderingContext.R11F_G11F_B10F;
/** @const {number} */
WebGL2RenderingContext.UNSIGNED_INT_10F_11F_11F_REV;
/** @const {number} */
WebGL2RenderingContext.RGB9_E5;
/** @const {number} */
WebGL2RenderingContext.UNSIGNED_INT_5_9_9_9_REV;
/** @const {number} */
WebGL2RenderingContext.TRANSFORM_FEEDBACK_BUFFER_MODE;
/** @const {number} */
WebGL2RenderingContext.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS;
/** @const {number} */
WebGL2RenderingContext.TRANSFORM_FEEDBACK_VARYINGS;
/** @const {number} */
WebGL2RenderingContext.TRANSFORM_FEEDBACK_BUFFER_START;
/** @const {number} */
WebGL2RenderingContext.TRANSFORM_FEEDBACK_BUFFER_SIZE;
/** @const {number} */
WebGL2RenderingContext.TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN;
/** @const {number} */
WebGL2RenderingContext.RASTERIZER_DISCARD;
/** @const {number} */
WebGL2RenderingContext.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS;
/** @const {number} */
WebGL2RenderingContext.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS;
/** @const {number} */
WebGL2RenderingContext.INTERLEAVED_ATTRIBS;
/** @const {number} */
WebGL2RenderingContext.SEPARATE_ATTRIBS;
/** @const {number} */
WebGL2RenderingContext.TRANSFORM_FEEDBACK_BUFFER;
/** @const {number} */
WebGL2RenderingContext.TRANSFORM_FEEDBACK_BUFFER_BINDING;
/** @const {number} */
WebGL2RenderingContext.RGBA32UI;
/** @const {number} */
WebGL2RenderingContext.RGB32UI;
/** @const {number} */
WebGL2RenderingContext.RGBA16UI;
/** @const {number} */
WebGL2RenderingContext.RGB16UI;
/** @const {number} */
WebGL2RenderingContext.RGBA8UI;
/** @const {number} */
WebGL2RenderingContext.RGB8UI;
/** @const {number} */
WebGL2RenderingContext.RGBA32I;
/** @const {number} */
WebGL2RenderingContext.RGB32I;
/** @const {number} */
WebGL2RenderingContext.RGBA16I;
/** @const {number} */
WebGL2RenderingContext.RGB16I;
/** @const {number} */
WebGL2RenderingContext.RGBA8I;
/** @const {number} */
WebGL2RenderingContext.RGB8I;
/** @const {number} */
WebGL2RenderingContext.RED_INTEGER;
/** @const {number} */
WebGL2RenderingContext.RGB_INTEGER;
/** @const {number} */
WebGL2RenderingContext.RGBA_INTEGER;
/** @const {number} */
WebGL2RenderingContext.SAMPLER_2D_ARRAY;
/** @const {number} */
WebGL2RenderingContext.SAMPLER_2D_ARRAY_SHADOW;
/** @const {number} */
WebGL2RenderingContext.SAMPLER_CUBE_SHADOW;
/** @const {number} */
WebGL2RenderingContext.UNSIGNED_INT_VEC2;
/** @const {number} */
WebGL2RenderingContext.UNSIGNED_INT_VEC3;
/** @const {number} */
WebGL2RenderingContext.UNSIGNED_INT_VEC4;
/** @const {number} */
WebGL2RenderingContext.INT_SAMPLER_2D;
/** @const {number} */
WebGL2RenderingContext.INT_SAMPLER_3D;
/** @const {number} */
WebGL2RenderingContext.INT_SAMPLER_CUBE;
/** @const {number} */
WebGL2RenderingContext.INT_SAMPLER_2D_ARRAY;
/** @const {number} */
WebGL2RenderingContext.UNSIGNED_INT_SAMPLER_2D;
/** @const {number} */
WebGL2RenderingContext.UNSIGNED_INT_SAMPLER_3D;
/** @const {number} */
WebGL2RenderingContext.UNSIGNED_INT_SAMPLER_CUBE;
/** @const {number} */
WebGL2RenderingContext.UNSIGNED_INT_SAMPLER_2D_ARRAY;
/** @const {number} */
WebGL2RenderingContext.DEPTH_COMPONENT32F;
/** @const {number} */
WebGL2RenderingContext.DEPTH32F_STENCIL8;
/** @const {number} */
WebGL2RenderingContext.FLOAT_32_UNSIGNED_INT_24_8_REV;
/** @const {number} */
WebGL2RenderingContext.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING;
/** @const {number} */
WebGL2RenderingContext.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE;
/** @const {number} */
WebGL2RenderingContext.FRAMEBUFFER_ATTACHMENT_RED_SIZE;
/** @const {number} */
WebGL2RenderingContext.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE;
/** @const {number} */
WebGL2RenderingContext.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE;
/** @const {number} */
WebGL2RenderingContext.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE;
/** @const {number} */
WebGL2RenderingContext.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE;
/** @const {number} */
WebGL2RenderingContext.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE;
/** @const {number} */
WebGL2RenderingContext.FRAMEBUFFER_DEFAULT;
/** @const {number} */
WebGL2RenderingContext.DEPTH_STENCIL_ATTACHMENT;
/** @const {number} */
WebGL2RenderingContext.DEPTH_STENCIL;
/** @const {number} */
WebGL2RenderingContext.UNSIGNED_INT_24_8;
/** @const {number} */
WebGL2RenderingContext.DEPTH24_STENCIL8;
/** @const {number} */
WebGL2RenderingContext.UNSIGNED_NORMALIZED;
/** @const {number} */
WebGL2RenderingContext.DRAW_FRAMEBUFFER_BINDING;
/** @const {number} */
WebGL2RenderingContext.READ_FRAMEBUFFER;
/** @const {number} */
WebGL2RenderingContext.DRAW_FRAMEBUFFER;
/** @const {number} */
WebGL2RenderingContext.READ_FRAMEBUFFER_BINDING;
/** @const {number} */
WebGL2RenderingContext.RENDERBUFFER_SAMPLES;
/** @const {number} */
WebGL2RenderingContext.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER;
/** @const {number} */
WebGL2RenderingContext.MAX_COLOR_ATTACHMENTS;
/** @const {number} */
WebGL2RenderingContext.COLOR_ATTACHMENT1;
/** @const {number} */
WebGL2RenderingContext.COLOR_ATTACHMENT2;
/** @const {number} */
WebGL2RenderingContext.COLOR_ATTACHMENT3;
/** @const {number} */
WebGL2RenderingContext.COLOR_ATTACHMENT4;
/** @const {number} */
WebGL2RenderingContext.COLOR_ATTACHMENT5;
/** @const {number} */
WebGL2RenderingContext.COLOR_ATTACHMENT6;
/** @const {number} */
WebGL2RenderingContext.COLOR_ATTACHMENT7;
/** @const {number} */
WebGL2RenderingContext.COLOR_ATTACHMENT8;
/** @const {number} */
WebGL2RenderingContext.COLOR_ATTACHMENT9;
/** @const {number} */
WebGL2RenderingContext.COLOR_ATTACHMENT10;
/** @const {number} */
WebGL2RenderingContext.COLOR_ATTACHMENT11;
/** @const {number} */
WebGL2RenderingContext.COLOR_ATTACHMENT12;
/** @const {number} */
WebGL2RenderingContext.COLOR_ATTACHMENT13;
/** @const {number} */
WebGL2RenderingContext.COLOR_ATTACHMENT14;
/** @const {number} */
WebGL2RenderingContext.COLOR_ATTACHMENT15;
/** @const {number} */
WebGL2RenderingContext.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE;
/** @const {number} */
WebGL2RenderingContext.MAX_SAMPLES;
/** @const {number} */
WebGL2RenderingContext.HALF_FLOAT;
/** @const {number} */
WebGL2RenderingContext.RG;
/** @const {number} */
WebGL2RenderingContext.RG_INTEGER;
/** @const {number} */
WebGL2RenderingContext.R8;
/** @const {number} */
WebGL2RenderingContext.RG8;
/** @const {number} */
WebGL2RenderingContext.R16F;
/** @const {number} */
WebGL2RenderingContext.R32F;
/** @const {number} */
WebGL2RenderingContext.RG16F;
/** @const {number} */
WebGL2RenderingContext.RG32F;
/** @const {number} */
WebGL2RenderingContext.R8I;
/** @const {number} */
WebGL2RenderingContext.R8UI;
/** @const {number} */
WebGL2RenderingContext.R16I;
/** @const {number} */
WebGL2RenderingContext.R16UI;
/** @const {number} */
WebGL2RenderingContext.R32I;
/** @const {number} */
WebGL2RenderingContext.R32UI;
/** @const {number} */
WebGL2RenderingContext.RG8I;
/** @const {number} */
WebGL2RenderingContext.RG8UI;
/** @const {number} */
WebGL2RenderingContext.RG16I;
/** @const {number} */
WebGL2RenderingContext.RG16UI;
/** @const {number} */
WebGL2RenderingContext.RG32I;
/** @const {number} */
WebGL2RenderingContext.RG32UI;
/** @const {number} */
WebGL2RenderingContext.VERTEX_ARRAY_BINDING;
/** @const {number} */
WebGL2RenderingContext.R8_SNORM;
/** @const {number} */
WebGL2RenderingContext.RG8_SNORM;
/** @const {number} */
WebGL2RenderingContext.RGB8_SNORM;
/** @const {number} */
WebGL2RenderingContext.RGBA8_SNORM;
/** @const {number} */
WebGL2RenderingContext.SIGNED_NORMALIZED;
/** @const {number} */
WebGL2RenderingContext.COPY_READ_BUFFER;
/** @const {number} */
WebGL2RenderingContext.COPY_WRITE_BUFFER;
/** @const {number} */
WebGL2RenderingContext.COPY_READ_BUFFER_BINDING;
/** @const {number} */
WebGL2RenderingContext.COPY_WRITE_BUFFER_BINDING;
/** @const {number} */
WebGL2RenderingContext.UNIFORM_BUFFER;
/** @const {number} */
WebGL2RenderingContext.UNIFORM_BUFFER_BINDING;
/** @const {number} */
WebGL2RenderingContext.UNIFORM_BUFFER_START;
/** @const {number} */
WebGL2RenderingContext.UNIFORM_BUFFER_SIZE;
/** @const {number} */
WebGL2RenderingContext.MAX_VERTEX_UNIFORM_BLOCKS;
/** @const {number} */
WebGL2RenderingContext.MAX_FRAGMENT_UNIFORM_BLOCKS;
/** @const {number} */
WebGL2RenderingContext.MAX_COMBINED_UNIFORM_BLOCKS;
/** @const {number} */
WebGL2RenderingContext.MAX_UNIFORM_BUFFER_BINDINGS;
/** @const {number} */
WebGL2RenderingContext.MAX_UNIFORM_BLOCK_SIZE;
/** @const {number} */
WebGL2RenderingContext.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS;
/** @const {number} */
WebGL2RenderingContext.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS;
/** @const {number} */
WebGL2RenderingContext.UNIFORM_BUFFER_OFFSET_ALIGNMENT;
/** @const {number} */
WebGL2RenderingContext.ACTIVE_UNIFORM_BLOCKS;
/** @const {number} */
WebGL2RenderingContext.UNIFORM_TYPE;
/** @const {number} */
WebGL2RenderingContext.UNIFORM_SIZE;
/** @const {number} */
WebGL2RenderingContext.UNIFORM_BLOCK_INDEX;
/** @const {number} */
WebGL2RenderingContext.UNIFORM_OFFSET;
/** @const {number} */
WebGL2RenderingContext.UNIFORM_ARRAY_STRIDE;
/** @const {number} */
WebGL2RenderingContext.UNIFORM_MATRIX_STRIDE;
/** @const {number} */
WebGL2RenderingContext.UNIFORM_IS_ROW_MAJOR;
/** @const {number} */
WebGL2RenderingContext.UNIFORM_BLOCK_BINDING;
/** @const {number} */
WebGL2RenderingContext.UNIFORM_BLOCK_DATA_SIZE;
/** @const {number} */
WebGL2RenderingContext.UNIFORM_BLOCK_ACTIVE_UNIFORMS;
/** @const {number} */
WebGL2RenderingContext.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES;
/** @const {number} */
WebGL2RenderingContext.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER;
/** @const {number} */
WebGL2RenderingContext.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER;
/** @const {number} */
WebGL2RenderingContext.INVALID_INDEX;
/** @const {number} */
WebGL2RenderingContext.MAX_VERTEX_OUTPUT_COMPONENTS;
/** @const {number} */
WebGL2RenderingContext.MAX_FRAGMENT_INPUT_COMPONENTS;
/** @const {number} */
WebGL2RenderingContext.MAX_SERVER_WAIT_TIMEOUT;
/** @const {number} */
WebGL2RenderingContext.OBJECT_TYPE;
/** @const {number} */
WebGL2RenderingContext.SYNC_CONDITION;
/** @const {number} */
WebGL2RenderingContext.SYNC_STATUS;
/** @const {number} */
WebGL2RenderingContext.SYNC_FLAGS;
/** @const {number} */
WebGL2RenderingContext.SYNC_FENCE;
/** @const {number} */
WebGL2RenderingContext.SYNC_GPU_COMMANDS_COMPLETE;
/** @const {number} */
WebGL2RenderingContext.UNSIGNALED;
/** @const {number} */
WebGL2RenderingContext.SIGNALED;
/** @const {number} */
WebGL2RenderingContext.ALREADY_SIGNALED;
/** @const {number} */
WebGL2RenderingContext.TIMEOUT_EXPIRED;
/** @const {number} */
WebGL2RenderingContext.CONDITION_SATISFIED;
/** @const {number} */
WebGL2RenderingContext.WAIT_FAILED;
/** @const {number} */
WebGL2RenderingContext.SYNC_FLUSH_COMMANDS_BIT;
/** @const {number} */
WebGL2RenderingContext.VERTEX_ATTRIB_ARRAY_DIVISOR;
/** @const {number} */
WebGL2RenderingContext.ANY_SAMPLES_PASSED;
/** @const {number} */
WebGL2RenderingContext.ANY_SAMPLES_PASSED_CONSERVATIVE;
/** @const {number} */
WebGL2RenderingContext.SAMPLER_BINDING;
/** @const {number} */
WebGL2RenderingContext.RGB10_A2UI;
/** @const {number} */
WebGL2RenderingContext.INT_2_10_10_10_REV;
/** @const {number} */
WebGL2RenderingContext.TRANSFORM_FEEDBACK;
/** @const {number} */
WebGL2RenderingContext.TRANSFORM_FEEDBACK_PAUSED;
/** @const {number} */
WebGL2RenderingContext.TRANSFORM_FEEDBACK_ACTIVE;
/** @const {number} */
WebGL2RenderingContext.TRANSFORM_FEEDBACK_BINDING;
/** @const {number} */
WebGL2RenderingContext.TEXTURE_IMMUTABLE_FORMAT;
/** @const {number} */
WebGL2RenderingContext.MAX_ELEMENT_INDEX;
/** @const {number} */
WebGL2RenderingContext.TEXTURE_IMMUTABLE_LEVELS;
/** @const {number} */
WebGL2RenderingContext.TIMEOUT_IGNORED;
/** @const {number} */
WebGL2RenderingContext.MAX_CLIENT_WAIT_TIMEOUT_WEBGL;
/** @const {number} */
WebGL2RenderingContext.prototype.READ_BUFFER;
/** @const {number} */
WebGL2RenderingContext.prototype.UNPACK_ROW_LENGTH;
/** @const {number} */
WebGL2RenderingContext.prototype.UNPACK_SKIP_ROWS;
/** @const {number} */
WebGL2RenderingContext.prototype.UNPACK_SKIP_PIXELS;
/** @const {number} */
WebGL2RenderingContext.prototype.PACK_ROW_LENGTH;
/** @const {number} */
WebGL2RenderingContext.prototype.PACK_SKIP_ROWS;
/** @const {number} */
WebGL2RenderingContext.prototype.PACK_SKIP_PIXELS;
/** @const {number} */
WebGL2RenderingContext.prototype.COLOR;
/** @const {number} */
WebGL2RenderingContext.prototype.DEPTH;
/** @const {number} */
WebGL2RenderingContext.prototype.STENCIL;
/** @const {number} */
WebGL2RenderingContext.prototype.RED;
/** @const {number} */
WebGL2RenderingContext.prototype.RGB8;
/** @const {number} */
WebGL2RenderingContext.prototype.RGBA8;
/** @const {number} */
WebGL2RenderingContext.prototype.RGB10_A2;
/** @const {number} */
WebGL2RenderingContext.prototype.TEXTURE_BINDING_3D;
/** @const {number} */
WebGL2RenderingContext.prototype.UNPACK_SKIP_IMAGES;
/** @const {number} */
WebGL2RenderingContext.prototype.UNPACK_IMAGE_HEIGHT;
/** @const {number} */
WebGL2RenderingContext.prototype.TEXTURE_3D;
/** @const {number} */
WebGL2RenderingContext.prototype.TEXTURE_WRAP_R;
/** @const {number} */
WebGL2RenderingContext.prototype.MAX_3D_TEXTURE_SIZE;
/** @const {number} */
WebGL2RenderingContext.prototype.UNSIGNED_INT_2_10_10_10_REV;
/** @const {number} */
WebGL2RenderingContext.prototype.MAX_ELEMENTS_VERTICES;
/** @const {number} */
WebGL2RenderingContext.prototype.MAX_ELEMENTS_INDICES;
/** @const {number} */
WebGL2RenderingContext.prototype.TEXTURE_MIN_LOD;
/** @const {number} */
WebGL2RenderingContext.prototype.TEXTURE_MAX_LOD;
/** @const {number} */
WebGL2RenderingContext.prototype.TEXTURE_BASE_LEVEL;
/** @const {number} */
WebGL2RenderingContext.prototype.TEXTURE_MAX_LEVEL;
/** @const {number} */
WebGL2RenderingContext.prototype.MIN;
/** @const {number} */
WebGL2RenderingContext.prototype.MAX;
/** @const {number} */
WebGL2RenderingContext.prototype.DEPTH_COMPONENT24;
/** @const {number} */
WebGL2RenderingContext.prototype.MAX_TEXTURE_LOD_BIAS;
/** @const {number} */
WebGL2RenderingContext.prototype.TEXTURE_COMPARE_MODE;
/** @const {number} */
WebGL2RenderingContext.prototype.TEXTURE_COMPARE_FUNC;
/** @const {number} */
WebGL2RenderingContext.prototype.CURRENT_QUERY;
/** @const {number} */
WebGL2RenderingContext.prototype.QUERY_RESULT;
/** @const {number} */
WebGL2RenderingContext.prototype.QUERY_RESULT_AVAILABLE;
/** @const {number} */
WebGL2RenderingContext.prototype.STREAM_READ;
/** @const {number} */
WebGL2RenderingContext.prototype.STREAM_COPY;
/** @const {number} */
WebGL2RenderingContext.prototype.STATIC_READ;
/** @const {number} */
WebGL2RenderingContext.prototype.STATIC_COPY;
/** @const {number} */
WebGL2RenderingContext.prototype.DYNAMIC_READ;
/** @const {number} */
WebGL2RenderingContext.prototype.DYNAMIC_COPY;
/** @const {number} */
WebGL2RenderingContext.prototype.MAX_DRAW_BUFFERS;
/** @const {number} */
WebGL2RenderingContext.prototype.DRAW_BUFFER0;
/** @const {number} */
WebGL2RenderingContext.prototype.DRAW_BUFFER1;
/** @const {number} */
WebGL2RenderingContext.prototype.DRAW_BUFFER2;
/** @const {number} */
WebGL2RenderingContext.prototype.DRAW_BUFFER3;
/** @const {number} */
WebGL2RenderingContext.prototype.DRAW_BUFFER4;
/** @const {number} */
WebGL2RenderingContext.prototype.DRAW_BUFFER5;
/** @const {number} */
WebGL2RenderingContext.prototype.DRAW_BUFFER6;
/** @const {number} */
WebGL2RenderingContext.prototype.DRAW_BUFFER7;
/** @const {number} */
WebGL2RenderingContext.prototype.DRAW_BUFFER8;
/** @const {number} */
WebGL2RenderingContext.prototype.DRAW_BUFFER9;
/** @const {number} */
WebGL2RenderingContext.prototype.DRAW_BUFFER10;
/** @const {number} */
WebGL2RenderingContext.prototype.DRAW_BUFFER11;
/** @const {number} */
WebGL2RenderingContext.prototype.DRAW_BUFFER12;
/** @const {number} */
WebGL2RenderingContext.prototype.DRAW_BUFFER13;
/** @const {number} */
WebGL2RenderingContext.prototype.DRAW_BUFFER14;
/** @const {number} */
WebGL2RenderingContext.prototype.DRAW_BUFFER15;
/** @const {number} */
WebGL2RenderingContext.prototype.MAX_FRAGMENT_UNIFORM_COMPONENTS;
/** @const {number} */
WebGL2RenderingContext.prototype.MAX_VERTEX_UNIFORM_COMPONENTS;
/** @const {number} */
WebGL2RenderingContext.prototype.SAMPLER_3D;
/** @const {number} */
WebGL2RenderingContext.prototype.SAMPLER_2D_SHADOW;
/** @const {number} */
WebGL2RenderingContext.prototype.FRAGMENT_SHADER_DERIVATIVE_HINT;
/** @const {number} */
WebGL2RenderingContext.prototype.PIXEL_PACK_BUFFER;
/** @const {number} */
WebGL2RenderingContext.prototype.PIXEL_UNPACK_BUFFER;
/** @const {number} */
WebGL2RenderingContext.prototype.PIXEL_PACK_BUFFER_BINDING;
/** @const {number} */
WebGL2RenderingContext.prototype.PIXEL_UNPACK_BUFFER_BINDING;
/** @const {number} */
WebGL2RenderingContext.prototype.FLOAT_MAT2x3;
/** @const {number} */
WebGL2RenderingContext.prototype.FLOAT_MAT2x4;
/** @const {number} */
WebGL2RenderingContext.prototype.FLOAT_MAT3x2;
/** @const {number} */
WebGL2RenderingContext.prototype.FLOAT_MAT3x4;
/** @const {number} */
WebGL2RenderingContext.prototype.FLOAT_MAT4x2;
/** @const {number} */
WebGL2RenderingContext.prototype.FLOAT_MAT4x3;
/** @const {number} */
WebGL2RenderingContext.prototype.SRGB;
/** @const {number} */
WebGL2RenderingContext.prototype.SRGB8;
/** @const {number} */
WebGL2RenderingContext.prototype.SRGB8_ALPHA8;
/** @const {number} */
WebGL2RenderingContext.prototype.COMPARE_REF_TO_TEXTURE;
/** @const {number} */
WebGL2RenderingContext.prototype.RGBA32F;
/** @const {number} */
WebGL2RenderingContext.prototype.RGB32F;
/** @const {number} */
WebGL2RenderingContext.prototype.RGBA16F;
/** @const {number} */
WebGL2RenderingContext.prototype.RGB16F;
/** @const {number} */
WebGL2RenderingContext.prototype.VERTEX_ATTRIB_ARRAY_INTEGER;
/** @const {number} */
WebGL2RenderingContext.prototype.MAX_ARRAY_TEXTURE_LAYERS;
/** @const {number} */
WebGL2RenderingContext.prototype.MIN_PROGRAM_TEXEL_OFFSET;
/** @const {number} */
WebGL2RenderingContext.prototype.MAX_PROGRAM_TEXEL_OFFSET;
/** @const {number} */
WebGL2RenderingContext.prototype.MAX_VARYING_COMPONENTS;
/** @const {number} */
WebGL2RenderingContext.prototype.TEXTURE_2D_ARRAY;
/** @const {number} */
WebGL2RenderingContext.prototype.TEXTURE_BINDING_2D_ARRAY;
/** @const {number} */
WebGL2RenderingContext.prototype.R11F_G11F_B10F;
/** @const {number} */
WebGL2RenderingContext.prototype.UNSIGNED_INT_10F_11F_11F_REV;
/** @const {number} */
WebGL2RenderingContext.prototype.RGB9_E5;
/** @const {number} */
WebGL2RenderingContext.prototype.UNSIGNED_INT_5_9_9_9_REV;
/** @const {number} */
WebGL2RenderingContext.prototype.TRANSFORM_FEEDBACK_BUFFER_MODE;
/** @const {number} */
WebGL2RenderingContext.prototype.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS;
/** @const {number} */
WebGL2RenderingContext.prototype.TRANSFORM_FEEDBACK_VARYINGS;
/** @const {number} */
WebGL2RenderingContext.prototype.TRANSFORM_FEEDBACK_BUFFER_START;
/** @const {number} */
WebGL2RenderingContext.prototype.TRANSFORM_FEEDBACK_BUFFER_SIZE;
/** @const {number} */
WebGL2RenderingContext.prototype.TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN;
/** @const {number} */
WebGL2RenderingContext.prototype.RASTERIZER_DISCARD;
/** @const {number} */
WebGL2RenderingContext.prototype.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS =
0x8C8A;
/** @const {number} */
WebGL2RenderingContext.prototype.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS;
/** @const {number} */
WebGL2RenderingContext.prototype.INTERLEAVED_ATTRIBS;
/** @const {number} */
WebGL2RenderingContext.prototype.SEPARATE_ATTRIBS;
/** @const {number} */
WebGL2RenderingContext.prototype.TRANSFORM_FEEDBACK_BUFFER;
/** @const {number} */
WebGL2RenderingContext.prototype.TRANSFORM_FEEDBACK_BUFFER_BINDING;
/** @const {number} */
WebGL2RenderingContext.prototype.RGBA32UI;
/** @const {number} */
WebGL2RenderingContext.prototype.RGB32UI;
/** @const {number} */
WebGL2RenderingContext.prototype.RGBA16UI;
/** @const {number} */
WebGL2RenderingContext.prototype.RGB16UI;
/** @const {number} */
WebGL2RenderingContext.prototype.RGBA8UI;
/** @const {number} */
WebGL2RenderingContext.prototype.RGB8UI;
/** @const {number} */
WebGL2RenderingContext.prototype.RGBA32I;
/** @const {number} */
WebGL2RenderingContext.prototype.RGB32I;
/** @const {number} */
WebGL2RenderingContext.prototype.RGBA16I;
/** @const {number} */
WebGL2RenderingContext.prototype.RGB16I;
/** @const {number} */
WebGL2RenderingContext.prototype.RGBA8I;
/** @const {number} */
WebGL2RenderingContext.prototype.RGB8I;
/** @const {number} */
WebGL2RenderingContext.prototype.RED_INTEGER;
/** @const {number} */
WebGL2RenderingContext.prototype.RGB_INTEGER;
/** @const {number} */
WebGL2RenderingContext.prototype.RGBA_INTEGER;
/** @const {number} */
WebGL2RenderingContext.prototype.SAMPLER_2D_ARRAY;
/** @const {number} */
WebGL2RenderingContext.prototype.SAMPLER_2D_ARRAY_SHADOW;
/** @const {number} */
WebGL2RenderingContext.prototype.SAMPLER_CUBE_SHADOW;
/** @const {number} */
WebGL2RenderingContext.prototype.UNSIGNED_INT_VEC2;
/** @const {number} */
WebGL2RenderingContext.prototype.UNSIGNED_INT_VEC3;
/** @const {number} */
WebGL2RenderingContext.prototype.UNSIGNED_INT_VEC4;
/** @const {number} */
WebGL2RenderingContext.prototype.INT_SAMPLER_2D;
/** @const {number} */
WebGL2RenderingContext.prototype.INT_SAMPLER_3D;
/** @const {number} */
WebGL2RenderingContext.prototype.INT_SAMPLER_CUBE;
/** @const {number} */
WebGL2RenderingContext.prototype.INT_SAMPLER_2D_ARRAY;
/** @const {number} */
WebGL2RenderingContext.prototype.UNSIGNED_INT_SAMPLER_2D;
/** @const {number} */
WebGL2RenderingContext.prototype.UNSIGNED_INT_SAMPLER_3D;
/** @const {number} */
WebGL2RenderingContext.prototype.UNSIGNED_INT_SAMPLER_CUBE;
/** @const {number} */
WebGL2RenderingContext.prototype.UNSIGNED_INT_SAMPLER_2D_ARRAY;
/** @const {number} */
WebGL2RenderingContext.prototype.DEPTH_COMPONENT32F;
/** @const {number} */
WebGL2RenderingContext.prototype.DEPTH32F_STENCIL8;
/** @const {number} */
WebGL2RenderingContext.prototype.FLOAT_32_UNSIGNED_INT_24_8_REV;
/** @const {number} */
WebGL2RenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING;
/** @const {number} */
WebGL2RenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE;
/** @const {number} */
WebGL2RenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_RED_SIZE;
/** @const {number} */
WebGL2RenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE;
/** @const {number} */
WebGL2RenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE;
/** @const {number} */
WebGL2RenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE;
/** @const {number} */
WebGL2RenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE;
/** @const {number} */
WebGL2RenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE;
/** @const {number} */
WebGL2RenderingContext.prototype.FRAMEBUFFER_DEFAULT;
/** @const {number} */
WebGL2RenderingContext.prototype.DEPTH_STENCIL_ATTACHMENT;
/** @const {number} */
WebGL2RenderingContext.prototype.DEPTH_STENCIL;
/** @const {number} */
WebGL2RenderingContext.prototype.UNSIGNED_INT_24_8;
/** @const {number} */
WebGL2RenderingContext.prototype.DEPTH24_STENCIL8;
/** @const {number} */
WebGL2RenderingContext.prototype.UNSIGNED_NORMALIZED;
/** @const {number} */
WebGL2RenderingContext.prototype.DRAW_FRAMEBUFFER_BINDING;
/** @const {number} */
WebGL2RenderingContext.prototype.READ_FRAMEBUFFER;
/** @const {number} */
WebGL2RenderingContext.prototype.DRAW_FRAMEBUFFER;
/** @const {number} */
WebGL2RenderingContext.prototype.READ_FRAMEBUFFER_BINDING;
/** @const {number} */
WebGL2RenderingContext.prototype.RENDERBUFFER_SAMPLES;
/** @const {number} */
WebGL2RenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER;
/** @const {number} */
WebGL2RenderingContext.prototype.MAX_COLOR_ATTACHMENTS;
/** @const {number} */
WebGL2RenderingContext.prototype.COLOR_ATTACHMENT1;
/** @const {number} */
WebGL2RenderingContext.prototype.COLOR_ATTACHMENT2;
/** @const {number} */
WebGL2RenderingContext.prototype.COLOR_ATTACHMENT3;
/** @const {number} */
WebGL2RenderingContext.prototype.COLOR_ATTACHMENT4;
/** @const {number} */
WebGL2RenderingContext.prototype.COLOR_ATTACHMENT5;
/** @const {number} */
WebGL2RenderingContext.prototype.COLOR_ATTACHMENT6;
/** @const {number} */
WebGL2RenderingContext.prototype.COLOR_ATTACHMENT7;
/** @const {number} */
WebGL2RenderingContext.prototype.COLOR_ATTACHMENT8;
/** @const {number} */
WebGL2RenderingContext.prototype.COLOR_ATTACHMENT9;
/** @const {number} */
WebGL2RenderingContext.prototype.COLOR_ATTACHMENT10;
/** @const {number} */
WebGL2RenderingContext.prototype.COLOR_ATTACHMENT11;
/** @const {number} */
WebGL2RenderingContext.prototype.COLOR_ATTACHMENT12;
/** @const {number} */
WebGL2RenderingContext.prototype.COLOR_ATTACHMENT13;
/** @const {number} */
WebGL2RenderingContext.prototype.COLOR_ATTACHMENT14;
/** @const {number} */
WebGL2RenderingContext.prototype.COLOR_ATTACHMENT15;
/** @const {number} */
WebGL2RenderingContext.prototype.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE;
/** @const {number} */
WebGL2RenderingContext.prototype.MAX_SAMPLES;
/** @const {number} */
WebGL2RenderingContext.prototype.HALF_FLOAT;
/** @const {number} */
WebGL2RenderingContext.prototype.RG;
/** @const {number} */
WebGL2RenderingContext.prototype.RG_INTEGER;
/** @const {number} */
WebGL2RenderingContext.prototype.R8;
/** @const {number} */
WebGL2RenderingContext.prototype.RG8;
/** @const {number} */
WebGL2RenderingContext.prototype.R16F;
/** @const {number} */
WebGL2RenderingContext.prototype.R32F;
/** @const {number} */
WebGL2RenderingContext.prototype.RG16F;
/** @const {number} */
WebGL2RenderingContext.prototype.RG32F;
/** @const {number} */
WebGL2RenderingContext.prototype.R8I;
/** @const {number} */
WebGL2RenderingContext.prototype.R8UI;
/** @const {number} */
WebGL2RenderingContext.prototype.R16I;
/** @const {number} */
WebGL2RenderingContext.prototype.R16UI;
/** @const {number} */
WebGL2RenderingContext.prototype.R32I;
/** @const {number} */
WebGL2RenderingContext.prototype.R32UI;
/** @const {number} */
WebGL2RenderingContext.prototype.RG8I;
/** @const {number} */
WebGL2RenderingContext.prototype.RG8UI;
/** @const {number} */
WebGL2RenderingContext.prototype.RG16I;
/** @const {number} */
WebGL2RenderingContext.prototype.RG16UI;
/** @const {number} */
WebGL2RenderingContext.prototype.RG32I;
/** @const {number} */
WebGL2RenderingContext.prototype.RG32UI;
/** @const {number} */
WebGL2RenderingContext.prototype.VERTEX_ARRAY_BINDING;
/** @const {number} */
WebGL2RenderingContext.prototype.R8_SNORM;
/** @const {number} */
WebGL2RenderingContext.prototype.RG8_SNORM;
/** @const {number} */
WebGL2RenderingContext.prototype.RGB8_SNORM;
/** @const {number} */
WebGL2RenderingContext.prototype.RGBA8_SNORM;
/** @const {number} */
WebGL2RenderingContext.prototype.SIGNED_NORMALIZED;
/** @const {number} */
WebGL2RenderingContext.prototype.COPY_READ_BUFFER;
/** @const {number} */
WebGL2RenderingContext.prototype.COPY_WRITE_BUFFER;
/** @const {number} */
WebGL2RenderingContext.prototype.COPY_READ_BUFFER_BINDING;
/** @const {number} */
WebGL2RenderingContext.prototype.COPY_WRITE_BUFFER_BINDING;
/** @const {number} */
WebGL2RenderingContext.prototype.UNIFORM_BUFFER;
/** @const {number} */
WebGL2RenderingContext.prototype.UNIFORM_BUFFER_BINDING;
/** @const {number} */
WebGL2RenderingContext.prototype.UNIFORM_BUFFER_START;
/** @const {number} */
WebGL2RenderingContext.prototype.UNIFORM_BUFFER_SIZE;
/** @const {number} */
WebGL2RenderingContext.prototype.MAX_VERTEX_UNIFORM_BLOCKS;
/** @const {number} */
WebGL2RenderingContext.prototype.MAX_FRAGMENT_UNIFORM_BLOCKS;
/** @const {number} */
WebGL2RenderingContext.prototype.MAX_COMBINED_UNIFORM_BLOCKS;
/** @const {number} */
WebGL2RenderingContext.prototype.MAX_UNIFORM_BUFFER_BINDINGS;
/** @const {number} */
WebGL2RenderingContext.prototype.MAX_UNIFORM_BLOCK_SIZE;
/** @const {number} */
WebGL2RenderingContext.prototype.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS;
/** @const {number} */
WebGL2RenderingContext.prototype.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS;
/** @const {number} */
WebGL2RenderingContext.prototype.UNIFORM_BUFFER_OFFSET_ALIGNMENT;
/** @const {number} */
WebGL2RenderingContext.prototype.ACTIVE_UNIFORM_BLOCKS;
/** @const {number} */
WebGL2RenderingContext.prototype.UNIFORM_TYPE;
/** @const {number} */
WebGL2RenderingContext.prototype.UNIFORM_SIZE;
/** @const {number} */
WebGL2RenderingContext.prototype.UNIFORM_BLOCK_INDEX;
/** @const {number} */
WebGL2RenderingContext.prototype.UNIFORM_OFFSET;
/** @const {number} */
WebGL2RenderingContext.prototype.UNIFORM_ARRAY_STRIDE;
/** @const {number} */
WebGL2RenderingContext.prototype.UNIFORM_MATRIX_STRIDE;
/** @const {number} */
WebGL2RenderingContext.prototype.UNIFORM_IS_ROW_MAJOR;
/** @const {number} */
WebGL2RenderingContext.prototype.UNIFORM_BLOCK_BINDING;
/** @const {number} */
WebGL2RenderingContext.prototype.UNIFORM_BLOCK_DATA_SIZE;
/** @const {number} */
WebGL2RenderingContext.prototype.UNIFORM_BLOCK_ACTIVE_UNIFORMS;
/** @const {number} */
WebGL2RenderingContext.prototype.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES;
/** @const {number} */
WebGL2RenderingContext.prototype.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER;
/** @const {number} */
WebGL2RenderingContext.prototype.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER;
/** @const {number} */
WebGL2RenderingContext.prototype.INVALID_INDEX;
/** @const {number} */
WebGL2RenderingContext.prototype.MAX_VERTEX_OUTPUT_COMPONENTS;
/** @const {number} */
WebGL2RenderingContext.prototype.MAX_FRAGMENT_INPUT_COMPONENTS;
/** @const {number} */
WebGL2RenderingContext.prototype.MAX_SERVER_WAIT_TIMEOUT;
/** @const {number} */
WebGL2RenderingContext.prototype.OBJECT_TYPE;
/** @const {number} */
WebGL2RenderingContext.prototype.SYNC_CONDITION;
/** @const {number} */
WebGL2RenderingContext.prototype.SYNC_STATUS;
/** @const {number} */
WebGL2RenderingContext.prototype.SYNC_FLAGS;
/** @const {number} */
WebGL2RenderingContext.prototype.SYNC_FENCE;
/** @const {number} */
WebGL2RenderingContext.prototype.SYNC_GPU_COMMANDS_COMPLETE;
/** @const {number} */
WebGL2RenderingContext.prototype.UNSIGNALED;
/** @const {number} */
WebGL2RenderingContext.prototype.SIGNALED;
/** @const {number} */
WebGL2RenderingContext.prototype.ALREADY_SIGNALED;
/** @const {number} */
WebGL2RenderingContext.prototype.TIMEOUT_EXPIRED;
/** @const {number} */
WebGL2RenderingContext.prototype.CONDITION_SATISFIED;
/** @const {number} */
WebGL2RenderingContext.prototype.WAIT_FAILED;
/** @const {number} */
WebGL2RenderingContext.prototype.SYNC_FLUSH_COMMANDS_BIT;
/** @const {number} */
WebGL2RenderingContext.prototype.VERTEX_ATTRIB_ARRAY_DIVISOR;
/** @const {number} */
WebGL2RenderingContext.prototype.ANY_SAMPLES_PASSED;
/** @const {number} */
WebGL2RenderingContext.prototype.ANY_SAMPLES_PASSED_CONSERVATIVE;
/** @const {number} */
WebGL2RenderingContext.prototype.SAMPLER_BINDING;
/** @const {number} */
WebGL2RenderingContext.prototype.RGB10_A2UI;
/** @const {number} */
WebGL2RenderingContext.prototype.INT_2_10_10_10_REV;
/** @const {number} */
WebGL2RenderingContext.prototype.TRANSFORM_FEEDBACK;
/** @const {number} */
WebGL2RenderingContext.prototype.TRANSFORM_FEEDBACK_PAUSED;
/** @const {number} */
WebGL2RenderingContext.prototype.TRANSFORM_FEEDBACK_ACTIVE;
/** @const {number} */
WebGL2RenderingContext.prototype.TRANSFORM_FEEDBACK_BINDING;
/** @const {number} */
WebGL2RenderingContext.prototype.TEXTURE_IMMUTABLE_FORMAT;
/** @const {number} */
WebGL2RenderingContext.prototype.MAX_ELEMENT_INDEX;
/** @const {number} */
WebGL2RenderingContext.prototype.TEXTURE_IMMUTABLE_LEVELS;
/** @const {number} */
WebGL2RenderingContext.prototype.TIMEOUT_IGNORED;
/** @const {number} */
WebGL2RenderingContext.prototype.MAX_CLIENT_WAIT_TIMEOUT_WEBGL;
/* Buffer objects */
/**
* @param {number} target
* @param {?ArrayBufferView|?ArrayBuffer|number} data
* @param {number} usage
* @param {number=} opt_srcOffset
* @param {number=} opt_length
* @return {undefined}
* @override
*/
WebGL2RenderingContext.prototype.bufferData = function(
target, data, usage, opt_srcOffset, opt_length) {};
/**
* @param {number} target
* @param {number} offset
* @param {?ArrayBufferView|?ArrayBuffer} data
* @param {number=} opt_srcOffset
* @param {number=} opt_length
* @return {undefined}
* @override
*/
WebGL2RenderingContext.prototype.bufferSubData = function(
target, offset, data, opt_srcOffset, opt_length) {};
/**
* @param {number} readTarget
* @param {number} writeTarget
* @param {number} readOffset
* @param {number} writeOffset
* @param {number} size
* @return {undefined}
*/
WebGL2RenderingContext.prototype.copyBufferSubData = function(
readTarget, writeTarget, readOffset, writeOffset, size) {};
/**
* @param {number} target
* @param {number} srcByteOffset
* @param {?ArrayBufferView|?ArrayBuffer} dstBuffer
* @param {number=} opt_dstOffset
* @param {number=} opt_length
* @return {undefined}
*/
WebGL2RenderingContext.prototype.getBufferSubData = function(
target, srcByteOffset, dstBuffer, opt_dstOffset, opt_length) {};
/* Framebuffer objects */
/**
* @param {number} srcX0
* @param {number} srcY0
* @param {number} srcX1
* @param {number} srcY1
* @param {number} dstX0
* @param {number} dstY0
* @param {number} dstX1
* @param {number} dstY1
* @param {number} mask
* @param {number} filter
* @return {undefined}
*/
WebGL2RenderingContext.prototype.blitFramebuffer = function(
srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter) {};
/**
* @param {number} target
* @param {number} attachment
* @param {?WebGLTexture} texture
* @param {number} level
* @param {number} layer
* @return {undefined}
*/
WebGL2RenderingContext.prototype.framebufferTextureLayer = function(
target, attachment, texture, level, layer) {};
/**
* @param {number} target
* @param {!Array<number>} attachments
* @return {undefined}
*/
WebGL2RenderingContext.prototype.invalidateFramebuffer = function(
target, attachments) {};
/**
* @param {number} target
* @param {!Array<number>} attachments
* @param {number} x
* @param {number} y
* @param {number} width
* @param {number} height
* @return {undefined}
*/
WebGL2RenderingContext.prototype.invalidateSubFramebuffer = function(
target, attachments, x, y, width, height) {};
/**
* @param {number} src
* @return {undefined}
*/
WebGL2RenderingContext.prototype.readBuffer = function(src) {};
/* Renderbuffer objects */
/**
* @param {number} target
* @param {number} internalformat
* @param {number} pname
* @return {*}
* @nosideeffects
*/
WebGL2RenderingContext.prototype.getInternalformatParameter = function(
target, internalformat, pname) {};
/**
* @param {number} target
* @param {number} samples
* @param {number} internalformat
* @param {number} width
* @param {number} height
* @return {undefined}
*/
WebGL2RenderingContext.prototype.renderbufferStorageMultisample = function(
target, samples, internalformat, width, height) {};
/* Texture objects */
/**
* @param {number} target
* @param {number} levels
* @param {number} internalformat
* @param {number} width
* @param {number} height
* @return {undefined}
*/
WebGL2RenderingContext.prototype.texStorage2D = function(
target, levels, internalformat, width, height) {};
/**
* @param {number} target
* @param {number} levels
* @param {number} internalformat
* @param {number} width
* @param {number} height
* @param {number} depth
* @return {undefined}
*/
WebGL2RenderingContext.prototype.texStorage3D = function(
target, levels, internalformat, width, height, depth) {};
/**
* @param {number} target
* @param {number} level
* @param {number} internalformat
* @param {number} formatOrWidth
* @param {number} typeOrHeight
* @param {?TexImageSource|number} imgOrBorder
* @param {number=} opt_format
* @param {number=} opt_type
* @param {?ArrayBufferView|?TexImageSource|number=} opt_imgOrOffset
* @param {number=} opt_srcOffset
* @return {undefined}
* @override
*/
WebGL2RenderingContext.prototype.texImage2D = function(
target, level, internalformat, formatOrWidth, typeOrHeight, imgOrBorder,
opt_format, opt_type, opt_imgOrOffset, opt_srcOffset) {};
/**
* @param {number} target
* @param {number} level
* @param {number} xoffset
* @param {number} yoffset
* @param {number} formatOrWidth
* @param {number} typeOrHeight
* @param {?TexImageSource|number} dataOrFormat
* @param {number=} opt_type
* @param {?ArrayBufferView|?TexImageSource|number=} opt_imgOrOffset
* @param {number=} opt_srcOffset
* @return {undefined}
* @override
*/
WebGL2RenderingContext.prototype.texSubImage2D = function(
target, level, xoffset, yoffset, formatOrWidth, typeOrHeight, dataOrFormat,
opt_type, opt_imgOrOffset, opt_srcOffset) {};
/**
* @param {number} target
* @param {number} level
* @param {number} internalformat
* @param {number} width
* @param {number} height
* @param {number} depth
* @param {number} border
* @param {number} format
* @param {number} type
* @param {?ArrayBufferView|?TexImageSource|number} srcData
* @param {number=} opt_srcOffset
* @return {undefined}
*/
WebGL2RenderingContext.prototype.texImage3D = function(
target, level, internalformat, width, height, depth, border, format, type,
srcData, opt_srcOffset) {};
/**
* @param {number} target
* @param {number} level
* @param {number} xoffset
* @param {number} yoffset
* @param {number} zoffset
* @param {number} width
* @param {number} height
* @param {number} depth
* @param {number} format
* @param {number} type
* @param {?ArrayBufferView|?TexImageSource|number} srcData
* @param {number=} opt_srcOffset
* @return {undefined}
*/
WebGL2RenderingContext.prototype.texSubImage3D = function(
target, level, xoffset, yoffset, zoffset, width, height, depth, format,
type, srcData, opt_srcOffset) {};
/**
* @param {number} target
* @param {number} level
* @param {number} xoffset
* @param {number} yoffset
* @param {number} zoffset
* @param {number} x
* @param {number} y
* @param {number} width
* @param {number} height
* @return {undefined}
*/
WebGL2RenderingContext.prototype.copyTexSubImage3D = function(
target, level, xoffset, yoffset, zoffset, x, y, width, height) {};
/**
* @param {number} target
* @param {number} level
* @param {number} internalformat
* @param {number} width
* @param {number} height
* @param {number} border
* @param {?ArrayBufferView|number} srcDataOrSize
* @param {number=} opt_srcOffset
* @param {number=} opt_srcLengthOverride
* @return {undefined}
* @override
*/
WebGL2RenderingContext.prototype.compressedTexImage2D = function(
target, level, internalformat, width, height, border, srcDataOrSize,
opt_srcOffset, opt_srcLengthOverride) {};
/**
* @param {number} target
* @param {number} level
* @param {number} internalformat
* @param {number} width
* @param {number} height
* @param {number} depth
* @param {number} border
* @param {!ArrayBufferView|number} srcDataOrSize
* @param {number=} opt_srcOffset
* @param {number=} opt_srcLengthOverride
* @return {undefined}
*/
WebGL2RenderingContext.prototype.compressedTexImage3D = function(
target, level, internalformat, width, height, depth, border, srcDataOrSize,
opt_srcOffset, opt_srcLengthOverride) {};
/**
* @param {number} target
* @param {number} level
* @param {number} xoffset
* @param {number} yoffset
* @param {number} width
* @param {number} height
* @param {number} format
* @param {?ArrayBufferView|number} srcDataOrSize
* @param {number=} opt_srcOffset
* @param {number=} opt_srcLengthOverride
* @return {undefined}
* @override
*/
WebGL2RenderingContext.prototype.compressedTexSubImage2D = function(
target, level, xoffset, yoffset, width, height, format, srcDataOrSize,
opt_srcOffset, opt_srcLengthOverride) {};
/**
* @param {number} target
* @param {number} level
* @param {number} xoffset
* @param {number} yoffset
* @param {number} zoffset
* @param {number} width
* @param {number} height
* @param {number} depth
* @param {number} format
* @param {!ArrayBufferView|number} srcDataOrSize
* @param {number=} opt_srcOffset
* @param {number=} opt_srcLengthOverride
* @return {undefined}
*/
WebGL2RenderingContext.prototype.compressedTexSubImage3D = function(
target, level, xoffset, yoffset, zoffset, width, height, depth, format,
srcDataOrSize, opt_srcOffset, opt_srcLengthOverride) {};
/* Programs and shaders */
/**
* @param {!WebGLProgram} program
* @param {string} name
* @return {number}
* @nosideeffects
*/
WebGL2RenderingContext.prototype.getFragDataLocation = function(
program, name) {};
/* Uniforms */
/**
* @param {?WebGLUniformLocation} location
* @param {number} v0
* @return {undefined}
*/
WebGL2RenderingContext.prototype.uniform1ui = function(location, v0) {};
/**
* @param {?WebGLUniformLocation} location
* @param {number} v0
* @param {number} v1
* @return {undefined}
*/
WebGL2RenderingContext.prototype.uniform2ui = function(location, v0, v1) {};
/**
* @param {?WebGLUniformLocation} location
* @param {number} v0
* @param {number} v1
* @param {number} v2
* @return {undefined}
*/
WebGL2RenderingContext.prototype.uniform3ui = function(location, v0, v1, v2) {};
/**
* @param {?WebGLUniformLocation} location
* @param {number} v0
* @param {number} v1
* @param {number} v2
* @param {number} v3
* @return {undefined}
*/
WebGL2RenderingContext.prototype.uniform4ui = function(
location, v0, v1, v2, v3) {};
/**
* @param {?WebGLUniformLocation} location
* @param {?Float32Array|?Array<number>} data
* @param {number=} opt_srcOffset
* @param {number=} opt_srcLength
* @return {undefined}
* @override
*/
WebGL2RenderingContext.prototype.uniform1fv = function(
location, data, opt_srcOffset, opt_srcLength) {};
/**
* @param {?WebGLUniformLocation} location
* @param {?Float32Array|?Array<number>} data
* @param {number=} opt_srcOffset
* @param {number=} opt_srcLength
* @return {undefined}
* @override
*/
WebGL2RenderingContext.prototype.uniform2fv = function(
location, data, opt_srcOffset, opt_srcLength) {};
/**
* @param {?WebGLUniformLocation} location
* @param {?Float32Array|?Array<number>} data
* @param {number=} opt_srcOffset
* @param {number=} opt_srcLength
* @return {undefined}
* @override
*/
WebGL2RenderingContext.prototype.uniform3fv = function(
location, data, opt_srcOffset, opt_srcLength) {};
/**
* @param {?WebGLUniformLocation} location
* @param {?Float32Array|?Array<number>} data
* @param {number=} opt_srcOffset
* @param {number=} opt_srcLength
* @return {undefined}
* @override
*/
WebGL2RenderingContext.prototype.uniform4fv = function(
location, data, opt_srcOffset, opt_srcLength) {};
/**
* @param {?WebGLUniformLocation} location
* @param {?Int32Array|?Array<number>|?Array<boolean>} data
* @param {number=} opt_srcOffset
* @param {number=} opt_srcLength
* @return {u