diff --git a/xgl.py b/xgl.py
new file mode 100644
index 0000000..120d48b
--- /dev/null
+++ b/xgl.py
@@ -0,0 +1,816 @@
+"""XGL API description"""
+
+# Copyright (C) 2014 LunarG, Inc.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+
+class Param(object):
+    """A function parameter."""
+
+    def __init__(self, ty, name):
+        self.ty = ty
+        self.name = name
+
+    def c(self):
+        """Return the parameter in C."""
+        idx = self.ty.find("[")
+
+        # arrays have a different syntax
+        if idx >= 0:
+            return "%s %s%s" % (self.ty[:idx], self.name, self.ty[idx:])
+        else:
+            return "%s %s" % (self.ty, self.name)
+
+class Proto(object):
+    """A function prototype."""
+
+    def __init__(self, ret, name, params=()):
+        # the proto has only a param
+        if not isinstance(params, (list, tuple)):
+            params = (params,)
+
+        self.ret = ret
+        self.name = name
+        self.params = params
+
+    def c_params(self, need_type=True, need_name=True):
+        """Return the parameter list in C."""
+        if self.params and (need_type or need_name):
+            if need_type and need_name:
+                return ", ".join([param.c() for param in self.params])
+            elif need_type:
+                return ", ".join([param.ty for param in self.params])
+            else:
+                return ", ".join([param.name for param in self.params])
+        else:
+            return "void" if need_type else ""
+
+    def c_decl(self, name, attr="", typed=False, need_param_names=True):
+        """Return a named declaration in C."""
+        format_vals = (self.ret,
+                attr + " " if attr else "",
+                name,
+                self.c_params(need_name=need_param_names))
+
+        if typed:
+            return "%s (%s*%s)(%s)" % format_vals
+        else:
+            return "%s %s%s(%s)" % format_vals
+
+    def c_typedef(self, suffix="", attr=""):
+        """Return the typedef for the prototype in C."""
+        return self.c_decl(self.name + suffix, attr=attr, typed=True)
+
+    def c_func(self, prefix="", attr=""):
+        """Return the prototype in C."""
+        return self.c_decl(prefix + self.name, attr=attr, typed=False)
+
+    def c_call(self):
+        """Return a call to the prototype in C."""
+        return "%s(%s)" % (self.name, self.c_params(need_type=False))
+
+# XGL core API
+core = (
+    Proto("XGL_RESULT", "InitAndEnumerateGpus",
+        (Param("const XGL_APPLICATION_INFO*", "pAppInfo"),
+         Param("const XGL_ALLOC_CALLBACKS*", "pAllocCb"),
+         Param("XGL_UINT", "maxGpus"),
+         Param("XGL_UINT*", "pGpuCount"),
+         Param("XGL_PHYSICAL_GPU*", "pGpus"))),
+
+    Proto("XGL_RESULT", "GetGpuInfo",
+        (Param("XGL_PHYSICAL_GPU", "gpu"),
+         Param("XGL_PHYSICAL_GPU_INFO_TYPE", "infoType"),
+         Param("XGL_SIZE*", "pDataSize"),
+         Param("XGL_VOID*", "pData"))),
+
+    Proto("XGL_RESULT", "CreateDevice",
+        (Param("XGL_PHYSICAL_GPU", "gpu"),
+         Param("const XGL_DEVICE_CREATE_INFO*", "pCreateInfo"),
+         Param("XGL_DEVICE*", "pDevice"))),
+
+    Proto("XGL_RESULT", "DestroyDevice",
+        (Param("XGL_DEVICE", "device"))),
+
+    Proto("XGL_RESULT", "GetExtensionSupport",
+        (Param("XGL_PHYSICAL_GPU", "gpu"),
+         Param("const XGL_CHAR*", "pExtName"))),
+
+    Proto("XGL_RESULT", "GetDeviceQueue",
+        (Param("XGL_DEVICE", "device"),
+         Param("XGL_QUEUE_TYPE", "queueType"),
+         Param("XGL_UINT", "queueIndex"),
+         Param("XGL_QUEUE*", "pQueue"))),
+
+    Proto("XGL_RESULT", "QueueSubmit",
+        (Param("XGL_QUEUE", "queue"),
+         Param("XGL_UINT", "cmdBufferCount"),
+         Param("const XGL_CMD_BUFFER*", "pCmdBuffers"),
+         Param("XGL_UINT", "memRefCount"),
+         Param("const XGL_MEMORY_REF*", "pMemRefs"),
+         Param("XGL_FENCE", "fence"))),
+
+    Proto("XGL_RESULT", "QueueSetGlobalMemReferences",
+        (Param("XGL_QUEUE", "queue"),
+         Param("XGL_UINT", "memRefCount"),
+         Param("const XGL_MEMORY_REF*", "pMemRefs"))),
+
+    Proto("XGL_RESULT", "QueueWaitIdle",
+        (Param("XGL_QUEUE", "queue"))),
+
+    Proto("XGL_RESULT", "DeviceWaitIdle",
+        (Param("XGL_DEVICE", "device"))),
+
+    Proto("XGL_RESULT", "GetMemoryHeapCount",
+        (Param("XGL_DEVICE", "device"),
+         Param("XGL_UINT*", "pCount"))),
+
+    Proto("XGL_RESULT", "GetMemoryHeapInfo",
+        (Param("XGL_DEVICE", "device"),
+         Param("XGL_UINT", "heapId"),
+         Param("XGL_MEMORY_HEAP_INFO_TYPE", "infoType"),
+         Param("XGL_SIZE*", "pDataSize"),
+         Param("XGL_VOID*", "pData"))),
+
+    Proto("XGL_RESULT", "AllocMemory",
+        (Param("XGL_DEVICE", "device"),
+         Param("const XGL_MEMORY_ALLOC_INFO*", "pAllocInfo"),
+         Param("XGL_GPU_MEMORY*", "pMem"))),
+
+    Proto("XGL_RESULT", "FreeMemory",
+        (Param("XGL_GPU_MEMORY", "mem"))),
+
+    Proto("XGL_RESULT", "SetMemoryPriority",
+        (Param("XGL_GPU_MEMORY", "mem"),
+         Param("XGL_MEMORY_PRIORITY", "priority"))),
+
+    Proto("XGL_RESULT", "MapMemory",
+        (Param("XGL_GPU_MEMORY", "mem"),
+         Param("XGL_FLAGS", "flags"),
+         Param("XGL_VOID**", "ppData"))),
+
+    Proto("XGL_RESULT", "UnmapMemory",
+        (Param("XGL_GPU_MEMORY", "mem"))),
+
+    Proto("XGL_RESULT", "PinSystemMemory",
+        (Param("XGL_DEVICE", "device"),
+         Param("const XGL_VOID*", "pSysMem"),
+         Param("XGL_SIZE", "memSize"),
+         Param("XGL_GPU_MEMORY*", "pMem"))),
+
+    Proto("XGL_RESULT", "RemapVirtualMemoryPages",
+        (Param("XGL_DEVICE", "device"),
+         Param("XGL_UINT", "rangeCount"),
+         Param("const XGL_VIRTUAL_MEMORY_REMAP_RANGE*", "pRanges"),
+         Param("XGL_UINT", "preWaitSemaphoreCount"),
+         Param("const XGL_QUEUE_SEMAPHORE*", "pPreWaitSemaphores"),
+         Param("XGL_UINT", "postSignalSemaphoreCount"),
+         Param("const XGL_QUEUE_SEMAPHORE*", "pPostSignalSemaphores"))),
+
+    Proto("XGL_RESULT", "GetMultiGpuCompatibility",
+        (Param("XGL_PHYSICAL_GPU", "gpu0"),
+         Param("XGL_PHYSICAL_GPU", "gpu1"),
+         Param("XGL_GPU_COMPATIBILITY_INFO*", "pInfo"))),
+
+    Proto("XGL_RESULT", "OpenSharedMemory",
+        (Param("XGL_DEVICE", "device"),
+         Param("const XGL_MEMORY_OPEN_INFO*", "pOpenInfo"),
+         Param("XGL_GPU_MEMORY*", "pMem"))),
+
+    Proto("XGL_RESULT", "OpenSharedQueueSemaphore",
+        (Param("XGL_DEVICE", "device"),
+         Param("const XGL_QUEUE_SEMAPHORE_OPEN_INFO*", "pOpenInfo"),
+         Param("XGL_QUEUE_SEMAPHORE*", "pSemaphore"))),
+
+    Proto("XGL_RESULT", "OpenPeerMemory",
+        (Param("XGL_DEVICE", "device"),
+         Param("const XGL_PEER_MEMORY_OPEN_INFO*", "pOpenInfo"),
+         Param("XGL_GPU_MEMORY*", "pMem"))),
+
+    Proto("XGL_RESULT", "OpenPeerImage",
+        (Param("XGL_DEVICE", "device"),
+         Param("const XGL_PEER_IMAGE_OPEN_INFO*", "pOpenInfo"),
+         Param("XGL_IMAGE*", "pImage"),
+         Param("XGL_GPU_MEMORY*", "pMem"))),
+
+    Proto("XGL_RESULT", "DestroyObject",
+        (Param("XGL_OBJECT", "object"))),
+
+    Proto("XGL_RESULT", "GetObjectInfo",
+        (Param("XGL_BASE_OBJECT", "object"),
+         Param("XGL_OBJECT_INFO_TYPE", "infoType"),
+         Param("XGL_SIZE*", "pDataSize"),
+         Param("XGL_VOID*", "pData"))),
+
+    Proto("XGL_RESULT", "BindObjectMemory",
+        (Param("XGL_OBJECT", "object"),
+         Param("XGL_GPU_MEMORY", "mem"),
+         Param("XGL_GPU_SIZE", "offset"))),
+
+    Proto("XGL_RESULT", "CreateFence",
+        (Param("XGL_DEVICE", "device"),
+         Param("const XGL_FENCE_CREATE_INFO*", "pCreateInfo"),
+         Param("XGL_FENCE*", "pFence"))),
+
+    Proto("XGL_RESULT", "GetFenceStatus",
+        (Param("XGL_FENCE", "fence"))),
+
+    Proto("XGL_RESULT", "WaitForFences",
+        (Param("XGL_DEVICE", "device"),
+         Param("XGL_UINT", "fenceCount"),
+         Param("const XGL_FENCE*", "pFences"),
+         Param("XGL_BOOL", "waitAll"),
+         Param("XGL_UINT64", "timeout"))),
+
+    Proto("XGL_RESULT", "CreateQueueSemaphore",
+        (Param("XGL_DEVICE", "device"),
+         Param("const XGL_QUEUE_SEMAPHORE_CREATE_INFO*", "pCreateInfo"),
+         Param("XGL_QUEUE_SEMAPHORE*", "pSemaphore"))),
+
+    Proto("XGL_RESULT", "SignalQueueSemaphore",
+        (Param("XGL_QUEUE", "queue"),
+         Param("XGL_QUEUE_SEMAPHORE", "semaphore"))),
+
+    Proto("XGL_RESULT", "WaitQueueSemaphore",
+        (Param("XGL_QUEUE", "queue"),
+         Param("XGL_QUEUE_SEMAPHORE", "semaphore"))),
+
+    Proto("XGL_RESULT", "CreateEvent",
+        (Param("XGL_DEVICE", "device"),
+         Param("const XGL_EVENT_CREATE_INFO*", "pCreateInfo"),
+         Param("XGL_EVENT*", "pEvent"))),
+
+    Proto("XGL_RESULT", "GetEventStatus",
+        (Param("XGL_EVENT", "event"))),
+
+    Proto("XGL_RESULT", "SetEvent",
+        (Param("XGL_EVENT", "event"))),
+
+    Proto("XGL_RESULT", "ResetEvent",
+        (Param("XGL_EVENT", "event"))),
+
+    Proto("XGL_RESULT", "CreateQueryPool",
+        (Param("XGL_DEVICE", "device"),
+         Param("const XGL_QUERY_POOL_CREATE_INFO*", "pCreateInfo"),
+         Param("XGL_QUERY_POOL*", "pQueryPool"))),
+
+    Proto("XGL_RESULT", "GetQueryPoolResults",
+        (Param("XGL_QUERY_POOL", "queryPool"),
+         Param("XGL_UINT", "startQuery"),
+         Param("XGL_UINT", "queryCount"),
+         Param("XGL_SIZE*", "pDataSize"),
+         Param("XGL_VOID*", "pData"))),
+
+    Proto("XGL_RESULT", "GetFormatInfo",
+        (Param("XGL_DEVICE", "device"),
+         Param("XGL_FORMAT", "format"),
+         Param("XGL_FORMAT_INFO_TYPE", "infoType"),
+         Param("XGL_SIZE*", "pDataSize"),
+         Param("XGL_VOID*", "pData"))),
+
+    Proto("XGL_RESULT", "CreateImage",
+        (Param("XGL_DEVICE", "device"),
+         Param("const XGL_IMAGE_CREATE_INFO*", "pCreateInfo"),
+         Param("XGL_IMAGE*", "pImage"))),
+
+    Proto("XGL_RESULT", "GetImageSubresourceInfo",
+        (Param("XGL_IMAGE", "image"),
+         Param("const XGL_IMAGE_SUBRESOURCE*", "pSubresource"),
+         Param("XGL_SUBRESOURCE_INFO_TYPE", "infoType"),
+         Param("XGL_SIZE*", "pDataSize"),
+         Param("XGL_VOID*", "pData"))),
+
+    Proto("XGL_RESULT", "CreateImageView",
+        (Param("XGL_DEVICE", "device"),
+         Param("const XGL_IMAGE_VIEW_CREATE_INFO*", "pCreateInfo"),
+         Param("XGL_IMAGE_VIEW*", "pView"))),
+
+    Proto("XGL_RESULT", "CreateColorAttachmentView",
+        (Param("XGL_DEVICE", "device"),
+         Param("const XGL_COLOR_ATTACHMENT_VIEW_CREATE_INFO*", "pCreateInfo"),
+         Param("XGL_COLOR_ATTACHMENT_VIEW*", "pView"))),
+
+    Proto("XGL_RESULT", "CreateDepthStencilView",
+        (Param("XGL_DEVICE", "device"),
+         Param("const XGL_DEPTH_STENCIL_VIEW_CREATE_INFO*", "pCreateInfo"),
+         Param("XGL_DEPTH_STENCIL_VIEW*", "pView"))),
+
+    Proto("XGL_RESULT", "CreateShader",
+        (Param("XGL_DEVICE", "device"),
+         Param("const XGL_SHADER_CREATE_INFO*", "pCreateInfo"),
+         Param("XGL_SHADER*", "pShader"))),
+
+    Proto("XGL_RESULT", "CreateGraphicsPipeline",
+        (Param("XGL_DEVICE", "device"),
+         Param("const XGL_GRAPHICS_PIPELINE_CREATE_INFO*", "pCreateInfo"),
+         Param("XGL_PIPELINE*", "pPipeline"))),
+
+    Proto("XGL_RESULT", "CreateComputePipeline",
+        (Param("XGL_DEVICE", "device"),
+         Param("const XGL_COMPUTE_PIPELINE_CREATE_INFO*", "pCreateInfo"),
+         Param("XGL_PIPELINE*", "pPipeline"))),
+
+    Proto("XGL_RESULT", "StorePipeline",
+        (Param("XGL_PIPELINE", "pipeline"),
+         Param("XGL_SIZE*", "pDataSize"),
+         Param("XGL_VOID*", "pData"))),
+
+    Proto("XGL_RESULT", "LoadPipeline",
+        (Param("XGL_DEVICE", "device"),
+         Param("XGL_SIZE", "dataSize"),
+         Param("const XGL_VOID*", "pData"),
+         Param("XGL_PIPELINE*", "pPipeline"))),
+
+    Proto("XGL_RESULT", "CreatePipelineDelta",
+        (Param("XGL_DEVICE", "device"),
+         Param("XGL_PIPELINE", "p1"),
+         Param("XGL_PIPELINE", "p2"),
+         Param("XGL_PIPELINE_DELTA*", "delta"))),
+
+    Proto("XGL_RESULT", "CreateSampler",
+        (Param("XGL_DEVICE", "device"),
+         Param("const XGL_SAMPLER_CREATE_INFO*", "pCreateInfo"),
+         Param("XGL_SAMPLER*", "pSampler"))),
+
+    Proto("XGL_RESULT", "CreateDescriptorSet",
+        (Param("XGL_DEVICE", "device"),
+         Param("const XGL_DESCRIPTOR_SET_CREATE_INFO*", "pCreateInfo"),
+         Param("XGL_DESCRIPTOR_SET*", "pDescriptorSet"))),
+
+    Proto("XGL_VOID", "BeginDescriptorSetUpdate",
+        (Param("XGL_DESCRIPTOR_SET", "descriptorSet"))),
+
+    Proto("XGL_VOID", "EndDescriptorSetUpdate",
+        (Param("XGL_DESCRIPTOR_SET", "descriptorSet"))),
+
+    Proto("XGL_VOID", "AttachSamplerDescriptors",
+        (Param("XGL_DESCRIPTOR_SET", "descriptorSet"),
+         Param("XGL_UINT", "startSlot"),
+         Param("XGL_UINT", "slotCount"),
+         Param("const XGL_SAMPLER*", "pSamplers"))),
+
+    Proto("XGL_VOID", "AttachImageViewDescriptors",
+        (Param("XGL_DESCRIPTOR_SET", "descriptorSet"),
+         Param("XGL_UINT", "startSlot"),
+         Param("XGL_UINT", "slotCount"),
+         Param("const XGL_IMAGE_VIEW_ATTACH_INFO*", "pImageViews"))),
+
+    Proto("XGL_VOID", "AttachMemoryViewDescriptors",
+        (Param("XGL_DESCRIPTOR_SET", "descriptorSet"),
+         Param("XGL_UINT", "startSlot"),
+         Param("XGL_UINT", "slotCount"),
+         Param("const XGL_MEMORY_VIEW_ATTACH_INFO*", "pMemViews"))),
+
+    Proto("XGL_VOID", "AttachNestedDescriptors",
+        (Param("XGL_DESCRIPTOR_SET", "descriptorSet"),
+         Param("XGL_UINT", "startSlot"),
+         Param("XGL_UINT", "slotCount"),
+         Param("const XGL_DESCRIPTOR_SET_ATTACH_INFO*", "pNestedDescriptorSets"))),
+
+    Proto("XGL_VOID", "ClearDescriptorSetSlots",
+        (Param("XGL_DESCRIPTOR_SET", "descriptorSet"),
+         Param("XGL_UINT", "startSlot"),
+         Param("XGL_UINT", "slotCount"))),
+
+    Proto("XGL_RESULT", "CreateViewportState",
+        (Param("XGL_DEVICE", "device"),
+         Param("const XGL_VIEWPORT_STATE_CREATE_INFO*", "pCreateInfo"),
+         Param("XGL_VIEWPORT_STATE_OBJECT*", "pState"))),
+
+    Proto("XGL_RESULT", "CreateRasterState",
+        (Param("XGL_DEVICE", "device"),
+         Param("const XGL_RASTER_STATE_CREATE_INFO*", "pCreateInfo"),
+         Param("XGL_RASTER_STATE_OBJECT*", "pState"))),
+
+    Proto("XGL_RESULT", "CreateMsaaState",
+        (Param("XGL_DEVICE", "device"),
+         Param("const XGL_MSAA_STATE_CREATE_INFO*", "pCreateInfo"),
+         Param("XGL_MSAA_STATE_OBJECT*", "pState"))),
+
+    Proto("XGL_RESULT", "CreateColorBlendState",
+        (Param("XGL_DEVICE", "device"),
+         Param("const XGL_COLOR_BLEND_STATE_CREATE_INFO*", "pCreateInfo"),
+         Param("XGL_COLOR_BLEND_STATE_OBJECT*", "pState"))),
+
+    Proto("XGL_RESULT", "CreateDepthStencilState",
+        (Param("XGL_DEVICE", "device"),
+         Param("const XGL_DEPTH_STENCIL_STATE_CREATE_INFO*", "pCreateInfo"),
+         Param("XGL_DEPTH_STENCIL_STATE_OBJECT*", "pState"))),
+
+    Proto("XGL_RESULT", "CreateCommandBuffer",
+        (Param("XGL_DEVICE", "device"),
+         Param("const XGL_CMD_BUFFER_CREATE_INFO*", "pCreateInfo"),
+         Param("XGL_CMD_BUFFER*", "pCmdBuffer"))),
+
+    Proto("XGL_RESULT", "BeginCommandBuffer",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_FLAGS", "flags"))),
+
+    Proto("XGL_RESULT", "EndCommandBuffer",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"))),
+
+    Proto("XGL_RESULT", "ResetCommandBuffer",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"))),
+
+    Proto("XGL_VOID", "CmdBindPipeline",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_PIPELINE_BIND_POINT", "pipelineBindPoint"),
+         Param("XGL_PIPELINE", "pipeline"))),
+
+    Proto("XGL_VOID", "CmdBindPipelineDelta",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_PIPELINE_BIND_POINT", "pipelineBindPoint"),
+         Param("XGL_PIPELINE_DELTA", "delta"))),
+
+    Proto("XGL_VOID", "CmdBindStateObject",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_STATE_BIND_POINT", "stateBindPoint"),
+         Param("XGL_STATE_OBJECT", "state"))),
+
+    Proto("XGL_VOID", "CmdBindDescriptorSet",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_PIPELINE_BIND_POINT", "pipelineBindPoint"),
+         Param("XGL_UINT", "index"),
+         Param("XGL_DESCRIPTOR_SET", "descriptorSet"),
+         Param("XGL_UINT", "slotOffset"))),
+
+    Proto("XGL_VOID", "CmdBindDynamicMemoryView",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_PIPELINE_BIND_POINT", "pipelineBindPoint"),
+         Param("const XGL_MEMORY_VIEW_ATTACH_INFO*", "pMemView"))),
+
+    Proto("XGL_VOID", "CmdBindIndexData",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_GPU_MEMORY", "mem"),
+         Param("XGL_GPU_SIZE", "offset"),
+         Param("XGL_INDEX_TYPE", "indexType"))),
+
+    Proto("XGL_VOID", "CmdBindAttachments",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_UINT", "colorAttachmentCount"),
+         Param("const XGL_COLOR_ATTACHMENT_BIND_INFO*", "pColorAttachments"),
+         Param("const XGL_DEPTH_STENCIL_BIND_INFO*", "pDepthStencilAttachment"))),
+
+    Proto("XGL_VOID", "CmdPrepareMemoryRegions",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_UINT", "transitionCount"),
+         Param("const XGL_MEMORY_STATE_TRANSITION*", "pStateTransitions"))),
+
+    Proto("XGL_VOID", "CmdPrepareImages",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_UINT", "transitionCount"),
+         Param("const XGL_IMAGE_STATE_TRANSITION*", "pStateTransitions"))),
+
+    Proto("XGL_VOID", "CmdDraw",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_UINT", "firstVertex"),
+         Param("XGL_UINT", "vertexCount"),
+         Param("XGL_UINT", "firstInstance"),
+         Param("XGL_UINT", "instanceCount"))),
+
+    Proto("XGL_VOID", "CmdDrawIndexed",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_UINT", "firstIndex"),
+         Param("XGL_UINT", "indexCount"),
+         Param("XGL_INT", "vertexOffset"),
+         Param("XGL_UINT", "firstInstance"),
+         Param("XGL_UINT", "instanceCount"))),
+
+    Proto("XGL_VOID", "CmdDrawIndirect",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_GPU_MEMORY", "mem"),
+         Param("XGL_GPU_SIZE", "offset"),
+         Param("XGL_UINT32", "count"),
+         Param("XGL_UINT32", "stride"))),
+
+    Proto("XGL_VOID", "CmdDrawIndexedIndirect",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_GPU_MEMORY", "mem"),
+         Param("XGL_GPU_SIZE", "offset"),
+         Param("XGL_UINT32", "count"),
+         Param("XGL_UINT32", "stride"))),
+
+    Proto("XGL_VOID", "CmdDispatch",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_UINT", "x"),
+         Param("XGL_UINT", "y"),
+         Param("XGL_UINT", "z"))),
+
+    Proto("XGL_VOID", "CmdDispatchIndirect",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_GPU_MEMORY", "mem"),
+         Param("XGL_GPU_SIZE", "offset"))),
+
+    Proto("XGL_VOID", "CmdCopyMemory",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_GPU_MEMORY", "srcMem"),
+         Param("XGL_GPU_MEMORY", "destMem"),
+         Param("XGL_UINT", "regionCount"),
+         Param("const XGL_MEMORY_COPY*", "pRegions"))),
+
+    Proto("XGL_VOID", "CmdCopyImage",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_IMAGE", "srcImage"),
+         Param("XGL_IMAGE", "destImage"),
+         Param("XGL_UINT", "regionCount"),
+         Param("const XGL_IMAGE_COPY*", "pRegions"))),
+
+    Proto("XGL_VOID", "CmdCopyMemoryToImage",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_GPU_MEMORY", "srcMem"),
+         Param("XGL_IMAGE", "destImage"),
+         Param("XGL_UINT", "regionCount"),
+         Param("const XGL_MEMORY_IMAGE_COPY*", "pRegions"))),
+
+    Proto("XGL_VOID", "CmdCopyImageToMemory",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_IMAGE", "srcImage"),
+         Param("XGL_GPU_MEMORY", "destMem"),
+         Param("XGL_UINT", "regionCount"),
+         Param("const XGL_MEMORY_IMAGE_COPY*", "pRegions"))),
+
+    Proto("XGL_VOID", "CmdCloneImageData",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_IMAGE", "srcImage"),
+         Param("XGL_IMAGE_STATE", "srcImageState"),
+         Param("XGL_IMAGE", "destImage"),
+         Param("XGL_IMAGE_STATE", "destImageState"))),
+
+    Proto("XGL_VOID", "CmdUpdateMemory",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_GPU_MEMORY", "destMem"),
+         Param("XGL_GPU_SIZE", "destOffset"),
+         Param("XGL_GPU_SIZE", "dataSize"),
+         Param("const XGL_UINT32*", "pData"))),
+
+    Proto("XGL_VOID", "CmdFillMemory",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_GPU_MEMORY", "destMem"),
+         Param("XGL_GPU_SIZE", "destOffset"),
+         Param("XGL_GPU_SIZE", "fillSize"),
+         Param("XGL_UINT32", "data"))),
+
+    Proto("XGL_VOID", "CmdClearColorImage",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_IMAGE", "image"),
+         Param("const XGL_FLOAT[4]", "color"),
+         Param("XGL_UINT", "rangeCount"),
+         Param("const XGL_IMAGE_SUBRESOURCE_RANGE*", "pRanges"))),
+
+    Proto("XGL_VOID", "CmdClearColorImageRaw",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_IMAGE", "image"),
+         Param("const XGL_UINT32[4]", "color"),
+         Param("XGL_UINT", "rangeCount"),
+         Param("const XGL_IMAGE_SUBRESOURCE_RANGE*", "pRanges"))),
+
+    Proto("XGL_VOID", "CmdClearDepthStencil",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_IMAGE", "image"),
+         Param("XGL_FLOAT", "depth"),
+         Param("XGL_UINT32", "stencil"),
+         Param("XGL_UINT", "rangeCount"),
+         Param("const XGL_IMAGE_SUBRESOURCE_RANGE*", "pRanges"))),
+
+    Proto("XGL_VOID", "CmdResolveImage",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_IMAGE", "srcImage"),
+         Param("XGL_IMAGE", "destImage"),
+         Param("XGL_UINT", "rectCount"),
+         Param("const XGL_IMAGE_RESOLVE*", "pRects"))),
+
+    Proto("XGL_VOID", "CmdSetEvent",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_EVENT", "event"))),
+
+    Proto("XGL_VOID", "CmdResetEvent",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_EVENT", "event"))),
+
+    Proto("XGL_VOID", "CmdMemoryAtomic",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_GPU_MEMORY", "destMem"),
+         Param("XGL_GPU_SIZE", "destOffset"),
+         Param("XGL_UINT64", "srcData"),
+         Param("XGL_ATOMIC_OP", "atomicOp"))),
+
+    Proto("XGL_VOID", "CmdBeginQuery",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_QUERY_POOL", "queryPool"),
+         Param("XGL_UINT", "slot"),
+         Param("XGL_FLAGS", "flags"))),
+
+    Proto("XGL_VOID", "CmdEndQuery",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_QUERY_POOL", "queryPool"),
+         Param("XGL_UINT", "slot"))),
+
+    Proto("XGL_VOID", "CmdResetQueryPool",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_QUERY_POOL", "queryPool"),
+         Param("XGL_UINT", "startQuery"),
+         Param("XGL_UINT", "queryCount"))),
+
+    Proto("XGL_VOID", "CmdWriteTimestamp",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_TIMESTAMP_TYPE", "timestampType"),
+         Param("XGL_GPU_MEMORY", "destMem"),
+         Param("XGL_GPU_SIZE", "destOffset"))),
+
+    Proto("XGL_VOID", "CmdInitAtomicCounters",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_PIPELINE_BIND_POINT", "pipelineBindPoint"),
+         Param("XGL_UINT", "startCounter"),
+         Param("XGL_UINT", "counterCount"),
+         Param("const XGL_UINT32*", "pData"))),
+
+    Proto("XGL_VOID", "CmdLoadAtomicCounters",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_PIPELINE_BIND_POINT", "pipelineBindPoint"),
+         Param("XGL_UINT", "startCounter"),
+         Param("XGL_UINT", "counterCount"),
+         Param("XGL_GPU_MEMORY", "srcMem"),
+         Param("XGL_GPU_SIZE", "srcOffset"))),
+
+    Proto("XGL_VOID", "CmdSaveAtomicCounters",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("XGL_PIPELINE_BIND_POINT", "pipelineBindPoint"),
+         Param("XGL_UINT", "startCounter"),
+         Param("XGL_UINT", "counterCount"),
+         Param("XGL_GPU_MEMORY", "destMem"),
+         Param("XGL_GPU_SIZE", "destOffset"))),
+
+    Proto("XGL_RESULT", "DbgSetValidationLevel",
+        (Param("XGL_DEVICE", "device"),
+         Param("XGL_VALIDATION_LEVEL", "validationLevel"))),
+
+    Proto("XGL_RESULT", "DbgRegisterMsgCallback",
+        (Param("XGL_DBG_MSG_CALLBACK_FUNCTION", "pfnMsgCallback"),
+         Param("XGL_VOID*", "pUserData"))),
+
+    Proto("XGL_RESULT", "DbgUnregisterMsgCallback",
+        (Param("XGL_DBG_MSG_CALLBACK_FUNCTION", "pfnMsgCallback"))),
+
+    Proto("XGL_RESULT", "DbgSetMessageFilter",
+        (Param("XGL_DEVICE", "device"),
+         Param("XGL_INT", "msgCode"),
+         Param("XGL_DBG_MSG_FILTER", "filter"))),
+
+    Proto("XGL_RESULT", "DbgSetObjectTag",
+        (Param("XGL_BASE_OBJECT", "object"),
+         Param("XGL_SIZE", "tagSize"),
+         Param("const XGL_VOID*", "pTag"))),
+
+    Proto("XGL_RESULT", "DbgSetGlobalOption",
+        (Param("XGL_DBG_GLOBAL_OPTION", "dbgOption"),
+         Param("XGL_SIZE", "dataSize"),
+         Param("const XGL_VOID*", "pData"))),
+
+    Proto("XGL_RESULT", "DbgSetDeviceOption",
+        (Param("XGL_DEVICE", "device"),
+         Param("XGL_DBG_DEVICE_OPTION", "dbgOption"),
+         Param("XGL_SIZE", "dataSize"),
+         Param("const XGL_VOID*", "pData"))),
+
+    Proto("XGL_VOID", "CmdDbgMarkerBegin",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"),
+         Param("const XGL_CHAR*", "pMarker"))),
+
+    Proto("XGL_VOID", "CmdDbgMarkerEnd",
+        (Param("XGL_CMD_BUFFER", "cmdBuffer"))),
+)
+
+# the dispatch table defined for ICDs
+# XXX figure out the real order
+icd_dispatch_table = (
+    "InitAndEnumerateGpus",
+    "GetGpuInfo",
+    "CreateDevice",
+    "DestroyDevice",
+    "GetExtensionSupport",
+    "GetDeviceQueue",
+    "QueueSubmit",
+    "QueueSetGlobalMemReferences",
+    "QueueWaitIdle",
+    "DeviceWaitIdle",
+    "GetMemoryHeapCount",
+    "GetMemoryHeapInfo",
+    "AllocMemory",
+    "FreeMemory",
+    "SetMemoryPriority",
+    "MapMemory",
+    "UnmapMemory",
+    "PinSystemMemory",
+    "RemapVirtualMemoryPages",
+    "GetMultiGpuCompatibility",
+    "OpenSharedMemory",
+    "OpenSharedQueueSemaphore",
+    "OpenPeerMemory",
+    "OpenPeerImage",
+    "DestroyObject",
+    "GetObjectInfo",
+    "BindObjectMemory",
+    "CreateFence",
+    "GetFenceStatus",
+    "WaitForFences",
+    "CreateQueueSemaphore",
+    "SignalQueueSemaphore",
+    "WaitQueueSemaphore",
+    "CreateEvent",
+    "GetEventStatus",
+    "SetEvent",
+    "ResetEvent",
+    "CreateQueryPool",
+    "GetQueryPoolResults",
+    "GetFormatInfo",
+    "CreateImage",
+    "GetImageSubresourceInfo",
+    "CreateImageView",
+    "CreateColorAttachmentView",
+    "CreateDepthStencilView",
+    "CreateShader",
+    "CreateGraphicsPipeline",
+    "CreateComputePipeline",
+    "StorePipeline",
+    "LoadPipeline",
+    "CreatePipelineDelta",
+    "CreateSampler",
+    "CreateDescriptorSet",
+    "BeginDescriptorSetUpdate",
+    "EndDescriptorSetUpdate",
+    "AttachSamplerDescriptors",
+    "AttachImageViewDescriptors",
+    "AttachMemoryViewDescriptors",
+    "AttachNestedDescriptors",
+    "ClearDescriptorSetSlots",
+    "CreateViewportState",
+    "CreateRasterState",
+    "CreateMsaaState",
+    "CreateColorBlendState",
+    "CreateDepthStencilState",
+    "CreateCommandBuffer",
+    "BeginCommandBuffer",
+    "EndCommandBuffer",
+    "ResetCommandBuffer",
+    "CmdBindPipeline",
+    "CmdBindPipelineDelta",
+    "CmdBindStateObject",
+    "CmdBindDescriptorSet",
+    "CmdBindDynamicMemoryView",
+    "CmdBindIndexData",
+    "CmdBindAttachments",
+    "CmdPrepareMemoryRegions",
+    "CmdPrepareImages",
+    "CmdDraw",
+    "CmdDrawIndexed",
+    "CmdDrawIndirect",
+    "CmdDrawIndexedIndirect",
+    "CmdDispatch",
+    "CmdDispatchIndirect",
+    "CmdCopyMemory",
+    "CmdCopyImage",
+    "CmdCopyMemoryToImage",
+    "CmdCopyImageToMemory",
+    "CmdCloneImageData",
+    "CmdUpdateMemory",
+    "CmdFillMemory",
+    "CmdClearColorImage",
+    "CmdClearColorImageRaw",
+    "CmdClearDepthStencil",
+    "CmdResolveImage",
+    "CmdSetEvent",
+    "CmdResetEvent",
+    "CmdMemoryAtomic",
+    "CmdBeginQuery",
+    "CmdEndQuery",
+    "CmdResetQueryPool",
+    "CmdWriteTimestamp",
+    "CmdInitAtomicCounters",
+    "CmdLoadAtomicCounters",
+    "CmdSaveAtomicCounters",
+    "DbgSetValidationLevel",
+    "DbgRegisterMsgCallback",
+    "DbgUnregisterMsgCallback",
+    "DbgSetMessageFilter",
+    "DbgSetObjectTag",
+    "DbgSetGlobalOption",
+    "DbgSetDeviceOption",
+    "CmdDbgMarkerBegin",
+    "CmdDbgMarkerEnd",
+)
