blob: 55bb4527a09fbee9b36b2924f15c91e6f932c310 [file] [log] [blame]
Austin Engc7f416c2019-01-15 20:49:53 +00001{
2 "_comment": [
3 "Copyright 2019 The Dawn Authors",
4 "",
5 "Licensed under the Apache License, Version 2.0 (the \"License\");",
6 "you may not use this file except in compliance with the License.",
7 "You may obtain a copy of the License at",
8 "",
9 " http://www.apache.org/licenses/LICENSE-2.0",
10 "",
11 "Unless required by applicable law or agreed to in writing, software",
12 "distributed under the License is distributed on an \"AS IS\" BASIS,",
13 "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.",
14 "See the License for the specific language governing permissions and",
15 "limitations under the License."
16 ],
17 "commands": {
18 "buffer map async": [
19 { "name": "buffer id", "type": "ObjectId" },
20 { "name": "request serial", "type": "uint32_t" },
Austin Eng6a5418a2019-07-19 16:01:48 +000021 { "name": "is write", "type": "bool" },
22 { "name": "handle create info length", "type": "uint64_t" },
23 { "name": "handle create info", "type": "uint8_t", "annotation": "const*", "length": "handle create info length", "skip_serialize": true}
Austin Engc7f416c2019-01-15 20:49:53 +000024 ],
Corentin Wallez67ab1ea2019-06-06 16:19:15 +000025 "buffer set sub data internal": [
26 {"name": "buffer id", "type": "ObjectId" },
27 {"name": "start", "type": "uint64_t"},
28 {"name": "count", "type": "uint64_t"},
29 {"name": "data", "type": "uint8_t", "annotation": "const*", "length": "count"}
30 ],
Austin Engc7f416c2019-01-15 20:49:53 +000031 "buffer update mapped data": [
32 { "name": "buffer id", "type": "ObjectId" },
Austin Eng6a5418a2019-07-19 16:01:48 +000033 { "name": "write flush info length", "type": "uint64_t" },
34 { "name": "write flush info", "type": "uint8_t", "annotation": "const*", "length": "write flush info length", "skip_serialize": true}
Austin Engc7f416c2019-01-15 20:49:53 +000035 ],
Austin Eng76e3de42019-05-22 18:49:59 +000036 "device create buffer mapped": [
37 { "name": "device", "type": "device" },
38 { "name": "descriptor", "type": "buffer descriptor", "annotation": "const*" },
Austin Eng6a5418a2019-07-19 16:01:48 +000039 { "name": "result", "type": "ObjectHandle", "handle_type": "buffer" },
40 { "name": "handle create info length", "type": "uint64_t" },
41 { "name": "handle create info", "type": "uint8_t", "annotation": "const*", "length": "handle create info length", "skip_serialize": true}
Austin Eng76e3de42019-05-22 18:49:59 +000042 ],
Austin Eng21eba762019-06-14 17:35:56 +000043 "device create buffer mapped async": [
44 { "name": "device", "type": "device" },
45 { "name": "descriptor", "type": "buffer descriptor", "annotation": "const*" },
46 { "name": "request serial", "type": "uint32_t" },
Austin Eng6a5418a2019-07-19 16:01:48 +000047 { "name": "result", "type": "ObjectHandle", "handle_type": "buffer" },
48 { "name": "handle create info length", "type": "uint64_t" },
49 { "name": "handle create info", "type": "uint8_t", "annotation": "const*", "length": "handle create info length", "skip_serialize": true}
Austin Eng21eba762019-06-14 17:35:56 +000050 ],
Austin Engc7f416c2019-01-15 20:49:53 +000051 "destroy object": [
52 { "name": "object type", "type": "ObjectType" },
53 { "name": "object id", "type": "ObjectId" }
54 ]
55 },
56 "return commands": {
57 "buffer map read async callback": [
Austin Eng1139d1c2019-01-30 03:00:17 +000058 { "name": "buffer", "type": "ObjectHandle", "handle_type": "buffer" },
Austin Engc7f416c2019-01-15 20:49:53 +000059 { "name": "request serial", "type": "uint32_t" },
60 { "name": "status", "type": "uint32_t" },
Austin Eng6a5418a2019-07-19 16:01:48 +000061 { "name": "initial data info length", "type": "uint64_t" },
62 { "name": "initial data info", "type": "uint8_t", "annotation": "const*", "length": "initial data info length", "skip_serialize": true }
Austin Engc7f416c2019-01-15 20:49:53 +000063 ],
64 "buffer map write async callback": [
Austin Eng1139d1c2019-01-30 03:00:17 +000065 { "name": "buffer", "type": "ObjectHandle", "handle_type": "buffer" },
Austin Engc7f416c2019-01-15 20:49:53 +000066 { "name": "request serial", "type": "uint32_t" },
Austin Eng6a5418a2019-07-19 16:01:48 +000067 { "name": "status", "type": "uint32_t" }
Austin Engc7f416c2019-01-15 20:49:53 +000068 ],
69 "device error callback": [
70 { "name": "message", "type": "char", "annotation": "const*", "length": "strlen" }
71 ],
72 "fence update completed value": [
Austin Eng1139d1c2019-01-30 03:00:17 +000073 { "name": "fence", "type": "ObjectHandle", "handle_type": "fence" },
Austin Engc7f416c2019-01-15 20:49:53 +000074 { "name": "value", "type": "uint64_t" }
75 ]
76 },
77 "special items": {
Corentin Wallez67ab1ea2019-06-06 16:19:15 +000078 "client_side_structures": [
79 "CreateBufferMappedResult"
80 ],
Austin Engc7f416c2019-01-15 20:49:53 +000081 "client_side_commands": [
Corentin Wallez67ab1ea2019-06-06 16:19:15 +000082 "BufferSetSubData",
Austin Engc7f416c2019-01-15 20:49:53 +000083 "FenceGetCompletedValue"
84 ],
Austin Eng1139d1c2019-01-30 03:00:17 +000085 "client_handwritten_commands": [
Corentin Wallez67ab1ea2019-06-06 16:19:15 +000086 "BufferSetSubData",
Austin Engc7f416c2019-01-15 20:49:53 +000087 "BufferUnmap",
Austin Eng6a5418a2019-07-19 16:01:48 +000088 "DeviceCreateBuffer",
Austin Eng740995c2019-05-15 18:55:22 +000089 "DeviceCreateBufferMapped",
Austin Eng21eba762019-06-14 17:35:56 +000090 "DeviceCreateBufferMappedAsync",
Austin Eng1cc38662019-03-06 22:42:22 +000091 "QueueCreateFence",
Austin Eng1139d1c2019-01-30 03:00:17 +000092 "FenceGetCompletedValue",
Austin Engc7f416c2019-01-15 20:49:53 +000093 "QueueSignal"
94 ],
95 "client_special_objects": [
96 "Buffer",
97 "Device",
98 "Fence"
99 ],
100 "server_custom_pre_handler_commands": [
101 "BufferUnmap"
102 ],
Austin Eng62e83972019-02-11 19:39:46 +0000103 "server_handwritten_commands": [
Austin Engc7f416c2019-01-15 20:49:53 +0000104 "QueueSignal"
105 ],
106 "server_reverse_lookup_objects": [
107 "Fence"
108 ]
109 }
110}