According to the WebGPU specification there are some missing readonly
attributes (subgroupMinSize, subgroupMaxSize, isFallbackAdapter) for
GPUAdapterInfo IDL interface.
See https://gpuweb.github.io/gpuweb/#gpuadapterinfo
Added the new readonly attributes:
- GPUAdapter 'info' attribute
https://gpuweb.github.io/gpuweb/#dom-gpuadapter-info
- GPUDevice 'adapterInfo' attribute
https://gpuweb.github.io/gpuweb/#dom-gpudevice-adapterinfo
Removed marked as the deprecated the following method and attribute from
GPUAdapter interface:
- 'requestAdapterInfo' method
- 'isFallbackAdapter' attribute
Testing: Improvements in WebGPU CTS expectations
- webgpu:api,operation,adapter,info:adapter_info:*
- webgpu:api,operation,adapter,info:device_matches_adapter:*
- webgpu:api,operation,adapter,info:same_object:*
- webgpu:api,operation,adapter,info:subgroup_sizes:*
- webgpu:api,operation,adapter,requestAdapter:requestAdapter:*
- webgpu:idl,javascript:*
Signed-off-by: Andrei Volykhin <andrei.volykhin@gmail.com>
These changes add compile-time assertions that:
* any type that implements the Serializable/Transferable trait has a
`[Serializable]` or `[Transferable]` annotation in the interface WebIDL
* any WebIDL interface with the `[Serializable]` or `[Transferable]`
annotation implements the corresponding trait
This is useful because it means that WebIDL definitions will be less
confusing if you're trying to figure out whether Servo supports
serializing/transferring a particular interface type. It also makes
fixing #21715 in the future a little bit easier, because the annotations
will remain up to date.
Testing: compile-time only; no point in writing tests for this since it
involves webidl codegen.
---------
Signed-off-by: Josh Matthews <josh@joshmatthews.net>