recursal/MDN huggingface dataset:
WebGL2RenderingContext: getFragDataLocation() method
====================================================

 The **`WebGL2RenderingContext.getFragDataLocation()`** method
 of the WebGL 2 API returns the binding of
 color numbers to user-defined varying out variables.

Syntax
------


```js
getFragDataLocation(program, name)
```

### Parameters

`program`

A `WebGLProgram` to query.

`name`

 A string specifying the name of the user-defined varying out
 variable.


### Return value

 A `GLint` indicating the assigned color number binding, or `-1`
 otherwise.

Examples
--------


```js
// program is a linked WebGLProgram

gl.getFragDataLocation(program, "fragColor");
```

Specifications
--------------

| Specification |
| --- |
| WebGL 2.0 Specification # 3.7.7 |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `WebGLRenderingContext.createProgram()`
* `WebGLRenderingContext.deleteProgram()`
* `WebGLRenderingContext.isProgram()`
* `WebGLRenderingContext.linkProgram()`
* `WebGLRenderingContext.useProgram()`
* `WebGLRenderingContext.validateProgram()`
* `WebGLRenderingContext.getProgramParameter()`
* `WebGLRenderingContext.getProgramInfoLog()`
WebGL2RenderingContext: bindBufferRange() method
================================================

 The **`WebGL2RenderingContext.bindBufferRange()`** method of
 the WebGL 2 API binds a range of a given
 `WebGLBuffer` to a given binding point (`target`) at a given
 `index`.

Syntax
------


```js
bindBufferRange(target, index, buffer, offset, size)
```

### Parameters

`target`

 A `GLenum` specifying the target for the bind operation. Possible
 values:


* `gl.TRANSFORM_FEEDBACK_BUFFER`
* `gl.UNIFORM_BUFFER`

`index`

A `GLuint` specifying the index of the `target`.

`buffer`

 A `WebGLBuffer` which to bind to the binding point
 (`target`).


`offset`

A `GLintptr` specifying the starting offset.

`size`

 A `GLsizeiptr` specifying the amount of data that can be read from the
 buffer.


### Return value

None (`undefined`).

Examples
--------


```js
gl.bindBufferRange(gl.TRANSFORM\_FEEDBACK\_BUFFER, 1, buffer, 0, 4);
```

Specifications
--------------

| Specification |
| --- |
| WebGL 2.0 Specification # 3.7.16 |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `WebGL2RenderingContext.bindBufferBase()`
WebGL2RenderingContext: uniform[1234][uif][v]() method
======================================================

 The **`WebGL2RenderingContext.uniform[1234][uif][v]()`**
 methods of the WebGL API specify values of
 uniform variables.


**Note:** `ui` stands for *unsigned integer*, `i` for *integer*, `f` for *float*, and `v` for *vector*.
 Not all combinations are valid: `u` cannot be combined with `f`.
 See the syntax table below. Equivalent Regex: `uniform[1234](u?i|f)v?`

Syntax
------


```js
uniform1ui(location, v0)
uniform2ui(location, v0, v1)
uniform3ui(location, v0, v1, v2)
uniform4ui(location, v0, v1, v2, v3)

uniform1fv(location, data)
uniform1fv(location, data, srcOffset)
uniform1fv(location, data, srcOffset, srcLength)

uniform2fv(location, data)
uniform2fv(location, data, srcOffset)
uniform2fv(location, data, srcOffset, srcLength)

uniform3fv(location, data)
uniform3fv(location, data, srcOffset)
uniform3fv(location, data, srcOffset, srcLength)

uniform4fv(location, data)
uniform4fv(location, data, srcOffset)
uniform4fv(location, data, srcOffset, srcLength)

uniform1iv(location, data)
uniform1iv(location, data, srcOffset)
uniform1iv(location, data, srcOffset, srcLength)

uniform2iv(location, data)
uniform2iv(location, data, srcOffset)
uniform2iv(location, data, srcOffset, srcLength)

uniform3iv(location, data)
uniform3iv(location, data, srcOffset)
uniform3iv(location, data, srcOffset, srcLength)

uniform4iv(location, data)
uniform4iv(location, data, srcOffset)
uniform4iv(location, data, srcOffset, srcLength)

uniform1uiv(location, data)
uniform1uiv(location, data, srcOffset)
uniform1uiv(location, data, srcOffset, srcLength)

uniform2uiv(location, data)
uniform2uiv(location, data, srcOffset)
uniform2uiv(location, data, srcOffset, srcLength)

uniform3uiv(location, data)
uniform3uiv(location, data, srcOffset)
uniform3uiv(location, data, srcOffset, srcLength)

uniform4uiv(location, data)
uniform4uiv(location, data, srcOffset)
uniform4uiv(location, data, srcOffset, srcLength)
```

### Parameters

`location`

 A `WebGLUniformLocation` object containing the location of the uniform
 attribute to modify.


`data, v0, v1, v2, v3`

A new value to be used for the uniform variable. Possible types:

* A `Number` for unsigned integer values (methods with
 `ui`), for integer values (methods with `i`), or for floats
 (methods with `f`).
* A `Uint32Array` for unsigned integer vector methods (methods with
 `uiv`).

### Return value

None (`undefined`).

Specifications
--------------

| Specification |
| --- |
| WebGL 2.0 Specification # 3.7.8 |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `WebGLRenderingContext.uniform()`
WebGL2RenderingContext: createQuery() method
============================================

 The **`WebGL2RenderingContext.createQuery()`** method of the WebGL 2 API creates and initializes
 `WebGLQuery` objects, which provide ways to asynchronously query for
 information.

Syntax
------


```js
createQuery()
```

### Parameters

None.

### Return value

A `WebGLQuery` object.

Examples
--------

`gl` must be a `WebGL2RenderingContext`.
 `WebGLQuery` objects are not available in WebGL 1.


```js
const query = gl.createQuery();
```

Specifications
--------------

| Specification |
| --- |
| WebGL 2.0 Specification # 3.7.12 |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `WebGLQuery`
WebGL2RenderingContext: samplerParameter[if]() method
=====================================================

 The **`WebGL2RenderingContext.samplerParameter[if]()`** methods
 of the WebGL 2 API set
 `WebGLSampler` parameters.

Syntax
------


```js
samplerParameteri(sampler, pname, param)
samplerParameterf(sampler, pname, param)
```

### Parameters

`sampler`

A `WebGLSampler` object.

`pname`

A `GLenum` specifying which parameter to set. Possible values:

`gl.TEXTURE_COMPARE_FUNC`

 A `GLenum` specifying the
 texture comparison function.


`gl.TEXTURE_COMPARE_MODE`

 A `GLenum` specifying the
 texture comparison mode.


`gl.TEXTURE_MAG_FILTER`

 A `GLenum` specifying the
 texture magnification filter.


`gl.TEXTURE_MAX_LOD`

 A `GLfloat` specifying the maximum
 level-of-detail value.


`gl.TEXTURE_MIN_FILTER`

 A `GLenum` specifying the
 texture minification filter


`gl.TEXTURE_MIN_LOD`

 A `GLfloat` specifying the minimum
 level-of-detail value.


`gl.TEXTURE_WRAP_R`

 A `GLenum` specifying the texture
 wrapping function for the texture coordinate r.


`gl.TEXTURE_WRAP_S`

 A `GLenum` specifying the texture
 wrapping function for the texture coordinate s.


`gl.TEXTURE_WRAP_T`

 A `GLenum` specifying the texture
 wrapping function for the texture coordinate t.



`param`

 A `GLint` (`samplerParameteri`) or a `GLfloat`
 (`samplerParameterf`) specifying a value for `pname`.


### Return value

None (`undefined`).

Examples
--------


```js
const sampler = gl.createSampler();
gl.samplerParameteri(sampler, gl.TEXTURE\_MAG\_FILTER, gl.NEAREST);
```

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `WebGLSampler`
WebGL2RenderingContext: endQuery() method
=========================================

 The **`WebGL2RenderingContext.endQuery()`** method of the WebGL 2 API marks the end of a given query
 target.

Syntax
------


```js
endQuery(target)
```

### Parameters

`target`

A `GLenum` specifying the target of the query. Possible values:

`gl.ANY_SAMPLES_PASSED`

 Specifies an occlusion query: these queries
 detect whether an object is visible (whether the scoped drawing commands pass the
 depth test and if so, how many samples pass).


`gl.ANY_SAMPLES_PASSED_CONSERVATIVE`

 Same as above, but less
 accurate and faster version.


`gl.TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN`

 Number of primitives that
 are written to transform feedback buffers.



### Return value

None (`undefined`).

Examples
--------


```js
const query = gl.createQuery();
gl.beginQuery(gl.ANY\_SAMPLES\_PASSED, query);

// …

gl.endQuery(gl.ANY\_SAMPLES\_PASSED);
```

Specifications
--------------

| Specification |
| --- |
| WebGL 2.0 Specification # 3.7.12 |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `WebGLQuery`
WebGL2RenderingContext: drawElementsInstanced() method
======================================================

 The **`WebGL2RenderingContext.drawElementsInstanced()`** method
 of the WebGL 2 API renders primitives from
 array data like the `gl.drawElements()` method. In addition, it can execute multiple instances of a set
 of elements.


**Note:** When using WebGL 1, the `ANGLE_instanced_arrays` extension can provide this method,
 too.


Syntax
------


```js
drawElementsInstanced(mode, count, type, offset, instanceCount)
```

### Parameters

`mode`

 A `GLenum` specifying the type primitive to render. Possible values
 are:


* `gl.POINTS`: Draws a single dot.
* `gl.LINE_STRIP`: Draws a straight line to the next vertex.
* `gl.LINE_LOOP`: Draws a straight line to the next vertex, and
 connects the last vertex back to the first.
* `gl.LINES`: Draws a line between a pair of vertices.
* `gl.TRIANGLE_STRIP`
* `gl.TRIANGLE_FAN`
* `gl.TRIANGLES`: Draws a triangle for a group of three vertices.

`count`

A `GLsizei` specifying the number of elements to be rendered.

`type`

 A `GLenum` specifying the type of the values in the element array
 buffer. Possible values are:


* `gl.UNSIGNED_BYTE`
* `gl.UNSIGNED_SHORT`
* `gl.UNSIGNED_INT` When using the `OES_element_index_uint` extension.

`offset`

 A `GLintptr` specifying an offset in the element array buffer. Must be
 a valid multiple of the size of the given `type`.


`instanceCount`

 A `GLsizei` specifying the number of instances of the set of elements
 to execute.


### Return value

None (`undefined`).

### Exceptions

* If `mode` is not one of the accepted values, a
 `gl.INVALID_ENUM` error is thrown.
* If `offset` is a valid multiple of the size of the given type, a
 `gl.INVALID_OPERATION` error is thrown.
* If `count` or `instanceCount` are negative, a
 `gl.INVALID_VALUE` error is thrown.
Examples
--------


```js
gl.drawElementsInstanced(gl.POINTS, 2, gl.UNSIGNED\_SHORT, 0, 4);
```

Specifications
--------------

| Specification |
| --- |
| WebGL 2.0 Specification # 3.7.9 |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `ext.drawArraysInstancedANGLE()`
* `ext.vertexAttribDivisorANGLE()`
* `WebGLRenderingContext.drawArrays()`
* `WebGLRenderingContext.drawElements()`
* `WebGL2RenderingContext.drawArraysInstanced()`
* `WebGL2RenderingContext.vertexAttribDivisor()`
* `WEBGL_multi_draw.multiDrawElementsInstancedWEBGL()`
WebGL2RenderingContext: pauseTransformFeedback() method
=======================================================

 The **`WebGL2RenderingContext.pauseTransformFeedback()`**
 method of the WebGL 2 API pauses a transform
 feedback operation.

Syntax
------


```js
pauseTransformFeedback()
```

### Parameters

None.

### Return value

None (`undefined`).

Examples
--------


```js
const transformFeedback = gl.createTransformFeedback();
gl.bindTransformFeedback(gl.TRANSFORM\_FEEDBACK, transformFeedback);
gl.beginTransformFeedback(gl.TRIANGLES);
gl.pauseTransformFeedback();
// …
gl.resumeTransformFeedback();
gl.drawArrays(gl.TRIANGLES, 0, 3);
gl.endTransformFeedback();
```

Specifications
--------------

| Specification |
| --- |
| WebGL 2.0 Specification # 3.7.15 |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `WebGLTransformFeedback`
WebGL2RenderingContext: drawRangeElements() method
==================================================

 The **`WebGL2RenderingContext.drawRangeElements()`** method of
 the WebGL API renders primitives from array
 data in a given range.

Syntax
------


```js
drawRangeElements(mode, start, end, count, type, offset)
```

### Parameters

`mode`

 A `GLenum` specifying the type primitive to render. Possible values
 are:


* `gl.POINTS`: Draws a single dot.
* `gl.LINE_STRIP`: Draws a straight line to the next vertex.
* `gl.LINE_LOOP`: Draws a straight line to the next vertex, and
 connects the last vertex back to the first.
* `gl.LINES`: Draws a line between a pair of vertices.
* `gl.TRIANGLE_STRIP`
* `gl.TRIANGLE_FAN`
* `gl.TRIANGLES`: Draws a triangle for a group of three vertices.

`start`

 A `GLuint` specifying the minimum array index contained in
 `offset`.


`end`

 A `GLuint` specifying the maximum array index contained in
 `offset`.


`count`

A `GLsizei` specifying the number of elements to be rendered.

`type`

 A `GLenum` specifying the type of the values in the element array
 buffer. Possible values are:


* `gl.UNSIGNED_BYTE`
* `gl.UNSIGNED_SHORT`
* `gl.UNSIGNED_INT`

`offset`

 A `GLintptr` specifying an offset in the element array buffer. Must be
 a valid multiple of the size of the given `type`.


### Return value

None (`undefined`).

### Exceptions

* If `mode` is not one of the accepted values, a
 `gl.INVALID_ENUM` error is thrown.
* If `offset` is a valid multiple of the size of the given type, a
 `gl.INVALID_OPERATION` error is thrown.
* If `count` is negative, a `gl.INVALID_VALUE` error is thrown.
Examples
--------


```js
gl.drawRangeElements(gl.POINTS, 0, 7, 8, gl.UNSIGNED\_BYTE, 0);
```

Specifications
--------------

| Specification |
| --- |
| WebGL 2.0 Specification # 3.7.9 |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `WebGLRenderingContext.drawElements()`
WebGL2RenderingContext: getIndexedParameter() method
====================================================

 The **`WebGL2RenderingContext.getIndexedParameter()`** method
 of the WebGL 2 API returns indexed
 information about a given `target`.

Syntax
------


```js
getIndexedParameter(target, index)
```

### Parameters

`target`

 A `GLenum` specifying the target for which to return information.
 Possible values:


* `gl.TRANSFORM_FEEDBACK_BUFFER_BINDING`: Returns a
 `WebGLBuffer`.
* `gl.TRANSFORM_FEEDBACK_BUFFER_SIZE`: Returns a
 `GLsizeiptr`.
* `gl.TRANSFORM_FEEDBACK_BUFFER_START`: Returns a
 `GLintptr`.
* `gl.UNIFORM_BUFFER_BINDING`: Returns a `WebGLBuffer`.
* `gl.UNIFORM_BUFFER_SIZE`: Returns a `GLsizeiptr`.
* `gl.UNIFORM_BUFFER_START`: Returns a `GLintptr`.

When using the `OES_draw_buffers_indexed` WebGL 2 extension, the following values are available additionally:

* `gl.BLEND_EQUATION_RGB`: Returns the RGB blend equation for the draw buffer at `index`.
* `gl.BLEND_EQUATION_ALPHA`: Returns the alpha blend equation for the draw buffer at `index`.
* `gl.BLEND_SRC_RGB`: Returns the source RGB blend function for the draw buffer at `index`.
* `gl.BLEND_SRC_ALPHA`: Returns the source alpha blend function for the draw buffer at `index`.
* `gl.BLEND_DST_RGB`: Returns the destination RGB blend function for the draw buffer at `index`.
* `gl.BLEND_DST_ALPHA`: Returns the destination alpha blend function for the draw buffer at `index`.
* `gl.COLOR_WRITEMASK`: Returns an array containing color components are enabled for the draw buffer at `index`.

`index`

 A `GLuint` specifying the index of the `target` that is
 queried.


### Return value

Depends on the requested information (as specified with `target`).

Examples
--------


```js
const binding = gl.getIndexedParameter(gl.TRANSFORM\_FEEDBACK\_BUFFER\_BINDING, 0);
```

Specifications
--------------

| Specification |
| --- |
| WebGL 2.0 Specification # 3.7.2 |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `WebGLRenderingContext.getParameter()`
WebGL2RenderingContext: invalidateSubFramebuffer() method
=========================================================

 The **`WebGL2RenderingContext.invalidateSubFramebuffer()`**
 method of the WebGL 2 API invalidates
 portions of the contents of attachments in a framebuffer.

Syntax
------


```js
invalidateSubFramebuffer(target, attachments, x, y, width, height)
```

### Parameters

`target`

A `GLenum` specifying the binding point (target). Possible values:

`gl.FRAMEBUFFER`

 Collection buffer data storage of color, alpha,
 depth and stencil buffers used to render an image.


`gl.DRAW_FRAMEBUFFER`

Equivalent to `gl.FRAMEBUFFER`.

`gl.READ_FRAMEBUFFER`

Used as a source for reading operations.


`attachments`

 An `Array` of `GLenum` specifying the attachment points to
 invalidate. Possible values:


`gl.COLOR_ATTACHMENT{0-15}`

 Invalidates one of the framebuffer's
 color buffers.


`gl.DEPTH_ATTACHMENT`

Invalidates the framebuffer's depth buffer.

`gl.STENCIL_ATTACHMENT`

 Invalidates the framebuffer's stencil
 buffer.


`gl.DEPTH_STENCIL_ATTACHMENT`

 Invalidates both the framebuffer's
 depth and stencil buffer.



`x`

 A `GLint` specifying the left origin of the pixel rectangle to
 invalidate.


`y`

 A `GLint` specifying the bottom origin of the pixel rectangle to
 invalidate.


`width`

A `GLsizei` specifying the width of the pixel rectangle to invalidate.

`height`

A `GLsizei` specifying the height of the pixel rectangle to invalidate.

### Return value

None (`undefined`).

Examples
--------


```js
gl.invalidateSubFramebuffer(
  gl.READ\_FRAMEBUFFER,
  [gl.COLOR\_ATTACHMENT0, gl.COLOR\_ATTACHMENT1],
  0,
  0,
  256,
  256,
);
```

Specifications
--------------

| Specification |
| --- |
| WebGL 2.0 Specification # 3.7.4 |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `WebGL2RenderingContext.invalidateFramebuffer()`
WebGL2RenderingContext: vertexAttribDivisor() method
====================================================

 The **`WebGL2RenderingContext.vertexAttribDivisor()`** method
 of the WebGL 2 API modifies the rate at
 which generic vertex attributes advance when rendering multiple instances of primitives
 with `gl.drawArraysInstanced()` and
 `gl.drawElementsInstanced()`.


**Note:** When using WebGL 1, the `ANGLE_instanced_arrays` extension can provide this method,
 too.


Syntax
------


```js
vertexAttribDivisor(index, divisor)
```

### Parameters

`index`

A `GLuint` specifying the index of the generic vertex attributes.

`divisor`

 A `GLuint` specifying the number of instances that will pass between
 updates of the generic attribute.


### Return value

None (`undefined`).

Examples
--------


```js
gl.vertexAttribDivisor(0, 2);
```

Specifications
--------------

| Specification |
| --- |
| WebGL 2.0 Specification # 3.7.9 |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `ANGLE_instanced_arrays.vertexAttribDivisorANGLE()`
WebGL2RenderingContext: framebufferTextureLayer() method
========================================================

 The **`WebGL2RenderingContext.framebufferTextureLayer()`**
 method of the WebGL 2 API attaches a single
 layer of a texture to a framebuffer.

 This method is similar to `WebGLRenderingContext.framebufferTexture2D()`,
 but only a given single layer of the texture level is attached to the attachment point.

Syntax
------


```js
framebufferTextureLayer(target, attachment, texture, level, layer)
```

### Parameters

`target`

A `GLenum` specifying the binding point (target). Possible values:

* `gl.FRAMEBUFFER`: Collection buffer data storage of color, alpha,
 depth and stencil buffers used to render an image.
* `gl.DRAW_FRAMEBUFFER`: Equivalent to `gl.FRAMEBUFFER`.
* `gl.READ_FRAMEBUFFER`: Used as a source for reading operations.

`attachment`

 A `GLenum` specifying the attachment point for the
 `texture`. Possible values:


* `gl.COLOR_ATTACHMENT{0-15}`: Attaches the texture to one of the
 framebuffer's color buffers.
* `gl.DEPTH_ATTACHMENT`: Attaches the texture to the framebuffer's
 depth buffer.
* `gl.STENCIL_ATTACHMENT`: Attaches the texture to the framebuffer's
 stencil buffer.
* `gl.DEPTH_STENCIL_ATTACHMENT`: depth and stencil buffer.

`texture`

A `WebGLTexture` object whose image to attach.

`level`

A `GLint` specifying the mipmap level of the texture image to attach.

`layer`

A `GLint` specifying the layer of the texture image to attach.

### Return value

None (`undefined`).

Examples
--------


```js
gl.framebufferTextureLayer(gl.FRAMEBUFFER, gl.COLOR\_ATTACHMENT0, texture, 0, 8);
```

Specifications
--------------

| Specification |
| --- |
| WebGL 2.0 Specification # 3.7.4 |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `WebGLRenderingContext.framebufferTexture2D()`
WebGL2RenderingContext: invalidateFramebuffer() method
======================================================

 The **`WebGL2RenderingContext.invalidateFramebuffer()`** method
 of the WebGL 2 API invalidates the contents
 of attachments in a framebuffer.

Syntax
------


```js
invalidateFramebuffer(target, attachments)
```

### Parameters

`target`

A `GLenum` specifying the binding point (target). Possible values:

`gl.FRAMEBUFFER`

 Collection buffer data storage of color, alpha,
 depth and stencil buffers used to render an image.


`gl.DRAW_FRAMEBUFFER`

Equivalent to `gl.FRAMEBUFFER`.

`gl.READ_FRAMEBUFFER`

Used as a source for reading operations.


`attachments`

 An `Array` of `GLenum` specifying the attachment points to
 invalidate. Possible values:


`gl.COLOR_ATTACHMENT{0-15}`

 Invalidates one of the framebuffer's
 color buffers.


`gl.DEPTH_ATTACHMENT`

Invalidates the framebuffer's depth buffer.

`gl.STENCIL_ATTACHMENT`

 Invalidates the framebuffer's stencil
 buffer.


`gl.DEPTH_STENCIL_ATTACHMENT`

 Invalidates both the framebuffer's
 depth and stencil buffer.



### Return value

None (`undefined`).

Examples
--------


```js
gl.invalidateFramebuffer(gl.READ\_FRAMEBUFFER, [
  gl.COLOR\_ATTACHMENT0,
  gl.COLOR\_ATTACHMENT1,
]);
```

Specifications
--------------

| Specification |
| --- |
| WebGL 2.0 Specification # 3.7.4 |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `WebGL2RenderingContext.invalidateSubFramebuffer()`