| { |
| "_comment": [ |
| "Copyright 2019 The Dawn Authors", |
| "", |
| "Licensed under the Apache License, Version 2.0 (the \"License\");", |
| "you may not use this file except in compliance with the License.", |
| "You may obtain a copy of the License at", |
| "", |
| " http://www.apache.org/licenses/LICENSE-2.0", |
| "", |
| "Unless required by applicable law or agreed to in writing, software", |
| "distributed under the License is distributed on an \"AS IS\" BASIS,", |
| "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", |
| "See the License for the specific language governing permissions and", |
| "limitations under the License." |
| ], |
| "_todos": [ |
| "Remove usage of size_t because it is not network transparent" |
| ], |
| "commands": { |
| "buffer map async": [ |
| { "name": "buffer id", "type": "ObjectId" }, |
| { "name": "request serial", "type": "uint32_t" }, |
| { "name": "mode", "type": "map mode" }, |
| { "name": "offset", "type": "size_t"}, |
| { "name": "size", "type": "size_t"}, |
| { "name": "handle create info length", "type": "uint64_t" }, |
| { "name": "handle create info", "type": "uint8_t", "annotation": "const*", "length": "handle create info length", "skip_serialize": true} |
| ], |
| "buffer update mapped data": [ |
| { "name": "buffer id", "type": "ObjectId" }, |
| { "name": "write flush info length", "type": "uint64_t" }, |
| { "name": "write flush info", "type": "uint8_t", "annotation": "const*", "length": "write flush info length", "skip_serialize": true} |
| ], |
| "device create buffer": [ |
| { "name": "device", "type": "device" }, |
| { "name": "descriptor", "type": "buffer descriptor", "annotation": "const*" }, |
| { "name": "result", "type": "ObjectHandle", "handle_type": "buffer" }, |
| { "name": "handle create info length", "type": "uint64_t" }, |
| { "name": "handle create info", "type": "uint8_t", "annotation": "const*", "length": "handle create info length", "skip_serialize": true} |
| ], |
| "device pop error scope": [ |
| { "name": "device", "type": "device" }, |
| { "name": "request serial", "type": "uint64_t" } |
| ], |
| "destroy object": [ |
| { "name": "object type", "type": "ObjectType" }, |
| { "name": "object id", "type": "ObjectId" } |
| ], |
| "fence on completion": [ |
| { "name": "fence id", "type": "ObjectId" }, |
| { "name": "value", "type": "uint64_t" }, |
| { "name": "request serial", "type": "uint64_t" } |
| ], |
| "queue write buffer internal": [ |
| {"name": "queue id", "type": "ObjectId" }, |
| {"name": "buffer id", "type": "ObjectId" }, |
| {"name": "buffer offset", "type": "uint64_t"}, |
| {"name": "data", "type": "uint8_t", "annotation": "const*", "length": "size"}, |
| {"name": "size", "type": "size_t"} |
| ], |
| "queue write texture internal": [ |
| {"name": "queue id", "type": "ObjectId" }, |
| {"name": "destination", "type": "texture copy view", "annotation": "const*"}, |
| {"name": "data", "type": "uint8_t", "annotation": "const*", "length": "data size"}, |
| {"name": "data size", "type": "size_t"}, |
| {"name": "data layout", "type": "texture data layout", "annotation": "const*"}, |
| {"name": "writeSize", "type": "extent 3D", "annotation": "const*"} |
| ] |
| }, |
| "return commands": { |
| "buffer map async callback": [ |
| { "name": "buffer", "type": "ObjectHandle", "handle_type": "buffer" }, |
| { "name": "request serial", "type": "uint32_t" }, |
| { "name": "status", "type": "uint32_t" }, |
| { "name": "read initial data info length", "type": "uint64_t" }, |
| { "name": "read initial data info", "type": "uint8_t", "annotation": "const*", "length": "read initial data info length", "skip_serialize": true } |
| ], |
| "device uncaptured error callback": [ |
| { "name": "type", "type": "error type"}, |
| { "name": "message", "type": "char", "annotation": "const*", "length": "strlen" } |
| ], |
| "device lost callback" : [ |
| { "name": "message", "type": "char", "annotation": "const*", "length": "strlen" } |
| ], |
| "device pop error scope callback": [ |
| { "name": "request serial", "type": "uint64_t" }, |
| { "name": "type", "type": "error type" }, |
| { "name": "message", "type": "char", "annotation": "const*", "length": "strlen" } |
| ], |
| "fence on completion callback": [ |
| { "name": "fence", "type": "ObjectHandle", "handle_type": "fence" }, |
| { "name": "request serial", "type": "uint64_t" }, |
| { "name": "status", "type": "fence completion status" } |
| ], |
| "fence update completed value": [ |
| { "name": "fence", "type": "ObjectHandle", "handle_type": "fence" }, |
| { "name": "value", "type": "uint64_t" } |
| ] |
| }, |
| "special items": { |
| "client_side_structures": [ |
| "SurfaceDescriptorFromMetalLayer", |
| "SurfaceDescriptorFromWindowsHWND", |
| "SurfaceDescriptorFromXlib" |
| ], |
| "client_side_commands": [ |
| "BufferMapAsync", |
| "BufferGetConstMappedRange", |
| "BufferGetMappedRange", |
| "DeviceCreateBuffer", |
| "DevicePopErrorScope", |
| "DeviceSetDeviceLostCallback", |
| "DeviceSetUncapturedErrorCallback", |
| "FenceGetCompletedValue", |
| "FenceOnCompletion", |
| "QueueWriteBuffer", |
| "QueueWriteTexture" |
| ], |
| "client_handwritten_commands": [ |
| "BufferDestroy", |
| "BufferUnmap", |
| "DeviceCreateErrorBuffer", |
| "DeviceGetDefaultQueue", |
| "DeviceInjectError", |
| "DevicePushErrorScope", |
| "QueueCreateFence" |
| ], |
| "client_special_objects": [ |
| "Buffer", |
| "Device", |
| "Fence", |
| "Queue" |
| ], |
| "server_custom_pre_handler_commands": [ |
| "BufferDestroy", |
| "BufferUnmap" |
| ], |
| "server_handwritten_commands": [ |
| "QueueSignal" |
| ], |
| "server_reverse_lookup_objects": [ |
| "Fence" |
| ] |
| } |
| } |