commit | 33d20bef34be43be79d2e6961e636b074df4aa85 | [log] [tgz] |
---|---|---|
author | Lokbondo Kung <lokokung@google.com> | Tue Jun 10 11:44:08 2025 -0700 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Tue Jun 10 11:44:08 2025 -0700 |
tree | 24b5e3216dbc8dcde1bdc4203d7083ae3cf835c4 | |
parent | d64f1fdd35a3fab0a0d46f658fd8ab17a43ac4af [diff] |
[dawn][native] Adds a way to fake an error after Device creation. - This is a follow up to: https://dawn-review.googlesource.com/c/dawn/+/245734 where the issues in the bugs below should be fixed. - The fuzz tests linked below were a result of an error happening after a Device was successfully allocated, but failed to initialize. This is possible in the fuzz tests because we allow Vulkan failure fuzzing. - Updates the device lost event to be updated appropriately when the device failed to create. Otherwise, when a device was created but initialize failed, the device lost would actually look like the device was destroyed. Now only the first |SetLost| on the event will be reflected, and hence users will see |FailedCreation|. - In order to better protect against this, this change adds a way to fake a failure in the frontend and adds relevant regression tests. - Note that as I was making this change, I also filed https://github.com/webgpu-native/webgpu-headers/issues/546 upstream because of the interaction between RequestDevice and the DeviceLostCallback when we have different callback modes for them. Bug: 421746158, 415350701 Change-Id: I3f2943c66d435b4bbbdca5fbb26c6c2ac388e160 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/245777 Commit-Queue: Brandon Jones <bajones@chromium.org> Auto-Submit: Loko Kung <lokokung@google.com> Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: 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.