{
    "_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": "mode", "type": "map mode" },
            { "name": "offset", "type": "uint64_t"},
            { "name": "size", "type": "uint64_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 id", "type": "ObjectId" },
            { "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 create compute pipeline async": [
            { "name": "device id", "type": "ObjectId" },
            { "name": "request serial", "type": "uint64_t" },
            { "name": "pipeline object handle", "type": "ObjectHandle", "handle_type": "compute pipeline"},
            { "name": "descriptor", "type": "compute pipeline descriptor", "annotation": "const*"}
        ],
        "device create render pipeline async": [
            { "name": "device id", "type": "ObjectId" },
            { "name": "request serial", "type": "uint64_t" },
            { "name": "pipeline object handle", "type": "ObjectHandle", "handle_type": "render pipeline"},
            { "name": "descriptor", "type": "render pipeline descriptor", "annotation": "const*"}
        ],
        "device pop error scope": [
            { "name": "device id", "type": "ObjectId" },
            { "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": "uint64_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": "uint64_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 create compute pipeline async callback": [
            { "name": "device", "type": "ObjectHandle", "handle_type": "device" },
            { "name": "request serial", "type": "uint64_t" },
            { "name": "status", "type": "create pipeline async status" },
            { "name": "message", "type": "char", "annotation": "const*", "length": "strlen" }
        ],
        "device create render pipeline async callback": [
            { "name": "device", "type": "ObjectHandle", "handle_type": "device" },
            { "name": "request serial", "type": "uint64_t" },
            { "name": "status", "type": "create pipeline async status" },
            { "name": "message", "type": "char", "annotation": "const*", "length": "strlen" }
        ],
        "device uncaptured error callback": [
            { "name": "device", "type": "ObjectHandle", "handle_type": "device" },
            { "name": "type", "type": "error type"},
            { "name": "message", "type": "char", "annotation": "const*", "length": "strlen" }
        ],
        "device lost callback" : [
            { "name": "device", "type": "ObjectHandle", "handle_type": "device" },
            { "name": "message", "type": "char", "annotation": "const*", "length": "strlen" }
        ],
        "device pop error scope callback": [
            { "name": "device", "type": "ObjectHandle", "handle_type": "device" },
            { "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",
            "DeviceCreateComputePipelineAsync",
            "DeviceCreateRenderPipelineAsync",
            "DevicePopErrorScope",
            "DeviceSetDeviceLostCallback",
            "DeviceSetUncapturedErrorCallback",
            "FenceGetCompletedValue",
            "FenceOnCompletion",
            "QueueWriteBuffer",
            "QueueWriteTexture"
        ],
        "client_handwritten_commands": [
            "BufferDestroy",
            "BufferUnmap",
            "DeviceCreateErrorBuffer",
            "DeviceGetDefaultQueue",
            "DeviceGetQueue",
            "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"
        ]
    }
}
