Closed
Description
Most of the behavior of webgpu.h is the same as the WebGPU API (normative reference) but there's a couple places where webgpu.h has non-trivial differences with WebGPU, and it also has native-specific APIs. This is a tracking issue to create initial explainers / spec for these parts.
Things that are very different in native:
- Swapchain / Surface questions #24: surface creation and swapchains
-
Instance / adapters and device creation
not very different anymore -
Event loopFutures
Covered inAsynchronous Operations.md
- Figuring out lifetime management #9: lifetime management
Ownership.md
probably sufficient
Things that use callbacks (Futures) instead of promises:
should be sufficiently covered in Asynchronous Operations.md
- Buffer mapping
- Error reporting
- Device loss
-
Fence
doesn't exist anymore
Other:
-
WGPUBindGroupBindingDescriptor
(no sum types in C)
will get documented with Representation of GPUBindGroupLayoutEntry #438 / Representation of GPUBindGroupEntry #403 - How the regular part of webgpu.h relates the the WebGPU IDL
State that webgpu.h has the same behavior as the JS spec #452
but could use more docs still; tracked in:
Please document the relationship between webgpu.idl and webgpu.yml #484 - Add support for null targets in WGPUFragmentState #160 How to make holes in WebGPU sparse arrays that are plain C arrays.
2024-11-27: updates from @kainino0x in italics
- All items in the "needs docs" label (regardless of whether open or closed)