Home | History | Annotate | Download | only in vulkan
      1 /* WARNING: This is auto-generated file. Do not modify, since changes will
      2  * be lost! Modify the generating script instead.
      3  */
      4 namespace refdetails
      5 {
      6 
      7 template<>
      8 void Deleter<VkDeviceMemory>::operator() (VkDeviceMemory obj) const
      9 {
     10 	m_deviceIface->freeMemory(m_device, obj, m_allocator);
     11 }
     12 
     13 template<>
     14 void Deleter<VkFence>::operator() (VkFence obj) const
     15 {
     16 	m_deviceIface->destroyFence(m_device, obj, m_allocator);
     17 }
     18 
     19 template<>
     20 void Deleter<VkSemaphore>::operator() (VkSemaphore obj) const
     21 {
     22 	m_deviceIface->destroySemaphore(m_device, obj, m_allocator);
     23 }
     24 
     25 template<>
     26 void Deleter<VkEvent>::operator() (VkEvent obj) const
     27 {
     28 	m_deviceIface->destroyEvent(m_device, obj, m_allocator);
     29 }
     30 
     31 template<>
     32 void Deleter<VkQueryPool>::operator() (VkQueryPool obj) const
     33 {
     34 	m_deviceIface->destroyQueryPool(m_device, obj, m_allocator);
     35 }
     36 
     37 template<>
     38 void Deleter<VkBuffer>::operator() (VkBuffer obj) const
     39 {
     40 	m_deviceIface->destroyBuffer(m_device, obj, m_allocator);
     41 }
     42 
     43 template<>
     44 void Deleter<VkBufferView>::operator() (VkBufferView obj) const
     45 {
     46 	m_deviceIface->destroyBufferView(m_device, obj, m_allocator);
     47 }
     48 
     49 template<>
     50 void Deleter<VkImage>::operator() (VkImage obj) const
     51 {
     52 	m_deviceIface->destroyImage(m_device, obj, m_allocator);
     53 }
     54 
     55 template<>
     56 void Deleter<VkImageView>::operator() (VkImageView obj) const
     57 {
     58 	m_deviceIface->destroyImageView(m_device, obj, m_allocator);
     59 }
     60 
     61 template<>
     62 void Deleter<VkShaderModule>::operator() (VkShaderModule obj) const
     63 {
     64 	m_deviceIface->destroyShaderModule(m_device, obj, m_allocator);
     65 }
     66 
     67 template<>
     68 void Deleter<VkPipelineCache>::operator() (VkPipelineCache obj) const
     69 {
     70 	m_deviceIface->destroyPipelineCache(m_device, obj, m_allocator);
     71 }
     72 
     73 template<>
     74 void Deleter<VkPipeline>::operator() (VkPipeline obj) const
     75 {
     76 	m_deviceIface->destroyPipeline(m_device, obj, m_allocator);
     77 }
     78 
     79 template<>
     80 void Deleter<VkPipelineLayout>::operator() (VkPipelineLayout obj) const
     81 {
     82 	m_deviceIface->destroyPipelineLayout(m_device, obj, m_allocator);
     83 }
     84 
     85 template<>
     86 void Deleter<VkSampler>::operator() (VkSampler obj) const
     87 {
     88 	m_deviceIface->destroySampler(m_device, obj, m_allocator);
     89 }
     90 
     91 template<>
     92 void Deleter<VkDescriptorSetLayout>::operator() (VkDescriptorSetLayout obj) const
     93 {
     94 	m_deviceIface->destroyDescriptorSetLayout(m_device, obj, m_allocator);
     95 }
     96 
     97 template<>
     98 void Deleter<VkDescriptorPool>::operator() (VkDescriptorPool obj) const
     99 {
    100 	m_deviceIface->destroyDescriptorPool(m_device, obj, m_allocator);
    101 }
    102 
    103 template<>
    104 void Deleter<VkFramebuffer>::operator() (VkFramebuffer obj) const
    105 {
    106 	m_deviceIface->destroyFramebuffer(m_device, obj, m_allocator);
    107 }
    108 
    109 template<>
    110 void Deleter<VkRenderPass>::operator() (VkRenderPass obj) const
    111 {
    112 	m_deviceIface->destroyRenderPass(m_device, obj, m_allocator);
    113 }
    114 
    115 template<>
    116 void Deleter<VkCommandPool>::operator() (VkCommandPool obj) const
    117 {
    118 	m_deviceIface->destroyCommandPool(m_device, obj, m_allocator);
    119 }
    120 
    121 template<>
    122 void Deleter<VkSamplerYcbcrConversion>::operator() (VkSamplerYcbcrConversion obj) const
    123 {
    124 	m_deviceIface->destroySamplerYcbcrConversion(m_device, obj, m_allocator);
    125 }
    126 
    127 template<>
    128 void Deleter<VkDescriptorUpdateTemplate>::operator() (VkDescriptorUpdateTemplate obj) const
    129 {
    130 	m_deviceIface->destroyDescriptorUpdateTemplate(m_device, obj, m_allocator);
    131 }
    132 
    133 template<>
    134 void Deleter<VkSwapchainKHR>::operator() (VkSwapchainKHR obj) const
    135 {
    136 	m_deviceIface->destroySwapchainKHR(m_device, obj, m_allocator);
    137 }
    138 
    139 template<>
    140 void Deleter<VkIndirectCommandsLayoutNVX>::operator() (VkIndirectCommandsLayoutNVX obj) const
    141 {
    142 	m_deviceIface->destroyIndirectCommandsLayoutNVX(m_device, obj, m_allocator);
    143 }
    144 
    145 template<>
    146 void Deleter<VkObjectTableNVX>::operator() (VkObjectTableNVX obj) const
    147 {
    148 	m_deviceIface->destroyObjectTableNVX(m_device, obj, m_allocator);
    149 }
    150 
    151 template<>
    152 void Deleter<VkValidationCacheEXT>::operator() (VkValidationCacheEXT obj) const
    153 {
    154 	m_deviceIface->destroyValidationCacheEXT(m_device, obj, m_allocator);
    155 }
    156 
    157 } // refdetails
    158 
    159 Move<VkInstance> createInstance (const PlatformInterface& vk, const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    160 {
    161 	VkInstance object = 0;
    162 	VK_CHECK(vk.createInstance(pCreateInfo, pAllocator, &object));
    163 	return Move<VkInstance>(check<VkInstance>(object), Deleter<VkInstance>(vk, object, pAllocator));
    164 }
    165 
    166 Move<VkDevice> createDevice (const InstanceInterface& vk, VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    167 {
    168 	VkDevice object = 0;
    169 	VK_CHECK(vk.createDevice(physicalDevice, pCreateInfo, pAllocator, &object));
    170 	return Move<VkDevice>(check<VkDevice>(object), Deleter<VkDevice>(vk, object, pAllocator));
    171 }
    172 
    173 Move<VkDeviceMemory> allocateMemory (const DeviceInterface& vk, VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator)
    174 {
    175 	VkDeviceMemory object = 0;
    176 	VK_CHECK(vk.allocateMemory(device, pAllocateInfo, pAllocator, &object));
    177 	return Move<VkDeviceMemory>(check<VkDeviceMemory>(object), Deleter<VkDeviceMemory>(vk, device, pAllocator));
    178 }
    179 
    180 Move<VkFence> createFence (const DeviceInterface& vk, VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    181 {
    182 	VkFence object = 0;
    183 	VK_CHECK(vk.createFence(device, pCreateInfo, pAllocator, &object));
    184 	return Move<VkFence>(check<VkFence>(object), Deleter<VkFence>(vk, device, pAllocator));
    185 }
    186 
    187 Move<VkSemaphore> createSemaphore (const DeviceInterface& vk, VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    188 {
    189 	VkSemaphore object = 0;
    190 	VK_CHECK(vk.createSemaphore(device, pCreateInfo, pAllocator, &object));
    191 	return Move<VkSemaphore>(check<VkSemaphore>(object), Deleter<VkSemaphore>(vk, device, pAllocator));
    192 }
    193 
    194 Move<VkEvent> createEvent (const DeviceInterface& vk, VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    195 {
    196 	VkEvent object = 0;
    197 	VK_CHECK(vk.createEvent(device, pCreateInfo, pAllocator, &object));
    198 	return Move<VkEvent>(check<VkEvent>(object), Deleter<VkEvent>(vk, device, pAllocator));
    199 }
    200 
    201 Move<VkQueryPool> createQueryPool (const DeviceInterface& vk, VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    202 {
    203 	VkQueryPool object = 0;
    204 	VK_CHECK(vk.createQueryPool(device, pCreateInfo, pAllocator, &object));
    205 	return Move<VkQueryPool>(check<VkQueryPool>(object), Deleter<VkQueryPool>(vk, device, pAllocator));
    206 }
    207 
    208 Move<VkBuffer> createBuffer (const DeviceInterface& vk, VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    209 {
    210 	VkBuffer object = 0;
    211 	VK_CHECK(vk.createBuffer(device, pCreateInfo, pAllocator, &object));
    212 	return Move<VkBuffer>(check<VkBuffer>(object), Deleter<VkBuffer>(vk, device, pAllocator));
    213 }
    214 
    215 Move<VkBufferView> createBufferView (const DeviceInterface& vk, VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    216 {
    217 	VkBufferView object = 0;
    218 	VK_CHECK(vk.createBufferView(device, pCreateInfo, pAllocator, &object));
    219 	return Move<VkBufferView>(check<VkBufferView>(object), Deleter<VkBufferView>(vk, device, pAllocator));
    220 }
    221 
    222 Move<VkImage> createImage (const DeviceInterface& vk, VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    223 {
    224 	VkImage object = 0;
    225 	VK_CHECK(vk.createImage(device, pCreateInfo, pAllocator, &object));
    226 	return Move<VkImage>(check<VkImage>(object), Deleter<VkImage>(vk, device, pAllocator));
    227 }
    228 
    229 Move<VkImageView> createImageView (const DeviceInterface& vk, VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    230 {
    231 	VkImageView object = 0;
    232 	VK_CHECK(vk.createImageView(device, pCreateInfo, pAllocator, &object));
    233 	return Move<VkImageView>(check<VkImageView>(object), Deleter<VkImageView>(vk, device, pAllocator));
    234 }
    235 
    236 Move<VkShaderModule> createShaderModule (const DeviceInterface& vk, VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    237 {
    238 	VkShaderModule object = 0;
    239 	VK_CHECK(vk.createShaderModule(device, pCreateInfo, pAllocator, &object));
    240 	return Move<VkShaderModule>(check<VkShaderModule>(object), Deleter<VkShaderModule>(vk, device, pAllocator));
    241 }
    242 
    243 Move<VkPipelineCache> createPipelineCache (const DeviceInterface& vk, VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    244 {
    245 	VkPipelineCache object = 0;
    246 	VK_CHECK(vk.createPipelineCache(device, pCreateInfo, pAllocator, &object));
    247 	return Move<VkPipelineCache>(check<VkPipelineCache>(object), Deleter<VkPipelineCache>(vk, device, pAllocator));
    248 }
    249 
    250 Move<VkPipelineLayout> createPipelineLayout (const DeviceInterface& vk, VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    251 {
    252 	VkPipelineLayout object = 0;
    253 	VK_CHECK(vk.createPipelineLayout(device, pCreateInfo, pAllocator, &object));
    254 	return Move<VkPipelineLayout>(check<VkPipelineLayout>(object), Deleter<VkPipelineLayout>(vk, device, pAllocator));
    255 }
    256 
    257 Move<VkSampler> createSampler (const DeviceInterface& vk, VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    258 {
    259 	VkSampler object = 0;
    260 	VK_CHECK(vk.createSampler(device, pCreateInfo, pAllocator, &object));
    261 	return Move<VkSampler>(check<VkSampler>(object), Deleter<VkSampler>(vk, device, pAllocator));
    262 }
    263 
    264 Move<VkDescriptorSetLayout> createDescriptorSetLayout (const DeviceInterface& vk, VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    265 {
    266 	VkDescriptorSetLayout object = 0;
    267 	VK_CHECK(vk.createDescriptorSetLayout(device, pCreateInfo, pAllocator, &object));
    268 	return Move<VkDescriptorSetLayout>(check<VkDescriptorSetLayout>(object), Deleter<VkDescriptorSetLayout>(vk, device, pAllocator));
    269 }
    270 
    271 Move<VkDescriptorPool> createDescriptorPool (const DeviceInterface& vk, VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    272 {
    273 	VkDescriptorPool object = 0;
    274 	VK_CHECK(vk.createDescriptorPool(device, pCreateInfo, pAllocator, &object));
    275 	return Move<VkDescriptorPool>(check<VkDescriptorPool>(object), Deleter<VkDescriptorPool>(vk, device, pAllocator));
    276 }
    277 
    278 Move<VkFramebuffer> createFramebuffer (const DeviceInterface& vk, VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    279 {
    280 	VkFramebuffer object = 0;
    281 	VK_CHECK(vk.createFramebuffer(device, pCreateInfo, pAllocator, &object));
    282 	return Move<VkFramebuffer>(check<VkFramebuffer>(object), Deleter<VkFramebuffer>(vk, device, pAllocator));
    283 }
    284 
    285 Move<VkRenderPass> createRenderPass (const DeviceInterface& vk, VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    286 {
    287 	VkRenderPass object = 0;
    288 	VK_CHECK(vk.createRenderPass(device, pCreateInfo, pAllocator, &object));
    289 	return Move<VkRenderPass>(check<VkRenderPass>(object), Deleter<VkRenderPass>(vk, device, pAllocator));
    290 }
    291 
    292 Move<VkCommandPool> createCommandPool (const DeviceInterface& vk, VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    293 {
    294 	VkCommandPool object = 0;
    295 	VK_CHECK(vk.createCommandPool(device, pCreateInfo, pAllocator, &object));
    296 	return Move<VkCommandPool>(check<VkCommandPool>(object), Deleter<VkCommandPool>(vk, device, pAllocator));
    297 }
    298 
    299 Move<VkSamplerYcbcrConversion> createSamplerYcbcrConversion (const DeviceInterface& vk, VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    300 {
    301 	VkSamplerYcbcrConversion object = 0;
    302 	VK_CHECK(vk.createSamplerYcbcrConversion(device, pCreateInfo, pAllocator, &object));
    303 	return Move<VkSamplerYcbcrConversion>(check<VkSamplerYcbcrConversion>(object), Deleter<VkSamplerYcbcrConversion>(vk, device, pAllocator));
    304 }
    305 
    306 Move<VkDescriptorUpdateTemplate> createDescriptorUpdateTemplate (const DeviceInterface& vk, VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    307 {
    308 	VkDescriptorUpdateTemplate object = 0;
    309 	VK_CHECK(vk.createDescriptorUpdateTemplate(device, pCreateInfo, pAllocator, &object));
    310 	return Move<VkDescriptorUpdateTemplate>(check<VkDescriptorUpdateTemplate>(object), Deleter<VkDescriptorUpdateTemplate>(vk, device, pAllocator));
    311 }
    312 
    313 Move<VkSwapchainKHR> createSwapchainKHR (const DeviceInterface& vk, VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    314 {
    315 	VkSwapchainKHR object = 0;
    316 	VK_CHECK(vk.createSwapchainKHR(device, pCreateInfo, pAllocator, &object));
    317 	return Move<VkSwapchainKHR>(check<VkSwapchainKHR>(object), Deleter<VkSwapchainKHR>(vk, device, pAllocator));
    318 }
    319 
    320 Move<VkSurfaceKHR> createDisplayPlaneSurfaceKHR (const InstanceInterface& vk, VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    321 {
    322 	VkSurfaceKHR object = 0;
    323 	VK_CHECK(vk.createDisplayPlaneSurfaceKHR(instance, pCreateInfo, pAllocator, &object));
    324 	return Move<VkSurfaceKHR>(check<VkSurfaceKHR>(object), Deleter<VkSurfaceKHR>(vk, instance, pAllocator));
    325 }
    326 
    327 Move<VkSwapchainKHR> createSharedSwapchainsKHR (const DeviceInterface& vk, VkDevice device, deUint32 swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator)
    328 {
    329 	VkSwapchainKHR object = 0;
    330 	VK_CHECK(vk.createSharedSwapchainsKHR(device, swapchainCount, pCreateInfos, pAllocator, &object));
    331 	return Move<VkSwapchainKHR>(check<VkSwapchainKHR>(object), Deleter<VkSwapchainKHR>(vk, device, pAllocator));
    332 }
    333 
    334 Move<VkSurfaceKHR> createXlibSurfaceKHR (const InstanceInterface& vk, VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    335 {
    336 	VkSurfaceKHR object = 0;
    337 	VK_CHECK(vk.createXlibSurfaceKHR(instance, pCreateInfo, pAllocator, &object));
    338 	return Move<VkSurfaceKHR>(check<VkSurfaceKHR>(object), Deleter<VkSurfaceKHR>(vk, instance, pAllocator));
    339 }
    340 
    341 Move<VkSurfaceKHR> createXcbSurfaceKHR (const InstanceInterface& vk, VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    342 {
    343 	VkSurfaceKHR object = 0;
    344 	VK_CHECK(vk.createXcbSurfaceKHR(instance, pCreateInfo, pAllocator, &object));
    345 	return Move<VkSurfaceKHR>(check<VkSurfaceKHR>(object), Deleter<VkSurfaceKHR>(vk, instance, pAllocator));
    346 }
    347 
    348 Move<VkSurfaceKHR> createWaylandSurfaceKHR (const InstanceInterface& vk, VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    349 {
    350 	VkSurfaceKHR object = 0;
    351 	VK_CHECK(vk.createWaylandSurfaceKHR(instance, pCreateInfo, pAllocator, &object));
    352 	return Move<VkSurfaceKHR>(check<VkSurfaceKHR>(object), Deleter<VkSurfaceKHR>(vk, instance, pAllocator));
    353 }
    354 
    355 Move<VkSurfaceKHR> createMirSurfaceKHR (const InstanceInterface& vk, VkInstance instance, const VkMirSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    356 {
    357 	VkSurfaceKHR object = 0;
    358 	VK_CHECK(vk.createMirSurfaceKHR(instance, pCreateInfo, pAllocator, &object));
    359 	return Move<VkSurfaceKHR>(check<VkSurfaceKHR>(object), Deleter<VkSurfaceKHR>(vk, instance, pAllocator));
    360 }
    361 
    362 Move<VkSurfaceKHR> createAndroidSurfaceKHR (const InstanceInterface& vk, VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    363 {
    364 	VkSurfaceKHR object = 0;
    365 	VK_CHECK(vk.createAndroidSurfaceKHR(instance, pCreateInfo, pAllocator, &object));
    366 	return Move<VkSurfaceKHR>(check<VkSurfaceKHR>(object), Deleter<VkSurfaceKHR>(vk, instance, pAllocator));
    367 }
    368 
    369 Move<VkSurfaceKHR> createWin32SurfaceKHR (const InstanceInterface& vk, VkInstance instance, const VkWin32SurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    370 {
    371 	VkSurfaceKHR object = 0;
    372 	VK_CHECK(vk.createWin32SurfaceKHR(instance, pCreateInfo, pAllocator, &object));
    373 	return Move<VkSurfaceKHR>(check<VkSurfaceKHR>(object), Deleter<VkSurfaceKHR>(vk, instance, pAllocator));
    374 }
    375 
    376 Move<VkDebugReportCallbackEXT> createDebugReportCallbackEXT (const InstanceInterface& vk, VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    377 {
    378 	VkDebugReportCallbackEXT object = 0;
    379 	VK_CHECK(vk.createDebugReportCallbackEXT(instance, pCreateInfo, pAllocator, &object));
    380 	return Move<VkDebugReportCallbackEXT>(check<VkDebugReportCallbackEXT>(object), Deleter<VkDebugReportCallbackEXT>(vk, instance, pAllocator));
    381 }
    382 
    383 Move<VkSurfaceKHR> createViSurfaceNN (const InstanceInterface& vk, VkInstance instance, const VkViSurfaceCreateInfoNN* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    384 {
    385 	VkSurfaceKHR object = 0;
    386 	VK_CHECK(vk.createViSurfaceNN(instance, pCreateInfo, pAllocator, &object));
    387 	return Move<VkSurfaceKHR>(check<VkSurfaceKHR>(object), Deleter<VkSurfaceKHR>(vk, instance, pAllocator));
    388 }
    389 
    390 Move<VkIndirectCommandsLayoutNVX> createIndirectCommandsLayoutNVX (const DeviceInterface& vk, VkDevice device, const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    391 {
    392 	VkIndirectCommandsLayoutNVX object = 0;
    393 	VK_CHECK(vk.createIndirectCommandsLayoutNVX(device, pCreateInfo, pAllocator, &object));
    394 	return Move<VkIndirectCommandsLayoutNVX>(check<VkIndirectCommandsLayoutNVX>(object), Deleter<VkIndirectCommandsLayoutNVX>(vk, device, pAllocator));
    395 }
    396 
    397 Move<VkObjectTableNVX> createObjectTableNVX (const DeviceInterface& vk, VkDevice device, const VkObjectTableCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    398 {
    399 	VkObjectTableNVX object = 0;
    400 	VK_CHECK(vk.createObjectTableNVX(device, pCreateInfo, pAllocator, &object));
    401 	return Move<VkObjectTableNVX>(check<VkObjectTableNVX>(object), Deleter<VkObjectTableNVX>(vk, device, pAllocator));
    402 }
    403 
    404 Move<VkSurfaceKHR> createIOSSurfaceMVK (const InstanceInterface& vk, VkInstance instance, const VkIOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    405 {
    406 	VkSurfaceKHR object = 0;
    407 	VK_CHECK(vk.createIOSSurfaceMVK(instance, pCreateInfo, pAllocator, &object));
    408 	return Move<VkSurfaceKHR>(check<VkSurfaceKHR>(object), Deleter<VkSurfaceKHR>(vk, instance, pAllocator));
    409 }
    410 
    411 Move<VkSurfaceKHR> createMacOSSurfaceMVK (const InstanceInterface& vk, VkInstance instance, const VkMacOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    412 {
    413 	VkSurfaceKHR object = 0;
    414 	VK_CHECK(vk.createMacOSSurfaceMVK(instance, pCreateInfo, pAllocator, &object));
    415 	return Move<VkSurfaceKHR>(check<VkSurfaceKHR>(object), Deleter<VkSurfaceKHR>(vk, instance, pAllocator));
    416 }
    417 
    418 Move<VkValidationCacheEXT> createValidationCacheEXT (const DeviceInterface& vk, VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator)
    419 {
    420 	VkValidationCacheEXT object = 0;
    421 	VK_CHECK(vk.createValidationCacheEXT(device, pCreateInfo, pAllocator, &object));
    422 	return Move<VkValidationCacheEXT>(check<VkValidationCacheEXT>(object), Deleter<VkValidationCacheEXT>(vk, device, pAllocator));
    423 }
    424 
    425