1/* WARNING: This is auto-generated file. Do not modify, since changes will
2 * be lost! Modify the generating script instead.
3 */
4virtual PFN_vkVoidFunction	getDeviceProcAddr							(VkDevice device, const char* pName) const = 0;
5virtual void				destroyDevice								(VkDevice device, const VkAllocationCallbacks* pAllocator) const = 0;
6virtual void				getDeviceQueue								(VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex, VkQueue* pQueue) const = 0;
7virtual VkResult			queueSubmit									(VkQueue queue, deUint32 submitCount, const VkSubmitInfo* pSubmits, VkFence fence) const = 0;
8virtual VkResult			queueWaitIdle								(VkQueue queue) const = 0;
9virtual VkResult			deviceWaitIdle								(VkDevice device) const = 0;
10virtual VkResult			allocateMemory								(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory) const = 0;
11virtual void				freeMemory									(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator) const = 0;
12virtual VkResult			mapMemory									(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData) const = 0;
13virtual void				unmapMemory									(VkDevice device, VkDeviceMemory memory) const = 0;
14virtual VkResult			flushMappedMemoryRanges						(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) const = 0;
15virtual VkResult			invalidateMappedMemoryRanges				(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) const = 0;
16virtual void				getDeviceMemoryCommitment					(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes) const = 0;
17virtual VkResult			bindBufferMemory							(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset) const = 0;
18virtual VkResult			bindImageMemory								(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset) const = 0;
19virtual void				getBufferMemoryRequirements					(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements) const = 0;
20virtual void				getImageMemoryRequirements					(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements) const = 0;
21virtual void				getImageSparseMemoryRequirements			(VkDevice device, VkImage image, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) const = 0;
22virtual VkResult			queueBindSparse								(VkQueue queue, deUint32 bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence) const = 0;
23virtual VkResult			createFence									(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const = 0;
24virtual void				destroyFence								(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator) const = 0;
25virtual VkResult			resetFences									(VkDevice device, deUint32 fenceCount, const VkFence* pFences) const = 0;
26virtual VkResult			getFenceStatus								(VkDevice device, VkFence fence) const = 0;
27virtual VkResult			waitForFences								(VkDevice device, deUint32 fenceCount, const VkFence* pFences, VkBool32 waitAll, deUint64 timeout) const = 0;
28virtual VkResult			createSemaphore								(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore) const = 0;
29virtual void				destroySemaphore							(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator) const = 0;
30virtual VkResult			createEvent									(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent) const = 0;
31virtual void				destroyEvent								(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator) const = 0;
32virtual VkResult			getEventStatus								(VkDevice device, VkEvent event) const = 0;
33virtual VkResult			setEvent									(VkDevice device, VkEvent event) const = 0;
34virtual VkResult			resetEvent									(VkDevice device, VkEvent event) const = 0;
35virtual VkResult			createQueryPool								(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool) const = 0;
36virtual void				destroyQueryPool							(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator) const = 0;
37virtual VkResult			getQueryPoolResults							(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, deUintptr dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags) const = 0;
38virtual VkResult			createBuffer								(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer) const = 0;
39virtual void				destroyBuffer								(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator) const = 0;
40virtual VkResult			createBufferView							(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView) const = 0;
41virtual void				destroyBufferView							(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator) const = 0;
42virtual VkResult			createImage									(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage) const = 0;
43virtual void				destroyImage								(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator) const = 0;
44virtual void				getImageSubresourceLayout					(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout) const = 0;
45virtual VkResult			createImageView								(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView) const = 0;
46virtual void				destroyImageView							(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator) const = 0;
47virtual VkResult			createShaderModule							(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule) const = 0;
48virtual void				destroyShaderModule							(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator) const = 0;
49virtual VkResult			createPipelineCache							(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache) const = 0;
50virtual void				destroyPipelineCache						(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator) const = 0;
51virtual VkResult			getPipelineCacheData						(VkDevice device, VkPipelineCache pipelineCache, deUintptr* pDataSize, void* pData) const = 0;
52virtual VkResult			mergePipelineCaches							(VkDevice device, VkPipelineCache dstCache, deUint32 srcCacheCount, const VkPipelineCache* pSrcCaches) const = 0;
53virtual VkResult			createGraphicsPipelines						(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const = 0;
54virtual VkResult			createComputePipelines						(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const = 0;
55virtual void				destroyPipeline								(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator) const = 0;
56virtual VkResult			createPipelineLayout						(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout) const = 0;
57virtual void				destroyPipelineLayout						(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator) const = 0;
58virtual VkResult			createSampler								(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler) const = 0;
59virtual void				destroySampler								(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator) const = 0;
60virtual VkResult			createDescriptorSetLayout					(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout) const = 0;
61virtual void				destroyDescriptorSetLayout					(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator) const = 0;
62virtual VkResult			createDescriptorPool						(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool) const = 0;
63virtual void				destroyDescriptorPool						(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator) const = 0;
64virtual VkResult			resetDescriptorPool							(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags) const = 0;
65virtual VkResult			allocateDescriptorSets						(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets) const = 0;
66virtual VkResult			freeDescriptorSets							(VkDevice device, VkDescriptorPool descriptorPool, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets) const = 0;
67virtual void				updateDescriptorSets						(VkDevice device, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, deUint32 descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies) const = 0;
68virtual VkResult			createFramebuffer							(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer) const = 0;
69virtual void				destroyFramebuffer							(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator) const = 0;
70virtual VkResult			createRenderPass							(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) const = 0;
71virtual void				destroyRenderPass							(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator) const = 0;
72virtual void				getRenderAreaGranularity					(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity) const = 0;
73virtual VkResult			createCommandPool							(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool) const = 0;
74virtual void				destroyCommandPool							(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator) const = 0;
75virtual VkResult			resetCommandPool							(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags) const = 0;
76virtual VkResult			allocateCommandBuffers						(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers) const = 0;
77virtual void				freeCommandBuffers							(VkDevice device, VkCommandPool commandPool, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers) const = 0;
78virtual VkResult			beginCommandBuffer							(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo) const = 0;
79virtual VkResult			endCommandBuffer							(VkCommandBuffer commandBuffer) const = 0;
80virtual VkResult			resetCommandBuffer							(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags) const = 0;
81virtual void				cmdBindPipeline								(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline) const = 0;
82virtual void				cmdSetViewport								(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewport* pViewports) const = 0;
83virtual void				cmdSetScissor								(VkCommandBuffer commandBuffer, deUint32 firstScissor, deUint32 scissorCount, const VkRect2D* pScissors) const = 0;
84virtual void				cmdSetLineWidth								(VkCommandBuffer commandBuffer, float lineWidth) const = 0;
85virtual void				cmdSetDepthBias								(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor) const = 0;
86virtual void				cmdSetBlendConstants						(VkCommandBuffer commandBuffer, const float blendConstants[4]) const = 0;
87virtual void				cmdSetDepthBounds							(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds) const = 0;
88virtual void				cmdSetStencilCompareMask					(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 compareMask) const = 0;
89virtual void				cmdSetStencilWriteMask						(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 writeMask) const = 0;
90virtual void				cmdSetStencilReference						(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 reference) const = 0;
91virtual void				cmdBindDescriptorSets						(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets, deUint32 dynamicOffsetCount, const deUint32* pDynamicOffsets) const = 0;
92virtual void				cmdBindIndexBuffer							(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) const = 0;
93virtual void				cmdBindVertexBuffers						(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) const = 0;
94virtual void				cmdDraw										(VkCommandBuffer commandBuffer, deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance) const = 0;
95virtual void				cmdDrawIndexed								(VkCommandBuffer commandBuffer, deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance) const = 0;
96virtual void				cmdDrawIndirect								(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride) const = 0;
97virtual void				cmdDrawIndexedIndirect						(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride) const = 0;
98virtual void				cmdDispatch									(VkCommandBuffer commandBuffer, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ) const = 0;
99virtual void				cmdDispatchIndirect							(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) const = 0;
100virtual void				cmdCopyBuffer								(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferCopy* pRegions) const = 0;
101virtual void				cmdCopyImage								(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageCopy* pRegions) const = 0;
102virtual void				cmdBlitImage								(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageBlit* pRegions, VkFilter filter) const = 0;
103virtual void				cmdCopyBufferToImage						(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkBufferImageCopy* pRegions) const = 0;
104virtual void				cmdCopyImageToBuffer						(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferImageCopy* pRegions) const = 0;
105virtual void				cmdUpdateBuffer								(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData) const = 0;
106virtual void				cmdFillBuffer								(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, deUint32 data) const = 0;
107virtual void				cmdClearColorImage							(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, deUint32 rangeCount, const VkImageSubresourceRange* pRanges) const = 0;
108virtual void				cmdClearDepthStencilImage					(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, deUint32 rangeCount, const VkImageSubresourceRange* pRanges) const = 0;
109virtual void				cmdClearAttachments							(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkClearAttachment* pAttachments, deUint32 rectCount, const VkClearRect* pRects) const = 0;
110virtual void				cmdResolveImage								(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageResolve* pRegions) const = 0;
111virtual void				cmdSetEvent									(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) const = 0;
112virtual void				cmdResetEvent								(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) const = 0;
113virtual void				cmdWaitEvents								(VkCommandBuffer commandBuffer, deUint32 eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, deUint32 memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, deUint32 bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, deUint32 imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) const = 0;
114virtual void				cmdPipelineBarrier							(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, deUint32 memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, deUint32 bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, deUint32 imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) const = 0;
115virtual void				cmdBeginQuery								(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags) const = 0;
116virtual void				cmdEndQuery									(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query) const = 0;
117virtual void				cmdResetQueryPool							(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount) const = 0;
118virtual void				cmdWriteTimestamp							(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, deUint32 query) const = 0;
119virtual void				cmdCopyQueryPoolResults						(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) const = 0;
120virtual void				cmdPushConstants							(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, deUint32 offset, deUint32 size, const void* pValues) const = 0;
121virtual void				cmdBeginRenderPass							(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents) const = 0;
122virtual void				cmdNextSubpass								(VkCommandBuffer commandBuffer, VkSubpassContents contents) const = 0;
123virtual void				cmdEndRenderPass							(VkCommandBuffer commandBuffer) const = 0;
124virtual void				cmdExecuteCommands							(VkCommandBuffer commandBuffer, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers) const = 0;
125virtual VkResult			bindBufferMemory2							(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos) const = 0;
126virtual VkResult			bindImageMemory2							(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos) const = 0;
127virtual void				getDeviceGroupPeerMemoryFeatures			(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures) const = 0;
128virtual void				cmdSetDeviceMask							(VkCommandBuffer commandBuffer, deUint32 deviceMask) const = 0;
129virtual void				cmdDispatchBase								(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ) const = 0;
130virtual void				getImageMemoryRequirements2					(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) const = 0;
131virtual void				getBufferMemoryRequirements2				(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) const = 0;
132virtual void				getImageSparseMemoryRequirements2			(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) const = 0;
133virtual void				trimCommandPool								(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags) const = 0;
134virtual void				getDeviceQueue2								(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue) const = 0;
135virtual VkResult			createSamplerYcbcrConversion				(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion) const = 0;
136virtual void				destroySamplerYcbcrConversion				(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator) const = 0;
137virtual VkResult			createDescriptorUpdateTemplate				(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate) const = 0;
138virtual void				destroyDescriptorUpdateTemplate				(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator) const = 0;
139virtual void				updateDescriptorSetWithTemplate				(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData) const = 0;
140virtual void				getDescriptorSetLayoutSupport				(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport) const = 0;
141virtual VkResult			createSwapchainKHR							(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain) const = 0;
142virtual void				destroySwapchainKHR							(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator) const = 0;
143virtual VkResult			getSwapchainImagesKHR						(VkDevice device, VkSwapchainKHR swapchain, deUint32* pSwapchainImageCount, VkImage* pSwapchainImages) const = 0;
144virtual VkResult			acquireNextImageKHR							(VkDevice device, VkSwapchainKHR swapchain, deUint64 timeout, VkSemaphore semaphore, VkFence fence, deUint32* pImageIndex) const = 0;
145virtual VkResult			queuePresentKHR								(VkQueue queue, const VkPresentInfoKHR* pPresentInfo) const = 0;
146virtual VkResult			getDeviceGroupPresentCapabilitiesKHR		(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities) const = 0;
147virtual VkResult			getDeviceGroupSurfacePresentModesKHR		(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes) const = 0;
148virtual VkResult			acquireNextImage2KHR						(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, deUint32* pImageIndex) const = 0;
149virtual VkResult			createSharedSwapchainsKHR					(VkDevice device, deUint32 swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains) const = 0;
150virtual VkResult			getMemoryWin32HandleKHR						(VkDevice device, const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const = 0;
151virtual VkResult			getMemoryWin32HandlePropertiesKHR			(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, pt::Win32Handle handle, VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties) const = 0;
152virtual VkResult			getMemoryFdKHR								(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd) const = 0;
153virtual VkResult			getMemoryFdPropertiesKHR					(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties) const = 0;
154virtual VkResult			importSemaphoreWin32HandleKHR				(VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo) const = 0;
155virtual VkResult			getSemaphoreWin32HandleKHR					(VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const = 0;
156virtual VkResult			importSemaphoreFdKHR						(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo) const = 0;
157virtual VkResult			getSemaphoreFdKHR							(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd) const = 0;
158virtual void				cmdPushDescriptorSetKHR						(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 set, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) const = 0;
159virtual void				cmdPushDescriptorSetWithTemplateKHR			(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, deUint32 set, const void* pData) const = 0;
160virtual VkResult			createRenderPass2KHR						(VkDevice device, const VkRenderPassCreateInfo2KHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) const = 0;
161virtual void				cmdBeginRenderPass2KHR						(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfoKHR* pSubpassBeginInfo) const = 0;
162virtual void				cmdNextSubpass2KHR							(VkCommandBuffer commandBuffer, const VkSubpassBeginInfoKHR* pSubpassBeginInfo, const VkSubpassEndInfoKHR* pSubpassEndInfo) const = 0;
163virtual void				cmdEndRenderPass2KHR						(VkCommandBuffer commandBuffer, const VkSubpassEndInfoKHR* pSubpassEndInfo) const = 0;
164virtual VkResult			getSwapchainStatusKHR						(VkDevice device, VkSwapchainKHR swapchain) const = 0;
165virtual VkResult			importFenceWin32HandleKHR					(VkDevice device, const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo) const = 0;
166virtual VkResult			getFenceWin32HandleKHR						(VkDevice device, const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const = 0;
167virtual VkResult			importFenceFdKHR							(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo) const = 0;
168virtual VkResult			getFenceFdKHR								(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd) const = 0;
169virtual VkResult			debugMarkerSetObjectTagEXT					(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo) const = 0;
170virtual VkResult			debugMarkerSetObjectNameEXT					(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo) const = 0;
171virtual void				cmdDebugMarkerBeginEXT						(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo) const = 0;
172virtual void				cmdDebugMarkerEndEXT						(VkCommandBuffer commandBuffer) const = 0;
173virtual void				cmdDebugMarkerInsertEXT						(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo) const = 0;
174virtual void				cmdDrawIndirectCountAMD						(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride) const = 0;
175virtual void				cmdDrawIndexedIndirectCountAMD				(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride) const = 0;
176virtual void				cmdDrawIndirectCountKHR						(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride) const = 0;
177virtual void				cmdDrawIndexedIndirectCountKHR				(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride) const = 0;
178virtual VkResult			getMemoryWin32HandleNV						(VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, pt::Win32Handle* pHandle) const = 0;
179virtual void				cmdBeginConditionalRenderingEXT				(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin) const = 0;
180virtual void				cmdEndConditionalRenderingEXT				(VkCommandBuffer commandBuffer) const = 0;
181virtual void				cmdProcessCommandsNVX						(VkCommandBuffer commandBuffer, const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo) const = 0;
182virtual void				cmdReserveSpaceForCommandsNVX				(VkCommandBuffer commandBuffer, const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo) const = 0;
183virtual VkResult			createIndirectCommandsLayoutNVX				(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout) const = 0;
184virtual void				destroyIndirectCommandsLayoutNVX			(VkDevice device, VkIndirectCommandsLayoutNVX indirectCommandsLayout, const VkAllocationCallbacks* pAllocator) const = 0;
185virtual VkResult			createObjectTableNVX						(VkDevice device, const VkObjectTableCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkObjectTableNVX* pObjectTable) const = 0;
186virtual void				destroyObjectTableNVX						(VkDevice device, VkObjectTableNVX objectTable, const VkAllocationCallbacks* pAllocator) const = 0;
187virtual VkResult			registerObjectsNVX							(VkDevice device, VkObjectTableNVX objectTable, deUint32 objectCount, const VkObjectTableEntryNVX* const* ppObjectTableEntries, const deUint32* pObjectIndices) const = 0;
188virtual VkResult			unregisterObjectsNVX						(VkDevice device, VkObjectTableNVX objectTable, deUint32 objectCount, const VkObjectEntryTypeNVX* pObjectEntryTypes, const deUint32* pObjectIndices) const = 0;
189virtual void				cmdSetViewportWScalingNV					(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewportWScalingNV* pViewportWScalings) const = 0;
190virtual VkResult			displayPowerControlEXT						(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo) const = 0;
191virtual VkResult			registerDeviceEventEXT						(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const = 0;
192virtual VkResult			registerDisplayEventEXT						(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const = 0;
193virtual VkResult			getSwapchainCounterEXT						(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, deUint64* pCounterValue) const = 0;
194virtual VkResult			getRefreshCycleDurationGOOGLE				(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties) const = 0;
195virtual VkResult			getPastPresentationTimingGOOGLE				(VkDevice device, VkSwapchainKHR swapchain, deUint32* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings) const = 0;
196virtual void				cmdSetDiscardRectangleEXT					(VkCommandBuffer commandBuffer, deUint32 firstDiscardRectangle, deUint32 discardRectangleCount, const VkRect2D* pDiscardRectangles) const = 0;
197virtual void				setHdrMetadataEXT							(VkDevice device, deUint32 swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata) const = 0;
198virtual void				cmdSetSampleLocationsEXT					(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo) const = 0;
199virtual VkResult			createValidationCacheEXT					(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache) const = 0;
200virtual void				destroyValidationCacheEXT					(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator) const = 0;
201virtual VkResult			mergeValidationCachesEXT					(VkDevice device, VkValidationCacheEXT dstCache, deUint32 srcCacheCount, const VkValidationCacheEXT* pSrcCaches) const = 0;
202virtual VkResult			getValidationCacheDataEXT					(VkDevice device, VkValidationCacheEXT validationCache, deUintptr* pDataSize, void* pData) const = 0;
203virtual VkResult			getMemoryHostPointerPropertiesEXT			(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties) const = 0;
204virtual VkResult			getAndroidHardwareBufferPropertiesANDROID	(VkDevice device, const struct pt::AndroidHardwareBufferPtr buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties) const = 0;
205virtual VkResult			getMemoryAndroidHardwareBufferANDROID		(VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct pt::AndroidHardwareBufferPtr* pBuffer) const = 0;
206