CMake-only fork of https://dawn.googlesource.com/dawn with cleaned, vendored dependencies
a2f7d02c5e
A list of errors, `infringingLimits`, is added to EntryPointMetadata. During shader reflection, instead of directly bubbling limit errors up, they are stored in this list and check only later during pipeline creation. Several ShaderModule tests are reworked to create a pipeline to check for the validation of these limits. For the IO variable limits the tests needed to be reworked to check for strings in the error messages because since IO structs have to match between VS and FS, if one failed the other failed too. (so it's no possible to target the validation of one of these in particular) Bug: dawn:986 Change-Id: I689e16454488d4a3c746ece53828555ed72ed561 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/85501 Reviewed-by: Austin Eng <enga@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org> |
||
---|---|---|
.vscode | ||
build_overrides | ||
docs | ||
generator | ||
include | ||
infra | ||
samples/dawn | ||
scripts | ||
src | ||
test/tint | ||
third_party | ||
tools | ||
webgpu-cts | ||
.clang-format | ||
.gitattributes | ||
.gitignore | ||
.gn | ||
AUTHORS | ||
BUILD.gn | ||
CMakeLists.txt | ||
DEPS | ||
DIR_METADATA | ||
LICENSE | ||
OWNERS | ||
PRESUBMIT.py | ||
README.chromium | ||
README.md | ||
codereview.settings | ||
dawn.json | ||
dawn_wire.json |
README.md
Dawn, a WebGPU implementation
Dawn is an open-source and cross-platform implementation of the work-in-progress 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 C/C++ headers that applications and other building blocks use.
- The
webgpu.h
version that Dawn implements. - A C++ wrapper for the
webgpu.h
.
- The
- A "native" implementation of WebGPU using platforms' GPU APIs:
- D3D12 on Windows 10
- Metal on macOS and iOS
- Vulkan on Windows, Linux, ChromeOS, Android and Fuchsia
- OpenGL as best effort where available
- A client-server implementation of WebGPU for applications that are in a sandbox without access to native drivers
Helpful links:
- Dawn's bug tracker if you find issues with Dawn.
- Dawn's mailing list for other discussions related to Dawn.
- Dawn's source code
- Dawn's Matrix chatroom for live discussion around contributing or using Dawn.
- WebGPU's Matrix chatroom
Documentation table of content
Developer documentation:
- Dawn overview
- Building Dawn
- Contributing to Dawn
- Testing Dawn
- Debugging Dawn
- Dawn's infrastructure
- Dawn errors
User documentation: (TODO, figure out what overlaps with the webgpu.h docs)
Status
(TODO)
License
Apache 2.0 Public License, please see LICENSE.
Disclaimer
This is not an officially supported Google product.