• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/* WARNING: This is auto-generated file. Do not modify, since changes will
2 * be lost! Modify the generating script instead.
3 * This file was generated by /scripts/gen_framework.py
4 */
5
6virtual PFN_vkVoidFunction	getDeviceProcAddr										(VkDevice device, const char* pName) const = 0;
7virtual void				destroyDevice											(VkDevice device, const VkAllocationCallbacks* pAllocator) const = 0;
8virtual void				getDeviceQueue											(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue) const = 0;
9virtual VkResult			queueSubmit												(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence) const = 0;
10virtual VkResult			queueWaitIdle											(VkQueue queue) const = 0;
11virtual VkResult			deviceWaitIdle											(VkDevice device) const = 0;
12virtual VkResult			allocateMemory											(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory) const = 0;
13virtual void				freeMemory												(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator) const = 0;
14virtual VkResult			mapMemory												(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData) const = 0;
15virtual void				unmapMemory												(VkDevice device, VkDeviceMemory memory) const = 0;
16virtual VkResult			flushMappedMemoryRanges									(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) const = 0;
17virtual VkResult			invalidateMappedMemoryRanges							(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) const = 0;
18virtual void				getDeviceMemoryCommitment								(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes) const = 0;
19virtual void				getBufferMemoryRequirements								(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements) const = 0;
20virtual VkResult			bindBufferMemory										(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset) const = 0;
21virtual void				getImageMemoryRequirements								(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements) const = 0;
22virtual VkResult			bindImageMemory											(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset) const = 0;
23virtual void				getImageSparseMemoryRequirements						(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) const = 0;
24virtual VkResult			queueBindSparse											(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence) const = 0;
25virtual VkResult			createFence												(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const = 0;
26virtual void				destroyFence											(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator) const = 0;
27virtual VkResult			resetFences												(VkDevice device, uint32_t fenceCount, const VkFence* pFences) const = 0;
28virtual VkResult			getFenceStatus											(VkDevice device, VkFence fence) const = 0;
29virtual VkResult			waitForFences											(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout) const = 0;
30virtual VkResult			createSemaphore											(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore) const = 0;
31virtual void				destroySemaphore										(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator) const = 0;
32virtual VkResult			createEvent												(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent) const = 0;
33virtual void				destroyEvent											(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator) const = 0;
34virtual VkResult			getEventStatus											(VkDevice device, VkEvent event) const = 0;
35virtual VkResult			setEvent												(VkDevice device, VkEvent event) const = 0;
36virtual VkResult			resetEvent												(VkDevice device, VkEvent event) const = 0;
37virtual VkResult			createQueryPool											(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool) const = 0;
38virtual void				destroyQueryPool										(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator) const = 0;
39virtual VkResult			getQueryPoolResults										(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags) const = 0;
40virtual void				resetQueryPool											(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) const = 0;
41virtual VkResult			createBuffer											(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer) const = 0;
42virtual void				destroyBuffer											(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator) const = 0;
43virtual VkResult			createBufferView										(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView) const = 0;
44virtual void				destroyBufferView										(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator) const = 0;
45virtual VkResult			createImage												(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage) const = 0;
46virtual void				destroyImage											(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator) const = 0;
47virtual void				getImageSubresourceLayout								(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout) const = 0;
48virtual VkResult			createImageView											(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView) const = 0;
49virtual void				destroyImageView										(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator) const = 0;
50virtual VkResult			createShaderModule										(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule) const = 0;
51virtual void				destroyShaderModule										(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator) const = 0;
52virtual VkResult			createPipelineCache										(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache) const = 0;
53virtual void				destroyPipelineCache									(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator) const = 0;
54virtual VkResult			getPipelineCacheData									(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData) const = 0;
55virtual VkResult			mergePipelineCaches										(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches) const = 0;
56virtual VkResult			createGraphicsPipelines									(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const = 0;
57virtual VkResult			createComputePipelines									(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const = 0;
58virtual VkResult			getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI			(VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize) const = 0;
59virtual void				destroyPipeline											(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator) const = 0;
60virtual VkResult			createPipelineLayout									(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout) const = 0;
61virtual void				destroyPipelineLayout									(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator) const = 0;
62virtual VkResult			createSampler											(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler) const = 0;
63virtual void				destroySampler											(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator) const = 0;
64virtual VkResult			createDescriptorSetLayout								(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout) const = 0;
65virtual void				destroyDescriptorSetLayout								(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator) const = 0;
66virtual VkResult			createDescriptorPool									(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool) const = 0;
67virtual void				destroyDescriptorPool									(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator) const = 0;
68virtual VkResult			resetDescriptorPool										(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags) const = 0;
69virtual VkResult			allocateDescriptorSets									(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets) const = 0;
70virtual VkResult			freeDescriptorSets										(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets) const = 0;
71virtual void				updateDescriptorSets									(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies) const = 0;
72virtual VkResult			createFramebuffer										(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer) const = 0;
73virtual void				destroyFramebuffer										(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator) const = 0;
74virtual VkResult			createRenderPass										(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) const = 0;
75virtual void				destroyRenderPass										(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator) const = 0;
76virtual void				getRenderAreaGranularity								(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity) const = 0;
77virtual VkResult			createCommandPool										(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool) const = 0;
78virtual void				destroyCommandPool										(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator) const = 0;
79virtual VkResult			resetCommandPool										(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags) const = 0;
80virtual VkResult			allocateCommandBuffers									(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers) const = 0;
81virtual void				freeCommandBuffers										(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) const = 0;
82virtual VkResult			beginCommandBuffer										(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo) const = 0;
83virtual VkResult			endCommandBuffer										(VkCommandBuffer commandBuffer) const = 0;
84virtual VkResult			resetCommandBuffer										(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags) const = 0;
85virtual void				cmdBindPipeline											(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline) const = 0;
86virtual void				cmdSetViewport											(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports) const = 0;
87virtual void				cmdSetScissor											(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors) const = 0;
88virtual void				cmdSetLineWidth											(VkCommandBuffer commandBuffer, float lineWidth) const = 0;
89virtual void				cmdSetDepthBias											(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor) const = 0;
90virtual void				cmdSetBlendConstants									(VkCommandBuffer commandBuffer, const float blendConstants[4]) const = 0;
91virtual void				cmdSetDepthBounds										(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds) const = 0;
92virtual void				cmdSetStencilCompareMask								(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask) const = 0;
93virtual void				cmdSetStencilWriteMask									(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask) const = 0;
94virtual void				cmdSetStencilReference									(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference) const = 0;
95virtual void				cmdBindDescriptorSets									(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets) const = 0;
96virtual void				cmdBindIndexBuffer										(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) const = 0;
97virtual void				cmdBindVertexBuffers									(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) const = 0;
98virtual void				cmdDraw													(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) const = 0;
99virtual void				cmdDrawIndexed											(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance) const = 0;
100virtual void				cmdDrawMultiEXT											(VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawInfoEXT* pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride) const = 0;
101virtual void				cmdDrawMultiIndexedEXT									(VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawIndexedInfoEXT* pIndexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride, const int32_t* pVertexOffset) const = 0;
102virtual void				cmdDrawIndirect											(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) const = 0;
103virtual void				cmdDrawIndexedIndirect									(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) const = 0;
104virtual void				cmdDispatch												(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) const = 0;
105virtual void				cmdDispatchIndirect										(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) const = 0;
106virtual void				cmdSubpassShadingHUAWEI									(VkCommandBuffer commandBuffer) const = 0;
107virtual void				cmdCopyBuffer											(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions) const = 0;
108virtual void				cmdCopyImage											(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions) const = 0;
109virtual void				cmdBlitImage											(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter) const = 0;
110virtual void				cmdCopyBufferToImage									(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions) const = 0;
111virtual void				cmdCopyImageToBuffer									(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions) const = 0;
112virtual void				cmdCopyMemoryIndirectNV									(VkCommandBuffer commandBuffer, VkDeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride) const = 0;
113virtual void				cmdCopyMemoryToImageIndirectNV							(VkCommandBuffer commandBuffer, VkDeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride, VkImage dstImage, VkImageLayout dstImageLayout, const VkImageSubresourceLayers* pImageSubresources) const = 0;
114virtual void				cmdUpdateBuffer											(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData) const = 0;
115virtual void				cmdFillBuffer											(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data) const = 0;
116virtual void				cmdClearColorImage										(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) const = 0;
117virtual void				cmdClearDepthStencilImage								(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) const = 0;
118virtual void				cmdClearAttachments										(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects) const = 0;
119virtual void				cmdResolveImage											(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions) const = 0;
120virtual void				cmdSetEvent												(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) const = 0;
121virtual void				cmdResetEvent											(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) const = 0;
122virtual void				cmdWaitEvents											(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) const = 0;
123virtual void				cmdPipelineBarrier										(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) const = 0;
124virtual void				cmdBeginQuery											(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags) const = 0;
125virtual void				cmdEndQuery												(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query) const = 0;
126virtual void				cmdBeginConditionalRenderingEXT							(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin) const = 0;
127virtual void				cmdEndConditionalRenderingEXT							(VkCommandBuffer commandBuffer) const = 0;
128virtual void				cmdResetQueryPool										(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) const = 0;
129virtual void				cmdWriteTimestamp										(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query) const = 0;
130virtual void				cmdCopyQueryPoolResults									(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) const = 0;
131virtual void				cmdPushConstants										(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues) const = 0;
132virtual void				cmdBeginRenderPass										(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents) const = 0;
133virtual void				cmdNextSubpass											(VkCommandBuffer commandBuffer, VkSubpassContents contents) const = 0;
134virtual void				cmdEndRenderPass										(VkCommandBuffer commandBuffer) const = 0;
135virtual void				cmdExecuteCommands										(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) const = 0;
136virtual VkResult			getOHOSNativeBufferPropertiesOpenHarmony				(VkDevice device, const struct OH_NativeBuffer* buffer, VkOHOSNativeBufferPropertiesOpenHarmony* pProperties) const = 0;
137virtual VkResult			createSharedSwapchainsKHR								(VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains) const = 0;
138virtual VkResult			createSwapchainKHR										(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain) const = 0;
139virtual void				destroySwapchainKHR										(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator) const = 0;
140virtual VkResult			getSwapchainImagesKHR									(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages) const = 0;
141virtual VkResult			acquireNextImageKHR										(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex) const = 0;
142virtual VkResult			queuePresentKHR											(VkQueue queue, const VkPresentInfoKHR* pPresentInfo) const = 0;
143virtual VkResult			debugMarkerSetObjectNameEXT								(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo) const = 0;
144virtual VkResult			debugMarkerSetObjectTagEXT								(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo) const = 0;
145virtual void				cmdDebugMarkerBeginEXT									(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo) const = 0;
146virtual void				cmdDebugMarkerEndEXT									(VkCommandBuffer commandBuffer) const = 0;
147virtual void				cmdDebugMarkerInsertEXT									(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo) const = 0;
148virtual VkResult			getMemoryWin32HandleNV									(VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, pt::Win32Handle* pHandle) const = 0;
149virtual void				cmdExecuteGeneratedCommandsNV							(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo) const = 0;
150virtual void				cmdPreprocessGeneratedCommandsNV						(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo) const = 0;
151virtual void				cmdBindPipelineShaderGroupNV							(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, uint32_t groupIndex) const = 0;
152virtual void				getGeneratedCommandsMemoryRequirementsNV				(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements) const = 0;
153virtual VkResult			createIndirectCommandsLayoutNV							(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout) const = 0;
154virtual void				destroyIndirectCommandsLayoutNV							(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator) const = 0;
155virtual void				cmdPushDescriptorSetKHR									(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) const = 0;
156virtual void				trimCommandPool											(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags) const = 0;
157virtual VkResult			getMemoryWin32HandleKHR									(VkDevice device, const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const = 0;
158virtual VkResult			getMemoryWin32HandlePropertiesKHR						(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, pt::Win32Handle handle, VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties) const = 0;
159virtual VkResult			getMemoryFdKHR											(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd) const = 0;
160virtual VkResult			getMemoryFdPropertiesKHR								(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties) const = 0;
161virtual VkResult			getMemoryZirconHandleFUCHSIA							(VkDevice device, const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, pt::zx_handle_t* pZirconHandle) const = 0;
162virtual VkResult			getMemoryZirconHandlePropertiesFUCHSIA					(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, pt::zx_handle_t zirconHandle, VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties) const = 0;
163virtual VkResult			getMemoryRemoteAddressNV								(VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress) const = 0;
164virtual VkResult			getSemaphoreWin32HandleKHR								(VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const = 0;
165virtual VkResult			importSemaphoreWin32HandleKHR							(VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo) const = 0;
166virtual VkResult			getSemaphoreFdKHR										(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd) const = 0;
167virtual VkResult			importSemaphoreFdKHR									(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo) const = 0;
168virtual VkResult			getSemaphoreZirconHandleFUCHSIA							(VkDevice device, const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, pt::zx_handle_t* pZirconHandle) const = 0;
169virtual VkResult			importSemaphoreZirconHandleFUCHSIA						(VkDevice device, const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo) const = 0;
170virtual VkResult			getFenceWin32HandleKHR									(VkDevice device, const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const = 0;
171virtual VkResult			importFenceWin32HandleKHR								(VkDevice device, const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo) const = 0;
172virtual VkResult			getFenceFdKHR											(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd) const = 0;
173virtual VkResult			importFenceFdKHR										(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo) const = 0;
174virtual VkResult			displayPowerControlEXT									(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo) const = 0;
175virtual VkResult			registerDeviceEventEXT									(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const = 0;
176virtual VkResult			registerDisplayEventEXT									(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const = 0;
177virtual VkResult			getSwapchainCounterEXT									(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue) const = 0;
178virtual void				getDeviceGroupPeerMemoryFeatures						(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures) const = 0;
179virtual VkResult			bindBufferMemory2										(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos) const = 0;
180virtual VkResult			bindImageMemory2										(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos) const = 0;
181virtual void				cmdSetDeviceMask										(VkCommandBuffer commandBuffer, uint32_t deviceMask) const = 0;
182virtual VkResult			getDeviceGroupPresentCapabilitiesKHR					(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities) const = 0;
183virtual VkResult			getDeviceGroupSurfacePresentModesKHR					(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes) const = 0;
184virtual VkResult			acquireNextImage2KHR									(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex) const = 0;
185virtual void				cmdDispatchBase											(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) const = 0;
186virtual VkResult			createDescriptorUpdateTemplate							(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate) const = 0;
187virtual void				destroyDescriptorUpdateTemplate							(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator) const = 0;
188virtual void				updateDescriptorSetWithTemplate							(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData) const = 0;
189virtual void				cmdPushDescriptorSetWithTemplateKHR						(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData) const = 0;
190virtual void				setHdrMetadataEXT										(VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata) const = 0;
191virtual VkResult			getSwapchainStatusKHR									(VkDevice device, VkSwapchainKHR swapchain) const = 0;
192virtual VkResult			getRefreshCycleDurationGOOGLE							(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties) const = 0;
193virtual VkResult			getPastPresentationTimingGOOGLE							(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings) const = 0;
194virtual void				cmdSetViewportWScalingNV								(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings) const = 0;
195virtual void				cmdSetDiscardRectangleEXT								(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles) const = 0;
196virtual void				cmdSetSampleLocationsEXT								(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo) const = 0;
197virtual void				getBufferMemoryRequirements2							(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) const = 0;
198virtual void				getImageMemoryRequirements2								(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) const = 0;
199virtual void				getImageSparseMemoryRequirements2						(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) const = 0;
200virtual void				getDeviceBufferMemoryRequirements						(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements) const = 0;
201virtual void				getDeviceImageMemoryRequirements						(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements) const = 0;
202virtual void				getDeviceImageSparseMemoryRequirements					(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) const = 0;
203virtual VkResult			createSamplerYcbcrConversion							(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion) const = 0;
204virtual void				destroySamplerYcbcrConversion							(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator) const = 0;
205virtual void				getDeviceQueue2											(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue) const = 0;
206virtual VkResult			createValidationCacheEXT								(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache) const = 0;
207virtual void				destroyValidationCacheEXT								(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator) const = 0;
208virtual VkResult			getValidationCacheDataEXT								(VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData) const = 0;
209virtual VkResult			mergeValidationCachesEXT								(VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches) const = 0;
210virtual void				getDescriptorSetLayoutSupport							(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport) const = 0;
211virtual VkResult			getSwapchainGrallocUsageOpenHarmony						(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, int* grallocUsage) const = 0;
212virtual VkResult			setNativeFenceFdOpenHarmony								(VkDevice device, int32_t nativeFenceFd, VkSemaphore semaphore, VkFence fence) const = 0;
213virtual VkResult			getNativeFenceFdOpenHarmony								(VkQueue queue, uint32_t waitSemaphoreCount, const VkSemaphore* pWaitSemaphores, VkImage image, int32_t* pNativeFenceFd) const = 0;
214virtual VkResult			getShaderInfoAMD										(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo) const = 0;
215virtual void				setLocalDimmingAMD										(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable) const = 0;
216virtual VkResult			getCalibratedTimestampsEXT								(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation) const = 0;
217virtual VkResult			setDebugUtilsObjectNameEXT								(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo) const = 0;
218virtual VkResult			setDebugUtilsObjectTagEXT								(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo) const = 0;
219virtual void				queueBeginDebugUtilsLabelEXT							(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo) const = 0;
220virtual void				queueEndDebugUtilsLabelEXT								(VkQueue queue) const = 0;
221virtual void				queueInsertDebugUtilsLabelEXT							(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo) const = 0;
222virtual void				cmdBeginDebugUtilsLabelEXT								(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo) const = 0;
223virtual void				cmdEndDebugUtilsLabelEXT								(VkCommandBuffer commandBuffer) const = 0;
224virtual void				cmdInsertDebugUtilsLabelEXT								(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo) const = 0;
225virtual VkResult			getMemoryHostPointerPropertiesEXT						(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties) const = 0;
226virtual void				cmdWriteBufferMarkerAMD									(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker) const = 0;
227virtual VkResult			createRenderPass2										(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) const = 0;
228virtual void				cmdBeginRenderPass2										(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo) const = 0;
229virtual void				cmdNextSubpass2											(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo) const = 0;
230virtual void				cmdEndRenderPass2										(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo) const = 0;
231virtual VkResult			getSemaphoreCounterValue								(VkDevice device, VkSemaphore semaphore, uint64_t* pValue) const = 0;
232virtual VkResult			waitSemaphores											(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout) const = 0;
233virtual VkResult			signalSemaphore											(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo) const = 0;
234virtual VkResult			getAndroidHardwareBufferPropertiesANDROID				(VkDevice device, const struct pt::AndroidHardwareBufferPtr buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties) const = 0;
235virtual VkResult			getMemoryAndroidHardwareBufferANDROID					(VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct pt::AndroidHardwareBufferPtr* pBuffer) const = 0;
236virtual VkResult			getMemoryOHOSNativeBufferOpenHarmony					(VkDevice device, const VkMemoryGetOHOSNativeBufferInfoOpenHarmony* pInfo, struct OH_NativeBuffer** pBuffer) const = 0;
237virtual void				cmdDrawIndirectCount									(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const = 0;
238virtual void				cmdDrawIndexedIndirectCount								(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const = 0;
239virtual void				cmdSetCheckpointNV										(VkCommandBuffer commandBuffer, const void* pCheckpointMarker) const = 0;
240virtual void				getQueueCheckpointDataNV								(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData) const = 0;
241virtual void				cmdBindTransformFeedbackBuffersEXT						(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes) const = 0;
242virtual void				cmdBeginTransformFeedbackEXT							(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) const = 0;
243virtual void				cmdEndTransformFeedbackEXT								(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) const = 0;
244virtual void				cmdBeginQueryIndexedEXT									(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index) const = 0;
245virtual void				cmdEndQueryIndexedEXT									(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index) const = 0;
246virtual void				cmdDrawIndirectByteCountEXT								(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride) const = 0;
247virtual void				cmdSetExclusiveScissorNV								(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors) const = 0;
248virtual void				cmdBindShadingRateImageNV								(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout) const = 0;
249virtual void				cmdSetViewportShadingRatePaletteNV						(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes) const = 0;
250virtual void				cmdSetCoarseSampleOrderNV								(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders) const = 0;
251virtual void				cmdDrawMeshTasksNV										(VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask) const = 0;
252virtual void				cmdDrawMeshTasksIndirectNV								(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) const = 0;
253virtual void				cmdDrawMeshTasksIndirectCountNV							(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const = 0;
254virtual void				cmdDrawMeshTasksEXT										(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) const = 0;
255virtual void				cmdDrawMeshTasksIndirectEXT								(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) const = 0;
256virtual void				cmdDrawMeshTasksIndirectCountEXT						(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const = 0;
257virtual VkResult			compileDeferredNV										(VkDevice device, VkPipeline pipeline, uint32_t shader) const = 0;
258virtual VkResult			createAccelerationStructureNV							(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure) const = 0;
259virtual void				cmdBindInvocationMaskHUAWEI								(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout) const = 0;
260virtual void				destroyAccelerationStructureKHR							(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator) const = 0;
261virtual void				destroyAccelerationStructureNV							(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator) const = 0;
262virtual void				getAccelerationStructureMemoryRequirementsNV			(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements) const = 0;
263virtual VkResult			bindAccelerationStructureMemoryNV						(VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos) const = 0;
264virtual void				cmdCopyAccelerationStructureNV							(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode) const = 0;
265virtual void				cmdCopyAccelerationStructureKHR							(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo) const = 0;
266virtual VkResult			copyAccelerationStructureKHR							(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo) const = 0;
267virtual void				cmdCopyAccelerationStructureToMemoryKHR					(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo) const = 0;
268virtual VkResult			copyAccelerationStructureToMemoryKHR					(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo) const = 0;
269virtual void				cmdCopyMemoryToAccelerationStructureKHR					(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo) const = 0;
270virtual VkResult			copyMemoryToAccelerationStructureKHR					(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo) const = 0;
271virtual void				cmdWriteAccelerationStructuresPropertiesKHR				(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery) const = 0;
272virtual void				cmdWriteAccelerationStructuresPropertiesNV				(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery) const = 0;
273virtual void				cmdBuildAccelerationStructureNV							(VkCommandBuffer commandBuffer, const VkAccelerationStructureInfoNV* pInfo, VkBuffer instanceData, VkDeviceSize instanceOffset, VkBool32 update, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkBuffer scratch, VkDeviceSize scratchOffset) const = 0;
274virtual VkResult			writeAccelerationStructuresPropertiesKHR				(VkDevice device, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, size_t dataSize, void* pData, size_t stride) const = 0;
275virtual void				cmdTraceRaysKHR											(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, uint32_t width, uint32_t height, uint32_t depth) const = 0;
276virtual void				cmdTraceRaysNV											(VkCommandBuffer commandBuffer, VkBuffer raygenShaderBindingTableBuffer, VkDeviceSize raygenShaderBindingOffset, VkBuffer missShaderBindingTableBuffer, VkDeviceSize missShaderBindingOffset, VkDeviceSize missShaderBindingStride, VkBuffer hitShaderBindingTableBuffer, VkDeviceSize hitShaderBindingOffset, VkDeviceSize hitShaderBindingStride, VkBuffer callableShaderBindingTableBuffer, VkDeviceSize callableShaderBindingOffset, VkDeviceSize callableShaderBindingStride, uint32_t width, uint32_t height, uint32_t depth) const = 0;
277virtual VkResult			getRayTracingShaderGroupHandlesKHR						(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData) const = 0;
278virtual VkResult			getRayTracingCaptureReplayShaderGroupHandlesKHR			(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData) const = 0;
279virtual VkResult			getAccelerationStructureHandleNV						(VkDevice device, VkAccelerationStructureNV accelerationStructure, size_t dataSize, void* pData) const = 0;
280virtual VkResult			createRayTracingPipelinesNV								(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const = 0;
281virtual VkResult			createRayTracingPipelinesKHR							(VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const = 0;
282virtual void				cmdTraceRaysIndirectKHR									(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress) const = 0;
283virtual void				cmdTraceRaysIndirect2KHR								(VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress) const = 0;
284virtual void				getDeviceAccelerationStructureCompatibilityKHR			(VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility) const = 0;
285virtual VkDeviceSize		getRayTracingShaderGroupStackSizeKHR					(VkDevice device, VkPipeline pipeline, uint32_t group, VkShaderGroupShaderKHR groupShader) const = 0;
286virtual void				cmdSetRayTracingPipelineStackSizeKHR					(VkCommandBuffer commandBuffer, uint32_t pipelineStackSize) const = 0;
287virtual uint32_t			getImageViewHandleNVX									(VkDevice device, const VkImageViewHandleInfoNVX* pInfo) const = 0;
288virtual VkResult			getImageViewAddressNVX									(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties) const = 0;
289virtual VkResult			getDeviceGroupSurfacePresentModes2EXT					(VkDevice device, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkDeviceGroupPresentModeFlagsKHR* pModes) const = 0;
290virtual VkResult			acquireFullScreenExclusiveModeEXT						(VkDevice device, VkSwapchainKHR swapchain) const = 0;
291virtual VkResult			releaseFullScreenExclusiveModeEXT						(VkDevice device, VkSwapchainKHR swapchain) const = 0;
292virtual VkResult			acquireProfilingLockKHR									(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo) const = 0;
293virtual void				releaseProfilingLockKHR									(VkDevice device) const = 0;
294virtual VkResult			getImageDrmFormatModifierPropertiesEXT					(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties) const = 0;
295virtual uint64_t			getBufferOpaqueCaptureAddress							(VkDevice device, const VkBufferDeviceAddressInfo* pInfo) const = 0;
296virtual VkDeviceAddress		getBufferDeviceAddress									(VkDevice device, const VkBufferDeviceAddressInfo* pInfo) const = 0;
297virtual VkResult			initializePerformanceApiINTEL							(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo) const = 0;
298virtual void				uninitializePerformanceApiINTEL							(VkDevice device) const = 0;
299virtual VkResult			cmdSetPerformanceMarkerINTEL							(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo) const = 0;
300virtual VkResult			cmdSetPerformanceStreamMarkerINTEL						(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo) const = 0;
301virtual VkResult			cmdSetPerformanceOverrideINTEL							(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo) const = 0;
302virtual VkResult			acquirePerformanceConfigurationINTEL					(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration) const = 0;
303virtual VkResult			releasePerformanceConfigurationINTEL					(VkDevice device, VkPerformanceConfigurationINTEL configuration) const = 0;
304virtual VkResult			queueSetPerformanceConfigurationINTEL					(VkQueue queue, VkPerformanceConfigurationINTEL configuration) const = 0;
305virtual VkResult			getPerformanceParameterINTEL							(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue) const = 0;
306virtual uint64_t			getDeviceMemoryOpaqueCaptureAddress						(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo) const = 0;
307virtual VkResult			getPipelineExecutablePropertiesKHR						(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties) const = 0;
308virtual VkResult			getPipelineExecutableStatisticsKHR						(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics) const = 0;
309virtual VkResult			getPipelineExecutableInternalRepresentationsKHR			(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations) const = 0;
310virtual void				cmdSetLineStippleEXT									(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern) const = 0;
311virtual VkResult			createAccelerationStructureKHR							(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure) const = 0;
312virtual void				cmdBuildAccelerationStructuresKHR						(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos) const = 0;
313virtual void				cmdBuildAccelerationStructuresIndirectKHR				(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkDeviceAddress* pIndirectDeviceAddresses, const uint32_t* pIndirectStrides, const uint32_t* const* ppMaxPrimitiveCounts) const = 0;
314virtual VkResult			buildAccelerationStructuresKHR							(VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos) const = 0;
315virtual VkDeviceAddress		getAccelerationStructureDeviceAddressKHR				(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo) const = 0;
316virtual VkResult			createDeferredOperationKHR								(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation) const = 0;
317virtual void				destroyDeferredOperationKHR								(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator) const = 0;
318virtual uint32_t			getDeferredOperationMaxConcurrencyKHR					(VkDevice device, VkDeferredOperationKHR operation) const = 0;
319virtual VkResult			getDeferredOperationResultKHR							(VkDevice device, VkDeferredOperationKHR operation) const = 0;
320virtual VkResult			deferredOperationJoinKHR								(VkDevice device, VkDeferredOperationKHR operation) const = 0;
321virtual void				cmdSetCullMode											(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode) const = 0;
322virtual void				cmdSetFrontFace											(VkCommandBuffer commandBuffer, VkFrontFace frontFace) const = 0;
323virtual void				cmdSetPrimitiveTopology									(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology) const = 0;
324virtual void				cmdSetViewportWithCount									(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports) const = 0;
325virtual void				cmdSetScissorWithCount									(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors) const = 0;
326virtual void				cmdBindVertexBuffers2									(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides) const = 0;
327virtual void				cmdSetDepthTestEnable									(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable) const = 0;
328virtual void				cmdSetDepthWriteEnable									(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable) const = 0;
329virtual void				cmdSetDepthCompareOp									(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp) const = 0;
330virtual void				cmdSetDepthBoundsTestEnable								(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable) const = 0;
331virtual void				cmdSetStencilTestEnable									(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable) const = 0;
332virtual void				cmdSetStencilOp											(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp) const = 0;
333virtual void				cmdSetPatchControlPointsEXT								(VkCommandBuffer commandBuffer, uint32_t patchControlPoints) const = 0;
334virtual void				cmdSetRasterizerDiscardEnable							(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable) const = 0;
335virtual void				cmdSetDepthBiasEnable									(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable) const = 0;
336virtual void				cmdSetLogicOpEXT										(VkCommandBuffer commandBuffer, VkLogicOp logicOp) const = 0;
337virtual void				cmdSetPrimitiveRestartEnable							(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable) const = 0;
338virtual void				cmdSetTessellationDomainOriginEXT						(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin) const = 0;
339virtual void				cmdSetDepthClampEnableEXT								(VkCommandBuffer commandBuffer, VkBool32 depthClampEnable) const = 0;
340virtual void				cmdSetPolygonModeEXT									(VkCommandBuffer commandBuffer, VkPolygonMode polygonMode) const = 0;
341virtual void				cmdSetRasterizationSamplesEXT							(VkCommandBuffer commandBuffer, VkSampleCountFlagBits rasterizationSamples) const = 0;
342virtual void				cmdSetSampleMaskEXT										(VkCommandBuffer commandBuffer, VkSampleCountFlagBits samples, const VkSampleMask* pSampleMask) const = 0;
343virtual void				cmdSetAlphaToCoverageEnableEXT							(VkCommandBuffer commandBuffer, VkBool32 alphaToCoverageEnable) const = 0;
344virtual void				cmdSetAlphaToOneEnableEXT								(VkCommandBuffer commandBuffer, VkBool32 alphaToOneEnable) const = 0;
345virtual void				cmdSetLogicOpEnableEXT									(VkCommandBuffer commandBuffer, VkBool32 logicOpEnable) const = 0;
346virtual void				cmdSetColorBlendEnableEXT								(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkBool32* pColorBlendEnables) const = 0;
347virtual void				cmdSetColorBlendEquationEXT								(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendEquationEXT* pColorBlendEquations) const = 0;
348virtual void				cmdSetColorWriteMaskEXT									(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorComponentFlags* pColorWriteMasks) const = 0;
349virtual void				cmdSetRasterizationStreamEXT							(VkCommandBuffer commandBuffer, uint32_t rasterizationStream) const = 0;
350virtual void				cmdSetConservativeRasterizationModeEXT					(VkCommandBuffer commandBuffer, VkConservativeRasterizationModeEXT conservativeRasterizationMode) const = 0;
351virtual void				cmdSetExtraPrimitiveOverestimationSizeEXT				(VkCommandBuffer commandBuffer, float extraPrimitiveOverestimationSize) const = 0;
352virtual void				cmdSetDepthClipEnableEXT								(VkCommandBuffer commandBuffer, VkBool32 depthClipEnable) const = 0;
353virtual void				cmdSetSampleLocationsEnableEXT							(VkCommandBuffer commandBuffer, VkBool32 sampleLocationsEnable) const = 0;
354virtual void				cmdSetColorBlendAdvancedEXT								(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendAdvancedEXT* pColorBlendAdvanced) const = 0;
355virtual void				cmdSetProvokingVertexModeEXT							(VkCommandBuffer commandBuffer, VkProvokingVertexModeEXT provokingVertexMode) const = 0;
356virtual void				cmdSetLineRasterizationModeEXT							(VkCommandBuffer commandBuffer, VkLineRasterizationModeEXT lineRasterizationMode) const = 0;
357virtual void				cmdSetLineStippleEnableEXT								(VkCommandBuffer commandBuffer, VkBool32 stippledLineEnable) const = 0;
358virtual void				cmdSetDepthClipNegativeOneToOneEXT						(VkCommandBuffer commandBuffer, VkBool32 negativeOneToOne) const = 0;
359virtual void				cmdSetViewportWScalingEnableNV							(VkCommandBuffer commandBuffer, VkBool32 viewportWScalingEnable) const = 0;
360virtual void				cmdSetViewportSwizzleNV									(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportSwizzleNV* pViewportSwizzles) const = 0;
361virtual void				cmdSetCoverageToColorEnableNV							(VkCommandBuffer commandBuffer, VkBool32 coverageToColorEnable) const = 0;
362virtual void				cmdSetCoverageToColorLocationNV							(VkCommandBuffer commandBuffer, uint32_t coverageToColorLocation) const = 0;
363virtual void				cmdSetCoverageModulationModeNV							(VkCommandBuffer commandBuffer, VkCoverageModulationModeNV coverageModulationMode) const = 0;
364virtual void				cmdSetCoverageModulationTableEnableNV					(VkCommandBuffer commandBuffer, VkBool32 coverageModulationTableEnable) const = 0;
365virtual void				cmdSetCoverageModulationTableNV							(VkCommandBuffer commandBuffer, uint32_t coverageModulationTableCount, const float* pCoverageModulationTable) const = 0;
366virtual void				cmdSetShadingRateImageEnableNV							(VkCommandBuffer commandBuffer, VkBool32 shadingRateImageEnable) const = 0;
367virtual void				cmdSetCoverageReductionModeNV							(VkCommandBuffer commandBuffer, VkCoverageReductionModeNV coverageReductionMode) const = 0;
368virtual void				cmdSetRepresentativeFragmentTestEnableNV				(VkCommandBuffer commandBuffer, VkBool32 representativeFragmentTestEnable) const = 0;
369virtual VkResult			createPrivateDataSlot									(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot) const = 0;
370virtual void				destroyPrivateDataSlot									(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator) const = 0;
371virtual VkResult			setPrivateData											(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data) const = 0;
372virtual void				getPrivateData											(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData) const = 0;
373virtual void				cmdCopyBuffer2											(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo) const = 0;
374virtual void				cmdCopyImage2											(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo) const = 0;
375virtual void				cmdBlitImage2											(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo) const = 0;
376virtual void				cmdCopyBufferToImage2									(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo) const = 0;
377virtual void				cmdCopyImageToBuffer2									(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo) const = 0;
378virtual void				cmdResolveImage2										(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo) const = 0;
379virtual void				cmdSetFragmentShadingRateKHR							(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const = 0;
380virtual void				cmdSetFragmentShadingRateEnumNV							(VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const = 0;
381virtual void				getAccelerationStructureBuildSizesKHR					(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const uint32_t* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo) const = 0;
382virtual void				cmdSetVertexInputEXT									(VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions) const = 0;
383virtual void				cmdSetColorWriteEnableEXT								(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables) const = 0;
384virtual void				cmdSetEvent2											(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo) const = 0;
385virtual void				cmdResetEvent2											(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask) const = 0;
386virtual void				cmdWaitEvents2											(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos) const = 0;
387virtual void				cmdPipelineBarrier2										(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo) const = 0;
388virtual VkResult			queueSubmit2											(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence) const = 0;
389virtual void				cmdWriteTimestamp2										(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query) const = 0;
390virtual void				cmdWriteBufferMarker2AMD								(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker) const = 0;
391virtual void				getQueueCheckpointData2NV								(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData) const = 0;
392virtual VkResult			createVideoSessionKHR									(VkDevice device, const VkVideoSessionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionKHR* pVideoSession) const = 0;
393virtual void				destroyVideoSessionKHR									(VkDevice device, VkVideoSessionKHR videoSession, const VkAllocationCallbacks* pAllocator) const = 0;
394virtual VkResult			createVideoSessionParametersKHR							(VkDevice device, const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionParametersKHR* pVideoSessionParameters) const = 0;
395virtual VkResult			updateVideoSessionParametersKHR							(VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo) const = 0;
396virtual void				destroyVideoSessionParametersKHR						(VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkAllocationCallbacks* pAllocator) const = 0;
397virtual VkResult			getVideoSessionMemoryRequirementsKHR					(VkDevice device, VkVideoSessionKHR videoSession, uint32_t* pMemoryRequirementsCount, VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements) const = 0;
398virtual VkResult			bindVideoSessionMemoryKHR								(VkDevice device, VkVideoSessionKHR videoSession, uint32_t bindSessionMemoryInfoCount, const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos) const = 0;
399virtual void				cmdDecodeVideoKHR										(VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pDecodeInfo) const = 0;
400virtual void				cmdBeginVideoCodingKHR									(VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR* pBeginInfo) const = 0;
401virtual void				cmdControlVideoCodingKHR								(VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR* pCodingControlInfo) const = 0;
402virtual void				cmdEndVideoCodingKHR									(VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR* pEndCodingInfo) const = 0;
403virtual void				cmdEncodeVideoKHR										(VkCommandBuffer commandBuffer, const VkVideoEncodeInfoKHR* pEncodeInfo) const = 0;
404virtual void				cmdDecompressMemoryNV									(VkCommandBuffer commandBuffer, uint32_t decompressRegionCount, const VkDecompressMemoryRegionNV* pDecompressMemoryRegions) const = 0;
405virtual void				cmdDecompressMemoryIndirectCountNV						(VkCommandBuffer commandBuffer, VkDeviceAddress indirectCommandsAddress, VkDeviceAddress indirectCommandsCountAddress, uint32_t stride) const = 0;
406virtual VkResult			createCuModuleNVX										(VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule) const = 0;
407virtual VkResult			createCuFunctionNVX										(VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction) const = 0;
408virtual void				destroyCuModuleNVX										(VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator) const = 0;
409virtual void				destroyCuFunctionNVX									(VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator) const = 0;
410virtual void				cmdCuLaunchKernelNVX									(VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo) const = 0;
411virtual void				getDescriptorSetLayoutSizeEXT							(VkDevice device, VkDescriptorSetLayout layout, VkDeviceSize* pLayoutSizeInBytes) const = 0;
412virtual void				getDescriptorSetLayoutBindingOffsetEXT					(VkDevice device, VkDescriptorSetLayout layout, uint32_t binding, VkDeviceSize* pOffset) const = 0;
413virtual void				getDescriptorEXT										(VkDevice device, const VkDescriptorGetInfoEXT* pDescriptorInfo, size_t dataSize, void* pDescriptor) const = 0;
414virtual void				cmdBindDescriptorBuffersEXT								(VkCommandBuffer commandBuffer, uint32_t bufferCount, const VkDescriptorBufferBindingInfoEXT* pBindingInfos) const = 0;
415virtual void				cmdSetDescriptorBufferOffsetsEXT						(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t setCount, const uint32_t* pBufferIndices, const VkDeviceSize* pOffsets) const = 0;
416virtual void				cmdBindDescriptorBufferEmbeddedSamplersEXT				(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set) const = 0;
417virtual VkResult			getBufferOpaqueCaptureDescriptorDataEXT					(VkDevice device, const VkBufferCaptureDescriptorDataInfoEXT* pInfo, void* pData) const = 0;
418virtual VkResult			getImageOpaqueCaptureDescriptorDataEXT					(VkDevice device, const VkImageCaptureDescriptorDataInfoEXT* pInfo, void* pData) const = 0;
419virtual VkResult			getImageViewOpaqueCaptureDescriptorDataEXT				(VkDevice device, const VkImageViewCaptureDescriptorDataInfoEXT* pInfo, void* pData) const = 0;
420virtual VkResult			getSamplerOpaqueCaptureDescriptorDataEXT				(VkDevice device, const VkSamplerCaptureDescriptorDataInfoEXT* pInfo, void* pData) const = 0;
421virtual VkResult			getAccelerationStructureOpaqueCaptureDescriptorDataEXT	(VkDevice device, const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo, void* pData) const = 0;
422virtual void				setDeviceMemoryPriorityEXT								(VkDevice device, VkDeviceMemory memory, float priority) const = 0;
423virtual VkResult			waitForPresentKHR										(VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout) const = 0;
424virtual VkResult			createBufferCollectionFUCHSIA							(VkDevice device, const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferCollectionFUCHSIA* pCollection) const = 0;
425virtual VkResult			setBufferCollectionBufferConstraintsFUCHSIA				(VkDevice device, VkBufferCollectionFUCHSIA collection, const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo) const = 0;
426virtual VkResult			setBufferCollectionImageConstraintsFUCHSIA				(VkDevice device, VkBufferCollectionFUCHSIA collection, const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo) const = 0;
427virtual void				destroyBufferCollectionFUCHSIA							(VkDevice device, VkBufferCollectionFUCHSIA collection, const VkAllocationCallbacks* pAllocator) const = 0;
428virtual VkResult			getBufferCollectionPropertiesFUCHSIA					(VkDevice device, VkBufferCollectionFUCHSIA collection, VkBufferCollectionPropertiesFUCHSIA* pProperties) const = 0;
429virtual void				cmdBeginRendering										(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo) const = 0;
430virtual void				cmdEndRendering											(VkCommandBuffer commandBuffer) const = 0;
431virtual void				getDescriptorSetLayoutHostMappingInfoVALVE				(VkDevice device, const VkDescriptorSetBindingReferenceVALVE* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping) const = 0;
432virtual void				getDescriptorSetHostMappingVALVE						(VkDevice device, VkDescriptorSet descriptorSet, void** ppData) const = 0;
433virtual VkResult			createMicromapEXT										(VkDevice device, const VkMicromapCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkMicromapEXT* pMicromap) const = 0;
434virtual void				cmdBuildMicromapsEXT									(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos) const = 0;
435virtual VkResult			buildMicromapsEXT										(VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos) const = 0;
436virtual void				destroyMicromapEXT										(VkDevice device, VkMicromapEXT micromap, const VkAllocationCallbacks* pAllocator) const = 0;
437virtual void				cmdCopyMicromapEXT										(VkCommandBuffer commandBuffer, const VkCopyMicromapInfoEXT* pInfo) const = 0;
438virtual VkResult			copyMicromapEXT											(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapInfoEXT* pInfo) const = 0;
439virtual void				cmdCopyMicromapToMemoryEXT								(VkCommandBuffer commandBuffer, const VkCopyMicromapToMemoryInfoEXT* pInfo) const = 0;
440virtual VkResult			copyMicromapToMemoryEXT									(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapToMemoryInfoEXT* pInfo) const = 0;
441virtual void				cmdCopyMemoryToMicromapEXT								(VkCommandBuffer commandBuffer, const VkCopyMemoryToMicromapInfoEXT* pInfo) const = 0;
442virtual VkResult			copyMemoryToMicromapEXT									(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToMicromapInfoEXT* pInfo) const = 0;
443virtual void				cmdWriteMicromapsPropertiesEXT							(VkCommandBuffer commandBuffer, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery) const = 0;
444virtual VkResult			writeMicromapsPropertiesEXT								(VkDevice device, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, size_t dataSize, void* pData, size_t stride) const = 0;
445virtual void				getDeviceMicromapCompatibilityEXT						(VkDevice device, const VkMicromapVersionInfoEXT* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility) const = 0;
446virtual void				getMicromapBuildSizesEXT								(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkMicromapBuildInfoEXT* pBuildInfo, VkMicromapBuildSizesInfoEXT* pSizeInfo) const = 0;
447virtual void				getShaderModuleIdentifierEXT							(VkDevice device, VkShaderModule shaderModule, VkShaderModuleIdentifierEXT* pIdentifier) const = 0;
448virtual void				getShaderModuleCreateInfoIdentifierEXT					(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, VkShaderModuleIdentifierEXT* pIdentifier) const = 0;
449virtual void				getImageSubresourceLayout2EXT							(VkDevice device, VkImage image, const VkImageSubresource2EXT* pSubresource, VkSubresourceLayout2EXT* pLayout) const = 0;
450virtual VkResult			getPipelinePropertiesEXT								(VkDevice device, const VkPipelineInfoEXT* pPipelineInfo, VkBaseOutStructure* pPipelineProperties) const = 0;
451virtual void				exportMetalObjectsEXT									(VkDevice device, VkExportMetalObjectsInfoEXT* pMetalObjectsInfo) const = 0;
452virtual VkResult			getFramebufferTilePropertiesQCOM						(VkDevice device, VkFramebuffer framebuffer, uint32_t* pPropertiesCount, VkTilePropertiesQCOM* pProperties) const = 0;
453virtual VkResult			getDynamicRenderingTilePropertiesQCOM					(VkDevice device, const VkRenderingInfo* pRenderingInfo, VkTilePropertiesQCOM* pProperties) const = 0;
454virtual VkResult			createOpticalFlowSessionNV								(VkDevice device, const VkOpticalFlowSessionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkOpticalFlowSessionNV* pSession) const = 0;
455virtual void				destroyOpticalFlowSessionNV								(VkDevice device, VkOpticalFlowSessionNV session, const VkAllocationCallbacks* pAllocator) const = 0;
456virtual VkResult			bindOpticalFlowSessionImageNV							(VkDevice device, VkOpticalFlowSessionNV session, VkOpticalFlowSessionBindingPointNV bindingPoint, VkImageView view, VkImageLayout layout) const = 0;
457virtual void				cmdOpticalFlowExecuteNV									(VkCommandBuffer commandBuffer, VkOpticalFlowSessionNV session, const VkOpticalFlowExecuteInfoNV* pExecuteInfo) const = 0;
458virtual VkResult			getDeviceFaultInfoEXT									(VkDevice device, VkDeviceFaultCountsEXT* pFaultCounts, VkDeviceFaultInfoEXT* pFaultInfo) const = 0;
459virtual VkResult			releaseSwapchainImagesEXT								(VkDevice device, const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo) const = 0;
460