blob: a8bc2d17096a86bdb1ddc2de0e6f65490a4ccc81 [file] [log] [blame]
Lingfeng Yang6a283672018-11-01 13:37:56 -07001// Copyright (C) 2018 The Android Open Source Project
Lingfeng Yangf4d77ef2018-11-02 23:21:37 -07002// Copyright (C) 2018 Google Inc.
Lingfeng Yang6a283672018-11-01 13:37:56 -07003//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15
Lingfeng Yangf4d77ef2018-11-02 23:21:37 -070016// Autogenerated module VkEncoder
17// (header) generated by android/android-emugl/host/libs/libOpenglRender/vulkan-registry/xml/genvk.py -registry android/android-emugl/host/libs/libOpenglRender/vulkan-registry/xml/vk.xml cereal -o android/android-emugl/host/libs/libOpenglRender/vulkan/cereal
18// Please do not modify directly;
19// re-run android/scripts/generate-vulkan-sources.sh,
20// or directly from Python by defining:
21// VULKAN_REGISTRY_XML_DIR : Directory containing genvk.py and vk.xml
22// CEREAL_OUTPUT_DIR: Where to put the generated sources.
23// python3 $VULKAN_REGISTRY_XML_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o $CEREAL_OUTPUT_DIR
24
Lingfeng Yang6a283672018-11-01 13:37:56 -070025#pragma once
26
Lingfeng Yangf4d77ef2018-11-02 23:21:37 -070027#include <vulkan/vulkan.h>
Lingfeng Yanga126a8a2018-11-01 18:21:40 -070028
Lingfeng Yangf4d77ef2018-11-02 23:21:37 -070029
30#include <memory>
Lingfeng Yanga126a8a2018-11-01 18:21:40 -070031class IOStream;
Lingfeng Yang6a283672018-11-01 13:37:56 -070032
Lingfeng Yangf4d77ef2018-11-02 23:21:37 -070033
34
35
36
Lingfeng Yang6a283672018-11-01 13:37:56 -070037class VkEncoder {
38public:
Lingfeng Yanga126a8a2018-11-01 18:21:40 -070039 VkEncoder(IOStream* stream);
40 ~VkEncoder();
Lingfeng Yangf4d77ef2018-11-02 23:21:37 -070041#ifdef VK_VERSION_1_0
42 VkResult vkCreateInstance(
43 const VkInstanceCreateInfo* pCreateInfo,
44 const VkAllocationCallbacks* pAllocator,
45 VkInstance* pInstance);
46 void vkDestroyInstance(
47 VkInstance instance,
48 const VkAllocationCallbacks* pAllocator);
49 VkResult vkEnumeratePhysicalDevices(
50 VkInstance instance,
51 uint32_t* pPhysicalDeviceCount,
52 VkPhysicalDevice* pPhysicalDevices);
53 void vkGetPhysicalDeviceFeatures(
54 VkPhysicalDevice physicalDevice,
55 VkPhysicalDeviceFeatures* pFeatures);
56 void vkGetPhysicalDeviceFormatProperties(
57 VkPhysicalDevice physicalDevice,
58 VkFormat format,
59 VkFormatProperties* pFormatProperties);
60 VkResult vkGetPhysicalDeviceImageFormatProperties(
61 VkPhysicalDevice physicalDevice,
62 VkFormat format,
63 VkImageType type,
64 VkImageTiling tiling,
65 VkImageUsageFlags usage,
66 VkImageCreateFlags flags,
67 VkImageFormatProperties* pImageFormatProperties);
68 void vkGetPhysicalDeviceProperties(
69 VkPhysicalDevice physicalDevice,
70 VkPhysicalDeviceProperties* pProperties);
71 void vkGetPhysicalDeviceQueueFamilyProperties(
72 VkPhysicalDevice physicalDevice,
73 uint32_t* pQueueFamilyPropertyCount,
74 VkQueueFamilyProperties* pQueueFamilyProperties);
75 void vkGetPhysicalDeviceMemoryProperties(
76 VkPhysicalDevice physicalDevice,
77 VkPhysicalDeviceMemoryProperties* pMemoryProperties);
78 PFN_vkVoidFunction vkGetInstanceProcAddr(
79 VkInstance instance,
80 const char* pName);
81 PFN_vkVoidFunction vkGetDeviceProcAddr(
82 VkDevice device,
83 const char* pName);
84 VkResult vkCreateDevice(
85 VkPhysicalDevice physicalDevice,
86 const VkDeviceCreateInfo* pCreateInfo,
87 const VkAllocationCallbacks* pAllocator,
88 VkDevice* pDevice);
89 void vkDestroyDevice(
90 VkDevice device,
91 const VkAllocationCallbacks* pAllocator);
92 VkResult vkEnumerateInstanceExtensionProperties(
93 const char* pLayerName,
94 uint32_t* pPropertyCount,
95 VkExtensionProperties* pProperties);
96 VkResult vkEnumerateDeviceExtensionProperties(
97 VkPhysicalDevice physicalDevice,
98 const char* pLayerName,
99 uint32_t* pPropertyCount,
100 VkExtensionProperties* pProperties);
101 VkResult vkEnumerateInstanceLayerProperties(
102 uint32_t* pPropertyCount,
103 VkLayerProperties* pProperties);
104 VkResult vkEnumerateDeviceLayerProperties(
105 VkPhysicalDevice physicalDevice,
106 uint32_t* pPropertyCount,
107 VkLayerProperties* pProperties);
108 void vkGetDeviceQueue(
109 VkDevice device,
110 uint32_t queueFamilyIndex,
111 uint32_t queueIndex,
112 VkQueue* pQueue);
113 VkResult vkQueueSubmit(
114 VkQueue queue,
115 uint32_t submitCount,
116 const VkSubmitInfo* pSubmits,
117 VkFence fence);
118 VkResult vkQueueWaitIdle(
119 VkQueue queue);
120 VkResult vkDeviceWaitIdle(
121 VkDevice device);
122 VkResult vkAllocateMemory(
123 VkDevice device,
124 const VkMemoryAllocateInfo* pAllocateInfo,
125 const VkAllocationCallbacks* pAllocator,
126 VkDeviceMemory* pMemory);
127 void vkFreeMemory(
128 VkDevice device,
129 VkDeviceMemory memory,
130 const VkAllocationCallbacks* pAllocator);
131 VkResult vkMapMemory(
132 VkDevice device,
133 VkDeviceMemory memory,
134 VkDeviceSize offset,
135 VkDeviceSize size,
136 VkMemoryMapFlags flags,
137 void** ppData);
138 void vkUnmapMemory(
139 VkDevice device,
140 VkDeviceMemory memory);
141 VkResult vkFlushMappedMemoryRanges(
142 VkDevice device,
143 uint32_t memoryRangeCount,
144 const VkMappedMemoryRange* pMemoryRanges);
145 VkResult vkInvalidateMappedMemoryRanges(
146 VkDevice device,
147 uint32_t memoryRangeCount,
148 const VkMappedMemoryRange* pMemoryRanges);
149 void vkGetDeviceMemoryCommitment(
150 VkDevice device,
151 VkDeviceMemory memory,
152 VkDeviceSize* pCommittedMemoryInBytes);
153 VkResult vkBindBufferMemory(
154 VkDevice device,
155 VkBuffer buffer,
156 VkDeviceMemory memory,
157 VkDeviceSize memoryOffset);
158 VkResult vkBindImageMemory(
159 VkDevice device,
160 VkImage image,
161 VkDeviceMemory memory,
162 VkDeviceSize memoryOffset);
163 void vkGetBufferMemoryRequirements(
164 VkDevice device,
165 VkBuffer buffer,
166 VkMemoryRequirements* pMemoryRequirements);
167 void vkGetImageMemoryRequirements(
168 VkDevice device,
169 VkImage image,
170 VkMemoryRequirements* pMemoryRequirements);
171 void vkGetImageSparseMemoryRequirements(
172 VkDevice device,
173 VkImage image,
174 uint32_t* pSparseMemoryRequirementCount,
175 VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
176 void vkGetPhysicalDeviceSparseImageFormatProperties(
177 VkPhysicalDevice physicalDevice,
178 VkFormat format,
179 VkImageType type,
180 VkSampleCountFlagBits samples,
181 VkImageUsageFlags usage,
182 VkImageTiling tiling,
183 uint32_t* pPropertyCount,
184 VkSparseImageFormatProperties* pProperties);
185 VkResult vkQueueBindSparse(
186 VkQueue queue,
187 uint32_t bindInfoCount,
188 const VkBindSparseInfo* pBindInfo,
189 VkFence fence);
190 VkResult vkCreateFence(
191 VkDevice device,
192 const VkFenceCreateInfo* pCreateInfo,
193 const VkAllocationCallbacks* pAllocator,
194 VkFence* pFence);
195 void vkDestroyFence(
196 VkDevice device,
197 VkFence fence,
198 const VkAllocationCallbacks* pAllocator);
199 VkResult vkResetFences(
200 VkDevice device,
201 uint32_t fenceCount,
202 const VkFence* pFences);
203 VkResult vkGetFenceStatus(
204 VkDevice device,
205 VkFence fence);
206 VkResult vkWaitForFences(
207 VkDevice device,
208 uint32_t fenceCount,
209 const VkFence* pFences,
210 VkBool32 waitAll,
211 uint64_t timeout);
212 VkResult vkCreateSemaphore(
213 VkDevice device,
214 const VkSemaphoreCreateInfo* pCreateInfo,
215 const VkAllocationCallbacks* pAllocator,
216 VkSemaphore* pSemaphore);
217 void vkDestroySemaphore(
218 VkDevice device,
219 VkSemaphore semaphore,
220 const VkAllocationCallbacks* pAllocator);
221 VkResult vkCreateEvent(
222 VkDevice device,
223 const VkEventCreateInfo* pCreateInfo,
224 const VkAllocationCallbacks* pAllocator,
225 VkEvent* pEvent);
226 void vkDestroyEvent(
227 VkDevice device,
228 VkEvent event,
229 const VkAllocationCallbacks* pAllocator);
230 VkResult vkGetEventStatus(
231 VkDevice device,
232 VkEvent event);
233 VkResult vkSetEvent(
234 VkDevice device,
235 VkEvent event);
236 VkResult vkResetEvent(
237 VkDevice device,
238 VkEvent event);
239 VkResult vkCreateQueryPool(
240 VkDevice device,
241 const VkQueryPoolCreateInfo* pCreateInfo,
242 const VkAllocationCallbacks* pAllocator,
243 VkQueryPool* pQueryPool);
244 void vkDestroyQueryPool(
245 VkDevice device,
246 VkQueryPool queryPool,
247 const VkAllocationCallbacks* pAllocator);
248 VkResult vkGetQueryPoolResults(
249 VkDevice device,
250 VkQueryPool queryPool,
251 uint32_t firstQuery,
252 uint32_t queryCount,
253 size_t dataSize,
254 void* pData,
255 VkDeviceSize stride,
256 VkQueryResultFlags flags);
257 VkResult vkCreateBuffer(
258 VkDevice device,
259 const VkBufferCreateInfo* pCreateInfo,
260 const VkAllocationCallbacks* pAllocator,
261 VkBuffer* pBuffer);
262 void vkDestroyBuffer(
263 VkDevice device,
264 VkBuffer buffer,
265 const VkAllocationCallbacks* pAllocator);
266 VkResult vkCreateBufferView(
267 VkDevice device,
268 const VkBufferViewCreateInfo* pCreateInfo,
269 const VkAllocationCallbacks* pAllocator,
270 VkBufferView* pView);
271 void vkDestroyBufferView(
272 VkDevice device,
273 VkBufferView bufferView,
274 const VkAllocationCallbacks* pAllocator);
275 VkResult vkCreateImage(
276 VkDevice device,
277 const VkImageCreateInfo* pCreateInfo,
278 const VkAllocationCallbacks* pAllocator,
279 VkImage* pImage);
280 void vkDestroyImage(
281 VkDevice device,
282 VkImage image,
283 const VkAllocationCallbacks* pAllocator);
284 void vkGetImageSubresourceLayout(
285 VkDevice device,
286 VkImage image,
287 const VkImageSubresource* pSubresource,
288 VkSubresourceLayout* pLayout);
289 VkResult vkCreateImageView(
290 VkDevice device,
291 const VkImageViewCreateInfo* pCreateInfo,
292 const VkAllocationCallbacks* pAllocator,
293 VkImageView* pView);
294 void vkDestroyImageView(
295 VkDevice device,
296 VkImageView imageView,
297 const VkAllocationCallbacks* pAllocator);
298 VkResult vkCreateShaderModule(
299 VkDevice device,
300 const VkShaderModuleCreateInfo* pCreateInfo,
301 const VkAllocationCallbacks* pAllocator,
302 VkShaderModule* pShaderModule);
303 void vkDestroyShaderModule(
304 VkDevice device,
305 VkShaderModule shaderModule,
306 const VkAllocationCallbacks* pAllocator);
307 VkResult vkCreatePipelineCache(
308 VkDevice device,
309 const VkPipelineCacheCreateInfo* pCreateInfo,
310 const VkAllocationCallbacks* pAllocator,
311 VkPipelineCache* pPipelineCache);
312 void vkDestroyPipelineCache(
313 VkDevice device,
314 VkPipelineCache pipelineCache,
315 const VkAllocationCallbacks* pAllocator);
316 VkResult vkGetPipelineCacheData(
317 VkDevice device,
318 VkPipelineCache pipelineCache,
319 size_t* pDataSize,
320 void* pData);
321 VkResult vkMergePipelineCaches(
322 VkDevice device,
323 VkPipelineCache dstCache,
324 uint32_t srcCacheCount,
325 const VkPipelineCache* pSrcCaches);
326 VkResult vkCreateGraphicsPipelines(
327 VkDevice device,
328 VkPipelineCache pipelineCache,
329 uint32_t createInfoCount,
330 const VkGraphicsPipelineCreateInfo* pCreateInfos,
331 const VkAllocationCallbacks* pAllocator,
332 VkPipeline* pPipelines);
333 VkResult vkCreateComputePipelines(
334 VkDevice device,
335 VkPipelineCache pipelineCache,
336 uint32_t createInfoCount,
337 const VkComputePipelineCreateInfo* pCreateInfos,
338 const VkAllocationCallbacks* pAllocator,
339 VkPipeline* pPipelines);
340 void vkDestroyPipeline(
341 VkDevice device,
342 VkPipeline pipeline,
343 const VkAllocationCallbacks* pAllocator);
344 VkResult vkCreatePipelineLayout(
345 VkDevice device,
346 const VkPipelineLayoutCreateInfo* pCreateInfo,
347 const VkAllocationCallbacks* pAllocator,
348 VkPipelineLayout* pPipelineLayout);
349 void vkDestroyPipelineLayout(
350 VkDevice device,
351 VkPipelineLayout pipelineLayout,
352 const VkAllocationCallbacks* pAllocator);
353 VkResult vkCreateSampler(
354 VkDevice device,
355 const VkSamplerCreateInfo* pCreateInfo,
356 const VkAllocationCallbacks* pAllocator,
357 VkSampler* pSampler);
358 void vkDestroySampler(
359 VkDevice device,
360 VkSampler sampler,
361 const VkAllocationCallbacks* pAllocator);
362 VkResult vkCreateDescriptorSetLayout(
363 VkDevice device,
364 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
365 const VkAllocationCallbacks* pAllocator,
366 VkDescriptorSetLayout* pSetLayout);
367 void vkDestroyDescriptorSetLayout(
368 VkDevice device,
369 VkDescriptorSetLayout descriptorSetLayout,
370 const VkAllocationCallbacks* pAllocator);
371 VkResult vkCreateDescriptorPool(
372 VkDevice device,
373 const VkDescriptorPoolCreateInfo* pCreateInfo,
374 const VkAllocationCallbacks* pAllocator,
375 VkDescriptorPool* pDescriptorPool);
376 void vkDestroyDescriptorPool(
377 VkDevice device,
378 VkDescriptorPool descriptorPool,
379 const VkAllocationCallbacks* pAllocator);
380 VkResult vkResetDescriptorPool(
381 VkDevice device,
382 VkDescriptorPool descriptorPool,
383 VkDescriptorPoolResetFlags flags);
384 VkResult vkAllocateDescriptorSets(
385 VkDevice device,
386 const VkDescriptorSetAllocateInfo* pAllocateInfo,
387 VkDescriptorSet* pDescriptorSets);
388 VkResult vkFreeDescriptorSets(
389 VkDevice device,
390 VkDescriptorPool descriptorPool,
391 uint32_t descriptorSetCount,
392 const VkDescriptorSet* pDescriptorSets);
393 void vkUpdateDescriptorSets(
394 VkDevice device,
395 uint32_t descriptorWriteCount,
396 const VkWriteDescriptorSet* pDescriptorWrites,
397 uint32_t descriptorCopyCount,
398 const VkCopyDescriptorSet* pDescriptorCopies);
399 VkResult vkCreateFramebuffer(
400 VkDevice device,
401 const VkFramebufferCreateInfo* pCreateInfo,
402 const VkAllocationCallbacks* pAllocator,
403 VkFramebuffer* pFramebuffer);
404 void vkDestroyFramebuffer(
405 VkDevice device,
406 VkFramebuffer framebuffer,
407 const VkAllocationCallbacks* pAllocator);
408 VkResult vkCreateRenderPass(
409 VkDevice device,
410 const VkRenderPassCreateInfo* pCreateInfo,
411 const VkAllocationCallbacks* pAllocator,
412 VkRenderPass* pRenderPass);
413 void vkDestroyRenderPass(
414 VkDevice device,
415 VkRenderPass renderPass,
416 const VkAllocationCallbacks* pAllocator);
417 void vkGetRenderAreaGranularity(
418 VkDevice device,
419 VkRenderPass renderPass,
420 VkExtent2D* pGranularity);
421 VkResult vkCreateCommandPool(
422 VkDevice device,
423 const VkCommandPoolCreateInfo* pCreateInfo,
424 const VkAllocationCallbacks* pAllocator,
425 VkCommandPool* pCommandPool);
426 void vkDestroyCommandPool(
427 VkDevice device,
428 VkCommandPool commandPool,
429 const VkAllocationCallbacks* pAllocator);
430 VkResult vkResetCommandPool(
431 VkDevice device,
432 VkCommandPool commandPool,
433 VkCommandPoolResetFlags flags);
434 VkResult vkAllocateCommandBuffers(
435 VkDevice device,
436 const VkCommandBufferAllocateInfo* pAllocateInfo,
437 VkCommandBuffer* pCommandBuffers);
438 void vkFreeCommandBuffers(
439 VkDevice device,
440 VkCommandPool commandPool,
441 uint32_t commandBufferCount,
442 const VkCommandBuffer* pCommandBuffers);
443 VkResult vkBeginCommandBuffer(
444 VkCommandBuffer commandBuffer,
445 const VkCommandBufferBeginInfo* pBeginInfo);
446 VkResult vkEndCommandBuffer(
447 VkCommandBuffer commandBuffer);
448 VkResult vkResetCommandBuffer(
449 VkCommandBuffer commandBuffer,
450 VkCommandBufferResetFlags flags);
451 void vkCmdBindPipeline(
452 VkCommandBuffer commandBuffer,
453 VkPipelineBindPoint pipelineBindPoint,
454 VkPipeline pipeline);
455 void vkCmdSetViewport(
456 VkCommandBuffer commandBuffer,
457 uint32_t firstViewport,
458 uint32_t viewportCount,
459 const VkViewport* pViewports);
460 void vkCmdSetScissor(
461 VkCommandBuffer commandBuffer,
462 uint32_t firstScissor,
463 uint32_t scissorCount,
464 const VkRect2D* pScissors);
465 void vkCmdSetLineWidth(
466 VkCommandBuffer commandBuffer,
467 float lineWidth);
468 void vkCmdSetDepthBias(
469 VkCommandBuffer commandBuffer,
470 float depthBiasConstantFactor,
471 float depthBiasClamp,
472 float depthBiasSlopeFactor);
473 void vkCmdSetBlendConstants(
474 VkCommandBuffer commandBuffer,
475 const float blendConstants);
476 void vkCmdSetDepthBounds(
477 VkCommandBuffer commandBuffer,
478 float minDepthBounds,
479 float maxDepthBounds);
480 void vkCmdSetStencilCompareMask(
481 VkCommandBuffer commandBuffer,
482 VkStencilFaceFlags faceMask,
483 uint32_t compareMask);
484 void vkCmdSetStencilWriteMask(
485 VkCommandBuffer commandBuffer,
486 VkStencilFaceFlags faceMask,
487 uint32_t writeMask);
488 void vkCmdSetStencilReference(
489 VkCommandBuffer commandBuffer,
490 VkStencilFaceFlags faceMask,
491 uint32_t reference);
492 void vkCmdBindDescriptorSets(
493 VkCommandBuffer commandBuffer,
494 VkPipelineBindPoint pipelineBindPoint,
495 VkPipelineLayout layout,
496 uint32_t firstSet,
497 uint32_t descriptorSetCount,
498 const VkDescriptorSet* pDescriptorSets,
499 uint32_t dynamicOffsetCount,
500 const uint32_t* pDynamicOffsets);
501 void vkCmdBindIndexBuffer(
502 VkCommandBuffer commandBuffer,
503 VkBuffer buffer,
504 VkDeviceSize offset,
505 VkIndexType indexType);
506 void vkCmdBindVertexBuffers(
507 VkCommandBuffer commandBuffer,
508 uint32_t firstBinding,
509 uint32_t bindingCount,
510 const VkBuffer* pBuffers,
511 const VkDeviceSize* pOffsets);
512 void vkCmdDraw(
513 VkCommandBuffer commandBuffer,
514 uint32_t vertexCount,
515 uint32_t instanceCount,
516 uint32_t firstVertex,
517 uint32_t firstInstance);
518 void vkCmdDrawIndexed(
519 VkCommandBuffer commandBuffer,
520 uint32_t indexCount,
521 uint32_t instanceCount,
522 uint32_t firstIndex,
523 int32_t vertexOffset,
524 uint32_t firstInstance);
525 void vkCmdDrawIndirect(
526 VkCommandBuffer commandBuffer,
527 VkBuffer buffer,
528 VkDeviceSize offset,
529 uint32_t drawCount,
530 uint32_t stride);
531 void vkCmdDrawIndexedIndirect(
532 VkCommandBuffer commandBuffer,
533 VkBuffer buffer,
534 VkDeviceSize offset,
535 uint32_t drawCount,
536 uint32_t stride);
537 void vkCmdDispatch(
538 VkCommandBuffer commandBuffer,
539 uint32_t groupCountX,
540 uint32_t groupCountY,
541 uint32_t groupCountZ);
542 void vkCmdDispatchIndirect(
543 VkCommandBuffer commandBuffer,
544 VkBuffer buffer,
545 VkDeviceSize offset);
546 void vkCmdCopyBuffer(
547 VkCommandBuffer commandBuffer,
548 VkBuffer srcBuffer,
549 VkBuffer dstBuffer,
550 uint32_t regionCount,
551 const VkBufferCopy* pRegions);
552 void vkCmdCopyImage(
553 VkCommandBuffer commandBuffer,
554 VkImage srcImage,
555 VkImageLayout srcImageLayout,
556 VkImage dstImage,
557 VkImageLayout dstImageLayout,
558 uint32_t regionCount,
559 const VkImageCopy* pRegions);
560 void vkCmdBlitImage(
561 VkCommandBuffer commandBuffer,
562 VkImage srcImage,
563 VkImageLayout srcImageLayout,
564 VkImage dstImage,
565 VkImageLayout dstImageLayout,
566 uint32_t regionCount,
567 const VkImageBlit* pRegions,
568 VkFilter filter);
569 void vkCmdCopyBufferToImage(
570 VkCommandBuffer commandBuffer,
571 VkBuffer srcBuffer,
572 VkImage dstImage,
573 VkImageLayout dstImageLayout,
574 uint32_t regionCount,
575 const VkBufferImageCopy* pRegions);
576 void vkCmdCopyImageToBuffer(
577 VkCommandBuffer commandBuffer,
578 VkImage srcImage,
579 VkImageLayout srcImageLayout,
580 VkBuffer dstBuffer,
581 uint32_t regionCount,
582 const VkBufferImageCopy* pRegions);
583 void vkCmdUpdateBuffer(
584 VkCommandBuffer commandBuffer,
585 VkBuffer dstBuffer,
586 VkDeviceSize dstOffset,
587 VkDeviceSize dataSize,
588 const void* pData);
589 void vkCmdFillBuffer(
590 VkCommandBuffer commandBuffer,
591 VkBuffer dstBuffer,
592 VkDeviceSize dstOffset,
593 VkDeviceSize size,
594 uint32_t data);
595 void vkCmdClearColorImage(
596 VkCommandBuffer commandBuffer,
597 VkImage image,
598 VkImageLayout imageLayout,
599 const VkClearColorValue* pColor,
600 uint32_t rangeCount,
601 const VkImageSubresourceRange* pRanges);
602 void vkCmdClearDepthStencilImage(
603 VkCommandBuffer commandBuffer,
604 VkImage image,
605 VkImageLayout imageLayout,
606 const VkClearDepthStencilValue* pDepthStencil,
607 uint32_t rangeCount,
608 const VkImageSubresourceRange* pRanges);
609 void vkCmdClearAttachments(
610 VkCommandBuffer commandBuffer,
611 uint32_t attachmentCount,
612 const VkClearAttachment* pAttachments,
613 uint32_t rectCount,
614 const VkClearRect* pRects);
615 void vkCmdResolveImage(
616 VkCommandBuffer commandBuffer,
617 VkImage srcImage,
618 VkImageLayout srcImageLayout,
619 VkImage dstImage,
620 VkImageLayout dstImageLayout,
621 uint32_t regionCount,
622 const VkImageResolve* pRegions);
623 void vkCmdSetEvent(
624 VkCommandBuffer commandBuffer,
625 VkEvent event,
626 VkPipelineStageFlags stageMask);
627 void vkCmdResetEvent(
628 VkCommandBuffer commandBuffer,
629 VkEvent event,
630 VkPipelineStageFlags stageMask);
631 void vkCmdWaitEvents(
632 VkCommandBuffer commandBuffer,
633 uint32_t eventCount,
634 const VkEvent* pEvents,
635 VkPipelineStageFlags srcStageMask,
636 VkPipelineStageFlags dstStageMask,
637 uint32_t memoryBarrierCount,
638 const VkMemoryBarrier* pMemoryBarriers,
639 uint32_t bufferMemoryBarrierCount,
640 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
641 uint32_t imageMemoryBarrierCount,
642 const VkImageMemoryBarrier* pImageMemoryBarriers);
643 void vkCmdPipelineBarrier(
644 VkCommandBuffer commandBuffer,
645 VkPipelineStageFlags srcStageMask,
646 VkPipelineStageFlags dstStageMask,
647 VkDependencyFlags dependencyFlags,
648 uint32_t memoryBarrierCount,
649 const VkMemoryBarrier* pMemoryBarriers,
650 uint32_t bufferMemoryBarrierCount,
651 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
652 uint32_t imageMemoryBarrierCount,
653 const VkImageMemoryBarrier* pImageMemoryBarriers);
654 void vkCmdBeginQuery(
655 VkCommandBuffer commandBuffer,
656 VkQueryPool queryPool,
657 uint32_t query,
658 VkQueryControlFlags flags);
659 void vkCmdEndQuery(
660 VkCommandBuffer commandBuffer,
661 VkQueryPool queryPool,
662 uint32_t query);
663 void vkCmdResetQueryPool(
664 VkCommandBuffer commandBuffer,
665 VkQueryPool queryPool,
666 uint32_t firstQuery,
667 uint32_t queryCount);
668 void vkCmdWriteTimestamp(
669 VkCommandBuffer commandBuffer,
670 VkPipelineStageFlagBits pipelineStage,
671 VkQueryPool queryPool,
672 uint32_t query);
673 void vkCmdCopyQueryPoolResults(
674 VkCommandBuffer commandBuffer,
675 VkQueryPool queryPool,
676 uint32_t firstQuery,
677 uint32_t queryCount,
678 VkBuffer dstBuffer,
679 VkDeviceSize dstOffset,
680 VkDeviceSize stride,
681 VkQueryResultFlags flags);
682 void vkCmdPushConstants(
683 VkCommandBuffer commandBuffer,
684 VkPipelineLayout layout,
685 VkShaderStageFlags stageFlags,
686 uint32_t offset,
687 uint32_t size,
688 const void* pValues);
689 void vkCmdBeginRenderPass(
690 VkCommandBuffer commandBuffer,
691 const VkRenderPassBeginInfo* pRenderPassBegin,
692 VkSubpassContents contents);
693 void vkCmdNextSubpass(
694 VkCommandBuffer commandBuffer,
695 VkSubpassContents contents);
696 void vkCmdEndRenderPass(
697 VkCommandBuffer commandBuffer);
698 void vkCmdExecuteCommands(
699 VkCommandBuffer commandBuffer,
700 uint32_t commandBufferCount,
701 const VkCommandBuffer* pCommandBuffers);
702#endif
703#ifdef VK_VERSION_1_1
704 VkResult vkEnumerateInstanceVersion(
705 uint32_t* pApiVersion);
706 VkResult vkBindBufferMemory2(
707 VkDevice device,
708 uint32_t bindInfoCount,
709 const VkBindBufferMemoryInfo* pBindInfos);
710 VkResult vkBindImageMemory2(
711 VkDevice device,
712 uint32_t bindInfoCount,
713 const VkBindImageMemoryInfo* pBindInfos);
714 void vkGetDeviceGroupPeerMemoryFeatures(
715 VkDevice device,
716 uint32_t heapIndex,
717 uint32_t localDeviceIndex,
718 uint32_t remoteDeviceIndex,
719 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
720 void vkCmdSetDeviceMask(
721 VkCommandBuffer commandBuffer,
722 uint32_t deviceMask);
723 void vkCmdDispatchBase(
724 VkCommandBuffer commandBuffer,
725 uint32_t baseGroupX,
726 uint32_t baseGroupY,
727 uint32_t baseGroupZ,
728 uint32_t groupCountX,
729 uint32_t groupCountY,
730 uint32_t groupCountZ);
731 VkResult vkEnumeratePhysicalDeviceGroups(
732 VkInstance instance,
733 uint32_t* pPhysicalDeviceGroupCount,
734 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
735 void vkGetImageMemoryRequirements2(
736 VkDevice device,
737 const VkImageMemoryRequirementsInfo2* pInfo,
738 VkMemoryRequirements2* pMemoryRequirements);
739 void vkGetBufferMemoryRequirements2(
740 VkDevice device,
741 const VkBufferMemoryRequirementsInfo2* pInfo,
742 VkMemoryRequirements2* pMemoryRequirements);
743 void vkGetImageSparseMemoryRequirements2(
744 VkDevice device,
745 const VkImageSparseMemoryRequirementsInfo2* pInfo,
746 uint32_t* pSparseMemoryRequirementCount,
747 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
748 void vkGetPhysicalDeviceFeatures2(
749 VkPhysicalDevice physicalDevice,
750 VkPhysicalDeviceFeatures2* pFeatures);
751 void vkGetPhysicalDeviceProperties2(
752 VkPhysicalDevice physicalDevice,
753 VkPhysicalDeviceProperties2* pProperties);
754 void vkGetPhysicalDeviceFormatProperties2(
755 VkPhysicalDevice physicalDevice,
756 VkFormat format,
757 VkFormatProperties2* pFormatProperties);
758 VkResult vkGetPhysicalDeviceImageFormatProperties2(
759 VkPhysicalDevice physicalDevice,
760 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
761 VkImageFormatProperties2* pImageFormatProperties);
762 void vkGetPhysicalDeviceQueueFamilyProperties2(
763 VkPhysicalDevice physicalDevice,
764 uint32_t* pQueueFamilyPropertyCount,
765 VkQueueFamilyProperties2* pQueueFamilyProperties);
766 void vkGetPhysicalDeviceMemoryProperties2(
767 VkPhysicalDevice physicalDevice,
768 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
769 void vkGetPhysicalDeviceSparseImageFormatProperties2(
770 VkPhysicalDevice physicalDevice,
771 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
772 uint32_t* pPropertyCount,
773 VkSparseImageFormatProperties2* pProperties);
774 void vkTrimCommandPool(
775 VkDevice device,
776 VkCommandPool commandPool,
777 VkCommandPoolTrimFlags flags);
778 void vkGetDeviceQueue2(
779 VkDevice device,
780 const VkDeviceQueueInfo2* pQueueInfo,
781 VkQueue* pQueue);
782 VkResult vkCreateSamplerYcbcrConversion(
783 VkDevice device,
784 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
785 const VkAllocationCallbacks* pAllocator,
786 VkSamplerYcbcrConversion* pYcbcrConversion);
787 void vkDestroySamplerYcbcrConversion(
788 VkDevice device,
789 VkSamplerYcbcrConversion ycbcrConversion,
790 const VkAllocationCallbacks* pAllocator);
791 VkResult vkCreateDescriptorUpdateTemplate(
792 VkDevice device,
793 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
794 const VkAllocationCallbacks* pAllocator,
795 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
796 void vkDestroyDescriptorUpdateTemplate(
797 VkDevice device,
798 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
799 const VkAllocationCallbacks* pAllocator);
800 void vkUpdateDescriptorSetWithTemplate(
801 VkDevice device,
802 VkDescriptorSet descriptorSet,
803 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
804 const void* pData);
805 void vkGetPhysicalDeviceExternalBufferProperties(
806 VkPhysicalDevice physicalDevice,
807 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
808 VkExternalBufferProperties* pExternalBufferProperties);
809 void vkGetPhysicalDeviceExternalFenceProperties(
810 VkPhysicalDevice physicalDevice,
811 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
812 VkExternalFenceProperties* pExternalFenceProperties);
813 void vkGetPhysicalDeviceExternalSemaphoreProperties(
814 VkPhysicalDevice physicalDevice,
815 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
816 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
817 void vkGetDescriptorSetLayoutSupport(
818 VkDevice device,
819 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
820 VkDescriptorSetLayoutSupport* pSupport);
821#endif
822#ifdef VK_KHR_surface
823 void vkDestroySurfaceKHR(
824 VkInstance instance,
825 VkSurfaceKHR surface,
826 const VkAllocationCallbacks* pAllocator);
827 VkResult vkGetPhysicalDeviceSurfaceSupportKHR(
828 VkPhysicalDevice physicalDevice,
829 uint32_t queueFamilyIndex,
830 VkSurfaceKHR surface,
831 VkBool32* pSupported);
832 VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
833 VkPhysicalDevice physicalDevice,
834 VkSurfaceKHR surface,
835 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
836 VkResult vkGetPhysicalDeviceSurfaceFormatsKHR(
837 VkPhysicalDevice physicalDevice,
838 VkSurfaceKHR surface,
839 uint32_t* pSurfaceFormatCount,
840 VkSurfaceFormatKHR* pSurfaceFormats);
841 VkResult vkGetPhysicalDeviceSurfacePresentModesKHR(
842 VkPhysicalDevice physicalDevice,
843 VkSurfaceKHR surface,
844 uint32_t* pPresentModeCount,
845 VkPresentModeKHR* pPresentModes);
846#endif
847#ifdef VK_KHR_swapchain
848 VkResult vkCreateSwapchainKHR(
849 VkDevice device,
850 const VkSwapchainCreateInfoKHR* pCreateInfo,
851 const VkAllocationCallbacks* pAllocator,
852 VkSwapchainKHR* pSwapchain);
853 void vkDestroySwapchainKHR(
854 VkDevice device,
855 VkSwapchainKHR swapchain,
856 const VkAllocationCallbacks* pAllocator);
857 VkResult vkGetSwapchainImagesKHR(
858 VkDevice device,
859 VkSwapchainKHR swapchain,
860 uint32_t* pSwapchainImageCount,
861 VkImage* pSwapchainImages);
862 VkResult vkAcquireNextImageKHR(
863 VkDevice device,
864 VkSwapchainKHR swapchain,
865 uint64_t timeout,
866 VkSemaphore semaphore,
867 VkFence fence,
868 uint32_t* pImageIndex);
869 VkResult vkQueuePresentKHR(
870 VkQueue queue,
871 const VkPresentInfoKHR* pPresentInfo);
872 VkResult vkGetDeviceGroupPresentCapabilitiesKHR(
873 VkDevice device,
874 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
875 VkResult vkGetDeviceGroupSurfacePresentModesKHR(
876 VkDevice device,
877 VkSurfaceKHR surface,
878 VkDeviceGroupPresentModeFlagsKHR* pModes);
879 VkResult vkGetPhysicalDevicePresentRectanglesKHR(
880 VkPhysicalDevice physicalDevice,
881 VkSurfaceKHR surface,
882 uint32_t* pRectCount,
883 VkRect2D* pRects);
884 VkResult vkAcquireNextImage2KHR(
885 VkDevice device,
886 const VkAcquireNextImageInfoKHR* pAcquireInfo,
887 uint32_t* pImageIndex);
888#endif
889#ifdef VK_KHR_display
890 VkResult vkGetPhysicalDeviceDisplayPropertiesKHR(
891 VkPhysicalDevice physicalDevice,
892 uint32_t* pPropertyCount,
893 VkDisplayPropertiesKHR* pProperties);
894 VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
895 VkPhysicalDevice physicalDevice,
896 uint32_t* pPropertyCount,
897 VkDisplayPlanePropertiesKHR* pProperties);
898 VkResult vkGetDisplayPlaneSupportedDisplaysKHR(
899 VkPhysicalDevice physicalDevice,
900 uint32_t planeIndex,
901 uint32_t* pDisplayCount,
902 VkDisplayKHR* pDisplays);
903 VkResult vkGetDisplayModePropertiesKHR(
904 VkPhysicalDevice physicalDevice,
905 VkDisplayKHR display,
906 uint32_t* pPropertyCount,
907 VkDisplayModePropertiesKHR* pProperties);
908 VkResult vkCreateDisplayModeKHR(
909 VkPhysicalDevice physicalDevice,
910 VkDisplayKHR display,
911 const VkDisplayModeCreateInfoKHR* pCreateInfo,
912 const VkAllocationCallbacks* pAllocator,
913 VkDisplayModeKHR* pMode);
914 VkResult vkGetDisplayPlaneCapabilitiesKHR(
915 VkPhysicalDevice physicalDevice,
916 VkDisplayModeKHR mode,
917 uint32_t planeIndex,
918 VkDisplayPlaneCapabilitiesKHR* pCapabilities);
919 VkResult vkCreateDisplayPlaneSurfaceKHR(
920 VkInstance instance,
921 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
922 const VkAllocationCallbacks* pAllocator,
923 VkSurfaceKHR* pSurface);
924#endif
925#ifdef VK_KHR_display_swapchain
926 VkResult vkCreateSharedSwapchainsKHR(
927 VkDevice device,
928 uint32_t swapchainCount,
929 const VkSwapchainCreateInfoKHR* pCreateInfos,
930 const VkAllocationCallbacks* pAllocator,
931 VkSwapchainKHR* pSwapchains);
932#endif
933#ifdef VK_KHR_xlib_surface
934 VkResult vkCreateXlibSurfaceKHR(
935 VkInstance instance,
936 const VkXlibSurfaceCreateInfoKHR* pCreateInfo,
937 const VkAllocationCallbacks* pAllocator,
938 VkSurfaceKHR* pSurface);
939 VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR(
940 VkPhysicalDevice physicalDevice,
941 uint32_t queueFamilyIndex,
942 Display* dpy,
943 VisualID visualID);
944#endif
945#ifdef VK_KHR_xcb_surface
946 VkResult vkCreateXcbSurfaceKHR(
947 VkInstance instance,
948 const VkXcbSurfaceCreateInfoKHR* pCreateInfo,
949 const VkAllocationCallbacks* pAllocator,
950 VkSurfaceKHR* pSurface);
951 VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR(
952 VkPhysicalDevice physicalDevice,
953 uint32_t queueFamilyIndex,
954 xcb_connection_t* connection,
955 xcb_visualid_t visual_id);
956#endif
957#ifdef VK_KHR_wayland_surface
958 VkResult vkCreateWaylandSurfaceKHR(
959 VkInstance instance,
960 const VkWaylandSurfaceCreateInfoKHR* pCreateInfo,
961 const VkAllocationCallbacks* pAllocator,
962 VkSurfaceKHR* pSurface);
963 VkBool32 vkGetPhysicalDeviceWaylandPresentationSupportKHR(
964 VkPhysicalDevice physicalDevice,
965 uint32_t queueFamilyIndex,
966 wl_display* display);
967#endif
968#ifdef VK_KHR_mir_surface
969 VkResult vkCreateMirSurfaceKHR(
970 VkInstance instance,
971 const VkMirSurfaceCreateInfoKHR* pCreateInfo,
972 const VkAllocationCallbacks* pAllocator,
973 VkSurfaceKHR* pSurface);
974 VkBool32 vkGetPhysicalDeviceMirPresentationSupportKHR(
975 VkPhysicalDevice physicalDevice,
976 uint32_t queueFamilyIndex,
977 MirConnection* connection);
978#endif
979#ifdef VK_KHR_android_surface
980 VkResult vkCreateAndroidSurfaceKHR(
981 VkInstance instance,
982 const VkAndroidSurfaceCreateInfoKHR* pCreateInfo,
983 const VkAllocationCallbacks* pAllocator,
984 VkSurfaceKHR* pSurface);
985#endif
986#ifdef VK_KHR_win32_surface
987 VkResult vkCreateWin32SurfaceKHR(
988 VkInstance instance,
989 const VkWin32SurfaceCreateInfoKHR* pCreateInfo,
990 const VkAllocationCallbacks* pAllocator,
991 VkSurfaceKHR* pSurface);
992 VkBool32 vkGetPhysicalDeviceWin32PresentationSupportKHR(
993 VkPhysicalDevice physicalDevice,
994 uint32_t queueFamilyIndex);
995#endif
996#ifdef VK_KHR_sampler_mirror_clamp_to_edge
997#endif
998#ifdef VK_KHR_multiview
999#endif
1000#ifdef VK_KHR_get_physical_device_properties2
1001 void vkGetPhysicalDeviceFeatures2KHR(
1002 VkPhysicalDevice physicalDevice,
1003 VkPhysicalDeviceFeatures2* pFeatures);
1004 void vkGetPhysicalDeviceProperties2KHR(
1005 VkPhysicalDevice physicalDevice,
1006 VkPhysicalDeviceProperties2* pProperties);
1007 void vkGetPhysicalDeviceFormatProperties2KHR(
1008 VkPhysicalDevice physicalDevice,
1009 VkFormat format,
1010 VkFormatProperties2* pFormatProperties);
1011 VkResult vkGetPhysicalDeviceImageFormatProperties2KHR(
1012 VkPhysicalDevice physicalDevice,
1013 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
1014 VkImageFormatProperties2* pImageFormatProperties);
1015 void vkGetPhysicalDeviceQueueFamilyProperties2KHR(
1016 VkPhysicalDevice physicalDevice,
1017 uint32_t* pQueueFamilyPropertyCount,
1018 VkQueueFamilyProperties2* pQueueFamilyProperties);
1019 void vkGetPhysicalDeviceMemoryProperties2KHR(
1020 VkPhysicalDevice physicalDevice,
1021 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
1022 void vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
1023 VkPhysicalDevice physicalDevice,
1024 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
1025 uint32_t* pPropertyCount,
1026 VkSparseImageFormatProperties2* pProperties);
1027#endif
1028#ifdef VK_KHR_device_group
1029 void vkGetDeviceGroupPeerMemoryFeaturesKHR(
1030 VkDevice device,
1031 uint32_t heapIndex,
1032 uint32_t localDeviceIndex,
1033 uint32_t remoteDeviceIndex,
1034 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
1035 void vkCmdSetDeviceMaskKHR(
1036 VkCommandBuffer commandBuffer,
1037 uint32_t deviceMask);
1038 void vkCmdDispatchBaseKHR(
1039 VkCommandBuffer commandBuffer,
1040 uint32_t baseGroupX,
1041 uint32_t baseGroupY,
1042 uint32_t baseGroupZ,
1043 uint32_t groupCountX,
1044 uint32_t groupCountY,
1045 uint32_t groupCountZ);
1046#endif
1047#ifdef VK_KHR_shader_draw_parameters
1048#endif
1049#ifdef VK_KHR_maintenance1
1050 void vkTrimCommandPoolKHR(
1051 VkDevice device,
1052 VkCommandPool commandPool,
1053 VkCommandPoolTrimFlags flags);
1054#endif
1055#ifdef VK_KHR_device_group_creation
1056 VkResult vkEnumeratePhysicalDeviceGroupsKHR(
1057 VkInstance instance,
1058 uint32_t* pPhysicalDeviceGroupCount,
1059 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
1060#endif
1061#ifdef VK_KHR_external_memory_capabilities
1062 void vkGetPhysicalDeviceExternalBufferPropertiesKHR(
1063 VkPhysicalDevice physicalDevice,
1064 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
1065 VkExternalBufferProperties* pExternalBufferProperties);
1066#endif
1067#ifdef VK_KHR_external_memory
1068#endif
1069#ifdef VK_KHR_external_memory_win32
1070 VkResult vkGetMemoryWin32HandleKHR(
1071 VkDevice device,
1072 const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo,
1073 HANDLE* pHandle);
1074 VkResult vkGetMemoryWin32HandlePropertiesKHR(
1075 VkDevice device,
1076 VkExternalMemoryHandleTypeFlagBits handleType,
1077 HANDLE handle,
1078 VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties);
1079#endif
1080#ifdef VK_KHR_external_memory_fd
1081 VkResult vkGetMemoryFdKHR(
1082 VkDevice device,
1083 const VkMemoryGetFdInfoKHR* pGetFdInfo,
1084 int* pFd);
1085 VkResult vkGetMemoryFdPropertiesKHR(
1086 VkDevice device,
1087 VkExternalMemoryHandleTypeFlagBits handleType,
1088 int fd,
1089 VkMemoryFdPropertiesKHR* pMemoryFdProperties);
1090#endif
1091#ifdef VK_KHR_win32_keyed_mutex
1092#endif
1093#ifdef VK_KHR_external_semaphore_capabilities
1094 void vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
1095 VkPhysicalDevice physicalDevice,
1096 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
1097 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
1098#endif
1099#ifdef VK_KHR_external_semaphore
1100#endif
1101#ifdef VK_KHR_external_semaphore_win32
1102 VkResult vkImportSemaphoreWin32HandleKHR(
1103 VkDevice device,
1104 const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo);
1105 VkResult vkGetSemaphoreWin32HandleKHR(
1106 VkDevice device,
1107 const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo,
1108 HANDLE* pHandle);
1109#endif
1110#ifdef VK_KHR_external_semaphore_fd
1111 VkResult vkImportSemaphoreFdKHR(
1112 VkDevice device,
1113 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
1114 VkResult vkGetSemaphoreFdKHR(
1115 VkDevice device,
1116 const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
1117 int* pFd);
1118#endif
1119#ifdef VK_KHR_push_descriptor
1120 void vkCmdPushDescriptorSetKHR(
1121 VkCommandBuffer commandBuffer,
1122 VkPipelineBindPoint pipelineBindPoint,
1123 VkPipelineLayout layout,
1124 uint32_t set,
1125 uint32_t descriptorWriteCount,
1126 const VkWriteDescriptorSet* pDescriptorWrites);
1127 void vkCmdPushDescriptorSetWithTemplateKHR(
1128 VkCommandBuffer commandBuffer,
1129 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
1130 VkPipelineLayout layout,
1131 uint32_t set,
1132 const void* pData);
1133#endif
1134#ifdef VK_KHR_16bit_storage
1135#endif
1136#ifdef VK_KHR_incremental_present
1137#endif
1138#ifdef VK_KHR_descriptor_update_template
1139 VkResult vkCreateDescriptorUpdateTemplateKHR(
1140 VkDevice device,
1141 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
1142 const VkAllocationCallbacks* pAllocator,
1143 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
1144 void vkDestroyDescriptorUpdateTemplateKHR(
1145 VkDevice device,
1146 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
1147 const VkAllocationCallbacks* pAllocator);
1148 void vkUpdateDescriptorSetWithTemplateKHR(
1149 VkDevice device,
1150 VkDescriptorSet descriptorSet,
1151 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
1152 const void* pData);
1153#endif
1154#ifdef VK_KHR_create_renderpass2
1155 VkResult vkCreateRenderPass2KHR(
1156 VkDevice device,
1157 const VkRenderPassCreateInfo2KHR* pCreateInfo,
1158 const VkAllocationCallbacks* pAllocator,
1159 VkRenderPass* pRenderPass);
1160 void vkCmdBeginRenderPass2KHR(
1161 VkCommandBuffer commandBuffer,
1162 const VkRenderPassBeginInfo* pRenderPassBegin,
1163 const VkSubpassBeginInfoKHR* pSubpassBeginInfo);
1164 void vkCmdNextSubpass2KHR(
1165 VkCommandBuffer commandBuffer,
1166 const VkSubpassBeginInfoKHR* pSubpassBeginInfo,
1167 const VkSubpassEndInfoKHR* pSubpassEndInfo);
1168 void vkCmdEndRenderPass2KHR(
1169 VkCommandBuffer commandBuffer,
1170 const VkSubpassEndInfoKHR* pSubpassEndInfo);
1171#endif
1172#ifdef VK_KHR_shared_presentable_image
1173 VkResult vkGetSwapchainStatusKHR(
1174 VkDevice device,
1175 VkSwapchainKHR swapchain);
1176#endif
1177#ifdef VK_KHR_external_fence_capabilities
1178 void vkGetPhysicalDeviceExternalFencePropertiesKHR(
1179 VkPhysicalDevice physicalDevice,
1180 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
1181 VkExternalFenceProperties* pExternalFenceProperties);
1182#endif
1183#ifdef VK_KHR_external_fence
1184#endif
1185#ifdef VK_KHR_external_fence_win32
1186 VkResult vkImportFenceWin32HandleKHR(
1187 VkDevice device,
1188 const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo);
1189 VkResult vkGetFenceWin32HandleKHR(
1190 VkDevice device,
1191 const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo,
1192 HANDLE* pHandle);
1193#endif
1194#ifdef VK_KHR_external_fence_fd
1195 VkResult vkImportFenceFdKHR(
1196 VkDevice device,
1197 const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
1198 VkResult vkGetFenceFdKHR(
1199 VkDevice device,
1200 const VkFenceGetFdInfoKHR* pGetFdInfo,
1201 int* pFd);
1202#endif
1203#ifdef VK_KHR_maintenance2
1204#endif
1205#ifdef VK_KHR_get_surface_capabilities2
1206 VkResult vkGetPhysicalDeviceSurfaceCapabilities2KHR(
1207 VkPhysicalDevice physicalDevice,
1208 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
1209 VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
1210 VkResult vkGetPhysicalDeviceSurfaceFormats2KHR(
1211 VkPhysicalDevice physicalDevice,
1212 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
1213 uint32_t* pSurfaceFormatCount,
1214 VkSurfaceFormat2KHR* pSurfaceFormats);
1215#endif
1216#ifdef VK_KHR_variable_pointers
1217#endif
1218#ifdef VK_KHR_get_display_properties2
1219 VkResult vkGetPhysicalDeviceDisplayProperties2KHR(
1220 VkPhysicalDevice physicalDevice,
1221 uint32_t* pPropertyCount,
1222 VkDisplayProperties2KHR* pProperties);
1223 VkResult vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
1224 VkPhysicalDevice physicalDevice,
1225 uint32_t* pPropertyCount,
1226 VkDisplayPlaneProperties2KHR* pProperties);
1227 VkResult vkGetDisplayModeProperties2KHR(
1228 VkPhysicalDevice physicalDevice,
1229 VkDisplayKHR display,
1230 uint32_t* pPropertyCount,
1231 VkDisplayModeProperties2KHR* pProperties);
1232 VkResult vkGetDisplayPlaneCapabilities2KHR(
1233 VkPhysicalDevice physicalDevice,
1234 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
1235 VkDisplayPlaneCapabilities2KHR* pCapabilities);
1236#endif
1237#ifdef VK_KHR_dedicated_allocation
1238#endif
1239#ifdef VK_KHR_storage_buffer_storage_class
1240#endif
1241#ifdef VK_KHR_relaxed_block_layout
1242#endif
1243#ifdef VK_KHR_get_memory_requirements2
1244 void vkGetImageMemoryRequirements2KHR(
1245 VkDevice device,
1246 const VkImageMemoryRequirementsInfo2* pInfo,
1247 VkMemoryRequirements2* pMemoryRequirements);
1248 void vkGetBufferMemoryRequirements2KHR(
1249 VkDevice device,
1250 const VkBufferMemoryRequirementsInfo2* pInfo,
1251 VkMemoryRequirements2* pMemoryRequirements);
1252 void vkGetImageSparseMemoryRequirements2KHR(
1253 VkDevice device,
1254 const VkImageSparseMemoryRequirementsInfo2* pInfo,
1255 uint32_t* pSparseMemoryRequirementCount,
1256 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
1257#endif
1258#ifdef VK_KHR_image_format_list
1259#endif
1260#ifdef VK_KHR_sampler_ycbcr_conversion
1261 VkResult vkCreateSamplerYcbcrConversionKHR(
1262 VkDevice device,
1263 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
1264 const VkAllocationCallbacks* pAllocator,
1265 VkSamplerYcbcrConversion* pYcbcrConversion);
1266 void vkDestroySamplerYcbcrConversionKHR(
1267 VkDevice device,
1268 VkSamplerYcbcrConversion ycbcrConversion,
1269 const VkAllocationCallbacks* pAllocator);
1270#endif
1271#ifdef VK_KHR_bind_memory2
1272 VkResult vkBindBufferMemory2KHR(
1273 VkDevice device,
1274 uint32_t bindInfoCount,
1275 const VkBindBufferMemoryInfo* pBindInfos);
1276 VkResult vkBindImageMemory2KHR(
1277 VkDevice device,
1278 uint32_t bindInfoCount,
1279 const VkBindImageMemoryInfo* pBindInfos);
1280#endif
1281#ifdef VK_KHR_maintenance3
1282 void vkGetDescriptorSetLayoutSupportKHR(
1283 VkDevice device,
1284 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
1285 VkDescriptorSetLayoutSupport* pSupport);
1286#endif
1287#ifdef VK_KHR_draw_indirect_count
1288 void vkCmdDrawIndirectCountKHR(
1289 VkCommandBuffer commandBuffer,
1290 VkBuffer buffer,
1291 VkDeviceSize offset,
1292 VkBuffer countBuffer,
1293 VkDeviceSize countBufferOffset,
1294 uint32_t maxDrawCount,
1295 uint32_t stride);
1296 void vkCmdDrawIndexedIndirectCountKHR(
1297 VkCommandBuffer commandBuffer,
1298 VkBuffer buffer,
1299 VkDeviceSize offset,
1300 VkBuffer countBuffer,
1301 VkDeviceSize countBufferOffset,
1302 uint32_t maxDrawCount,
1303 uint32_t stride);
1304#endif
1305#ifdef VK_KHR_8bit_storage
1306#endif
1307#ifdef VK_EXT_debug_report
1308 VkResult vkCreateDebugReportCallbackEXT(
1309 VkInstance instance,
1310 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
1311 const VkAllocationCallbacks* pAllocator,
1312 VkDebugReportCallbackEXT* pCallback);
1313 void vkDestroyDebugReportCallbackEXT(
1314 VkInstance instance,
1315 VkDebugReportCallbackEXT callback,
1316 const VkAllocationCallbacks* pAllocator);
1317 void vkDebugReportMessageEXT(
1318 VkInstance instance,
1319 VkDebugReportFlagsEXT flags,
1320 VkDebugReportObjectTypeEXT objectType,
1321 uint64_t object,
1322 size_t location,
1323 int32_t messageCode,
1324 const char* pLayerPrefix,
1325 const char* pMessage);
1326#endif
1327#ifdef VK_NV_glsl_shader
1328#endif
1329#ifdef VK_EXT_depth_range_unrestricted
1330#endif
1331#ifdef VK_IMG_filter_cubic
1332#endif
1333#ifdef VK_AMD_rasterization_order
1334#endif
1335#ifdef VK_AMD_shader_trinary_minmax
1336#endif
1337#ifdef VK_AMD_shader_explicit_vertex_parameter
1338#endif
1339#ifdef VK_EXT_debug_marker
1340 VkResult vkDebugMarkerSetObjectTagEXT(
1341 VkDevice device,
1342 const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
1343 VkResult vkDebugMarkerSetObjectNameEXT(
1344 VkDevice device,
1345 const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
1346 void vkCmdDebugMarkerBeginEXT(
1347 VkCommandBuffer commandBuffer,
1348 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
1349 void vkCmdDebugMarkerEndEXT(
1350 VkCommandBuffer commandBuffer);
1351 void vkCmdDebugMarkerInsertEXT(
1352 VkCommandBuffer commandBuffer,
1353 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
1354#endif
1355#ifdef VK_AMD_gcn_shader
1356#endif
1357#ifdef VK_NV_dedicated_allocation
1358#endif
1359#ifdef VK_AMD_draw_indirect_count
1360 void vkCmdDrawIndirectCountAMD(
1361 VkCommandBuffer commandBuffer,
1362 VkBuffer buffer,
1363 VkDeviceSize offset,
1364 VkBuffer countBuffer,
1365 VkDeviceSize countBufferOffset,
1366 uint32_t maxDrawCount,
1367 uint32_t stride);
1368 void vkCmdDrawIndexedIndirectCountAMD(
1369 VkCommandBuffer commandBuffer,
1370 VkBuffer buffer,
1371 VkDeviceSize offset,
1372 VkBuffer countBuffer,
1373 VkDeviceSize countBufferOffset,
1374 uint32_t maxDrawCount,
1375 uint32_t stride);
1376#endif
1377#ifdef VK_AMD_negative_viewport_height
1378#endif
1379#ifdef VK_AMD_gpu_shader_half_float
1380#endif
1381#ifdef VK_AMD_shader_ballot
1382#endif
1383#ifdef VK_AMD_texture_gather_bias_lod
1384#endif
1385#ifdef VK_AMD_shader_info
1386 VkResult vkGetShaderInfoAMD(
1387 VkDevice device,
1388 VkPipeline pipeline,
1389 VkShaderStageFlagBits shaderStage,
1390 VkShaderInfoTypeAMD infoType,
1391 size_t* pInfoSize,
1392 void* pInfo);
1393#endif
1394#ifdef VK_AMD_shader_image_load_store_lod
1395#endif
1396#ifdef VK_IMG_format_pvrtc
1397#endif
1398#ifdef VK_NV_external_memory_capabilities
1399 VkResult vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
1400 VkPhysicalDevice physicalDevice,
1401 VkFormat format,
1402 VkImageType type,
1403 VkImageTiling tiling,
1404 VkImageUsageFlags usage,
1405 VkImageCreateFlags flags,
1406 VkExternalMemoryHandleTypeFlagsNV externalHandleType,
1407 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
1408#endif
1409#ifdef VK_NV_external_memory
1410#endif
1411#ifdef VK_NV_external_memory_win32
1412 VkResult vkGetMemoryWin32HandleNV(
1413 VkDevice device,
1414 VkDeviceMemory memory,
1415 VkExternalMemoryHandleTypeFlagsNV handleType,
1416 HANDLE* pHandle);
1417#endif
1418#ifdef VK_NV_win32_keyed_mutex
1419#endif
1420#ifdef VK_EXT_validation_flags
1421#endif
1422#ifdef VK_NN_vi_surface
1423 VkResult vkCreateViSurfaceNN(
1424 VkInstance instance,
1425 const VkViSurfaceCreateInfoNN* pCreateInfo,
1426 const VkAllocationCallbacks* pAllocator,
1427 VkSurfaceKHR* pSurface);
1428#endif
1429#ifdef VK_EXT_shader_subgroup_ballot
1430#endif
1431#ifdef VK_EXT_shader_subgroup_vote
1432#endif
1433#ifdef VK_EXT_conditional_rendering
1434 void vkCmdBeginConditionalRenderingEXT(
1435 VkCommandBuffer commandBuffer,
1436 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
1437 void vkCmdEndConditionalRenderingEXT(
1438 VkCommandBuffer commandBuffer);
1439#endif
1440#ifdef VK_NVX_device_generated_commands
1441 void vkCmdProcessCommandsNVX(
1442 VkCommandBuffer commandBuffer,
1443 const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo);
1444 void vkCmdReserveSpaceForCommandsNVX(
1445 VkCommandBuffer commandBuffer,
1446 const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo);
1447 VkResult vkCreateIndirectCommandsLayoutNVX(
1448 VkDevice device,
1449 const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo,
1450 const VkAllocationCallbacks* pAllocator,
1451 VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout);
1452 void vkDestroyIndirectCommandsLayoutNVX(
1453 VkDevice device,
1454 VkIndirectCommandsLayoutNVX indirectCommandsLayout,
1455 const VkAllocationCallbacks* pAllocator);
1456 VkResult vkCreateObjectTableNVX(
1457 VkDevice device,
1458 const VkObjectTableCreateInfoNVX* pCreateInfo,
1459 const VkAllocationCallbacks* pAllocator,
1460 VkObjectTableNVX* pObjectTable);
1461 void vkDestroyObjectTableNVX(
1462 VkDevice device,
1463 VkObjectTableNVX objectTable,
1464 const VkAllocationCallbacks* pAllocator);
1465 VkResult vkRegisterObjectsNVX(
1466 VkDevice device,
1467 VkObjectTableNVX objectTable,
1468 uint32_t objectCount,
1469 const VkObjectTableEntryNVX* const* ppObjectTableEntries,
1470 const uint32_t* pObjectIndices);
1471 VkResult vkUnregisterObjectsNVX(
1472 VkDevice device,
1473 VkObjectTableNVX objectTable,
1474 uint32_t objectCount,
1475 const VkObjectEntryTypeNVX* pObjectEntryTypes,
1476 const uint32_t* pObjectIndices);
1477 void vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX(
1478 VkPhysicalDevice physicalDevice,
1479 VkDeviceGeneratedCommandsFeaturesNVX* pFeatures,
1480 VkDeviceGeneratedCommandsLimitsNVX* pLimits);
1481#endif
1482#ifdef VK_NV_clip_space_w_scaling
1483 void vkCmdSetViewportWScalingNV(
1484 VkCommandBuffer commandBuffer,
1485 uint32_t firstViewport,
1486 uint32_t viewportCount,
1487 const VkViewportWScalingNV* pViewportWScalings);
1488#endif
1489#ifdef VK_EXT_direct_mode_display
1490 VkResult vkReleaseDisplayEXT(
1491 VkPhysicalDevice physicalDevice,
1492 VkDisplayKHR display);
1493#endif
1494#ifdef VK_EXT_acquire_xlib_display
1495 VkResult vkAcquireXlibDisplayEXT(
1496 VkPhysicalDevice physicalDevice,
1497 Display* dpy,
1498 VkDisplayKHR display);
1499 VkResult vkGetRandROutputDisplayEXT(
1500 VkPhysicalDevice physicalDevice,
1501 Display* dpy,
1502 RROutput rrOutput,
1503 VkDisplayKHR* pDisplay);
1504#endif
1505#ifdef VK_EXT_display_surface_counter
1506 VkResult vkGetPhysicalDeviceSurfaceCapabilities2EXT(
1507 VkPhysicalDevice physicalDevice,
1508 VkSurfaceKHR surface,
1509 VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
1510#endif
1511#ifdef VK_EXT_display_control
1512 VkResult vkDisplayPowerControlEXT(
1513 VkDevice device,
1514 VkDisplayKHR display,
1515 const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
1516 VkResult vkRegisterDeviceEventEXT(
1517 VkDevice device,
1518 const VkDeviceEventInfoEXT* pDeviceEventInfo,
1519 const VkAllocationCallbacks* pAllocator,
1520 VkFence* pFence);
1521 VkResult vkRegisterDisplayEventEXT(
1522 VkDevice device,
1523 VkDisplayKHR display,
1524 const VkDisplayEventInfoEXT* pDisplayEventInfo,
1525 const VkAllocationCallbacks* pAllocator,
1526 VkFence* pFence);
1527 VkResult vkGetSwapchainCounterEXT(
1528 VkDevice device,
1529 VkSwapchainKHR swapchain,
1530 VkSurfaceCounterFlagBitsEXT counter,
1531 uint64_t* pCounterValue);
1532#endif
1533#ifdef VK_GOOGLE_display_timing
1534 VkResult vkGetRefreshCycleDurationGOOGLE(
1535 VkDevice device,
1536 VkSwapchainKHR swapchain,
1537 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
1538 VkResult vkGetPastPresentationTimingGOOGLE(
1539 VkDevice device,
1540 VkSwapchainKHR swapchain,
1541 uint32_t* pPresentationTimingCount,
1542 VkPastPresentationTimingGOOGLE* pPresentationTimings);
1543#endif
1544#ifdef VK_NV_sample_mask_override_coverage
1545#endif
1546#ifdef VK_NV_geometry_shader_passthrough
1547#endif
1548#ifdef VK_NV_viewport_array2
1549#endif
1550#ifdef VK_NVX_multiview_per_view_attributes
1551#endif
1552#ifdef VK_NV_viewport_swizzle
1553#endif
1554#ifdef VK_EXT_discard_rectangles
1555 void vkCmdSetDiscardRectangleEXT(
1556 VkCommandBuffer commandBuffer,
1557 uint32_t firstDiscardRectangle,
1558 uint32_t discardRectangleCount,
1559 const VkRect2D* pDiscardRectangles);
1560#endif
1561#ifdef VK_EXT_conservative_rasterization
1562#endif
1563#ifdef VK_EXT_swapchain_colorspace
1564#endif
1565#ifdef VK_EXT_hdr_metadata
1566 void vkSetHdrMetadataEXT(
1567 VkDevice device,
1568 uint32_t swapchainCount,
1569 const VkSwapchainKHR* pSwapchains,
1570 const VkHdrMetadataEXT* pMetadata);
1571#endif
1572#ifdef VK_MVK_ios_surface
1573 VkResult vkCreateIOSSurfaceMVK(
1574 VkInstance instance,
1575 const VkIOSSurfaceCreateInfoMVK* pCreateInfo,
1576 const VkAllocationCallbacks* pAllocator,
1577 VkSurfaceKHR* pSurface);
1578#endif
1579#ifdef VK_MVK_macos_surface
1580 VkResult vkCreateMacOSSurfaceMVK(
1581 VkInstance instance,
1582 const VkMacOSSurfaceCreateInfoMVK* pCreateInfo,
1583 const VkAllocationCallbacks* pAllocator,
1584 VkSurfaceKHR* pSurface);
1585#endif
1586#ifdef VK_EXT_external_memory_dma_buf
1587#endif
1588#ifdef VK_EXT_queue_family_foreign
1589#endif
1590#ifdef VK_EXT_debug_utils
1591 VkResult vkSetDebugUtilsObjectNameEXT(
1592 VkDevice device,
1593 const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
1594 VkResult vkSetDebugUtilsObjectTagEXT(
1595 VkDevice device,
1596 const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
1597 void vkQueueBeginDebugUtilsLabelEXT(
1598 VkQueue queue,
1599 const VkDebugUtilsLabelEXT* pLabelInfo);
1600 void vkQueueEndDebugUtilsLabelEXT(
1601 VkQueue queue);
1602 void vkQueueInsertDebugUtilsLabelEXT(
1603 VkQueue queue,
1604 const VkDebugUtilsLabelEXT* pLabelInfo);
1605 void vkCmdBeginDebugUtilsLabelEXT(
1606 VkCommandBuffer commandBuffer,
1607 const VkDebugUtilsLabelEXT* pLabelInfo);
1608 void vkCmdEndDebugUtilsLabelEXT(
1609 VkCommandBuffer commandBuffer);
1610 void vkCmdInsertDebugUtilsLabelEXT(
1611 VkCommandBuffer commandBuffer,
1612 const VkDebugUtilsLabelEXT* pLabelInfo);
1613 VkResult vkCreateDebugUtilsMessengerEXT(
1614 VkInstance instance,
1615 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
1616 const VkAllocationCallbacks* pAllocator,
1617 VkDebugUtilsMessengerEXT* pMessenger);
1618 void vkDestroyDebugUtilsMessengerEXT(
1619 VkInstance instance,
1620 VkDebugUtilsMessengerEXT messenger,
1621 const VkAllocationCallbacks* pAllocator);
1622 void vkSubmitDebugUtilsMessageEXT(
1623 VkInstance instance,
1624 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
1625 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
1626 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
1627#endif
1628#ifdef VK_ANDROID_external_memory_android_hardware_buffer
1629 VkResult vkGetAndroidHardwareBufferPropertiesANDROID(
1630 VkDevice device,
1631 const AHardwareBuffer* buffer,
1632 VkAndroidHardwareBufferPropertiesANDROID* pProperties);
1633 VkResult vkGetMemoryAndroidHardwareBufferANDROID(
1634 VkDevice device,
1635 const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo,
1636 AHardwareBuffer** pBuffer);
1637#endif
1638#ifdef VK_EXT_sampler_filter_minmax
1639#endif
1640#ifdef VK_AMD_gpu_shader_int16
1641#endif
1642#ifdef VK_AMD_mixed_attachment_samples
1643#endif
1644#ifdef VK_AMD_shader_fragment_mask
1645#endif
1646#ifdef VK_EXT_shader_stencil_export
1647#endif
1648#ifdef VK_EXT_sample_locations
1649 void vkCmdSetSampleLocationsEXT(
1650 VkCommandBuffer commandBuffer,
1651 const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
1652 void vkGetPhysicalDeviceMultisamplePropertiesEXT(
1653 VkPhysicalDevice physicalDevice,
1654 VkSampleCountFlagBits samples,
1655 VkMultisamplePropertiesEXT* pMultisampleProperties);
1656#endif
1657#ifdef VK_EXT_blend_operation_advanced
1658#endif
1659#ifdef VK_NV_fragment_coverage_to_color
1660#endif
1661#ifdef VK_NV_framebuffer_mixed_samples
1662#endif
1663#ifdef VK_NV_fill_rectangle
1664#endif
1665#ifdef VK_EXT_post_depth_coverage
1666#endif
1667#ifdef VK_EXT_validation_cache
1668 VkResult vkCreateValidationCacheEXT(
1669 VkDevice device,
1670 const VkValidationCacheCreateInfoEXT* pCreateInfo,
1671 const VkAllocationCallbacks* pAllocator,
1672 VkValidationCacheEXT* pValidationCache);
1673 void vkDestroyValidationCacheEXT(
1674 VkDevice device,
1675 VkValidationCacheEXT validationCache,
1676 const VkAllocationCallbacks* pAllocator);
1677 VkResult vkMergeValidationCachesEXT(
1678 VkDevice device,
1679 VkValidationCacheEXT dstCache,
1680 uint32_t srcCacheCount,
1681 const VkValidationCacheEXT* pSrcCaches);
1682 VkResult vkGetValidationCacheDataEXT(
1683 VkDevice device,
1684 VkValidationCacheEXT validationCache,
1685 size_t* pDataSize,
1686 void* pData);
1687#endif
1688#ifdef VK_EXT_descriptor_indexing
1689#endif
1690#ifdef VK_EXT_shader_viewport_index_layer
1691#endif
1692#ifdef VK_EXT_global_priority
1693#endif
1694#ifdef VK_EXT_external_memory_host
1695 VkResult vkGetMemoryHostPointerPropertiesEXT(
1696 VkDevice device,
1697 VkExternalMemoryHandleTypeFlagBits handleType,
1698 const void* pHostPointer,
1699 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
1700#endif
1701#ifdef VK_AMD_buffer_marker
1702 void vkCmdWriteBufferMarkerAMD(
1703 VkCommandBuffer commandBuffer,
1704 VkPipelineStageFlagBits pipelineStage,
1705 VkBuffer dstBuffer,
1706 VkDeviceSize dstOffset,
1707 uint32_t marker);
1708#endif
1709#ifdef VK_AMD_shader_core_properties
1710#endif
1711#ifdef VK_EXT_vertex_attribute_divisor
1712#endif
1713#ifdef VK_NV_shader_subgroup_partitioned
1714#endif
1715#ifdef VK_NV_device_diagnostic_checkpoints
1716 void vkCmdSetCheckpointNV(
1717 VkCommandBuffer commandBuffer,
1718 const void* pCheckpointMarker);
1719 void vkGetQueueCheckpointDataNV(
1720 VkQueue queue,
1721 uint32_t* pCheckpointDataCount,
1722 VkCheckpointDataNV* pCheckpointData);
1723#endif
1724
Lingfeng Yanga126a8a2018-11-01 18:21:40 -07001725private:
1726 class Impl;
1727 std::unique_ptr<Impl> mImpl;
Lingfeng Yang6a283672018-11-01 13:37:56 -07001728};
1729
Lingfeng Yang6a283672018-11-01 13:37:56 -07001730