CMake-only fork of https://dawn.googlesource.com/dawn with cleaned, vendored dependencies
Go to file
Ryan Harrison a0b4571546 Roll 6 dependencies
Roll third_party/glslang/ 839704450..29c9135d0 (34 commits)

8397044502..29c9135d06

$ git log 839704450..29c9135d0 --date=short --no-merges --format='%ad %ae %s'
2020-07-07 rharrison Make sure glslang_angle has a definition in BUILD.gn
2020-07-07 bclayton Remove GLSLANG_BUILD_PIC flag
2020-07-07 bclayton Add new static targets to VS solution folders
2020-07-07 bclayton Add new rules to .gitignore
2020-07-03 marcin.slusarz Add --quiet option.
2020-07-05 ShabbyX gn: Fix dawn tests in Chromium
2020-07-05 ShabbyX gn: Fix `gn gen --check` by adding missing dependency
2020-07-03 bclayton Add GLSLANG_BUILD_PIC CMake flag
2020-07-03 ShabbyX gn: Optionally disable optimizations and HLSL
2020-07-03 bclayton Don't use add_link_options() on old CMake versions
2020-07-03 bclayton License headers: s/Google/The Khronos Group
2020-07-03 bclayton Kokoro: Correct the `build_file' path to build.sh
2020-07-02 bclayton Add config for license-checker and Kokoro scripts.
2020-07-02 bclayton Fix GLSLANG_IS_SHARED_LIBRARY define
2020-07-01 bclayton Add missing copyright headers
2020-07-02 cepheus Bump revision.
2020-07-01 cepheus SPIRV-Tools and tests: Update to location-validation in SPIRV-Tools.
2020-07-01 cepheus Tests: More broadly use automapping binding/location.
2020-07-01 bclayton Add additional licenses in use to LICENSE.txt
2020-07-01 cepheus HLSL: Catch error cases earlier, preventing a later assert.
2020-06-29 bclayton glslang: Only export public interface for SOs
2020-06-29 bclayton CMake: break up glslang into smaller static libs
2020-06-30 cepheus SPV: RelaxedPrecision: use the result precision for texture sampling.
2020-06-30 cepheus SPV: RelaxedPrecision: Generalize fix #2293 to cover more operations.
2020-06-24 e.proydakov Fixed GCC -Wunused-parameter in hlslParseables.cpp.
2020-06-29 bclayton CMake: Compile with -fPIC when building SOs
2020-06-29 bclayton CMake: Error on unresolved symbols
2020-06-29 bclayton Remove root kokoro/linux-*-cmake configs
2020-06-26 cepheus SPV: Fix #2293: keep relaxed precision on arg passed to relaxed param
2020-06-26 cepheus SPV: Partially address #2293: correct "const in" precision matching.
2020-06-25 lriki.net Add pack_matrix test
2020-06-12 lriki.net HLSL: Fix #pragma pack_matrix(row_major) not work on global uniforms
2020-06-24 bclayton Kokoro: Split linux cmake cfgs into static/shared
2020-06-23 e.proydakov Fixed msvc 2019 nmake compiler warnings with RTTI. By default cmake generates cxx_flags with `/GR` parameter. I updated CMAKE_CXX_FLAGS string and replaced `/GR` -> `/GR-`

Created with:
  roll-dep third_party/glslang

Roll third_party/shaderc/ f4025c1cd..1402ed576 (3 commits)

f4025c1cd5..1402ed5765

$ git log f4025c1cd..1402ed576 --date=short --no-merges --format='%ad %ae %s'
2020-07-07 rharrison Roll 6 dependencies and update expectations. (#1097)
2020-07-06 dneto glslc and spvc understand -h as the same as --help (#1089)
2020-07-03 dneto Glslang third party build needs -fPIC (#1093)

Created with:
  roll-dep third_party/shaderc

Roll third_party/spirv-cross/ 2e7a56258..559b21c6c (13 commits)

2e7a562583..559b21c6c9

$ git log 2e7a56258..559b21c6c --date=short --no-merges --format='%ad %ae %s'
2020-07-06 dsinclair Roll deps.
2020-07-01 post MSL: Do not emit swizzled writes in packing fixups.
2020-07-01 post MSL: Workaround broken vector -> scalar access chain in MSL.
2020-07-06 post MSL: Use input attachment index directly for resource index fallback.
2020-07-06 post GLSL: Support I/O flattening with arrays as final type.
2020-07-03 post GLSL: Support multi-level struct flattening for I/O.
2020-07-01 post Run format_all.sh.
2020-07-01 post test: Use --hlsl-dx9-compatible when attempting to compile SM 3.0 shaders.
2020-06-30 post GLSL: Fix nested legacy switch workarounds.
2020-06-29 post GLSL: Implement switch on ESSL 1.0.
2020-06-29 post GLSL: Use for-loop fallback instead of do/while for legacy ESSL.
2020-06-29 post Implement context-sensitive expression read tracking.
2020-06-29 post Fix bug with control dependent expression tracking.

Created with:
  roll-dep third_party/spirv-cross

Roll third_party/spirv-headers/ 11d7637e7..308bd0742 (1 commit)

11d7637e7a..308bd07424

$ git log 11d7637e7..308bd0742 --date=short --no-merges --format='%ad %ae %s'
2020-06-26 dj2 Register the Tint compiler

Created with:
  roll-dep third_party/spirv-headers

Roll third_party/SPIRV-Tools/ 52a5f074e..2fbeb04b6 (29 commits)

52a5f074e9..2fbeb04b6e

$ git log 52a5f074e..2fbeb04b6 --date=short --no-merges --format='%ad %ae %s'
2020-07-07 andreperezmaselco.developer spirv-fuzz: Implement the OpVectorTimesMatrix linear algebra case (#3489)
2020-07-07 vasniktel spirv-fuzz: fuzzerutil::MaybeGetConstant* #3487
2020-07-06 jaebaek Debug info preservation in copy-prop-array pass (#3444)
2020-07-03 vasniktel spirv-fuzz: TransformationInvertComparisonOperator (#3475)
2020-07-02 vasniktel Fix regression (#3481)
2020-07-02 vasniktel spirv-fuzz: Add fuzzerutil::FindOrCreate* (#3479)
2020-06-30 vasniktel spirv-fuzz: Add FuzzerPassAddCopyMemoryInstructions (#3391)
2020-06-30 vasniktel spirv-fuzz: Add one parameter at a time (#3469)
2020-06-29 jaebaek Fix ADCE pass bug for mulitple entries (#3470)
2020-06-26 ehsannas Add gl_BaseInstance to the name mapper. (#3462)
2020-06-26 andreperezmaselco.developer Implement the OpMatrixTimesScalar linear algebra case (#3450)
2020-06-25 jaebaek Clear debug information for kill and replacement (#3459)
2020-06-25 alanbaker Validate location assignments (#3308)
2020-06-23 ehsannas Support OpCompositeExtract pattern in desc_sroa (#3456)
2020-06-23 vasniktel spirv-fuzz: Implement FuzzerPassAddParameters (#3399)
2020-06-23 vasniktel spirv-fuzz: Add GetParameters (#3454)
2020-06-23 vasniktel spirv-fuzz: Permute OpPhi instruction operands (#3421)
2020-06-22 rharrison Add support for different default/trunks in roll-deps (#3442)
2020-06-19 jaebaek [spirv-opt] debug info preservation in ssa-rewrite (#3356)
2020-06-19 ehsannas Updated desc_sroa to support flattening structures (#3448)
2020-06-19 vasniktel spirv-fuzz: Refactor variable creation (#3414)
2020-06-19 vasniktel spirv-fuzz: Swap operands in OpBranchConditional (#3423)
2020-06-18 stevenperron Use structured order to unroll loops. (#3443)
2020-06-18 jaebaek Debug info preservation in dead branch elimination (#3425)
2020-06-17 vasniktel Add RemoveParameter method (#3437)
2020-06-17 vasniktel Fix return type (#3435)
2020-06-16 ehsannas Eliminate branches with condition of OpConstantNull (#3438)
2020-06-16 andreperezmaselco.developer spirv-fuzz: Implement vector shuffle fuzzer pass (#3412)
2020-06-16 andreperezmaselco.developer spirv-fuzz: Add replace linear algebra instruction transformation (#3402)

Created with:
  roll-dep third_party/SPIRV-Tools

Roll third_party/tint/ 0c647a889..7b819aa16 (49 commits)

https://dawn.googlesource.com/tint/+log/0c647a8896d1..7b819aa16240

$ git log 0c647a889..7b819aa16 --date=short --no-merges --format='%ad %ae %s'
2020-07-07 rharrison Multiple fixes to get BUILD.gn builds working again
2020-07-07 dneto [spirv-reader] Even better hoisted variables
2020-07-06 dsinclair Use Tint Generator Number.
2020-07-06 dneto [spirv-reader] Improve placement of hoisted vars
2020-07-06 dneto [spirv-reader] Allow multi-block continue construct being the entire loop
2020-07-06 dneto [spirv-reader] Support OpPhi
2020-07-06 dsinclair Rolling 7 dependencies
2020-07-06 dneto Error out for unrecognized option, more than one file
2020-07-02 dj2 [msl-writer] Always add the metal_stdlib include.
2020-07-02 dj2 [msl-writer] Add namer class.
2020-06-30 dsinclair [msl-writer] Emit switch statements.
2020-06-30 dneto [spirv-reader] Refactor bookkeeping for localy defined values
2020-06-30 dsinclair [msl-writer] Emit loop statements.
2020-06-30 dneto [spirv-reader] Hoist definitions as needed
2020-06-30 dneto [spirv-reader] Don't move combinatorial values across control flow
2020-06-29 dsinclair [msl-writer] Add break and continue emission.
2020-06-29 dsinclair [msl-writer] Emit member accessors.
2020-06-29 dsinclair [spirv-writer] Allow casting of vectors along with scalars.
2020-06-26 dneto Enable Tint as part of a larger CMake project
2020-06-26 dj2 [msl-writer] Emit alias types.
2020-06-26 dj2 [msl-writer] Add array accessors.
2020-06-26 dj2 [msl-writer] Add unary op emission.
2020-06-26 dj2 [msl-writer] Emit kill statement.
2020-06-26 dj2 [msl-writer] Add emission of if statements.
2020-06-26 dj2 [msl-writer] Add cast conversion.
2020-06-26 dj2 [msl-writer] Add generation of as casts.
2020-06-26 dneto [spirv-reader] Weaken input validation to Vulkan 1.0
2020-06-25 rharrison Add configs for CQ
2020-06-23 dsinclair [metal-writer] Add entry point support.
2020-06-23 dsinclair [metal-writer] Emit constructors.
2020-06-23 dsinclair [metal-writer] Emit binary operations.
2020-06-23 dsinclair [metal-writer] Emit assignment statements.
2020-06-23 dsinclair [metal-writer] Emit functions
2020-06-23 dsinclair [metal-writer] Add identifier expression.
2020-06-23 dsinclair [metal-writer] Add return generation.
2020-06-23 dsinclair [metal-writer] Add basic type emission.
2020-06-23 dsinclair [metal-writer] Stub out the Metal Shading Language backend.
2020-06-23 rharrison Fix BUILD.gn issues for TypeDeterminerTest
2020-06-22 dneto [spirv-reader] Simplify null composites
2020-06-22 dj2 [spirv-writer] Only add used variables to entry point.
2020-06-22 dneto [spirv-reader] Support OpNop
2020-06-22 dneto [spirv-reader] Support Undef, mapping to null
2020-06-22 dneto [spirv-reader] Use type aliases pervasively
2020-06-22 dj2 Support the zero initializer syntax.
2020-06-22 dneto type determine accessor on aliased array
2020-06-22 dneto Add type alias unwrapping methods
2020-06-22 dj2 [spirv-writer] Add Operand and Instruction list aliases.
2020-06-22 dj2 [spirv-writer] Add function calls
2020-06-22 dj2 [spirv-writer] Generate function parameters.

Created with:
  roll-dep third_party/tint

Change-Id: I33626195f373dde01e8e6ce26195578db372d949
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24461
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2020-07-07 20:45:02 +00:00
build_overrides Add Tint to BUILD.gn 2020-05-07 21:15:55 +00:00
docs Deprecate Buffer::SetSubData in favor of Queue::WriteBuffer 2020-06-02 09:24:39 +00:00
examples Deprecate TextureCopyView::arrayLayer -> origin.z 2020-06-16 03:05:17 +00:00
generator dawn_wire/client: Add ToAPI and FromAPI helpers. 2020-06-30 18:39:50 +00:00
infra/config infra: Migrate builders to Goma RBE 2020-06-09 12:34:02 +00:00
scripts Update path of third_party/spirv-tools to SPIRV-Tools 2020-07-06 21:31:00 +00:00
src Implement GPUBufferDescriptor.mappedAtCreation. 2020-07-07 11:21:51 +00:00
third_party Fix and enable -Wgnu-anonymous-struct 2020-04-30 16:01:08 +00:00
tools/memory/asan Fix is_asan build (at least on Mac) 2020-04-06 22:27:02 +00:00
.clang-format Add .clang-format 2017-11-28 16:18:39 -05:00
.gitattributes Add .gitattributes to normalize EOL 2019-07-15 12:23:18 +00:00
.gitignore Add Tint to BUILD.gn 2020-05-07 21:15:55 +00:00
.gn Re-enable -Wunguarded-availability in Dawn standalone builds 2019-12-11 16:54:51 +00:00
AUTHORS Rename NXT -> Dawn in the comments 2018-07-18 22:54:06 +02:00
BUILD.gn Remove temporary GN proxy groups. 2020-04-14 17:36:44 +00:00
CMakeLists.txt Fix the CMake build because of CMP0077 2020-04-10 17:04:31 +00:00
CONTRIBUTING.md docs: write an overview of Dawn and split README.md 2019-12-05 11:01:41 +00:00
DEPS Roll 6 dependencies 2020-07-07 20:45:02 +00:00
LICENSE Initial commit of all the NXT integration. 2017-04-20 14:38:20 -04:00
OWNERS Add enga@chromium.org as OWNER 2020-04-02 18:14:37 +00:00
PRESUBMIT.py PRESUBMIT.py: Add formatting checks. 2018-09-11 08:06:36 -04:00
README.chromium Add component to OWNERS and fixup repo URL in README.chromium 2018-09-25 20:53:37 +00:00
README.md Add Matrix chatrooms to README.md 2020-04-24 12:38:13 +00:00
codereview.settings Initial CQ configuration 2018-08-23 08:33:35 -04:00
dawn.json Implement GPUBufferDescriptor.mappedAtCreation. 2020-07-07 11:21:51 +00:00
dawn_wire.json dawn_wire: Remove client/ApiProcs_autogen.h 2020-06-30 18:26:30 +00:00

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

Status

(TODO)

License

Apache 2.0 Public License, please see LICENSE.

Disclaimer

This is not an officially supported Google product.