commit | 8bb74b27cac44c1b5e9d0ee403f9961ff276e6e7 | [log] [tgz] |
---|---|---|
author | Elie Michel <elie.michel.fr@gmail.com> | Mon Apr 15 16:35:42 2024 +0000 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon Apr 15 16:35:42 2024 +0000 |
tree | a4957a4535e08623eab32c03a0ed8be82526e668 | |
parent | ca8aa50b1278e7b6b958288dbefe88e48b944937 [diff] |
Reland "Remove SwapChain from the API" This is a reland of commit 966c91706b9a39c30bd3fc24f9f776a02cda8aaf Reland with: - Missing length fields added in dawn.json - A blocklisting of Surface::GetCurrentTexture for the LPM fuzzer - Minor changes to comments 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> Bug: dawn:2320 Change-Id: I02800d940d374c57237839c651ce26725b17928f Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/182560 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Austin Eng <enga@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.