| commit | 527d3d7d000a5061f99e47aece623c72ae5711db | [log] [tgz] |
|---|---|---|
| author | Geoff Lang <geofflang@chromium.org> | Tue Sep 30 06:37:05 2025 -0700 |
| committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Tue Sep 30 06:37:05 2025 -0700 |
| tree | d9b37c4aa88fbe04a7004abb8822d43270d58ccf | |
| parent | 1e3bd5cc0d9d63e1098be292d2ae0a338d7bdf17 [diff] |
Refactor ShaderModule initialization into a "task" Refactor ShaderModule creation to have an Initialize function in the front-end which does BlobCache logic and shader module parsing within a lambda. This task is currently executed immediately in-thread and validation errors are stored in ShaderModuleBase. DeviceBase::CreateShaderModule always returns a ShaderModule unless there was an internal backend error. This task will be run asynchronously in the future. Asynchronously adding errors to error scopes is not completed yet so DeviceBase acquires all errors and consumes them immediately. Refactored WGPU backend ShaderModule to not use the Initialize method. Simply always create a shader module, don't try to optimize for creating one only in the non-error case. Bug:406522796 Change-Id: Ia8111eca4abf57de08a96d891a73fedb2d0edb44 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/251855 Reviewed-by: Loko Kung <lokokung@google.com> Commit-Queue: Geoff Lang <geofflang@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.