| { |
| "_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." |
| ], |
| "commands": { |
| "buffer map async": [ |
| { "name": "buffer id", "type": "ObjectId" }, |
| { "name": "request serial", "type": "uint32_t" }, |
| { "name": "start", "type": "uint32_t" }, |
| { "name": "size", "type": "uint32_t" }, |
| { "name": "is write", "type": "bool" } |
| ], |
| "buffer update mapped data": [ |
| { "name": "buffer id", "type": "ObjectId" }, |
| { "name": "data length", "type": "uint32_t" }, |
| { "name": "data", "type": "uint8_t", "annotation": "const*", "length": "data length" } |
| ], |
| "destroy object": [ |
| { "name": "object type", "type": "ObjectType" }, |
| { "name": "object id", "type": "ObjectId" } |
| ] |
| }, |
| "return commands": { |
| "buffer map read async callback": [ |
| { "name": "buffer", "type": "ObjectHandle" }, |
| { "name": "request serial", "type": "uint32_t" }, |
| { "name": "status", "type": "uint32_t" }, |
| { "name": "data length", "type": "uint32_t" }, |
| { "name": "data", "type": "uint8_t", "annotation": "const*", "length": "data length" } |
| ], |
| "buffer map write async callback": [ |
| { "name": "buffer", "type": "ObjectHandle" }, |
| { "name": "request serial", "type": "uint32_t" }, |
| { "name": "status", "type": "uint32_t" } |
| ], |
| "device error callback": [ |
| { "name": "message", "type": "char", "annotation": "const*", "length": "strlen" } |
| ], |
| "fence update completed value": [ |
| { "name": "fence", "type": "ObjectHandle" }, |
| { "name": "value", "type": "uint64_t" } |
| ] |
| }, |
| "special items": { |
| "client_side_commands": [ |
| "FenceGetCompletedValue" |
| ], |
| "client_proxied_commands": [ |
| "BufferUnmap", |
| "DeviceCreateFence", |
| "QueueSignal" |
| ], |
| "client_special_objects": [ |
| "Buffer", |
| "Device", |
| "Fence" |
| ], |
| "server_custom_pre_handler_commands": [ |
| "BufferUnmap" |
| ], |
| "server_custom_post_handler_commands": [ |
| "QueueSignal" |
| ], |
| "server_reverse_lookup_objects": [ |
| "Fence" |
| ] |
| } |
| } |