-
-
Notifications
You must be signed in to change notification settings - Fork 199
Closed
Description
In summary (notes for myself for later):
gpu.Interfaceshould aim to reflectdawn.jsonexcluding Dawn-specific methods (not super urgent, but we should make this change sometime), as this is whatwebgpu.hhas standardized on effectively. The only true standard is that what is in the web API, as it's likely to generally be a subset of native functionality. We can capture the standard web+native APIs in one unifiedgpu.InterfaceI believe.gpu.Interfaceshould havedestroyandreleasemethods for objects, but NOTreference, there is webgpu-native discussion about this reasoning but primarily it is a place where standardization has yet to happen. Regardless we would need this for correctness, and seems to be the way standardization is going.- Non-standard (Dawn-specific, Mach-specific, Crescent-specific, etc.) methods should be exposable via a
gpu.Interfaceimplementation, it only guarantees a standard set of methods is available not that more do not exist. Comptime checks can test if an implementation supports custom methods. - We will add Mach-specific methods (for now just ability to choose adapter) to
mach/gpu-dawn, implemented in our Dawn fork and part of the emittedwebgpu.h/dawn.jsoninfo. In the future could be things like raytracing etc that we haven't gotten upstreamed (or they don't want to upstream) yet.
lin72h