commit | f96ad409a3d1cb32d898c70b4af36a9541048b17 | [log] [tgz] |
---|---|---|
author | Kai Ninomiya <kainino@chromium.org> | Mon May 12 16:25:42 2025 -0700 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon May 12 16:25:42 2025 -0700 |
tree | 981030600ce54d59fc40b4dcab291cbb7eabc956 | |
parent | 4d69edbc49d69d1aba2827576555d2d01b39d624 [diff] |
Immediates: promote/rename, use limit only, remove feature - Promote/rename immediateSize and maxImmediateSize to match webgpu.h. - Avoided renaming related symbols, to reduce the size of the CL. - Since maxImmediateSize is now core, it defaults to 0 instead of 16. - Vulkan backend now needs to explicitly set it, others keep it as 0. - Since there's no longer an extension struct for the limits, we also need new rules for how it's validated. Keeping the feature with the limit introduces questions about how the feature and the limit interact (what happens if you request one but not the other?), so instead this removes the feature entirely and gates maxImmediateSize>0 on AllowUnsafeAPIs. - This simplifies some validation, as it all relies on maxImmediateSize and not the feature. Only AdapterBase::UpdateLimits() needs to care about the toggle, and SetImmediateData needs to explicitly error if maxImmediateSize=0. - The WGSL feature is gated on AllowUnsafeAPIs, along with other existing experimental features. - In Wasm, pass maxImmediateSize through, but only if it's > 0. No other projects seem to depend on immediates, so this changes everything at once without any deprecations. Fixed: 415086848 Change-Id: I980856fee5b5ec4ff98444291c410f5ab35bc178 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/240934 Reviewed-by: Loko Kung <lokokung@google.com> Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Dawn is an open-source and cross-platform implementation of the WebGPU standard. More precisely it implements webgpu.h
that is a one-to-one mapping with the WebGPU IDL. Dawn is meant to be integrated as part of a larger system and is the underlying implementation of WebGPU in Chromium.
Dawn provides several WebGPU building blocks:
webgpu.h
version that Dawn implements.webgpu.h
.Helpful links:
Developer documentation:
User documentation: (TODO, figure out what overlaps with the webgpu.h docs)
BSD 3-Clause License, please see LICENSE.
This is not an officially supported Google product.