CMake-only fork of https://dawn.googlesource.com/dawn with cleaned, vendored dependencies
64fcf3909a
This patch enables one texture to be used as both write-only storage texture and sampled texture in one compute pass. Note that while we don't need to check the usage scope of a texture in the whole compute pass scope, we still need to verify one texture cannot be bound to multiple bindings that are used in one dispatch at the same time. This check will be added in the following patches. This patch also adds tests to ensure a texture can be used as the following binding types in one compute pass: - read-only storage + sampled - write-only storage + sampled - read-only storage + write-only storage BUG=dawn:267 TEST=dawn_unittests Change-Id: Ibff2b005a5269a0bfa254e0417de4920758add39 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/20120 Commit-Queue: Jiawei Shao <jiawei.shao@intel.com> Reviewed-by: Austin Eng <enga@chromium.org> |
||
---|---|---|
build_overrides | ||
docs | ||
examples | ||
generator | ||
infra/config | ||
scripts | ||
src | ||
third_party | ||
tools/memory/asan | ||
.clang-format | ||
.gitattributes | ||
.gitignore | ||
.gn | ||
AUTHORS | ||
BUILD.gn | ||
CMakeLists.txt | ||
CONTRIBUTING.md | ||
DEPS | ||
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
Documentation table of content
Developer documentation:
User documentation: (TODO, figure out what overlaps with webgpu.h docs)
Status
(TODO)
License
Apache 2.0 Public License, please see LICENSE.
Disclaimer
This is not an officially supported Google product.