[dawn][wire] Use size_t where applicable in dawn_wire.json
The use of size_t in Dawn's wire command definition went through a few
phases:
1. size_t was used with no specific validation, but this caused issues
when the client and the server are compiled with different pointer
sizes (this happens in rare cases on Android Webview).
2. uint64_t was used instead, with manual validation that the
narrowing to size_t was valid.
3. dawn.json started using size_t to match upstream headers, so
support for size_t was added to WireCmd.cpp with a check for the
narrowing done automatically during deserialization.
Most the commands in dawn_wire.json where not updated from 2 to 3 and
kept uint64_t as well as the manual checks against the max size_t.
Change them to use size_t in dawn_wire.json (except for GPU offsets into
buffers) and remove the redundant validation and casts.
Bug: 516336140
Change-Id: I3385dd08353715cad38cc6aaa6d567e8c827d65d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/311115
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@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.