commit | 310d213777c86beedce8d37cb1f52123510d28f4 | [log] [tgz] |
---|---|---|
author | Le Hoang Quyen <lehoangquyen@chromium.org> | Wed Apr 09 08:29:47 2025 -0700 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed Apr 09 08:29:47 2025 -0700 |
tree | e324b4028e358083bd9ab022b51acf1e219c06f3 | |
parent | 8fc823fd5013aa765fbf829b877d26548521421a [diff] |
D3D11: assign separate native binding index for each stage. Previously we used the same D3D binding index counter for all stages even if some resources are not used in some stages. For example. a BindGroup with 3 buffers: - buffer A, visibility=Fragment - buffer B, visibility=Vertex - buffer C, visibility=Fragment They would be assigned to: - buffer A: PS slot 0. - VS slot 0 is skipped. - buffer B: VS slot 1. - PS slot 1 is skipped. - buffer C: PS slot 2. - VS slot 2 is skipped. It resulted in: - VS slot 0 and 2 would be wasted and wouldn't be used by any resource. - PS slot 1 would be wasted. This CL changes the binding indices' assignment logic such that each stage has its own counter. Thus, the above buffers would be assigned to: - buffer A: PS slot 0. - buffer B: VS slot 0. - buffer C: PS slot 1. This will also make the resources' stage specific indices continuous. It makes it possible to bind all resources in one D3D call if we want to in future. Bug: 42240704 Change-Id: Ib70c5f32ccbbdff03212bc2b7d3cc1b76154fc9c Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/234974 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
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.