Rolling 3 dependencies

Roll third_party/SPIRV-Tools/ 30bf46dbe..52a5f074e (1 commit)

$ git log 30bf46dbe..52a5f074e --date=short --no-merges --format='%ad %ae %s'
2020-06-15 dj2 Update access control lists. (#3433)

Roll third_party/glslang/ ebf55a071..00965b9fa (3 commits)

$ git log ebf55a071..00965b9fa --date=short --no-merges --format='%ad %ae %s'
2020-06-15 dj2 Remove unused variable. (#2273)
2020-06-15 rharrison Remove unused function, BaseTypeName (#2272)
2020-06-15 cepheus HLSL: Remove support for having GLSL versions of HLSL intrinsics.

Roll third_party/tint/ 0647d2360..be45ff508 (52 commits)

$ git log 0647d2360..be45ff508 --date=short --no-merges --format='%ad %ae %s'
2020-06-11 rharrison Create tint.h for external users
2020-06-11 dneto [spirv-reader] Simplify if-selection bookkeeping
2020-06-11 dneto [spirv-reader] remove exclusive_false_head_for
2020-06-10 rharrison Fix based builds
2020-06-09 dneto [spirv-reader] Avoid emitting empty elses
2020-06-08 dj2 Add GLSL FindILsb, FindUMsb, FindSMsb and InterpolateAtCentroid.
2020-06-08 dj2 Add support for GLSL cross.
2020-06-08 dj2 Add GLSL umin, umax, smin and smax support.
2020-06-08 dj2 Add ssign and sabs GLSL support.
2020-06-08 dj2 Refactor GLSL type determination code.
2020-06-08 dneto [spirv-reader] Emit non-header OpBranchConditional
2020-06-08 dneto [spirv-reader] Add cases for mergeless OpSwitch
2020-06-08 dneto [spirv-reader] Fix typo in test name
2020-06-08 dneto [spirv-reader] Check some merge block dominance
2020-06-08 dneto [spirv-reader] Add mergeless OpSwitch case
2020-06-08 dneto [spirv-reader] kIfBreak edge counts toward divergence
2020-06-04 dj2 [spirv-writer] Cleanup capabilities code.
2020-06-04 dj2 [spirv-writer] Add support for outer_product
2020-06-04 dj2 [spirv-writer] Add support for derivatives.
2020-06-04 dj2 [spirv-writer] Add support for dot call.
2020-06-04 dj2 [spirv-writer] Add support for is_inf
2020-06-04 dj2 [spirv-writer] Add is_nan support.
2020-06-04 dj2 [spirv-writer] Add support for all intrinsic.
2020-06-04 dj2 [spirv-writer] Generate any intrinsic
2020-06-04 dneto [spirv-reader] Refactor emission for OpBranch
2020-06-04 dneto [spirv-reader] Update test to show error caught
2020-06-04 dneto [spirv-reader] Update test to show error is caught
2020-06-03 rharrison Fix nit in
2020-06-03 dsinclair Remove right shift arithmetic operand.
2020-06-03 dsinclair Remove unless_stmt
2020-06-03 dsinclair Remove conditional break/continue.
2020-06-03 dneto [spirv-reader]: Support OpBranch
2020-06-03 rharrison Adding with a bunch of checks turned on
2020-06-02 dj2 Make case selectors an integer value
2020-06-02 dj2 Add IntLiteral parent for Sint and Uint literals.
2020-06-02 dj2 Rename the IntLiteral to SintLiteral.
2020-06-02 dneto [spirv-reader] Support unreachable, as a return
2020-06-02 dneto [spirv-reader] Support kill
2020-06-02 dj2 Rename case statement conditions to selectors.
2020-06-02 dneto [spirv-reader] Support return, return-value
2020-06-02 dneto [spirv-reader] Emit loop and continuing
2020-06-02 dneto [spirv-reader] Emit control flow: if/then/else
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.

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: Ib0bced03a45c9204aa644bc721bb54e7d427421f
Reviewed-by: Ryan Harrison <>
Reviewed-by: Austin Eng <>
Commit-Queue: Ryan Harrison <>
1 file changed
tree: 0218c7a4c3076a822eb5e8110fb1d1dba0153416
  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.