public static class WebGpuCapabilitiesWhat a WebGPU device can do, in the RHI's terms.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
A pure function of the limits and the enabled feature set, so a test can ask what the engine would do on a phone browser's numbers without owning a phone. That matters more here than for any other backend: WebGPU's guaranteed floor is what a large share of real devices report verbatim, and the fallback paths it forces are the ones nobody exercises by accident.
Everything absent is absent for a reason worth stating once, since a reader's first question is whether it was forgotten:
Geometry, tessellation and mesh shaders. WebGPU has vertex, fragment and compute, and no plan for more. Bindless. No unbounded binding arrays, so GPU-driven culling and material batching take their non-bindless path — the same one MoltenVK forces (ADR-011). Multi-draw indirect. One indirect call issues one draw. DrawIndexedIndirect with a count above one is refused rather than looped, so the cost is visible at the call site. Async compute and async transfer. WebGPU has exactly one queue, so all three of the RHI's submitters are it. Timeline semaphores, sparse resources, pipeline statistics, wireframe, float64, subgroups. None exist in WebGPU.
And two are present that a reader might not expect. Compute is always there — unlike WebGL2, which is the whole reason this backend is the better long-term web story. Dynamic rendering is always there too: WebGPU has no render-pass or framebuffer objects to fall back to, which is exactly what that capability reports.
Fields and properties (1)
public const int PushConstantSizeThe largest push-constant block the emulation supports, in bytes.
Methods (2)
public static GraphicsDeviceFeatures Describe(in WebGpuLimits reported, WgpuAdapterType adapter, Func<WgpuFeatureName, bool> hasFeature)What to report for a device with these limits and features.
public static WgpuFeatureName[] Wanted(Func<WgpuFeatureName, bool> available)The optional features the backend asks a device for.
Used by (6)
- NativeWebGpuBindingVixen.Graphics.WebGPU
- PushConstantRingVixen.Graphics.WebGPU
- WebGpuCommandListVixen.Graphics.WebGPU
- WebGpuCommandTestsVixen.Graphics.WebGPU.Tests
- WebGpuConversionTestsVixen.Graphics.WebGPU.Tests
- WebGpuDeviceVixen.Graphics.WebGPU