commit | 4eeb0bd6e2dc3f608a079b7e62ff3fd3befccdef | [log] [tgz] |
---|---|---|
author | Stephen White <senorblanco@chromium.org> | Wed Jan 24 22:30:52 2024 +0000 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed Jan 24 22:30:52 2024 +0000 |
tree | 2c3e85ae891029cb239c6a4fb8244907d94a518c | |
parent | c65ac40803c289104fa26156113ebfd37280dd7a [diff] |
Implement push_constant-based firstIndex transform. This transform offsets the vertex_index and/or instance_index builtin variables by a user-supplied first_vertex and first_instance offset. This is required for shading languages that use zero-based first_* variables such as GLSL and HLSL. Also, GLSL requires push constants to be wrapped in a struct, and the struct to be emitted, but not emitted as an interface block. Thus, change the "skip_push_constants" flag in the AddBlockAttribute to "push_constants_wrap_only", which causes push constants to be wrapped in a struct, but to not have the BlockAttribute added. Bug: tint:2140 Change-Id: I7ce7bb67b58efa110e91fc38d840e674adaf9d0b Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/169461 Kokoro: Kokoro <noreply+kokoro@google.com> Commit-Queue: Stephen White <senorblanco@chromium.org> Reviewed-by: Austin Eng <enga@chromium.org> Reviewed-by: Ben Clayton <bclayton@google.com>
Dawn is an open-source and cross-platform implementation of the 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.h
version that Dawn implements.webgpu.h
.Helpful links:
Developer documentation:
User documentation: (TODO, figure out what overlaps with the webgpu.h docs)
BSD 3-Clause License, please see LICENSE.
This is not an officially supported Google product.