mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-05-14 11:21:40 +00:00
This CL implements RequestDevice and also has changes for Dawn to internally use wgpu::FeatureName enums, instead of strings. Some of the string handling is kept for now to support the deprecated creation path. GetFeatureInfo is added to the instance to get a name and description of the feature, for reporting in about://gpu. Dawn device toggles are now passed in an extension struct off of the device descriptor. This is only supported in dawn_native, and not dawn_wire, for now, since dawn_wire doesn't have a way to serialize lists of null-terminated const char*. To enable the client to check whether the toggle descriptor is supported, a `dawn-native` feature is added which is supported all the time with dawn_native, but not supported with dawn_wire. Feature `dawn-native` also enables a synchronous version of CreateDevice for convenience. Bug: dawn:160 Change-Id: Ifc195e7ea808c6c319021528ef4b36bd65583bff Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/72020 Reviewed-by: Loko Kung <lokokung@google.com> Commit-Queue: Austin Eng <enga@chromium.org>
599 B
599 B
Dawn Native
The dawn-native
feature enables additional functionality that is supported only
when the WebGPU implementation is dawn_native
.
Additional functionality:
-
wgpu::DawnTogglesDeviceDescriptor
may be chained onwgpu::DeviceDescriptor
on device creation to enable Dawn-specific toggles on the device. -
Synchronous
adapter.CreateDevice(const wgpu::DeviceDescriptor*)
may be called.
Notes:
- Enabling this feature in the
wgpu::DeviceDescriptor
does nothing, but its presence in the Adapter's set of supported features means that the additional functionality is supported.