Rolling 5 dependencies

Roll third_party/SPIRV-Tools/ d3d89bb90..f050cca7e (5 commits)

$ git log d3d89bb90..f050cca7e --date=short --no-merges --format='%ad %ae %s'
2020-05-29 andreperezmaselco.developer spirv-fuzz: Add push id through variable transformation (#3359)
2020-05-27 rharrison Rolling 4 dependencies (#3380)
2020-05-27 stevenperron Start SPIRV-Tools v2020.4
2020-05-27 stevenperron Finalize SPIRV-Tools v2020.3
2020-05-27 stevenperron Update CHANGES

Roll third_party/glslang/ 2b0eafb1d..d39b8afc4 (4 commits)

$ git log 2b0eafb1d..d39b8afc4 --date=short --no-merges --format='%ad %ae %s'
2020-05-28 40001162+alelenv EXT_ray_tracing requires spv1.4 (#2237)
2020-05-28 shuizhuyuanluo fix warning unused parameter in release build (#2251)
2020-05-27 greg Fix missing patch decoration for TessFactor PCF arg (#2249)
2020-05-27 greg Update SPIRV-Tools to stable. Also SPIRV-Headers to TOT. (#2250)

Roll third_party/shaderc/ 7d2f8c57e..da87b8d8b (3 commits)

$ git log 7d2f8c57e..da87b8d8b --date=short --no-merges --format='%ad %ae %s'
2020-06-01 bryan.bernhart Support forcing storage buffers to be always declared as UAV. (#1076)
2020-06-01 rharrison Roll third_party/spirv-cross/ 61cddd630..d385bf096 (4 commits) (#1077)
2020-05-26 rharrison Rolling 4 dependencies and expectations (#1074)

Roll third_party/spirv-headers/ ac638f181..11d7637e7 (7 commits)

$ git log ac638f181..11d7637e7 --date=short --no-merges --format='%ad %ae %s'
2020-06-01 dneto spir-v.xml: Use plain ASCII quotes in comment
2020-05-29 cepheus Rebuild headers against the previous grammar commit.
2020-05-29 dmitry.sidorov Apply suggestions
2020-04-05 dmitry.sidorov Add Intel specific definitions from KhronosGroup/SPIRV-LLVM-Translator
2020-05-29 cepheus Header build from previous grammar update.
2020-05-25 michael.kinsner Propose bit allocation mechanism for the FP Fast Math Mode bitfield, following from the mechanism previously added for the loop control bitfield.
2020-04-05 dmitry.sidorov Add SPV_INTEL_function_pointers preview extension

Roll third_party/tint/ 537039009..e2be48975 (11 commits)

$ git log 537039009..e2be48975 --date=short --no-merges --format='%ad %ae %s'
2020-06-01 dsinclair Fix merge conflict
2020-06-01 dsinclair [spirv-writer] Add fallthrough support
2020-06-01 dsinclair [spirv-writer] Add switch support
2020-06-01 dneto [spirv-reader] use stack of statement lists
2020-06-01 dneto [spirv-reader] Add problematic CFG case as disabled test
2020-06-01 dsinclair Add case_selectors update
2020-06-01 dsinclair [spirv-writer] Generate kill statements.
2020-06-01 dsinclair Updating to match WGSL spec.
2020-06-01 dsinclair Update intrinsics in the grammar.
2020-06-01 dsinclair Update WGSL grammar builtins to match spec.
2020-05-27 dj2 [spirv-writer] Remove stpq support.

Created with:
  roll-dep third_party/SPIRV-Tools third_party/glslang third_party/shaderc third_party/spirv-cross third_party/spirv-headers third_party/tint

Change-Id: Ifbd3f1db31c76b8895242dd5104d2027de8824af
Reviewed-by: Ryan Harrison <>
Reviewed-by: Austin Eng <>
Reviewed-by: Corentin Wallez <>
Commit-Queue: Ryan Harrison <>
1 file changed
tree: db2b3488f100e21164cfc141598b541cc26c3eac
  1. .clang-format
  2. .gitattributes
  3. .gitignore
  4. .gn
  7. CMakeLists.txt
  9. DEPS
  11. OWNERS
  13. README.chromium
  15. build_overrides/
  16. codereview.settings
  17. dawn.json
  18. dawn_wire.json
  19. docs/
  20. examples/
  21. generator/
  22. infra/
  23. scripts/
  24. src/
  25. third_party/
  26. tools/

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 webgpu.h docs)




Apache 2.0 Public License, please see LICENSE.


This is not an officially supported Google product.