Reland "[dawn][wire] Handle command chunking in the wire in more robustly." The new assertion added is too strict for the fuzzer, so removes it. Note that we already handled the case, I just thought that it would be ok to assert as well, but that causes the fuzzer to crash which is undesirable. This is a reland of commit 11b115b26569c8aa46781b4dac589ce17f5d6c89 Original change's description: > [dawn][wire] Handle command chunking in the wire in more robustly. > > - With the changes to make the wire more spontaneous, chunked > command serialization and handling need to be updated to work > in a multithreaded manner. Previously, the handler assumes that > once a chunked command is received, it will receive the entire > chunked command before it receives any other commands. This may > no longer be true, so we upgrade chunked commands into its own > command so with unique id's to ensure that we handle them > appropriately. > - This change also unifies the command id enums in the wire to a > single enum since chunked command handling may occur on both > the server and the client (though in practice in Chromium, > only the server->client may be multithreaded for now.) This > allows us to handle commands in a unified way and also ensures > that the command ids are now unique both direction. > > Bug: 412761856 > Change-Id: Ia1eb34d57c2e2fe0457c70aae9348bc051fce573 > Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/266475 > Reviewed-by: Corentin Wallez <cwallez@chromium.org> > Reviewed-by: Kai Ninomiya <kainino@chromium.org> > Commit-Queue: Loko Kung <lokokung@google.com> Bug: b:412761856 b:452575709 Change-Id: Ie9c6554908597362cc2576182e09bf49fc35a4b9 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/267295 Commit-Queue: Kai Ninomiya <kainino@chromium.org> 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.