[webgpu][headers] Updates generated FreeMembers functions to match upstream.
- Upstream header generates the FreeMembers functions as psuedo "methods"
on the structs. This make ordering of procs typedefs and procs
different than the ones in Dawn. This change makes it so that Dawn's
generators now generate those functions the same way.
- A large portion of the changes in this is adding 'API` in front of
API functions for the wire code. This was done for two reasons:
1) It is more consistent with how native does things where the
implementation of the API functions are prefixed so that its
very obvious when scanning the headers.
2) Since the wire is using the `RefCounted` common class along
with the `RefCountedWithExternalCount` classes now, those
classes assume that the API version of `AddRef` and
`Release` are called with the API prefix. By doing this, it
actually simplifies all the special handling we had in the
generated code for these functions.
- Some fairly minor changes in the generators helpers was also made
to facilitate the other changes.
Change-Id: Ibdfed8b21a1a41a42fadc45018e8b33f4ac052c4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/247536
Commit-Queue: Loko Kung <lokokung@google.com>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Dawn is an open-source and cross-platform implementation of the WebGPU standard. More precisely it implements webgpu.h that is a one-to-one mapping with the WebGPU IDL. Dawn is meant to be integrated as part of a larger system and is the underlying implementation of WebGPU in Chromium.
Dawn provides several WebGPU building blocks:
webgpu.h version that Dawn implements.webgpu.h.Helpful links:
Developer documentation:
User documentation: (TODO, figure out what overlaps with the webgpu.h docs)
BSD 3-Clause License, please see LICENSE.
This is not an officially supported Google product.