CMake-only fork of https://dawn.googlesource.com/dawn with cleaned, vendored dependencies
Go to file
Brandon Jones df70004c52 Add Validation For External Texture Bind Group Layout Mismatch
Adds validation to ensure that external texture binding entries match
the bind group layout. This should fix an issue found by the fuzzer.

Bug: dawn:1082
Bug: chromium:1296935
Change-Id: I1cc542ed9105dbe29d775e01e52475a7d6c8d393
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/80460
Reviewed-by: Loko Kung <lokokung@google.com>
Auto-Submit: Brandon1 Jones <brandon1.jones@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2022-02-17 19:20:31 +00:00
.vscode .vscode: Fix quotations in windows 'gn gen' task 2021-07-21 14:07:49 +00:00
build_overrides Nuke SPIRV-Cross. 2022-02-11 00:45:51 +00:00
docs Nuke SPIRV-Cross. 2022-02-11 00:45:51 +00:00
generator Add error directives for api.h/api_cpp.h #ifdef __EMSCRIPTEN__ 2022-02-09 19:42:51 +00:00
include tint->dawn: Move src/include -> include 2022-02-04 18:18:18 +00:00
infra Generate shorter bucket names in luci-scheduler.cfg. 2022-02-10 09:02:02 +00:00
samples/dawn tint->dawn: Move examples -> samples/dawn 2022-02-04 18:35:55 +00:00
scripts Re-enable compilation of GL backends in Chromium. 2022-02-15 22:16:29 +00:00
src Add Validation For External Texture Bind Group Layout Mismatch 2022-02-17 19:20:31 +00:00
third_party Nuke SPIRV-Cross. 2022-02-11 00:45:51 +00:00
tools/memory/asan Fix is_asan build (at least on Mac) 2020-04-06 22:27:02 +00:00
.clang-format Use C++17 nested namespaces instead of manually nesting them. 2022-01-06 09:22:17 +00:00
.gitattributes Add .gitattributes to normalize EOL 2019-07-15 12:23:18 +00:00
.gitignore tint->dawn: Move src/dawn_node -> src/dawn/node 2022-02-04 12:51:25 +00:00
.gn Roll build dependencies to enable C++17 2022-01-05 15:54:08 +00:00
AUTHORS Rename NXT -> Dawn in the comments 2018-07-18 22:54:06 +02:00
BUILD.gn Remove old src/tests/BUILD.gn 2022-02-10 19:41:24 +00:00
CMakeLists.txt Nuke SPIRV-Cross. 2022-02-11 00:45:51 +00:00
DEPS Roll ANGLE from ae9c94f1bda1 to 671fcf732d8f (4 revisions) 2022-02-17 18:36:11 +00:00
DIR_METADATA Move metadata in OWNERS files to DIR_METADATA files 2021-02-04 01:26:43 +00:00
LICENSE Fix google3 license related issues 2021-12-02 21:25:58 +00:00
OWNERS Shuffle 'docs' directories 2022-01-27 18:33:47 +00:00
PRESUBMIT.py Force Python 3 in presubmit 2021-07-20 17:57:20 +00:00
README.chromium Add component to OWNERS and fixup repo URL in README.chromium 2018-09-25 20:53:37 +00:00
README.md Shuffle 'docs' directories 2022-01-27 18:33:47 +00:00
codereview.settings codereview.setings: default to not squashing on git cl upload 2021-03-10 18:35:58 +00:00
dawn.json Fix predefined color space undefined jsrepr 2022-02-15 23:58:31 +00:00
dawn_wire.json Shuffle 'docs' directories 2022-01-27 18:33:47 +00:00

README.md

Dawn's logo: a sun rising behind a stylized mountain inspired by the WebGPU logo. The text "Dawn" is written below it.

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.
  • 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:

Documentation table of content

Developer documentation:

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.