WebGL2RenderingContext: clientWaitSync() method

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

Note: This feature is available in Web Workers.

The WebGL2RenderingContext.clientWaitSync() method of the WebGL 2 API blocks and waits for a WebGLSync object to become signaled or a given timeout to be passed.

Syntax

js
clientWaitSync(sync, flags, timeout)

Parameters

sync

A WebGLSync object on which to wait on.

flags

A GLbitfield specifying a bitwise combination of flags controlling the flushing behavior. May be gl.SYNC_FLUSH_COMMANDS_BIT.

timeout

A GLint64 specifying a timeout (in nanoseconds) for which to wait for the sync object to become signaled. Must not be larger than gl.MAX_CLIENT_WAIT_TIMEOUT_WEBGL.

Return value

A GLenum indicating the sync object's status.

  • gl.ALREADY_SIGNALED: Indicates that the sync object was signaled when this method was called.
  • gl.TIMEOUT_EXPIRED: Indicates that the timeout time passed and that the sync object did not become signaled.
  • gl.CONDITION_SATISFIED: Indicates that the sync object was signaled before the timeout expired.
  • gl.WAIT_FAILED: Indicates that an error occurred during the execution.

Examples

js
const sync = gl.fenceSync(gl.SYNC_GPU_COMMANDS_COMPLETE, 0);
const status = gl.clientWaitSync(sync, 0, 0);

Specifications

Specification
WebGL 2.0 Specification
# 3.7.14

Browser compatibility

BCD tables only load in the browser

See also