commit | 9bf7c8c67a5836212e5224739ac814ca5c549b84 | [log] [tgz] |
---|---|---|
author | Le Hoang Quyen <lehoangquyen@chromium.org> | Fri May 31 03:00:48 2024 +0000 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Fri May 31 03:00:48 2024 +0000 |
tree | 1e729a863c3c552fc0cbdfba1eeae96ad56b273d | |
parent | ad3653450e28b586b1a18e2ac25213e285f2234d [diff] |
Update DawnLoadResolveTexture's render pass compatibility spec Because Vulkan's render pass compatibility requires that if the render passes have more than one subpass then: - All attachments (color, input, resolve, depth/stencil) **must** be the same. We need to know that a render pipeline's color target has any resolve target or not in order to query the appropriate render pass. Previously, `ColorTargetStateExpandResolveTextureDawn` only told us whether a color target uses `ExpandResolveTexture` load op or not. But it didn't tell us whether the color target has a resolve target but uses another type of load op (e.g. `Load`). Consequencely this only enabled us to query a vulkan render pass with correct input attachments, but not resolve attachments. This CL updates the DawnLoadResolveTexture's spec: - If `ColorTargetStateExpandResolveTextureDawn` is chained to a render pipeline's ColorTargetState. Then it is implicitly implied that a resolve target is present at that location. - If the struct's enabled flag is true then it's understood that the respective color target does use `ExpandResolveTexture` load op. - If `ColorTargetStateExpandResolveTextureDawn` is not chained. Then it is implied that the corresponding color target doesn't have resolve texture. Bug: dawn:1710 Change-Id: I23115930dafdaf506995eaafa9bd4d0200e1f278 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/189980 Reviewed-by: Austin Eng <enga@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.