These files, and several snippets of other files, are generated by Dawn (Chromium's WebGPU library):
The C header is mostly the same as the “upstream” webgpu.h, but native-specific elements are not included.
The C++ files are currently Dawn-specific, but included in Emscripten for better compatibility with Dawn: it has roughly the same API as Dawn's copy, but is included here because it is strongly tied to an exact webgpu.h revision.
Dawn additionally autogenerates two “snippets” that are used in Emscripten:
library_webgpu_enum_tables.js, which is pasted into library_webgpu.jswebgpu_struct_info.json, which is pasted into struct_info.json.Once that's done, the following file also needs to be rebaselined:
reference_struct_info.json: can be updated by running tests/runner other.test_gen_struct_info --rebaseline