dawn-cmake/generator/templates/dawn/wire/client
Corentin Wallez 0f97df8c53 dawn::wire::client: Track the object generation on the objects
Previously the ObjectAllocator was tracking the generation on the side
of the object. This was done to avoid the need to check that the objects
aren't null before accessing the generation in ClientHandlers. This is
only a very minor optimization for return commands so it is removed in
favor of simplifying the code.

The code is simplified in a bunch of place by getting the ObjectHandle
for an object directly (since it knows the generation now) instead of
walking the object graph returned by the allocator.

The ObjectBase class is also changed to store an ObjectHandle
interrnally that's only accessible via getters. Encapsulating the other
memebers will be done in follow-up CLs.

Also adds the generation to the ObjectBaseParams since all ObjectBases
now require it.

Bug: dawn:1451
Change-Id: Ic6c850fc989f715f7c80952ff447b7c29378cd27
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/93146
Reviewed-by: Loko Kung <lokokung@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-06-14 14:55:46 +00:00
..
ApiObjects.h tint->dawn: Move src/dawn_wire -> src/dawn/wire 2022-02-04 12:51:25 +00:00
ApiProcs.cpp dawn::wire::client: Track the object generation on the objects 2022-06-14 14:55:46 +00:00
ClientBase.h dawn::wire::client: Track the object generation on the objects 2022-06-14 14:55:46 +00:00
ClientHandlers.cpp dawn::wire::client: Track the object generation on the objects 2022-06-14 14:55:46 +00:00
ClientPrototypes.inc tint->dawn: Move src/dawn_wire -> src/dawn/wire 2022-02-04 12:51:25 +00:00