CMake-only fork of https://dawn.googlesource.com/dawn with cleaned, vendored dependencies
Go to file
Ben Clayton 068eb3ebda tint: Fix HLSL texture queries and re-add textureNumLayers()
... overloads for texture cube arrays

FXC is telling porkies, when it says "The array element count
of GetDimensions on TextureCubeArray objects is unavailable
on ps_5_1".

The actual issue, as identified by Teodor Tanasoaia at Mozilla,
is that the argument needs to be unsigned.

In fact, *all* the texture queries should have used an unsigned
scalar or vector for the output value. This has been broken
forever!

This reverts commit bd9f6e6684.

Change-Id: I3e217bec17c6fd203cff618b143ebef3d8a61927
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/122980
Auto-Submit: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2023-03-08 02:48:34 +00:00
.vscode .vscode: Simplify build setup task 2023-03-04 00:49:51 +00:00
build_overrides remove use_system_libwayland 2023-01-25 19:32:15 +00:00
docs tint: Validate @must_use on functions and builtins 2023-02-22 16:18:22 +00:00
generator OpenGL: add support for GL_ANGLE_base_vertex_base_instance. 2023-02-27 21:43:57 +00:00
include Add array length options header to `tint.h`. 2023-03-07 16:51:01 +00:00
infra Kokoro: Fix windows builds 2023-02-05 10:52:57 +00:00
scripts Fix perf_test_runner.py to run with python3 2023-02-08 00:48:37 +00:00
src tint: Fix HLSL texture queries and re-add textureNumLayers() 2023-03-08 02:48:34 +00:00
test tint: Fix HLSL texture queries and re-add textureNumLayers() 2023-03-08 02:48:34 +00:00
third_party Roll third_party/webgpu-cts/ 6e39b5d2f..0557875f3 (15 commits) 2023-03-03 11:39:10 +00:00
tools test/tint/builtins/gen: Use returned value 2023-03-06 18:25:08 +00:00
webgpu-cts Add maxFragmentCombinedOutputResources and validation for it. 2023-03-08 02:45:50 +00:00
.clang-format
.clang-tidy
.gitattributes
.gitignore .gitignore: Rm src/dawn/node/tools/bin/ 2023-02-05 11:03:44 +00:00
.gn
AUTHORS
BUILD.gn
CMakeLists.txt Reland "Add writer to emit the AST." 2023-03-07 18:28:38 +00:00
CMakeSettings.json
CODE_OF_CONDUCT.md
CONTRIBUTING.md
CPPLINT.cfg
DEPS Roll ANGLE from a8ba5112b817 to 56259f301082 (10 revisions) 2023-03-07 22:28:56 +00:00
DIR_METADATA
Doxyfile tint: add pretty printers for gdb and lldb 2022-10-27 20:17:45 +00:00
LICENSE
OWNERS Set OWNERS to * on .txt files needed for CTS rolls 2023-02-13 10:17:04 +00:00
PRESUBMIT.py tools: Move idlgen and run-cts to from dawn/node to tools/ 2022-12-12 23:06:43 +00:00
README.chromium
README.md
codereview.settings
dawn.json Add maxFragmentCombinedOutputResources and validation for it. 2023-03-08 02:45:50 +00:00
dawn_wire.json Add Buffer.GetMapState() 2022-12-19 19:06:51 +00:00
go.mod go.mod: Pin github.com/sergi/go-diff to v1.1.0 2022-09-21 14:12:33 +00:00
go.sum go.mod: Pin github.com/sergi/go-diff to v1.1.0 2022-09-21 14:12:33 +00:00
go_presubmit_support.py Reland "Add expectations.txt validation to presubmit" 2022-12-08 21:57:55 +00:00
tint_overrides_with_defaults.gni Reland "Add writer to emit the AST." 2023-03-07 18:28:38 +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, Metal, Vulkan and OpenGL. See per API support for more details.
  • A client-server implementation of WebGPU for applications that are in a sandbox without access to native drivers
  • Tint is a compiler for the WebGPU Shader Language (WGSL) that can be used in standalone to convert shaders from and to WGSL.

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.