{
    "_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 set sub data internal": [
            {"name": "buffer id", "type": "ObjectId" },
            {"name": "start", "type": "uint64_t"},
            {"name": "count", "type": "uint64_t"},
            {"name": "data", "type": "uint8_t", "annotation": "const*", "length": "count"}
        ],
        "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 mapped": [
            { "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" }
        ],
        "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 read async callback": [
            { "name": "buffer", "type": "ObjectHandle", "handle_type": "buffer" },
            { "name": "request serial", "type": "uint32_t" },
            { "name": "status", "type": "uint32_t" },
            { "name": "initial data info length", "type": "uint64_t" },
            { "name": "initial data info", "type": "uint8_t", "annotation": "const*", "length": "initial data info length", "skip_serialize": true }
        ],
        "buffer map write async callback": [
            { "name": "buffer", "type": "ObjectHandle", "handle_type": "buffer" },
            { "name": "request serial", "type": "uint32_t" },
            { "name": "status", "type": "uint32_t" }
        ],
        "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 update completed value": [
            { "name": "fence", "type": "ObjectHandle", "handle_type": "fence" },
            { "name": "value", "type": "uint64_t" }
        ]
    },
    "special items": {
        "client_side_structures": [
            "CreateBufferMappedResult",
            "SurfaceDescriptorFromMetalLayer",
            "SurfaceDescriptorFromWindowsHWND",
            "SurfaceDescriptorFromXlib"
        ],
        "client_side_commands": [
            "BufferMapAsync",
            "BufferMapReadAsync",
            "BufferMapWriteAsync",
            "BufferSetSubData",
            "BufferGetConstMappedRange",
            "BufferGetMappedRange",
            "DevicePopErrorScope",
            "DeviceSetDeviceLostCallback",
            "DeviceSetUncapturedErrorCallback",
            "FenceGetCompletedValue",
            "FenceOnCompletion",
            "QueueWriteBuffer",
            "QueueWriteTexture"
        ],
        "client_handwritten_commands": [
            "BufferDestroy",
            "BufferUnmap",
            "DeviceCreateBuffer",
            "DeviceCreateBufferMapped",
            "DeviceCreateErrorBuffer",
            "DeviceGetDefaultQueue",
            "DeviceInjectError",
            "DevicePushErrorScope",
            "QueueCreateFence",
            "QueueSignal"
        ],
        "client_special_objects": [
            "Buffer",
            "Device",
            "Fence",
            "Queue"
        ],
        "server_custom_pre_handler_commands": [
            "BufferDestroy",
            "BufferUnmap"
        ],
        "server_handwritten_commands": [
            "QueueSignal"
        ],
        "server_reverse_lookup_objects": [
            "Fence"
        ]
    }
}
