Chrome 149-150 Brings Immediates to WebGPU

Chrome 149-150 adds WebGPU immediates, tightens transient attachment validation, and continues Dawn cleanup work. Small changes, but useful ones for developers pushing many tiny per-draw updates.

0:00
/0:06

Chrome for Developers article page announcing WebGPU updates in Chrome 149-150, including immediates and transient attachment validation.

Chrome 149-150 brings a small but useful WebGPU update: immediates. The idea is simple enough. For small bits of data that change constantly, you should not always need to build a buffer, bind a group, and ask the GPU to go fetch data across the stack.

Immediates let developers pass tiny amounts of frequently changing data directly into shaders through the pass encoder. Think object IDs, draw-specific colors, small transforms, or the kind of per-draw values that show up everywhere once a renderer has several objects. In WGSL, the new <immediate> address space handles the shader side, while JavaScript uses setImmediates() before a draw call. Chrome’s example feature-detects immediate_address_space through navigator.gpu.wgslLanguageFeatures, then sends a color straight into the render pass.

Why Immediates Matter

A lot of graphics work is death by small updates: one object needs a unique ID, another needs a color, another needs a small bit of state for picking, clustering, material selection, or debug rendering. Uniform and storage buffers are still the right tool for larger structures, big arrays, lighting data, and anything that deserves a real memory address. But for tiny, hot-path values, immediates remove some of the CPU-side bookkeeping.

The result is a cleaner fast path for renderers that submit lots of draws. Less binding ceremony. Fewer little buffers made just to shuttle a handful of numbers around.

Transient Attachments Get Stricter

The second notable change is stricter validation for transient attachments. WebGPU recently added the TRANSIENT_ATTACHMENT texture usage flag for temporary render targets such as depth-stencil buffers or multisampled attachments. The useful bit is that these can stay in fast tile memory instead of allocating main VRAM, which is especially relevant for tile-based GPUs and render passes that need temporary attachments only while the pass is alive.

Chrome’s latest updates narrow the rules. Transient textures must use an empty viewFormats array, texture views cannot quietly narrow their usage flags, and transient attachments cannot be used as a resolveTarget inside a render pass.

The Bigger Picture

The release also points to ongoing Dawn updates, which matters because Dawn is the implementation layer many developers meet indirectly through Chrome’s WebGPU behavior.

WebGPU is moving through the phase where small API affordances, validation tightening, and implementation cleanup are becoming increasingly important.


Source: What's New in WebGPU (Chrome 149-150) by François Beaufort on Chrome for Developers.