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