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.
clientWaitSync(sync, flags, timeout)syncA WebGLSync object on which to wait on.
flagsA GLbitfield specifying a bitwise combination of flags controlling the flushing behavior. May be gl.SYNC_FLUSH_COMMANDS_BIT.
timeoutA 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.
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.const sync = gl.fenceSync(gl.SYNC_GPU_COMMANDS_COMPLETE, 0);
const status = gl.clientWaitSync(sync, 0, 0);