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