What's New in WebGPU (Chrome 114)
Published on
Optimizing JavaScript
Chromium contributors sped up WebGPU performance for GPUComputePassEncoder
, GPURenderPassEncoder
, and GPUCommandEncoder
methods by reducing the overhead of making calls from generated code in V8 JavaScript engine to C++ handlers in Blink rendering engine. See issue chromium:1417558.
The following microbenchmark shows CPU time of calls from JavaScript decreasing from around 0.5 ms per 10K draws to around 0.3 ms per 10K draws, which is a 40% improvement.

getCurrentTexture() on unconfigured canvas throws InvalidStateError
Calling GPUCanvasContext
getCurrentTexture()
method on an unconfigured canvas now throws InvalidStateError
instead of OperationError
according to the WebGPU spec. See issue chromium:1424461.
const context = document.querySelector("canvas").getContext("webgpu");
context.getCurrentTexture(); // Throws InvalidStateError
WGSL updates
Zero-filled vectors of AbstractInt can now be written as vec2()
, vec3()
, and vec4()
. See issue tint:1892. For example:
vec2()
isvec2(0,0)
vec3()
isvec3(0,0,0)
vec4()
isvec4(0,0,0,0)
Dawn updates
Improving error messages
Descriptor labels for invalid objects are not being dropped anymore so that you can see them in error messages. See issue dawn:1771.
Add missing APIs for Node.js
The GPUAdapter::requestAdapterInfo()
and GPUBuffer::getMapState()
methods are now implemented for Node.js. See issue dawn:1761.
What's New in WebGPU
A list of everything that has been covered in the What's New in WebGPU series.
Chrome 117
- Unset vertex buffer
- Unset bind group
- Silence errors from async pipeline creation when device is lost
- SPIR-V shader module creation updates
- Improving developer experience
- Caching pipelines with automatically generated layout
- Dawn updates
Chrome 116
- WebCodecs integration
- Lost device returned by GPUAdapter requestDevice()
- Keep video playback smooth if importExternalTexture() is called
- Spec conformance
- Improving developer experience
- Dawn updates
Chrome 115
- Supported WGSL language extensions
- Experimental support for Direct3D 11
- Get discrete GPU by default on AC power
- Improving developer experience
- Dawn updates
Chrome 114
- Optimizing JavaScript
- getCurrentTexture() on unconfigured canvas throws InvalidStateError
- WGSL updates
- Dawn updates
Chrome 113
Published on • Improve article