blob: 7f4f60b13fd2136283f5898ab4dad7c4ccc61e08 [file] [log] [blame]
Chia-I Wufb2559d2014-08-01 11:19:52 +08001"""XGL API description"""
2
3# Copyright (C) 2014 LunarG, Inc.
4#
5# Permission is hereby granted, free of charge, to any person obtaining a
6# copy of this software and associated documentation files (the "Software"),
7# to deal in the Software without restriction, including without limitation
8# the rights to use, copy, modify, merge, publish, distribute, sublicense,
9# and/or sell copies of the Software, and to permit persons to whom the
10# Software is furnished to do so, subject to the following conditions:
11#
12# The above copyright notice and this permission notice shall be included
13# in all copies or substantial portions of the Software.
14#
15# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21# DEALINGS IN THE SOFTWARE.
22
23class Param(object):
24 """A function parameter."""
25
26 def __init__(self, ty, name):
27 self.ty = ty
28 self.name = name
29
30 def c(self):
31 """Return the parameter in C."""
32 idx = self.ty.find("[")
33
34 # arrays have a different syntax
35 if idx >= 0:
36 return "%s %s%s" % (self.ty[:idx], self.name, self.ty[idx:])
37 else:
38 return "%s %s" % (self.ty, self.name)
39
40class Proto(object):
41 """A function prototype."""
42
Chia-I Wue442dc32015-01-01 09:31:15 +080043 def __init__(self, ret, name, params=[]):
Chia-I Wufb2559d2014-08-01 11:19:52 +080044 # the proto has only a param
Chia-I Wue442dc32015-01-01 09:31:15 +080045 if not isinstance(params, list):
46 params = [params]
Chia-I Wufb2559d2014-08-01 11:19:52 +080047
48 self.ret = ret
49 self.name = name
50 self.params = params
51
52 def c_params(self, need_type=True, need_name=True):
53 """Return the parameter list in C."""
54 if self.params and (need_type or need_name):
55 if need_type and need_name:
56 return ", ".join([param.c() for param in self.params])
57 elif need_type:
58 return ", ".join([param.ty for param in self.params])
59 else:
60 return ", ".join([param.name for param in self.params])
61 else:
62 return "void" if need_type else ""
63
64 def c_decl(self, name, attr="", typed=False, need_param_names=True):
65 """Return a named declaration in C."""
66 format_vals = (self.ret,
67 attr + " " if attr else "",
68 name,
69 self.c_params(need_name=need_param_names))
70
71 if typed:
72 return "%s (%s*%s)(%s)" % format_vals
73 else:
74 return "%s %s%s(%s)" % format_vals
75
Chia-I Wuaf3b5552015-01-04 12:00:01 +080076 def c_pretty_decl(self, name, attr=""):
77 """Return a named declaration in C, with xgl.h formatting."""
78 plist = []
79 for param in self.params:
80 idx = param.ty.find("[")
81 if idx < 0:
82 idx = len(param.ty)
83
84 pad = 44 - idx
85 if pad <= 0:
86 pad = 1
87
88 plist.append(" %s%s%s%s" % (param.ty[:idx],
89 " " * pad, param.name, param.ty[idx:]))
90
91 return "%s %s%s(\n%s)" % (self.ret,
92 attr + " " if attr else "",
93 name,
94 ",\n".join(plist))
95
Chia-I Wufb2559d2014-08-01 11:19:52 +080096 def c_typedef(self, suffix="", attr=""):
97 """Return the typedef for the prototype in C."""
98 return self.c_decl(self.name + suffix, attr=attr, typed=True)
99
100 def c_func(self, prefix="", attr=""):
101 """Return the prototype in C."""
102 return self.c_decl(prefix + self.name, attr=attr, typed=False)
103
104 def c_call(self):
105 """Return a call to the prototype in C."""
106 return "%s(%s)" % (self.name, self.c_params(need_type=False))
107
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800108class Extension(object):
Chia-I Wue86d8ab2015-01-04 14:46:22 +0800109 def __init__(self, name, headers, objects, protos):
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800110 self.name = name
111 self.headers = headers
Chia-I Wue86d8ab2015-01-04 14:46:22 +0800112 self.objects = objects
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800113 self.protos = protos
114
Chia-I Wufb2559d2014-08-01 11:19:52 +0800115# XGL core API
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800116core = Extension(
117 name="XGL_CORE",
Chia-I Wue442dc32015-01-01 09:31:15 +0800118 headers=["xgl.h", "xglDbg.h"],
Chia-I Wue86d8ab2015-01-04 14:46:22 +0800119 objects=[
120 "XGL_PHYSICAL_GPU",
121 "XGL_BASE_OBJECT",
122 "XGL_DEVICE",
123 "XGL_QUEUE",
124 "XGL_GPU_MEMORY",
125 "XGL_OBJECT",
126 "XGL_IMAGE",
127 "XGL_IMAGE_VIEW",
128 "XGL_COLOR_ATTACHMENT_VIEW",
129 "XGL_DEPTH_STENCIL_VIEW",
130 "XGL_SHADER",
131 "XGL_PIPELINE",
132 "XGL_PIPELINE_DELTA",
133 "XGL_SAMPLER",
134 "XGL_DESCRIPTOR_SET",
135 "XGL_STATE_OBJECT",
136 "XGL_VIEWPORT_STATE_OBJECT",
137 "XGL_RASTER_STATE_OBJECT",
138 "XGL_MSAA_STATE_OBJECT",
139 "XGL_COLOR_BLEND_STATE_OBJECT",
140 "XGL_DEPTH_STENCIL_STATE_OBJECT",
141 "XGL_CMD_BUFFER",
142 "XGL_FENCE",
143 "XGL_QUEUE_SEMAPHORE",
144 "XGL_EVENT",
145 "XGL_QUERY_POOL",
146 ],
Chia-I Wue442dc32015-01-01 09:31:15 +0800147 protos=[
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800148 Proto("XGL_VOID *", "GetProcAddr",
Chia-I Wue442dc32015-01-01 09:31:15 +0800149 [Param("XGL_PHYSICAL_GPU", "gpu"),
150 Param("const XGL_CHAR*", "pName")]),
Jon Ashburnd38bfb12014-10-14 19:15:22 -0600151
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800152 Proto("XGL_RESULT", "InitAndEnumerateGpus",
Chia-I Wue442dc32015-01-01 09:31:15 +0800153 [Param("const XGL_APPLICATION_INFO*", "pAppInfo"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800154 Param("const XGL_ALLOC_CALLBACKS*", "pAllocCb"),
155 Param("XGL_UINT", "maxGpus"),
156 Param("XGL_UINT*", "pGpuCount"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800157 Param("XGL_PHYSICAL_GPU*", "pGpus")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800158
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800159 Proto("XGL_RESULT", "GetGpuInfo",
Chia-I Wue442dc32015-01-01 09:31:15 +0800160 [Param("XGL_PHYSICAL_GPU", "gpu"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800161 Param("XGL_PHYSICAL_GPU_INFO_TYPE", "infoType"),
162 Param("XGL_SIZE*", "pDataSize"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800163 Param("XGL_VOID*", "pData")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800164
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800165 Proto("XGL_RESULT", "CreateDevice",
Chia-I Wue442dc32015-01-01 09:31:15 +0800166 [Param("XGL_PHYSICAL_GPU", "gpu"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800167 Param("const XGL_DEVICE_CREATE_INFO*", "pCreateInfo"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800168 Param("XGL_DEVICE*", "pDevice")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800169
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800170 Proto("XGL_RESULT", "DestroyDevice",
Chia-I Wue442dc32015-01-01 09:31:15 +0800171 [Param("XGL_DEVICE", "device")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800172
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800173 Proto("XGL_RESULT", "GetExtensionSupport",
Chia-I Wue442dc32015-01-01 09:31:15 +0800174 [Param("XGL_PHYSICAL_GPU", "gpu"),
175 Param("const XGL_CHAR*", "pExtName")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800176
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800177 Proto("XGL_RESULT", "EnumerateLayers",
Chia-I Wue442dc32015-01-01 09:31:15 +0800178 [Param("XGL_PHYSICAL_GPU", "gpu"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800179 Param("XGL_SIZE", "maxLayerCount"),
180 Param("XGL_SIZE", "maxStringSize"),
181 Param("XGL_CHAR* const*", "pOutLayers"),
182 Param("XGL_SIZE *", "pOutLayerCount"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800183 Param("XGL_VOID *", "pReserved")]),
Jon Ashburnf7bcf9b2014-10-15 15:30:23 -0600184
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800185 Proto("XGL_RESULT", "GetDeviceQueue",
Chia-I Wue442dc32015-01-01 09:31:15 +0800186 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800187 Param("XGL_QUEUE_TYPE", "queueType"),
188 Param("XGL_UINT", "queueIndex"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800189 Param("XGL_QUEUE*", "pQueue")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800190
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800191 Proto("XGL_RESULT", "QueueSubmit",
Chia-I Wue442dc32015-01-01 09:31:15 +0800192 [Param("XGL_QUEUE", "queue"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800193 Param("XGL_UINT", "cmdBufferCount"),
194 Param("const XGL_CMD_BUFFER*", "pCmdBuffers"),
195 Param("XGL_UINT", "memRefCount"),
196 Param("const XGL_MEMORY_REF*", "pMemRefs"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800197 Param("XGL_FENCE", "fence")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800198
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800199 Proto("XGL_RESULT", "QueueSetGlobalMemReferences",
Chia-I Wue442dc32015-01-01 09:31:15 +0800200 [Param("XGL_QUEUE", "queue"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800201 Param("XGL_UINT", "memRefCount"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800202 Param("const XGL_MEMORY_REF*", "pMemRefs")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800203
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800204 Proto("XGL_RESULT", "QueueWaitIdle",
Chia-I Wue442dc32015-01-01 09:31:15 +0800205 [Param("XGL_QUEUE", "queue")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800206
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800207 Proto("XGL_RESULT", "DeviceWaitIdle",
Chia-I Wue442dc32015-01-01 09:31:15 +0800208 [Param("XGL_DEVICE", "device")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800209
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800210 Proto("XGL_RESULT", "GetMemoryHeapCount",
Chia-I Wue442dc32015-01-01 09:31:15 +0800211 [Param("XGL_DEVICE", "device"),
212 Param("XGL_UINT*", "pCount")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800213
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800214 Proto("XGL_RESULT", "GetMemoryHeapInfo",
Chia-I Wue442dc32015-01-01 09:31:15 +0800215 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800216 Param("XGL_UINT", "heapId"),
217 Param("XGL_MEMORY_HEAP_INFO_TYPE", "infoType"),
218 Param("XGL_SIZE*", "pDataSize"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800219 Param("XGL_VOID*", "pData")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800220
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800221 Proto("XGL_RESULT", "AllocMemory",
Chia-I Wue442dc32015-01-01 09:31:15 +0800222 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800223 Param("const XGL_MEMORY_ALLOC_INFO*", "pAllocInfo"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800224 Param("XGL_GPU_MEMORY*", "pMem")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800225
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800226 Proto("XGL_RESULT", "FreeMemory",
Chia-I Wue442dc32015-01-01 09:31:15 +0800227 [Param("XGL_GPU_MEMORY", "mem")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800228
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800229 Proto("XGL_RESULT", "SetMemoryPriority",
Chia-I Wue442dc32015-01-01 09:31:15 +0800230 [Param("XGL_GPU_MEMORY", "mem"),
231 Param("XGL_MEMORY_PRIORITY", "priority")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800232
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800233 Proto("XGL_RESULT", "MapMemory",
Chia-I Wue442dc32015-01-01 09:31:15 +0800234 [Param("XGL_GPU_MEMORY", "mem"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800235 Param("XGL_FLAGS", "flags"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800236 Param("XGL_VOID**", "ppData")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800237
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800238 Proto("XGL_RESULT", "UnmapMemory",
Chia-I Wue442dc32015-01-01 09:31:15 +0800239 [Param("XGL_GPU_MEMORY", "mem")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800240
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800241 Proto("XGL_RESULT", "PinSystemMemory",
Chia-I Wue442dc32015-01-01 09:31:15 +0800242 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800243 Param("const XGL_VOID*", "pSysMem"),
244 Param("XGL_SIZE", "memSize"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800245 Param("XGL_GPU_MEMORY*", "pMem")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800246
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800247 Proto("XGL_RESULT", "RemapVirtualMemoryPages",
Chia-I Wue442dc32015-01-01 09:31:15 +0800248 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800249 Param("XGL_UINT", "rangeCount"),
250 Param("const XGL_VIRTUAL_MEMORY_REMAP_RANGE*", "pRanges"),
251 Param("XGL_UINT", "preWaitSemaphoreCount"),
252 Param("const XGL_QUEUE_SEMAPHORE*", "pPreWaitSemaphores"),
253 Param("XGL_UINT", "postSignalSemaphoreCount"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800254 Param("const XGL_QUEUE_SEMAPHORE*", "pPostSignalSemaphores")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800255
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800256 Proto("XGL_RESULT", "GetMultiGpuCompatibility",
Chia-I Wue442dc32015-01-01 09:31:15 +0800257 [Param("XGL_PHYSICAL_GPU", "gpu0"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800258 Param("XGL_PHYSICAL_GPU", "gpu1"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800259 Param("XGL_GPU_COMPATIBILITY_INFO*", "pInfo")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800260
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800261 Proto("XGL_RESULT", "OpenSharedMemory",
Chia-I Wue442dc32015-01-01 09:31:15 +0800262 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800263 Param("const XGL_MEMORY_OPEN_INFO*", "pOpenInfo"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800264 Param("XGL_GPU_MEMORY*", "pMem")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800265
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800266 Proto("XGL_RESULT", "OpenSharedQueueSemaphore",
Chia-I Wue442dc32015-01-01 09:31:15 +0800267 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800268 Param("const XGL_QUEUE_SEMAPHORE_OPEN_INFO*", "pOpenInfo"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800269 Param("XGL_QUEUE_SEMAPHORE*", "pSemaphore")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800270
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800271 Proto("XGL_RESULT", "OpenPeerMemory",
Chia-I Wue442dc32015-01-01 09:31:15 +0800272 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800273 Param("const XGL_PEER_MEMORY_OPEN_INFO*", "pOpenInfo"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800274 Param("XGL_GPU_MEMORY*", "pMem")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800275
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800276 Proto("XGL_RESULT", "OpenPeerImage",
Chia-I Wue442dc32015-01-01 09:31:15 +0800277 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800278 Param("const XGL_PEER_IMAGE_OPEN_INFO*", "pOpenInfo"),
279 Param("XGL_IMAGE*", "pImage"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800280 Param("XGL_GPU_MEMORY*", "pMem")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800281
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800282 Proto("XGL_RESULT", "DestroyObject",
Chia-I Wue442dc32015-01-01 09:31:15 +0800283 [Param("XGL_OBJECT", "object")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800284
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800285 Proto("XGL_RESULT", "GetObjectInfo",
Chia-I Wue442dc32015-01-01 09:31:15 +0800286 [Param("XGL_BASE_OBJECT", "object"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800287 Param("XGL_OBJECT_INFO_TYPE", "infoType"),
288 Param("XGL_SIZE*", "pDataSize"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800289 Param("XGL_VOID*", "pData")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800290
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800291 Proto("XGL_RESULT", "BindObjectMemory",
Chia-I Wue442dc32015-01-01 09:31:15 +0800292 [Param("XGL_OBJECT", "object"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800293 Param("XGL_GPU_MEMORY", "mem"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800294 Param("XGL_GPU_SIZE", "offset")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800295
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800296 Proto("XGL_RESULT", "CreateFence",
Chia-I Wue442dc32015-01-01 09:31:15 +0800297 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800298 Param("const XGL_FENCE_CREATE_INFO*", "pCreateInfo"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800299 Param("XGL_FENCE*", "pFence")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800300
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800301 Proto("XGL_RESULT", "GetFenceStatus",
Chia-I Wue442dc32015-01-01 09:31:15 +0800302 [Param("XGL_FENCE", "fence")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800303
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800304 Proto("XGL_RESULT", "WaitForFences",
Chia-I Wue442dc32015-01-01 09:31:15 +0800305 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800306 Param("XGL_UINT", "fenceCount"),
307 Param("const XGL_FENCE*", "pFences"),
308 Param("XGL_BOOL", "waitAll"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800309 Param("XGL_UINT64", "timeout")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800310
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800311 Proto("XGL_RESULT", "CreateQueueSemaphore",
Chia-I Wue442dc32015-01-01 09:31:15 +0800312 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800313 Param("const XGL_QUEUE_SEMAPHORE_CREATE_INFO*", "pCreateInfo"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800314 Param("XGL_QUEUE_SEMAPHORE*", "pSemaphore")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800315
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800316 Proto("XGL_RESULT", "SignalQueueSemaphore",
Chia-I Wue442dc32015-01-01 09:31:15 +0800317 [Param("XGL_QUEUE", "queue"),
318 Param("XGL_QUEUE_SEMAPHORE", "semaphore")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800319
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800320 Proto("XGL_RESULT", "WaitQueueSemaphore",
Chia-I Wue442dc32015-01-01 09:31:15 +0800321 [Param("XGL_QUEUE", "queue"),
322 Param("XGL_QUEUE_SEMAPHORE", "semaphore")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800323
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800324 Proto("XGL_RESULT", "CreateEvent",
Chia-I Wue442dc32015-01-01 09:31:15 +0800325 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800326 Param("const XGL_EVENT_CREATE_INFO*", "pCreateInfo"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800327 Param("XGL_EVENT*", "pEvent")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800328
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800329 Proto("XGL_RESULT", "GetEventStatus",
Chia-I Wue442dc32015-01-01 09:31:15 +0800330 [Param("XGL_EVENT", "event")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800331
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800332 Proto("XGL_RESULT", "SetEvent",
Chia-I Wue442dc32015-01-01 09:31:15 +0800333 [Param("XGL_EVENT", "event")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800334
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800335 Proto("XGL_RESULT", "ResetEvent",
Chia-I Wue442dc32015-01-01 09:31:15 +0800336 [Param("XGL_EVENT", "event")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800337
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800338 Proto("XGL_RESULT", "CreateQueryPool",
Chia-I Wue442dc32015-01-01 09:31:15 +0800339 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800340 Param("const XGL_QUERY_POOL_CREATE_INFO*", "pCreateInfo"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800341 Param("XGL_QUERY_POOL*", "pQueryPool")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800342
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800343 Proto("XGL_RESULT", "GetQueryPoolResults",
Chia-I Wue442dc32015-01-01 09:31:15 +0800344 [Param("XGL_QUERY_POOL", "queryPool"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800345 Param("XGL_UINT", "startQuery"),
346 Param("XGL_UINT", "queryCount"),
347 Param("XGL_SIZE*", "pDataSize"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800348 Param("XGL_VOID*", "pData")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800349
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800350 Proto("XGL_RESULT", "GetFormatInfo",
Chia-I Wue442dc32015-01-01 09:31:15 +0800351 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800352 Param("XGL_FORMAT", "format"),
353 Param("XGL_FORMAT_INFO_TYPE", "infoType"),
354 Param("XGL_SIZE*", "pDataSize"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800355 Param("XGL_VOID*", "pData")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800356
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800357 Proto("XGL_RESULT", "CreateImage",
Chia-I Wue442dc32015-01-01 09:31:15 +0800358 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800359 Param("const XGL_IMAGE_CREATE_INFO*", "pCreateInfo"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800360 Param("XGL_IMAGE*", "pImage")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800361
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800362 Proto("XGL_RESULT", "GetImageSubresourceInfo",
Chia-I Wue442dc32015-01-01 09:31:15 +0800363 [Param("XGL_IMAGE", "image"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800364 Param("const XGL_IMAGE_SUBRESOURCE*", "pSubresource"),
365 Param("XGL_SUBRESOURCE_INFO_TYPE", "infoType"),
366 Param("XGL_SIZE*", "pDataSize"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800367 Param("XGL_VOID*", "pData")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800368
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800369 Proto("XGL_RESULT", "CreateImageView",
Chia-I Wue442dc32015-01-01 09:31:15 +0800370 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800371 Param("const XGL_IMAGE_VIEW_CREATE_INFO*", "pCreateInfo"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800372 Param("XGL_IMAGE_VIEW*", "pView")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800373
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800374 Proto("XGL_RESULT", "CreateColorAttachmentView",
Chia-I Wue442dc32015-01-01 09:31:15 +0800375 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800376 Param("const XGL_COLOR_ATTACHMENT_VIEW_CREATE_INFO*", "pCreateInfo"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800377 Param("XGL_COLOR_ATTACHMENT_VIEW*", "pView")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800378
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800379 Proto("XGL_RESULT", "CreateDepthStencilView",
Chia-I Wue442dc32015-01-01 09:31:15 +0800380 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800381 Param("const XGL_DEPTH_STENCIL_VIEW_CREATE_INFO*", "pCreateInfo"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800382 Param("XGL_DEPTH_STENCIL_VIEW*", "pView")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800383
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800384 Proto("XGL_RESULT", "CreateShader",
Chia-I Wue442dc32015-01-01 09:31:15 +0800385 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800386 Param("const XGL_SHADER_CREATE_INFO*", "pCreateInfo"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800387 Param("XGL_SHADER*", "pShader")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800388
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800389 Proto("XGL_RESULT", "CreateGraphicsPipeline",
Chia-I Wue442dc32015-01-01 09:31:15 +0800390 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800391 Param("const XGL_GRAPHICS_PIPELINE_CREATE_INFO*", "pCreateInfo"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800392 Param("XGL_PIPELINE*", "pPipeline")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800393
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800394 Proto("XGL_RESULT", "CreateComputePipeline",
Chia-I Wue442dc32015-01-01 09:31:15 +0800395 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800396 Param("const XGL_COMPUTE_PIPELINE_CREATE_INFO*", "pCreateInfo"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800397 Param("XGL_PIPELINE*", "pPipeline")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800398
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800399 Proto("XGL_RESULT", "StorePipeline",
Chia-I Wue442dc32015-01-01 09:31:15 +0800400 [Param("XGL_PIPELINE", "pipeline"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800401 Param("XGL_SIZE*", "pDataSize"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800402 Param("XGL_VOID*", "pData")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800403
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800404 Proto("XGL_RESULT", "LoadPipeline",
Chia-I Wue442dc32015-01-01 09:31:15 +0800405 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800406 Param("XGL_SIZE", "dataSize"),
407 Param("const XGL_VOID*", "pData"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800408 Param("XGL_PIPELINE*", "pPipeline")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800409
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800410 Proto("XGL_RESULT", "CreatePipelineDelta",
Chia-I Wue442dc32015-01-01 09:31:15 +0800411 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800412 Param("XGL_PIPELINE", "p1"),
413 Param("XGL_PIPELINE", "p2"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800414 Param("XGL_PIPELINE_DELTA*", "delta")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800415
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800416 Proto("XGL_RESULT", "CreateSampler",
Chia-I Wue442dc32015-01-01 09:31:15 +0800417 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800418 Param("const XGL_SAMPLER_CREATE_INFO*", "pCreateInfo"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800419 Param("XGL_SAMPLER*", "pSampler")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800420
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800421 Proto("XGL_RESULT", "CreateDescriptorSet",
Chia-I Wue442dc32015-01-01 09:31:15 +0800422 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800423 Param("const XGL_DESCRIPTOR_SET_CREATE_INFO*", "pCreateInfo"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800424 Param("XGL_DESCRIPTOR_SET*", "pDescriptorSet")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800425
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800426 Proto("XGL_VOID", "BeginDescriptorSetUpdate",
Chia-I Wue442dc32015-01-01 09:31:15 +0800427 [Param("XGL_DESCRIPTOR_SET", "descriptorSet")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800428
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800429 Proto("XGL_VOID", "EndDescriptorSetUpdate",
Chia-I Wue442dc32015-01-01 09:31:15 +0800430 [Param("XGL_DESCRIPTOR_SET", "descriptorSet")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800431
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800432 Proto("XGL_VOID", "AttachSamplerDescriptors",
Chia-I Wue442dc32015-01-01 09:31:15 +0800433 [Param("XGL_DESCRIPTOR_SET", "descriptorSet"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800434 Param("XGL_UINT", "startSlot"),
435 Param("XGL_UINT", "slotCount"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800436 Param("const XGL_SAMPLER*", "pSamplers")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800437
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800438 Proto("XGL_VOID", "AttachImageViewDescriptors",
Chia-I Wue442dc32015-01-01 09:31:15 +0800439 [Param("XGL_DESCRIPTOR_SET", "descriptorSet"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800440 Param("XGL_UINT", "startSlot"),
441 Param("XGL_UINT", "slotCount"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800442 Param("const XGL_IMAGE_VIEW_ATTACH_INFO*", "pImageViews")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800443
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800444 Proto("XGL_VOID", "AttachMemoryViewDescriptors",
Chia-I Wue442dc32015-01-01 09:31:15 +0800445 [Param("XGL_DESCRIPTOR_SET", "descriptorSet"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800446 Param("XGL_UINT", "startSlot"),
447 Param("XGL_UINT", "slotCount"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800448 Param("const XGL_MEMORY_VIEW_ATTACH_INFO*", "pMemViews")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800449
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800450 Proto("XGL_VOID", "AttachNestedDescriptors",
Chia-I Wue442dc32015-01-01 09:31:15 +0800451 [Param("XGL_DESCRIPTOR_SET", "descriptorSet"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800452 Param("XGL_UINT", "startSlot"),
453 Param("XGL_UINT", "slotCount"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800454 Param("const XGL_DESCRIPTOR_SET_ATTACH_INFO*", "pNestedDescriptorSets")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800455
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800456 Proto("XGL_VOID", "ClearDescriptorSetSlots",
Chia-I Wue442dc32015-01-01 09:31:15 +0800457 [Param("XGL_DESCRIPTOR_SET", "descriptorSet"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800458 Param("XGL_UINT", "startSlot"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800459 Param("XGL_UINT", "slotCount")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800460
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800461 Proto("XGL_RESULT", "CreateViewportState",
Chia-I Wue442dc32015-01-01 09:31:15 +0800462 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800463 Param("const XGL_VIEWPORT_STATE_CREATE_INFO*", "pCreateInfo"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800464 Param("XGL_VIEWPORT_STATE_OBJECT*", "pState")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800465
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800466 Proto("XGL_RESULT", "CreateRasterState",
Chia-I Wue442dc32015-01-01 09:31:15 +0800467 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800468 Param("const XGL_RASTER_STATE_CREATE_INFO*", "pCreateInfo"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800469 Param("XGL_RASTER_STATE_OBJECT*", "pState")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800470
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800471 Proto("XGL_RESULT", "CreateMsaaState",
Chia-I Wue442dc32015-01-01 09:31:15 +0800472 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800473 Param("const XGL_MSAA_STATE_CREATE_INFO*", "pCreateInfo"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800474 Param("XGL_MSAA_STATE_OBJECT*", "pState")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800475
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800476 Proto("XGL_RESULT", "CreateColorBlendState",
Chia-I Wue442dc32015-01-01 09:31:15 +0800477 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800478 Param("const XGL_COLOR_BLEND_STATE_CREATE_INFO*", "pCreateInfo"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800479 Param("XGL_COLOR_BLEND_STATE_OBJECT*", "pState")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800480
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800481 Proto("XGL_RESULT", "CreateDepthStencilState",
Chia-I Wue442dc32015-01-01 09:31:15 +0800482 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800483 Param("const XGL_DEPTH_STENCIL_STATE_CREATE_INFO*", "pCreateInfo"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800484 Param("XGL_DEPTH_STENCIL_STATE_OBJECT*", "pState")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800485
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800486 Proto("XGL_RESULT", "CreateCommandBuffer",
Chia-I Wue442dc32015-01-01 09:31:15 +0800487 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800488 Param("const XGL_CMD_BUFFER_CREATE_INFO*", "pCreateInfo"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800489 Param("XGL_CMD_BUFFER*", "pCmdBuffer")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800490
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800491 Proto("XGL_RESULT", "BeginCommandBuffer",
Chia-I Wue442dc32015-01-01 09:31:15 +0800492 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
493 Param("XGL_FLAGS", "flags")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800494
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800495 Proto("XGL_RESULT", "EndCommandBuffer",
Chia-I Wue442dc32015-01-01 09:31:15 +0800496 [Param("XGL_CMD_BUFFER", "cmdBuffer")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800497
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800498 Proto("XGL_RESULT", "ResetCommandBuffer",
Chia-I Wue442dc32015-01-01 09:31:15 +0800499 [Param("XGL_CMD_BUFFER", "cmdBuffer")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800500
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800501 Proto("XGL_VOID", "CmdBindPipeline",
Chia-I Wue442dc32015-01-01 09:31:15 +0800502 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800503 Param("XGL_PIPELINE_BIND_POINT", "pipelineBindPoint"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800504 Param("XGL_PIPELINE", "pipeline")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800505
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800506 Proto("XGL_VOID", "CmdBindPipelineDelta",
Chia-I Wue442dc32015-01-01 09:31:15 +0800507 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800508 Param("XGL_PIPELINE_BIND_POINT", "pipelineBindPoint"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800509 Param("XGL_PIPELINE_DELTA", "delta")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800510
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800511 Proto("XGL_VOID", "CmdBindStateObject",
Chia-I Wue442dc32015-01-01 09:31:15 +0800512 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800513 Param("XGL_STATE_BIND_POINT", "stateBindPoint"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800514 Param("XGL_STATE_OBJECT", "state")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800515
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800516 Proto("XGL_VOID", "CmdBindDescriptorSet",
Chia-I Wue442dc32015-01-01 09:31:15 +0800517 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800518 Param("XGL_PIPELINE_BIND_POINT", "pipelineBindPoint"),
519 Param("XGL_UINT", "index"),
520 Param("XGL_DESCRIPTOR_SET", "descriptorSet"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800521 Param("XGL_UINT", "slotOffset")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800522
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800523 Proto("XGL_VOID", "CmdBindDynamicMemoryView",
Chia-I Wue442dc32015-01-01 09:31:15 +0800524 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800525 Param("XGL_PIPELINE_BIND_POINT", "pipelineBindPoint"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800526 Param("const XGL_MEMORY_VIEW_ATTACH_INFO*", "pMemView")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800527
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800528 Proto("XGL_VOID", "CmdBindVertexData",
Chia-I Wue442dc32015-01-01 09:31:15 +0800529 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800530 Param("XGL_GPU_MEMORY", "mem"),
531 Param("XGL_GPU_SIZE", "offset"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800532 Param("XGL_UINT", "binding")]),
Chia-I Wu7a42e122014-11-08 10:48:20 +0800533
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800534 Proto("XGL_VOID", "CmdBindIndexData",
Chia-I Wue442dc32015-01-01 09:31:15 +0800535 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800536 Param("XGL_GPU_MEMORY", "mem"),
537 Param("XGL_GPU_SIZE", "offset"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800538 Param("XGL_INDEX_TYPE", "indexType")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800539
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800540 Proto("XGL_VOID", "CmdBindAttachments",
Chia-I Wue442dc32015-01-01 09:31:15 +0800541 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800542 Param("XGL_UINT", "colorAttachmentCount"),
543 Param("const XGL_COLOR_ATTACHMENT_BIND_INFO*", "pColorAttachments"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800544 Param("const XGL_DEPTH_STENCIL_BIND_INFO*", "pDepthStencilAttachment")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800545
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800546 Proto("XGL_VOID", "CmdPrepareMemoryRegions",
Chia-I Wue442dc32015-01-01 09:31:15 +0800547 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800548 Param("XGL_UINT", "transitionCount"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800549 Param("const XGL_MEMORY_STATE_TRANSITION*", "pStateTransitions")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800550
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800551 Proto("XGL_VOID", "CmdPrepareImages",
Chia-I Wue442dc32015-01-01 09:31:15 +0800552 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800553 Param("XGL_UINT", "transitionCount"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800554 Param("const XGL_IMAGE_STATE_TRANSITION*", "pStateTransitions")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800555
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800556 Proto("XGL_VOID", "CmdDraw",
Chia-I Wue442dc32015-01-01 09:31:15 +0800557 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800558 Param("XGL_UINT", "firstVertex"),
559 Param("XGL_UINT", "vertexCount"),
560 Param("XGL_UINT", "firstInstance"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800561 Param("XGL_UINT", "instanceCount")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800562
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800563 Proto("XGL_VOID", "CmdDrawIndexed",
Chia-I Wue442dc32015-01-01 09:31:15 +0800564 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800565 Param("XGL_UINT", "firstIndex"),
566 Param("XGL_UINT", "indexCount"),
567 Param("XGL_INT", "vertexOffset"),
568 Param("XGL_UINT", "firstInstance"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800569 Param("XGL_UINT", "instanceCount")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800570
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800571 Proto("XGL_VOID", "CmdDrawIndirect",
Chia-I Wue442dc32015-01-01 09:31:15 +0800572 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800573 Param("XGL_GPU_MEMORY", "mem"),
574 Param("XGL_GPU_SIZE", "offset"),
575 Param("XGL_UINT32", "count"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800576 Param("XGL_UINT32", "stride")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800577
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800578 Proto("XGL_VOID", "CmdDrawIndexedIndirect",
Chia-I Wue442dc32015-01-01 09:31:15 +0800579 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800580 Param("XGL_GPU_MEMORY", "mem"),
581 Param("XGL_GPU_SIZE", "offset"),
582 Param("XGL_UINT32", "count"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800583 Param("XGL_UINT32", "stride")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800584
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800585 Proto("XGL_VOID", "CmdDispatch",
Chia-I Wue442dc32015-01-01 09:31:15 +0800586 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800587 Param("XGL_UINT", "x"),
588 Param("XGL_UINT", "y"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800589 Param("XGL_UINT", "z")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800590
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800591 Proto("XGL_VOID", "CmdDispatchIndirect",
Chia-I Wue442dc32015-01-01 09:31:15 +0800592 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800593 Param("XGL_GPU_MEMORY", "mem"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800594 Param("XGL_GPU_SIZE", "offset")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800595
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800596 Proto("XGL_VOID", "CmdCopyMemory",
Chia-I Wue442dc32015-01-01 09:31:15 +0800597 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800598 Param("XGL_GPU_MEMORY", "srcMem"),
599 Param("XGL_GPU_MEMORY", "destMem"),
600 Param("XGL_UINT", "regionCount"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800601 Param("const XGL_MEMORY_COPY*", "pRegions")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800602
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800603 Proto("XGL_VOID", "CmdCopyImage",
Chia-I Wue442dc32015-01-01 09:31:15 +0800604 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800605 Param("XGL_IMAGE", "srcImage"),
606 Param("XGL_IMAGE", "destImage"),
607 Param("XGL_UINT", "regionCount"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800608 Param("const XGL_IMAGE_COPY*", "pRegions")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800609
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800610 Proto("XGL_VOID", "CmdCopyMemoryToImage",
Chia-I Wue442dc32015-01-01 09:31:15 +0800611 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800612 Param("XGL_GPU_MEMORY", "srcMem"),
613 Param("XGL_IMAGE", "destImage"),
614 Param("XGL_UINT", "regionCount"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800615 Param("const XGL_MEMORY_IMAGE_COPY*", "pRegions")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800616
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800617 Proto("XGL_VOID", "CmdCopyImageToMemory",
Chia-I Wue442dc32015-01-01 09:31:15 +0800618 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800619 Param("XGL_IMAGE", "srcImage"),
620 Param("XGL_GPU_MEMORY", "destMem"),
621 Param("XGL_UINT", "regionCount"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800622 Param("const XGL_MEMORY_IMAGE_COPY*", "pRegions")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800623
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800624 Proto("XGL_VOID", "CmdCloneImageData",
Chia-I Wue442dc32015-01-01 09:31:15 +0800625 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800626 Param("XGL_IMAGE", "srcImage"),
627 Param("XGL_IMAGE_STATE", "srcImageState"),
628 Param("XGL_IMAGE", "destImage"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800629 Param("XGL_IMAGE_STATE", "destImageState")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800630
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800631 Proto("XGL_VOID", "CmdUpdateMemory",
Chia-I Wue442dc32015-01-01 09:31:15 +0800632 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800633 Param("XGL_GPU_MEMORY", "destMem"),
634 Param("XGL_GPU_SIZE", "destOffset"),
635 Param("XGL_GPU_SIZE", "dataSize"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800636 Param("const XGL_UINT32*", "pData")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800637
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800638 Proto("XGL_VOID", "CmdFillMemory",
Chia-I Wue442dc32015-01-01 09:31:15 +0800639 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800640 Param("XGL_GPU_MEMORY", "destMem"),
641 Param("XGL_GPU_SIZE", "destOffset"),
642 Param("XGL_GPU_SIZE", "fillSize"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800643 Param("XGL_UINT32", "data")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800644
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800645 Proto("XGL_VOID", "CmdClearColorImage",
Chia-I Wue442dc32015-01-01 09:31:15 +0800646 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800647 Param("XGL_IMAGE", "image"),
648 Param("const XGL_FLOAT[4]", "color"),
649 Param("XGL_UINT", "rangeCount"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800650 Param("const XGL_IMAGE_SUBRESOURCE_RANGE*", "pRanges")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800651
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800652 Proto("XGL_VOID", "CmdClearColorImageRaw",
Chia-I Wue442dc32015-01-01 09:31:15 +0800653 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800654 Param("XGL_IMAGE", "image"),
655 Param("const XGL_UINT32[4]", "color"),
656 Param("XGL_UINT", "rangeCount"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800657 Param("const XGL_IMAGE_SUBRESOURCE_RANGE*", "pRanges")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800658
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800659 Proto("XGL_VOID", "CmdClearDepthStencil",
Chia-I Wue442dc32015-01-01 09:31:15 +0800660 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800661 Param("XGL_IMAGE", "image"),
662 Param("XGL_FLOAT", "depth"),
663 Param("XGL_UINT32", "stencil"),
664 Param("XGL_UINT", "rangeCount"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800665 Param("const XGL_IMAGE_SUBRESOURCE_RANGE*", "pRanges")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800666
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800667 Proto("XGL_VOID", "CmdResolveImage",
Chia-I Wue442dc32015-01-01 09:31:15 +0800668 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800669 Param("XGL_IMAGE", "srcImage"),
670 Param("XGL_IMAGE", "destImage"),
671 Param("XGL_UINT", "rectCount"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800672 Param("const XGL_IMAGE_RESOLVE*", "pRects")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800673
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800674 Proto("XGL_VOID", "CmdSetEvent",
Chia-I Wue442dc32015-01-01 09:31:15 +0800675 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
676 Param("XGL_EVENT", "event")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800677
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800678 Proto("XGL_VOID", "CmdResetEvent",
Chia-I Wue442dc32015-01-01 09:31:15 +0800679 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
680 Param("XGL_EVENT", "event")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800681
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800682 Proto("XGL_VOID", "CmdMemoryAtomic",
Chia-I Wue442dc32015-01-01 09:31:15 +0800683 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800684 Param("XGL_GPU_MEMORY", "destMem"),
685 Param("XGL_GPU_SIZE", "destOffset"),
686 Param("XGL_UINT64", "srcData"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800687 Param("XGL_ATOMIC_OP", "atomicOp")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800688
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800689 Proto("XGL_VOID", "CmdBeginQuery",
Chia-I Wue442dc32015-01-01 09:31:15 +0800690 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800691 Param("XGL_QUERY_POOL", "queryPool"),
692 Param("XGL_UINT", "slot"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800693 Param("XGL_FLAGS", "flags")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800694
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800695 Proto("XGL_VOID", "CmdEndQuery",
Chia-I Wue442dc32015-01-01 09:31:15 +0800696 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800697 Param("XGL_QUERY_POOL", "queryPool"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800698 Param("XGL_UINT", "slot")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800699
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800700 Proto("XGL_VOID", "CmdResetQueryPool",
Chia-I Wue442dc32015-01-01 09:31:15 +0800701 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800702 Param("XGL_QUERY_POOL", "queryPool"),
703 Param("XGL_UINT", "startQuery"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800704 Param("XGL_UINT", "queryCount")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800705
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800706 Proto("XGL_VOID", "CmdWriteTimestamp",
Chia-I Wue442dc32015-01-01 09:31:15 +0800707 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800708 Param("XGL_TIMESTAMP_TYPE", "timestampType"),
709 Param("XGL_GPU_MEMORY", "destMem"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800710 Param("XGL_GPU_SIZE", "destOffset")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800711
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800712 Proto("XGL_VOID", "CmdInitAtomicCounters",
Chia-I Wue442dc32015-01-01 09:31:15 +0800713 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800714 Param("XGL_PIPELINE_BIND_POINT", "pipelineBindPoint"),
715 Param("XGL_UINT", "startCounter"),
716 Param("XGL_UINT", "counterCount"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800717 Param("const XGL_UINT32*", "pData")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800718
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800719 Proto("XGL_VOID", "CmdLoadAtomicCounters",
Chia-I Wue442dc32015-01-01 09:31:15 +0800720 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800721 Param("XGL_PIPELINE_BIND_POINT", "pipelineBindPoint"),
722 Param("XGL_UINT", "startCounter"),
723 Param("XGL_UINT", "counterCount"),
724 Param("XGL_GPU_MEMORY", "srcMem"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800725 Param("XGL_GPU_SIZE", "srcOffset")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800726
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800727 Proto("XGL_VOID", "CmdSaveAtomicCounters",
Chia-I Wue442dc32015-01-01 09:31:15 +0800728 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800729 Param("XGL_PIPELINE_BIND_POINT", "pipelineBindPoint"),
730 Param("XGL_UINT", "startCounter"),
731 Param("XGL_UINT", "counterCount"),
732 Param("XGL_GPU_MEMORY", "destMem"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800733 Param("XGL_GPU_SIZE", "destOffset")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800734
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800735 Proto("XGL_RESULT", "DbgSetValidationLevel",
Chia-I Wue442dc32015-01-01 09:31:15 +0800736 [Param("XGL_DEVICE", "device"),
737 Param("XGL_VALIDATION_LEVEL", "validationLevel")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800738
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800739 Proto("XGL_RESULT", "DbgRegisterMsgCallback",
Chia-I Wue442dc32015-01-01 09:31:15 +0800740 [Param("XGL_DBG_MSG_CALLBACK_FUNCTION", "pfnMsgCallback"),
741 Param("XGL_VOID*", "pUserData")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800742
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800743 Proto("XGL_RESULT", "DbgUnregisterMsgCallback",
Chia-I Wue442dc32015-01-01 09:31:15 +0800744 [Param("XGL_DBG_MSG_CALLBACK_FUNCTION", "pfnMsgCallback")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800745
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800746 Proto("XGL_RESULT", "DbgSetMessageFilter",
Chia-I Wue442dc32015-01-01 09:31:15 +0800747 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800748 Param("XGL_INT", "msgCode"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800749 Param("XGL_DBG_MSG_FILTER", "filter")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800750
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800751 Proto("XGL_RESULT", "DbgSetObjectTag",
Chia-I Wue442dc32015-01-01 09:31:15 +0800752 [Param("XGL_BASE_OBJECT", "object"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800753 Param("XGL_SIZE", "tagSize"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800754 Param("const XGL_VOID*", "pTag")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800755
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800756 Proto("XGL_RESULT", "DbgSetGlobalOption",
Chia-I Wue442dc32015-01-01 09:31:15 +0800757 [Param("XGL_DBG_GLOBAL_OPTION", "dbgOption"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800758 Param("XGL_SIZE", "dataSize"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800759 Param("const XGL_VOID*", "pData")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800760
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800761 Proto("XGL_RESULT", "DbgSetDeviceOption",
Chia-I Wue442dc32015-01-01 09:31:15 +0800762 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800763 Param("XGL_DBG_DEVICE_OPTION", "dbgOption"),
764 Param("XGL_SIZE", "dataSize"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800765 Param("const XGL_VOID*", "pData")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800766
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800767 Proto("XGL_VOID", "CmdDbgMarkerBegin",
Chia-I Wue442dc32015-01-01 09:31:15 +0800768 [Param("XGL_CMD_BUFFER", "cmdBuffer"),
769 Param("const XGL_CHAR*", "pMarker")]),
Chia-I Wufb2559d2014-08-01 11:19:52 +0800770
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800771 Proto("XGL_VOID", "CmdDbgMarkerEnd",
Chia-I Wue442dc32015-01-01 09:31:15 +0800772 [Param("XGL_CMD_BUFFER", "cmdBuffer")]),
773 ],
Chia-I Wufb2559d2014-08-01 11:19:52 +0800774)
775
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800776wsi_x11 = Extension(
777 name="XGL_WSI_X11",
Chia-I Wue442dc32015-01-01 09:31:15 +0800778 headers=["xglWsiX11Ext.h"],
Chia-I Wue86d8ab2015-01-04 14:46:22 +0800779 objects=[],
Chia-I Wue442dc32015-01-01 09:31:15 +0800780 protos=[
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800781 Proto("XGL_RESULT", "WsiX11AssociateConnection",
Chia-I Wue442dc32015-01-01 09:31:15 +0800782 [Param("XGL_PHYSICAL_GPU", "gpu"),
783 Param("const XGL_WSI_X11_CONNECTION_INFO*", "pConnectionInfo")]),
Chia-I Wu6bdf0192014-09-13 13:36:06 +0800784
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800785 Proto("XGL_RESULT", "WsiX11GetMSC",
Chia-I Wue442dc32015-01-01 09:31:15 +0800786 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800787 Param("xcb_window_t", "window"),
788 Param("xcb_randr_crtc_t", "crtc"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800789 Param("XGL_UINT64*", "pMsc")]),
Chia-I Wu6dee8b82014-09-23 10:37:23 +0800790
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800791 Proto("XGL_RESULT", "WsiX11CreatePresentableImage",
Chia-I Wue442dc32015-01-01 09:31:15 +0800792 [Param("XGL_DEVICE", "device"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800793 Param("const XGL_WSI_X11_PRESENTABLE_IMAGE_CREATE_INFO*", "pCreateInfo"),
794 Param("XGL_IMAGE*", "pImage"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800795 Param("XGL_GPU_MEMORY*", "pMem")]),
Chia-I Wu6dee8b82014-09-23 10:37:23 +0800796
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800797 Proto("XGL_RESULT", "WsiX11QueuePresent",
Chia-I Wue442dc32015-01-01 09:31:15 +0800798 [Param("XGL_QUEUE", "queue"),
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800799 Param("const XGL_WSI_X11_PRESENT_INFO*", "pPresentInfo"),
Chia-I Wue442dc32015-01-01 09:31:15 +0800800 Param("XGL_FENCE", "fence")]),
801 ],
Chia-I Wu6dee8b82014-09-23 10:37:23 +0800802)
803
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800804extensions = [core, wsi_x11]
805
806headers = []
Chia-I Wue86d8ab2015-01-04 14:46:22 +0800807objects = []
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800808protos = []
809for ext in extensions:
810 headers.extend(ext.headers)
Chia-I Wue86d8ab2015-01-04 14:46:22 +0800811 objects.extend(ext.objects)
Chia-I Wuc4f24e82015-01-01 08:46:31 +0800812 protos.extend(ext.protos)
Chia-I Wu6dee8b82014-09-23 10:37:23 +0800813
Chia-I Wu9a4ceb12015-01-01 14:45:58 +0800814proto_names = [proto.name for proto in protos]
Chia-I Wu900a2572014-08-01 14:44:16 +0800815
Jon Ashburne05c8c62014-12-03 14:30:48 -0700816def does_function_create_object(name):
817 return name in (
818 "CreateDevice",
819 "GetDeviceQueue",
820 "AllocMemory",
821 "PinSystemMemory",
822 "OpenSharedMemory",
823 "OpenSharedQueueSemaphore",
824 "OpenPeerMemory",
825 "OpenPeerImage",
826 "CreateFence",
827 "CreateQueueSemaphore",
828 "CreateEvent",
829 "CreateQueryPool",
830 "CreateImage",
831 "CreateImageView",
832 "CreateColorAttachmentView",
833 "CreateDepthStencilView",
834 "CreateShader",
835 "CreateGraphicsPipeline",
836 "CreateComputePipeline",
837 "LoadPipeline",
838 "CreatePipelineDelta",
839 "CreateSampler",
840 "CreateDescriptorSet",
841 "CreateViewportState",
842 "CreateRasterState",
843 "CreateMsaaState",
844 "CreateColorBlendState",
845 "CreateDepthStencilState",
846 "CreateCommandBuffer",
847 "WsiX11CreatePresentableImage")
848
Jon Ashburnd38bfb12014-10-14 19:15:22 -0600849def is_name_dispatchable(name):
850 return name not in (
851 "GetProcAddr",
852 "InitAndEnumerateGpus",
Jon Ashburnf7bcf9b2014-10-15 15:30:23 -0600853 "EnumerateLayers",
Jon Ashburnd38bfb12014-10-14 19:15:22 -0600854 "DbgRegisterMsgCallback",
855 "DbgUnregisterMsgCallback",
856 "DbgSetGlobalOption")
857
Chia-I Wu900a2572014-08-01 14:44:16 +0800858def is_dispatchable(proto):
859 """Return true if the prototype is dispatchable.
860
861 That is, return true when the prototype takes a XGL_PHYSICAL_GPU or
862 XGL_BASE_OBJECT.
863 """
Jon Ashburnd38bfb12014-10-14 19:15:22 -0600864 return is_name_dispatchable(proto.name)