Add WGPUFuture, and implement for WorkDone in Metal + wire
This implements the WGPUFuture version of OnSubmittedWorkDone for the
Metal backend, as well as in the wire (over the old implementation).
This is a partial implementation of WGPUFuture. It sits alongside the
old API until it's complete and has all of the breaking API changes
we're going to make. (See bug dawn:2021.)
For more on WGPUFuture, see the design doc in bug dawn:1987.
Bug: dawn:1987, dawn:2021
Change-Id: If0c82279addf419ef16cc0280416ce2bfb71895f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/137502
Kokoro: Kokoro <noreply+kokoro@google.com>
Auto-Submit: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Loko Kung <lokokung@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
diff --git a/dawn_wire.json b/dawn_wire.json
index 5b78ea5..9137f2d 100644
--- a/dawn_wire.json
+++ b/dawn_wire.json
@@ -172,6 +172,7 @@
},
"special items": {
"client_side_structures": [
+ "FutureWaitInfo",
"SurfaceDescriptorFromMetalLayer",
"SurfaceDescriptorFromWindowsHWND",
"SurfaceDescriptorFromXlibWindow",
@@ -207,6 +208,7 @@
"QuerySetGetType",
"QuerySetGetCount",
"QueueOnSubmittedWorkDone",
+ "QueueOnSubmittedWorkDoneF",
"QueueWriteBuffer",
"QueueWriteTexture",
"TextureGetWidth",
@@ -226,6 +228,8 @@
"DeviceGetQueue",
"DeviceGetSupportedSurfaceUsage",
"DeviceInjectError",
+ "InstanceProcessEvents",
+ "InstanceWaitAny",
"SwapChainGetCurrentTexture"
],
"client_special_objects": [