commit | f8037f8546f6338aa0af6fac76053804f778d59d | [log] [tgz] |
---|---|---|
author | Corentin Wallez <cwallez@chromium.org> | Thu Apr 04 18:36:39 2024 +0000 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Thu Apr 04 18:36:39 2024 +0000 |
tree | d9f6b3b7a9be5736054214fd42bb2d94f27a341f | |
parent | fd5af169c84dc98c3db466a6d5dfb7ca2f8832b6 [diff] |
Revert "Remove SwapChain from the API" This reverts commit 966c91706b9a39c30bd3fc24f9f776a02cda8aaf. Reason for revert: Make the Dawn LPM Fuzzer fail compilation. Original change's description: > Remove SwapChain from the API > > This applies the switch from manipulating a SwapChain object to calling > Surface::configure that was brung to the standard webgpu.h a couple of > months ago. > > I believe this needs a bit of extra work, but at this stage I need a > review from people more familiar with the codebase to tell me if I am > going in the right direction. > > The SwapChain object is still here, but no longer present in the API. > Instances of the swap chain are now owned by the surface object. The > test for surface capabilities is partly calling a method of the > PhysicalDevice in order to have backend-specific capabilities. > > So far I mostly tested with the Vulkan backend, though I tried to > provide a valid implementation for all backends. > > Reland changes: > This fixes commit 167600, which was causing lock issues because the > surface was failing at locking the device before calling it's internal > SwapChain's methods like Present and GetTexture. > > Bug: dawn:2320 > Change-Id: I6773c9de069ad4f4f93ad47ace6a5773665f4e92 > Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/179580 > Reviewed-by: Corentin Wallez <cwallez@chromium.org> > Reviewed-by: Austin Eng <enga@chromium.org> > Commit-Queue: Élie Michel <elie.michel.fr@gmail.com> # Not skipping CQ checks because original CL landed > 1 day ago. Bug: dawn:2320 Change-Id: Iaedbb29efec973b87a2255bf45516037e299f146 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/182400 Reviewed-by: Ben Clayton <bclayton@google.com> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@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.