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