- From: Corentin Wallez <cwallez@google.com>
- Date: Thu, 29 Feb 2024 18:03:13 +0100
- To: public-gpu <public-gpu@w3.org>, Dawn Graphics <dawn-graphics@googlegroups.com>
Received on Thursday, 29 February 2024 17:03:33 UTC
Hey all, This is a PSA for a niche breaking change in the Chromium/Dawn implementation of WebGPU for a bugfix to match the WebGPU's spec. The WebGPU spec states that the BindGroupLayouts created implicitly for a pipeline are only compatible with BindGroupLayouts with the same shape for the same pipeline. You can't do bg = device.createBindGroup({layout: pipeline.getBindGroupLayout(0)}) and use the bindgroup with another pipeline. Due to internal caching of pipelines, Dawn had a bug where if pipeline1 and pipeline2 happened to be exactly the same, then implicit layouts for one would be compatible with the other pipeline (because they are the same one internally). We fixed the bug so the example above would cause a validation error and expect reliance on this functionality to be very niche (if it exists at all), but if you rely on implicit layouts, please check your WebGPU application on the latest Chromium Canary or Dawn codebase to see if fixups are needed! Cheers, Corentin
Received on Thursday, 29 February 2024 17:03:33 UTC