| Courtney Goeltzenleuchter | d8e229c | 2015-04-08 15:36:08 -0600 | [diff] [blame] | 1 | """VK API description""" | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 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 |  | 
 | 23 | class 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 |  | 
| Chia-I Wu | a5d28fa | 2015-01-04 15:02:50 +0800 | [diff] [blame] | 40 |     def indirection_level(self): | 
 | 41 |         """Return the level of indirection.""" | 
 | 42 |         return self.ty.count("*") + self.ty.count("[") | 
 | 43 |  | 
 | 44 |     def dereferenced_type(self, level=0): | 
 | 45 |         """Return the type after dereferencing.""" | 
 | 46 |         if not level: | 
 | 47 |             level = self.indirection_level() | 
 | 48 |  | 
 | 49 |         deref = self.ty if level else "" | 
 | 50 |         while level > 0: | 
 | 51 |             idx = deref.rfind("[") | 
 | 52 |             if idx < 0: | 
 | 53 |                 idx = deref.rfind("*") | 
 | 54 |             if idx < 0: | 
 | 55 |                 deref = "" | 
 | 56 |                 break | 
 | 57 |             deref = deref[:idx] | 
 | 58 |             level -= 1; | 
 | 59 |  | 
 | 60 |         return deref.rstrip() | 
 | 61 |  | 
| Chia-I Wu | 509a412 | 2015-01-04 14:08:46 +0800 | [diff] [blame] | 62 |     def __repr__(self): | 
 | 63 |         return "Param(\"%s\", \"%s\")" % (self.ty, self.name) | 
 | 64 |  | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 65 | class Proto(object): | 
 | 66 |     """A function prototype.""" | 
 | 67 |  | 
| Chia-I Wu | e442dc3 | 2015-01-01 09:31:15 +0800 | [diff] [blame] | 68 |     def __init__(self, ret, name, params=[]): | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 69 |         # the proto has only a param | 
| Chia-I Wu | e442dc3 | 2015-01-01 09:31:15 +0800 | [diff] [blame] | 70 |         if not isinstance(params, list): | 
 | 71 |             params = [params] | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 72 |  | 
 | 73 |         self.ret = ret | 
 | 74 |         self.name = name | 
 | 75 |         self.params = params | 
 | 76 |  | 
 | 77 |     def c_params(self, need_type=True, need_name=True): | 
 | 78 |         """Return the parameter list in C.""" | 
 | 79 |         if self.params and (need_type or need_name): | 
 | 80 |             if need_type and need_name: | 
 | 81 |                 return ", ".join([param.c() for param in self.params]) | 
 | 82 |             elif need_type: | 
 | 83 |                 return ", ".join([param.ty for param in self.params]) | 
 | 84 |             else: | 
 | 85 |                 return ", ".join([param.name for param in self.params]) | 
 | 86 |         else: | 
 | 87 |             return "void" if need_type else "" | 
 | 88 |  | 
 | 89 |     def c_decl(self, name, attr="", typed=False, need_param_names=True): | 
 | 90 |         """Return a named declaration in C.""" | 
 | 91 |         format_vals = (self.ret, | 
 | 92 |                 attr + " " if attr else "", | 
 | 93 |                 name, | 
 | 94 |                 self.c_params(need_name=need_param_names)) | 
 | 95 |  | 
 | 96 |         if typed: | 
 | 97 |             return "%s (%s*%s)(%s)" % format_vals | 
 | 98 |         else: | 
 | 99 |             return "%s %s%s(%s)" % format_vals | 
 | 100 |  | 
| Chia-I Wu | af3b555 | 2015-01-04 12:00:01 +0800 | [diff] [blame] | 101 |     def c_pretty_decl(self, name, attr=""): | 
| Courtney Goeltzenleuchter | d8e229c | 2015-04-08 15:36:08 -0600 | [diff] [blame] | 102 |         """Return a named declaration in C, with vulkan.h formatting.""" | 
| Chia-I Wu | af3b555 | 2015-01-04 12:00:01 +0800 | [diff] [blame] | 103 |         plist = [] | 
 | 104 |         for param in self.params: | 
 | 105 |             idx = param.ty.find("[") | 
 | 106 |             if idx < 0: | 
 | 107 |                 idx = len(param.ty) | 
 | 108 |  | 
 | 109 |             pad = 44 - idx | 
 | 110 |             if pad <= 0: | 
 | 111 |                 pad = 1 | 
 | 112 |  | 
 | 113 |             plist.append("    %s%s%s%s" % (param.ty[:idx], | 
 | 114 |                 " " * pad, param.name, param.ty[idx:])) | 
 | 115 |  | 
 | 116 |         return "%s %s%s(\n%s)" % (self.ret, | 
 | 117 |                 attr + " " if attr else "", | 
 | 118 |                 name, | 
 | 119 |                 ",\n".join(plist)) | 
 | 120 |  | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 121 |     def c_typedef(self, suffix="", attr=""): | 
 | 122 |         """Return the typedef for the prototype in C.""" | 
 | 123 |         return self.c_decl(self.name + suffix, attr=attr, typed=True) | 
 | 124 |  | 
 | 125 |     def c_func(self, prefix="", attr=""): | 
 | 126 |         """Return the prototype in C.""" | 
 | 127 |         return self.c_decl(prefix + self.name, attr=attr, typed=False) | 
 | 128 |  | 
 | 129 |     def c_call(self): | 
 | 130 |         """Return a call to the prototype in C.""" | 
 | 131 |         return "%s(%s)" % (self.name, self.c_params(need_type=False)) | 
 | 132 |  | 
| Chia-I Wu | a5d28fa | 2015-01-04 15:02:50 +0800 | [diff] [blame] | 133 |     def object_in_params(self): | 
| Courtney Goeltzenleuchter | d8e229c | 2015-04-08 15:36:08 -0600 | [diff] [blame] | 134 |         """Return the params that are simple VK objects and are inputs.""" | 
| Chia-I Wu | a5d28fa | 2015-01-04 15:02:50 +0800 | [diff] [blame] | 135 |         return [param for param in self.params if param.ty in objects] | 
 | 136 |  | 
 | 137 |     def object_out_params(self): | 
| Courtney Goeltzenleuchter | d8e229c | 2015-04-08 15:36:08 -0600 | [diff] [blame] | 138 |         """Return the params that are simple VK objects and are outputs.""" | 
| Chia-I Wu | a5d28fa | 2015-01-04 15:02:50 +0800 | [diff] [blame] | 139 |         return [param for param in self.params | 
 | 140 |                 if param.dereferenced_type() in objects] | 
 | 141 |  | 
| Chia-I Wu | 509a412 | 2015-01-04 14:08:46 +0800 | [diff] [blame] | 142 |     def __repr__(self): | 
 | 143 |         param_strs = [] | 
 | 144 |         for param in self.params: | 
 | 145 |             param_strs.append(str(param)) | 
 | 146 |         param_str = "    [%s]" % (",\n     ".join(param_strs)) | 
 | 147 |  | 
 | 148 |         return "Proto(\"%s\", \"%s\",\n%s)" % \ | 
 | 149 |                 (self.ret, self.name, param_str) | 
 | 150 |  | 
| Chia-I Wu | c4f24e8 | 2015-01-01 08:46:31 +0800 | [diff] [blame] | 151 | class Extension(object): | 
| Chia-I Wu | e86d8ab | 2015-01-04 14:46:22 +0800 | [diff] [blame] | 152 |     def __init__(self, name, headers, objects, protos): | 
| Chia-I Wu | c4f24e8 | 2015-01-01 08:46:31 +0800 | [diff] [blame] | 153 |         self.name = name | 
 | 154 |         self.headers = headers | 
| Chia-I Wu | e86d8ab | 2015-01-04 14:46:22 +0800 | [diff] [blame] | 155 |         self.objects = objects | 
| Chia-I Wu | c4f24e8 | 2015-01-01 08:46:31 +0800 | [diff] [blame] | 156 |         self.protos = protos | 
 | 157 |  | 
| Chia-I Wu | 509a412 | 2015-01-04 14:08:46 +0800 | [diff] [blame] | 158 |     def __repr__(self): | 
 | 159 |         lines = [] | 
 | 160 |         lines.append("Extension(") | 
 | 161 |         lines.append("    name=\"%s\"," % self.name) | 
 | 162 |         lines.append("    headers=[\"%s\"]," % | 
 | 163 |                 "\", \"".join(self.headers)) | 
 | 164 |  | 
 | 165 |         lines.append("    objects=[") | 
 | 166 |         for obj in self.objects: | 
 | 167 |             lines.append("        \"%s\"," % obj) | 
 | 168 |         lines.append("    ],") | 
 | 169 |  | 
 | 170 |         lines.append("    protos=[") | 
 | 171 |         for proto in self.protos: | 
 | 172 |             param_lines = str(proto).splitlines() | 
 | 173 |             param_lines[-1] += ",\n" if proto != self.protos[-1] else "," | 
 | 174 |             for p in param_lines: | 
 | 175 |                 lines.append("        " + p) | 
 | 176 |         lines.append("    ],") | 
 | 177 |         lines.append(")") | 
 | 178 |  | 
 | 179 |         return "\n".join(lines) | 
 | 180 |  | 
| Courtney Goeltzenleuchter | d8e229c | 2015-04-08 15:36:08 -0600 | [diff] [blame] | 181 | # VK core API | 
| Chia-I Wu | c4f24e8 | 2015-01-01 08:46:31 +0800 | [diff] [blame] | 182 | core = Extension( | 
| Courtney Goeltzenleuchter | d8e229c | 2015-04-08 15:36:08 -0600 | [diff] [blame] | 183 |     name="VK_CORE", | 
| Courtney Goeltzenleuchter | f579fa6 | 2015-06-10 17:39:03 -0600 | [diff] [blame] | 184 |     headers=["vulkan.h", "vk_debug_report_lunarg.h"], | 
| Chia-I Wu | e86d8ab | 2015-01-04 14:46:22 +0800 | [diff] [blame] | 185 |     objects=[ | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 186 |         "VkInstance", | 
| Tony Barbour | d1c3572 | 2015-04-16 15:59:00 -0600 | [diff] [blame] | 187 |         "VkPhysicalDevice", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 188 |         "VkDevice", | 
 | 189 |         "VkQueue", | 
| Tobin Ehlis | a30e7e5 | 2015-07-06 14:02:36 -0600 | [diff] [blame] | 190 |         "VkCmdBuffer", | 
| Cody Northrop | e62183e | 2015-07-09 18:08:05 -0600 | [diff] [blame] | 191 |         "VkCmdPool", | 
| Tobin Ehlis | a30e7e5 | 2015-07-06 14:02:36 -0600 | [diff] [blame] | 192 |         "VkFence", | 
| Tony Barbour | d1c3572 | 2015-04-16 15:59:00 -0600 | [diff] [blame] | 193 |         "VkDeviceMemory", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 194 |         "VkBuffer", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 195 |         "VkImage", | 
| Tobin Ehlis | a30e7e5 | 2015-07-06 14:02:36 -0600 | [diff] [blame] | 196 |         "VkSemaphore", | 
 | 197 |         "VkEvent", | 
 | 198 |         "VkQueryPool", | 
 | 199 |         "VkBufferView", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 200 |         "VkImageView", | 
| Chia-I Wu | 08accc6 | 2015-07-07 11:50:03 +0800 | [diff] [blame] | 201 |         "VkAttachmentView", | 
| Tobin Ehlis | a30e7e5 | 2015-07-06 14:02:36 -0600 | [diff] [blame] | 202 |         "VkShaderModule", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 203 |         "VkShader", | 
| Tony Barbour | a05dbaa | 2015-07-09 17:31:46 -0600 | [diff] [blame] | 204 |         "VkPipelineCache", | 
| Tobin Ehlis | a30e7e5 | 2015-07-06 14:02:36 -0600 | [diff] [blame] | 205 |         "VkPipelineLayout", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 206 |         "VkPipeline", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 207 |         "VkDescriptorSetLayout", | 
| Tobin Ehlis | a30e7e5 | 2015-07-06 14:02:36 -0600 | [diff] [blame] | 208 |         "VkSampler", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 209 |         "VkDescriptorPool", | 
| Tobin Ehlis | a30e7e5 | 2015-07-06 14:02:36 -0600 | [diff] [blame] | 210 |         "VkDescriptorSet", | 
| Tony Barbour | 1d2cd3f | 2015-07-03 10:33:54 -0600 | [diff] [blame] | 211 |         "VkDynamicViewportState", | 
 | 212 |         "VkDynamicRasterState", | 
 | 213 |         "VkDynamicColorBlendState", | 
 | 214 |         "VkDynamicDepthStencilState", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 215 |         "VkRenderPass", | 
| Tobin Ehlis | a30e7e5 | 2015-07-06 14:02:36 -0600 | [diff] [blame] | 216 |         "VkFramebuffer", | 
| Chia-I Wu | e86d8ab | 2015-01-04 14:46:22 +0800 | [diff] [blame] | 217 |     ], | 
| Chia-I Wu | e442dc3 | 2015-01-01 09:31:15 +0800 | [diff] [blame] | 218 |     protos=[ | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 219 |         Proto("VkResult", "CreateInstance", | 
| Courtney Goeltzenleuchter | 95487bc | 2015-04-14 18:48:46 -0600 | [diff] [blame] | 220 |             [Param("const VkInstanceCreateInfo*", "pCreateInfo"), | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 221 |              Param("VkInstance*", "pInstance")]), | 
| Jon Ashburn | 1beab2d | 2015-01-26 14:51:40 -0700 | [diff] [blame] | 222 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 223 |         Proto("VkResult", "DestroyInstance", | 
 | 224 |             [Param("VkInstance", "instance")]), | 
| Jon Ashburn | 1beab2d | 2015-01-26 14:51:40 -0700 | [diff] [blame] | 225 |  | 
| Jon Ashburn | 83a6425 | 2015-04-15 11:31:12 -0600 | [diff] [blame] | 226 |         Proto("VkResult", "EnumeratePhysicalDevices", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 227 |             [Param("VkInstance", "instance"), | 
| Jon Ashburn | 83a6425 | 2015-04-15 11:31:12 -0600 | [diff] [blame] | 228 |              Param("uint32_t*", "pPhysicalDeviceCount"), | 
| Tony Barbour | d1c3572 | 2015-04-16 15:59:00 -0600 | [diff] [blame] | 229 |              Param("VkPhysicalDevice*", "pPhysicalDevices")]), | 
| Jon Ashburn | 1beab2d | 2015-01-26 14:51:40 -0700 | [diff] [blame] | 230 |  | 
| Chris Forbes | bc0bb77 | 2015-06-21 22:55:02 +1200 | [diff] [blame] | 231 |         Proto("VkResult", "GetPhysicalDeviceFeatures", | 
 | 232 |             [Param("VkPhysicalDevice", "physicalDevice"), | 
 | 233 |              Param("VkPhysicalDeviceFeatures*", "pFeatures")]), | 
 | 234 |  | 
| Courtney Goeltzenleuchter | 2caec86 | 2015-07-12 12:52:09 -0600 | [diff] [blame] | 235 |         Proto("VkResult", "GetPhysicalDeviceFormatProperties", | 
| Chris Forbes | bc0bb77 | 2015-06-21 22:55:02 +1200 | [diff] [blame] | 236 |             [Param("VkPhysicalDevice", "physicalDevice"), | 
 | 237 |              Param("VkFormat", "format"), | 
 | 238 |              Param("VkFormatProperties*", "pFormatInfo")]), | 
 | 239 |  | 
| Jon Ashburn | 42540ef | 2015-07-23 18:48:20 -0600 | [diff] [blame^] | 240 |         Proto("VkResult", "GetPhysicalDeviceImageFormatProperties", | 
 | 241 |             [Param("VkPhysicalDevice", "physicalDevice"), | 
 | 242 |              Param("VkFormat", "format"), | 
 | 243 |              Param("VkImageType", "type"), | 
 | 244 |              Param("VkImageTiling", "tiling"), | 
 | 245 |              Param("VkImageUsageFlags", "usage"), | 
 | 246 |              Param("VkImageFormatProperties*", "pImageFormatProperties")]), | 
 | 247 |  | 
| Chris Forbes | bc0bb77 | 2015-06-21 22:55:02 +1200 | [diff] [blame] | 248 |         Proto("VkResult", "GetPhysicalDeviceLimits", | 
 | 249 |             [Param("VkPhysicalDevice", "physicalDevice"), | 
 | 250 |              Param("VkPhysicalDeviceLimits*", "pLimits")]), | 
 | 251 |  | 
| Courtney Goeltzenleuchter | 2d3ba63 | 2015-07-12 14:35:22 -0600 | [diff] [blame] | 252 |         Proto("PFN_vkVoidFunction", "GetInstanceProcAddr", | 
| Jon Ashburn | b0fbe91 | 2015-05-06 10:15:07 -0600 | [diff] [blame] | 253 |             [Param("VkInstance", "instance"), | 
 | 254 |              Param("const char*", "pName")]), | 
 | 255 |  | 
| Courtney Goeltzenleuchter | 2d3ba63 | 2015-07-12 14:35:22 -0600 | [diff] [blame] | 256 |         Proto("PFN_vkVoidFunction", "GetDeviceProcAddr", | 
| Jon Ashburn | 8d1b0b5 | 2015-05-18 13:20:15 -0600 | [diff] [blame] | 257 |             [Param("VkDevice", "device"), | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 258 |              Param("const char*", "pName")]), | 
| Chia-I Wu | f2ffc52 | 2015-01-04 14:51:06 +0800 | [diff] [blame] | 259 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 260 |         Proto("VkResult", "CreateDevice", | 
| Tobin Ehlis | a30e7e5 | 2015-07-06 14:02:36 -0600 | [diff] [blame] | 261 |             [Param("VkPhysicalDevice", "physicalDevice"), | 
| Courtney Goeltzenleuchter | 95487bc | 2015-04-14 18:48:46 -0600 | [diff] [blame] | 262 |              Param("const VkDeviceCreateInfo*", "pCreateInfo"), | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 263 |              Param("VkDevice*", "pDevice")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 264 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 265 |         Proto("VkResult", "DestroyDevice", | 
 | 266 |             [Param("VkDevice", "device")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 267 |  | 
| Tobin Ehlis | a30e7e5 | 2015-07-06 14:02:36 -0600 | [diff] [blame] | 268 |         Proto("VkResult", "GetPhysicalDeviceProperties", | 
 | 269 |             [Param("VkPhysicalDevice", "physicalDevice"), | 
 | 270 |              Param("VkPhysicalDeviceProperties*", "pProperties")]), | 
| Tony Barbour | 59a4732 | 2015-06-24 16:06:58 -0600 | [diff] [blame] | 271 |  | 
| Tobin Ehlis | a30e7e5 | 2015-07-06 14:02:36 -0600 | [diff] [blame] | 272 |         Proto("VkResult", "GetPhysicalDeviceQueueCount", | 
 | 273 |             [Param("VkPhysicalDevice", "physicalDevice"), | 
 | 274 |              Param("uint32_t*", "pCount")]), | 
 | 275 |  | 
 | 276 |         Proto("VkResult", "GetPhysicalDeviceQueueProperties", | 
 | 277 |             [Param("VkPhysicalDevice", "physicalDevice"), | 
 | 278 |              Param("uint32_t", "count"), | 
 | 279 |              Param("VkPhysicalDeviceQueueProperties*", "pQueueProperties")]), | 
 | 280 |  | 
 | 281 |         Proto("VkResult", "GetPhysicalDeviceMemoryProperties", | 
 | 282 |             [Param("VkPhysicalDevice", "physicalDevice"), | 
 | 283 |              Param("VkPhysicalDeviceMemoryProperties*", "pMemoryProperties")]), | 
| Tony Barbour | 59a4732 | 2015-06-24 16:06:58 -0600 | [diff] [blame] | 284 |  | 
 | 285 |         Proto("VkResult", "GetGlobalExtensionProperties", | 
| Courtney Goeltzenleuchter | 110fdf9 | 2015-06-29 15:39:26 -0600 | [diff] [blame] | 286 |             [Param("const char*", "pLayerName"), | 
 | 287 |              Param("uint32_t*", "pCount"), | 
| Tony Barbour | 59a4732 | 2015-06-24 16:06:58 -0600 | [diff] [blame] | 288 |              Param("VkExtensionProperties*", "pProperties")]), | 
 | 289 |  | 
| Tobin Ehlis | a30e7e5 | 2015-07-06 14:02:36 -0600 | [diff] [blame] | 290 |         Proto("VkResult", "GetPhysicalDeviceExtensionProperties", | 
 | 291 |             [Param("VkPhysicalDevice", "physicalDevice"), | 
 | 292 |              Param("const char*", "pLayerName"), | 
 | 293 |              Param("uint32_t", "*pCount"), | 
 | 294 |              Param("VkExtensionProperties*", "pProperties")]), | 
 | 295 |  | 
| Courtney Goeltzenleuchter | 110fdf9 | 2015-06-29 15:39:26 -0600 | [diff] [blame] | 296 |         Proto("VkResult", "GetGlobalLayerProperties", | 
 | 297 |             [Param("uint32_t*", "pCount"), | 
| Tobin Ehlis | a30e7e5 | 2015-07-06 14:02:36 -0600 | [diff] [blame] | 298 |              Param("VkLayerProperties*", "pProperties")]), | 
 | 299 |  | 
 | 300 |         Proto("VkResult", "GetPhysicalDeviceLayerProperties", | 
 | 301 |             [Param("VkPhysicalDevice", "physicalDevice"), | 
 | 302 |              Param("uint32_t", "*pCount"), | 
 | 303 |              Param("VkLayerProperties*", "pProperties")]), | 
| Tobin Ehlis | 0193901 | 2015-04-16 12:51:37 -0600 | [diff] [blame] | 304 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 305 |         Proto("VkResult", "GetDeviceQueue", | 
 | 306 |             [Param("VkDevice", "device"), | 
| Courtney Goeltzenleuchter | 18248e6 | 2015-03-05 18:09:39 -0700 | [diff] [blame] | 307 |              Param("uint32_t", "queueNodeIndex"), | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 308 |              Param("uint32_t", "queueIndex"), | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 309 |              Param("VkQueue*", "pQueue")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 310 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 311 |         Proto("VkResult", "QueueSubmit", | 
 | 312 |             [Param("VkQueue", "queue"), | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 313 |              Param("uint32_t", "cmdBufferCount"), | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 314 |              Param("const VkCmdBuffer*", "pCmdBuffers"), | 
 | 315 |              Param("VkFence", "fence")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 316 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 317 |         Proto("VkResult", "QueueWaitIdle", | 
 | 318 |             [Param("VkQueue", "queue")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 319 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 320 |         Proto("VkResult", "DeviceWaitIdle", | 
 | 321 |             [Param("VkDevice", "device")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 322 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 323 |         Proto("VkResult", "AllocMemory", | 
 | 324 |             [Param("VkDevice", "device"), | 
| Courtney Goeltzenleuchter | 95487bc | 2015-04-14 18:48:46 -0600 | [diff] [blame] | 325 |              Param("const VkMemoryAllocInfo*", "pAllocInfo"), | 
| Tony Barbour | d1c3572 | 2015-04-16 15:59:00 -0600 | [diff] [blame] | 326 |              Param("VkDeviceMemory*", "pMem")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 327 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 328 |         Proto("VkResult", "FreeMemory", | 
| Mike Stroyan | b050c68 | 2015-04-17 12:36:38 -0600 | [diff] [blame] | 329 |             [Param("VkDevice", "device"), | 
 | 330 |              Param("VkDeviceMemory", "mem")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 331 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 332 |         Proto("VkResult", "MapMemory", | 
| Mike Stroyan | b050c68 | 2015-04-17 12:36:38 -0600 | [diff] [blame] | 333 |             [Param("VkDevice", "device"), | 
 | 334 |              Param("VkDeviceMemory", "mem"), | 
| Tony Barbour | 71a8512 | 2015-04-16 19:09:28 -0600 | [diff] [blame] | 335 |              Param("VkDeviceSize", "offset"), | 
 | 336 |              Param("VkDeviceSize", "size"), | 
| Tobin Ehlis | a30e7e5 | 2015-07-06 14:02:36 -0600 | [diff] [blame] | 337 |              Param("VkMemoryMapFlags", "flags"), | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 338 |              Param("void**", "ppData")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 339 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 340 |         Proto("VkResult", "UnmapMemory", | 
| Mike Stroyan | b050c68 | 2015-04-17 12:36:38 -0600 | [diff] [blame] | 341 |             [Param("VkDevice", "device"), | 
 | 342 |              Param("VkDeviceMemory", "mem")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 343 |  | 
| Courtney Goeltzenleuchter | f69f8a2 | 2015-04-29 17:16:21 -0600 | [diff] [blame] | 344 |         Proto("VkResult", "FlushMappedMemoryRanges", | 
| Mike Stroyan | b050c68 | 2015-04-17 12:36:38 -0600 | [diff] [blame] | 345 |             [Param("VkDevice", "device"), | 
| Courtney Goeltzenleuchter | f69f8a2 | 2015-04-29 17:16:21 -0600 | [diff] [blame] | 346 |              Param("uint32_t", "memRangeCount"), | 
 | 347 |              Param("const VkMappedMemoryRange*", "pMemRanges")]), | 
 | 348 |  | 
 | 349 |         Proto("VkResult", "InvalidateMappedMemoryRanges", | 
 | 350 |             [Param("VkDevice", "device"), | 
 | 351 |              Param("uint32_t", "memRangeCount"), | 
 | 352 |              Param("const VkMappedMemoryRange*", "pMemRanges")]), | 
| Tony Barbour | b125054 | 2015-04-16 19:23:13 -0600 | [diff] [blame] | 353 |  | 
| Courtney Goeltzenleuchter | fb71f22 | 2015-07-09 21:57:28 -0600 | [diff] [blame] | 354 |         Proto("VkResult", "GetDeviceMemoryCommitment", | 
 | 355 |             [Param("VkDevice", "device"), | 
 | 356 |              Param("VkDeviceMemory", "memory"), | 
 | 357 |              Param("VkDeviceSize*", "pCommittedMemoryInBytes")]), | 
 | 358 |  | 
| Tobin Ehlis | a30e7e5 | 2015-07-06 14:02:36 -0600 | [diff] [blame] | 359 |         Proto("VkResult", "BindBufferMemory", | 
 | 360 |             [Param("VkDevice", "device"), | 
 | 361 |              Param("VkBuffer", "buffer"), | 
 | 362 |              Param("VkDeviceMemory", "mem"), | 
 | 363 |              Param("VkDeviceSize", "memOffset")]), | 
 | 364 |  | 
 | 365 |         Proto("VkResult", "BindImageMemory", | 
 | 366 |             [Param("VkDevice", "device"), | 
 | 367 |              Param("VkImage", "image"), | 
 | 368 |              Param("VkDeviceMemory", "mem"), | 
 | 369 |              Param("VkDeviceSize", "memOffset")]), | 
 | 370 |  | 
| Tony Barbour | 1d2cd3f | 2015-07-03 10:33:54 -0600 | [diff] [blame] | 371 |         Proto("VkResult", "GetBufferMemoryRequirements", | 
| Mike Stroyan | b050c68 | 2015-04-17 12:36:38 -0600 | [diff] [blame] | 372 |             [Param("VkDevice", "device"), | 
| Tony Barbour | 1d2cd3f | 2015-07-03 10:33:54 -0600 | [diff] [blame] | 373 |              Param("VkBuffer", "buffer"), | 
| Tony Barbour | 59a4732 | 2015-06-24 16:06:58 -0600 | [diff] [blame] | 374 |              Param("VkMemoryRequirements*", "pMemoryRequirements")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 375 |  | 
| Tony Barbour | 1d2cd3f | 2015-07-03 10:33:54 -0600 | [diff] [blame] | 376 |         Proto("VkResult", "GetImageMemoryRequirements", | 
| Mark Lobodzinski | 942b172 | 2015-05-11 17:21:15 -0500 | [diff] [blame] | 377 |             [Param("VkDevice", "device"), | 
| Tony Barbour | 1d2cd3f | 2015-07-03 10:33:54 -0600 | [diff] [blame] | 378 |              Param("VkImage", "image"), | 
 | 379 |              Param("VkMemoryRequirements*", "pMemoryRequirements")]), | 
 | 380 |  | 
| Mark Lobodzinski | 16e8bef | 2015-07-03 15:58:09 -0600 | [diff] [blame] | 381 |         Proto("VkResult", "GetImageSparseMemoryRequirements", | 
 | 382 |             [Param("VkDevice", "device"), | 
 | 383 |              Param("VkImage", "image"), | 
 | 384 |              Param("uint32_t*", "pNumRequirements"), | 
| Tobin Ehlis | a30e7e5 | 2015-07-06 14:02:36 -0600 | [diff] [blame] | 385 |              Param("VkSparseImageMemoryRequirements*", "pSparseMemoryRequirements")]), | 
| Mark Lobodzinski | 16e8bef | 2015-07-03 15:58:09 -0600 | [diff] [blame] | 386 |  | 
 | 387 |         Proto("VkResult", "GetPhysicalDeviceSparseImageFormatProperties", | 
 | 388 |             [Param("VkPhysicalDevice", "physicalDevice"), | 
 | 389 |              Param("VkFormat", "format"), | 
 | 390 |              Param("VkImageType", "type"), | 
 | 391 |              Param("uint32_t", "samples"), | 
 | 392 |              Param("VkImageUsageFlags", "usage"), | 
 | 393 |              Param("VkImageTiling", "tiling"), | 
 | 394 |              Param("uint32_t*", "pNumProperties"), | 
| Tobin Ehlis | a30e7e5 | 2015-07-06 14:02:36 -0600 | [diff] [blame] | 395 |              Param("VkSparseImageFormatProperties*", "pProperties")]), | 
| Mark Lobodzinski | 16e8bef | 2015-07-03 15:58:09 -0600 | [diff] [blame] | 396 |  | 
| Mark Lobodzinski | 942b172 | 2015-05-11 17:21:15 -0500 | [diff] [blame] | 397 |         Proto("VkResult", "QueueBindSparseBufferMemory", | 
| Mark Lobodzinski | 40f7f40 | 2015-04-16 11:44:05 -0500 | [diff] [blame] | 398 |             [Param("VkQueue", "queue"), | 
| Mark Lobodzinski | 942b172 | 2015-05-11 17:21:15 -0500 | [diff] [blame] | 399 |              Param("VkBuffer", "buffer"), | 
| Mark Lobodzinski | 16e8bef | 2015-07-03 15:58:09 -0600 | [diff] [blame] | 400 |              Param("uint32_t", "numBindings"), | 
| Tobin Ehlis | a30e7e5 | 2015-07-06 14:02:36 -0600 | [diff] [blame] | 401 |              Param("const VkSparseMemoryBindInfo*", "pBindInfo")]), | 
| Mark Lobodzinski | 16e8bef | 2015-07-03 15:58:09 -0600 | [diff] [blame] | 402 |  | 
 | 403 |         Proto("VkResult", "QueueBindSparseImageOpaqueMemory", | 
 | 404 |             [Param("VkQueue", "queue"), | 
 | 405 |              Param("VkImage", "image"), | 
 | 406 |              Param("uint32_t", "numBindings"), | 
| Tobin Ehlis | a30e7e5 | 2015-07-06 14:02:36 -0600 | [diff] [blame] | 407 |              Param("const VkSparseMemoryBindInfo*", "pBindInfo")]), | 
| Chia-I Wu | 1a28fe0 | 2015-01-01 07:55:04 +0800 | [diff] [blame] | 408 |  | 
| Mark Lobodzinski | 942b172 | 2015-05-11 17:21:15 -0500 | [diff] [blame] | 409 |         Proto("VkResult", "QueueBindSparseImageMemory", | 
| Mark Lobodzinski | 40f7f40 | 2015-04-16 11:44:05 -0500 | [diff] [blame] | 410 |             [Param("VkQueue", "queue"), | 
 | 411 |              Param("VkImage", "image"), | 
| Mark Lobodzinski | 16e8bef | 2015-07-03 15:58:09 -0600 | [diff] [blame] | 412 |              Param("uint32_t", "numBindings"), | 
| Tobin Ehlis | a30e7e5 | 2015-07-06 14:02:36 -0600 | [diff] [blame] | 413 |              Param("const VkSparseImageMemoryBindInfo*", "pBindInfo")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 414 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 415 |         Proto("VkResult", "CreateFence", | 
 | 416 |             [Param("VkDevice", "device"), | 
 | 417 |              Param("const VkFenceCreateInfo*", "pCreateInfo"), | 
 | 418 |              Param("VkFence*", "pFence")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 419 |  | 
| Tony Barbour | 1d2cd3f | 2015-07-03 10:33:54 -0600 | [diff] [blame] | 420 |         Proto("VkResult", "DestroyFence", | 
 | 421 |             [Param("VkDevice", "device"), | 
 | 422 |              Param("VkFence", "fence")]), | 
 | 423 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 424 |         Proto("VkResult", "ResetFences", | 
 | 425 |             [Param("VkDevice", "device"), | 
| Mark Lobodzinski | 148e158 | 2015-04-07 16:07:57 -0500 | [diff] [blame] | 426 |              Param("uint32_t", "fenceCount"), | 
| Courtney Goeltzenleuchter | 2bf8f90 | 2015-06-18 17:28:20 -0600 | [diff] [blame] | 427 |              Param("const VkFence*", "pFences")]), | 
| Mark Lobodzinski | 148e158 | 2015-04-07 16:07:57 -0500 | [diff] [blame] | 428 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 429 |         Proto("VkResult", "GetFenceStatus", | 
| Mike Stroyan | b050c68 | 2015-04-17 12:36:38 -0600 | [diff] [blame] | 430 |             [Param("VkDevice", "device"), | 
 | 431 |              Param("VkFence", "fence")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 432 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 433 |         Proto("VkResult", "WaitForFences", | 
 | 434 |             [Param("VkDevice", "device"), | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 435 |              Param("uint32_t", "fenceCount"), | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 436 |              Param("const VkFence*", "pFences"), | 
| Courtney Goeltzenleuchter | cd2a099 | 2015-07-09 11:44:38 -0600 | [diff] [blame] | 437 |              Param("VkBool32", "waitAll"), | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 438 |              Param("uint64_t", "timeout")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 439 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 440 |         Proto("VkResult", "CreateSemaphore", | 
 | 441 |             [Param("VkDevice", "device"), | 
 | 442 |              Param("const VkSemaphoreCreateInfo*", "pCreateInfo"), | 
 | 443 |              Param("VkSemaphore*", "pSemaphore")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 444 |  | 
| Tony Barbour | 1d2cd3f | 2015-07-03 10:33:54 -0600 | [diff] [blame] | 445 |         Proto("VkResult", "DestroySemaphore", | 
 | 446 |             [Param("VkDevice", "device"), | 
 | 447 |              Param("VkSemaphore", "semaphore")]), | 
 | 448 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 449 |         Proto("VkResult", "QueueSignalSemaphore", | 
 | 450 |             [Param("VkQueue", "queue"), | 
 | 451 |              Param("VkSemaphore", "semaphore")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 452 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 453 |         Proto("VkResult", "QueueWaitSemaphore", | 
 | 454 |             [Param("VkQueue", "queue"), | 
 | 455 |              Param("VkSemaphore", "semaphore")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 456 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 457 |         Proto("VkResult", "CreateEvent", | 
 | 458 |             [Param("VkDevice", "device"), | 
 | 459 |              Param("const VkEventCreateInfo*", "pCreateInfo"), | 
 | 460 |              Param("VkEvent*", "pEvent")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 461 |  | 
| Tony Barbour | 1d2cd3f | 2015-07-03 10:33:54 -0600 | [diff] [blame] | 462 |         Proto("VkResult", "DestroyEvent", | 
 | 463 |             [Param("VkDevice", "device"), | 
 | 464 |              Param("VkEvent", "event")]), | 
 | 465 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 466 |         Proto("VkResult", "GetEventStatus", | 
| Mike Stroyan | b050c68 | 2015-04-17 12:36:38 -0600 | [diff] [blame] | 467 |             [Param("VkDevice", "device"), | 
 | 468 |              Param("VkEvent", "event")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 469 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 470 |         Proto("VkResult", "SetEvent", | 
| Mike Stroyan | b050c68 | 2015-04-17 12:36:38 -0600 | [diff] [blame] | 471 |             [Param("VkDevice", "device"), | 
 | 472 |              Param("VkEvent", "event")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 473 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 474 |         Proto("VkResult", "ResetEvent", | 
| Mike Stroyan | b050c68 | 2015-04-17 12:36:38 -0600 | [diff] [blame] | 475 |             [Param("VkDevice", "device"), | 
 | 476 |              Param("VkEvent", "event")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 477 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 478 |         Proto("VkResult", "CreateQueryPool", | 
 | 479 |             [Param("VkDevice", "device"), | 
 | 480 |              Param("const VkQueryPoolCreateInfo*", "pCreateInfo"), | 
 | 481 |              Param("VkQueryPool*", "pQueryPool")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 482 |  | 
| Tony Barbour | 1d2cd3f | 2015-07-03 10:33:54 -0600 | [diff] [blame] | 483 |         Proto("VkResult", "DestroyQueryPool", | 
 | 484 |             [Param("VkDevice", "device"), | 
 | 485 |              Param("VkQueryPool", "queryPool")]), | 
 | 486 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 487 |         Proto("VkResult", "GetQueryPoolResults", | 
| Mike Stroyan | b050c68 | 2015-04-17 12:36:38 -0600 | [diff] [blame] | 488 |             [Param("VkDevice", "device"), | 
 | 489 |              Param("VkQueryPool", "queryPool"), | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 490 |              Param("uint32_t", "startQuery"), | 
 | 491 |              Param("uint32_t", "queryCount"), | 
 | 492 |              Param("size_t*", "pDataSize"), | 
| Tony Barbour | d1c3572 | 2015-04-16 15:59:00 -0600 | [diff] [blame] | 493 |              Param("void*", "pData"), | 
 | 494 |              Param("VkQueryResultFlags", "flags")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 495 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 496 |         Proto("VkResult", "CreateBuffer", | 
 | 497 |             [Param("VkDevice", "device"), | 
| Courtney Goeltzenleuchter | 95487bc | 2015-04-14 18:48:46 -0600 | [diff] [blame] | 498 |              Param("const VkBufferCreateInfo*", "pCreateInfo"), | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 499 |              Param("VkBuffer*", "pBuffer")]), | 
| Chia-I Wu | 1a28fe0 | 2015-01-01 07:55:04 +0800 | [diff] [blame] | 500 |  | 
| Tony Barbour | 1d2cd3f | 2015-07-03 10:33:54 -0600 | [diff] [blame] | 501 |         Proto("VkResult", "DestroyBuffer", | 
 | 502 |             [Param("VkDevice", "device"), | 
 | 503 |              Param("VkBuffer", "buffer")]), | 
 | 504 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 505 |         Proto("VkResult", "CreateBufferView", | 
 | 506 |             [Param("VkDevice", "device"), | 
| Courtney Goeltzenleuchter | 95487bc | 2015-04-14 18:48:46 -0600 | [diff] [blame] | 507 |              Param("const VkBufferViewCreateInfo*", "pCreateInfo"), | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 508 |              Param("VkBufferView*", "pView")]), | 
| Chia-I Wu | 1a28fe0 | 2015-01-01 07:55:04 +0800 | [diff] [blame] | 509 |  | 
| Tony Barbour | 1d2cd3f | 2015-07-03 10:33:54 -0600 | [diff] [blame] | 510 |         Proto("VkResult", "DestroyBufferView", | 
 | 511 |             [Param("VkDevice", "device"), | 
 | 512 |              Param("VkBufferView", "bufferView")]), | 
 | 513 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 514 |         Proto("VkResult", "CreateImage", | 
 | 515 |             [Param("VkDevice", "device"), | 
 | 516 |              Param("const VkImageCreateInfo*", "pCreateInfo"), | 
 | 517 |              Param("VkImage*", "pImage")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 518 |  | 
| Tony Barbour | 1d2cd3f | 2015-07-03 10:33:54 -0600 | [diff] [blame] | 519 |         Proto("VkResult", "DestroyImage", | 
 | 520 |             [Param("VkDevice", "device"), | 
 | 521 |              Param("VkImage", "image")]), | 
 | 522 |  | 
| Tony Barbour | 59a4732 | 2015-06-24 16:06:58 -0600 | [diff] [blame] | 523 |         Proto("VkResult", "GetImageSubresourceLayout", | 
| Mike Stroyan | b050c68 | 2015-04-17 12:36:38 -0600 | [diff] [blame] | 524 |             [Param("VkDevice", "device"), | 
 | 525 |              Param("VkImage", "image"), | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 526 |              Param("const VkImageSubresource*", "pSubresource"), | 
| Tony Barbour | 59a4732 | 2015-06-24 16:06:58 -0600 | [diff] [blame] | 527 |              Param("VkSubresourceLayout*", "pLayout")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 528 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 529 |         Proto("VkResult", "CreateImageView", | 
 | 530 |             [Param("VkDevice", "device"), | 
 | 531 |              Param("const VkImageViewCreateInfo*", "pCreateInfo"), | 
 | 532 |              Param("VkImageView*", "pView")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 533 |  | 
| Tony Barbour | 1d2cd3f | 2015-07-03 10:33:54 -0600 | [diff] [blame] | 534 |         Proto("VkResult", "DestroyImageView", | 
 | 535 |             [Param("VkDevice", "device"), | 
 | 536 |              Param("VkImageView", "imageView")]), | 
 | 537 |  | 
| Chia-I Wu | 08accc6 | 2015-07-07 11:50:03 +0800 | [diff] [blame] | 538 |         Proto("VkResult", "CreateAttachmentView", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 539 |             [Param("VkDevice", "device"), | 
| Chia-I Wu | 08accc6 | 2015-07-07 11:50:03 +0800 | [diff] [blame] | 540 |              Param("const VkAttachmentViewCreateInfo*", "pCreateInfo"), | 
 | 541 |              Param("VkAttachmentView*", "pView")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 542 |  | 
| Tony Barbour | 1d2cd3f | 2015-07-03 10:33:54 -0600 | [diff] [blame] | 543 |         Proto("VkResult", "DestroyAttachmentView", | 
 | 544 |             [Param("VkDevice", "device"), | 
 | 545 |              Param("VkAttachmentView", "attachmentView")]), | 
 | 546 |  | 
| Courtney Goeltzenleuchter | 2d2cb68 | 2015-06-24 18:24:19 -0600 | [diff] [blame] | 547 |         Proto("VkResult", "CreateShaderModule", | 
 | 548 |             [Param("VkDevice", "device"), | 
 | 549 |              Param("const VkShaderModuleCreateInfo*", "pCreateInfo"), | 
 | 550 |              Param("VkShaderModule*", "pShaderModule")]), | 
 | 551 |  | 
| Tony Barbour | 1d2cd3f | 2015-07-03 10:33:54 -0600 | [diff] [blame] | 552 |         Proto("VkResult", "DestroyShaderModule", | 
 | 553 |             [Param("VkDevice", "device"), | 
 | 554 |              Param("VkShaderModule", "shaderModule")]), | 
 | 555 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 556 |         Proto("VkResult", "CreateShader", | 
 | 557 |             [Param("VkDevice", "device"), | 
 | 558 |              Param("const VkShaderCreateInfo*", "pCreateInfo"), | 
 | 559 |              Param("VkShader*", "pShader")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 560 |  | 
| Tony Barbour | 1d2cd3f | 2015-07-03 10:33:54 -0600 | [diff] [blame] | 561 |         Proto("VkResult", "DestroyShader", | 
 | 562 |             [Param("VkDevice", "device"), | 
 | 563 |              Param("VkShader", "shader")]), | 
 | 564 |  | 
| Jon Ashburn | c669cc6 | 2015-07-09 15:02:25 -0600 | [diff] [blame] | 565 |         Proto("VkResult", "CreatePipelineCache", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 566 |             [Param("VkDevice", "device"), | 
| Jon Ashburn | c669cc6 | 2015-07-09 15:02:25 -0600 | [diff] [blame] | 567 |              Param("const VkPipelineCacheCreateInfo*", "pCreateInfo"), | 
 | 568 |              Param("VkPipelineCache*", "pPipelineCache")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 569 |  | 
| Jon Ashburn | c669cc6 | 2015-07-09 15:02:25 -0600 | [diff] [blame] | 570 |         Proto("VkResult", "DestroyPipelineCache", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 571 |             [Param("VkDevice", "device"), | 
| Jon Ashburn | c669cc6 | 2015-07-09 15:02:25 -0600 | [diff] [blame] | 572 |              Param("VkPipelineCache", "pipelineCache")]), | 
| Courtney Goeltzenleuchter | 0d40f15 | 2015-03-25 15:37:49 -0600 | [diff] [blame] | 573 |  | 
| Jon Ashburn | c669cc6 | 2015-07-09 15:02:25 -0600 | [diff] [blame] | 574 |         Proto("size_t", "GetPipelineCacheSize", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 575 |             [Param("VkDevice", "device"), | 
| Jon Ashburn | c669cc6 | 2015-07-09 15:02:25 -0600 | [diff] [blame] | 576 |              Param("VkPipelineCache", "pipelineCache")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 577 |  | 
| Jon Ashburn | c669cc6 | 2015-07-09 15:02:25 -0600 | [diff] [blame] | 578 |         Proto("VkResult", "GetPipelineCacheData", | 
| Mike Stroyan | b050c68 | 2015-04-17 12:36:38 -0600 | [diff] [blame] | 579 |             [Param("VkDevice", "device"), | 
| Jon Ashburn | c669cc6 | 2015-07-09 15:02:25 -0600 | [diff] [blame] | 580 |              Param("VkPipelineCache", "pipelineCache"), | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 581 |              Param("void*", "pData")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 582 |  | 
| Jon Ashburn | c669cc6 | 2015-07-09 15:02:25 -0600 | [diff] [blame] | 583 |         Proto("VkResult", "MergePipelineCaches", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 584 |             [Param("VkDevice", "device"), | 
| Jon Ashburn | c669cc6 | 2015-07-09 15:02:25 -0600 | [diff] [blame] | 585 |              Param("VkPipelineCache", "destCache"), | 
 | 586 |              Param("uint32_t", "srcCacheCount"), | 
 | 587 |              Param("const VkPipelineCache*", "pSrcCaches")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 588 |  | 
| Jon Ashburn | c669cc6 | 2015-07-09 15:02:25 -0600 | [diff] [blame] | 589 |         Proto("VkResult", "CreateGraphicsPipelines", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 590 |             [Param("VkDevice", "device"), | 
| Jon Ashburn | c669cc6 | 2015-07-09 15:02:25 -0600 | [diff] [blame] | 591 |              Param("VkPipelineCache", "pipelineCache"), | 
 | 592 |              Param("uint32_t", "count"), | 
 | 593 |              Param("const VkGraphicsPipelineCreateInfo*", "pCreateInfos"), | 
 | 594 |              Param("VkPipeline*", "pPipelines")]), | 
 | 595 |  | 
 | 596 |         Proto("VkResult", "CreateComputePipelines", | 
 | 597 |             [Param("VkDevice", "device"), | 
 | 598 |              Param("VkPipelineCache", "pipelineCache"), | 
 | 599 |              Param("uint32_t", "count"), | 
 | 600 |              Param("const VkComputePipelineCreateInfo*", "pCreateInfos"), | 
 | 601 |              Param("VkPipeline*", "pPipelines")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 602 |  | 
| Tony Barbour | 1d2cd3f | 2015-07-03 10:33:54 -0600 | [diff] [blame] | 603 |         Proto("VkResult", "DestroyPipeline", | 
 | 604 |             [Param("VkDevice", "device"), | 
 | 605 |              Param("VkPipeline", "pipeline")]), | 
 | 606 |  | 
| Mark Lobodzinski | 0fadf5f | 2015-04-17 14:11:39 -0500 | [diff] [blame] | 607 |         Proto("VkResult", "CreatePipelineLayout", | 
 | 608 |             [Param("VkDevice", "device"), | 
 | 609 |              Param("const VkPipelineLayoutCreateInfo*", "pCreateInfo"), | 
 | 610 |              Param("VkPipelineLayout*", "pPipelineLayout")]), | 
 | 611 |  | 
| Tony Barbour | 1d2cd3f | 2015-07-03 10:33:54 -0600 | [diff] [blame] | 612 |         Proto("VkResult", "DestroyPipelineLayout", | 
 | 613 |             [Param("VkDevice", "device"), | 
 | 614 |              Param("VkPipelineLayout", "pipelineLayout")]), | 
 | 615 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 616 |         Proto("VkResult", "CreateSampler", | 
 | 617 |             [Param("VkDevice", "device"), | 
 | 618 |              Param("const VkSamplerCreateInfo*", "pCreateInfo"), | 
 | 619 |              Param("VkSampler*", "pSampler")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 620 |  | 
| Tony Barbour | 1d2cd3f | 2015-07-03 10:33:54 -0600 | [diff] [blame] | 621 |         Proto("VkResult", "DestroySampler", | 
 | 622 |             [Param("VkDevice", "device"), | 
 | 623 |              Param("VkSampler", "sampler")]), | 
 | 624 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 625 |         Proto("VkResult", "CreateDescriptorSetLayout", | 
 | 626 |             [Param("VkDevice", "device"), | 
 | 627 |              Param("const VkDescriptorSetLayoutCreateInfo*", "pCreateInfo"), | 
 | 628 |              Param("VkDescriptorSetLayout*", "pSetLayout")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 629 |  | 
| Tony Barbour | 1d2cd3f | 2015-07-03 10:33:54 -0600 | [diff] [blame] | 630 |         Proto("VkResult", "DestroyDescriptorSetLayout", | 
 | 631 |             [Param("VkDevice", "device"), | 
 | 632 |              Param("VkDescriptorSetLayout", "descriptorSetLayout")]), | 
 | 633 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 634 |         Proto("VkResult", "CreateDescriptorPool", | 
 | 635 |             [Param("VkDevice", "device"), | 
 | 636 |              Param("VkDescriptorPoolUsage", "poolUsage"), | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 637 |              Param("uint32_t", "maxSets"), | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 638 |              Param("const VkDescriptorPoolCreateInfo*", "pCreateInfo"), | 
 | 639 |              Param("VkDescriptorPool*", "pDescriptorPool")]), | 
| Chia-I Wu | 11078b0 | 2015-01-04 16:27:24 +0800 | [diff] [blame] | 640 |  | 
| Tony Barbour | 1d2cd3f | 2015-07-03 10:33:54 -0600 | [diff] [blame] | 641 |         Proto("VkResult", "DestroyDescriptorPool", | 
 | 642 |             [Param("VkDevice", "device"), | 
 | 643 |              Param("VkDescriptorPool", "descriptorPool")]), | 
 | 644 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 645 |         Proto("VkResult", "ResetDescriptorPool", | 
| Mike Stroyan | b050c68 | 2015-04-17 12:36:38 -0600 | [diff] [blame] | 646 |             [Param("VkDevice", "device"), | 
 | 647 |              Param("VkDescriptorPool", "descriptorPool")]), | 
| Chia-I Wu | 11078b0 | 2015-01-04 16:27:24 +0800 | [diff] [blame] | 648 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 649 |         Proto("VkResult", "AllocDescriptorSets", | 
| Mike Stroyan | b050c68 | 2015-04-17 12:36:38 -0600 | [diff] [blame] | 650 |             [Param("VkDevice", "device"), | 
 | 651 |              Param("VkDescriptorPool", "descriptorPool"), | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 652 |              Param("VkDescriptorSetUsage", "setUsage"), | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 653 |              Param("uint32_t", "count"), | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 654 |              Param("const VkDescriptorSetLayout*", "pSetLayouts"), | 
 | 655 |              Param("VkDescriptorSet*", "pDescriptorSets"), | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 656 |              Param("uint32_t*", "pCount")]), | 
| Chia-I Wu | 11078b0 | 2015-01-04 16:27:24 +0800 | [diff] [blame] | 657 |  | 
| Tony Barbour | 34ec692 | 2015-07-10 10:50:45 -0600 | [diff] [blame] | 658 |         Proto("VkResult", "FreeDescriptorSets", | 
 | 659 |             [Param("VkDevice", "device"), | 
 | 660 |              Param("VkDescriptorPool", "descriptorPool"), | 
 | 661 |              Param("uint32_t", "count"), | 
 | 662 |              Param("const VkDescriptorSet*", "pDescriptorSets")]), | 
 | 663 |  | 
| Chia-I Wu | 9d00ed7 | 2015-05-25 16:27:55 +0800 | [diff] [blame] | 664 |         Proto("VkResult", "UpdateDescriptorSets", | 
| Mike Stroyan | b050c68 | 2015-04-17 12:36:38 -0600 | [diff] [blame] | 665 |             [Param("VkDevice", "device"), | 
| Chia-I Wu | 9d00ed7 | 2015-05-25 16:27:55 +0800 | [diff] [blame] | 666 |              Param("uint32_t", "writeCount"), | 
 | 667 |              Param("const VkWriteDescriptorSet*", "pDescriptorWrites"), | 
 | 668 |              Param("uint32_t", "copyCount"), | 
 | 669 |              Param("const VkCopyDescriptorSet*", "pDescriptorCopies")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 670 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 671 |         Proto("VkResult", "CreateDynamicViewportState", | 
 | 672 |             [Param("VkDevice", "device"), | 
| Tony Barbour | 1d2cd3f | 2015-07-03 10:33:54 -0600 | [diff] [blame] | 673 |              Param("const VkDynamicViewportStateCreateInfo*", "pCreateInfo"), | 
 | 674 |              Param("VkDynamicViewportState*", "pState")]), | 
 | 675 |  | 
 | 676 |         Proto("VkResult", "DestroyDynamicViewportState", | 
 | 677 |             [Param("VkDevice", "device"), | 
 | 678 |              Param("VkDynamicViewportState", "dynamicViewportState")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 679 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 680 |         Proto("VkResult", "CreateDynamicRasterState", | 
 | 681 |             [Param("VkDevice", "device"), | 
| Tony Barbour | 1d2cd3f | 2015-07-03 10:33:54 -0600 | [diff] [blame] | 682 |              Param("const VkDynamicRasterStateCreateInfo*", "pCreateInfo"), | 
 | 683 |              Param("VkDynamicRasterState*", "pState")]), | 
 | 684 |  | 
 | 685 |         Proto("VkResult", "DestroyDynamicRasterState", | 
 | 686 |             [Param("VkDevice", "device"), | 
 | 687 |              Param("VkDynamicRasterState", "dynamicRasterState")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 688 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 689 |         Proto("VkResult", "CreateDynamicColorBlendState", | 
 | 690 |             [Param("VkDevice", "device"), | 
| Tony Barbour | 1d2cd3f | 2015-07-03 10:33:54 -0600 | [diff] [blame] | 691 |              Param("const VkDynamicColorBlendStateCreateInfo*", "pCreateInfo"), | 
 | 692 |              Param("VkDynamicColorBlendState*", "pState")]), | 
 | 693 |  | 
 | 694 |         Proto("VkResult", "DestroyDynamicColorBlendState", | 
 | 695 |             [Param("VkDevice", "device"), | 
 | 696 |              Param("VkDynamicColorBlendState", "dynamicColorBlendState")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 697 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 698 |         Proto("VkResult", "CreateDynamicDepthStencilState", | 
 | 699 |             [Param("VkDevice", "device"), | 
| Tony Barbour | 1d2cd3f | 2015-07-03 10:33:54 -0600 | [diff] [blame] | 700 |              Param("const VkDynamicDepthStencilStateCreateInfo*", "pCreateInfo"), | 
 | 701 |              Param("VkDynamicDepthStencilState*", "pState")]), | 
 | 702 |  | 
 | 703 |         Proto("VkResult", "DestroyDynamicDepthStencilState", | 
 | 704 |             [Param("VkDevice", "device"), | 
 | 705 |              Param("VkDynamicDepthStencilState", "dynamicDepthStencilState")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 706 |  | 
| Cody Northrop | e62183e | 2015-07-09 18:08:05 -0600 | [diff] [blame] | 707 |         Proto("VkResult", "CreateCommandPool", | 
 | 708 |             [Param("VkDevice", "device"), | 
 | 709 |              Param("const VkCmdPoolCreateInfo*", "pCreateInfo"), | 
 | 710 |              Param("VkCmdPool*", "pCmdPool")]), | 
 | 711 |  | 
 | 712 |         Proto("VkResult", "DestroyCommandPool", | 
 | 713 |             [Param("VkDevice", "device"), | 
 | 714 |              Param("VkCmdPool", "cmdPool")]), | 
 | 715 |  | 
 | 716 |         Proto("VkResult", "ResetCommandPool", | 
 | 717 |             [Param("VkDevice", "device"), | 
 | 718 |              Param("VkCmdPool", "cmdPool"), | 
 | 719 |              Param("VkCmdPoolResetFlags", "flags")]), | 
 | 720 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 721 |         Proto("VkResult", "CreateCommandBuffer", | 
 | 722 |             [Param("VkDevice", "device"), | 
 | 723 |              Param("const VkCmdBufferCreateInfo*", "pCreateInfo"), | 
 | 724 |              Param("VkCmdBuffer*", "pCmdBuffer")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 725 |  | 
| Tony Barbour | 1d2cd3f | 2015-07-03 10:33:54 -0600 | [diff] [blame] | 726 |         Proto("VkResult", "DestroyCommandBuffer", | 
 | 727 |             [Param("VkDevice", "device"), | 
| Tobin Ehlis | a30e7e5 | 2015-07-06 14:02:36 -0600 | [diff] [blame] | 728 |              Param("VkCmdBuffer", "commandBuffer")]), | 
| Tony Barbour | 1d2cd3f | 2015-07-03 10:33:54 -0600 | [diff] [blame] | 729 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 730 |         Proto("VkResult", "BeginCommandBuffer", | 
 | 731 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
 | 732 |              Param("const VkCmdBufferBeginInfo*", "pBeginInfo")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 733 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 734 |         Proto("VkResult", "EndCommandBuffer", | 
 | 735 |             [Param("VkCmdBuffer", "cmdBuffer")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 736 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 737 |         Proto("VkResult", "ResetCommandBuffer", | 
| Cody Northrop | e62183e | 2015-07-09 18:08:05 -0600 | [diff] [blame] | 738 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
 | 739 |              Param("VkCmdBufferResetFlags", "flags")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 740 |  | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 741 |         Proto("void", "CmdBindPipeline", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 742 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
 | 743 |              Param("VkPipelineBindPoint", "pipelineBindPoint"), | 
 | 744 |              Param("VkPipeline", "pipeline")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 745 |  | 
| Tony Barbour | 1d2cd3f | 2015-07-03 10:33:54 -0600 | [diff] [blame] | 746 |         Proto("void", "CmdBindDynamicViewportState", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 747 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
| Tony Barbour | 1d2cd3f | 2015-07-03 10:33:54 -0600 | [diff] [blame] | 748 |              Param("VkDynamicViewportState", "dynamicViewportState")]), | 
 | 749 |  | 
 | 750 |         Proto("void", "CmdBindDynamicRasterState", | 
 | 751 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
 | 752 |              Param("VkDynamicRasterState", "dynamicRasterState")]), | 
 | 753 |  | 
 | 754 |         Proto("void", "CmdBindDynamicColorBlendState", | 
 | 755 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
 | 756 |              Param("VkDynamicColorBlendState", "dynamicColorBlendState")]), | 
 | 757 |  | 
 | 758 |         Proto("void", "CmdBindDynamicDepthStencilState", | 
| Tobin Ehlis | a30e7e5 | 2015-07-06 14:02:36 -0600 | [diff] [blame] | 759 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
 | 760 |              Param("VkDynamicDepthStencilState", "dynamicDepthStencilState")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 761 |  | 
| Chia-I Wu | 53f07d7 | 2015-03-28 15:23:55 +0800 | [diff] [blame] | 762 |         Proto("void", "CmdBindDescriptorSets", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 763 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
 | 764 |              Param("VkPipelineBindPoint", "pipelineBindPoint"), | 
| Mark Lobodzinski | f2093b6 | 2015-06-15 13:21:21 -0600 | [diff] [blame] | 765 |              Param("VkPipelineLayout", "layout"), | 
| Cody Northrop | d4c1a50 | 2015-04-16 13:41:56 -0600 | [diff] [blame] | 766 |              Param("uint32_t", "firstSet"), | 
 | 767 |              Param("uint32_t", "setCount"), | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 768 |              Param("const VkDescriptorSet*", "pDescriptorSets"), | 
| Cody Northrop | d4c1a50 | 2015-04-16 13:41:56 -0600 | [diff] [blame] | 769 |              Param("uint32_t", "dynamicOffsetCount"), | 
 | 770 |              Param("const uint32_t*", "pDynamicOffsets")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 771 |  | 
| Tobin Ehlis | a30e7e5 | 2015-07-06 14:02:36 -0600 | [diff] [blame] | 772 |         Proto("void", "CmdBindIndexBuffer", | 
 | 773 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
 | 774 |              Param("VkBuffer", "buffer"), | 
 | 775 |              Param("VkDeviceSize", "offset"), | 
 | 776 |              Param("VkIndexType", "indexType")]), | 
 | 777 |  | 
| Courtney Goeltzenleuchter | f68ad72 | 2015-04-16 13:38:46 -0600 | [diff] [blame] | 778 |         Proto("void", "CmdBindVertexBuffers", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 779 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
| Courtney Goeltzenleuchter | f68ad72 | 2015-04-16 13:38:46 -0600 | [diff] [blame] | 780 |              Param("uint32_t", "startBinding"), | 
 | 781 |              Param("uint32_t", "bindingCount"), | 
 | 782 |              Param("const VkBuffer*", "pBuffers"), | 
| Tony Barbour | d1c3572 | 2015-04-16 15:59:00 -0600 | [diff] [blame] | 783 |              Param("const VkDeviceSize*", "pOffsets")]), | 
 | 784 |  | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 785 |         Proto("void", "CmdDraw", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 786 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 787 |              Param("uint32_t", "firstVertex"), | 
 | 788 |              Param("uint32_t", "vertexCount"), | 
 | 789 |              Param("uint32_t", "firstInstance"), | 
 | 790 |              Param("uint32_t", "instanceCount")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 791 |  | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 792 |         Proto("void", "CmdDrawIndexed", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 793 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 794 |              Param("uint32_t", "firstIndex"), | 
 | 795 |              Param("uint32_t", "indexCount"), | 
 | 796 |              Param("int32_t", "vertexOffset"), | 
 | 797 |              Param("uint32_t", "firstInstance"), | 
 | 798 |              Param("uint32_t", "instanceCount")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 799 |  | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 800 |         Proto("void", "CmdDrawIndirect", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 801 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
 | 802 |              Param("VkBuffer", "buffer"), | 
| Tony Barbour | d1c3572 | 2015-04-16 15:59:00 -0600 | [diff] [blame] | 803 |              Param("VkDeviceSize", "offset"), | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 804 |              Param("uint32_t", "count"), | 
 | 805 |              Param("uint32_t", "stride")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 806 |  | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 807 |         Proto("void", "CmdDrawIndexedIndirect", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 808 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
 | 809 |              Param("VkBuffer", "buffer"), | 
| Tony Barbour | d1c3572 | 2015-04-16 15:59:00 -0600 | [diff] [blame] | 810 |              Param("VkDeviceSize", "offset"), | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 811 |              Param("uint32_t", "count"), | 
 | 812 |              Param("uint32_t", "stride")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 813 |  | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 814 |         Proto("void", "CmdDispatch", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 815 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 816 |              Param("uint32_t", "x"), | 
 | 817 |              Param("uint32_t", "y"), | 
 | 818 |              Param("uint32_t", "z")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 819 |  | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 820 |         Proto("void", "CmdDispatchIndirect", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 821 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
 | 822 |              Param("VkBuffer", "buffer"), | 
| Tony Barbour | d1c3572 | 2015-04-16 15:59:00 -0600 | [diff] [blame] | 823 |              Param("VkDeviceSize", "offset")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 824 |  | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 825 |         Proto("void", "CmdCopyBuffer", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 826 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
 | 827 |              Param("VkBuffer", "srcBuffer"), | 
 | 828 |              Param("VkBuffer", "destBuffer"), | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 829 |              Param("uint32_t", "regionCount"), | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 830 |              Param("const VkBufferCopy*", "pRegions")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 831 |  | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 832 |         Proto("void", "CmdCopyImage", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 833 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
 | 834 |              Param("VkImage", "srcImage"), | 
 | 835 |              Param("VkImageLayout", "srcImageLayout"), | 
 | 836 |              Param("VkImage", "destImage"), | 
 | 837 |              Param("VkImageLayout", "destImageLayout"), | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 838 |              Param("uint32_t", "regionCount"), | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 839 |              Param("const VkImageCopy*", "pRegions")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 840 |  | 
| Courtney Goeltzenleuchter | 89299fa | 2015-03-08 17:02:18 -0600 | [diff] [blame] | 841 |         Proto("void", "CmdBlitImage", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 842 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
 | 843 |              Param("VkImage", "srcImage"), | 
 | 844 |              Param("VkImageLayout", "srcImageLayout"), | 
 | 845 |              Param("VkImage", "destImage"), | 
 | 846 |              Param("VkImageLayout", "destImageLayout"), | 
| Courtney Goeltzenleuchter | 89299fa | 2015-03-08 17:02:18 -0600 | [diff] [blame] | 847 |              Param("uint32_t", "regionCount"), | 
| Mark Lobodzinski | ee5eef1 | 2015-05-22 14:43:25 -0500 | [diff] [blame] | 848 |              Param("const VkImageBlit*", "pRegions"), | 
 | 849 |              Param("VkTexFilter", "filter")]), | 
| Courtney Goeltzenleuchter | 89299fa | 2015-03-08 17:02:18 -0600 | [diff] [blame] | 850 |  | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 851 |         Proto("void", "CmdCopyBufferToImage", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 852 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
 | 853 |              Param("VkBuffer", "srcBuffer"), | 
 | 854 |              Param("VkImage", "destImage"), | 
 | 855 |              Param("VkImageLayout", "destImageLayout"), | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 856 |              Param("uint32_t", "regionCount"), | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 857 |              Param("const VkBufferImageCopy*", "pRegions")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 858 |  | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 859 |         Proto("void", "CmdCopyImageToBuffer", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 860 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
 | 861 |              Param("VkImage", "srcImage"), | 
 | 862 |              Param("VkImageLayout", "srcImageLayout"), | 
 | 863 |              Param("VkBuffer", "destBuffer"), | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 864 |              Param("uint32_t", "regionCount"), | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 865 |              Param("const VkBufferImageCopy*", "pRegions")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 866 |  | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 867 |         Proto("void", "CmdUpdateBuffer", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 868 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
 | 869 |              Param("VkBuffer", "destBuffer"), | 
| Tony Barbour | d1c3572 | 2015-04-16 15:59:00 -0600 | [diff] [blame] | 870 |              Param("VkDeviceSize", "destOffset"), | 
 | 871 |              Param("VkDeviceSize", "dataSize"), | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 872 |              Param("const uint32_t*", "pData")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 873 |  | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 874 |         Proto("void", "CmdFillBuffer", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 875 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
 | 876 |              Param("VkBuffer", "destBuffer"), | 
| Tony Barbour | d1c3572 | 2015-04-16 15:59:00 -0600 | [diff] [blame] | 877 |              Param("VkDeviceSize", "destOffset"), | 
 | 878 |              Param("VkDeviceSize", "fillSize"), | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 879 |              Param("uint32_t", "data")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 880 |  | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 881 |         Proto("void", "CmdClearColorImage", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 882 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
 | 883 |              Param("VkImage", "image"), | 
 | 884 |              Param("VkImageLayout", "imageLayout"), | 
| Chris Forbes | f0796e1 | 2015-06-24 14:34:53 +1200 | [diff] [blame] | 885 |              Param("const VkClearColorValue*", "pColor"), | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 886 |              Param("uint32_t", "rangeCount"), | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 887 |              Param("const VkImageSubresourceRange*", "pRanges")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 888 |  | 
| Chris Forbes | d9be82b | 2015-06-22 17:21:59 +1200 | [diff] [blame] | 889 |         Proto("void", "CmdClearDepthStencilImage", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 890 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
 | 891 |              Param("VkImage", "image"), | 
 | 892 |              Param("VkImageLayout", "imageLayout"), | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 893 |              Param("float", "depth"), | 
 | 894 |              Param("uint32_t", "stencil"), | 
 | 895 |              Param("uint32_t", "rangeCount"), | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 896 |              Param("const VkImageSubresourceRange*", "pRanges")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 897 |  | 
| Chris Forbes | d9be82b | 2015-06-22 17:21:59 +1200 | [diff] [blame] | 898 |         Proto("void", "CmdClearColorAttachment", | 
 | 899 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
 | 900 |              Param("uint32_t", "colorAttachment"), | 
 | 901 |              Param("VkImageLayout", "imageLayout"), | 
| Chris Forbes | f0796e1 | 2015-06-24 14:34:53 +1200 | [diff] [blame] | 902 |              Param("const VkClearColorValue*", "pColor"), | 
| Chris Forbes | d9be82b | 2015-06-22 17:21:59 +1200 | [diff] [blame] | 903 |              Param("uint32_t", "rectCount"), | 
 | 904 |              Param("const VkRect3D*", "pRects")]), | 
 | 905 |  | 
 | 906 |         Proto("void", "CmdClearDepthStencilAttachment", | 
 | 907 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
 | 908 |              Param("VkImageAspectFlags", "imageAspectMask"), | 
 | 909 |              Param("VkImageLayout", "imageLayout"), | 
 | 910 |              Param("float", "depth"), | 
 | 911 |              Param("uint32_t", "stencil"), | 
 | 912 |              Param("uint32_t", "rectCount"), | 
 | 913 |              Param("const VkRect3D*", "pRects")]), | 
 | 914 |  | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 915 |         Proto("void", "CmdResolveImage", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 916 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
 | 917 |              Param("VkImage", "srcImage"), | 
 | 918 |              Param("VkImageLayout", "srcImageLayout"), | 
 | 919 |              Param("VkImage", "destImage"), | 
 | 920 |              Param("VkImageLayout", "destImageLayout"), | 
| Tony Barbour | 6865d4a | 2015-04-13 15:02:52 -0600 | [diff] [blame] | 921 |              Param("uint32_t", "regionCount"), | 
 | 922 |              Param("const VkImageResolve*", "pRegions")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 923 |  | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 924 |         Proto("void", "CmdSetEvent", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 925 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
 | 926 |              Param("VkEvent", "event"), | 
| Tony Barbour | 0b2cfb2 | 2015-06-29 16:20:35 -0600 | [diff] [blame] | 927 |              Param("VkPipelineStageFlags", "stageMask")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 928 |  | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 929 |         Proto("void", "CmdResetEvent", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 930 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
 | 931 |              Param("VkEvent", "event"), | 
| Tony Barbour | 0b2cfb2 | 2015-06-29 16:20:35 -0600 | [diff] [blame] | 932 |              Param("VkPipelineStageFlags", "stageMask")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 933 |  | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 934 |         Proto("void", "CmdWaitEvents", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 935 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
| Tony Barbour | d1c3572 | 2015-04-16 15:59:00 -0600 | [diff] [blame] | 936 |              Param("uint32_t", "eventCount"), | 
 | 937 |              Param("const VkEvent*", "pEvents"), | 
| Tony Barbour | 0b2cfb2 | 2015-06-29 16:20:35 -0600 | [diff] [blame] | 938 |              Param("VkPipelineStageFlags", "sourceStageMask"), | 
 | 939 |              Param("VkPipelineStageFlags", "destStageMask"), | 
| Tony Barbour | d1c3572 | 2015-04-16 15:59:00 -0600 | [diff] [blame] | 940 |              Param("uint32_t", "memBarrierCount"), | 
| Courtney Goeltzenleuchter | dbd2032 | 2015-07-12 12:58:58 -0600 | [diff] [blame] | 941 |              Param("const void* const*", "ppMemBarriers")]), | 
| Mike Stroyan | fb80d5f | 2014-12-04 11:08:39 +0000 | [diff] [blame] | 942 |  | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 943 |         Proto("void", "CmdPipelineBarrier", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 944 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
| Courtney Goeltzenleuchter | ceebbb1 | 2015-07-12 13:07:46 -0600 | [diff] [blame] | 945 |              Param("VkPipelineStageFlags", "srcStageMask"), | 
| Tony Barbour | 0b2cfb2 | 2015-06-29 16:20:35 -0600 | [diff] [blame] | 946 |              Param("VkPipelineStageFlags", "destStageMask"), | 
| Courtney Goeltzenleuchter | cd2a099 | 2015-07-09 11:44:38 -0600 | [diff] [blame] | 947 |              Param("VkBool32", "byRegion"), | 
| Tony Barbour | d1c3572 | 2015-04-16 15:59:00 -0600 | [diff] [blame] | 948 |              Param("uint32_t", "memBarrierCount"), | 
| Courtney Goeltzenleuchter | ceebbb1 | 2015-07-12 13:07:46 -0600 | [diff] [blame] | 949 |              Param("const void* const*", "ppMemBarriers")]), | 
| Mike Stroyan | fb80d5f | 2014-12-04 11:08:39 +0000 | [diff] [blame] | 950 |  | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 951 |         Proto("void", "CmdBeginQuery", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 952 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
 | 953 |              Param("VkQueryPool", "queryPool"), | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 954 |              Param("uint32_t", "slot"), | 
| Tobin Ehlis | a30e7e5 | 2015-07-06 14:02:36 -0600 | [diff] [blame] | 955 |              Param("VkQueryControlFlags", "flags")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 956 |  | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 957 |         Proto("void", "CmdEndQuery", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 958 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
 | 959 |              Param("VkQueryPool", "queryPool"), | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 960 |              Param("uint32_t", "slot")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 961 |  | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 962 |         Proto("void", "CmdResetQueryPool", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 963 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
 | 964 |              Param("VkQueryPool", "queryPool"), | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 965 |              Param("uint32_t", "startQuery"), | 
 | 966 |              Param("uint32_t", "queryCount")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 967 |  | 
| Mark Lobodzinski | 17caf57 | 2015-01-29 08:55:56 -0600 | [diff] [blame] | 968 |         Proto("void", "CmdWriteTimestamp", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 969 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
 | 970 |              Param("VkTimestampType", "timestampType"), | 
 | 971 |              Param("VkBuffer", "destBuffer"), | 
| Tony Barbour | d1c3572 | 2015-04-16 15:59:00 -0600 | [diff] [blame] | 972 |              Param("VkDeviceSize", "destOffset")]), | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 973 |  | 
| Courtney Goeltzenleuchter | 1dbc8e2 | 2015-04-15 18:21:13 -0600 | [diff] [blame] | 974 |         Proto("void", "CmdCopyQueryPoolResults", | 
 | 975 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
 | 976 |              Param("VkQueryPool", "queryPool"), | 
 | 977 |              Param("uint32_t", "startQuery"), | 
 | 978 |              Param("uint32_t", "queryCount"), | 
 | 979 |              Param("VkBuffer", "destBuffer"), | 
| Tony Barbour | d1c3572 | 2015-04-16 15:59:00 -0600 | [diff] [blame] | 980 |              Param("VkDeviceSize", "destOffset"), | 
 | 981 |              Param("VkDeviceSize", "destStride"), | 
| Tobin Ehlis | a30e7e5 | 2015-07-06 14:02:36 -0600 | [diff] [blame] | 982 |              Param("VkQueryResultFlags", "flags")]), | 
| Courtney Goeltzenleuchter | 1dbc8e2 | 2015-04-15 18:21:13 -0600 | [diff] [blame] | 983 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 984 |         Proto("VkResult", "CreateFramebuffer", | 
 | 985 |             [Param("VkDevice", "device"), | 
 | 986 |              Param("const VkFramebufferCreateInfo*", "pCreateInfo"), | 
 | 987 |              Param("VkFramebuffer*", "pFramebuffer")]), | 
| Jeremy Hayes | d65ae08 | 2015-01-14 16:17:08 -0700 | [diff] [blame] | 988 |  | 
| Tony Barbour | 1d2cd3f | 2015-07-03 10:33:54 -0600 | [diff] [blame] | 989 |         Proto("VkResult", "DestroyFramebuffer", | 
 | 990 |             [Param("VkDevice", "device"), | 
 | 991 |              Param("VkFramebuffer", "framebuffer")]), | 
 | 992 |  | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 993 |         Proto("VkResult", "CreateRenderPass", | 
 | 994 |             [Param("VkDevice", "device"), | 
 | 995 |              Param("const VkRenderPassCreateInfo*", "pCreateInfo"), | 
 | 996 |              Param("VkRenderPass*", "pRenderPass")]), | 
| Jeremy Hayes | d65ae08 | 2015-01-14 16:17:08 -0700 | [diff] [blame] | 997 |  | 
| Tony Barbour | 1d2cd3f | 2015-07-03 10:33:54 -0600 | [diff] [blame] | 998 |         Proto("VkResult", "DestroyRenderPass", | 
 | 999 |             [Param("VkDevice", "device"), | 
 | 1000 |              Param("VkRenderPass", "renderPass")]), | 
 | 1001 |  | 
| Jon Ashburn | e13f198 | 2015-02-02 09:58:11 -0700 | [diff] [blame] | 1002 |         Proto("void", "CmdBeginRenderPass", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 1003 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
| Chia-I Wu | 08accc6 | 2015-07-07 11:50:03 +0800 | [diff] [blame] | 1004 |              Param("const VkRenderPassBeginInfo*", "pRenderPassBegin"), | 
 | 1005 |              Param("VkRenderPassContents", "contents")]), | 
 | 1006 |  | 
 | 1007 |         Proto("void", "CmdNextSubpass", | 
 | 1008 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
 | 1009 |              Param("VkRenderPassContents", "contents")]), | 
| Jon Ashburn | e13f198 | 2015-02-02 09:58:11 -0700 | [diff] [blame] | 1010 |  | 
 | 1011 |         Proto("void", "CmdEndRenderPass", | 
| Chia-I Wu | 0b50a1c | 2015-06-26 15:34:39 +0800 | [diff] [blame] | 1012 |             [Param("VkCmdBuffer", "cmdBuffer")]), | 
 | 1013 |  | 
 | 1014 |         Proto("void", "CmdExecuteCommands", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 1015 |             [Param("VkCmdBuffer", "cmdBuffer"), | 
| Chia-I Wu | 0b50a1c | 2015-06-26 15:34:39 +0800 | [diff] [blame] | 1016 |              Param("uint32_t", "cmdBuffersCount"), | 
 | 1017 |              Param("const VkCmdBuffer*", "pCmdBuffers")]), | 
| Chia-I Wu | e442dc3 | 2015-01-01 09:31:15 +0800 | [diff] [blame] | 1018 |     ], | 
| Chia-I Wu | fb2559d | 2014-08-01 11:19:52 +0800 | [diff] [blame] | 1019 | ) | 
 | 1020 |  | 
| Ian Elliott | 1064fe3 | 2015-07-06 14:31:32 -0600 | [diff] [blame] | 1021 | wsi_swapchain = Extension( | 
 | 1022 |     name="VK_WSI_swapchain", | 
 | 1023 |     headers=["vk_wsi_swapchain.h"], | 
| Chia-I Wu | f869338 | 2015-04-16 22:02:10 +0800 | [diff] [blame] | 1024 |     objects=[ | 
| Courtney Goeltzenleuchter | f579fa6 | 2015-06-10 17:39:03 -0600 | [diff] [blame] | 1025 |         "VkDbgMsgCallback", | 
| Chia-I Wu | f869338 | 2015-04-16 22:02:10 +0800 | [diff] [blame] | 1026 |     ], | 
| Chia-I Wu | e442dc3 | 2015-01-01 09:31:15 +0800 | [diff] [blame] | 1027 |     protos=[ | 
| Ian Elliott | 1064fe3 | 2015-07-06 14:31:32 -0600 | [diff] [blame] | 1028 |         Proto("VkResult", "GetPhysicalDeviceSurfaceSupportWSI", | 
 | 1029 |             [Param("VkPhysicalDevice", "physicalDevice"), | 
 | 1030 |              Param("uint32_t", "queueNodeIndex"), | 
 | 1031 | 	     Param("VkSurfaceDescriptionWSI*", "pSurfaceDescription"), | 
 | 1032 |              Param("VkBool32*", "pSupported")]), | 
 | 1033 |     ], | 
 | 1034 | ) | 
 | 1035 |  | 
 | 1036 | wsi_device_swapchain = Extension( | 
 | 1037 |     name="VK_WSI_device_swapchain", | 
 | 1038 |     headers=["vk_wsi_device_swapchain.h"], | 
 | 1039 |     objects=[ | 
 | 1040 |         "VkDbgMsgCallback", | 
 | 1041 |     ], | 
 | 1042 |     protos=[ | 
 | 1043 |         Proto("VkResult", "GetSurfaceInfoWSI", | 
 | 1044 |             [Param("VkDevice", "device"), | 
 | 1045 | 	     Param("VkSurfaceDescriptionWSI*", "pSurfaceDescription"), | 
 | 1046 |              Param("VkSurfaceInfoTypeWSI", "infoType"), | 
 | 1047 |              Param("size_t*", "pDataSize"), | 
 | 1048 |              Param("void*", "pData")]), | 
 | 1049 |  | 
| Chia-I Wu | f869338 | 2015-04-16 22:02:10 +0800 | [diff] [blame] | 1050 |         Proto("VkResult", "CreateSwapChainWSI", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 1051 |             [Param("VkDevice", "device"), | 
| Chia-I Wu | f869338 | 2015-04-16 22:02:10 +0800 | [diff] [blame] | 1052 |              Param("const VkSwapChainCreateInfoWSI*", "pCreateInfo"), | 
 | 1053 |              Param("VkSwapChainWSI*", "pSwapChain")]), | 
| Chia-I Wu | 6dee8b8 | 2014-09-23 10:37:23 +0800 | [diff] [blame] | 1054 |  | 
| Chia-I Wu | f869338 | 2015-04-16 22:02:10 +0800 | [diff] [blame] | 1055 |         Proto("VkResult", "DestroySwapChainWSI", | 
| Ian Elliott | 1064fe3 | 2015-07-06 14:31:32 -0600 | [diff] [blame] | 1056 |             [Param("VkDevice", "device"), | 
 | 1057 | 	     Param("VkSwapChainWSI", "swapChain")]), | 
| Chia-I Wu | 6dee8b8 | 2014-09-23 10:37:23 +0800 | [diff] [blame] | 1058 |  | 
| Chia-I Wu | f869338 | 2015-04-16 22:02:10 +0800 | [diff] [blame] | 1059 |         Proto("VkResult", "GetSwapChainInfoWSI", | 
| Ian Elliott | 1064fe3 | 2015-07-06 14:31:32 -0600 | [diff] [blame] | 1060 |             [Param("VkDevice", "device"), | 
 | 1061 | 	     Param("VkSwapChainWSI", "swapChain"), | 
| Chia-I Wu | f869338 | 2015-04-16 22:02:10 +0800 | [diff] [blame] | 1062 |              Param("VkSwapChainInfoTypeWSI", "infoType"), | 
 | 1063 |              Param("size_t*", "pDataSize"), | 
 | 1064 |              Param("void*", "pData")]), | 
 | 1065 |  | 
| Ian Elliott | 1064fe3 | 2015-07-06 14:31:32 -0600 | [diff] [blame] | 1066 |         Proto("VkResult", "AcquireNextImageWSI", | 
 | 1067 |             [Param("VkDevice", "device"), | 
 | 1068 | 	     Param("VkSwapChainWSI", "swapChain"), | 
 | 1069 |              Param("uint64_t", "timeout"), | 
 | 1070 |              Param("VkSemaphore", "semaphore"), | 
 | 1071 |              Param("uint32_t*", "pImageIndex")]), | 
 | 1072 |  | 
| Chia-I Wu | f869338 | 2015-04-16 22:02:10 +0800 | [diff] [blame] | 1073 |         Proto("VkResult", "QueuePresentWSI", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 1074 |             [Param("VkQueue", "queue"), | 
| Ian Elliott | 1064fe3 | 2015-07-06 14:31:32 -0600 | [diff] [blame] | 1075 |              Param("VkPresentInfoWSI*", "pPresentInfo")]), | 
| Chia-I Wu | e442dc3 | 2015-01-01 09:31:15 +0800 | [diff] [blame] | 1076 |     ], | 
| Chia-I Wu | 6dee8b8 | 2014-09-23 10:37:23 +0800 | [diff] [blame] | 1077 | ) | 
 | 1078 |  | 
| Ian Elliott | 1064fe3 | 2015-07-06 14:31:32 -0600 | [diff] [blame] | 1079 | extensions = [core, wsi_swapchain, wsi_device_swapchain] | 
| Chia-I Wu | c4f24e8 | 2015-01-01 08:46:31 +0800 | [diff] [blame] | 1080 |  | 
| Tobin Ehlis | a30e7e5 | 2015-07-06 14:02:36 -0600 | [diff] [blame] | 1081 | object_dispatch_list = [ | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 1082 |     "VkInstance", | 
| Tony Barbour | d1c3572 | 2015-04-16 15:59:00 -0600 | [diff] [blame] | 1083 |     "VkPhysicalDevice", | 
| Tobin Ehlis | a30e7e5 | 2015-07-06 14:02:36 -0600 | [diff] [blame] | 1084 |     "VkDevice", | 
 | 1085 |     "VkQueue", | 
 | 1086 |     "VkCmdBuffer", | 
| Chia-I Wu | f869338 | 2015-04-16 22:02:10 +0800 | [diff] [blame] | 1087 |     "VkDisplayWSI", | 
 | 1088 |     "VkSwapChainWSI", | 
| Tobin Ehlis | 7e65d75 | 2015-01-15 17:51:52 -0700 | [diff] [blame] | 1089 | ] | 
 | 1090 |  | 
| Tobin Ehlis | a30e7e5 | 2015-07-06 14:02:36 -0600 | [diff] [blame] | 1091 | object_non_dispatch_list = [ | 
| Cody Northrop | e62183e | 2015-07-09 18:08:05 -0600 | [diff] [blame] | 1092 |     "VkCmdPool", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 1093 |     "VkFence", | 
| Tobin Ehlis | a30e7e5 | 2015-07-06 14:02:36 -0600 | [diff] [blame] | 1094 |     "VkDeviceMemory", | 
 | 1095 |     "VkBuffer", | 
 | 1096 |     "VkImage", | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 1097 |     "VkSemaphore", | 
 | 1098 |     "VkEvent", | 
 | 1099 |     "VkQueryPool", | 
| Tobin Ehlis | a30e7e5 | 2015-07-06 14:02:36 -0600 | [diff] [blame] | 1100 |     "VkBufferView", | 
 | 1101 |     "VkImageView", | 
 | 1102 |     "VkAttachmentView", | 
 | 1103 |     "VkShaderModule", | 
 | 1104 |     "VkShader", | 
 | 1105 |     "VkPipelineCache", | 
 | 1106 |     "VkPipelineLayout", | 
 | 1107 |     "VkPipeline", | 
 | 1108 |     "VkDescriptorSetLayout", | 
 | 1109 |     "VkSampler", | 
 | 1110 |     "VkDescriptorPool", | 
 | 1111 |     "VkDescriptorSet", | 
| Tony Barbour | 1d2cd3f | 2015-07-03 10:33:54 -0600 | [diff] [blame] | 1112 |     "VkDynamicViewportState", | 
 | 1113 |     "VkDynamicRasterState", | 
 | 1114 |     "VkDynamicColorBlendState", | 
| Tobin Ehlis | a30e7e5 | 2015-07-06 14:02:36 -0600 | [diff] [blame] | 1115 |     "VkDynamicDepthStencilState", | 
 | 1116 |     "VkRenderPass", | 
 | 1117 |     "VkFramebuffer", | 
| Tobin Ehlis | 7e65d75 | 2015-01-15 17:51:52 -0700 | [diff] [blame] | 1118 | ] | 
 | 1119 |  | 
| Tobin Ehlis | a30e7e5 | 2015-07-06 14:02:36 -0600 | [diff] [blame] | 1120 | object_type_list = object_dispatch_list + object_non_dispatch_list | 
| Tobin Ehlis | 7e65d75 | 2015-01-15 17:51:52 -0700 | [diff] [blame] | 1121 |  | 
| Chia-I Wu | c4f24e8 | 2015-01-01 08:46:31 +0800 | [diff] [blame] | 1122 | headers = [] | 
| Chia-I Wu | e86d8ab | 2015-01-04 14:46:22 +0800 | [diff] [blame] | 1123 | objects = [] | 
| Chia-I Wu | c4f24e8 | 2015-01-01 08:46:31 +0800 | [diff] [blame] | 1124 | protos = [] | 
 | 1125 | for ext in extensions: | 
 | 1126 |     headers.extend(ext.headers) | 
| Chia-I Wu | e86d8ab | 2015-01-04 14:46:22 +0800 | [diff] [blame] | 1127 |     objects.extend(ext.objects) | 
| Chia-I Wu | c4f24e8 | 2015-01-01 08:46:31 +0800 | [diff] [blame] | 1128 |     protos.extend(ext.protos) | 
| Chia-I Wu | 6dee8b8 | 2014-09-23 10:37:23 +0800 | [diff] [blame] | 1129 |  | 
| Chia-I Wu | 9a4ceb1 | 2015-01-01 14:45:58 +0800 | [diff] [blame] | 1130 | proto_names = [proto.name for proto in protos] | 
| Chia-I Wu | 900a257 | 2014-08-01 14:44:16 +0800 | [diff] [blame] | 1131 |  | 
| Courtney Goeltzenleuchter | f53c3cb | 2015-04-14 14:55:44 -0600 | [diff] [blame] | 1132 | def parse_vk_h(filename): | 
| Chia-I Wu | 509a412 | 2015-01-04 14:08:46 +0800 | [diff] [blame] | 1133 |     # read object and protoype typedefs | 
 | 1134 |     object_lines = [] | 
 | 1135 |     proto_lines = [] | 
 | 1136 |     with open(filename, "r") as fp: | 
 | 1137 |         for line in fp: | 
 | 1138 |             line = line.strip() | 
| Courtney Goeltzenleuchter | d8e229c | 2015-04-08 15:36:08 -0600 | [diff] [blame] | 1139 |             if line.startswith("VK_DEFINE"): | 
| Chia-I Wu | 509a412 | 2015-01-04 14:08:46 +0800 | [diff] [blame] | 1140 |                 begin = line.find("(") + 1 | 
 | 1141 |                 end = line.find(",") | 
 | 1142 |                 # extract the object type | 
 | 1143 |                 object_lines.append(line[begin:end]) | 
 | 1144 |             if line.startswith("typedef") and line.endswith(");"): | 
 | 1145 |                 # drop leading "typedef " and trailing ");" | 
 | 1146 |                 proto_lines.append(line[8:-2]) | 
 | 1147 |  | 
 | 1148 |     # parse proto_lines to protos | 
 | 1149 |     protos = [] | 
 | 1150 |     for line in proto_lines: | 
| Courtney Goeltzenleuchter | fb4efc6 | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 1151 |         first, rest = line.split(" (VKAPI *PFN_vk") | 
 | 1152 |         second, third = rest.split(")(") | 
| Chia-I Wu | 509a412 | 2015-01-04 14:08:46 +0800 | [diff] [blame] | 1153 |  | 
 | 1154 |         # get the return type, no space before "*" | 
 | 1155 |         proto_ret = "*".join([t.rstrip() for t in first.split("*")]) | 
 | 1156 |  | 
 | 1157 |         # get the name | 
 | 1158 |         proto_name = second.strip() | 
 | 1159 |  | 
 | 1160 |         # get the list of params | 
 | 1161 |         param_strs = third.split(", ") | 
 | 1162 |         params = [] | 
 | 1163 |         for s in param_strs: | 
 | 1164 |             ty, name = s.rsplit(" ", 1) | 
 | 1165 |  | 
 | 1166 |             # no space before "*" | 
 | 1167 |             ty = "*".join([t.rstrip() for t in ty.split("*")]) | 
 | 1168 |             # attach [] to ty | 
 | 1169 |             idx = name.rfind("[") | 
 | 1170 |             if idx >= 0: | 
 | 1171 |                 ty += name[idx:] | 
 | 1172 |                 name = name[:idx] | 
 | 1173 |  | 
 | 1174 |             params.append(Param(ty, name)) | 
 | 1175 |  | 
 | 1176 |         protos.append(Proto(proto_ret, proto_name, params)) | 
 | 1177 |  | 
 | 1178 |     # make them an extension and print | 
| Courtney Goeltzenleuchter | d8e229c | 2015-04-08 15:36:08 -0600 | [diff] [blame] | 1179 |     ext = Extension("VK_CORE", | 
| Courtney Goeltzenleuchter | f579fa6 | 2015-06-10 17:39:03 -0600 | [diff] [blame] | 1180 |             headers=["vulkan.h", "vk_debug_report_lunarg.h"], | 
| Chia-I Wu | 509a412 | 2015-01-04 14:08:46 +0800 | [diff] [blame] | 1181 |             objects=object_lines, | 
 | 1182 |             protos=protos) | 
 | 1183 |     print("core =", str(ext)) | 
 | 1184 |  | 
 | 1185 |     print("") | 
| Jon Ashburn | bacb0f5 | 2015-04-06 10:58:22 -0600 | [diff] [blame] | 1186 |     print("typedef struct VkLayerDispatchTable_") | 
| Chia-I Wu | 509a412 | 2015-01-04 14:08:46 +0800 | [diff] [blame] | 1187 |     print("{") | 
 | 1188 |     for proto in ext.protos: | 
| Courtney Goeltzenleuchter | d8e229c | 2015-04-08 15:36:08 -0600 | [diff] [blame] | 1189 |         print("    vk%sType %s;" % (proto.name, proto.name)) | 
| Jon Ashburn | bacb0f5 | 2015-04-06 10:58:22 -0600 | [diff] [blame] | 1190 |     print("} VkLayerDispatchTable;") | 
| Chia-I Wu | 509a412 | 2015-01-04 14:08:46 +0800 | [diff] [blame] | 1191 |  | 
 | 1192 | if __name__ == "__main__": | 
| Courtney Goeltzenleuchter | f53c3cb | 2015-04-14 14:55:44 -0600 | [diff] [blame] | 1193 |     parse_vk_h("include/vulkan.h") |