From fda2c834a5080fcac4473f1960bb0226a532d890 Mon Sep 17 00:00:00 2001 From: Khushal Date: Fri, 23 Mar 2018 16:57:18 -0700 Subject: [PATCH] Add AHardwareBuffer support to external memory tests Added tests: * dEQP-VK.api.external.memory.android_hardware_buffer.* Components: Vulkan VK-GL-CTS issue: 109 Test: Adds tests. BUG: 75981905 Cherry-picked from: https://gerrit.khronos.org/#/c/1455/ Change-Id: Ibb6016eb932500c36309bf0937306ce84a4bae0c (cherry picked from commit 0da925f6b91802440c735b3c6bc8f97b03268c32) --- android/cts/master/vk-master.txt | 24 + .../vulkancts/framework/vulkan/vkBasicTypes.inl | 18 +- .../framework/vulkan/vkConcreteDeviceInterface.inl | 384 +++++++------- .../vulkan/vkConcreteInstanceInterface.inl | 1 - .../framework/vulkan/vkDeviceDriverImpl.inl | 6 +- .../framework/vulkan/vkDeviceFunctionPointers.inl | 384 +++++++------- .../framework/vulkan/vkFunctionPointerTypes.inl | 573 ++++++++++----------- .../framework/vulkan/vkGetStructureTypeImpl.inl | 17 +- .../vulkan/vkInitDeviceFunctionPointers.inl | 414 +++++++-------- .../vulkan/vkInitInstanceFunctionPointers.inl | 1 - .../framework/vulkan/vkInstanceDriverImpl.inl | 5 - .../vulkan/vkInstanceFunctionPointers.inl | 1 - .../vulkancts/framework/vulkan/vkNullDriver.cpp | 76 ++- .../framework/vulkan/vkNullDriverImpl.inl | 572 ++++++++++---------- external/vulkancts/framework/vulkan/vkStrUtil.inl | 5 +- .../vulkancts/framework/vulkan/vkStrUtilImpl.inl | 57 +- .../vulkancts/framework/vulkan/vkStructTypes.inl | 45 +- .../framework/vulkan/vkVirtualDeviceInterface.inl | 384 +++++++------- .../vulkan/vkVirtualInstanceInterface.inl | 1 - .../vulkan/api/vktApiExternalMemoryTests.cpp | 11 + .../modules/vulkan/vktExternalMemoryUtil.cpp | 148 +++++- .../modules/vulkan/vktExternalMemoryUtil.hpp | 34 +- .../mustpass/1.1.0/vk-default-no-waivers.txt | 24 + external/vulkancts/mustpass/1.1.0/vk-default.txt | 24 + external/vulkancts/scripts/src/vulkan.h.in | 85 ++- 25 files changed, 1753 insertions(+), 1541 deletions(-) diff --git a/android/cts/master/vk-master.txt b/android/cts/master/vk-master.txt index 70dbfa9..f976783 100755 --- a/android/cts/master/vk-master.txt +++ b/android/cts/master/vk-master.txt @@ -71336,6 +71336,30 @@ dEQP-VK.api.external.memory.opaque_win32_kmt.dedicated.image.info dEQP-VK.api.external.memory.opaque_win32_kmt.dedicated.image.bind_export_import_bind dEQP-VK.api.external.memory.opaque_win32_kmt.dedicated.image.export_bind_import_bind dEQP-VK.api.external.memory.opaque_win32_kmt.dedicated.image.export_import_bind_bind +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.device_only.import_twice +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.device_only.import_multiple_times +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.host_visible.import_twice +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.host_visible.import_multiple_times +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.buffer.info +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.buffer.bind_export_import_bind +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.buffer.export_bind_import_bind +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.buffer.export_import_bind_bind +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.image.info +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.image.bind_export_import_bind +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.image.export_bind_import_bind +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.image.export_import_bind_bind +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.device_only.import_twice +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.device_only.import_multiple_times +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.host_visible.import_twice +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.host_visible.import_multiple_times +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.buffer.info +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.buffer.bind_export_import_bind +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.buffer.export_bind_import_bind +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.buffer.export_import_bind_bind +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.image.info +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.image.bind_export_import_bind +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.image.export_bind_import_bind +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.image.export_import_bind_bind dEQP-VK.api.external.fence.sync_fd.info dEQP-VK.api.external.fence.sync_fd.import_twice_temporary dEQP-VK.api.external.fence.sync_fd.reimport_temporary diff --git a/external/vulkancts/framework/vulkan/vkBasicTypes.inl b/external/vulkancts/framework/vulkan/vkBasicTypes.inl index 62941e4..80b13b2 100644 --- a/external/vulkancts/framework/vulkan/vkBasicTypes.inl +++ b/external/vulkancts/framework/vulkan/vkBasicTypes.inl @@ -150,13 +150,6 @@ enum VkStructureType VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000, VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000, VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129000, - VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129001, - VK_STRUCTURE_TYPE_MEMORY_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129002, - VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003, - VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004, - VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_EXTERNAL_FORMAT_PROPERTIES_ANDROID = 1000129005, - VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129006, VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000, VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003, VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004, @@ -299,6 +292,12 @@ enum VkStructureType VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004, VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000, VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000, + VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000, + VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001, + VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002, + VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003, + VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004, + VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = 1000130000, VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = 1000130001, VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000, @@ -1226,6 +1225,9 @@ enum VkValidationCacheHeaderVersionEXT + + + enum VkFormatFeatureFlagBits { VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001, @@ -1613,7 +1615,7 @@ enum VkExternalMemoryHandleTypeFlagBits VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010, VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020, VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040, - VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000080, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400, }; typedef deUint32 VkExternalMemoryHandleTypeFlags; diff --git a/external/vulkancts/framework/vulkan/vkConcreteDeviceInterface.inl b/external/vulkancts/framework/vulkan/vkConcreteDeviceInterface.inl index 325746f..79b448a 100644 --- a/external/vulkancts/framework/vulkan/vkConcreteDeviceInterface.inl +++ b/external/vulkancts/framework/vulkan/vkConcreteDeviceInterface.inl @@ -1,195 +1,195 @@ /* WARNING: This is auto-generated file. Do not modify, since changes will * be lost! Modify the generating script instead. */ -virtual void destroyDevice (VkDevice device, const VkAllocationCallbacks* pAllocator) const; -virtual void getDeviceQueue (VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex, VkQueue* pQueue) const; -virtual VkResult queueSubmit (VkQueue queue, deUint32 submitCount, const VkSubmitInfo* pSubmits, VkFence fence) const; -virtual VkResult queueWaitIdle (VkQueue queue) const; -virtual VkResult deviceWaitIdle (VkDevice device) const; -virtual VkResult allocateMemory (VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory) const; -virtual void freeMemory (VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator) const; -virtual VkResult mapMemory (VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData) const; -virtual void unmapMemory (VkDevice device, VkDeviceMemory memory) const; -virtual VkResult flushMappedMemoryRanges (VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) const; -virtual VkResult invalidateMappedMemoryRanges (VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) const; -virtual void getDeviceMemoryCommitment (VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes) const; -virtual VkResult bindBufferMemory (VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset) const; -virtual VkResult bindImageMemory (VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset) const; -virtual void getBufferMemoryRequirements (VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements) const; -virtual void getImageMemoryRequirements (VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements) const; -virtual void getImageSparseMemoryRequirements (VkDevice device, VkImage image, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) const; -virtual VkResult queueBindSparse (VkQueue queue, deUint32 bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence) const; -virtual VkResult createFence (VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const; -virtual void destroyFence (VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator) const; -virtual VkResult resetFences (VkDevice device, deUint32 fenceCount, const VkFence* pFences) const; -virtual VkResult getFenceStatus (VkDevice device, VkFence fence) const; -virtual VkResult waitForFences (VkDevice device, deUint32 fenceCount, const VkFence* pFences, VkBool32 waitAll, deUint64 timeout) const; -virtual VkResult createSemaphore (VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore) const; -virtual void destroySemaphore (VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator) const; -virtual VkResult createEvent (VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent) const; -virtual void destroyEvent (VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator) const; -virtual VkResult getEventStatus (VkDevice device, VkEvent event) const; -virtual VkResult setEvent (VkDevice device, VkEvent event) const; -virtual VkResult resetEvent (VkDevice device, VkEvent event) const; -virtual VkResult createQueryPool (VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool) const; -virtual void destroyQueryPool (VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator) const; -virtual VkResult getQueryPoolResults (VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, deUintptr dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags) const; -virtual VkResult createBuffer (VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer) const; -virtual void destroyBuffer (VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator) const; -virtual VkResult createBufferView (VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView) const; -virtual void destroyBufferView (VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator) const; -virtual VkResult createImage (VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage) const; -virtual void destroyImage (VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator) const; -virtual void getImageSubresourceLayout (VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout) const; -virtual VkResult createImageView (VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView) const; -virtual void destroyImageView (VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator) const; -virtual VkResult createShaderModule (VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule) const; -virtual void destroyShaderModule (VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator) const; -virtual VkResult createPipelineCache (VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache) const; -virtual void destroyPipelineCache (VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator) const; -virtual VkResult getPipelineCacheData (VkDevice device, VkPipelineCache pipelineCache, deUintptr* pDataSize, void* pData) const; -virtual VkResult mergePipelineCaches (VkDevice device, VkPipelineCache dstCache, deUint32 srcCacheCount, const VkPipelineCache* pSrcCaches) const; -virtual VkResult createGraphicsPipelines (VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const; -virtual VkResult createComputePipelines (VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const; -virtual void destroyPipeline (VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator) const; -virtual VkResult createPipelineLayout (VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout) const; -virtual void destroyPipelineLayout (VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator) const; -virtual VkResult createSampler (VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler) const; -virtual void destroySampler (VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator) const; -virtual VkResult createDescriptorSetLayout (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout) const; -virtual void destroyDescriptorSetLayout (VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator) const; -virtual VkResult createDescriptorPool (VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool) const; -virtual void destroyDescriptorPool (VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator) const; -virtual VkResult resetDescriptorPool (VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags) const; -virtual VkResult allocateDescriptorSets (VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets) const; -virtual VkResult freeDescriptorSets (VkDevice device, VkDescriptorPool descriptorPool, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets) const; -virtual void updateDescriptorSets (VkDevice device, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, deUint32 descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies) const; -virtual VkResult createFramebuffer (VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer) const; -virtual void destroyFramebuffer (VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator) const; -virtual VkResult createRenderPass (VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) const; -virtual void destroyRenderPass (VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator) const; -virtual void getRenderAreaGranularity (VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity) const; -virtual VkResult createCommandPool (VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool) const; -virtual void destroyCommandPool (VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator) const; -virtual VkResult resetCommandPool (VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags) const; -virtual VkResult allocateCommandBuffers (VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers) const; -virtual void freeCommandBuffers (VkDevice device, VkCommandPool commandPool, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers) const; -virtual VkResult beginCommandBuffer (VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo) const; -virtual VkResult endCommandBuffer (VkCommandBuffer commandBuffer) const; -virtual VkResult resetCommandBuffer (VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags) const; -virtual void cmdBindPipeline (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline) const; -virtual void cmdSetViewport (VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewport* pViewports) const; -virtual void cmdSetScissor (VkCommandBuffer commandBuffer, deUint32 firstScissor, deUint32 scissorCount, const VkRect2D* pScissors) const; -virtual void cmdSetLineWidth (VkCommandBuffer commandBuffer, float lineWidth) const; -virtual void cmdSetDepthBias (VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor) const; -virtual void cmdSetBlendConstants (VkCommandBuffer commandBuffer, const float blendConstants[4]) const; -virtual void cmdSetDepthBounds (VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds) const; -virtual void cmdSetStencilCompareMask (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 compareMask) const; -virtual void cmdSetStencilWriteMask (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 writeMask) const; -virtual void cmdSetStencilReference (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 reference) const; -virtual void cmdBindDescriptorSets (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets, deUint32 dynamicOffsetCount, const deUint32* pDynamicOffsets) const; -virtual void cmdBindIndexBuffer (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) const; -virtual void cmdBindVertexBuffers (VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) const; -virtual void cmdDraw (VkCommandBuffer commandBuffer, deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance) const; -virtual void cmdDrawIndexed (VkCommandBuffer commandBuffer, deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance) const; -virtual void cmdDrawIndirect (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride) const; -virtual void cmdDrawIndexedIndirect (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride) const; -virtual void cmdDispatch (VkCommandBuffer commandBuffer, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ) const; -virtual void cmdDispatchIndirect (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) const; -virtual void cmdCopyBuffer (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferCopy* pRegions) const; -virtual void cmdCopyImage (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageCopy* pRegions) const; -virtual void cmdBlitImage (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageBlit* pRegions, VkFilter filter) const; -virtual void cmdCopyBufferToImage (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkBufferImageCopy* pRegions) const; -virtual void cmdCopyImageToBuffer (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferImageCopy* pRegions) const; -virtual void cmdUpdateBuffer (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData) const; -virtual void cmdFillBuffer (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, deUint32 data) const; -virtual void cmdClearColorImage (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, deUint32 rangeCount, const VkImageSubresourceRange* pRanges) const; -virtual void cmdClearDepthStencilImage (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, deUint32 rangeCount, const VkImageSubresourceRange* pRanges) const; -virtual void cmdClearAttachments (VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkClearAttachment* pAttachments, deUint32 rectCount, const VkClearRect* pRects) const; -virtual void cmdResolveImage (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageResolve* pRegions) const; -virtual void cmdSetEvent (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) const; -virtual void cmdResetEvent (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) const; -virtual 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; -virtual 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; -virtual void cmdBeginQuery (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags) const; -virtual void cmdEndQuery (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query) const; -virtual void cmdResetQueryPool (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount) const; -virtual void cmdWriteTimestamp (VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, deUint32 query) const; -virtual void cmdCopyQueryPoolResults (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) const; -virtual void cmdPushConstants (VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, deUint32 offset, deUint32 size, const void* pValues) const; -virtual void cmdBeginRenderPass (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents) const; -virtual void cmdNextSubpass (VkCommandBuffer commandBuffer, VkSubpassContents contents) const; -virtual void cmdEndRenderPass (VkCommandBuffer commandBuffer) const; -virtual void cmdExecuteCommands (VkCommandBuffer commandBuffer, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers) const; -virtual VkResult bindBufferMemory2 (VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos) const; -virtual VkResult bindImageMemory2 (VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos) const; -virtual void getDeviceGroupPeerMemoryFeatures (VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures) const; -virtual void cmdSetDeviceMask (VkCommandBuffer commandBuffer, deUint32 deviceMask) const; -virtual void cmdDispatchBase (VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ) const; -virtual void getImageMemoryRequirements2 (VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) const; -virtual void getBufferMemoryRequirements2 (VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) const; -virtual void getImageSparseMemoryRequirements2 (VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) const; -virtual void trimCommandPool (VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags) const; -virtual void getDeviceQueue2 (VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue) const; -virtual VkResult createSamplerYcbcrConversion (VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion) const; -virtual void destroySamplerYcbcrConversion (VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator) const; -virtual VkResult createDescriptorUpdateTemplate (VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate) const; -virtual void destroyDescriptorUpdateTemplate (VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator) const; -virtual void updateDescriptorSetWithTemplate (VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData) const; -virtual void getDescriptorSetLayoutSupport (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport) const; -virtual VkResult createSwapchainKHR (VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain) const; -virtual void destroySwapchainKHR (VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator) const; -virtual VkResult getSwapchainImagesKHR (VkDevice device, VkSwapchainKHR swapchain, deUint32* pSwapchainImageCount, VkImage* pSwapchainImages) const; -virtual VkResult acquireNextImageKHR (VkDevice device, VkSwapchainKHR swapchain, deUint64 timeout, VkSemaphore semaphore, VkFence fence, deUint32* pImageIndex) const; -virtual VkResult queuePresentKHR (VkQueue queue, const VkPresentInfoKHR* pPresentInfo) const; -virtual VkResult getDeviceGroupPresentCapabilitiesKHR (VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities) const; -virtual VkResult getDeviceGroupSurfacePresentModesKHR (VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes) const; -virtual VkResult acquireNextImage2KHR (VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, deUint32* pImageIndex) const; -virtual VkResult createSharedSwapchainsKHR (VkDevice device, deUint32 swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains) const; -virtual VkResult getMemoryWin32HandleKHR (VkDevice device, const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const; -virtual VkResult getMemoryWin32HandlePropertiesKHR (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, pt::Win32Handle handle, VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties) const; -virtual VkResult getMemoryFdKHR (VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd) const; -virtual VkResult getMemoryFdPropertiesKHR (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties) const; -virtual VkResult importSemaphoreWin32HandleKHR (VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo) const; -virtual VkResult getSemaphoreWin32HandleKHR (VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const; -virtual VkResult importSemaphoreFdKHR (VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo) const; -virtual VkResult getSemaphoreFdKHR (VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd) const; -virtual void cmdPushDescriptorSetKHR (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 set, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) const; -virtual void cmdPushDescriptorSetWithTemplateKHR (VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, deUint32 set, const void* pData) const; -virtual VkResult getSwapchainStatusKHR (VkDevice device, VkSwapchainKHR swapchain) const; -virtual VkResult importFenceWin32HandleKHR (VkDevice device, const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo) const; -virtual VkResult getFenceWin32HandleKHR (VkDevice device, const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const; -virtual VkResult importFenceFdKHR (VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo) const; -virtual VkResult getFenceFdKHR (VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd) const; -virtual VkResult debugMarkerSetObjectTagEXT (VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo) const; -virtual VkResult debugMarkerSetObjectNameEXT (VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo) const; -virtual void cmdDebugMarkerBeginEXT (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo) const; -virtual void cmdDebugMarkerEndEXT (VkCommandBuffer commandBuffer) const; -virtual void cmdDebugMarkerInsertEXT (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo) const; -virtual void cmdDrawIndirectCountAMD (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride) const; -virtual void cmdDrawIndexedIndirectCountAMD (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride) const; -virtual VkResult getMemoryWin32HandleNV (VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, pt::Win32Handle* pHandle) const; -virtual void cmdProcessCommandsNVX (VkCommandBuffer commandBuffer, const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo) const; -virtual void cmdReserveSpaceForCommandsNVX (VkCommandBuffer commandBuffer, const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo) const; -virtual VkResult createIndirectCommandsLayoutNVX (VkDevice device, const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout) const; -virtual void destroyIndirectCommandsLayoutNVX (VkDevice device, VkIndirectCommandsLayoutNVX indirectCommandsLayout, const VkAllocationCallbacks* pAllocator) const; -virtual VkResult createObjectTableNVX (VkDevice device, const VkObjectTableCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkObjectTableNVX* pObjectTable) const; -virtual void destroyObjectTableNVX (VkDevice device, VkObjectTableNVX objectTable, const VkAllocationCallbacks* pAllocator) const; -virtual VkResult registerObjectsNVX (VkDevice device, VkObjectTableNVX objectTable, deUint32 objectCount, const VkObjectTableEntryNVX* const* ppObjectTableEntries, const deUint32* pObjectIndices) const; -virtual VkResult unregisterObjectsNVX (VkDevice device, VkObjectTableNVX objectTable, deUint32 objectCount, const VkObjectEntryTypeNVX* pObjectEntryTypes, const deUint32* pObjectIndices) const; -virtual void cmdSetViewportWScalingNV (VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewportWScalingNV* pViewportWScalings) const; -virtual VkResult displayPowerControlEXT (VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo) const; -virtual VkResult registerDeviceEventEXT (VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const; -virtual VkResult registerDisplayEventEXT (VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const; -virtual VkResult getSwapchainCounterEXT (VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, deUint64* pCounterValue) const; -virtual VkResult getRefreshCycleDurationGOOGLE (VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties) const; -virtual VkResult getPastPresentationTimingGOOGLE (VkDevice device, VkSwapchainKHR swapchain, deUint32* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings) const; -virtual void cmdSetDiscardRectangleEXT (VkCommandBuffer commandBuffer, deUint32 firstDiscardRectangle, deUint32 discardRectangleCount, const VkRect2D* pDiscardRectangles) const; -virtual void setHdrMetadataEXT (VkDevice device, deUint32 swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata) const; -virtual void cmdSetSampleLocationsEXT (VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo) const; -virtual VkResult createValidationCacheEXT (VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache) const; -virtual void destroyValidationCacheEXT (VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator) const; -virtual VkResult mergeValidationCachesEXT (VkDevice device, VkValidationCacheEXT dstCache, deUint32 srcCacheCount, const VkValidationCacheEXT* pSrcCaches) const; -virtual VkResult getValidationCacheDataEXT (VkDevice device, VkValidationCacheEXT validationCache, deUintptr* pDataSize, void* pData) const; -virtual VkResult getMemoryAndroidHardwareBufferPropertiesANDROID (VkDevice device, const pt::AndroidHardwareBufferPtr buffer, VkMemoryAndroidHardwareBufferPropertiesANDROID* pProperties) const; -virtual VkResult getMemoryAndroidHardwareBufferANDROID (VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, pt::AndroidHardwareBufferPtr* pBuffer) const; +virtual void destroyDevice (VkDevice device, const VkAllocationCallbacks* pAllocator) const; +virtual void getDeviceQueue (VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex, VkQueue* pQueue) const; +virtual VkResult queueSubmit (VkQueue queue, deUint32 submitCount, const VkSubmitInfo* pSubmits, VkFence fence) const; +virtual VkResult queueWaitIdle (VkQueue queue) const; +virtual VkResult deviceWaitIdle (VkDevice device) const; +virtual VkResult allocateMemory (VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory) const; +virtual void freeMemory (VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator) const; +virtual VkResult mapMemory (VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData) const; +virtual void unmapMemory (VkDevice device, VkDeviceMemory memory) const; +virtual VkResult flushMappedMemoryRanges (VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) const; +virtual VkResult invalidateMappedMemoryRanges (VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) const; +virtual void getDeviceMemoryCommitment (VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes) const; +virtual VkResult bindBufferMemory (VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset) const; +virtual VkResult bindImageMemory (VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset) const; +virtual void getBufferMemoryRequirements (VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements) const; +virtual void getImageMemoryRequirements (VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements) const; +virtual void getImageSparseMemoryRequirements (VkDevice device, VkImage image, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) const; +virtual VkResult queueBindSparse (VkQueue queue, deUint32 bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence) const; +virtual VkResult createFence (VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const; +virtual void destroyFence (VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator) const; +virtual VkResult resetFences (VkDevice device, deUint32 fenceCount, const VkFence* pFences) const; +virtual VkResult getFenceStatus (VkDevice device, VkFence fence) const; +virtual VkResult waitForFences (VkDevice device, deUint32 fenceCount, const VkFence* pFences, VkBool32 waitAll, deUint64 timeout) const; +virtual VkResult createSemaphore (VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore) const; +virtual void destroySemaphore (VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator) const; +virtual VkResult createEvent (VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent) const; +virtual void destroyEvent (VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator) const; +virtual VkResult getEventStatus (VkDevice device, VkEvent event) const; +virtual VkResult setEvent (VkDevice device, VkEvent event) const; +virtual VkResult resetEvent (VkDevice device, VkEvent event) const; +virtual VkResult createQueryPool (VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool) const; +virtual void destroyQueryPool (VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator) const; +virtual VkResult getQueryPoolResults (VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, deUintptr dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags) const; +virtual VkResult createBuffer (VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer) const; +virtual void destroyBuffer (VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator) const; +virtual VkResult createBufferView (VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView) const; +virtual void destroyBufferView (VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator) const; +virtual VkResult createImage (VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage) const; +virtual void destroyImage (VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator) const; +virtual void getImageSubresourceLayout (VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout) const; +virtual VkResult createImageView (VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView) const; +virtual void destroyImageView (VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator) const; +virtual VkResult createShaderModule (VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule) const; +virtual void destroyShaderModule (VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator) const; +virtual VkResult createPipelineCache (VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache) const; +virtual void destroyPipelineCache (VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator) const; +virtual VkResult getPipelineCacheData (VkDevice device, VkPipelineCache pipelineCache, deUintptr* pDataSize, void* pData) const; +virtual VkResult mergePipelineCaches (VkDevice device, VkPipelineCache dstCache, deUint32 srcCacheCount, const VkPipelineCache* pSrcCaches) const; +virtual VkResult createGraphicsPipelines (VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const; +virtual VkResult createComputePipelines (VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const; +virtual void destroyPipeline (VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator) const; +virtual VkResult createPipelineLayout (VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout) const; +virtual void destroyPipelineLayout (VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator) const; +virtual VkResult createSampler (VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler) const; +virtual void destroySampler (VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator) const; +virtual VkResult createDescriptorSetLayout (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout) const; +virtual void destroyDescriptorSetLayout (VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator) const; +virtual VkResult createDescriptorPool (VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool) const; +virtual void destroyDescriptorPool (VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator) const; +virtual VkResult resetDescriptorPool (VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags) const; +virtual VkResult allocateDescriptorSets (VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets) const; +virtual VkResult freeDescriptorSets (VkDevice device, VkDescriptorPool descriptorPool, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets) const; +virtual void updateDescriptorSets (VkDevice device, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, deUint32 descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies) const; +virtual VkResult createFramebuffer (VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer) const; +virtual void destroyFramebuffer (VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator) const; +virtual VkResult createRenderPass (VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) const; +virtual void destroyRenderPass (VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator) const; +virtual void getRenderAreaGranularity (VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity) const; +virtual VkResult createCommandPool (VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool) const; +virtual void destroyCommandPool (VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator) const; +virtual VkResult resetCommandPool (VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags) const; +virtual VkResult allocateCommandBuffers (VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers) const; +virtual void freeCommandBuffers (VkDevice device, VkCommandPool commandPool, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers) const; +virtual VkResult beginCommandBuffer (VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo) const; +virtual VkResult endCommandBuffer (VkCommandBuffer commandBuffer) const; +virtual VkResult resetCommandBuffer (VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags) const; +virtual void cmdBindPipeline (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline) const; +virtual void cmdSetViewport (VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewport* pViewports) const; +virtual void cmdSetScissor (VkCommandBuffer commandBuffer, deUint32 firstScissor, deUint32 scissorCount, const VkRect2D* pScissors) const; +virtual void cmdSetLineWidth (VkCommandBuffer commandBuffer, float lineWidth) const; +virtual void cmdSetDepthBias (VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor) const; +virtual void cmdSetBlendConstants (VkCommandBuffer commandBuffer, const float blendConstants[4]) const; +virtual void cmdSetDepthBounds (VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds) const; +virtual void cmdSetStencilCompareMask (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 compareMask) const; +virtual void cmdSetStencilWriteMask (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 writeMask) const; +virtual void cmdSetStencilReference (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 reference) const; +virtual void cmdBindDescriptorSets (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets, deUint32 dynamicOffsetCount, const deUint32* pDynamicOffsets) const; +virtual void cmdBindIndexBuffer (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) const; +virtual void cmdBindVertexBuffers (VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) const; +virtual void cmdDraw (VkCommandBuffer commandBuffer, deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance) const; +virtual void cmdDrawIndexed (VkCommandBuffer commandBuffer, deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance) const; +virtual void cmdDrawIndirect (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride) const; +virtual void cmdDrawIndexedIndirect (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride) const; +virtual void cmdDispatch (VkCommandBuffer commandBuffer, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ) const; +virtual void cmdDispatchIndirect (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) const; +virtual void cmdCopyBuffer (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferCopy* pRegions) const; +virtual void cmdCopyImage (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageCopy* pRegions) const; +virtual void cmdBlitImage (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageBlit* pRegions, VkFilter filter) const; +virtual void cmdCopyBufferToImage (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkBufferImageCopy* pRegions) const; +virtual void cmdCopyImageToBuffer (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferImageCopy* pRegions) const; +virtual void cmdUpdateBuffer (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData) const; +virtual void cmdFillBuffer (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, deUint32 data) const; +virtual void cmdClearColorImage (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, deUint32 rangeCount, const VkImageSubresourceRange* pRanges) const; +virtual void cmdClearDepthStencilImage (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, deUint32 rangeCount, const VkImageSubresourceRange* pRanges) const; +virtual void cmdClearAttachments (VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkClearAttachment* pAttachments, deUint32 rectCount, const VkClearRect* pRects) const; +virtual void cmdResolveImage (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageResolve* pRegions) const; +virtual void cmdSetEvent (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) const; +virtual void cmdResetEvent (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) const; +virtual 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; +virtual 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; +virtual void cmdBeginQuery (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags) const; +virtual void cmdEndQuery (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query) const; +virtual void cmdResetQueryPool (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount) const; +virtual void cmdWriteTimestamp (VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, deUint32 query) const; +virtual void cmdCopyQueryPoolResults (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) const; +virtual void cmdPushConstants (VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, deUint32 offset, deUint32 size, const void* pValues) const; +virtual void cmdBeginRenderPass (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents) const; +virtual void cmdNextSubpass (VkCommandBuffer commandBuffer, VkSubpassContents contents) const; +virtual void cmdEndRenderPass (VkCommandBuffer commandBuffer) const; +virtual void cmdExecuteCommands (VkCommandBuffer commandBuffer, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers) const; +virtual VkResult bindBufferMemory2 (VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos) const; +virtual VkResult bindImageMemory2 (VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos) const; +virtual void getDeviceGroupPeerMemoryFeatures (VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures) const; +virtual void cmdSetDeviceMask (VkCommandBuffer commandBuffer, deUint32 deviceMask) const; +virtual void cmdDispatchBase (VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ) const; +virtual void getImageMemoryRequirements2 (VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) const; +virtual void getBufferMemoryRequirements2 (VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) const; +virtual void getImageSparseMemoryRequirements2 (VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) const; +virtual void trimCommandPool (VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags) const; +virtual void getDeviceQueue2 (VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue) const; +virtual VkResult createSamplerYcbcrConversion (VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion) const; +virtual void destroySamplerYcbcrConversion (VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator) const; +virtual VkResult createDescriptorUpdateTemplate (VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate) const; +virtual void destroyDescriptorUpdateTemplate (VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator) const; +virtual void updateDescriptorSetWithTemplate (VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData) const; +virtual void getDescriptorSetLayoutSupport (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport) const; +virtual VkResult createSwapchainKHR (VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain) const; +virtual void destroySwapchainKHR (VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator) const; +virtual VkResult getSwapchainImagesKHR (VkDevice device, VkSwapchainKHR swapchain, deUint32* pSwapchainImageCount, VkImage* pSwapchainImages) const; +virtual VkResult acquireNextImageKHR (VkDevice device, VkSwapchainKHR swapchain, deUint64 timeout, VkSemaphore semaphore, VkFence fence, deUint32* pImageIndex) const; +virtual VkResult queuePresentKHR (VkQueue queue, const VkPresentInfoKHR* pPresentInfo) const; +virtual VkResult getDeviceGroupPresentCapabilitiesKHR (VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities) const; +virtual VkResult getDeviceGroupSurfacePresentModesKHR (VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes) const; +virtual VkResult acquireNextImage2KHR (VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, deUint32* pImageIndex) const; +virtual VkResult createSharedSwapchainsKHR (VkDevice device, deUint32 swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains) const; +virtual VkResult getMemoryWin32HandleKHR (VkDevice device, const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const; +virtual VkResult getMemoryWin32HandlePropertiesKHR (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, pt::Win32Handle handle, VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties) const; +virtual VkResult getMemoryFdKHR (VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd) const; +virtual VkResult getMemoryFdPropertiesKHR (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties) const; +virtual VkResult importSemaphoreWin32HandleKHR (VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo) const; +virtual VkResult getSemaphoreWin32HandleKHR (VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const; +virtual VkResult importSemaphoreFdKHR (VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo) const; +virtual VkResult getSemaphoreFdKHR (VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd) const; +virtual void cmdPushDescriptorSetKHR (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 set, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) const; +virtual void cmdPushDescriptorSetWithTemplateKHR (VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, deUint32 set, const void* pData) const; +virtual VkResult getSwapchainStatusKHR (VkDevice device, VkSwapchainKHR swapchain) const; +virtual VkResult importFenceWin32HandleKHR (VkDevice device, const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo) const; +virtual VkResult getFenceWin32HandleKHR (VkDevice device, const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const; +virtual VkResult importFenceFdKHR (VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo) const; +virtual VkResult getFenceFdKHR (VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd) const; +virtual VkResult debugMarkerSetObjectTagEXT (VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo) const; +virtual VkResult debugMarkerSetObjectNameEXT (VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo) const; +virtual void cmdDebugMarkerBeginEXT (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo) const; +virtual void cmdDebugMarkerEndEXT (VkCommandBuffer commandBuffer) const; +virtual void cmdDebugMarkerInsertEXT (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo) const; +virtual void cmdDrawIndirectCountAMD (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride) const; +virtual void cmdDrawIndexedIndirectCountAMD (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride) const; +virtual VkResult getMemoryWin32HandleNV (VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, pt::Win32Handle* pHandle) const; +virtual void cmdProcessCommandsNVX (VkCommandBuffer commandBuffer, const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo) const; +virtual void cmdReserveSpaceForCommandsNVX (VkCommandBuffer commandBuffer, const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo) const; +virtual VkResult createIndirectCommandsLayoutNVX (VkDevice device, const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout) const; +virtual void destroyIndirectCommandsLayoutNVX (VkDevice device, VkIndirectCommandsLayoutNVX indirectCommandsLayout, const VkAllocationCallbacks* pAllocator) const; +virtual VkResult createObjectTableNVX (VkDevice device, const VkObjectTableCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkObjectTableNVX* pObjectTable) const; +virtual void destroyObjectTableNVX (VkDevice device, VkObjectTableNVX objectTable, const VkAllocationCallbacks* pAllocator) const; +virtual VkResult registerObjectsNVX (VkDevice device, VkObjectTableNVX objectTable, deUint32 objectCount, const VkObjectTableEntryNVX* const* ppObjectTableEntries, const deUint32* pObjectIndices) const; +virtual VkResult unregisterObjectsNVX (VkDevice device, VkObjectTableNVX objectTable, deUint32 objectCount, const VkObjectEntryTypeNVX* pObjectEntryTypes, const deUint32* pObjectIndices) const; +virtual void cmdSetViewportWScalingNV (VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewportWScalingNV* pViewportWScalings) const; +virtual VkResult displayPowerControlEXT (VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo) const; +virtual VkResult registerDeviceEventEXT (VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const; +virtual VkResult registerDisplayEventEXT (VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const; +virtual VkResult getSwapchainCounterEXT (VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, deUint64* pCounterValue) const; +virtual VkResult getRefreshCycleDurationGOOGLE (VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties) const; +virtual VkResult getPastPresentationTimingGOOGLE (VkDevice device, VkSwapchainKHR swapchain, deUint32* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings) const; +virtual void cmdSetDiscardRectangleEXT (VkCommandBuffer commandBuffer, deUint32 firstDiscardRectangle, deUint32 discardRectangleCount, const VkRect2D* pDiscardRectangles) const; +virtual void setHdrMetadataEXT (VkDevice device, deUint32 swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata) const; +virtual void cmdSetSampleLocationsEXT (VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo) const; +virtual VkResult createValidationCacheEXT (VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache) const; +virtual void destroyValidationCacheEXT (VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator) const; +virtual VkResult mergeValidationCachesEXT (VkDevice device, VkValidationCacheEXT dstCache, deUint32 srcCacheCount, const VkValidationCacheEXT* pSrcCaches) const; +virtual VkResult getValidationCacheDataEXT (VkDevice device, VkValidationCacheEXT validationCache, deUintptr* pDataSize, void* pData) const; +virtual VkResult getAndroidHardwareBufferPropertiesANDROID (VkDevice device, const struct pt::AndroidHardwareBufferPtr buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties) const; +virtual VkResult getMemoryAndroidHardwareBufferANDROID (VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct pt::AndroidHardwareBufferPtr* pBuffer) const; diff --git a/external/vulkancts/framework/vulkan/vkConcreteInstanceInterface.inl b/external/vulkancts/framework/vulkan/vkConcreteInstanceInterface.inl index c6bfbc1..08d7a0a 100644 --- a/external/vulkancts/framework/vulkan/vkConcreteInstanceInterface.inl +++ b/external/vulkancts/framework/vulkan/vkConcreteInstanceInterface.inl @@ -64,4 +64,3 @@ virtual VkResult getPhysicalDeviceSurfaceCapabilities2EXT (VkPhysicalDevice virtual VkResult createIOSSurfaceMVK (VkInstance instance, const VkIOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const; virtual VkResult createMacOSSurfaceMVK (VkInstance instance, const VkMacOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const; virtual void getPhysicalDeviceMultisamplePropertiesEXT (VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties) const; -virtual void getPhysicalDeviceAndroidHardwareBufferUsageANDROID (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceAndroidHardwareBufferInfoANDROID* pInfo, VkAndroidHardwareBufferUsageANDROID* pUsage) const; diff --git a/external/vulkancts/framework/vulkan/vkDeviceDriverImpl.inl b/external/vulkancts/framework/vulkan/vkDeviceDriverImpl.inl index 38e716e..0a7842a 100644 --- a/external/vulkancts/framework/vulkan/vkDeviceDriverImpl.inl +++ b/external/vulkancts/framework/vulkan/vkDeviceDriverImpl.inl @@ -952,12 +952,12 @@ VkResult DeviceDriver::getValidationCacheDataEXT (VkDevice device, VkValidationC return m_vk.getValidationCacheDataEXT(device, validationCache, pDataSize, pData); } -VkResult DeviceDriver::getMemoryAndroidHardwareBufferPropertiesANDROID (VkDevice device, const pt::AndroidHardwareBufferPtr buffer, VkMemoryAndroidHardwareBufferPropertiesANDROID* pProperties) const +VkResult DeviceDriver::getAndroidHardwareBufferPropertiesANDROID (VkDevice device, const struct pt::AndroidHardwareBufferPtr buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties) const { - return m_vk.getMemoryAndroidHardwareBufferPropertiesANDROID(device, buffer, pProperties); + return m_vk.getAndroidHardwareBufferPropertiesANDROID(device, buffer, pProperties); } -VkResult DeviceDriver::getMemoryAndroidHardwareBufferANDROID (VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, pt::AndroidHardwareBufferPtr* pBuffer) const +VkResult DeviceDriver::getMemoryAndroidHardwareBufferANDROID (VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct pt::AndroidHardwareBufferPtr* pBuffer) const { return m_vk.getMemoryAndroidHardwareBufferANDROID(device, pInfo, pBuffer); } diff --git a/external/vulkancts/framework/vulkan/vkDeviceFunctionPointers.inl b/external/vulkancts/framework/vulkan/vkDeviceFunctionPointers.inl index 331aa7b..ae069e2 100644 --- a/external/vulkancts/framework/vulkan/vkDeviceFunctionPointers.inl +++ b/external/vulkancts/framework/vulkan/vkDeviceFunctionPointers.inl @@ -1,195 +1,195 @@ /* WARNING: This is auto-generated file. Do not modify, since changes will * be lost! Modify the generating script instead. */ -DestroyDeviceFunc destroyDevice; -GetDeviceQueueFunc getDeviceQueue; -QueueSubmitFunc queueSubmit; -QueueWaitIdleFunc queueWaitIdle; -DeviceWaitIdleFunc deviceWaitIdle; -AllocateMemoryFunc allocateMemory; -FreeMemoryFunc freeMemory; -MapMemoryFunc mapMemory; -UnmapMemoryFunc unmapMemory; -FlushMappedMemoryRangesFunc flushMappedMemoryRanges; -InvalidateMappedMemoryRangesFunc invalidateMappedMemoryRanges; -GetDeviceMemoryCommitmentFunc getDeviceMemoryCommitment; -BindBufferMemoryFunc bindBufferMemory; -BindImageMemoryFunc bindImageMemory; -GetBufferMemoryRequirementsFunc getBufferMemoryRequirements; -GetImageMemoryRequirementsFunc getImageMemoryRequirements; -GetImageSparseMemoryRequirementsFunc getImageSparseMemoryRequirements; -QueueBindSparseFunc queueBindSparse; -CreateFenceFunc createFence; -DestroyFenceFunc destroyFence; -ResetFencesFunc resetFences; -GetFenceStatusFunc getFenceStatus; -WaitForFencesFunc waitForFences; -CreateSemaphoreFunc createSemaphore; -DestroySemaphoreFunc destroySemaphore; -CreateEventFunc createEvent; -DestroyEventFunc destroyEvent; -GetEventStatusFunc getEventStatus; -SetEventFunc setEvent; -ResetEventFunc resetEvent; -CreateQueryPoolFunc createQueryPool; -DestroyQueryPoolFunc destroyQueryPool; -GetQueryPoolResultsFunc getQueryPoolResults; -CreateBufferFunc createBuffer; -DestroyBufferFunc destroyBuffer; -CreateBufferViewFunc createBufferView; -DestroyBufferViewFunc destroyBufferView; -CreateImageFunc createImage; -DestroyImageFunc destroyImage; -GetImageSubresourceLayoutFunc getImageSubresourceLayout; -CreateImageViewFunc createImageView; -DestroyImageViewFunc destroyImageView; -CreateShaderModuleFunc createShaderModule; -DestroyShaderModuleFunc destroyShaderModule; -CreatePipelineCacheFunc createPipelineCache; -DestroyPipelineCacheFunc destroyPipelineCache; -GetPipelineCacheDataFunc getPipelineCacheData; -MergePipelineCachesFunc mergePipelineCaches; -CreateGraphicsPipelinesFunc createGraphicsPipelines; -CreateComputePipelinesFunc createComputePipelines; -DestroyPipelineFunc destroyPipeline; -CreatePipelineLayoutFunc createPipelineLayout; -DestroyPipelineLayoutFunc destroyPipelineLayout; -CreateSamplerFunc createSampler; -DestroySamplerFunc destroySampler; -CreateDescriptorSetLayoutFunc createDescriptorSetLayout; -DestroyDescriptorSetLayoutFunc destroyDescriptorSetLayout; -CreateDescriptorPoolFunc createDescriptorPool; -DestroyDescriptorPoolFunc destroyDescriptorPool; -ResetDescriptorPoolFunc resetDescriptorPool; -AllocateDescriptorSetsFunc allocateDescriptorSets; -FreeDescriptorSetsFunc freeDescriptorSets; -UpdateDescriptorSetsFunc updateDescriptorSets; -CreateFramebufferFunc createFramebuffer; -DestroyFramebufferFunc destroyFramebuffer; -CreateRenderPassFunc createRenderPass; -DestroyRenderPassFunc destroyRenderPass; -GetRenderAreaGranularityFunc getRenderAreaGranularity; -CreateCommandPoolFunc createCommandPool; -DestroyCommandPoolFunc destroyCommandPool; -ResetCommandPoolFunc resetCommandPool; -AllocateCommandBuffersFunc allocateCommandBuffers; -FreeCommandBuffersFunc freeCommandBuffers; -BeginCommandBufferFunc beginCommandBuffer; -EndCommandBufferFunc endCommandBuffer; -ResetCommandBufferFunc resetCommandBuffer; -CmdBindPipelineFunc cmdBindPipeline; -CmdSetViewportFunc cmdSetViewport; -CmdSetScissorFunc cmdSetScissor; -CmdSetLineWidthFunc cmdSetLineWidth; -CmdSetDepthBiasFunc cmdSetDepthBias; -CmdSetBlendConstantsFunc cmdSetBlendConstants; -CmdSetDepthBoundsFunc cmdSetDepthBounds; -CmdSetStencilCompareMaskFunc cmdSetStencilCompareMask; -CmdSetStencilWriteMaskFunc cmdSetStencilWriteMask; -CmdSetStencilReferenceFunc cmdSetStencilReference; -CmdBindDescriptorSetsFunc cmdBindDescriptorSets; -CmdBindIndexBufferFunc cmdBindIndexBuffer; -CmdBindVertexBuffersFunc cmdBindVertexBuffers; -CmdDrawFunc cmdDraw; -CmdDrawIndexedFunc cmdDrawIndexed; -CmdDrawIndirectFunc cmdDrawIndirect; -CmdDrawIndexedIndirectFunc cmdDrawIndexedIndirect; -CmdDispatchFunc cmdDispatch; -CmdDispatchIndirectFunc cmdDispatchIndirect; -CmdCopyBufferFunc cmdCopyBuffer; -CmdCopyImageFunc cmdCopyImage; -CmdBlitImageFunc cmdBlitImage; -CmdCopyBufferToImageFunc cmdCopyBufferToImage; -CmdCopyImageToBufferFunc cmdCopyImageToBuffer; -CmdUpdateBufferFunc cmdUpdateBuffer; -CmdFillBufferFunc cmdFillBuffer; -CmdClearColorImageFunc cmdClearColorImage; -CmdClearDepthStencilImageFunc cmdClearDepthStencilImage; -CmdClearAttachmentsFunc cmdClearAttachments; -CmdResolveImageFunc cmdResolveImage; -CmdSetEventFunc cmdSetEvent; -CmdResetEventFunc cmdResetEvent; -CmdWaitEventsFunc cmdWaitEvents; -CmdPipelineBarrierFunc cmdPipelineBarrier; -CmdBeginQueryFunc cmdBeginQuery; -CmdEndQueryFunc cmdEndQuery; -CmdResetQueryPoolFunc cmdResetQueryPool; -CmdWriteTimestampFunc cmdWriteTimestamp; -CmdCopyQueryPoolResultsFunc cmdCopyQueryPoolResults; -CmdPushConstantsFunc cmdPushConstants; -CmdBeginRenderPassFunc cmdBeginRenderPass; -CmdNextSubpassFunc cmdNextSubpass; -CmdEndRenderPassFunc cmdEndRenderPass; -CmdExecuteCommandsFunc cmdExecuteCommands; -BindBufferMemory2Func bindBufferMemory2; -BindImageMemory2Func bindImageMemory2; -GetDeviceGroupPeerMemoryFeaturesFunc getDeviceGroupPeerMemoryFeatures; -CmdSetDeviceMaskFunc cmdSetDeviceMask; -CmdDispatchBaseFunc cmdDispatchBase; -GetImageMemoryRequirements2Func getImageMemoryRequirements2; -GetBufferMemoryRequirements2Func getBufferMemoryRequirements2; -GetImageSparseMemoryRequirements2Func getImageSparseMemoryRequirements2; -TrimCommandPoolFunc trimCommandPool; -GetDeviceQueue2Func getDeviceQueue2; -CreateSamplerYcbcrConversionFunc createSamplerYcbcrConversion; -DestroySamplerYcbcrConversionFunc destroySamplerYcbcrConversion; -CreateDescriptorUpdateTemplateFunc createDescriptorUpdateTemplate; -DestroyDescriptorUpdateTemplateFunc destroyDescriptorUpdateTemplate; -UpdateDescriptorSetWithTemplateFunc updateDescriptorSetWithTemplate; -GetDescriptorSetLayoutSupportFunc getDescriptorSetLayoutSupport; -CreateSwapchainKHRFunc createSwapchainKHR; -DestroySwapchainKHRFunc destroySwapchainKHR; -GetSwapchainImagesKHRFunc getSwapchainImagesKHR; -AcquireNextImageKHRFunc acquireNextImageKHR; -QueuePresentKHRFunc queuePresentKHR; -GetDeviceGroupPresentCapabilitiesKHRFunc getDeviceGroupPresentCapabilitiesKHR; -GetDeviceGroupSurfacePresentModesKHRFunc getDeviceGroupSurfacePresentModesKHR; -AcquireNextImage2KHRFunc acquireNextImage2KHR; -CreateSharedSwapchainsKHRFunc createSharedSwapchainsKHR; -GetMemoryWin32HandleKHRFunc getMemoryWin32HandleKHR; -GetMemoryWin32HandlePropertiesKHRFunc getMemoryWin32HandlePropertiesKHR; -GetMemoryFdKHRFunc getMemoryFdKHR; -GetMemoryFdPropertiesKHRFunc getMemoryFdPropertiesKHR; -ImportSemaphoreWin32HandleKHRFunc importSemaphoreWin32HandleKHR; -GetSemaphoreWin32HandleKHRFunc getSemaphoreWin32HandleKHR; -ImportSemaphoreFdKHRFunc importSemaphoreFdKHR; -GetSemaphoreFdKHRFunc getSemaphoreFdKHR; -CmdPushDescriptorSetKHRFunc cmdPushDescriptorSetKHR; -CmdPushDescriptorSetWithTemplateKHRFunc cmdPushDescriptorSetWithTemplateKHR; -GetSwapchainStatusKHRFunc getSwapchainStatusKHR; -ImportFenceWin32HandleKHRFunc importFenceWin32HandleKHR; -GetFenceWin32HandleKHRFunc getFenceWin32HandleKHR; -ImportFenceFdKHRFunc importFenceFdKHR; -GetFenceFdKHRFunc getFenceFdKHR; -DebugMarkerSetObjectTagEXTFunc debugMarkerSetObjectTagEXT; -DebugMarkerSetObjectNameEXTFunc debugMarkerSetObjectNameEXT; -CmdDebugMarkerBeginEXTFunc cmdDebugMarkerBeginEXT; -CmdDebugMarkerEndEXTFunc cmdDebugMarkerEndEXT; -CmdDebugMarkerInsertEXTFunc cmdDebugMarkerInsertEXT; -CmdDrawIndirectCountAMDFunc cmdDrawIndirectCountAMD; -CmdDrawIndexedIndirectCountAMDFunc cmdDrawIndexedIndirectCountAMD; -GetMemoryWin32HandleNVFunc getMemoryWin32HandleNV; -CmdProcessCommandsNVXFunc cmdProcessCommandsNVX; -CmdReserveSpaceForCommandsNVXFunc cmdReserveSpaceForCommandsNVX; -CreateIndirectCommandsLayoutNVXFunc createIndirectCommandsLayoutNVX; -DestroyIndirectCommandsLayoutNVXFunc destroyIndirectCommandsLayoutNVX; -CreateObjectTableNVXFunc createObjectTableNVX; -DestroyObjectTableNVXFunc destroyObjectTableNVX; -RegisterObjectsNVXFunc registerObjectsNVX; -UnregisterObjectsNVXFunc unregisterObjectsNVX; -CmdSetViewportWScalingNVFunc cmdSetViewportWScalingNV; -DisplayPowerControlEXTFunc displayPowerControlEXT; -RegisterDeviceEventEXTFunc registerDeviceEventEXT; -RegisterDisplayEventEXTFunc registerDisplayEventEXT; -GetSwapchainCounterEXTFunc getSwapchainCounterEXT; -GetRefreshCycleDurationGOOGLEFunc getRefreshCycleDurationGOOGLE; -GetPastPresentationTimingGOOGLEFunc getPastPresentationTimingGOOGLE; -CmdSetDiscardRectangleEXTFunc cmdSetDiscardRectangleEXT; -SetHdrMetadataEXTFunc setHdrMetadataEXT; -CmdSetSampleLocationsEXTFunc cmdSetSampleLocationsEXT; -CreateValidationCacheEXTFunc createValidationCacheEXT; -DestroyValidationCacheEXTFunc destroyValidationCacheEXT; -MergeValidationCachesEXTFunc mergeValidationCachesEXT; -GetValidationCacheDataEXTFunc getValidationCacheDataEXT; -GetMemoryAndroidHardwareBufferPropertiesANDROIDFunc getMemoryAndroidHardwareBufferPropertiesANDROID; -GetMemoryAndroidHardwareBufferANDROIDFunc getMemoryAndroidHardwareBufferANDROID; +DestroyDeviceFunc destroyDevice; +GetDeviceQueueFunc getDeviceQueue; +QueueSubmitFunc queueSubmit; +QueueWaitIdleFunc queueWaitIdle; +DeviceWaitIdleFunc deviceWaitIdle; +AllocateMemoryFunc allocateMemory; +FreeMemoryFunc freeMemory; +MapMemoryFunc mapMemory; +UnmapMemoryFunc unmapMemory; +FlushMappedMemoryRangesFunc flushMappedMemoryRanges; +InvalidateMappedMemoryRangesFunc invalidateMappedMemoryRanges; +GetDeviceMemoryCommitmentFunc getDeviceMemoryCommitment; +BindBufferMemoryFunc bindBufferMemory; +BindImageMemoryFunc bindImageMemory; +GetBufferMemoryRequirementsFunc getBufferMemoryRequirements; +GetImageMemoryRequirementsFunc getImageMemoryRequirements; +GetImageSparseMemoryRequirementsFunc getImageSparseMemoryRequirements; +QueueBindSparseFunc queueBindSparse; +CreateFenceFunc createFence; +DestroyFenceFunc destroyFence; +ResetFencesFunc resetFences; +GetFenceStatusFunc getFenceStatus; +WaitForFencesFunc waitForFences; +CreateSemaphoreFunc createSemaphore; +DestroySemaphoreFunc destroySemaphore; +CreateEventFunc createEvent; +DestroyEventFunc destroyEvent; +GetEventStatusFunc getEventStatus; +SetEventFunc setEvent; +ResetEventFunc resetEvent; +CreateQueryPoolFunc createQueryPool; +DestroyQueryPoolFunc destroyQueryPool; +GetQueryPoolResultsFunc getQueryPoolResults; +CreateBufferFunc createBuffer; +DestroyBufferFunc destroyBuffer; +CreateBufferViewFunc createBufferView; +DestroyBufferViewFunc destroyBufferView; +CreateImageFunc createImage; +DestroyImageFunc destroyImage; +GetImageSubresourceLayoutFunc getImageSubresourceLayout; +CreateImageViewFunc createImageView; +DestroyImageViewFunc destroyImageView; +CreateShaderModuleFunc createShaderModule; +DestroyShaderModuleFunc destroyShaderModule; +CreatePipelineCacheFunc createPipelineCache; +DestroyPipelineCacheFunc destroyPipelineCache; +GetPipelineCacheDataFunc getPipelineCacheData; +MergePipelineCachesFunc mergePipelineCaches; +CreateGraphicsPipelinesFunc createGraphicsPipelines; +CreateComputePipelinesFunc createComputePipelines; +DestroyPipelineFunc destroyPipeline; +CreatePipelineLayoutFunc createPipelineLayout; +DestroyPipelineLayoutFunc destroyPipelineLayout; +CreateSamplerFunc createSampler; +DestroySamplerFunc destroySampler; +CreateDescriptorSetLayoutFunc createDescriptorSetLayout; +DestroyDescriptorSetLayoutFunc destroyDescriptorSetLayout; +CreateDescriptorPoolFunc createDescriptorPool; +DestroyDescriptorPoolFunc destroyDescriptorPool; +ResetDescriptorPoolFunc resetDescriptorPool; +AllocateDescriptorSetsFunc allocateDescriptorSets; +FreeDescriptorSetsFunc freeDescriptorSets; +UpdateDescriptorSetsFunc updateDescriptorSets; +CreateFramebufferFunc createFramebuffer; +DestroyFramebufferFunc destroyFramebuffer; +CreateRenderPassFunc createRenderPass; +DestroyRenderPassFunc destroyRenderPass; +GetRenderAreaGranularityFunc getRenderAreaGranularity; +CreateCommandPoolFunc createCommandPool; +DestroyCommandPoolFunc destroyCommandPool; +ResetCommandPoolFunc resetCommandPool; +AllocateCommandBuffersFunc allocateCommandBuffers; +FreeCommandBuffersFunc freeCommandBuffers; +BeginCommandBufferFunc beginCommandBuffer; +EndCommandBufferFunc endCommandBuffer; +ResetCommandBufferFunc resetCommandBuffer; +CmdBindPipelineFunc cmdBindPipeline; +CmdSetViewportFunc cmdSetViewport; +CmdSetScissorFunc cmdSetScissor; +CmdSetLineWidthFunc cmdSetLineWidth; +CmdSetDepthBiasFunc cmdSetDepthBias; +CmdSetBlendConstantsFunc cmdSetBlendConstants; +CmdSetDepthBoundsFunc cmdSetDepthBounds; +CmdSetStencilCompareMaskFunc cmdSetStencilCompareMask; +CmdSetStencilWriteMaskFunc cmdSetStencilWriteMask; +CmdSetStencilReferenceFunc cmdSetStencilReference; +CmdBindDescriptorSetsFunc cmdBindDescriptorSets; +CmdBindIndexBufferFunc cmdBindIndexBuffer; +CmdBindVertexBuffersFunc cmdBindVertexBuffers; +CmdDrawFunc cmdDraw; +CmdDrawIndexedFunc cmdDrawIndexed; +CmdDrawIndirectFunc cmdDrawIndirect; +CmdDrawIndexedIndirectFunc cmdDrawIndexedIndirect; +CmdDispatchFunc cmdDispatch; +CmdDispatchIndirectFunc cmdDispatchIndirect; +CmdCopyBufferFunc cmdCopyBuffer; +CmdCopyImageFunc cmdCopyImage; +CmdBlitImageFunc cmdBlitImage; +CmdCopyBufferToImageFunc cmdCopyBufferToImage; +CmdCopyImageToBufferFunc cmdCopyImageToBuffer; +CmdUpdateBufferFunc cmdUpdateBuffer; +CmdFillBufferFunc cmdFillBuffer; +CmdClearColorImageFunc cmdClearColorImage; +CmdClearDepthStencilImageFunc cmdClearDepthStencilImage; +CmdClearAttachmentsFunc cmdClearAttachments; +CmdResolveImageFunc cmdResolveImage; +CmdSetEventFunc cmdSetEvent; +CmdResetEventFunc cmdResetEvent; +CmdWaitEventsFunc cmdWaitEvents; +CmdPipelineBarrierFunc cmdPipelineBarrier; +CmdBeginQueryFunc cmdBeginQuery; +CmdEndQueryFunc cmdEndQuery; +CmdResetQueryPoolFunc cmdResetQueryPool; +CmdWriteTimestampFunc cmdWriteTimestamp; +CmdCopyQueryPoolResultsFunc cmdCopyQueryPoolResults; +CmdPushConstantsFunc cmdPushConstants; +CmdBeginRenderPassFunc cmdBeginRenderPass; +CmdNextSubpassFunc cmdNextSubpass; +CmdEndRenderPassFunc cmdEndRenderPass; +CmdExecuteCommandsFunc cmdExecuteCommands; +BindBufferMemory2Func bindBufferMemory2; +BindImageMemory2Func bindImageMemory2; +GetDeviceGroupPeerMemoryFeaturesFunc getDeviceGroupPeerMemoryFeatures; +CmdSetDeviceMaskFunc cmdSetDeviceMask; +CmdDispatchBaseFunc cmdDispatchBase; +GetImageMemoryRequirements2Func getImageMemoryRequirements2; +GetBufferMemoryRequirements2Func getBufferMemoryRequirements2; +GetImageSparseMemoryRequirements2Func getImageSparseMemoryRequirements2; +TrimCommandPoolFunc trimCommandPool; +GetDeviceQueue2Func getDeviceQueue2; +CreateSamplerYcbcrConversionFunc createSamplerYcbcrConversion; +DestroySamplerYcbcrConversionFunc destroySamplerYcbcrConversion; +CreateDescriptorUpdateTemplateFunc createDescriptorUpdateTemplate; +DestroyDescriptorUpdateTemplateFunc destroyDescriptorUpdateTemplate; +UpdateDescriptorSetWithTemplateFunc updateDescriptorSetWithTemplate; +GetDescriptorSetLayoutSupportFunc getDescriptorSetLayoutSupport; +CreateSwapchainKHRFunc createSwapchainKHR; +DestroySwapchainKHRFunc destroySwapchainKHR; +GetSwapchainImagesKHRFunc getSwapchainImagesKHR; +AcquireNextImageKHRFunc acquireNextImageKHR; +QueuePresentKHRFunc queuePresentKHR; +GetDeviceGroupPresentCapabilitiesKHRFunc getDeviceGroupPresentCapabilitiesKHR; +GetDeviceGroupSurfacePresentModesKHRFunc getDeviceGroupSurfacePresentModesKHR; +AcquireNextImage2KHRFunc acquireNextImage2KHR; +CreateSharedSwapchainsKHRFunc createSharedSwapchainsKHR; +GetMemoryWin32HandleKHRFunc getMemoryWin32HandleKHR; +GetMemoryWin32HandlePropertiesKHRFunc getMemoryWin32HandlePropertiesKHR; +GetMemoryFdKHRFunc getMemoryFdKHR; +GetMemoryFdPropertiesKHRFunc getMemoryFdPropertiesKHR; +ImportSemaphoreWin32HandleKHRFunc importSemaphoreWin32HandleKHR; +GetSemaphoreWin32HandleKHRFunc getSemaphoreWin32HandleKHR; +ImportSemaphoreFdKHRFunc importSemaphoreFdKHR; +GetSemaphoreFdKHRFunc getSemaphoreFdKHR; +CmdPushDescriptorSetKHRFunc cmdPushDescriptorSetKHR; +CmdPushDescriptorSetWithTemplateKHRFunc cmdPushDescriptorSetWithTemplateKHR; +GetSwapchainStatusKHRFunc getSwapchainStatusKHR; +ImportFenceWin32HandleKHRFunc importFenceWin32HandleKHR; +GetFenceWin32HandleKHRFunc getFenceWin32HandleKHR; +ImportFenceFdKHRFunc importFenceFdKHR; +GetFenceFdKHRFunc getFenceFdKHR; +DebugMarkerSetObjectTagEXTFunc debugMarkerSetObjectTagEXT; +DebugMarkerSetObjectNameEXTFunc debugMarkerSetObjectNameEXT; +CmdDebugMarkerBeginEXTFunc cmdDebugMarkerBeginEXT; +CmdDebugMarkerEndEXTFunc cmdDebugMarkerEndEXT; +CmdDebugMarkerInsertEXTFunc cmdDebugMarkerInsertEXT; +CmdDrawIndirectCountAMDFunc cmdDrawIndirectCountAMD; +CmdDrawIndexedIndirectCountAMDFunc cmdDrawIndexedIndirectCountAMD; +GetMemoryWin32HandleNVFunc getMemoryWin32HandleNV; +CmdProcessCommandsNVXFunc cmdProcessCommandsNVX; +CmdReserveSpaceForCommandsNVXFunc cmdReserveSpaceForCommandsNVX; +CreateIndirectCommandsLayoutNVXFunc createIndirectCommandsLayoutNVX; +DestroyIndirectCommandsLayoutNVXFunc destroyIndirectCommandsLayoutNVX; +CreateObjectTableNVXFunc createObjectTableNVX; +DestroyObjectTableNVXFunc destroyObjectTableNVX; +RegisterObjectsNVXFunc registerObjectsNVX; +UnregisterObjectsNVXFunc unregisterObjectsNVX; +CmdSetViewportWScalingNVFunc cmdSetViewportWScalingNV; +DisplayPowerControlEXTFunc displayPowerControlEXT; +RegisterDeviceEventEXTFunc registerDeviceEventEXT; +RegisterDisplayEventEXTFunc registerDisplayEventEXT; +GetSwapchainCounterEXTFunc getSwapchainCounterEXT; +GetRefreshCycleDurationGOOGLEFunc getRefreshCycleDurationGOOGLE; +GetPastPresentationTimingGOOGLEFunc getPastPresentationTimingGOOGLE; +CmdSetDiscardRectangleEXTFunc cmdSetDiscardRectangleEXT; +SetHdrMetadataEXTFunc setHdrMetadataEXT; +CmdSetSampleLocationsEXTFunc cmdSetSampleLocationsEXT; +CreateValidationCacheEXTFunc createValidationCacheEXT; +DestroyValidationCacheEXTFunc destroyValidationCacheEXT; +MergeValidationCachesEXTFunc mergeValidationCachesEXT; +GetValidationCacheDataEXTFunc getValidationCacheDataEXT; +GetAndroidHardwareBufferPropertiesANDROIDFunc getAndroidHardwareBufferPropertiesANDROID; +GetMemoryAndroidHardwareBufferANDROIDFunc getMemoryAndroidHardwareBufferANDROID; diff --git a/external/vulkancts/framework/vulkan/vkFunctionPointerTypes.inl b/external/vulkancts/framework/vulkan/vkFunctionPointerTypes.inl index 8340ba7..4b685e3 100644 --- a/external/vulkancts/framework/vulkan/vkFunctionPointerTypes.inl +++ b/external/vulkancts/framework/vulkan/vkFunctionPointerTypes.inl @@ -1,290 +1,289 @@ /* WARNING: This is auto-generated file. Do not modify, since changes will * be lost! Modify the generating script instead. */ -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateInstanceFunc) (const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance); -typedef VKAPI_ATTR void (VKAPI_CALL* DestroyInstanceFunc) (VkInstance instance, const VkAllocationCallbacks* pAllocator); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* EnumeratePhysicalDevicesFunc) (VkInstance instance, deUint32* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices); -typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceFeaturesFunc) (VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures); -typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceFormatPropertiesFunc) (VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceImageFormatPropertiesFunc) (VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties); -typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDevicePropertiesFunc) (VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties); -typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceQueueFamilyPropertiesFunc) (VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties); -typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceMemoryPropertiesFunc) (VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties); -typedef VKAPI_ATTR PFN_vkVoidFunction (VKAPI_CALL* GetInstanceProcAddrFunc) (VkInstance instance, const char* pName); -typedef VKAPI_ATTR PFN_vkVoidFunction (VKAPI_CALL* GetDeviceProcAddrFunc) (VkDevice device, const char* pName); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateDeviceFunc) (VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice); -typedef VKAPI_ATTR void (VKAPI_CALL* DestroyDeviceFunc) (VkDevice device, const VkAllocationCallbacks* pAllocator); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* EnumerateInstanceExtensionPropertiesFunc) (const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* EnumerateDeviceExtensionPropertiesFunc) (VkPhysicalDevice physicalDevice, const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* EnumerateInstanceLayerPropertiesFunc) (deUint32* pPropertyCount, VkLayerProperties* pProperties); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* EnumerateDeviceLayerPropertiesFunc) (VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkLayerProperties* pProperties); -typedef VKAPI_ATTR void (VKAPI_CALL* GetDeviceQueueFunc) (VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex, VkQueue* pQueue); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* QueueSubmitFunc) (VkQueue queue, deUint32 submitCount, const VkSubmitInfo* pSubmits, VkFence fence); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* QueueWaitIdleFunc) (VkQueue queue); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* DeviceWaitIdleFunc) (VkDevice device); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* AllocateMemoryFunc) (VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory); -typedef VKAPI_ATTR void (VKAPI_CALL* FreeMemoryFunc) (VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* MapMemoryFunc) (VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData); -typedef VKAPI_ATTR void (VKAPI_CALL* UnmapMemoryFunc) (VkDevice device, VkDeviceMemory memory); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* FlushMappedMemoryRangesFunc) (VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* InvalidateMappedMemoryRangesFunc) (VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); -typedef VKAPI_ATTR void (VKAPI_CALL* GetDeviceMemoryCommitmentFunc) (VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* BindBufferMemoryFunc) (VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* BindImageMemoryFunc) (VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset); -typedef VKAPI_ATTR void (VKAPI_CALL* GetBufferMemoryRequirementsFunc) (VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements); -typedef VKAPI_ATTR void (VKAPI_CALL* GetImageMemoryRequirementsFunc) (VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements); -typedef VKAPI_ATTR void (VKAPI_CALL* GetImageSparseMemoryRequirementsFunc) (VkDevice device, VkImage image, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements); -typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceSparseImageFormatPropertiesFunc) (VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, deUint32* pPropertyCount, VkSparseImageFormatProperties* pProperties); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* QueueBindSparseFunc) (VkQueue queue, deUint32 bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateFenceFunc) (VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); -typedef VKAPI_ATTR void (VKAPI_CALL* DestroyFenceFunc) (VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* ResetFencesFunc) (VkDevice device, deUint32 fenceCount, const VkFence* pFences); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetFenceStatusFunc) (VkDevice device, VkFence fence); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* WaitForFencesFunc) (VkDevice device, deUint32 fenceCount, const VkFence* pFences, VkBool32 waitAll, deUint64 timeout); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateSemaphoreFunc) (VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore); -typedef VKAPI_ATTR void (VKAPI_CALL* DestroySemaphoreFunc) (VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateEventFunc) (VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent); -typedef VKAPI_ATTR void (VKAPI_CALL* DestroyEventFunc) (VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetEventStatusFunc) (VkDevice device, VkEvent event); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* SetEventFunc) (VkDevice device, VkEvent event); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* ResetEventFunc) (VkDevice device, VkEvent event); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateQueryPoolFunc) (VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool); -typedef VKAPI_ATTR void (VKAPI_CALL* DestroyQueryPoolFunc) (VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetQueryPoolResultsFunc) (VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, deUintptr dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateBufferFunc) (VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer); -typedef VKAPI_ATTR void (VKAPI_CALL* DestroyBufferFunc) (VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateBufferViewFunc) (VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView); -typedef VKAPI_ATTR void (VKAPI_CALL* DestroyBufferViewFunc) (VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateImageFunc) (VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage); -typedef VKAPI_ATTR void (VKAPI_CALL* DestroyImageFunc) (VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator); -typedef VKAPI_ATTR void (VKAPI_CALL* GetImageSubresourceLayoutFunc) (VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateImageViewFunc) (VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView); -typedef VKAPI_ATTR void (VKAPI_CALL* DestroyImageViewFunc) (VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateShaderModuleFunc) (VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule); -typedef VKAPI_ATTR void (VKAPI_CALL* DestroyShaderModuleFunc) (VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreatePipelineCacheFunc) (VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache); -typedef VKAPI_ATTR void (VKAPI_CALL* DestroyPipelineCacheFunc) (VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPipelineCacheDataFunc) (VkDevice device, VkPipelineCache pipelineCache, deUintptr* pDataSize, void* pData); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* MergePipelineCachesFunc) (VkDevice device, VkPipelineCache dstCache, deUint32 srcCacheCount, const VkPipelineCache* pSrcCaches); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateGraphicsPipelinesFunc) (VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateComputePipelinesFunc) (VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); -typedef VKAPI_ATTR void (VKAPI_CALL* DestroyPipelineFunc) (VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreatePipelineLayoutFunc) (VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout); -typedef VKAPI_ATTR void (VKAPI_CALL* DestroyPipelineLayoutFunc) (VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateSamplerFunc) (VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler); -typedef VKAPI_ATTR void (VKAPI_CALL* DestroySamplerFunc) (VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateDescriptorSetLayoutFunc) (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout); -typedef VKAPI_ATTR void (VKAPI_CALL* DestroyDescriptorSetLayoutFunc) (VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateDescriptorPoolFunc) (VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool); -typedef VKAPI_ATTR void (VKAPI_CALL* DestroyDescriptorPoolFunc) (VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* ResetDescriptorPoolFunc) (VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* AllocateDescriptorSetsFunc) (VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* FreeDescriptorSetsFunc) (VkDevice device, VkDescriptorPool descriptorPool, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets); -typedef VKAPI_ATTR void (VKAPI_CALL* UpdateDescriptorSetsFunc) (VkDevice device, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, deUint32 descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateFramebufferFunc) (VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer); -typedef VKAPI_ATTR void (VKAPI_CALL* DestroyFramebufferFunc) (VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateRenderPassFunc) (VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); -typedef VKAPI_ATTR void (VKAPI_CALL* DestroyRenderPassFunc) (VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator); -typedef VKAPI_ATTR void (VKAPI_CALL* GetRenderAreaGranularityFunc) (VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateCommandPoolFunc) (VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool); -typedef VKAPI_ATTR void (VKAPI_CALL* DestroyCommandPoolFunc) (VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* ResetCommandPoolFunc) (VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* AllocateCommandBuffersFunc) (VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers); -typedef VKAPI_ATTR void (VKAPI_CALL* FreeCommandBuffersFunc) (VkDevice device, VkCommandPool commandPool, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* BeginCommandBufferFunc) (VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* EndCommandBufferFunc) (VkCommandBuffer commandBuffer); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* ResetCommandBufferFunc) (VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdBindPipelineFunc) (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetViewportFunc) (VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewport* pViewports); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetScissorFunc) (VkCommandBuffer commandBuffer, deUint32 firstScissor, deUint32 scissorCount, const VkRect2D* pScissors); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetLineWidthFunc) (VkCommandBuffer commandBuffer, float lineWidth); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetDepthBiasFunc) (VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetBlendConstantsFunc) (VkCommandBuffer commandBuffer, const float blendConstants[4]); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetDepthBoundsFunc) (VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetStencilCompareMaskFunc) (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 compareMask); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetStencilWriteMaskFunc) (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 writeMask); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetStencilReferenceFunc) (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 reference); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdBindDescriptorSetsFunc) (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets, deUint32 dynamicOffsetCount, const deUint32* pDynamicOffsets); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdBindIndexBufferFunc) (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdBindVertexBuffersFunc) (VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdDrawFunc) (VkCommandBuffer commandBuffer, deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdDrawIndexedFunc) (VkCommandBuffer commandBuffer, deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdDrawIndirectFunc) (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdDrawIndexedIndirectFunc) (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdDispatchFunc) (VkCommandBuffer commandBuffer, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdDispatchIndirectFunc) (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdCopyBufferFunc) (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferCopy* pRegions); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdCopyImageFunc) (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageCopy* pRegions); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdBlitImageFunc) (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageBlit* pRegions, VkFilter filter); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdCopyBufferToImageFunc) (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkBufferImageCopy* pRegions); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdCopyImageToBufferFunc) (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferImageCopy* pRegions); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdUpdateBufferFunc) (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdFillBufferFunc) (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, deUint32 data); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdClearColorImageFunc) (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, deUint32 rangeCount, const VkImageSubresourceRange* pRanges); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdClearDepthStencilImageFunc) (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, deUint32 rangeCount, const VkImageSubresourceRange* pRanges); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdClearAttachmentsFunc) (VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkClearAttachment* pAttachments, deUint32 rectCount, const VkClearRect* pRects); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdResolveImageFunc) (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageResolve* pRegions); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetEventFunc) (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdResetEventFunc) (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdWaitEventsFunc) (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); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdPipelineBarrierFunc) (VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, deUint32 memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, deUint32 bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, deUint32 imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdBeginQueryFunc) (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdEndQueryFunc) (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdResetQueryPoolFunc) (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdWriteTimestampFunc) (VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, deUint32 query); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdCopyQueryPoolResultsFunc) (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdPushConstantsFunc) (VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, deUint32 offset, deUint32 size, const void* pValues); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdBeginRenderPassFunc) (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdNextSubpassFunc) (VkCommandBuffer commandBuffer, VkSubpassContents contents); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdEndRenderPassFunc) (VkCommandBuffer commandBuffer); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdExecuteCommandsFunc) (VkCommandBuffer commandBuffer, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* EnumerateInstanceVersionFunc) (deUint32* pApiVersion); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* BindBufferMemory2Func) (VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* BindImageMemory2Func) (VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos); -typedef VKAPI_ATTR void (VKAPI_CALL* GetDeviceGroupPeerMemoryFeaturesFunc) (VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetDeviceMaskFunc) (VkCommandBuffer commandBuffer, deUint32 deviceMask); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdDispatchBaseFunc) (VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* EnumeratePhysicalDeviceGroupsFunc) (VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); -typedef VKAPI_ATTR void (VKAPI_CALL* GetImageMemoryRequirements2Func) (VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); -typedef VKAPI_ATTR void (VKAPI_CALL* GetBufferMemoryRequirements2Func) (VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); -typedef VKAPI_ATTR void (VKAPI_CALL* GetImageSparseMemoryRequirements2Func) (VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); -typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceFeatures2Func) (VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures); -typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceProperties2Func) (VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties); -typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceFormatProperties2Func) (VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceImageFormatProperties2Func) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties); -typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceQueueFamilyProperties2Func) (VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties); -typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceMemoryProperties2Func) (VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties); -typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceSparseImageFormatProperties2Func) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties); -typedef VKAPI_ATTR void (VKAPI_CALL* TrimCommandPoolFunc) (VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags); -typedef VKAPI_ATTR void (VKAPI_CALL* GetDeviceQueue2Func) (VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateSamplerYcbcrConversionFunc) (VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion); -typedef VKAPI_ATTR void (VKAPI_CALL* DestroySamplerYcbcrConversionFunc) (VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateDescriptorUpdateTemplateFunc) (VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); -typedef VKAPI_ATTR void (VKAPI_CALL* DestroyDescriptorUpdateTemplateFunc) (VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator); -typedef VKAPI_ATTR void (VKAPI_CALL* UpdateDescriptorSetWithTemplateFunc) (VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData); -typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceExternalBufferPropertiesFunc) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties); -typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceExternalFencePropertiesFunc) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties); -typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceExternalSemaphorePropertiesFunc) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties); -typedef VKAPI_ATTR void (VKAPI_CALL* GetDescriptorSetLayoutSupportFunc) (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport); -typedef VKAPI_ATTR void (VKAPI_CALL* DestroySurfaceKHRFunc) (VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceSurfaceSupportKHRFunc) (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceSurfaceCapabilitiesKHRFunc) (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceSurfaceFormatsKHRFunc) (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceSurfacePresentModesKHRFunc) (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pPresentModeCount, VkPresentModeKHR* pPresentModes); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateSwapchainKHRFunc) (VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain); -typedef VKAPI_ATTR void (VKAPI_CALL* DestroySwapchainKHRFunc) (VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetSwapchainImagesKHRFunc) (VkDevice device, VkSwapchainKHR swapchain, deUint32* pSwapchainImageCount, VkImage* pSwapchainImages); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* AcquireNextImageKHRFunc) (VkDevice device, VkSwapchainKHR swapchain, deUint64 timeout, VkSemaphore semaphore, VkFence fence, deUint32* pImageIndex); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* QueuePresentKHRFunc) (VkQueue queue, const VkPresentInfoKHR* pPresentInfo); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetDeviceGroupPresentCapabilitiesKHRFunc) (VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetDeviceGroupSurfacePresentModesKHRFunc) (VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDevicePresentRectanglesKHRFunc) (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pRectCount, VkRect2D* pRects); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* AcquireNextImage2KHRFunc) (VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, deUint32* pImageIndex); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceDisplayPropertiesKHRFunc) (VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPropertiesKHR* pProperties); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceDisplayPlanePropertiesKHRFunc) (VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetDisplayPlaneSupportedDisplaysKHRFunc) (VkPhysicalDevice physicalDevice, deUint32 planeIndex, deUint32* pDisplayCount, VkDisplayKHR* pDisplays); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetDisplayModePropertiesKHRFunc) (VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModePropertiesKHR* pProperties); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateDisplayModeKHRFunc) (VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetDisplayPlaneCapabilitiesKHRFunc) (VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, deUint32 planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateDisplayPlaneSurfaceKHRFunc) (VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateSharedSwapchainsKHRFunc) (VkDevice device, deUint32 swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateXlibSurfaceKHRFunc) (VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); -typedef VKAPI_ATTR VkBool32 (VKAPI_CALL* GetPhysicalDeviceXlibPresentationSupportKHRFunc) (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, pt::XlibDisplayPtr dpy, pt::XlibVisualID visualID); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateXcbSurfaceKHRFunc) (VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); -typedef VKAPI_ATTR VkBool32 (VKAPI_CALL* GetPhysicalDeviceXcbPresentationSupportKHRFunc) (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, pt::XcbConnectionPtr connection, pt::XcbVisualid visual_id); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateWaylandSurfaceKHRFunc) (VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); -typedef VKAPI_ATTR VkBool32 (VKAPI_CALL* GetPhysicalDeviceWaylandPresentationSupportKHRFunc) (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, pt::WaylandDisplayPtr display); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateMirSurfaceKHRFunc) (VkInstance instance, const VkMirSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); -typedef VKAPI_ATTR VkBool32 (VKAPI_CALL* GetPhysicalDeviceMirPresentationSupportKHRFunc) (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, pt::MirConnectionPtr connection); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateAndroidSurfaceKHRFunc) (VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateWin32SurfaceKHRFunc) (VkInstance instance, const VkWin32SurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); -typedef VKAPI_ATTR VkBool32 (VKAPI_CALL* GetPhysicalDeviceWin32PresentationSupportKHRFunc) (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex); -typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceFeatures2KHRFunc) (VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures); -typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceFormatProperties2KHRFunc) (VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceImageFormatProperties2KHRFunc) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties); -typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceMemoryProperties2KHRFunc) (VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties); -typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceProperties2KHRFunc) (VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties); -typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceQueueFamilyProperties2KHRFunc) (VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties); -typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceSparseImageFormatProperties2KHRFunc) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdDispatchBaseKHRFunc) (VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetDeviceMaskKHRFunc) (VkCommandBuffer commandBuffer, deUint32 deviceMask); -typedef VKAPI_ATTR void (VKAPI_CALL* GetDeviceGroupPeerMemoryFeaturesKHRFunc) (VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); -typedef VKAPI_ATTR void (VKAPI_CALL* TrimCommandPoolKHRFunc) (VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* EnumeratePhysicalDeviceGroupsKHRFunc) (VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); -typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceExternalBufferPropertiesKHRFunc) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetMemoryWin32HandleKHRFunc) (VkDevice device, const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetMemoryWin32HandlePropertiesKHRFunc) (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, pt::Win32Handle handle, VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetMemoryFdKHRFunc) (VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetMemoryFdPropertiesKHRFunc) (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties); -typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceExternalSemaphorePropertiesKHRFunc) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* ImportSemaphoreWin32HandleKHRFunc) (VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetSemaphoreWin32HandleKHRFunc) (VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* ImportSemaphoreFdKHRFunc) (VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetSemaphoreFdKHRFunc) (VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdPushDescriptorSetKHRFunc) (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 set, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdPushDescriptorSetWithTemplateKHRFunc) (VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, deUint32 set, const void* pData); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateDescriptorUpdateTemplateKHRFunc) (VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); -typedef VKAPI_ATTR void (VKAPI_CALL* DestroyDescriptorUpdateTemplateKHRFunc) (VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator); -typedef VKAPI_ATTR void (VKAPI_CALL* UpdateDescriptorSetWithTemplateKHRFunc) (VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetSwapchainStatusKHRFunc) (VkDevice device, VkSwapchainKHR swapchain); -typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceExternalFencePropertiesKHRFunc) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* ImportFenceWin32HandleKHRFunc) (VkDevice device, const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetFenceWin32HandleKHRFunc) (VkDevice device, const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* ImportFenceFdKHRFunc) (VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetFenceFdKHRFunc) (VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceSurfaceCapabilities2KHRFunc) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceSurfaceFormats2KHRFunc) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, deUint32* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats); -typedef VKAPI_ATTR void (VKAPI_CALL* GetBufferMemoryRequirements2KHRFunc) (VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); -typedef VKAPI_ATTR void (VKAPI_CALL* GetImageMemoryRequirements2KHRFunc) (VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); -typedef VKAPI_ATTR void (VKAPI_CALL* GetImageSparseMemoryRequirements2KHRFunc) (VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateSamplerYcbcrConversionKHRFunc) (VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion); -typedef VKAPI_ATTR void (VKAPI_CALL* DestroySamplerYcbcrConversionKHRFunc) (VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* BindBufferMemory2KHRFunc) (VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* BindImageMemory2KHRFunc) (VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos); -typedef VKAPI_ATTR void (VKAPI_CALL* GetDescriptorSetLayoutSupportKHRFunc) (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateDebugReportCallbackEXTFunc) (VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback); -typedef VKAPI_ATTR void (VKAPI_CALL* DestroyDebugReportCallbackEXTFunc) (VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator); -typedef VKAPI_ATTR void (VKAPI_CALL* DebugReportMessageEXTFunc) (VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, deUint64 object, deUintptr location, deInt32 messageCode, const char* pLayerPrefix, const char* pMessage); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* DebugMarkerSetObjectTagEXTFunc) (VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* DebugMarkerSetObjectNameEXTFunc) (VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdDebugMarkerBeginEXTFunc) (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdDebugMarkerEndEXTFunc) (VkCommandBuffer commandBuffer); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdDebugMarkerInsertEXTFunc) (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdDrawIndirectCountAMDFunc) (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdDrawIndexedIndirectCountAMDFunc) (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceExternalImageFormatPropertiesNVFunc) (VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetMemoryWin32HandleNVFunc) (VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, pt::Win32Handle* pHandle); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateViSurfaceNNFunc) (VkInstance instance, const VkViSurfaceCreateInfoNN* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdProcessCommandsNVXFunc) (VkCommandBuffer commandBuffer, const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdReserveSpaceForCommandsNVXFunc) (VkCommandBuffer commandBuffer, const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateIndirectCommandsLayoutNVXFunc) (VkDevice device, const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout); -typedef VKAPI_ATTR void (VKAPI_CALL* DestroyIndirectCommandsLayoutNVXFunc) (VkDevice device, VkIndirectCommandsLayoutNVX indirectCommandsLayout, const VkAllocationCallbacks* pAllocator); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateObjectTableNVXFunc) (VkDevice device, const VkObjectTableCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkObjectTableNVX* pObjectTable); -typedef VKAPI_ATTR void (VKAPI_CALL* DestroyObjectTableNVXFunc) (VkDevice device, VkObjectTableNVX objectTable, const VkAllocationCallbacks* pAllocator); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* RegisterObjectsNVXFunc) (VkDevice device, VkObjectTableNVX objectTable, deUint32 objectCount, const VkObjectTableEntryNVX* const* ppObjectTableEntries, const deUint32* pObjectIndices); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* UnregisterObjectsNVXFunc) (VkDevice device, VkObjectTableNVX objectTable, deUint32 objectCount, const VkObjectEntryTypeNVX* pObjectEntryTypes, const deUint32* pObjectIndices); -typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceGeneratedCommandsPropertiesNVXFunc) (VkPhysicalDevice physicalDevice, VkDeviceGeneratedCommandsFeaturesNVX* pFeatures, VkDeviceGeneratedCommandsLimitsNVX* pLimits); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetViewportWScalingNVFunc) (VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewportWScalingNV* pViewportWScalings); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* ReleaseDisplayEXTFunc) (VkPhysicalDevice physicalDevice, VkDisplayKHR display); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* AcquireXlibDisplayEXTFunc) (VkPhysicalDevice physicalDevice, pt::XlibDisplayPtr dpy, VkDisplayKHR display); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetRandROutputDisplayEXTFunc) (VkPhysicalDevice physicalDevice, pt::XlibDisplayPtr dpy, pt::RROutput rrOutput, VkDisplayKHR* pDisplay); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceSurfaceCapabilities2EXTFunc) (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* DisplayPowerControlEXTFunc) (VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* RegisterDeviceEventEXTFunc) (VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* RegisterDisplayEventEXTFunc) (VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetSwapchainCounterEXTFunc) (VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, deUint64* pCounterValue); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetRefreshCycleDurationGOOGLEFunc) (VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPastPresentationTimingGOOGLEFunc) (VkDevice device, VkSwapchainKHR swapchain, deUint32* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetDiscardRectangleEXTFunc) (VkCommandBuffer commandBuffer, deUint32 firstDiscardRectangle, deUint32 discardRectangleCount, const VkRect2D* pDiscardRectangles); -typedef VKAPI_ATTR void (VKAPI_CALL* SetHdrMetadataEXTFunc) (VkDevice device, deUint32 swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateIOSSurfaceMVKFunc) (VkInstance instance, const VkIOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateMacOSSurfaceMVKFunc) (VkInstance instance, const VkMacOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetSampleLocationsEXTFunc) (VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo); -typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceMultisamplePropertiesEXTFunc) (VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateValidationCacheEXTFunc) (VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache); -typedef VKAPI_ATTR void (VKAPI_CALL* DestroyValidationCacheEXTFunc) (VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* MergeValidationCachesEXTFunc) (VkDevice device, VkValidationCacheEXT dstCache, deUint32 srcCacheCount, const VkValidationCacheEXT* pSrcCaches); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetValidationCacheDataEXTFunc) (VkDevice device, VkValidationCacheEXT validationCache, deUintptr* pDataSize, void* pData); -typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceAndroidHardwareBufferUsageANDROIDFunc) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceAndroidHardwareBufferInfoANDROID* pInfo, VkAndroidHardwareBufferUsageANDROID* pUsage); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetMemoryAndroidHardwareBufferPropertiesANDROIDFunc) (VkDevice device, const pt::AndroidHardwareBufferPtr buffer, VkMemoryAndroidHardwareBufferPropertiesANDROID* pProperties); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetMemoryAndroidHardwareBufferANDROIDFunc) (VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, pt::AndroidHardwareBufferPtr* pBuffer); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateInstanceFunc) (const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance); +typedef VKAPI_ATTR void (VKAPI_CALL* DestroyInstanceFunc) (VkInstance instance, const VkAllocationCallbacks* pAllocator); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* EnumeratePhysicalDevicesFunc) (VkInstance instance, deUint32* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices); +typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceFeaturesFunc) (VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures); +typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceFormatPropertiesFunc) (VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceImageFormatPropertiesFunc) (VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties); +typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDevicePropertiesFunc) (VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties); +typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceQueueFamilyPropertiesFunc) (VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties); +typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceMemoryPropertiesFunc) (VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties); +typedef VKAPI_ATTR PFN_vkVoidFunction (VKAPI_CALL* GetInstanceProcAddrFunc) (VkInstance instance, const char* pName); +typedef VKAPI_ATTR PFN_vkVoidFunction (VKAPI_CALL* GetDeviceProcAddrFunc) (VkDevice device, const char* pName); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateDeviceFunc) (VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice); +typedef VKAPI_ATTR void (VKAPI_CALL* DestroyDeviceFunc) (VkDevice device, const VkAllocationCallbacks* pAllocator); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* EnumerateInstanceExtensionPropertiesFunc) (const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* EnumerateDeviceExtensionPropertiesFunc) (VkPhysicalDevice physicalDevice, const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* EnumerateInstanceLayerPropertiesFunc) (deUint32* pPropertyCount, VkLayerProperties* pProperties); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* EnumerateDeviceLayerPropertiesFunc) (VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkLayerProperties* pProperties); +typedef VKAPI_ATTR void (VKAPI_CALL* GetDeviceQueueFunc) (VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex, VkQueue* pQueue); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* QueueSubmitFunc) (VkQueue queue, deUint32 submitCount, const VkSubmitInfo* pSubmits, VkFence fence); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* QueueWaitIdleFunc) (VkQueue queue); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* DeviceWaitIdleFunc) (VkDevice device); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* AllocateMemoryFunc) (VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory); +typedef VKAPI_ATTR void (VKAPI_CALL* FreeMemoryFunc) (VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* MapMemoryFunc) (VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData); +typedef VKAPI_ATTR void (VKAPI_CALL* UnmapMemoryFunc) (VkDevice device, VkDeviceMemory memory); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* FlushMappedMemoryRangesFunc) (VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* InvalidateMappedMemoryRangesFunc) (VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); +typedef VKAPI_ATTR void (VKAPI_CALL* GetDeviceMemoryCommitmentFunc) (VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* BindBufferMemoryFunc) (VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* BindImageMemoryFunc) (VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset); +typedef VKAPI_ATTR void (VKAPI_CALL* GetBufferMemoryRequirementsFunc) (VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements); +typedef VKAPI_ATTR void (VKAPI_CALL* GetImageMemoryRequirementsFunc) (VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements); +typedef VKAPI_ATTR void (VKAPI_CALL* GetImageSparseMemoryRequirementsFunc) (VkDevice device, VkImage image, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements); +typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceSparseImageFormatPropertiesFunc) (VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, deUint32* pPropertyCount, VkSparseImageFormatProperties* pProperties); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* QueueBindSparseFunc) (VkQueue queue, deUint32 bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateFenceFunc) (VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); +typedef VKAPI_ATTR void (VKAPI_CALL* DestroyFenceFunc) (VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* ResetFencesFunc) (VkDevice device, deUint32 fenceCount, const VkFence* pFences); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetFenceStatusFunc) (VkDevice device, VkFence fence); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* WaitForFencesFunc) (VkDevice device, deUint32 fenceCount, const VkFence* pFences, VkBool32 waitAll, deUint64 timeout); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateSemaphoreFunc) (VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore); +typedef VKAPI_ATTR void (VKAPI_CALL* DestroySemaphoreFunc) (VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateEventFunc) (VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent); +typedef VKAPI_ATTR void (VKAPI_CALL* DestroyEventFunc) (VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetEventStatusFunc) (VkDevice device, VkEvent event); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* SetEventFunc) (VkDevice device, VkEvent event); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* ResetEventFunc) (VkDevice device, VkEvent event); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateQueryPoolFunc) (VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool); +typedef VKAPI_ATTR void (VKAPI_CALL* DestroyQueryPoolFunc) (VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetQueryPoolResultsFunc) (VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, deUintptr dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateBufferFunc) (VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer); +typedef VKAPI_ATTR void (VKAPI_CALL* DestroyBufferFunc) (VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateBufferViewFunc) (VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView); +typedef VKAPI_ATTR void (VKAPI_CALL* DestroyBufferViewFunc) (VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateImageFunc) (VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage); +typedef VKAPI_ATTR void (VKAPI_CALL* DestroyImageFunc) (VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator); +typedef VKAPI_ATTR void (VKAPI_CALL* GetImageSubresourceLayoutFunc) (VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateImageViewFunc) (VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView); +typedef VKAPI_ATTR void (VKAPI_CALL* DestroyImageViewFunc) (VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateShaderModuleFunc) (VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule); +typedef VKAPI_ATTR void (VKAPI_CALL* DestroyShaderModuleFunc) (VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreatePipelineCacheFunc) (VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache); +typedef VKAPI_ATTR void (VKAPI_CALL* DestroyPipelineCacheFunc) (VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPipelineCacheDataFunc) (VkDevice device, VkPipelineCache pipelineCache, deUintptr* pDataSize, void* pData); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* MergePipelineCachesFunc) (VkDevice device, VkPipelineCache dstCache, deUint32 srcCacheCount, const VkPipelineCache* pSrcCaches); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateGraphicsPipelinesFunc) (VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateComputePipelinesFunc) (VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); +typedef VKAPI_ATTR void (VKAPI_CALL* DestroyPipelineFunc) (VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreatePipelineLayoutFunc) (VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout); +typedef VKAPI_ATTR void (VKAPI_CALL* DestroyPipelineLayoutFunc) (VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateSamplerFunc) (VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler); +typedef VKAPI_ATTR void (VKAPI_CALL* DestroySamplerFunc) (VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateDescriptorSetLayoutFunc) (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout); +typedef VKAPI_ATTR void (VKAPI_CALL* DestroyDescriptorSetLayoutFunc) (VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateDescriptorPoolFunc) (VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool); +typedef VKAPI_ATTR void (VKAPI_CALL* DestroyDescriptorPoolFunc) (VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* ResetDescriptorPoolFunc) (VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* AllocateDescriptorSetsFunc) (VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* FreeDescriptorSetsFunc) (VkDevice device, VkDescriptorPool descriptorPool, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets); +typedef VKAPI_ATTR void (VKAPI_CALL* UpdateDescriptorSetsFunc) (VkDevice device, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, deUint32 descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateFramebufferFunc) (VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer); +typedef VKAPI_ATTR void (VKAPI_CALL* DestroyFramebufferFunc) (VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateRenderPassFunc) (VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); +typedef VKAPI_ATTR void (VKAPI_CALL* DestroyRenderPassFunc) (VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator); +typedef VKAPI_ATTR void (VKAPI_CALL* GetRenderAreaGranularityFunc) (VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateCommandPoolFunc) (VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool); +typedef VKAPI_ATTR void (VKAPI_CALL* DestroyCommandPoolFunc) (VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* ResetCommandPoolFunc) (VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* AllocateCommandBuffersFunc) (VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers); +typedef VKAPI_ATTR void (VKAPI_CALL* FreeCommandBuffersFunc) (VkDevice device, VkCommandPool commandPool, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* BeginCommandBufferFunc) (VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* EndCommandBufferFunc) (VkCommandBuffer commandBuffer); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* ResetCommandBufferFunc) (VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdBindPipelineFunc) (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetViewportFunc) (VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewport* pViewports); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetScissorFunc) (VkCommandBuffer commandBuffer, deUint32 firstScissor, deUint32 scissorCount, const VkRect2D* pScissors); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetLineWidthFunc) (VkCommandBuffer commandBuffer, float lineWidth); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetDepthBiasFunc) (VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetBlendConstantsFunc) (VkCommandBuffer commandBuffer, const float blendConstants[4]); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetDepthBoundsFunc) (VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetStencilCompareMaskFunc) (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 compareMask); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetStencilWriteMaskFunc) (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 writeMask); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetStencilReferenceFunc) (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 reference); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdBindDescriptorSetsFunc) (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets, deUint32 dynamicOffsetCount, const deUint32* pDynamicOffsets); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdBindIndexBufferFunc) (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdBindVertexBuffersFunc) (VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdDrawFunc) (VkCommandBuffer commandBuffer, deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdDrawIndexedFunc) (VkCommandBuffer commandBuffer, deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdDrawIndirectFunc) (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdDrawIndexedIndirectFunc) (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdDispatchFunc) (VkCommandBuffer commandBuffer, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdDispatchIndirectFunc) (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdCopyBufferFunc) (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferCopy* pRegions); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdCopyImageFunc) (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageCopy* pRegions); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdBlitImageFunc) (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageBlit* pRegions, VkFilter filter); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdCopyBufferToImageFunc) (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkBufferImageCopy* pRegions); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdCopyImageToBufferFunc) (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferImageCopy* pRegions); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdUpdateBufferFunc) (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdFillBufferFunc) (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, deUint32 data); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdClearColorImageFunc) (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, deUint32 rangeCount, const VkImageSubresourceRange* pRanges); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdClearDepthStencilImageFunc) (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, deUint32 rangeCount, const VkImageSubresourceRange* pRanges); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdClearAttachmentsFunc) (VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkClearAttachment* pAttachments, deUint32 rectCount, const VkClearRect* pRects); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdResolveImageFunc) (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageResolve* pRegions); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetEventFunc) (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdResetEventFunc) (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdWaitEventsFunc) (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); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdPipelineBarrierFunc) (VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, deUint32 memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, deUint32 bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, deUint32 imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdBeginQueryFunc) (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdEndQueryFunc) (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdResetQueryPoolFunc) (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdWriteTimestampFunc) (VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, deUint32 query); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdCopyQueryPoolResultsFunc) (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdPushConstantsFunc) (VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, deUint32 offset, deUint32 size, const void* pValues); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdBeginRenderPassFunc) (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdNextSubpassFunc) (VkCommandBuffer commandBuffer, VkSubpassContents contents); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdEndRenderPassFunc) (VkCommandBuffer commandBuffer); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdExecuteCommandsFunc) (VkCommandBuffer commandBuffer, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* EnumerateInstanceVersionFunc) (deUint32* pApiVersion); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* BindBufferMemory2Func) (VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* BindImageMemory2Func) (VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos); +typedef VKAPI_ATTR void (VKAPI_CALL* GetDeviceGroupPeerMemoryFeaturesFunc) (VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetDeviceMaskFunc) (VkCommandBuffer commandBuffer, deUint32 deviceMask); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdDispatchBaseFunc) (VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* EnumeratePhysicalDeviceGroupsFunc) (VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); +typedef VKAPI_ATTR void (VKAPI_CALL* GetImageMemoryRequirements2Func) (VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); +typedef VKAPI_ATTR void (VKAPI_CALL* GetBufferMemoryRequirements2Func) (VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); +typedef VKAPI_ATTR void (VKAPI_CALL* GetImageSparseMemoryRequirements2Func) (VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); +typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceFeatures2Func) (VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures); +typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceProperties2Func) (VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties); +typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceFormatProperties2Func) (VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceImageFormatProperties2Func) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties); +typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceQueueFamilyProperties2Func) (VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties); +typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceMemoryProperties2Func) (VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties); +typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceSparseImageFormatProperties2Func) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties); +typedef VKAPI_ATTR void (VKAPI_CALL* TrimCommandPoolFunc) (VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags); +typedef VKAPI_ATTR void (VKAPI_CALL* GetDeviceQueue2Func) (VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateSamplerYcbcrConversionFunc) (VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion); +typedef VKAPI_ATTR void (VKAPI_CALL* DestroySamplerYcbcrConversionFunc) (VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateDescriptorUpdateTemplateFunc) (VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); +typedef VKAPI_ATTR void (VKAPI_CALL* DestroyDescriptorUpdateTemplateFunc) (VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator); +typedef VKAPI_ATTR void (VKAPI_CALL* UpdateDescriptorSetWithTemplateFunc) (VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData); +typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceExternalBufferPropertiesFunc) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties); +typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceExternalFencePropertiesFunc) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties); +typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceExternalSemaphorePropertiesFunc) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties); +typedef VKAPI_ATTR void (VKAPI_CALL* GetDescriptorSetLayoutSupportFunc) (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport); +typedef VKAPI_ATTR void (VKAPI_CALL* DestroySurfaceKHRFunc) (VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceSurfaceSupportKHRFunc) (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceSurfaceCapabilitiesKHRFunc) (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceSurfaceFormatsKHRFunc) (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceSurfacePresentModesKHRFunc) (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pPresentModeCount, VkPresentModeKHR* pPresentModes); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateSwapchainKHRFunc) (VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain); +typedef VKAPI_ATTR void (VKAPI_CALL* DestroySwapchainKHRFunc) (VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetSwapchainImagesKHRFunc) (VkDevice device, VkSwapchainKHR swapchain, deUint32* pSwapchainImageCount, VkImage* pSwapchainImages); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* AcquireNextImageKHRFunc) (VkDevice device, VkSwapchainKHR swapchain, deUint64 timeout, VkSemaphore semaphore, VkFence fence, deUint32* pImageIndex); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* QueuePresentKHRFunc) (VkQueue queue, const VkPresentInfoKHR* pPresentInfo); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetDeviceGroupPresentCapabilitiesKHRFunc) (VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetDeviceGroupSurfacePresentModesKHRFunc) (VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDevicePresentRectanglesKHRFunc) (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pRectCount, VkRect2D* pRects); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* AcquireNextImage2KHRFunc) (VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, deUint32* pImageIndex); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceDisplayPropertiesKHRFunc) (VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPropertiesKHR* pProperties); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceDisplayPlanePropertiesKHRFunc) (VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetDisplayPlaneSupportedDisplaysKHRFunc) (VkPhysicalDevice physicalDevice, deUint32 planeIndex, deUint32* pDisplayCount, VkDisplayKHR* pDisplays); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetDisplayModePropertiesKHRFunc) (VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModePropertiesKHR* pProperties); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateDisplayModeKHRFunc) (VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetDisplayPlaneCapabilitiesKHRFunc) (VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, deUint32 planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateDisplayPlaneSurfaceKHRFunc) (VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateSharedSwapchainsKHRFunc) (VkDevice device, deUint32 swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateXlibSurfaceKHRFunc) (VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); +typedef VKAPI_ATTR VkBool32 (VKAPI_CALL* GetPhysicalDeviceXlibPresentationSupportKHRFunc) (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, pt::XlibDisplayPtr dpy, pt::XlibVisualID visualID); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateXcbSurfaceKHRFunc) (VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); +typedef VKAPI_ATTR VkBool32 (VKAPI_CALL* GetPhysicalDeviceXcbPresentationSupportKHRFunc) (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, pt::XcbConnectionPtr connection, pt::XcbVisualid visual_id); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateWaylandSurfaceKHRFunc) (VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); +typedef VKAPI_ATTR VkBool32 (VKAPI_CALL* GetPhysicalDeviceWaylandPresentationSupportKHRFunc) (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, pt::WaylandDisplayPtr display); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateMirSurfaceKHRFunc) (VkInstance instance, const VkMirSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); +typedef VKAPI_ATTR VkBool32 (VKAPI_CALL* GetPhysicalDeviceMirPresentationSupportKHRFunc) (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, pt::MirConnectionPtr connection); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateAndroidSurfaceKHRFunc) (VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateWin32SurfaceKHRFunc) (VkInstance instance, const VkWin32SurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); +typedef VKAPI_ATTR VkBool32 (VKAPI_CALL* GetPhysicalDeviceWin32PresentationSupportKHRFunc) (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex); +typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceFeatures2KHRFunc) (VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures); +typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceFormatProperties2KHRFunc) (VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceImageFormatProperties2KHRFunc) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties); +typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceMemoryProperties2KHRFunc) (VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties); +typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceProperties2KHRFunc) (VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties); +typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceQueueFamilyProperties2KHRFunc) (VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties); +typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceSparseImageFormatProperties2KHRFunc) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdDispatchBaseKHRFunc) (VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetDeviceMaskKHRFunc) (VkCommandBuffer commandBuffer, deUint32 deviceMask); +typedef VKAPI_ATTR void (VKAPI_CALL* GetDeviceGroupPeerMemoryFeaturesKHRFunc) (VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); +typedef VKAPI_ATTR void (VKAPI_CALL* TrimCommandPoolKHRFunc) (VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* EnumeratePhysicalDeviceGroupsKHRFunc) (VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); +typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceExternalBufferPropertiesKHRFunc) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetMemoryWin32HandleKHRFunc) (VkDevice device, const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetMemoryWin32HandlePropertiesKHRFunc) (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, pt::Win32Handle handle, VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetMemoryFdKHRFunc) (VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetMemoryFdPropertiesKHRFunc) (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties); +typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceExternalSemaphorePropertiesKHRFunc) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* ImportSemaphoreWin32HandleKHRFunc) (VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetSemaphoreWin32HandleKHRFunc) (VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* ImportSemaphoreFdKHRFunc) (VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetSemaphoreFdKHRFunc) (VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdPushDescriptorSetKHRFunc) (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 set, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdPushDescriptorSetWithTemplateKHRFunc) (VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, deUint32 set, const void* pData); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateDescriptorUpdateTemplateKHRFunc) (VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); +typedef VKAPI_ATTR void (VKAPI_CALL* DestroyDescriptorUpdateTemplateKHRFunc) (VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator); +typedef VKAPI_ATTR void (VKAPI_CALL* UpdateDescriptorSetWithTemplateKHRFunc) (VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetSwapchainStatusKHRFunc) (VkDevice device, VkSwapchainKHR swapchain); +typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceExternalFencePropertiesKHRFunc) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* ImportFenceWin32HandleKHRFunc) (VkDevice device, const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetFenceWin32HandleKHRFunc) (VkDevice device, const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* ImportFenceFdKHRFunc) (VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetFenceFdKHRFunc) (VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceSurfaceCapabilities2KHRFunc) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceSurfaceFormats2KHRFunc) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, deUint32* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats); +typedef VKAPI_ATTR void (VKAPI_CALL* GetBufferMemoryRequirements2KHRFunc) (VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); +typedef VKAPI_ATTR void (VKAPI_CALL* GetImageMemoryRequirements2KHRFunc) (VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); +typedef VKAPI_ATTR void (VKAPI_CALL* GetImageSparseMemoryRequirements2KHRFunc) (VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateSamplerYcbcrConversionKHRFunc) (VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion); +typedef VKAPI_ATTR void (VKAPI_CALL* DestroySamplerYcbcrConversionKHRFunc) (VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* BindBufferMemory2KHRFunc) (VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* BindImageMemory2KHRFunc) (VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos); +typedef VKAPI_ATTR void (VKAPI_CALL* GetDescriptorSetLayoutSupportKHRFunc) (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateDebugReportCallbackEXTFunc) (VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback); +typedef VKAPI_ATTR void (VKAPI_CALL* DestroyDebugReportCallbackEXTFunc) (VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator); +typedef VKAPI_ATTR void (VKAPI_CALL* DebugReportMessageEXTFunc) (VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, deUint64 object, deUintptr location, deInt32 messageCode, const char* pLayerPrefix, const char* pMessage); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* DebugMarkerSetObjectTagEXTFunc) (VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* DebugMarkerSetObjectNameEXTFunc) (VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdDebugMarkerBeginEXTFunc) (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdDebugMarkerEndEXTFunc) (VkCommandBuffer commandBuffer); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdDebugMarkerInsertEXTFunc) (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdDrawIndirectCountAMDFunc) (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdDrawIndexedIndirectCountAMDFunc) (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceExternalImageFormatPropertiesNVFunc) (VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetMemoryWin32HandleNVFunc) (VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, pt::Win32Handle* pHandle); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateViSurfaceNNFunc) (VkInstance instance, const VkViSurfaceCreateInfoNN* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdProcessCommandsNVXFunc) (VkCommandBuffer commandBuffer, const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdReserveSpaceForCommandsNVXFunc) (VkCommandBuffer commandBuffer, const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateIndirectCommandsLayoutNVXFunc) (VkDevice device, const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout); +typedef VKAPI_ATTR void (VKAPI_CALL* DestroyIndirectCommandsLayoutNVXFunc) (VkDevice device, VkIndirectCommandsLayoutNVX indirectCommandsLayout, const VkAllocationCallbacks* pAllocator); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateObjectTableNVXFunc) (VkDevice device, const VkObjectTableCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkObjectTableNVX* pObjectTable); +typedef VKAPI_ATTR void (VKAPI_CALL* DestroyObjectTableNVXFunc) (VkDevice device, VkObjectTableNVX objectTable, const VkAllocationCallbacks* pAllocator); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* RegisterObjectsNVXFunc) (VkDevice device, VkObjectTableNVX objectTable, deUint32 objectCount, const VkObjectTableEntryNVX* const* ppObjectTableEntries, const deUint32* pObjectIndices); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* UnregisterObjectsNVXFunc) (VkDevice device, VkObjectTableNVX objectTable, deUint32 objectCount, const VkObjectEntryTypeNVX* pObjectEntryTypes, const deUint32* pObjectIndices); +typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceGeneratedCommandsPropertiesNVXFunc) (VkPhysicalDevice physicalDevice, VkDeviceGeneratedCommandsFeaturesNVX* pFeatures, VkDeviceGeneratedCommandsLimitsNVX* pLimits); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetViewportWScalingNVFunc) (VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewportWScalingNV* pViewportWScalings); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* ReleaseDisplayEXTFunc) (VkPhysicalDevice physicalDevice, VkDisplayKHR display); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* AcquireXlibDisplayEXTFunc) (VkPhysicalDevice physicalDevice, pt::XlibDisplayPtr dpy, VkDisplayKHR display); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetRandROutputDisplayEXTFunc) (VkPhysicalDevice physicalDevice, pt::XlibDisplayPtr dpy, pt::RROutput rrOutput, VkDisplayKHR* pDisplay); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceSurfaceCapabilities2EXTFunc) (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* DisplayPowerControlEXTFunc) (VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* RegisterDeviceEventEXTFunc) (VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* RegisterDisplayEventEXTFunc) (VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetSwapchainCounterEXTFunc) (VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, deUint64* pCounterValue); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetRefreshCycleDurationGOOGLEFunc) (VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPastPresentationTimingGOOGLEFunc) (VkDevice device, VkSwapchainKHR swapchain, deUint32* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetDiscardRectangleEXTFunc) (VkCommandBuffer commandBuffer, deUint32 firstDiscardRectangle, deUint32 discardRectangleCount, const VkRect2D* pDiscardRectangles); +typedef VKAPI_ATTR void (VKAPI_CALL* SetHdrMetadataEXTFunc) (VkDevice device, deUint32 swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateIOSSurfaceMVKFunc) (VkInstance instance, const VkIOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateMacOSSurfaceMVKFunc) (VkInstance instance, const VkMacOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); +typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetSampleLocationsEXTFunc) (VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo); +typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceMultisamplePropertiesEXTFunc) (VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateValidationCacheEXTFunc) (VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache); +typedef VKAPI_ATTR void (VKAPI_CALL* DestroyValidationCacheEXTFunc) (VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* MergeValidationCachesEXTFunc) (VkDevice device, VkValidationCacheEXT dstCache, deUint32 srcCacheCount, const VkValidationCacheEXT* pSrcCaches); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetValidationCacheDataEXTFunc) (VkDevice device, VkValidationCacheEXT validationCache, deUintptr* pDataSize, void* pData); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetAndroidHardwareBufferPropertiesANDROIDFunc) (VkDevice device, const struct pt::AndroidHardwareBufferPtr buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties); +typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetMemoryAndroidHardwareBufferANDROIDFunc) (VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct pt::AndroidHardwareBufferPtr* pBuffer); diff --git a/external/vulkancts/framework/vulkan/vkGetStructureTypeImpl.inl b/external/vulkancts/framework/vulkan/vkGetStructureTypeImpl.inl index fa7b0ef..8fd9fb2 100644 --- a/external/vulkancts/framework/vulkan/vkGetStructureTypeImpl.inl +++ b/external/vulkancts/framework/vulkan/vkGetStructureTypeImpl.inl @@ -1026,19 +1026,19 @@ template<> VkStructureType getStructureType VkStructureType getStructureType (void) +template<> VkStructureType getStructureType (void) { - return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ANDROID_HARDWARE_BUFFER_INFO_ANDROID; + return VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID; } -template<> VkStructureType getStructureType (void) +template<> VkStructureType getStructureType (void) { - return VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID; + return VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID; } -template<> VkStructureType getStructureType (void) +template<> VkStructureType getStructureType (void) { - return VK_STRUCTURE_TYPE_MEMORY_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID; + return VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID; } template<> VkStructureType getStructureType (void) @@ -1051,11 +1051,6 @@ template<> VkStructureType getStructureType VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_EXTERNAL_FORMAT_PROPERTIES_ANDROID; -} - template<> VkStructureType getStructureType (void) { return VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID; diff --git a/external/vulkancts/framework/vulkan/vkInitDeviceFunctionPointers.inl b/external/vulkancts/framework/vulkan/vkInitDeviceFunctionPointers.inl index 7c83c1c..dccca72 100644 --- a/external/vulkancts/framework/vulkan/vkInitDeviceFunctionPointers.inl +++ b/external/vulkancts/framework/vulkan/vkInitDeviceFunctionPointers.inl @@ -1,225 +1,225 @@ /* WARNING: This is auto-generated file. Do not modify, since changes will * be lost! Modify the generating script instead. */ -m_vk.destroyDevice = (DestroyDeviceFunc) GET_PROC_ADDR("vkDestroyDevice"); -m_vk.getDeviceQueue = (GetDeviceQueueFunc) GET_PROC_ADDR("vkGetDeviceQueue"); -m_vk.queueSubmit = (QueueSubmitFunc) GET_PROC_ADDR("vkQueueSubmit"); -m_vk.queueWaitIdle = (QueueWaitIdleFunc) GET_PROC_ADDR("vkQueueWaitIdle"); -m_vk.deviceWaitIdle = (DeviceWaitIdleFunc) GET_PROC_ADDR("vkDeviceWaitIdle"); -m_vk.allocateMemory = (AllocateMemoryFunc) GET_PROC_ADDR("vkAllocateMemory"); -m_vk.freeMemory = (FreeMemoryFunc) GET_PROC_ADDR("vkFreeMemory"); -m_vk.mapMemory = (MapMemoryFunc) GET_PROC_ADDR("vkMapMemory"); -m_vk.unmapMemory = (UnmapMemoryFunc) GET_PROC_ADDR("vkUnmapMemory"); -m_vk.flushMappedMemoryRanges = (FlushMappedMemoryRangesFunc) GET_PROC_ADDR("vkFlushMappedMemoryRanges"); -m_vk.invalidateMappedMemoryRanges = (InvalidateMappedMemoryRangesFunc) GET_PROC_ADDR("vkInvalidateMappedMemoryRanges"); -m_vk.getDeviceMemoryCommitment = (GetDeviceMemoryCommitmentFunc) GET_PROC_ADDR("vkGetDeviceMemoryCommitment"); -m_vk.bindBufferMemory = (BindBufferMemoryFunc) GET_PROC_ADDR("vkBindBufferMemory"); -m_vk.bindImageMemory = (BindImageMemoryFunc) GET_PROC_ADDR("vkBindImageMemory"); -m_vk.getBufferMemoryRequirements = (GetBufferMemoryRequirementsFunc) GET_PROC_ADDR("vkGetBufferMemoryRequirements"); -m_vk.getImageMemoryRequirements = (GetImageMemoryRequirementsFunc) GET_PROC_ADDR("vkGetImageMemoryRequirements"); -m_vk.getImageSparseMemoryRequirements = (GetImageSparseMemoryRequirementsFunc) GET_PROC_ADDR("vkGetImageSparseMemoryRequirements"); -m_vk.queueBindSparse = (QueueBindSparseFunc) GET_PROC_ADDR("vkQueueBindSparse"); -m_vk.createFence = (CreateFenceFunc) GET_PROC_ADDR("vkCreateFence"); -m_vk.destroyFence = (DestroyFenceFunc) GET_PROC_ADDR("vkDestroyFence"); -m_vk.resetFences = (ResetFencesFunc) GET_PROC_ADDR("vkResetFences"); -m_vk.getFenceStatus = (GetFenceStatusFunc) GET_PROC_ADDR("vkGetFenceStatus"); -m_vk.waitForFences = (WaitForFencesFunc) GET_PROC_ADDR("vkWaitForFences"); -m_vk.createSemaphore = (CreateSemaphoreFunc) GET_PROC_ADDR("vkCreateSemaphore"); -m_vk.destroySemaphore = (DestroySemaphoreFunc) GET_PROC_ADDR("vkDestroySemaphore"); -m_vk.createEvent = (CreateEventFunc) GET_PROC_ADDR("vkCreateEvent"); -m_vk.destroyEvent = (DestroyEventFunc) GET_PROC_ADDR("vkDestroyEvent"); -m_vk.getEventStatus = (GetEventStatusFunc) GET_PROC_ADDR("vkGetEventStatus"); -m_vk.setEvent = (SetEventFunc) GET_PROC_ADDR("vkSetEvent"); -m_vk.resetEvent = (ResetEventFunc) GET_PROC_ADDR("vkResetEvent"); -m_vk.createQueryPool = (CreateQueryPoolFunc) GET_PROC_ADDR("vkCreateQueryPool"); -m_vk.destroyQueryPool = (DestroyQueryPoolFunc) GET_PROC_ADDR("vkDestroyQueryPool"); -m_vk.getQueryPoolResults = (GetQueryPoolResultsFunc) GET_PROC_ADDR("vkGetQueryPoolResults"); -m_vk.createBuffer = (CreateBufferFunc) GET_PROC_ADDR("vkCreateBuffer"); -m_vk.destroyBuffer = (DestroyBufferFunc) GET_PROC_ADDR("vkDestroyBuffer"); -m_vk.createBufferView = (CreateBufferViewFunc) GET_PROC_ADDR("vkCreateBufferView"); -m_vk.destroyBufferView = (DestroyBufferViewFunc) GET_PROC_ADDR("vkDestroyBufferView"); -m_vk.createImage = (CreateImageFunc) GET_PROC_ADDR("vkCreateImage"); -m_vk.destroyImage = (DestroyImageFunc) GET_PROC_ADDR("vkDestroyImage"); -m_vk.getImageSubresourceLayout = (GetImageSubresourceLayoutFunc) GET_PROC_ADDR("vkGetImageSubresourceLayout"); -m_vk.createImageView = (CreateImageViewFunc) GET_PROC_ADDR("vkCreateImageView"); -m_vk.destroyImageView = (DestroyImageViewFunc) GET_PROC_ADDR("vkDestroyImageView"); -m_vk.createShaderModule = (CreateShaderModuleFunc) GET_PROC_ADDR("vkCreateShaderModule"); -m_vk.destroyShaderModule = (DestroyShaderModuleFunc) GET_PROC_ADDR("vkDestroyShaderModule"); -m_vk.createPipelineCache = (CreatePipelineCacheFunc) GET_PROC_ADDR("vkCreatePipelineCache"); -m_vk.destroyPipelineCache = (DestroyPipelineCacheFunc) GET_PROC_ADDR("vkDestroyPipelineCache"); -m_vk.getPipelineCacheData = (GetPipelineCacheDataFunc) GET_PROC_ADDR("vkGetPipelineCacheData"); -m_vk.mergePipelineCaches = (MergePipelineCachesFunc) GET_PROC_ADDR("vkMergePipelineCaches"); -m_vk.createGraphicsPipelines = (CreateGraphicsPipelinesFunc) GET_PROC_ADDR("vkCreateGraphicsPipelines"); -m_vk.createComputePipelines = (CreateComputePipelinesFunc) GET_PROC_ADDR("vkCreateComputePipelines"); -m_vk.destroyPipeline = (DestroyPipelineFunc) GET_PROC_ADDR("vkDestroyPipeline"); -m_vk.createPipelineLayout = (CreatePipelineLayoutFunc) GET_PROC_ADDR("vkCreatePipelineLayout"); -m_vk.destroyPipelineLayout = (DestroyPipelineLayoutFunc) GET_PROC_ADDR("vkDestroyPipelineLayout"); -m_vk.createSampler = (CreateSamplerFunc) GET_PROC_ADDR("vkCreateSampler"); -m_vk.destroySampler = (DestroySamplerFunc) GET_PROC_ADDR("vkDestroySampler"); -m_vk.createDescriptorSetLayout = (CreateDescriptorSetLayoutFunc) GET_PROC_ADDR("vkCreateDescriptorSetLayout"); -m_vk.destroyDescriptorSetLayout = (DestroyDescriptorSetLayoutFunc) GET_PROC_ADDR("vkDestroyDescriptorSetLayout"); -m_vk.createDescriptorPool = (CreateDescriptorPoolFunc) GET_PROC_ADDR("vkCreateDescriptorPool"); -m_vk.destroyDescriptorPool = (DestroyDescriptorPoolFunc) GET_PROC_ADDR("vkDestroyDescriptorPool"); -m_vk.resetDescriptorPool = (ResetDescriptorPoolFunc) GET_PROC_ADDR("vkResetDescriptorPool"); -m_vk.allocateDescriptorSets = (AllocateDescriptorSetsFunc) GET_PROC_ADDR("vkAllocateDescriptorSets"); -m_vk.freeDescriptorSets = (FreeDescriptorSetsFunc) GET_PROC_ADDR("vkFreeDescriptorSets"); -m_vk.updateDescriptorSets = (UpdateDescriptorSetsFunc) GET_PROC_ADDR("vkUpdateDescriptorSets"); -m_vk.createFramebuffer = (CreateFramebufferFunc) GET_PROC_ADDR("vkCreateFramebuffer"); -m_vk.destroyFramebuffer = (DestroyFramebufferFunc) GET_PROC_ADDR("vkDestroyFramebuffer"); -m_vk.createRenderPass = (CreateRenderPassFunc) GET_PROC_ADDR("vkCreateRenderPass"); -m_vk.destroyRenderPass = (DestroyRenderPassFunc) GET_PROC_ADDR("vkDestroyRenderPass"); -m_vk.getRenderAreaGranularity = (GetRenderAreaGranularityFunc) GET_PROC_ADDR("vkGetRenderAreaGranularity"); -m_vk.createCommandPool = (CreateCommandPoolFunc) GET_PROC_ADDR("vkCreateCommandPool"); -m_vk.destroyCommandPool = (DestroyCommandPoolFunc) GET_PROC_ADDR("vkDestroyCommandPool"); -m_vk.resetCommandPool = (ResetCommandPoolFunc) GET_PROC_ADDR("vkResetCommandPool"); -m_vk.allocateCommandBuffers = (AllocateCommandBuffersFunc) GET_PROC_ADDR("vkAllocateCommandBuffers"); -m_vk.freeCommandBuffers = (FreeCommandBuffersFunc) GET_PROC_ADDR("vkFreeCommandBuffers"); -m_vk.beginCommandBuffer = (BeginCommandBufferFunc) GET_PROC_ADDR("vkBeginCommandBuffer"); -m_vk.endCommandBuffer = (EndCommandBufferFunc) GET_PROC_ADDR("vkEndCommandBuffer"); -m_vk.resetCommandBuffer = (ResetCommandBufferFunc) GET_PROC_ADDR("vkResetCommandBuffer"); -m_vk.cmdBindPipeline = (CmdBindPipelineFunc) GET_PROC_ADDR("vkCmdBindPipeline"); -m_vk.cmdSetViewport = (CmdSetViewportFunc) GET_PROC_ADDR("vkCmdSetViewport"); -m_vk.cmdSetScissor = (CmdSetScissorFunc) GET_PROC_ADDR("vkCmdSetScissor"); -m_vk.cmdSetLineWidth = (CmdSetLineWidthFunc) GET_PROC_ADDR("vkCmdSetLineWidth"); -m_vk.cmdSetDepthBias = (CmdSetDepthBiasFunc) GET_PROC_ADDR("vkCmdSetDepthBias"); -m_vk.cmdSetBlendConstants = (CmdSetBlendConstantsFunc) GET_PROC_ADDR("vkCmdSetBlendConstants"); -m_vk.cmdSetDepthBounds = (CmdSetDepthBoundsFunc) GET_PROC_ADDR("vkCmdSetDepthBounds"); -m_vk.cmdSetStencilCompareMask = (CmdSetStencilCompareMaskFunc) GET_PROC_ADDR("vkCmdSetStencilCompareMask"); -m_vk.cmdSetStencilWriteMask = (CmdSetStencilWriteMaskFunc) GET_PROC_ADDR("vkCmdSetStencilWriteMask"); -m_vk.cmdSetStencilReference = (CmdSetStencilReferenceFunc) GET_PROC_ADDR("vkCmdSetStencilReference"); -m_vk.cmdBindDescriptorSets = (CmdBindDescriptorSetsFunc) GET_PROC_ADDR("vkCmdBindDescriptorSets"); -m_vk.cmdBindIndexBuffer = (CmdBindIndexBufferFunc) GET_PROC_ADDR("vkCmdBindIndexBuffer"); -m_vk.cmdBindVertexBuffers = (CmdBindVertexBuffersFunc) GET_PROC_ADDR("vkCmdBindVertexBuffers"); -m_vk.cmdDraw = (CmdDrawFunc) GET_PROC_ADDR("vkCmdDraw"); -m_vk.cmdDrawIndexed = (CmdDrawIndexedFunc) GET_PROC_ADDR("vkCmdDrawIndexed"); -m_vk.cmdDrawIndirect = (CmdDrawIndirectFunc) GET_PROC_ADDR("vkCmdDrawIndirect"); -m_vk.cmdDrawIndexedIndirect = (CmdDrawIndexedIndirectFunc) GET_PROC_ADDR("vkCmdDrawIndexedIndirect"); -m_vk.cmdDispatch = (CmdDispatchFunc) GET_PROC_ADDR("vkCmdDispatch"); -m_vk.cmdDispatchIndirect = (CmdDispatchIndirectFunc) GET_PROC_ADDR("vkCmdDispatchIndirect"); -m_vk.cmdCopyBuffer = (CmdCopyBufferFunc) GET_PROC_ADDR("vkCmdCopyBuffer"); -m_vk.cmdCopyImage = (CmdCopyImageFunc) GET_PROC_ADDR("vkCmdCopyImage"); -m_vk.cmdBlitImage = (CmdBlitImageFunc) GET_PROC_ADDR("vkCmdBlitImage"); -m_vk.cmdCopyBufferToImage = (CmdCopyBufferToImageFunc) GET_PROC_ADDR("vkCmdCopyBufferToImage"); -m_vk.cmdCopyImageToBuffer = (CmdCopyImageToBufferFunc) GET_PROC_ADDR("vkCmdCopyImageToBuffer"); -m_vk.cmdUpdateBuffer = (CmdUpdateBufferFunc) GET_PROC_ADDR("vkCmdUpdateBuffer"); -m_vk.cmdFillBuffer = (CmdFillBufferFunc) GET_PROC_ADDR("vkCmdFillBuffer"); -m_vk.cmdClearColorImage = (CmdClearColorImageFunc) GET_PROC_ADDR("vkCmdClearColorImage"); -m_vk.cmdClearDepthStencilImage = (CmdClearDepthStencilImageFunc) GET_PROC_ADDR("vkCmdClearDepthStencilImage"); -m_vk.cmdClearAttachments = (CmdClearAttachmentsFunc) GET_PROC_ADDR("vkCmdClearAttachments"); -m_vk.cmdResolveImage = (CmdResolveImageFunc) GET_PROC_ADDR("vkCmdResolveImage"); -m_vk.cmdSetEvent = (CmdSetEventFunc) GET_PROC_ADDR("vkCmdSetEvent"); -m_vk.cmdResetEvent = (CmdResetEventFunc) GET_PROC_ADDR("vkCmdResetEvent"); -m_vk.cmdWaitEvents = (CmdWaitEventsFunc) GET_PROC_ADDR("vkCmdWaitEvents"); -m_vk.cmdPipelineBarrier = (CmdPipelineBarrierFunc) GET_PROC_ADDR("vkCmdPipelineBarrier"); -m_vk.cmdBeginQuery = (CmdBeginQueryFunc) GET_PROC_ADDR("vkCmdBeginQuery"); -m_vk.cmdEndQuery = (CmdEndQueryFunc) GET_PROC_ADDR("vkCmdEndQuery"); -m_vk.cmdResetQueryPool = (CmdResetQueryPoolFunc) GET_PROC_ADDR("vkCmdResetQueryPool"); -m_vk.cmdWriteTimestamp = (CmdWriteTimestampFunc) GET_PROC_ADDR("vkCmdWriteTimestamp"); -m_vk.cmdCopyQueryPoolResults = (CmdCopyQueryPoolResultsFunc) GET_PROC_ADDR("vkCmdCopyQueryPoolResults"); -m_vk.cmdPushConstants = (CmdPushConstantsFunc) GET_PROC_ADDR("vkCmdPushConstants"); -m_vk.cmdBeginRenderPass = (CmdBeginRenderPassFunc) GET_PROC_ADDR("vkCmdBeginRenderPass"); -m_vk.cmdNextSubpass = (CmdNextSubpassFunc) GET_PROC_ADDR("vkCmdNextSubpass"); -m_vk.cmdEndRenderPass = (CmdEndRenderPassFunc) GET_PROC_ADDR("vkCmdEndRenderPass"); -m_vk.cmdExecuteCommands = (CmdExecuteCommandsFunc) GET_PROC_ADDR("vkCmdExecuteCommands"); -m_vk.bindBufferMemory2 = (BindBufferMemory2Func) GET_PROC_ADDR("vkBindBufferMemory2"); +m_vk.destroyDevice = (DestroyDeviceFunc) GET_PROC_ADDR("vkDestroyDevice"); +m_vk.getDeviceQueue = (GetDeviceQueueFunc) GET_PROC_ADDR("vkGetDeviceQueue"); +m_vk.queueSubmit = (QueueSubmitFunc) GET_PROC_ADDR("vkQueueSubmit"); +m_vk.queueWaitIdle = (QueueWaitIdleFunc) GET_PROC_ADDR("vkQueueWaitIdle"); +m_vk.deviceWaitIdle = (DeviceWaitIdleFunc) GET_PROC_ADDR("vkDeviceWaitIdle"); +m_vk.allocateMemory = (AllocateMemoryFunc) GET_PROC_ADDR("vkAllocateMemory"); +m_vk.freeMemory = (FreeMemoryFunc) GET_PROC_ADDR("vkFreeMemory"); +m_vk.mapMemory = (MapMemoryFunc) GET_PROC_ADDR("vkMapMemory"); +m_vk.unmapMemory = (UnmapMemoryFunc) GET_PROC_ADDR("vkUnmapMemory"); +m_vk.flushMappedMemoryRanges = (FlushMappedMemoryRangesFunc) GET_PROC_ADDR("vkFlushMappedMemoryRanges"); +m_vk.invalidateMappedMemoryRanges = (InvalidateMappedMemoryRangesFunc) GET_PROC_ADDR("vkInvalidateMappedMemoryRanges"); +m_vk.getDeviceMemoryCommitment = (GetDeviceMemoryCommitmentFunc) GET_PROC_ADDR("vkGetDeviceMemoryCommitment"); +m_vk.bindBufferMemory = (BindBufferMemoryFunc) GET_PROC_ADDR("vkBindBufferMemory"); +m_vk.bindImageMemory = (BindImageMemoryFunc) GET_PROC_ADDR("vkBindImageMemory"); +m_vk.getBufferMemoryRequirements = (GetBufferMemoryRequirementsFunc) GET_PROC_ADDR("vkGetBufferMemoryRequirements"); +m_vk.getImageMemoryRequirements = (GetImageMemoryRequirementsFunc) GET_PROC_ADDR("vkGetImageMemoryRequirements"); +m_vk.getImageSparseMemoryRequirements = (GetImageSparseMemoryRequirementsFunc) GET_PROC_ADDR("vkGetImageSparseMemoryRequirements"); +m_vk.queueBindSparse = (QueueBindSparseFunc) GET_PROC_ADDR("vkQueueBindSparse"); +m_vk.createFence = (CreateFenceFunc) GET_PROC_ADDR("vkCreateFence"); +m_vk.destroyFence = (DestroyFenceFunc) GET_PROC_ADDR("vkDestroyFence"); +m_vk.resetFences = (ResetFencesFunc) GET_PROC_ADDR("vkResetFences"); +m_vk.getFenceStatus = (GetFenceStatusFunc) GET_PROC_ADDR("vkGetFenceStatus"); +m_vk.waitForFences = (WaitForFencesFunc) GET_PROC_ADDR("vkWaitForFences"); +m_vk.createSemaphore = (CreateSemaphoreFunc) GET_PROC_ADDR("vkCreateSemaphore"); +m_vk.destroySemaphore = (DestroySemaphoreFunc) GET_PROC_ADDR("vkDestroySemaphore"); +m_vk.createEvent = (CreateEventFunc) GET_PROC_ADDR("vkCreateEvent"); +m_vk.destroyEvent = (DestroyEventFunc) GET_PROC_ADDR("vkDestroyEvent"); +m_vk.getEventStatus = (GetEventStatusFunc) GET_PROC_ADDR("vkGetEventStatus"); +m_vk.setEvent = (SetEventFunc) GET_PROC_ADDR("vkSetEvent"); +m_vk.resetEvent = (ResetEventFunc) GET_PROC_ADDR("vkResetEvent"); +m_vk.createQueryPool = (CreateQueryPoolFunc) GET_PROC_ADDR("vkCreateQueryPool"); +m_vk.destroyQueryPool = (DestroyQueryPoolFunc) GET_PROC_ADDR("vkDestroyQueryPool"); +m_vk.getQueryPoolResults = (GetQueryPoolResultsFunc) GET_PROC_ADDR("vkGetQueryPoolResults"); +m_vk.createBuffer = (CreateBufferFunc) GET_PROC_ADDR("vkCreateBuffer"); +m_vk.destroyBuffer = (DestroyBufferFunc) GET_PROC_ADDR("vkDestroyBuffer"); +m_vk.createBufferView = (CreateBufferViewFunc) GET_PROC_ADDR("vkCreateBufferView"); +m_vk.destroyBufferView = (DestroyBufferViewFunc) GET_PROC_ADDR("vkDestroyBufferView"); +m_vk.createImage = (CreateImageFunc) GET_PROC_ADDR("vkCreateImage"); +m_vk.destroyImage = (DestroyImageFunc) GET_PROC_ADDR("vkDestroyImage"); +m_vk.getImageSubresourceLayout = (GetImageSubresourceLayoutFunc) GET_PROC_ADDR("vkGetImageSubresourceLayout"); +m_vk.createImageView = (CreateImageViewFunc) GET_PROC_ADDR("vkCreateImageView"); +m_vk.destroyImageView = (DestroyImageViewFunc) GET_PROC_ADDR("vkDestroyImageView"); +m_vk.createShaderModule = (CreateShaderModuleFunc) GET_PROC_ADDR("vkCreateShaderModule"); +m_vk.destroyShaderModule = (DestroyShaderModuleFunc) GET_PROC_ADDR("vkDestroyShaderModule"); +m_vk.createPipelineCache = (CreatePipelineCacheFunc) GET_PROC_ADDR("vkCreatePipelineCache"); +m_vk.destroyPipelineCache = (DestroyPipelineCacheFunc) GET_PROC_ADDR("vkDestroyPipelineCache"); +m_vk.getPipelineCacheData = (GetPipelineCacheDataFunc) GET_PROC_ADDR("vkGetPipelineCacheData"); +m_vk.mergePipelineCaches = (MergePipelineCachesFunc) GET_PROC_ADDR("vkMergePipelineCaches"); +m_vk.createGraphicsPipelines = (CreateGraphicsPipelinesFunc) GET_PROC_ADDR("vkCreateGraphicsPipelines"); +m_vk.createComputePipelines = (CreateComputePipelinesFunc) GET_PROC_ADDR("vkCreateComputePipelines"); +m_vk.destroyPipeline = (DestroyPipelineFunc) GET_PROC_ADDR("vkDestroyPipeline"); +m_vk.createPipelineLayout = (CreatePipelineLayoutFunc) GET_PROC_ADDR("vkCreatePipelineLayout"); +m_vk.destroyPipelineLayout = (DestroyPipelineLayoutFunc) GET_PROC_ADDR("vkDestroyPipelineLayout"); +m_vk.createSampler = (CreateSamplerFunc) GET_PROC_ADDR("vkCreateSampler"); +m_vk.destroySampler = (DestroySamplerFunc) GET_PROC_ADDR("vkDestroySampler"); +m_vk.createDescriptorSetLayout = (CreateDescriptorSetLayoutFunc) GET_PROC_ADDR("vkCreateDescriptorSetLayout"); +m_vk.destroyDescriptorSetLayout = (DestroyDescriptorSetLayoutFunc) GET_PROC_ADDR("vkDestroyDescriptorSetLayout"); +m_vk.createDescriptorPool = (CreateDescriptorPoolFunc) GET_PROC_ADDR("vkCreateDescriptorPool"); +m_vk.destroyDescriptorPool = (DestroyDescriptorPoolFunc) GET_PROC_ADDR("vkDestroyDescriptorPool"); +m_vk.resetDescriptorPool = (ResetDescriptorPoolFunc) GET_PROC_ADDR("vkResetDescriptorPool"); +m_vk.allocateDescriptorSets = (AllocateDescriptorSetsFunc) GET_PROC_ADDR("vkAllocateDescriptorSets"); +m_vk.freeDescriptorSets = (FreeDescriptorSetsFunc) GET_PROC_ADDR("vkFreeDescriptorSets"); +m_vk.updateDescriptorSets = (UpdateDescriptorSetsFunc) GET_PROC_ADDR("vkUpdateDescriptorSets"); +m_vk.createFramebuffer = (CreateFramebufferFunc) GET_PROC_ADDR("vkCreateFramebuffer"); +m_vk.destroyFramebuffer = (DestroyFramebufferFunc) GET_PROC_ADDR("vkDestroyFramebuffer"); +m_vk.createRenderPass = (CreateRenderPassFunc) GET_PROC_ADDR("vkCreateRenderPass"); +m_vk.destroyRenderPass = (DestroyRenderPassFunc) GET_PROC_ADDR("vkDestroyRenderPass"); +m_vk.getRenderAreaGranularity = (GetRenderAreaGranularityFunc) GET_PROC_ADDR("vkGetRenderAreaGranularity"); +m_vk.createCommandPool = (CreateCommandPoolFunc) GET_PROC_ADDR("vkCreateCommandPool"); +m_vk.destroyCommandPool = (DestroyCommandPoolFunc) GET_PROC_ADDR("vkDestroyCommandPool"); +m_vk.resetCommandPool = (ResetCommandPoolFunc) GET_PROC_ADDR("vkResetCommandPool"); +m_vk.allocateCommandBuffers = (AllocateCommandBuffersFunc) GET_PROC_ADDR("vkAllocateCommandBuffers"); +m_vk.freeCommandBuffers = (FreeCommandBuffersFunc) GET_PROC_ADDR("vkFreeCommandBuffers"); +m_vk.beginCommandBuffer = (BeginCommandBufferFunc) GET_PROC_ADDR("vkBeginCommandBuffer"); +m_vk.endCommandBuffer = (EndCommandBufferFunc) GET_PROC_ADDR("vkEndCommandBuffer"); +m_vk.resetCommandBuffer = (ResetCommandBufferFunc) GET_PROC_ADDR("vkResetCommandBuffer"); +m_vk.cmdBindPipeline = (CmdBindPipelineFunc) GET_PROC_ADDR("vkCmdBindPipeline"); +m_vk.cmdSetViewport = (CmdSetViewportFunc) GET_PROC_ADDR("vkCmdSetViewport"); +m_vk.cmdSetScissor = (CmdSetScissorFunc) GET_PROC_ADDR("vkCmdSetScissor"); +m_vk.cmdSetLineWidth = (CmdSetLineWidthFunc) GET_PROC_ADDR("vkCmdSetLineWidth"); +m_vk.cmdSetDepthBias = (CmdSetDepthBiasFunc) GET_PROC_ADDR("vkCmdSetDepthBias"); +m_vk.cmdSetBlendConstants = (CmdSetBlendConstantsFunc) GET_PROC_ADDR("vkCmdSetBlendConstants"); +m_vk.cmdSetDepthBounds = (CmdSetDepthBoundsFunc) GET_PROC_ADDR("vkCmdSetDepthBounds"); +m_vk.cmdSetStencilCompareMask = (CmdSetStencilCompareMaskFunc) GET_PROC_ADDR("vkCmdSetStencilCompareMask"); +m_vk.cmdSetStencilWriteMask = (CmdSetStencilWriteMaskFunc) GET_PROC_ADDR("vkCmdSetStencilWriteMask"); +m_vk.cmdSetStencilReference = (CmdSetStencilReferenceFunc) GET_PROC_ADDR("vkCmdSetStencilReference"); +m_vk.cmdBindDescriptorSets = (CmdBindDescriptorSetsFunc) GET_PROC_ADDR("vkCmdBindDescriptorSets"); +m_vk.cmdBindIndexBuffer = (CmdBindIndexBufferFunc) GET_PROC_ADDR("vkCmdBindIndexBuffer"); +m_vk.cmdBindVertexBuffers = (CmdBindVertexBuffersFunc) GET_PROC_ADDR("vkCmdBindVertexBuffers"); +m_vk.cmdDraw = (CmdDrawFunc) GET_PROC_ADDR("vkCmdDraw"); +m_vk.cmdDrawIndexed = (CmdDrawIndexedFunc) GET_PROC_ADDR("vkCmdDrawIndexed"); +m_vk.cmdDrawIndirect = (CmdDrawIndirectFunc) GET_PROC_ADDR("vkCmdDrawIndirect"); +m_vk.cmdDrawIndexedIndirect = (CmdDrawIndexedIndirectFunc) GET_PROC_ADDR("vkCmdDrawIndexedIndirect"); +m_vk.cmdDispatch = (CmdDispatchFunc) GET_PROC_ADDR("vkCmdDispatch"); +m_vk.cmdDispatchIndirect = (CmdDispatchIndirectFunc) GET_PROC_ADDR("vkCmdDispatchIndirect"); +m_vk.cmdCopyBuffer = (CmdCopyBufferFunc) GET_PROC_ADDR("vkCmdCopyBuffer"); +m_vk.cmdCopyImage = (CmdCopyImageFunc) GET_PROC_ADDR("vkCmdCopyImage"); +m_vk.cmdBlitImage = (CmdBlitImageFunc) GET_PROC_ADDR("vkCmdBlitImage"); +m_vk.cmdCopyBufferToImage = (CmdCopyBufferToImageFunc) GET_PROC_ADDR("vkCmdCopyBufferToImage"); +m_vk.cmdCopyImageToBuffer = (CmdCopyImageToBufferFunc) GET_PROC_ADDR("vkCmdCopyImageToBuffer"); +m_vk.cmdUpdateBuffer = (CmdUpdateBufferFunc) GET_PROC_ADDR("vkCmdUpdateBuffer"); +m_vk.cmdFillBuffer = (CmdFillBufferFunc) GET_PROC_ADDR("vkCmdFillBuffer"); +m_vk.cmdClearColorImage = (CmdClearColorImageFunc) GET_PROC_ADDR("vkCmdClearColorImage"); +m_vk.cmdClearDepthStencilImage = (CmdClearDepthStencilImageFunc) GET_PROC_ADDR("vkCmdClearDepthStencilImage"); +m_vk.cmdClearAttachments = (CmdClearAttachmentsFunc) GET_PROC_ADDR("vkCmdClearAttachments"); +m_vk.cmdResolveImage = (CmdResolveImageFunc) GET_PROC_ADDR("vkCmdResolveImage"); +m_vk.cmdSetEvent = (CmdSetEventFunc) GET_PROC_ADDR("vkCmdSetEvent"); +m_vk.cmdResetEvent = (CmdResetEventFunc) GET_PROC_ADDR("vkCmdResetEvent"); +m_vk.cmdWaitEvents = (CmdWaitEventsFunc) GET_PROC_ADDR("vkCmdWaitEvents"); +m_vk.cmdPipelineBarrier = (CmdPipelineBarrierFunc) GET_PROC_ADDR("vkCmdPipelineBarrier"); +m_vk.cmdBeginQuery = (CmdBeginQueryFunc) GET_PROC_ADDR("vkCmdBeginQuery"); +m_vk.cmdEndQuery = (CmdEndQueryFunc) GET_PROC_ADDR("vkCmdEndQuery"); +m_vk.cmdResetQueryPool = (CmdResetQueryPoolFunc) GET_PROC_ADDR("vkCmdResetQueryPool"); +m_vk.cmdWriteTimestamp = (CmdWriteTimestampFunc) GET_PROC_ADDR("vkCmdWriteTimestamp"); +m_vk.cmdCopyQueryPoolResults = (CmdCopyQueryPoolResultsFunc) GET_PROC_ADDR("vkCmdCopyQueryPoolResults"); +m_vk.cmdPushConstants = (CmdPushConstantsFunc) GET_PROC_ADDR("vkCmdPushConstants"); +m_vk.cmdBeginRenderPass = (CmdBeginRenderPassFunc) GET_PROC_ADDR("vkCmdBeginRenderPass"); +m_vk.cmdNextSubpass = (CmdNextSubpassFunc) GET_PROC_ADDR("vkCmdNextSubpass"); +m_vk.cmdEndRenderPass = (CmdEndRenderPassFunc) GET_PROC_ADDR("vkCmdEndRenderPass"); +m_vk.cmdExecuteCommands = (CmdExecuteCommandsFunc) GET_PROC_ADDR("vkCmdExecuteCommands"); +m_vk.bindBufferMemory2 = (BindBufferMemory2Func) GET_PROC_ADDR("vkBindBufferMemory2"); if (!m_vk.bindBufferMemory2) - m_vk.bindBufferMemory2 = (BindBufferMemory2Func) GET_PROC_ADDR("vkBindBufferMemory2KHR"); -m_vk.bindImageMemory2 = (BindImageMemory2Func) GET_PROC_ADDR("vkBindImageMemory2"); + m_vk.bindBufferMemory2 = (BindBufferMemory2Func) GET_PROC_ADDR("vkBindBufferMemory2KHR"); +m_vk.bindImageMemory2 = (BindImageMemory2Func) GET_PROC_ADDR("vkBindImageMemory2"); if (!m_vk.bindImageMemory2) - m_vk.bindImageMemory2 = (BindImageMemory2Func) GET_PROC_ADDR("vkBindImageMemory2KHR"); -m_vk.getDeviceGroupPeerMemoryFeatures = (GetDeviceGroupPeerMemoryFeaturesFunc) GET_PROC_ADDR("vkGetDeviceGroupPeerMemoryFeatures"); + m_vk.bindImageMemory2 = (BindImageMemory2Func) GET_PROC_ADDR("vkBindImageMemory2KHR"); +m_vk.getDeviceGroupPeerMemoryFeatures = (GetDeviceGroupPeerMemoryFeaturesFunc) GET_PROC_ADDR("vkGetDeviceGroupPeerMemoryFeatures"); if (!m_vk.getDeviceGroupPeerMemoryFeatures) - m_vk.getDeviceGroupPeerMemoryFeatures = (GetDeviceGroupPeerMemoryFeaturesFunc) GET_PROC_ADDR("vkGetDeviceGroupPeerMemoryFeaturesKHR"); -m_vk.cmdSetDeviceMask = (CmdSetDeviceMaskFunc) GET_PROC_ADDR("vkCmdSetDeviceMask"); + m_vk.getDeviceGroupPeerMemoryFeatures = (GetDeviceGroupPeerMemoryFeaturesFunc) GET_PROC_ADDR("vkGetDeviceGroupPeerMemoryFeaturesKHR"); +m_vk.cmdSetDeviceMask = (CmdSetDeviceMaskFunc) GET_PROC_ADDR("vkCmdSetDeviceMask"); if (!m_vk.cmdSetDeviceMask) - m_vk.cmdSetDeviceMask = (CmdSetDeviceMaskFunc) GET_PROC_ADDR("vkCmdSetDeviceMaskKHR"); -m_vk.cmdDispatchBase = (CmdDispatchBaseFunc) GET_PROC_ADDR("vkCmdDispatchBase"); + m_vk.cmdSetDeviceMask = (CmdSetDeviceMaskFunc) GET_PROC_ADDR("vkCmdSetDeviceMaskKHR"); +m_vk.cmdDispatchBase = (CmdDispatchBaseFunc) GET_PROC_ADDR("vkCmdDispatchBase"); if (!m_vk.cmdDispatchBase) - m_vk.cmdDispatchBase = (CmdDispatchBaseFunc) GET_PROC_ADDR("vkCmdDispatchBaseKHR"); -m_vk.getImageMemoryRequirements2 = (GetImageMemoryRequirements2Func) GET_PROC_ADDR("vkGetImageMemoryRequirements2"); + m_vk.cmdDispatchBase = (CmdDispatchBaseFunc) GET_PROC_ADDR("vkCmdDispatchBaseKHR"); +m_vk.getImageMemoryRequirements2 = (GetImageMemoryRequirements2Func) GET_PROC_ADDR("vkGetImageMemoryRequirements2"); if (!m_vk.getImageMemoryRequirements2) - m_vk.getImageMemoryRequirements2 = (GetImageMemoryRequirements2Func) GET_PROC_ADDR("vkGetImageMemoryRequirements2KHR"); -m_vk.getBufferMemoryRequirements2 = (GetBufferMemoryRequirements2Func) GET_PROC_ADDR("vkGetBufferMemoryRequirements2"); + m_vk.getImageMemoryRequirements2 = (GetImageMemoryRequirements2Func) GET_PROC_ADDR("vkGetImageMemoryRequirements2KHR"); +m_vk.getBufferMemoryRequirements2 = (GetBufferMemoryRequirements2Func) GET_PROC_ADDR("vkGetBufferMemoryRequirements2"); if (!m_vk.getBufferMemoryRequirements2) - m_vk.getBufferMemoryRequirements2 = (GetBufferMemoryRequirements2Func) GET_PROC_ADDR("vkGetBufferMemoryRequirements2KHR"); -m_vk.getImageSparseMemoryRequirements2 = (GetImageSparseMemoryRequirements2Func) GET_PROC_ADDR("vkGetImageSparseMemoryRequirements2"); + m_vk.getBufferMemoryRequirements2 = (GetBufferMemoryRequirements2Func) GET_PROC_ADDR("vkGetBufferMemoryRequirements2KHR"); +m_vk.getImageSparseMemoryRequirements2 = (GetImageSparseMemoryRequirements2Func) GET_PROC_ADDR("vkGetImageSparseMemoryRequirements2"); if (!m_vk.getImageSparseMemoryRequirements2) - m_vk.getImageSparseMemoryRequirements2 = (GetImageSparseMemoryRequirements2Func) GET_PROC_ADDR("vkGetImageSparseMemoryRequirements2KHR"); -m_vk.trimCommandPool = (TrimCommandPoolFunc) GET_PROC_ADDR("vkTrimCommandPool"); + m_vk.getImageSparseMemoryRequirements2 = (GetImageSparseMemoryRequirements2Func) GET_PROC_ADDR("vkGetImageSparseMemoryRequirements2KHR"); +m_vk.trimCommandPool = (TrimCommandPoolFunc) GET_PROC_ADDR("vkTrimCommandPool"); if (!m_vk.trimCommandPool) - m_vk.trimCommandPool = (TrimCommandPoolFunc) GET_PROC_ADDR("vkTrimCommandPoolKHR"); -m_vk.getDeviceQueue2 = (GetDeviceQueue2Func) GET_PROC_ADDR("vkGetDeviceQueue2"); -m_vk.createSamplerYcbcrConversion = (CreateSamplerYcbcrConversionFunc) GET_PROC_ADDR("vkCreateSamplerYcbcrConversion"); + m_vk.trimCommandPool = (TrimCommandPoolFunc) GET_PROC_ADDR("vkTrimCommandPoolKHR"); +m_vk.getDeviceQueue2 = (GetDeviceQueue2Func) GET_PROC_ADDR("vkGetDeviceQueue2"); +m_vk.createSamplerYcbcrConversion = (CreateSamplerYcbcrConversionFunc) GET_PROC_ADDR("vkCreateSamplerYcbcrConversion"); if (!m_vk.createSamplerYcbcrConversion) - m_vk.createSamplerYcbcrConversion = (CreateSamplerYcbcrConversionFunc) GET_PROC_ADDR("vkCreateSamplerYcbcrConversionKHR"); -m_vk.destroySamplerYcbcrConversion = (DestroySamplerYcbcrConversionFunc) GET_PROC_ADDR("vkDestroySamplerYcbcrConversion"); + m_vk.createSamplerYcbcrConversion = (CreateSamplerYcbcrConversionFunc) GET_PROC_ADDR("vkCreateSamplerYcbcrConversionKHR"); +m_vk.destroySamplerYcbcrConversion = (DestroySamplerYcbcrConversionFunc) GET_PROC_ADDR("vkDestroySamplerYcbcrConversion"); if (!m_vk.destroySamplerYcbcrConversion) - m_vk.destroySamplerYcbcrConversion = (DestroySamplerYcbcrConversionFunc) GET_PROC_ADDR("vkDestroySamplerYcbcrConversionKHR"); -m_vk.createDescriptorUpdateTemplate = (CreateDescriptorUpdateTemplateFunc) GET_PROC_ADDR("vkCreateDescriptorUpdateTemplate"); + m_vk.destroySamplerYcbcrConversion = (DestroySamplerYcbcrConversionFunc) GET_PROC_ADDR("vkDestroySamplerYcbcrConversionKHR"); +m_vk.createDescriptorUpdateTemplate = (CreateDescriptorUpdateTemplateFunc) GET_PROC_ADDR("vkCreateDescriptorUpdateTemplate"); if (!m_vk.createDescriptorUpdateTemplate) - m_vk.createDescriptorUpdateTemplate = (CreateDescriptorUpdateTemplateFunc) GET_PROC_ADDR("vkCreateDescriptorUpdateTemplateKHR"); -m_vk.destroyDescriptorUpdateTemplate = (DestroyDescriptorUpdateTemplateFunc) GET_PROC_ADDR("vkDestroyDescriptorUpdateTemplate"); + m_vk.createDescriptorUpdateTemplate = (CreateDescriptorUpdateTemplateFunc) GET_PROC_ADDR("vkCreateDescriptorUpdateTemplateKHR"); +m_vk.destroyDescriptorUpdateTemplate = (DestroyDescriptorUpdateTemplateFunc) GET_PROC_ADDR("vkDestroyDescriptorUpdateTemplate"); if (!m_vk.destroyDescriptorUpdateTemplate) - m_vk.destroyDescriptorUpdateTemplate = (DestroyDescriptorUpdateTemplateFunc) GET_PROC_ADDR("vkDestroyDescriptorUpdateTemplateKHR"); -m_vk.updateDescriptorSetWithTemplate = (UpdateDescriptorSetWithTemplateFunc) GET_PROC_ADDR("vkUpdateDescriptorSetWithTemplate"); + m_vk.destroyDescriptorUpdateTemplate = (DestroyDescriptorUpdateTemplateFunc) GET_PROC_ADDR("vkDestroyDescriptorUpdateTemplateKHR"); +m_vk.updateDescriptorSetWithTemplate = (UpdateDescriptorSetWithTemplateFunc) GET_PROC_ADDR("vkUpdateDescriptorSetWithTemplate"); if (!m_vk.updateDescriptorSetWithTemplate) - m_vk.updateDescriptorSetWithTemplate = (UpdateDescriptorSetWithTemplateFunc) GET_PROC_ADDR("vkUpdateDescriptorSetWithTemplateKHR"); -m_vk.getDescriptorSetLayoutSupport = (GetDescriptorSetLayoutSupportFunc) GET_PROC_ADDR("vkGetDescriptorSetLayoutSupport"); + m_vk.updateDescriptorSetWithTemplate = (UpdateDescriptorSetWithTemplateFunc) GET_PROC_ADDR("vkUpdateDescriptorSetWithTemplateKHR"); +m_vk.getDescriptorSetLayoutSupport = (GetDescriptorSetLayoutSupportFunc) GET_PROC_ADDR("vkGetDescriptorSetLayoutSupport"); if (!m_vk.getDescriptorSetLayoutSupport) - m_vk.getDescriptorSetLayoutSupport = (GetDescriptorSetLayoutSupportFunc) GET_PROC_ADDR("vkGetDescriptorSetLayoutSupportKHR"); -m_vk.createSwapchainKHR = (CreateSwapchainKHRFunc) GET_PROC_ADDR("vkCreateSwapchainKHR"); -m_vk.destroySwapchainKHR = (DestroySwapchainKHRFunc) GET_PROC_ADDR("vkDestroySwapchainKHR"); -m_vk.getSwapchainImagesKHR = (GetSwapchainImagesKHRFunc) GET_PROC_ADDR("vkGetSwapchainImagesKHR"); -m_vk.acquireNextImageKHR = (AcquireNextImageKHRFunc) GET_PROC_ADDR("vkAcquireNextImageKHR"); -m_vk.queuePresentKHR = (QueuePresentKHRFunc) GET_PROC_ADDR("vkQueuePresentKHR"); -m_vk.getDeviceGroupPresentCapabilitiesKHR = (GetDeviceGroupPresentCapabilitiesKHRFunc) GET_PROC_ADDR("vkGetDeviceGroupPresentCapabilitiesKHR"); -m_vk.getDeviceGroupSurfacePresentModesKHR = (GetDeviceGroupSurfacePresentModesKHRFunc) GET_PROC_ADDR("vkGetDeviceGroupSurfacePresentModesKHR"); -m_vk.acquireNextImage2KHR = (AcquireNextImage2KHRFunc) GET_PROC_ADDR("vkAcquireNextImage2KHR"); -m_vk.createSharedSwapchainsKHR = (CreateSharedSwapchainsKHRFunc) GET_PROC_ADDR("vkCreateSharedSwapchainsKHR"); -m_vk.getMemoryWin32HandleKHR = (GetMemoryWin32HandleKHRFunc) GET_PROC_ADDR("vkGetMemoryWin32HandleKHR"); -m_vk.getMemoryWin32HandlePropertiesKHR = (GetMemoryWin32HandlePropertiesKHRFunc) GET_PROC_ADDR("vkGetMemoryWin32HandlePropertiesKHR"); -m_vk.getMemoryFdKHR = (GetMemoryFdKHRFunc) GET_PROC_ADDR("vkGetMemoryFdKHR"); -m_vk.getMemoryFdPropertiesKHR = (GetMemoryFdPropertiesKHRFunc) GET_PROC_ADDR("vkGetMemoryFdPropertiesKHR"); -m_vk.importSemaphoreWin32HandleKHR = (ImportSemaphoreWin32HandleKHRFunc) GET_PROC_ADDR("vkImportSemaphoreWin32HandleKHR"); -m_vk.getSemaphoreWin32HandleKHR = (GetSemaphoreWin32HandleKHRFunc) GET_PROC_ADDR("vkGetSemaphoreWin32HandleKHR"); -m_vk.importSemaphoreFdKHR = (ImportSemaphoreFdKHRFunc) GET_PROC_ADDR("vkImportSemaphoreFdKHR"); -m_vk.getSemaphoreFdKHR = (GetSemaphoreFdKHRFunc) GET_PROC_ADDR("vkGetSemaphoreFdKHR"); -m_vk.cmdPushDescriptorSetKHR = (CmdPushDescriptorSetKHRFunc) GET_PROC_ADDR("vkCmdPushDescriptorSetKHR"); -m_vk.cmdPushDescriptorSetWithTemplateKHR = (CmdPushDescriptorSetWithTemplateKHRFunc) GET_PROC_ADDR("vkCmdPushDescriptorSetWithTemplateKHR"); -m_vk.getSwapchainStatusKHR = (GetSwapchainStatusKHRFunc) GET_PROC_ADDR("vkGetSwapchainStatusKHR"); -m_vk.importFenceWin32HandleKHR = (ImportFenceWin32HandleKHRFunc) GET_PROC_ADDR("vkImportFenceWin32HandleKHR"); -m_vk.getFenceWin32HandleKHR = (GetFenceWin32HandleKHRFunc) GET_PROC_ADDR("vkGetFenceWin32HandleKHR"); -m_vk.importFenceFdKHR = (ImportFenceFdKHRFunc) GET_PROC_ADDR("vkImportFenceFdKHR"); -m_vk.getFenceFdKHR = (GetFenceFdKHRFunc) GET_PROC_ADDR("vkGetFenceFdKHR"); -m_vk.debugMarkerSetObjectTagEXT = (DebugMarkerSetObjectTagEXTFunc) GET_PROC_ADDR("vkDebugMarkerSetObjectTagEXT"); -m_vk.debugMarkerSetObjectNameEXT = (DebugMarkerSetObjectNameEXTFunc) GET_PROC_ADDR("vkDebugMarkerSetObjectNameEXT"); -m_vk.cmdDebugMarkerBeginEXT = (CmdDebugMarkerBeginEXTFunc) GET_PROC_ADDR("vkCmdDebugMarkerBeginEXT"); -m_vk.cmdDebugMarkerEndEXT = (CmdDebugMarkerEndEXTFunc) GET_PROC_ADDR("vkCmdDebugMarkerEndEXT"); -m_vk.cmdDebugMarkerInsertEXT = (CmdDebugMarkerInsertEXTFunc) GET_PROC_ADDR("vkCmdDebugMarkerInsertEXT"); -m_vk.cmdDrawIndirectCountAMD = (CmdDrawIndirectCountAMDFunc) GET_PROC_ADDR("vkCmdDrawIndirectCountAMD"); -m_vk.cmdDrawIndexedIndirectCountAMD = (CmdDrawIndexedIndirectCountAMDFunc) GET_PROC_ADDR("vkCmdDrawIndexedIndirectCountAMD"); -m_vk.getMemoryWin32HandleNV = (GetMemoryWin32HandleNVFunc) GET_PROC_ADDR("vkGetMemoryWin32HandleNV"); -m_vk.cmdProcessCommandsNVX = (CmdProcessCommandsNVXFunc) GET_PROC_ADDR("vkCmdProcessCommandsNVX"); -m_vk.cmdReserveSpaceForCommandsNVX = (CmdReserveSpaceForCommandsNVXFunc) GET_PROC_ADDR("vkCmdReserveSpaceForCommandsNVX"); -m_vk.createIndirectCommandsLayoutNVX = (CreateIndirectCommandsLayoutNVXFunc) GET_PROC_ADDR("vkCreateIndirectCommandsLayoutNVX"); -m_vk.destroyIndirectCommandsLayoutNVX = (DestroyIndirectCommandsLayoutNVXFunc) GET_PROC_ADDR("vkDestroyIndirectCommandsLayoutNVX"); -m_vk.createObjectTableNVX = (CreateObjectTableNVXFunc) GET_PROC_ADDR("vkCreateObjectTableNVX"); -m_vk.destroyObjectTableNVX = (DestroyObjectTableNVXFunc) GET_PROC_ADDR("vkDestroyObjectTableNVX"); -m_vk.registerObjectsNVX = (RegisterObjectsNVXFunc) GET_PROC_ADDR("vkRegisterObjectsNVX"); -m_vk.unregisterObjectsNVX = (UnregisterObjectsNVXFunc) GET_PROC_ADDR("vkUnregisterObjectsNVX"); -m_vk.cmdSetViewportWScalingNV = (CmdSetViewportWScalingNVFunc) GET_PROC_ADDR("vkCmdSetViewportWScalingNV"); -m_vk.displayPowerControlEXT = (DisplayPowerControlEXTFunc) GET_PROC_ADDR("vkDisplayPowerControlEXT"); -m_vk.registerDeviceEventEXT = (RegisterDeviceEventEXTFunc) GET_PROC_ADDR("vkRegisterDeviceEventEXT"); -m_vk.registerDisplayEventEXT = (RegisterDisplayEventEXTFunc) GET_PROC_ADDR("vkRegisterDisplayEventEXT"); -m_vk.getSwapchainCounterEXT = (GetSwapchainCounterEXTFunc) GET_PROC_ADDR("vkGetSwapchainCounterEXT"); -m_vk.getRefreshCycleDurationGOOGLE = (GetRefreshCycleDurationGOOGLEFunc) GET_PROC_ADDR("vkGetRefreshCycleDurationGOOGLE"); -m_vk.getPastPresentationTimingGOOGLE = (GetPastPresentationTimingGOOGLEFunc) GET_PROC_ADDR("vkGetPastPresentationTimingGOOGLE"); -m_vk.cmdSetDiscardRectangleEXT = (CmdSetDiscardRectangleEXTFunc) GET_PROC_ADDR("vkCmdSetDiscardRectangleEXT"); -m_vk.setHdrMetadataEXT = (SetHdrMetadataEXTFunc) GET_PROC_ADDR("vkSetHdrMetadataEXT"); -m_vk.cmdSetSampleLocationsEXT = (CmdSetSampleLocationsEXTFunc) GET_PROC_ADDR("vkCmdSetSampleLocationsEXT"); -m_vk.createValidationCacheEXT = (CreateValidationCacheEXTFunc) GET_PROC_ADDR("vkCreateValidationCacheEXT"); -m_vk.destroyValidationCacheEXT = (DestroyValidationCacheEXTFunc) GET_PROC_ADDR("vkDestroyValidationCacheEXT"); -m_vk.mergeValidationCachesEXT = (MergeValidationCachesEXTFunc) GET_PROC_ADDR("vkMergeValidationCachesEXT"); -m_vk.getValidationCacheDataEXT = (GetValidationCacheDataEXTFunc) GET_PROC_ADDR("vkGetValidationCacheDataEXT"); -m_vk.getMemoryAndroidHardwareBufferPropertiesANDROID = (GetMemoryAndroidHardwareBufferPropertiesANDROIDFunc) GET_PROC_ADDR("vkGetMemoryAndroidHardwareBufferPropertiesANDROID"); -m_vk.getMemoryAndroidHardwareBufferANDROID = (GetMemoryAndroidHardwareBufferANDROIDFunc) GET_PROC_ADDR("vkGetMemoryAndroidHardwareBufferANDROID"); + m_vk.getDescriptorSetLayoutSupport = (GetDescriptorSetLayoutSupportFunc) GET_PROC_ADDR("vkGetDescriptorSetLayoutSupportKHR"); +m_vk.createSwapchainKHR = (CreateSwapchainKHRFunc) GET_PROC_ADDR("vkCreateSwapchainKHR"); +m_vk.destroySwapchainKHR = (DestroySwapchainKHRFunc) GET_PROC_ADDR("vkDestroySwapchainKHR"); +m_vk.getSwapchainImagesKHR = (GetSwapchainImagesKHRFunc) GET_PROC_ADDR("vkGetSwapchainImagesKHR"); +m_vk.acquireNextImageKHR = (AcquireNextImageKHRFunc) GET_PROC_ADDR("vkAcquireNextImageKHR"); +m_vk.queuePresentKHR = (QueuePresentKHRFunc) GET_PROC_ADDR("vkQueuePresentKHR"); +m_vk.getDeviceGroupPresentCapabilitiesKHR = (GetDeviceGroupPresentCapabilitiesKHRFunc) GET_PROC_ADDR("vkGetDeviceGroupPresentCapabilitiesKHR"); +m_vk.getDeviceGroupSurfacePresentModesKHR = (GetDeviceGroupSurfacePresentModesKHRFunc) GET_PROC_ADDR("vkGetDeviceGroupSurfacePresentModesKHR"); +m_vk.acquireNextImage2KHR = (AcquireNextImage2KHRFunc) GET_PROC_ADDR("vkAcquireNextImage2KHR"); +m_vk.createSharedSwapchainsKHR = (CreateSharedSwapchainsKHRFunc) GET_PROC_ADDR("vkCreateSharedSwapchainsKHR"); +m_vk.getMemoryWin32HandleKHR = (GetMemoryWin32HandleKHRFunc) GET_PROC_ADDR("vkGetMemoryWin32HandleKHR"); +m_vk.getMemoryWin32HandlePropertiesKHR = (GetMemoryWin32HandlePropertiesKHRFunc) GET_PROC_ADDR("vkGetMemoryWin32HandlePropertiesKHR"); +m_vk.getMemoryFdKHR = (GetMemoryFdKHRFunc) GET_PROC_ADDR("vkGetMemoryFdKHR"); +m_vk.getMemoryFdPropertiesKHR = (GetMemoryFdPropertiesKHRFunc) GET_PROC_ADDR("vkGetMemoryFdPropertiesKHR"); +m_vk.importSemaphoreWin32HandleKHR = (ImportSemaphoreWin32HandleKHRFunc) GET_PROC_ADDR("vkImportSemaphoreWin32HandleKHR"); +m_vk.getSemaphoreWin32HandleKHR = (GetSemaphoreWin32HandleKHRFunc) GET_PROC_ADDR("vkGetSemaphoreWin32HandleKHR"); +m_vk.importSemaphoreFdKHR = (ImportSemaphoreFdKHRFunc) GET_PROC_ADDR("vkImportSemaphoreFdKHR"); +m_vk.getSemaphoreFdKHR = (GetSemaphoreFdKHRFunc) GET_PROC_ADDR("vkGetSemaphoreFdKHR"); +m_vk.cmdPushDescriptorSetKHR = (CmdPushDescriptorSetKHRFunc) GET_PROC_ADDR("vkCmdPushDescriptorSetKHR"); +m_vk.cmdPushDescriptorSetWithTemplateKHR = (CmdPushDescriptorSetWithTemplateKHRFunc) GET_PROC_ADDR("vkCmdPushDescriptorSetWithTemplateKHR"); +m_vk.getSwapchainStatusKHR = (GetSwapchainStatusKHRFunc) GET_PROC_ADDR("vkGetSwapchainStatusKHR"); +m_vk.importFenceWin32HandleKHR = (ImportFenceWin32HandleKHRFunc) GET_PROC_ADDR("vkImportFenceWin32HandleKHR"); +m_vk.getFenceWin32HandleKHR = (GetFenceWin32HandleKHRFunc) GET_PROC_ADDR("vkGetFenceWin32HandleKHR"); +m_vk.importFenceFdKHR = (ImportFenceFdKHRFunc) GET_PROC_ADDR("vkImportFenceFdKHR"); +m_vk.getFenceFdKHR = (GetFenceFdKHRFunc) GET_PROC_ADDR("vkGetFenceFdKHR"); +m_vk.debugMarkerSetObjectTagEXT = (DebugMarkerSetObjectTagEXTFunc) GET_PROC_ADDR("vkDebugMarkerSetObjectTagEXT"); +m_vk.debugMarkerSetObjectNameEXT = (DebugMarkerSetObjectNameEXTFunc) GET_PROC_ADDR("vkDebugMarkerSetObjectNameEXT"); +m_vk.cmdDebugMarkerBeginEXT = (CmdDebugMarkerBeginEXTFunc) GET_PROC_ADDR("vkCmdDebugMarkerBeginEXT"); +m_vk.cmdDebugMarkerEndEXT = (CmdDebugMarkerEndEXTFunc) GET_PROC_ADDR("vkCmdDebugMarkerEndEXT"); +m_vk.cmdDebugMarkerInsertEXT = (CmdDebugMarkerInsertEXTFunc) GET_PROC_ADDR("vkCmdDebugMarkerInsertEXT"); +m_vk.cmdDrawIndirectCountAMD = (CmdDrawIndirectCountAMDFunc) GET_PROC_ADDR("vkCmdDrawIndirectCountAMD"); +m_vk.cmdDrawIndexedIndirectCountAMD = (CmdDrawIndexedIndirectCountAMDFunc) GET_PROC_ADDR("vkCmdDrawIndexedIndirectCountAMD"); +m_vk.getMemoryWin32HandleNV = (GetMemoryWin32HandleNVFunc) GET_PROC_ADDR("vkGetMemoryWin32HandleNV"); +m_vk.cmdProcessCommandsNVX = (CmdProcessCommandsNVXFunc) GET_PROC_ADDR("vkCmdProcessCommandsNVX"); +m_vk.cmdReserveSpaceForCommandsNVX = (CmdReserveSpaceForCommandsNVXFunc) GET_PROC_ADDR("vkCmdReserveSpaceForCommandsNVX"); +m_vk.createIndirectCommandsLayoutNVX = (CreateIndirectCommandsLayoutNVXFunc) GET_PROC_ADDR("vkCreateIndirectCommandsLayoutNVX"); +m_vk.destroyIndirectCommandsLayoutNVX = (DestroyIndirectCommandsLayoutNVXFunc) GET_PROC_ADDR("vkDestroyIndirectCommandsLayoutNVX"); +m_vk.createObjectTableNVX = (CreateObjectTableNVXFunc) GET_PROC_ADDR("vkCreateObjectTableNVX"); +m_vk.destroyObjectTableNVX = (DestroyObjectTableNVXFunc) GET_PROC_ADDR("vkDestroyObjectTableNVX"); +m_vk.registerObjectsNVX = (RegisterObjectsNVXFunc) GET_PROC_ADDR("vkRegisterObjectsNVX"); +m_vk.unregisterObjectsNVX = (UnregisterObjectsNVXFunc) GET_PROC_ADDR("vkUnregisterObjectsNVX"); +m_vk.cmdSetViewportWScalingNV = (CmdSetViewportWScalingNVFunc) GET_PROC_ADDR("vkCmdSetViewportWScalingNV"); +m_vk.displayPowerControlEXT = (DisplayPowerControlEXTFunc) GET_PROC_ADDR("vkDisplayPowerControlEXT"); +m_vk.registerDeviceEventEXT = (RegisterDeviceEventEXTFunc) GET_PROC_ADDR("vkRegisterDeviceEventEXT"); +m_vk.registerDisplayEventEXT = (RegisterDisplayEventEXTFunc) GET_PROC_ADDR("vkRegisterDisplayEventEXT"); +m_vk.getSwapchainCounterEXT = (GetSwapchainCounterEXTFunc) GET_PROC_ADDR("vkGetSwapchainCounterEXT"); +m_vk.getRefreshCycleDurationGOOGLE = (GetRefreshCycleDurationGOOGLEFunc) GET_PROC_ADDR("vkGetRefreshCycleDurationGOOGLE"); +m_vk.getPastPresentationTimingGOOGLE = (GetPastPresentationTimingGOOGLEFunc) GET_PROC_ADDR("vkGetPastPresentationTimingGOOGLE"); +m_vk.cmdSetDiscardRectangleEXT = (CmdSetDiscardRectangleEXTFunc) GET_PROC_ADDR("vkCmdSetDiscardRectangleEXT"); +m_vk.setHdrMetadataEXT = (SetHdrMetadataEXTFunc) GET_PROC_ADDR("vkSetHdrMetadataEXT"); +m_vk.cmdSetSampleLocationsEXT = (CmdSetSampleLocationsEXTFunc) GET_PROC_ADDR("vkCmdSetSampleLocationsEXT"); +m_vk.createValidationCacheEXT = (CreateValidationCacheEXTFunc) GET_PROC_ADDR("vkCreateValidationCacheEXT"); +m_vk.destroyValidationCacheEXT = (DestroyValidationCacheEXTFunc) GET_PROC_ADDR("vkDestroyValidationCacheEXT"); +m_vk.mergeValidationCachesEXT = (MergeValidationCachesEXTFunc) GET_PROC_ADDR("vkMergeValidationCachesEXT"); +m_vk.getValidationCacheDataEXT = (GetValidationCacheDataEXTFunc) GET_PROC_ADDR("vkGetValidationCacheDataEXT"); +m_vk.getAndroidHardwareBufferPropertiesANDROID = (GetAndroidHardwareBufferPropertiesANDROIDFunc) GET_PROC_ADDR("vkGetAndroidHardwareBufferPropertiesANDROID"); +m_vk.getMemoryAndroidHardwareBufferANDROID = (GetMemoryAndroidHardwareBufferANDROIDFunc) GET_PROC_ADDR("vkGetMemoryAndroidHardwareBufferANDROID"); diff --git a/external/vulkancts/framework/vulkan/vkInitInstanceFunctionPointers.inl b/external/vulkancts/framework/vulkan/vkInitInstanceFunctionPointers.inl index 6ca622e..c7418e7 100644 --- a/external/vulkancts/framework/vulkan/vkInitInstanceFunctionPointers.inl +++ b/external/vulkancts/framework/vulkan/vkInitInstanceFunctionPointers.inl @@ -96,4 +96,3 @@ m_vk.getPhysicalDeviceSurfaceCapabilities2EXT = (GetPhysicalDeviceSurfaceCapa m_vk.createIOSSurfaceMVK = (CreateIOSSurfaceMVKFunc) GET_PROC_ADDR("vkCreateIOSSurfaceMVK"); m_vk.createMacOSSurfaceMVK = (CreateMacOSSurfaceMVKFunc) GET_PROC_ADDR("vkCreateMacOSSurfaceMVK"); m_vk.getPhysicalDeviceMultisamplePropertiesEXT = (GetPhysicalDeviceMultisamplePropertiesEXTFunc) GET_PROC_ADDR("vkGetPhysicalDeviceMultisamplePropertiesEXT"); -m_vk.getPhysicalDeviceAndroidHardwareBufferUsageANDROID = (GetPhysicalDeviceAndroidHardwareBufferUsageANDROIDFunc) GET_PROC_ADDR("vkGetPhysicalDeviceAndroidHardwareBufferUsageANDROID"); diff --git a/external/vulkancts/framework/vulkan/vkInstanceDriverImpl.inl b/external/vulkancts/framework/vulkan/vkInstanceDriverImpl.inl index 8d80744..a62d4a3 100644 --- a/external/vulkancts/framework/vulkan/vkInstanceDriverImpl.inl +++ b/external/vulkancts/framework/vulkan/vkInstanceDriverImpl.inl @@ -366,8 +366,3 @@ void InstanceDriver::getPhysicalDeviceMultisamplePropertiesEXT (VkPhysicalDevice { m_vk.getPhysicalDeviceMultisamplePropertiesEXT(physicalDevice, samples, pMultisampleProperties); } - -void InstanceDriver::getPhysicalDeviceAndroidHardwareBufferUsageANDROID (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceAndroidHardwareBufferInfoANDROID* pInfo, VkAndroidHardwareBufferUsageANDROID* pUsage) const -{ - m_vk.getPhysicalDeviceAndroidHardwareBufferUsageANDROID(physicalDevice, pInfo, pUsage); -} diff --git a/external/vulkancts/framework/vulkan/vkInstanceFunctionPointers.inl b/external/vulkancts/framework/vulkan/vkInstanceFunctionPointers.inl index 1424886..6cd31ef 100644 --- a/external/vulkancts/framework/vulkan/vkInstanceFunctionPointers.inl +++ b/external/vulkancts/framework/vulkan/vkInstanceFunctionPointers.inl @@ -74,4 +74,3 @@ GetPhysicalDeviceSurfaceCapabilities2EXTFunc getPhysicalDeviceSurfaceCapabilit CreateIOSSurfaceMVKFunc createIOSSurfaceMVK; CreateMacOSSurfaceMVKFunc createMacOSSurfaceMVK; GetPhysicalDeviceMultisamplePropertiesEXTFunc getPhysicalDeviceMultisamplePropertiesEXT; -GetPhysicalDeviceAndroidHardwareBufferUsageANDROIDFunc getPhysicalDeviceAndroidHardwareBufferUsageANDROID; diff --git a/external/vulkancts/framework/vulkan/vkNullDriver.cpp b/external/vulkancts/framework/vulkan/vkNullDriver.cpp index 659cff1..a37a0b3 100644 --- a/external/vulkancts/framework/vulkan/vkNullDriver.cpp +++ b/external/vulkancts/framework/vulkan/vkNullDriver.cpp @@ -28,7 +28,7 @@ #include "tcuFunctionLibrary.hpp" #include "deMemory.h" -#if (DE_OS == DE_OS_ANDROID) && defined(__ANDROID_API_O__) && (__ANDROID_API__ >= __ANDROID_API_O__) +#if (DE_OS == DE_OS_ANDROID) && defined(__ANDROID_API_O__) && (DE_ANDROID_API >= __ANDROID_API_O__ /* __ANDROID_API_O__ */) # define USE_ANDROID_O_HARDWARE_BUFFER #endif #if defined(USE_ANDROID_O_HARDWARE_BUFFER) @@ -1260,6 +1260,80 @@ VKAPI_ATTR VkResult VKAPI_CALL createSharedSwapchainsKHR (VkDevice device, deUin return VK_SUCCESS; } +VKAPI_ATTR void VKAPI_CALL getPhysicalDeviceExternalBufferPropertiesKHR (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties) +{ + DE_UNREF(physicalDevice); + DE_UNREF(pExternalBufferInfo); + + pExternalBufferProperties->externalMemoryProperties.externalMemoryFeatures = 0; + pExternalBufferProperties->externalMemoryProperties.exportFromImportedHandleTypes = 0; + pExternalBufferProperties->externalMemoryProperties.compatibleHandleTypes = 0; + + if (pExternalBufferInfo->handleType == VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID) + { + pExternalBufferProperties->externalMemoryProperties.externalMemoryFeatures = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR | VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR; + pExternalBufferProperties->externalMemoryProperties.exportFromImportedHandleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID; + pExternalBufferProperties->externalMemoryProperties.compatibleHandleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID; + } +} + +VKAPI_ATTR VkResult VKAPI_CALL getPhysicalDeviceImageFormatProperties2KHR (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties) +{ + const VkPhysicalDeviceExternalImageFormatInfo* const externalInfo = findStructure(pImageFormatInfo->pNext); + VkExternalImageFormatProperties* const externalProperties = findStructure(pImageFormatProperties->pNext); + VkResult result; + + result = getPhysicalDeviceImageFormatProperties(physicalDevice, pImageFormatInfo->format, pImageFormatInfo->type, pImageFormatInfo->tiling, pImageFormatInfo->usage, pImageFormatInfo->flags, &pImageFormatProperties->imageFormatProperties); + if (result != VK_SUCCESS) + return result; + + if (externalInfo && externalInfo->handleType != 0) + { + if (externalInfo->handleType != VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID) + return VK_ERROR_FORMAT_NOT_SUPPORTED; + + if (!(pImageFormatInfo->format == VK_FORMAT_R8G8B8A8_UNORM + || pImageFormatInfo->format == VK_FORMAT_R8G8B8_UNORM + || pImageFormatInfo->format == VK_FORMAT_R5G6B5_UNORM_PACK16 + || pImageFormatInfo->format == VK_FORMAT_R16G16B16A16_SFLOAT + || pImageFormatInfo->format == VK_FORMAT_A2R10G10B10_UNORM_PACK32)) + { + return VK_ERROR_FORMAT_NOT_SUPPORTED; + } + + if (pImageFormatInfo->type != VK_IMAGE_TYPE_2D) + return VK_ERROR_FORMAT_NOT_SUPPORTED; + + if ((pImageFormatInfo->usage & ~(VK_IMAGE_USAGE_TRANSFER_SRC_BIT + | VK_IMAGE_USAGE_TRANSFER_DST_BIT + | VK_IMAGE_USAGE_SAMPLED_BIT + | VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT)) + != 0) + { + return VK_ERROR_FORMAT_NOT_SUPPORTED; + } + + if ((pImageFormatInfo->flags & ~(VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT + /*| VK_IMAGE_CREATE_PROTECTED_BIT_KHR*/ + /*| VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR*/)) + != 0) + { + return VK_ERROR_FORMAT_NOT_SUPPORTED; + } + + if (externalProperties) + { + externalProperties->externalMemoryProperties.externalMemoryFeatures = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR + | VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR + | VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR; + externalProperties->externalMemoryProperties.exportFromImportedHandleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID; + externalProperties->externalMemoryProperties.compatibleHandleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID; + } + } + + return VK_SUCCESS; +} + // \note getInstanceProcAddr is a little bit special: // vkNullDriverImpl.inl needs it to define s_platformFunctions but // getInstanceProcAddr() implementation needs other entry points from diff --git a/external/vulkancts/framework/vulkan/vkNullDriverImpl.inl b/external/vulkancts/framework/vulkan/vkNullDriverImpl.inl index e762992..451228e 100644 --- a/external/vulkancts/framework/vulkan/vkNullDriverImpl.inl +++ b/external/vulkancts/framework/vulkan/vkNullDriverImpl.inl @@ -1764,14 +1764,7 @@ VKAPI_ATTR VkResult VKAPI_CALL getValidationCacheDataEXT (VkDevice device, VkVal return VK_SUCCESS; } -VKAPI_ATTR void VKAPI_CALL getPhysicalDeviceAndroidHardwareBufferUsageANDROID (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceAndroidHardwareBufferInfoANDROID* pInfo, VkAndroidHardwareBufferUsageANDROID* pUsage) -{ - DE_UNREF(physicalDevice); - DE_UNREF(pInfo); - DE_UNREF(pUsage); -} - -VKAPI_ATTR VkResult VKAPI_CALL getMemoryAndroidHardwareBufferPropertiesANDROID (VkDevice device, const pt::AndroidHardwareBufferPtr buffer, VkMemoryAndroidHardwareBufferPropertiesANDROID* pProperties) +VKAPI_ATTR VkResult VKAPI_CALL getAndroidHardwareBufferPropertiesANDROID (VkDevice device, const struct pt::AndroidHardwareBufferPtr buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties) { DE_UNREF(device); DE_UNREF(buffer); @@ -1790,291 +1783,290 @@ static const tcu::StaticFunctionLibrary::Entry s_platformFunctions[] = static const tcu::StaticFunctionLibrary::Entry s_instanceFunctions[] = { - VK_NULL_FUNC_ENTRY(vkDestroyInstance, destroyInstance), - VK_NULL_FUNC_ENTRY(vkEnumeratePhysicalDevices, enumeratePhysicalDevices), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFeatures, getPhysicalDeviceFeatures), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFormatProperties, getPhysicalDeviceFormatProperties), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceImageFormatProperties, getPhysicalDeviceImageFormatProperties), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceProperties, getPhysicalDeviceProperties), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceQueueFamilyProperties, getPhysicalDeviceQueueFamilyProperties), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceMemoryProperties, getPhysicalDeviceMemoryProperties), - VK_NULL_FUNC_ENTRY(vkGetDeviceProcAddr, getDeviceProcAddr), - VK_NULL_FUNC_ENTRY(vkCreateDevice, createDevice), - VK_NULL_FUNC_ENTRY(vkEnumerateDeviceExtensionProperties, enumerateDeviceExtensionProperties), - VK_NULL_FUNC_ENTRY(vkEnumerateDeviceLayerProperties, enumerateDeviceLayerProperties), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSparseImageFormatProperties, getPhysicalDeviceSparseImageFormatProperties), - VK_NULL_FUNC_ENTRY(vkEnumeratePhysicalDeviceGroups, enumeratePhysicalDeviceGroups), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFeatures2, getPhysicalDeviceFeatures2), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceProperties2, getPhysicalDeviceProperties2), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFormatProperties2, getPhysicalDeviceFormatProperties2), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceImageFormatProperties2, getPhysicalDeviceImageFormatProperties2), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceQueueFamilyProperties2, getPhysicalDeviceQueueFamilyProperties2), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceMemoryProperties2, getPhysicalDeviceMemoryProperties2), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSparseImageFormatProperties2, getPhysicalDeviceSparseImageFormatProperties2), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalBufferProperties, getPhysicalDeviceExternalBufferProperties), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalFenceProperties, getPhysicalDeviceExternalFenceProperties), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalSemaphoreProperties, getPhysicalDeviceExternalSemaphoreProperties), - VK_NULL_FUNC_ENTRY(vkDestroySurfaceKHR, destroySurfaceKHR), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfaceSupportKHR, getPhysicalDeviceSurfaceSupportKHR), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfaceCapabilitiesKHR, getPhysicalDeviceSurfaceCapabilitiesKHR), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfaceFormatsKHR, getPhysicalDeviceSurfaceFormatsKHR), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfacePresentModesKHR, getPhysicalDeviceSurfacePresentModesKHR), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDevicePresentRectanglesKHR, getPhysicalDevicePresentRectanglesKHR), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceDisplayPropertiesKHR, getPhysicalDeviceDisplayPropertiesKHR), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceDisplayPlanePropertiesKHR, getPhysicalDeviceDisplayPlanePropertiesKHR), - VK_NULL_FUNC_ENTRY(vkGetDisplayPlaneSupportedDisplaysKHR, getDisplayPlaneSupportedDisplaysKHR), - VK_NULL_FUNC_ENTRY(vkGetDisplayModePropertiesKHR, getDisplayModePropertiesKHR), - VK_NULL_FUNC_ENTRY(vkCreateDisplayModeKHR, createDisplayModeKHR), - VK_NULL_FUNC_ENTRY(vkGetDisplayPlaneCapabilitiesKHR, getDisplayPlaneCapabilitiesKHR), - VK_NULL_FUNC_ENTRY(vkCreateDisplayPlaneSurfaceKHR, createDisplayPlaneSurfaceKHR), - VK_NULL_FUNC_ENTRY(vkCreateXlibSurfaceKHR, createXlibSurfaceKHR), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceXlibPresentationSupportKHR, getPhysicalDeviceXlibPresentationSupportKHR), - VK_NULL_FUNC_ENTRY(vkCreateXcbSurfaceKHR, createXcbSurfaceKHR), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceXcbPresentationSupportKHR, getPhysicalDeviceXcbPresentationSupportKHR), - VK_NULL_FUNC_ENTRY(vkCreateWaylandSurfaceKHR, createWaylandSurfaceKHR), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceWaylandPresentationSupportKHR, getPhysicalDeviceWaylandPresentationSupportKHR), - VK_NULL_FUNC_ENTRY(vkCreateMirSurfaceKHR, createMirSurfaceKHR), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceMirPresentationSupportKHR, getPhysicalDeviceMirPresentationSupportKHR), - VK_NULL_FUNC_ENTRY(vkCreateAndroidSurfaceKHR, createAndroidSurfaceKHR), - VK_NULL_FUNC_ENTRY(vkCreateWin32SurfaceKHR, createWin32SurfaceKHR), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceWin32PresentationSupportKHR, getPhysicalDeviceWin32PresentationSupportKHR), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFeatures2KHR, getPhysicalDeviceFeatures2), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFormatProperties2KHR, getPhysicalDeviceFormatProperties2), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceImageFormatProperties2KHR, getPhysicalDeviceImageFormatProperties2), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceMemoryProperties2KHR, getPhysicalDeviceMemoryProperties2), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceProperties2KHR, getPhysicalDeviceProperties2), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceQueueFamilyProperties2KHR, getPhysicalDeviceQueueFamilyProperties2), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSparseImageFormatProperties2KHR, getPhysicalDeviceSparseImageFormatProperties2), - VK_NULL_FUNC_ENTRY(vkEnumeratePhysicalDeviceGroupsKHR, enumeratePhysicalDeviceGroups), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalBufferPropertiesKHR, getPhysicalDeviceExternalBufferProperties), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalSemaphorePropertiesKHR, getPhysicalDeviceExternalSemaphoreProperties), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalFencePropertiesKHR, getPhysicalDeviceExternalFenceProperties), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfaceCapabilities2KHR, getPhysicalDeviceSurfaceCapabilities2KHR), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfaceFormats2KHR, getPhysicalDeviceSurfaceFormats2KHR), - VK_NULL_FUNC_ENTRY(vkCreateDebugReportCallbackEXT, createDebugReportCallbackEXT), - VK_NULL_FUNC_ENTRY(vkDestroyDebugReportCallbackEXT, destroyDebugReportCallbackEXT), - VK_NULL_FUNC_ENTRY(vkDebugReportMessageEXT, debugReportMessageEXT), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalImageFormatPropertiesNV, getPhysicalDeviceExternalImageFormatPropertiesNV), - VK_NULL_FUNC_ENTRY(vkCreateViSurfaceNN, createViSurfaceNN), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX, getPhysicalDeviceGeneratedCommandsPropertiesNVX), - VK_NULL_FUNC_ENTRY(vkReleaseDisplayEXT, releaseDisplayEXT), - VK_NULL_FUNC_ENTRY(vkAcquireXlibDisplayEXT, acquireXlibDisplayEXT), - VK_NULL_FUNC_ENTRY(vkGetRandROutputDisplayEXT, getRandROutputDisplayEXT), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfaceCapabilities2EXT, getPhysicalDeviceSurfaceCapabilities2EXT), - VK_NULL_FUNC_ENTRY(vkCreateIOSSurfaceMVK, createIOSSurfaceMVK), - VK_NULL_FUNC_ENTRY(vkCreateMacOSSurfaceMVK, createMacOSSurfaceMVK), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceMultisamplePropertiesEXT, getPhysicalDeviceMultisamplePropertiesEXT), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceAndroidHardwareBufferUsageANDROID, getPhysicalDeviceAndroidHardwareBufferUsageANDROID), + VK_NULL_FUNC_ENTRY(vkDestroyInstance, destroyInstance), + VK_NULL_FUNC_ENTRY(vkEnumeratePhysicalDevices, enumeratePhysicalDevices), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFeatures, getPhysicalDeviceFeatures), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFormatProperties, getPhysicalDeviceFormatProperties), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceImageFormatProperties, getPhysicalDeviceImageFormatProperties), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceProperties, getPhysicalDeviceProperties), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceQueueFamilyProperties, getPhysicalDeviceQueueFamilyProperties), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceMemoryProperties, getPhysicalDeviceMemoryProperties), + VK_NULL_FUNC_ENTRY(vkGetDeviceProcAddr, getDeviceProcAddr), + VK_NULL_FUNC_ENTRY(vkCreateDevice, createDevice), + VK_NULL_FUNC_ENTRY(vkEnumerateDeviceExtensionProperties, enumerateDeviceExtensionProperties), + VK_NULL_FUNC_ENTRY(vkEnumerateDeviceLayerProperties, enumerateDeviceLayerProperties), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSparseImageFormatProperties, getPhysicalDeviceSparseImageFormatProperties), + VK_NULL_FUNC_ENTRY(vkEnumeratePhysicalDeviceGroups, enumeratePhysicalDeviceGroups), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFeatures2, getPhysicalDeviceFeatures2), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceProperties2, getPhysicalDeviceProperties2), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFormatProperties2, getPhysicalDeviceFormatProperties2), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceImageFormatProperties2, getPhysicalDeviceImageFormatProperties2), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceQueueFamilyProperties2, getPhysicalDeviceQueueFamilyProperties2), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceMemoryProperties2, getPhysicalDeviceMemoryProperties2), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSparseImageFormatProperties2, getPhysicalDeviceSparseImageFormatProperties2), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalBufferProperties, getPhysicalDeviceExternalBufferProperties), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalFenceProperties, getPhysicalDeviceExternalFenceProperties), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalSemaphoreProperties, getPhysicalDeviceExternalSemaphoreProperties), + VK_NULL_FUNC_ENTRY(vkDestroySurfaceKHR, destroySurfaceKHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfaceSupportKHR, getPhysicalDeviceSurfaceSupportKHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfaceCapabilitiesKHR, getPhysicalDeviceSurfaceCapabilitiesKHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfaceFormatsKHR, getPhysicalDeviceSurfaceFormatsKHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfacePresentModesKHR, getPhysicalDeviceSurfacePresentModesKHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDevicePresentRectanglesKHR, getPhysicalDevicePresentRectanglesKHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceDisplayPropertiesKHR, getPhysicalDeviceDisplayPropertiesKHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceDisplayPlanePropertiesKHR, getPhysicalDeviceDisplayPlanePropertiesKHR), + VK_NULL_FUNC_ENTRY(vkGetDisplayPlaneSupportedDisplaysKHR, getDisplayPlaneSupportedDisplaysKHR), + VK_NULL_FUNC_ENTRY(vkGetDisplayModePropertiesKHR, getDisplayModePropertiesKHR), + VK_NULL_FUNC_ENTRY(vkCreateDisplayModeKHR, createDisplayModeKHR), + VK_NULL_FUNC_ENTRY(vkGetDisplayPlaneCapabilitiesKHR, getDisplayPlaneCapabilitiesKHR), + VK_NULL_FUNC_ENTRY(vkCreateDisplayPlaneSurfaceKHR, createDisplayPlaneSurfaceKHR), + VK_NULL_FUNC_ENTRY(vkCreateXlibSurfaceKHR, createXlibSurfaceKHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceXlibPresentationSupportKHR, getPhysicalDeviceXlibPresentationSupportKHR), + VK_NULL_FUNC_ENTRY(vkCreateXcbSurfaceKHR, createXcbSurfaceKHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceXcbPresentationSupportKHR, getPhysicalDeviceXcbPresentationSupportKHR), + VK_NULL_FUNC_ENTRY(vkCreateWaylandSurfaceKHR, createWaylandSurfaceKHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceWaylandPresentationSupportKHR, getPhysicalDeviceWaylandPresentationSupportKHR), + VK_NULL_FUNC_ENTRY(vkCreateMirSurfaceKHR, createMirSurfaceKHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceMirPresentationSupportKHR, getPhysicalDeviceMirPresentationSupportKHR), + VK_NULL_FUNC_ENTRY(vkCreateAndroidSurfaceKHR, createAndroidSurfaceKHR), + VK_NULL_FUNC_ENTRY(vkCreateWin32SurfaceKHR, createWin32SurfaceKHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceWin32PresentationSupportKHR, getPhysicalDeviceWin32PresentationSupportKHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFeatures2KHR, getPhysicalDeviceFeatures2), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFormatProperties2KHR, getPhysicalDeviceFormatProperties2), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceImageFormatProperties2KHR, getPhysicalDeviceImageFormatProperties2), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceMemoryProperties2KHR, getPhysicalDeviceMemoryProperties2), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceProperties2KHR, getPhysicalDeviceProperties2), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceQueueFamilyProperties2KHR, getPhysicalDeviceQueueFamilyProperties2), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSparseImageFormatProperties2KHR, getPhysicalDeviceSparseImageFormatProperties2), + VK_NULL_FUNC_ENTRY(vkEnumeratePhysicalDeviceGroupsKHR, enumeratePhysicalDeviceGroups), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalBufferPropertiesKHR, getPhysicalDeviceExternalBufferProperties), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalSemaphorePropertiesKHR, getPhysicalDeviceExternalSemaphoreProperties), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalFencePropertiesKHR, getPhysicalDeviceExternalFenceProperties), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfaceCapabilities2KHR, getPhysicalDeviceSurfaceCapabilities2KHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfaceFormats2KHR, getPhysicalDeviceSurfaceFormats2KHR), + VK_NULL_FUNC_ENTRY(vkCreateDebugReportCallbackEXT, createDebugReportCallbackEXT), + VK_NULL_FUNC_ENTRY(vkDestroyDebugReportCallbackEXT, destroyDebugReportCallbackEXT), + VK_NULL_FUNC_ENTRY(vkDebugReportMessageEXT, debugReportMessageEXT), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalImageFormatPropertiesNV, getPhysicalDeviceExternalImageFormatPropertiesNV), + VK_NULL_FUNC_ENTRY(vkCreateViSurfaceNN, createViSurfaceNN), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX, getPhysicalDeviceGeneratedCommandsPropertiesNVX), + VK_NULL_FUNC_ENTRY(vkReleaseDisplayEXT, releaseDisplayEXT), + VK_NULL_FUNC_ENTRY(vkAcquireXlibDisplayEXT, acquireXlibDisplayEXT), + VK_NULL_FUNC_ENTRY(vkGetRandROutputDisplayEXT, getRandROutputDisplayEXT), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfaceCapabilities2EXT, getPhysicalDeviceSurfaceCapabilities2EXT), + VK_NULL_FUNC_ENTRY(vkCreateIOSSurfaceMVK, createIOSSurfaceMVK), + VK_NULL_FUNC_ENTRY(vkCreateMacOSSurfaceMVK, createMacOSSurfaceMVK), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceMultisamplePropertiesEXT, getPhysicalDeviceMultisamplePropertiesEXT), }; static const tcu::StaticFunctionLibrary::Entry s_deviceFunctions[] = { - VK_NULL_FUNC_ENTRY(vkDestroyDevice, destroyDevice), - VK_NULL_FUNC_ENTRY(vkGetDeviceQueue, getDeviceQueue), - VK_NULL_FUNC_ENTRY(vkQueueSubmit, queueSubmit), - VK_NULL_FUNC_ENTRY(vkQueueWaitIdle, queueWaitIdle), - VK_NULL_FUNC_ENTRY(vkDeviceWaitIdle, deviceWaitIdle), - VK_NULL_FUNC_ENTRY(vkAllocateMemory, allocateMemory), - VK_NULL_FUNC_ENTRY(vkFreeMemory, freeMemory), - VK_NULL_FUNC_ENTRY(vkMapMemory, mapMemory), - VK_NULL_FUNC_ENTRY(vkUnmapMemory, unmapMemory), - VK_NULL_FUNC_ENTRY(vkFlushMappedMemoryRanges, flushMappedMemoryRanges), - VK_NULL_FUNC_ENTRY(vkInvalidateMappedMemoryRanges, invalidateMappedMemoryRanges), - VK_NULL_FUNC_ENTRY(vkGetDeviceMemoryCommitment, getDeviceMemoryCommitment), - VK_NULL_FUNC_ENTRY(vkBindBufferMemory, bindBufferMemory), - VK_NULL_FUNC_ENTRY(vkBindImageMemory, bindImageMemory), - VK_NULL_FUNC_ENTRY(vkGetBufferMemoryRequirements, getBufferMemoryRequirements), - VK_NULL_FUNC_ENTRY(vkGetImageMemoryRequirements, getImageMemoryRequirements), - VK_NULL_FUNC_ENTRY(vkGetImageSparseMemoryRequirements, getImageSparseMemoryRequirements), - VK_NULL_FUNC_ENTRY(vkQueueBindSparse, queueBindSparse), - VK_NULL_FUNC_ENTRY(vkCreateFence, createFence), - VK_NULL_FUNC_ENTRY(vkDestroyFence, destroyFence), - VK_NULL_FUNC_ENTRY(vkResetFences, resetFences), - VK_NULL_FUNC_ENTRY(vkGetFenceStatus, getFenceStatus), - VK_NULL_FUNC_ENTRY(vkWaitForFences, waitForFences), - VK_NULL_FUNC_ENTRY(vkCreateSemaphore, createSemaphore), - VK_NULL_FUNC_ENTRY(vkDestroySemaphore, destroySemaphore), - VK_NULL_FUNC_ENTRY(vkCreateEvent, createEvent), - VK_NULL_FUNC_ENTRY(vkDestroyEvent, destroyEvent), - VK_NULL_FUNC_ENTRY(vkGetEventStatus, getEventStatus), - VK_NULL_FUNC_ENTRY(vkSetEvent, setEvent), - VK_NULL_FUNC_ENTRY(vkResetEvent, resetEvent), - VK_NULL_FUNC_ENTRY(vkCreateQueryPool, createQueryPool), - VK_NULL_FUNC_ENTRY(vkDestroyQueryPool, destroyQueryPool), - VK_NULL_FUNC_ENTRY(vkGetQueryPoolResults, getQueryPoolResults), - VK_NULL_FUNC_ENTRY(vkCreateBuffer, createBuffer), - VK_NULL_FUNC_ENTRY(vkDestroyBuffer, destroyBuffer), - VK_NULL_FUNC_ENTRY(vkCreateBufferView, createBufferView), - VK_NULL_FUNC_ENTRY(vkDestroyBufferView, destroyBufferView), - VK_NULL_FUNC_ENTRY(vkCreateImage, createImage), - VK_NULL_FUNC_ENTRY(vkDestroyImage, destroyImage), - VK_NULL_FUNC_ENTRY(vkGetImageSubresourceLayout, getImageSubresourceLayout), - VK_NULL_FUNC_ENTRY(vkCreateImageView, createImageView), - VK_NULL_FUNC_ENTRY(vkDestroyImageView, destroyImageView), - VK_NULL_FUNC_ENTRY(vkCreateShaderModule, createShaderModule), - VK_NULL_FUNC_ENTRY(vkDestroyShaderModule, destroyShaderModule), - VK_NULL_FUNC_ENTRY(vkCreatePipelineCache, createPipelineCache), - VK_NULL_FUNC_ENTRY(vkDestroyPipelineCache, destroyPipelineCache), - VK_NULL_FUNC_ENTRY(vkGetPipelineCacheData, getPipelineCacheData), - VK_NULL_FUNC_ENTRY(vkMergePipelineCaches, mergePipelineCaches), - VK_NULL_FUNC_ENTRY(vkCreateGraphicsPipelines, createGraphicsPipelines), - VK_NULL_FUNC_ENTRY(vkCreateComputePipelines, createComputePipelines), - VK_NULL_FUNC_ENTRY(vkDestroyPipeline, destroyPipeline), - VK_NULL_FUNC_ENTRY(vkCreatePipelineLayout, createPipelineLayout), - VK_NULL_FUNC_ENTRY(vkDestroyPipelineLayout, destroyPipelineLayout), - VK_NULL_FUNC_ENTRY(vkCreateSampler, createSampler), - VK_NULL_FUNC_ENTRY(vkDestroySampler, destroySampler), - VK_NULL_FUNC_ENTRY(vkCreateDescriptorSetLayout, createDescriptorSetLayout), - VK_NULL_FUNC_ENTRY(vkDestroyDescriptorSetLayout, destroyDescriptorSetLayout), - VK_NULL_FUNC_ENTRY(vkCreateDescriptorPool, createDescriptorPool), - VK_NULL_FUNC_ENTRY(vkDestroyDescriptorPool, destroyDescriptorPool), - VK_NULL_FUNC_ENTRY(vkResetDescriptorPool, resetDescriptorPool), - VK_NULL_FUNC_ENTRY(vkAllocateDescriptorSets, allocateDescriptorSets), - VK_NULL_FUNC_ENTRY(vkFreeDescriptorSets, freeDescriptorSets), - VK_NULL_FUNC_ENTRY(vkUpdateDescriptorSets, updateDescriptorSets), - VK_NULL_FUNC_ENTRY(vkCreateFramebuffer, createFramebuffer), - VK_NULL_FUNC_ENTRY(vkDestroyFramebuffer, destroyFramebuffer), - VK_NULL_FUNC_ENTRY(vkCreateRenderPass, createRenderPass), - VK_NULL_FUNC_ENTRY(vkDestroyRenderPass, destroyRenderPass), - VK_NULL_FUNC_ENTRY(vkGetRenderAreaGranularity, getRenderAreaGranularity), - VK_NULL_FUNC_ENTRY(vkCreateCommandPool, createCommandPool), - VK_NULL_FUNC_ENTRY(vkDestroyCommandPool, destroyCommandPool), - VK_NULL_FUNC_ENTRY(vkResetCommandPool, resetCommandPool), - VK_NULL_FUNC_ENTRY(vkAllocateCommandBuffers, allocateCommandBuffers), - VK_NULL_FUNC_ENTRY(vkFreeCommandBuffers, freeCommandBuffers), - VK_NULL_FUNC_ENTRY(vkBeginCommandBuffer, beginCommandBuffer), - VK_NULL_FUNC_ENTRY(vkEndCommandBuffer, endCommandBuffer), - VK_NULL_FUNC_ENTRY(vkResetCommandBuffer, resetCommandBuffer), - VK_NULL_FUNC_ENTRY(vkCmdBindPipeline, cmdBindPipeline), - VK_NULL_FUNC_ENTRY(vkCmdSetViewport, cmdSetViewport), - VK_NULL_FUNC_ENTRY(vkCmdSetScissor, cmdSetScissor), - VK_NULL_FUNC_ENTRY(vkCmdSetLineWidth, cmdSetLineWidth), - VK_NULL_FUNC_ENTRY(vkCmdSetDepthBias, cmdSetDepthBias), - VK_NULL_FUNC_ENTRY(vkCmdSetBlendConstants, cmdSetBlendConstants), - VK_NULL_FUNC_ENTRY(vkCmdSetDepthBounds, cmdSetDepthBounds), - VK_NULL_FUNC_ENTRY(vkCmdSetStencilCompareMask, cmdSetStencilCompareMask), - VK_NULL_FUNC_ENTRY(vkCmdSetStencilWriteMask, cmdSetStencilWriteMask), - VK_NULL_FUNC_ENTRY(vkCmdSetStencilReference, cmdSetStencilReference), - VK_NULL_FUNC_ENTRY(vkCmdBindDescriptorSets, cmdBindDescriptorSets), - VK_NULL_FUNC_ENTRY(vkCmdBindIndexBuffer, cmdBindIndexBuffer), - VK_NULL_FUNC_ENTRY(vkCmdBindVertexBuffers, cmdBindVertexBuffers), - VK_NULL_FUNC_ENTRY(vkCmdDraw, cmdDraw), - VK_NULL_FUNC_ENTRY(vkCmdDrawIndexed, cmdDrawIndexed), - VK_NULL_FUNC_ENTRY(vkCmdDrawIndirect, cmdDrawIndirect), - VK_NULL_FUNC_ENTRY(vkCmdDrawIndexedIndirect, cmdDrawIndexedIndirect), - VK_NULL_FUNC_ENTRY(vkCmdDispatch, cmdDispatch), - VK_NULL_FUNC_ENTRY(vkCmdDispatchIndirect, cmdDispatchIndirect), - VK_NULL_FUNC_ENTRY(vkCmdCopyBuffer, cmdCopyBuffer), - VK_NULL_FUNC_ENTRY(vkCmdCopyImage, cmdCopyImage), - VK_NULL_FUNC_ENTRY(vkCmdBlitImage, cmdBlitImage), - VK_NULL_FUNC_ENTRY(vkCmdCopyBufferToImage, cmdCopyBufferToImage), - VK_NULL_FUNC_ENTRY(vkCmdCopyImageToBuffer, cmdCopyImageToBuffer), - VK_NULL_FUNC_ENTRY(vkCmdUpdateBuffer, cmdUpdateBuffer), - VK_NULL_FUNC_ENTRY(vkCmdFillBuffer, cmdFillBuffer), - VK_NULL_FUNC_ENTRY(vkCmdClearColorImage, cmdClearColorImage), - VK_NULL_FUNC_ENTRY(vkCmdClearDepthStencilImage, cmdClearDepthStencilImage), - VK_NULL_FUNC_ENTRY(vkCmdClearAttachments, cmdClearAttachments), - VK_NULL_FUNC_ENTRY(vkCmdResolveImage, cmdResolveImage), - VK_NULL_FUNC_ENTRY(vkCmdSetEvent, cmdSetEvent), - VK_NULL_FUNC_ENTRY(vkCmdResetEvent, cmdResetEvent), - VK_NULL_FUNC_ENTRY(vkCmdWaitEvents, cmdWaitEvents), - VK_NULL_FUNC_ENTRY(vkCmdPipelineBarrier, cmdPipelineBarrier), - VK_NULL_FUNC_ENTRY(vkCmdBeginQuery, cmdBeginQuery), - VK_NULL_FUNC_ENTRY(vkCmdEndQuery, cmdEndQuery), - VK_NULL_FUNC_ENTRY(vkCmdResetQueryPool, cmdResetQueryPool), - VK_NULL_FUNC_ENTRY(vkCmdWriteTimestamp, cmdWriteTimestamp), - VK_NULL_FUNC_ENTRY(vkCmdCopyQueryPoolResults, cmdCopyQueryPoolResults), - VK_NULL_FUNC_ENTRY(vkCmdPushConstants, cmdPushConstants), - VK_NULL_FUNC_ENTRY(vkCmdBeginRenderPass, cmdBeginRenderPass), - VK_NULL_FUNC_ENTRY(vkCmdNextSubpass, cmdNextSubpass), - VK_NULL_FUNC_ENTRY(vkCmdEndRenderPass, cmdEndRenderPass), - VK_NULL_FUNC_ENTRY(vkCmdExecuteCommands, cmdExecuteCommands), - VK_NULL_FUNC_ENTRY(vkBindBufferMemory2, bindBufferMemory2), - VK_NULL_FUNC_ENTRY(vkBindImageMemory2, bindImageMemory2), - VK_NULL_FUNC_ENTRY(vkGetDeviceGroupPeerMemoryFeatures, getDeviceGroupPeerMemoryFeatures), - VK_NULL_FUNC_ENTRY(vkCmdSetDeviceMask, cmdSetDeviceMask), - VK_NULL_FUNC_ENTRY(vkCmdDispatchBase, cmdDispatchBase), - VK_NULL_FUNC_ENTRY(vkGetImageMemoryRequirements2, getImageMemoryRequirements2), - VK_NULL_FUNC_ENTRY(vkGetBufferMemoryRequirements2, getBufferMemoryRequirements2), - VK_NULL_FUNC_ENTRY(vkGetImageSparseMemoryRequirements2, getImageSparseMemoryRequirements2), - VK_NULL_FUNC_ENTRY(vkTrimCommandPool, trimCommandPool), - VK_NULL_FUNC_ENTRY(vkGetDeviceQueue2, getDeviceQueue2), - VK_NULL_FUNC_ENTRY(vkCreateSamplerYcbcrConversion, createSamplerYcbcrConversion), - VK_NULL_FUNC_ENTRY(vkDestroySamplerYcbcrConversion, destroySamplerYcbcrConversion), - VK_NULL_FUNC_ENTRY(vkCreateDescriptorUpdateTemplate, createDescriptorUpdateTemplate), - VK_NULL_FUNC_ENTRY(vkDestroyDescriptorUpdateTemplate, destroyDescriptorUpdateTemplate), - VK_NULL_FUNC_ENTRY(vkUpdateDescriptorSetWithTemplate, updateDescriptorSetWithTemplate), - VK_NULL_FUNC_ENTRY(vkGetDescriptorSetLayoutSupport, getDescriptorSetLayoutSupport), - VK_NULL_FUNC_ENTRY(vkCreateSwapchainKHR, createSwapchainKHR), - VK_NULL_FUNC_ENTRY(vkDestroySwapchainKHR, destroySwapchainKHR), - VK_NULL_FUNC_ENTRY(vkGetSwapchainImagesKHR, getSwapchainImagesKHR), - VK_NULL_FUNC_ENTRY(vkAcquireNextImageKHR, acquireNextImageKHR), - VK_NULL_FUNC_ENTRY(vkQueuePresentKHR, queuePresentKHR), - VK_NULL_FUNC_ENTRY(vkGetDeviceGroupPresentCapabilitiesKHR, getDeviceGroupPresentCapabilitiesKHR), - VK_NULL_FUNC_ENTRY(vkGetDeviceGroupSurfacePresentModesKHR, getDeviceGroupSurfacePresentModesKHR), - VK_NULL_FUNC_ENTRY(vkAcquireNextImage2KHR, acquireNextImage2KHR), - VK_NULL_FUNC_ENTRY(vkCreateSharedSwapchainsKHR, createSharedSwapchainsKHR), - VK_NULL_FUNC_ENTRY(vkCmdDispatchBaseKHR, cmdDispatchBase), - VK_NULL_FUNC_ENTRY(vkCmdSetDeviceMaskKHR, cmdSetDeviceMask), - VK_NULL_FUNC_ENTRY(vkGetDeviceGroupPeerMemoryFeaturesKHR, getDeviceGroupPeerMemoryFeatures), - VK_NULL_FUNC_ENTRY(vkTrimCommandPoolKHR, trimCommandPool), - VK_NULL_FUNC_ENTRY(vkGetMemoryWin32HandleKHR, getMemoryWin32HandleKHR), - VK_NULL_FUNC_ENTRY(vkGetMemoryWin32HandlePropertiesKHR, getMemoryWin32HandlePropertiesKHR), - VK_NULL_FUNC_ENTRY(vkGetMemoryFdKHR, getMemoryFdKHR), - VK_NULL_FUNC_ENTRY(vkGetMemoryFdPropertiesKHR, getMemoryFdPropertiesKHR), - VK_NULL_FUNC_ENTRY(vkImportSemaphoreWin32HandleKHR, importSemaphoreWin32HandleKHR), - VK_NULL_FUNC_ENTRY(vkGetSemaphoreWin32HandleKHR, getSemaphoreWin32HandleKHR), - VK_NULL_FUNC_ENTRY(vkImportSemaphoreFdKHR, importSemaphoreFdKHR), - VK_NULL_FUNC_ENTRY(vkGetSemaphoreFdKHR, getSemaphoreFdKHR), - VK_NULL_FUNC_ENTRY(vkCmdPushDescriptorSetKHR, cmdPushDescriptorSetKHR), - VK_NULL_FUNC_ENTRY(vkCmdPushDescriptorSetWithTemplateKHR, cmdPushDescriptorSetWithTemplateKHR), - VK_NULL_FUNC_ENTRY(vkCreateDescriptorUpdateTemplateKHR, createDescriptorUpdateTemplate), - VK_NULL_FUNC_ENTRY(vkDestroyDescriptorUpdateTemplateKHR, destroyDescriptorUpdateTemplate), - VK_NULL_FUNC_ENTRY(vkUpdateDescriptorSetWithTemplateKHR, updateDescriptorSetWithTemplate), - VK_NULL_FUNC_ENTRY(vkGetSwapchainStatusKHR, getSwapchainStatusKHR), - VK_NULL_FUNC_ENTRY(vkImportFenceWin32HandleKHR, importFenceWin32HandleKHR), - VK_NULL_FUNC_ENTRY(vkGetFenceWin32HandleKHR, getFenceWin32HandleKHR), - VK_NULL_FUNC_ENTRY(vkImportFenceFdKHR, importFenceFdKHR), - VK_NULL_FUNC_ENTRY(vkGetFenceFdKHR, getFenceFdKHR), - VK_NULL_FUNC_ENTRY(vkGetBufferMemoryRequirements2KHR, getBufferMemoryRequirements2), - VK_NULL_FUNC_ENTRY(vkGetImageMemoryRequirements2KHR, getImageMemoryRequirements2), - VK_NULL_FUNC_ENTRY(vkGetImageSparseMemoryRequirements2KHR, getImageSparseMemoryRequirements2), - VK_NULL_FUNC_ENTRY(vkCreateSamplerYcbcrConversionKHR, createSamplerYcbcrConversion), - VK_NULL_FUNC_ENTRY(vkDestroySamplerYcbcrConversionKHR, destroySamplerYcbcrConversion), - VK_NULL_FUNC_ENTRY(vkBindBufferMemory2KHR, bindBufferMemory2), - VK_NULL_FUNC_ENTRY(vkBindImageMemory2KHR, bindImageMemory2), - VK_NULL_FUNC_ENTRY(vkGetDescriptorSetLayoutSupportKHR, getDescriptorSetLayoutSupport), - VK_NULL_FUNC_ENTRY(vkDebugMarkerSetObjectTagEXT, debugMarkerSetObjectTagEXT), - VK_NULL_FUNC_ENTRY(vkDebugMarkerSetObjectNameEXT, debugMarkerSetObjectNameEXT), - VK_NULL_FUNC_ENTRY(vkCmdDebugMarkerBeginEXT, cmdDebugMarkerBeginEXT), - VK_NULL_FUNC_ENTRY(vkCmdDebugMarkerEndEXT, cmdDebugMarkerEndEXT), - VK_NULL_FUNC_ENTRY(vkCmdDebugMarkerInsertEXT, cmdDebugMarkerInsertEXT), - VK_NULL_FUNC_ENTRY(vkCmdDrawIndirectCountAMD, cmdDrawIndirectCountAMD), - VK_NULL_FUNC_ENTRY(vkCmdDrawIndexedIndirectCountAMD, cmdDrawIndexedIndirectCountAMD), - VK_NULL_FUNC_ENTRY(vkGetMemoryWin32HandleNV, getMemoryWin32HandleNV), - VK_NULL_FUNC_ENTRY(vkCmdProcessCommandsNVX, cmdProcessCommandsNVX), - VK_NULL_FUNC_ENTRY(vkCmdReserveSpaceForCommandsNVX, cmdReserveSpaceForCommandsNVX), - VK_NULL_FUNC_ENTRY(vkCreateIndirectCommandsLayoutNVX, createIndirectCommandsLayoutNVX), - VK_NULL_FUNC_ENTRY(vkDestroyIndirectCommandsLayoutNVX, destroyIndirectCommandsLayoutNVX), - VK_NULL_FUNC_ENTRY(vkCreateObjectTableNVX, createObjectTableNVX), - VK_NULL_FUNC_ENTRY(vkDestroyObjectTableNVX, destroyObjectTableNVX), - VK_NULL_FUNC_ENTRY(vkRegisterObjectsNVX, registerObjectsNVX), - VK_NULL_FUNC_ENTRY(vkUnregisterObjectsNVX, unregisterObjectsNVX), - VK_NULL_FUNC_ENTRY(vkCmdSetViewportWScalingNV, cmdSetViewportWScalingNV), - VK_NULL_FUNC_ENTRY(vkDisplayPowerControlEXT, displayPowerControlEXT), - VK_NULL_FUNC_ENTRY(vkRegisterDeviceEventEXT, registerDeviceEventEXT), - VK_NULL_FUNC_ENTRY(vkRegisterDisplayEventEXT, registerDisplayEventEXT), - VK_NULL_FUNC_ENTRY(vkGetSwapchainCounterEXT, getSwapchainCounterEXT), - VK_NULL_FUNC_ENTRY(vkGetRefreshCycleDurationGOOGLE, getRefreshCycleDurationGOOGLE), - VK_NULL_FUNC_ENTRY(vkGetPastPresentationTimingGOOGLE, getPastPresentationTimingGOOGLE), - VK_NULL_FUNC_ENTRY(vkCmdSetDiscardRectangleEXT, cmdSetDiscardRectangleEXT), - VK_NULL_FUNC_ENTRY(vkSetHdrMetadataEXT, setHdrMetadataEXT), - VK_NULL_FUNC_ENTRY(vkCmdSetSampleLocationsEXT, cmdSetSampleLocationsEXT), - VK_NULL_FUNC_ENTRY(vkCreateValidationCacheEXT, createValidationCacheEXT), - VK_NULL_FUNC_ENTRY(vkDestroyValidationCacheEXT, destroyValidationCacheEXT), - VK_NULL_FUNC_ENTRY(vkMergeValidationCachesEXT, mergeValidationCachesEXT), - VK_NULL_FUNC_ENTRY(vkGetValidationCacheDataEXT, getValidationCacheDataEXT), - VK_NULL_FUNC_ENTRY(vkGetMemoryAndroidHardwareBufferPropertiesANDROID, getMemoryAndroidHardwareBufferPropertiesANDROID), - VK_NULL_FUNC_ENTRY(vkGetMemoryAndroidHardwareBufferANDROID, getMemoryAndroidHardwareBufferANDROID), + VK_NULL_FUNC_ENTRY(vkDestroyDevice, destroyDevice), + VK_NULL_FUNC_ENTRY(vkGetDeviceQueue, getDeviceQueue), + VK_NULL_FUNC_ENTRY(vkQueueSubmit, queueSubmit), + VK_NULL_FUNC_ENTRY(vkQueueWaitIdle, queueWaitIdle), + VK_NULL_FUNC_ENTRY(vkDeviceWaitIdle, deviceWaitIdle), + VK_NULL_FUNC_ENTRY(vkAllocateMemory, allocateMemory), + VK_NULL_FUNC_ENTRY(vkFreeMemory, freeMemory), + VK_NULL_FUNC_ENTRY(vkMapMemory, mapMemory), + VK_NULL_FUNC_ENTRY(vkUnmapMemory, unmapMemory), + VK_NULL_FUNC_ENTRY(vkFlushMappedMemoryRanges, flushMappedMemoryRanges), + VK_NULL_FUNC_ENTRY(vkInvalidateMappedMemoryRanges, invalidateMappedMemoryRanges), + VK_NULL_FUNC_ENTRY(vkGetDeviceMemoryCommitment, getDeviceMemoryCommitment), + VK_NULL_FUNC_ENTRY(vkBindBufferMemory, bindBufferMemory), + VK_NULL_FUNC_ENTRY(vkBindImageMemory, bindImageMemory), + VK_NULL_FUNC_ENTRY(vkGetBufferMemoryRequirements, getBufferMemoryRequirements), + VK_NULL_FUNC_ENTRY(vkGetImageMemoryRequirements, getImageMemoryRequirements), + VK_NULL_FUNC_ENTRY(vkGetImageSparseMemoryRequirements, getImageSparseMemoryRequirements), + VK_NULL_FUNC_ENTRY(vkQueueBindSparse, queueBindSparse), + VK_NULL_FUNC_ENTRY(vkCreateFence, createFence), + VK_NULL_FUNC_ENTRY(vkDestroyFence, destroyFence), + VK_NULL_FUNC_ENTRY(vkResetFences, resetFences), + VK_NULL_FUNC_ENTRY(vkGetFenceStatus, getFenceStatus), + VK_NULL_FUNC_ENTRY(vkWaitForFences, waitForFences), + VK_NULL_FUNC_ENTRY(vkCreateSemaphore, createSemaphore), + VK_NULL_FUNC_ENTRY(vkDestroySemaphore, destroySemaphore), + VK_NULL_FUNC_ENTRY(vkCreateEvent, createEvent), + VK_NULL_FUNC_ENTRY(vkDestroyEvent, destroyEvent), + VK_NULL_FUNC_ENTRY(vkGetEventStatus, getEventStatus), + VK_NULL_FUNC_ENTRY(vkSetEvent, setEvent), + VK_NULL_FUNC_ENTRY(vkResetEvent, resetEvent), + VK_NULL_FUNC_ENTRY(vkCreateQueryPool, createQueryPool), + VK_NULL_FUNC_ENTRY(vkDestroyQueryPool, destroyQueryPool), + VK_NULL_FUNC_ENTRY(vkGetQueryPoolResults, getQueryPoolResults), + VK_NULL_FUNC_ENTRY(vkCreateBuffer, createBuffer), + VK_NULL_FUNC_ENTRY(vkDestroyBuffer, destroyBuffer), + VK_NULL_FUNC_ENTRY(vkCreateBufferView, createBufferView), + VK_NULL_FUNC_ENTRY(vkDestroyBufferView, destroyBufferView), + VK_NULL_FUNC_ENTRY(vkCreateImage, createImage), + VK_NULL_FUNC_ENTRY(vkDestroyImage, destroyImage), + VK_NULL_FUNC_ENTRY(vkGetImageSubresourceLayout, getImageSubresourceLayout), + VK_NULL_FUNC_ENTRY(vkCreateImageView, createImageView), + VK_NULL_FUNC_ENTRY(vkDestroyImageView, destroyImageView), + VK_NULL_FUNC_ENTRY(vkCreateShaderModule, createShaderModule), + VK_NULL_FUNC_ENTRY(vkDestroyShaderModule, destroyShaderModule), + VK_NULL_FUNC_ENTRY(vkCreatePipelineCache, createPipelineCache), + VK_NULL_FUNC_ENTRY(vkDestroyPipelineCache, destroyPipelineCache), + VK_NULL_FUNC_ENTRY(vkGetPipelineCacheData, getPipelineCacheData), + VK_NULL_FUNC_ENTRY(vkMergePipelineCaches, mergePipelineCaches), + VK_NULL_FUNC_ENTRY(vkCreateGraphicsPipelines, createGraphicsPipelines), + VK_NULL_FUNC_ENTRY(vkCreateComputePipelines, createComputePipelines), + VK_NULL_FUNC_ENTRY(vkDestroyPipeline, destroyPipeline), + VK_NULL_FUNC_ENTRY(vkCreatePipelineLayout, createPipelineLayout), + VK_NULL_FUNC_ENTRY(vkDestroyPipelineLayout, destroyPipelineLayout), + VK_NULL_FUNC_ENTRY(vkCreateSampler, createSampler), + VK_NULL_FUNC_ENTRY(vkDestroySampler, destroySampler), + VK_NULL_FUNC_ENTRY(vkCreateDescriptorSetLayout, createDescriptorSetLayout), + VK_NULL_FUNC_ENTRY(vkDestroyDescriptorSetLayout, destroyDescriptorSetLayout), + VK_NULL_FUNC_ENTRY(vkCreateDescriptorPool, createDescriptorPool), + VK_NULL_FUNC_ENTRY(vkDestroyDescriptorPool, destroyDescriptorPool), + VK_NULL_FUNC_ENTRY(vkResetDescriptorPool, resetDescriptorPool), + VK_NULL_FUNC_ENTRY(vkAllocateDescriptorSets, allocateDescriptorSets), + VK_NULL_FUNC_ENTRY(vkFreeDescriptorSets, freeDescriptorSets), + VK_NULL_FUNC_ENTRY(vkUpdateDescriptorSets, updateDescriptorSets), + VK_NULL_FUNC_ENTRY(vkCreateFramebuffer, createFramebuffer), + VK_NULL_FUNC_ENTRY(vkDestroyFramebuffer, destroyFramebuffer), + VK_NULL_FUNC_ENTRY(vkCreateRenderPass, createRenderPass), + VK_NULL_FUNC_ENTRY(vkDestroyRenderPass, destroyRenderPass), + VK_NULL_FUNC_ENTRY(vkGetRenderAreaGranularity, getRenderAreaGranularity), + VK_NULL_FUNC_ENTRY(vkCreateCommandPool, createCommandPool), + VK_NULL_FUNC_ENTRY(vkDestroyCommandPool, destroyCommandPool), + VK_NULL_FUNC_ENTRY(vkResetCommandPool, resetCommandPool), + VK_NULL_FUNC_ENTRY(vkAllocateCommandBuffers, allocateCommandBuffers), + VK_NULL_FUNC_ENTRY(vkFreeCommandBuffers, freeCommandBuffers), + VK_NULL_FUNC_ENTRY(vkBeginCommandBuffer, beginCommandBuffer), + VK_NULL_FUNC_ENTRY(vkEndCommandBuffer, endCommandBuffer), + VK_NULL_FUNC_ENTRY(vkResetCommandBuffer, resetCommandBuffer), + VK_NULL_FUNC_ENTRY(vkCmdBindPipeline, cmdBindPipeline), + VK_NULL_FUNC_ENTRY(vkCmdSetViewport, cmdSetViewport), + VK_NULL_FUNC_ENTRY(vkCmdSetScissor, cmdSetScissor), + VK_NULL_FUNC_ENTRY(vkCmdSetLineWidth, cmdSetLineWidth), + VK_NULL_FUNC_ENTRY(vkCmdSetDepthBias, cmdSetDepthBias), + VK_NULL_FUNC_ENTRY(vkCmdSetBlendConstants, cmdSetBlendConstants), + VK_NULL_FUNC_ENTRY(vkCmdSetDepthBounds, cmdSetDepthBounds), + VK_NULL_FUNC_ENTRY(vkCmdSetStencilCompareMask, cmdSetStencilCompareMask), + VK_NULL_FUNC_ENTRY(vkCmdSetStencilWriteMask, cmdSetStencilWriteMask), + VK_NULL_FUNC_ENTRY(vkCmdSetStencilReference, cmdSetStencilReference), + VK_NULL_FUNC_ENTRY(vkCmdBindDescriptorSets, cmdBindDescriptorSets), + VK_NULL_FUNC_ENTRY(vkCmdBindIndexBuffer, cmdBindIndexBuffer), + VK_NULL_FUNC_ENTRY(vkCmdBindVertexBuffers, cmdBindVertexBuffers), + VK_NULL_FUNC_ENTRY(vkCmdDraw, cmdDraw), + VK_NULL_FUNC_ENTRY(vkCmdDrawIndexed, cmdDrawIndexed), + VK_NULL_FUNC_ENTRY(vkCmdDrawIndirect, cmdDrawIndirect), + VK_NULL_FUNC_ENTRY(vkCmdDrawIndexedIndirect, cmdDrawIndexedIndirect), + VK_NULL_FUNC_ENTRY(vkCmdDispatch, cmdDispatch), + VK_NULL_FUNC_ENTRY(vkCmdDispatchIndirect, cmdDispatchIndirect), + VK_NULL_FUNC_ENTRY(vkCmdCopyBuffer, cmdCopyBuffer), + VK_NULL_FUNC_ENTRY(vkCmdCopyImage, cmdCopyImage), + VK_NULL_FUNC_ENTRY(vkCmdBlitImage, cmdBlitImage), + VK_NULL_FUNC_ENTRY(vkCmdCopyBufferToImage, cmdCopyBufferToImage), + VK_NULL_FUNC_ENTRY(vkCmdCopyImageToBuffer, cmdCopyImageToBuffer), + VK_NULL_FUNC_ENTRY(vkCmdUpdateBuffer, cmdUpdateBuffer), + VK_NULL_FUNC_ENTRY(vkCmdFillBuffer, cmdFillBuffer), + VK_NULL_FUNC_ENTRY(vkCmdClearColorImage, cmdClearColorImage), + VK_NULL_FUNC_ENTRY(vkCmdClearDepthStencilImage, cmdClearDepthStencilImage), + VK_NULL_FUNC_ENTRY(vkCmdClearAttachments, cmdClearAttachments), + VK_NULL_FUNC_ENTRY(vkCmdResolveImage, cmdResolveImage), + VK_NULL_FUNC_ENTRY(vkCmdSetEvent, cmdSetEvent), + VK_NULL_FUNC_ENTRY(vkCmdResetEvent, cmdResetEvent), + VK_NULL_FUNC_ENTRY(vkCmdWaitEvents, cmdWaitEvents), + VK_NULL_FUNC_ENTRY(vkCmdPipelineBarrier, cmdPipelineBarrier), + VK_NULL_FUNC_ENTRY(vkCmdBeginQuery, cmdBeginQuery), + VK_NULL_FUNC_ENTRY(vkCmdEndQuery, cmdEndQuery), + VK_NULL_FUNC_ENTRY(vkCmdResetQueryPool, cmdResetQueryPool), + VK_NULL_FUNC_ENTRY(vkCmdWriteTimestamp, cmdWriteTimestamp), + VK_NULL_FUNC_ENTRY(vkCmdCopyQueryPoolResults, cmdCopyQueryPoolResults), + VK_NULL_FUNC_ENTRY(vkCmdPushConstants, cmdPushConstants), + VK_NULL_FUNC_ENTRY(vkCmdBeginRenderPass, cmdBeginRenderPass), + VK_NULL_FUNC_ENTRY(vkCmdNextSubpass, cmdNextSubpass), + VK_NULL_FUNC_ENTRY(vkCmdEndRenderPass, cmdEndRenderPass), + VK_NULL_FUNC_ENTRY(vkCmdExecuteCommands, cmdExecuteCommands), + VK_NULL_FUNC_ENTRY(vkBindBufferMemory2, bindBufferMemory2), + VK_NULL_FUNC_ENTRY(vkBindImageMemory2, bindImageMemory2), + VK_NULL_FUNC_ENTRY(vkGetDeviceGroupPeerMemoryFeatures, getDeviceGroupPeerMemoryFeatures), + VK_NULL_FUNC_ENTRY(vkCmdSetDeviceMask, cmdSetDeviceMask), + VK_NULL_FUNC_ENTRY(vkCmdDispatchBase, cmdDispatchBase), + VK_NULL_FUNC_ENTRY(vkGetImageMemoryRequirements2, getImageMemoryRequirements2), + VK_NULL_FUNC_ENTRY(vkGetBufferMemoryRequirements2, getBufferMemoryRequirements2), + VK_NULL_FUNC_ENTRY(vkGetImageSparseMemoryRequirements2, getImageSparseMemoryRequirements2), + VK_NULL_FUNC_ENTRY(vkTrimCommandPool, trimCommandPool), + VK_NULL_FUNC_ENTRY(vkGetDeviceQueue2, getDeviceQueue2), + VK_NULL_FUNC_ENTRY(vkCreateSamplerYcbcrConversion, createSamplerYcbcrConversion), + VK_NULL_FUNC_ENTRY(vkDestroySamplerYcbcrConversion, destroySamplerYcbcrConversion), + VK_NULL_FUNC_ENTRY(vkCreateDescriptorUpdateTemplate, createDescriptorUpdateTemplate), + VK_NULL_FUNC_ENTRY(vkDestroyDescriptorUpdateTemplate, destroyDescriptorUpdateTemplate), + VK_NULL_FUNC_ENTRY(vkUpdateDescriptorSetWithTemplate, updateDescriptorSetWithTemplate), + VK_NULL_FUNC_ENTRY(vkGetDescriptorSetLayoutSupport, getDescriptorSetLayoutSupport), + VK_NULL_FUNC_ENTRY(vkCreateSwapchainKHR, createSwapchainKHR), + VK_NULL_FUNC_ENTRY(vkDestroySwapchainKHR, destroySwapchainKHR), + VK_NULL_FUNC_ENTRY(vkGetSwapchainImagesKHR, getSwapchainImagesKHR), + VK_NULL_FUNC_ENTRY(vkAcquireNextImageKHR, acquireNextImageKHR), + VK_NULL_FUNC_ENTRY(vkQueuePresentKHR, queuePresentKHR), + VK_NULL_FUNC_ENTRY(vkGetDeviceGroupPresentCapabilitiesKHR, getDeviceGroupPresentCapabilitiesKHR), + VK_NULL_FUNC_ENTRY(vkGetDeviceGroupSurfacePresentModesKHR, getDeviceGroupSurfacePresentModesKHR), + VK_NULL_FUNC_ENTRY(vkAcquireNextImage2KHR, acquireNextImage2KHR), + VK_NULL_FUNC_ENTRY(vkCreateSharedSwapchainsKHR, createSharedSwapchainsKHR), + VK_NULL_FUNC_ENTRY(vkCmdDispatchBaseKHR, cmdDispatchBase), + VK_NULL_FUNC_ENTRY(vkCmdSetDeviceMaskKHR, cmdSetDeviceMask), + VK_NULL_FUNC_ENTRY(vkGetDeviceGroupPeerMemoryFeaturesKHR, getDeviceGroupPeerMemoryFeatures), + VK_NULL_FUNC_ENTRY(vkTrimCommandPoolKHR, trimCommandPool), + VK_NULL_FUNC_ENTRY(vkGetMemoryWin32HandleKHR, getMemoryWin32HandleKHR), + VK_NULL_FUNC_ENTRY(vkGetMemoryWin32HandlePropertiesKHR, getMemoryWin32HandlePropertiesKHR), + VK_NULL_FUNC_ENTRY(vkGetMemoryFdKHR, getMemoryFdKHR), + VK_NULL_FUNC_ENTRY(vkGetMemoryFdPropertiesKHR, getMemoryFdPropertiesKHR), + VK_NULL_FUNC_ENTRY(vkImportSemaphoreWin32HandleKHR, importSemaphoreWin32HandleKHR), + VK_NULL_FUNC_ENTRY(vkGetSemaphoreWin32HandleKHR, getSemaphoreWin32HandleKHR), + VK_NULL_FUNC_ENTRY(vkImportSemaphoreFdKHR, importSemaphoreFdKHR), + VK_NULL_FUNC_ENTRY(vkGetSemaphoreFdKHR, getSemaphoreFdKHR), + VK_NULL_FUNC_ENTRY(vkCmdPushDescriptorSetKHR, cmdPushDescriptorSetKHR), + VK_NULL_FUNC_ENTRY(vkCmdPushDescriptorSetWithTemplateKHR, cmdPushDescriptorSetWithTemplateKHR), + VK_NULL_FUNC_ENTRY(vkCreateDescriptorUpdateTemplateKHR, createDescriptorUpdateTemplate), + VK_NULL_FUNC_ENTRY(vkDestroyDescriptorUpdateTemplateKHR, destroyDescriptorUpdateTemplate), + VK_NULL_FUNC_ENTRY(vkUpdateDescriptorSetWithTemplateKHR, updateDescriptorSetWithTemplate), + VK_NULL_FUNC_ENTRY(vkGetSwapchainStatusKHR, getSwapchainStatusKHR), + VK_NULL_FUNC_ENTRY(vkImportFenceWin32HandleKHR, importFenceWin32HandleKHR), + VK_NULL_FUNC_ENTRY(vkGetFenceWin32HandleKHR, getFenceWin32HandleKHR), + VK_NULL_FUNC_ENTRY(vkImportFenceFdKHR, importFenceFdKHR), + VK_NULL_FUNC_ENTRY(vkGetFenceFdKHR, getFenceFdKHR), + VK_NULL_FUNC_ENTRY(vkGetBufferMemoryRequirements2KHR, getBufferMemoryRequirements2), + VK_NULL_FUNC_ENTRY(vkGetImageMemoryRequirements2KHR, getImageMemoryRequirements2), + VK_NULL_FUNC_ENTRY(vkGetImageSparseMemoryRequirements2KHR, getImageSparseMemoryRequirements2), + VK_NULL_FUNC_ENTRY(vkCreateSamplerYcbcrConversionKHR, createSamplerYcbcrConversion), + VK_NULL_FUNC_ENTRY(vkDestroySamplerYcbcrConversionKHR, destroySamplerYcbcrConversion), + VK_NULL_FUNC_ENTRY(vkBindBufferMemory2KHR, bindBufferMemory2), + VK_NULL_FUNC_ENTRY(vkBindImageMemory2KHR, bindImageMemory2), + VK_NULL_FUNC_ENTRY(vkGetDescriptorSetLayoutSupportKHR, getDescriptorSetLayoutSupport), + VK_NULL_FUNC_ENTRY(vkDebugMarkerSetObjectTagEXT, debugMarkerSetObjectTagEXT), + VK_NULL_FUNC_ENTRY(vkDebugMarkerSetObjectNameEXT, debugMarkerSetObjectNameEXT), + VK_NULL_FUNC_ENTRY(vkCmdDebugMarkerBeginEXT, cmdDebugMarkerBeginEXT), + VK_NULL_FUNC_ENTRY(vkCmdDebugMarkerEndEXT, cmdDebugMarkerEndEXT), + VK_NULL_FUNC_ENTRY(vkCmdDebugMarkerInsertEXT, cmdDebugMarkerInsertEXT), + VK_NULL_FUNC_ENTRY(vkCmdDrawIndirectCountAMD, cmdDrawIndirectCountAMD), + VK_NULL_FUNC_ENTRY(vkCmdDrawIndexedIndirectCountAMD, cmdDrawIndexedIndirectCountAMD), + VK_NULL_FUNC_ENTRY(vkGetMemoryWin32HandleNV, getMemoryWin32HandleNV), + VK_NULL_FUNC_ENTRY(vkCmdProcessCommandsNVX, cmdProcessCommandsNVX), + VK_NULL_FUNC_ENTRY(vkCmdReserveSpaceForCommandsNVX, cmdReserveSpaceForCommandsNVX), + VK_NULL_FUNC_ENTRY(vkCreateIndirectCommandsLayoutNVX, createIndirectCommandsLayoutNVX), + VK_NULL_FUNC_ENTRY(vkDestroyIndirectCommandsLayoutNVX, destroyIndirectCommandsLayoutNVX), + VK_NULL_FUNC_ENTRY(vkCreateObjectTableNVX, createObjectTableNVX), + VK_NULL_FUNC_ENTRY(vkDestroyObjectTableNVX, destroyObjectTableNVX), + VK_NULL_FUNC_ENTRY(vkRegisterObjectsNVX, registerObjectsNVX), + VK_NULL_FUNC_ENTRY(vkUnregisterObjectsNVX, unregisterObjectsNVX), + VK_NULL_FUNC_ENTRY(vkCmdSetViewportWScalingNV, cmdSetViewportWScalingNV), + VK_NULL_FUNC_ENTRY(vkDisplayPowerControlEXT, displayPowerControlEXT), + VK_NULL_FUNC_ENTRY(vkRegisterDeviceEventEXT, registerDeviceEventEXT), + VK_NULL_FUNC_ENTRY(vkRegisterDisplayEventEXT, registerDisplayEventEXT), + VK_NULL_FUNC_ENTRY(vkGetSwapchainCounterEXT, getSwapchainCounterEXT), + VK_NULL_FUNC_ENTRY(vkGetRefreshCycleDurationGOOGLE, getRefreshCycleDurationGOOGLE), + VK_NULL_FUNC_ENTRY(vkGetPastPresentationTimingGOOGLE, getPastPresentationTimingGOOGLE), + VK_NULL_FUNC_ENTRY(vkCmdSetDiscardRectangleEXT, cmdSetDiscardRectangleEXT), + VK_NULL_FUNC_ENTRY(vkSetHdrMetadataEXT, setHdrMetadataEXT), + VK_NULL_FUNC_ENTRY(vkCmdSetSampleLocationsEXT, cmdSetSampleLocationsEXT), + VK_NULL_FUNC_ENTRY(vkCreateValidationCacheEXT, createValidationCacheEXT), + VK_NULL_FUNC_ENTRY(vkDestroyValidationCacheEXT, destroyValidationCacheEXT), + VK_NULL_FUNC_ENTRY(vkMergeValidationCachesEXT, mergeValidationCachesEXT), + VK_NULL_FUNC_ENTRY(vkGetValidationCacheDataEXT, getValidationCacheDataEXT), + VK_NULL_FUNC_ENTRY(vkGetAndroidHardwareBufferPropertiesANDROID, getAndroidHardwareBufferPropertiesANDROID), + VK_NULL_FUNC_ENTRY(vkGetMemoryAndroidHardwareBufferANDROID, getMemoryAndroidHardwareBufferANDROID), }; diff --git a/external/vulkancts/framework/vulkan/vkStrUtil.inl b/external/vulkancts/framework/vulkan/vkStrUtil.inl index 8b54b12..3bb342c 100644 --- a/external/vulkancts/framework/vulkan/vkStrUtil.inl +++ b/external/vulkancts/framework/vulkan/vkStrUtil.inl @@ -572,10 +572,9 @@ std::ostream& operator<< (std::ostream& s, const VkPipelineCoverageToColorStateC std::ostream& operator<< (std::ostream& s, const VkPipelineCoverageModulationStateCreateInfoNV& value); std::ostream& operator<< (std::ostream& s, const VkValidationCacheCreateInfoEXT& value); std::ostream& operator<< (std::ostream& s, const VkShaderModuleValidationCacheCreateInfoEXT& value); -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceAndroidHardwareBufferInfoANDROID& value); std::ostream& operator<< (std::ostream& s, const VkAndroidHardwareBufferUsageANDROID& value); -std::ostream& operator<< (std::ostream& s, const VkMemoryAndroidHardwareBufferPropertiesANDROID& value); +std::ostream& operator<< (std::ostream& s, const VkAndroidHardwareBufferPropertiesANDROID& value); +std::ostream& operator<< (std::ostream& s, const VkAndroidHardwareBufferFormatPropertiesANDROID& value); std::ostream& operator<< (std::ostream& s, const VkImportAndroidHardwareBufferInfoANDROID& value); std::ostream& operator<< (std::ostream& s, const VkMemoryGetAndroidHardwareBufferInfoANDROID& value); -std::ostream& operator<< (std::ostream& s, const VkAndroidHardwareBufferExternalFormatPropertiesANDROID& value); std::ostream& operator<< (std::ostream& s, const VkExternalFormatANDROID& value); diff --git a/external/vulkancts/framework/vulkan/vkStrUtilImpl.inl b/external/vulkancts/framework/vulkan/vkStrUtilImpl.inl index be0a74e..c4e3ba1 100644 --- a/external/vulkancts/framework/vulkan/vkStrUtilImpl.inl +++ b/external/vulkancts/framework/vulkan/vkStrUtilImpl.inl @@ -161,13 +161,6 @@ const char* getStructureTypeName (VkStructureType value) case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES"; case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: return "VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS"; case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: return "VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ANDROID_HARDWARE_BUFFER_INFO_ANDROID: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ANDROID_HARDWARE_BUFFER_INFO_ANDROID"; - case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID: return "VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID"; - case VK_STRUCTURE_TYPE_MEMORY_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID: return "VK_STRUCTURE_TYPE_MEMORY_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID"; - case VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID: return "VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID"; - case VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID: return "VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID"; - case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_EXTERNAL_FORMAT_PROPERTIES_ANDROID: return "VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_EXTERNAL_FORMAT_PROPERTIES_ANDROID"; - case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID: return "VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID"; case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: return "VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO"; case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: return "VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO"; case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: return "VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO"; @@ -310,6 +303,12 @@ const char* getStructureTypeName (VkStructureType value) case VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR: return "VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR"; case VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK: return "VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK"; case VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK: return "VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK"; + case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID: return "VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID"; + case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID: return "VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID"; + case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID: return "VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID"; + case VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID: return "VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID"; + case VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID: return "VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID"; + case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID: return "VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT"; case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT"; case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT: return "VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT"; @@ -5948,36 +5947,39 @@ std::ostream& operator<< (std::ostream& s, const VkShaderModuleValidationCacheCr return s; } -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceAndroidHardwareBufferInfoANDROID& value) +std::ostream& operator<< (std::ostream& s, const VkAndroidHardwareBufferUsageANDROID& value) { - s << "VkPhysicalDeviceAndroidHardwareBufferInfoANDROID = {\n"; + s << "VkAndroidHardwareBufferUsageANDROID = {\n"; s << "\tsType = " << value.sType << '\n'; s << "\tpNext = " << value.pNext << '\n'; - s << "\tformat = " << value.format << '\n'; - s << "\ttiling = " << value.tiling << '\n'; - s << "\timageUsage = " << getImageUsageFlagsStr(value.imageUsage) << '\n'; - s << "\timageFlags = " << getImageCreateFlagsStr(value.imageFlags) << '\n'; + s << "\tandroidHardwareBufferUsage = " << value.androidHardwareBufferUsage << '\n'; s << '}'; return s; } -std::ostream& operator<< (std::ostream& s, const VkAndroidHardwareBufferUsageANDROID& value) +std::ostream& operator<< (std::ostream& s, const VkAndroidHardwareBufferPropertiesANDROID& value) { - s << "VkAndroidHardwareBufferUsageANDROID = {\n"; + s << "VkAndroidHardwareBufferPropertiesANDROID = {\n"; s << "\tsType = " << value.sType << '\n'; s << "\tpNext = " << value.pNext << '\n'; - s << "\tandroidHardwareBufferUsage = " << value.androidHardwareBufferUsage << '\n'; + s << "\tallocationSize = " << value.allocationSize << '\n'; + s << "\tmemoryTypeBits = " << value.memoryTypeBits << '\n'; s << '}'; return s; } -std::ostream& operator<< (std::ostream& s, const VkMemoryAndroidHardwareBufferPropertiesANDROID& value) +std::ostream& operator<< (std::ostream& s, const VkAndroidHardwareBufferFormatPropertiesANDROID& value) { - s << "VkMemoryAndroidHardwareBufferPropertiesANDROID = {\n"; + s << "VkAndroidHardwareBufferFormatPropertiesANDROID = {\n"; s << "\tsType = " << value.sType << '\n'; s << "\tpNext = " << value.pNext << '\n'; - s << "\tallocationSize = " << value.allocationSize << '\n'; - s << "\tmemoryTypeBits = " << value.memoryTypeBits << '\n'; + s << "\tformat = " << value.format << '\n'; + s << "\texternalFormat = " << value.externalFormat << '\n'; + s << "\tformatFeatures = " << getFormatFeatureFlagsStr(value.formatFeatures) << '\n'; + s << "\tsuggestedYcbcrModel = " << value.suggestedYcbcrModel << '\n'; + s << "\tsuggestedYcbcrRange = " << value.suggestedYcbcrRange << '\n'; + s << "\tsuggestedXChromaOffset = " << value.suggestedXChromaOffset << '\n'; + s << "\tsuggestedYChromaOffset = " << value.suggestedYChromaOffset << '\n'; s << '}'; return s; } @@ -6002,21 +6004,6 @@ std::ostream& operator<< (std::ostream& s, const VkMemoryGetAndroidHardwareBuffe return s; } -std::ostream& operator<< (std::ostream& s, const VkAndroidHardwareBufferExternalFormatPropertiesANDROID& value) -{ - s << "VkAndroidHardwareBufferExternalFormatPropertiesANDROID = {\n"; - s << "\tsType = " << value.sType << '\n'; - s << "\tpNext = " << value.pNext << '\n'; - s << "\texternalFormat = " << value.externalFormat << '\n'; - s << "\tformatFeatures = " << getFormatFeatureFlagsStr(value.formatFeatures) << '\n'; - s << "\tsuggestedYcbcrModel = " << value.suggestedYcbcrModel << '\n'; - s << "\tsuggestedYcbcrRange = " << value.suggestedYcbcrRange << '\n'; - s << "\tsuggestedXChromaOffset = " << value.suggestedXChromaOffset << '\n'; - s << "\tsuggestedYChromaOffset = " << value.suggestedYChromaOffset << '\n'; - s << '}'; - return s; -} - std::ostream& operator<< (std::ostream& s, const VkExternalFormatANDROID& value) { s << "VkExternalFormatANDROID = {\n"; diff --git a/external/vulkancts/framework/vulkan/vkStructTypes.inl b/external/vulkancts/framework/vulkan/vkStructTypes.inl index 14ef3c2..3dc2aaa 100644 --- a/external/vulkancts/framework/vulkan/vkStructTypes.inl +++ b/external/vulkancts/framework/vulkan/vkStructTypes.inl @@ -2775,16 +2775,6 @@ struct VkShaderModuleValidationCacheCreateInfoEXT VkValidationCacheEXT validationCache; }; -struct VkPhysicalDeviceAndroidHardwareBufferInfoANDROID -{ - VkStructureType sType; - void* pNext; - VkFormat format; - VkImageTiling tiling; - VkImageUsageFlags imageUsage; - VkImageCreateFlags imageFlags; -}; - struct VkAndroidHardwareBufferUsageANDROID { VkStructureType sType; @@ -2792,7 +2782,7 @@ struct VkAndroidHardwareBufferUsageANDROID deUint64 androidHardwareBufferUsage; }; -struct VkMemoryAndroidHardwareBufferPropertiesANDROID +struct VkAndroidHardwareBufferPropertiesANDROID { VkStructureType sType; void* pNext; @@ -2800,11 +2790,24 @@ struct VkMemoryAndroidHardwareBufferPropertiesANDROID deUint32 memoryTypeBits; }; -struct VkImportAndroidHardwareBufferInfoANDROID +struct VkAndroidHardwareBufferFormatPropertiesANDROID { VkStructureType sType; - const void* pNext; - pt::AndroidHardwareBufferPtr buffer; + void* pNext; + VkFormat format; + deUint64 externalFormat; + VkFormatFeatureFlags formatFeatures; + VkSamplerYcbcrModelConversion suggestedYcbcrModel; + VkSamplerYcbcrRange suggestedYcbcrRange; + VkChromaLocation suggestedXChromaOffset; + VkChromaLocation suggestedYChromaOffset; +}; + +struct VkImportAndroidHardwareBufferInfoANDROID +{ + VkStructureType sType; + const void* pNext; + struct pt::AndroidHardwareBufferPtr buffer; }; struct VkMemoryGetAndroidHardwareBufferInfoANDROID @@ -2814,23 +2817,11 @@ struct VkMemoryGetAndroidHardwareBufferInfoANDROID VkDeviceMemory memory; }; -struct VkAndroidHardwareBufferExternalFormatPropertiesANDROID -{ - VkStructureType sType; - void* pNext; - deUint32 externalFormat; - VkFormatFeatureFlags formatFeatures; - VkSamplerYcbcrModelConversion suggestedYcbcrModel; - VkSamplerYcbcrRange suggestedYcbcrRange; - VkChromaLocation suggestedXChromaOffset; - VkChromaLocation suggestedYChromaOffset; -}; - struct VkExternalFormatANDROID { VkStructureType sType; void* pNext; - deUint32 externalFormat; + deUint64 externalFormat; }; diff --git a/external/vulkancts/framework/vulkan/vkVirtualDeviceInterface.inl b/external/vulkancts/framework/vulkan/vkVirtualDeviceInterface.inl index 54e0995..6839862 100644 --- a/external/vulkancts/framework/vulkan/vkVirtualDeviceInterface.inl +++ b/external/vulkancts/framework/vulkan/vkVirtualDeviceInterface.inl @@ -1,195 +1,195 @@ /* WARNING: This is auto-generated file. Do not modify, since changes will * be lost! Modify the generating script instead. */ -virtual void destroyDevice (VkDevice device, const VkAllocationCallbacks* pAllocator) const = 0; -virtual void getDeviceQueue (VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex, VkQueue* pQueue) const = 0; -virtual VkResult queueSubmit (VkQueue queue, deUint32 submitCount, const VkSubmitInfo* pSubmits, VkFence fence) const = 0; -virtual VkResult queueWaitIdle (VkQueue queue) const = 0; -virtual VkResult deviceWaitIdle (VkDevice device) const = 0; -virtual VkResult allocateMemory (VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory) const = 0; -virtual void freeMemory (VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator) const = 0; -virtual VkResult mapMemory (VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData) const = 0; -virtual void unmapMemory (VkDevice device, VkDeviceMemory memory) const = 0; -virtual VkResult flushMappedMemoryRanges (VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) const = 0; -virtual VkResult invalidateMappedMemoryRanges (VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) const = 0; -virtual void getDeviceMemoryCommitment (VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes) const = 0; -virtual VkResult bindBufferMemory (VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset) const = 0; -virtual VkResult bindImageMemory (VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset) const = 0; -virtual void getBufferMemoryRequirements (VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements) const = 0; -virtual void getImageMemoryRequirements (VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements) const = 0; -virtual void getImageSparseMemoryRequirements (VkDevice device, VkImage image, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) const = 0; -virtual VkResult queueBindSparse (VkQueue queue, deUint32 bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence) const = 0; -virtual VkResult createFence (VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const = 0; -virtual void destroyFence (VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator) const = 0; -virtual VkResult resetFences (VkDevice device, deUint32 fenceCount, const VkFence* pFences) const = 0; -virtual VkResult getFenceStatus (VkDevice device, VkFence fence) const = 0; -virtual VkResult waitForFences (VkDevice device, deUint32 fenceCount, const VkFence* pFences, VkBool32 waitAll, deUint64 timeout) const = 0; -virtual VkResult createSemaphore (VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore) const = 0; -virtual void destroySemaphore (VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator) const = 0; -virtual VkResult createEvent (VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent) const = 0; -virtual void destroyEvent (VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator) const = 0; -virtual VkResult getEventStatus (VkDevice device, VkEvent event) const = 0; -virtual VkResult setEvent (VkDevice device, VkEvent event) const = 0; -virtual VkResult resetEvent (VkDevice device, VkEvent event) const = 0; -virtual VkResult createQueryPool (VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool) const = 0; -virtual void destroyQueryPool (VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator) const = 0; -virtual VkResult getQueryPoolResults (VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, deUintptr dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags) const = 0; -virtual VkResult createBuffer (VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer) const = 0; -virtual void destroyBuffer (VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator) const = 0; -virtual VkResult createBufferView (VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView) const = 0; -virtual void destroyBufferView (VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator) const = 0; -virtual VkResult createImage (VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage) const = 0; -virtual void destroyImage (VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator) const = 0; -virtual void getImageSubresourceLayout (VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout) const = 0; -virtual VkResult createImageView (VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView) const = 0; -virtual void destroyImageView (VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator) const = 0; -virtual VkResult createShaderModule (VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule) const = 0; -virtual void destroyShaderModule (VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator) const = 0; -virtual VkResult createPipelineCache (VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache) const = 0; -virtual void destroyPipelineCache (VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator) const = 0; -virtual VkResult getPipelineCacheData (VkDevice device, VkPipelineCache pipelineCache, deUintptr* pDataSize, void* pData) const = 0; -virtual VkResult mergePipelineCaches (VkDevice device, VkPipelineCache dstCache, deUint32 srcCacheCount, const VkPipelineCache* pSrcCaches) const = 0; -virtual VkResult createGraphicsPipelines (VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const = 0; -virtual VkResult createComputePipelines (VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const = 0; -virtual void destroyPipeline (VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator) const = 0; -virtual VkResult createPipelineLayout (VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout) const = 0; -virtual void destroyPipelineLayout (VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator) const = 0; -virtual VkResult createSampler (VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler) const = 0; -virtual void destroySampler (VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator) const = 0; -virtual VkResult createDescriptorSetLayout (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout) const = 0; -virtual void destroyDescriptorSetLayout (VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator) const = 0; -virtual VkResult createDescriptorPool (VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool) const = 0; -virtual void destroyDescriptorPool (VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator) const = 0; -virtual VkResult resetDescriptorPool (VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags) const = 0; -virtual VkResult allocateDescriptorSets (VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets) const = 0; -virtual VkResult freeDescriptorSets (VkDevice device, VkDescriptorPool descriptorPool, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets) const = 0; -virtual void updateDescriptorSets (VkDevice device, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, deUint32 descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies) const = 0; -virtual VkResult createFramebuffer (VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer) const = 0; -virtual void destroyFramebuffer (VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator) const = 0; -virtual VkResult createRenderPass (VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) const = 0; -virtual void destroyRenderPass (VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator) const = 0; -virtual void getRenderAreaGranularity (VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity) const = 0; -virtual VkResult createCommandPool (VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool) const = 0; -virtual void destroyCommandPool (VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator) const = 0; -virtual VkResult resetCommandPool (VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags) const = 0; -virtual VkResult allocateCommandBuffers (VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers) const = 0; -virtual void freeCommandBuffers (VkDevice device, VkCommandPool commandPool, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers) const = 0; -virtual VkResult beginCommandBuffer (VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo) const = 0; -virtual VkResult endCommandBuffer (VkCommandBuffer commandBuffer) const = 0; -virtual VkResult resetCommandBuffer (VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags) const = 0; -virtual void cmdBindPipeline (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline) const = 0; -virtual void cmdSetViewport (VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewport* pViewports) const = 0; -virtual void cmdSetScissor (VkCommandBuffer commandBuffer, deUint32 firstScissor, deUint32 scissorCount, const VkRect2D* pScissors) const = 0; -virtual void cmdSetLineWidth (VkCommandBuffer commandBuffer, float lineWidth) const = 0; -virtual void cmdSetDepthBias (VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor) const = 0; -virtual void cmdSetBlendConstants (VkCommandBuffer commandBuffer, const float blendConstants[4]) const = 0; -virtual void cmdSetDepthBounds (VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds) const = 0; -virtual void cmdSetStencilCompareMask (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 compareMask) const = 0; -virtual void cmdSetStencilWriteMask (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 writeMask) const = 0; -virtual void cmdSetStencilReference (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 reference) const = 0; -virtual void cmdBindDescriptorSets (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets, deUint32 dynamicOffsetCount, const deUint32* pDynamicOffsets) const = 0; -virtual void cmdBindIndexBuffer (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) const = 0; -virtual void cmdBindVertexBuffers (VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) const = 0; -virtual void cmdDraw (VkCommandBuffer commandBuffer, deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance) const = 0; -virtual void cmdDrawIndexed (VkCommandBuffer commandBuffer, deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance) const = 0; -virtual void cmdDrawIndirect (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride) const = 0; -virtual void cmdDrawIndexedIndirect (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride) const = 0; -virtual void cmdDispatch (VkCommandBuffer commandBuffer, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ) const = 0; -virtual void cmdDispatchIndirect (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) const = 0; -virtual void cmdCopyBuffer (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferCopy* pRegions) const = 0; -virtual void cmdCopyImage (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageCopy* pRegions) const = 0; -virtual void cmdBlitImage (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageBlit* pRegions, VkFilter filter) const = 0; -virtual void cmdCopyBufferToImage (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkBufferImageCopy* pRegions) const = 0; -virtual void cmdCopyImageToBuffer (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferImageCopy* pRegions) const = 0; -virtual void cmdUpdateBuffer (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData) const = 0; -virtual void cmdFillBuffer (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, deUint32 data) const = 0; -virtual void cmdClearColorImage (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, deUint32 rangeCount, const VkImageSubresourceRange* pRanges) const = 0; -virtual void cmdClearDepthStencilImage (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, deUint32 rangeCount, const VkImageSubresourceRange* pRanges) const = 0; -virtual void cmdClearAttachments (VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkClearAttachment* pAttachments, deUint32 rectCount, const VkClearRect* pRects) const = 0; -virtual void cmdResolveImage (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageResolve* pRegions) const = 0; -virtual void cmdSetEvent (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) const = 0; -virtual void cmdResetEvent (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) const = 0; -virtual 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; -virtual 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; -virtual void cmdBeginQuery (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags) const = 0; -virtual void cmdEndQuery (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query) const = 0; -virtual void cmdResetQueryPool (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount) const = 0; -virtual void cmdWriteTimestamp (VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, deUint32 query) const = 0; -virtual void cmdCopyQueryPoolResults (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) const = 0; -virtual void cmdPushConstants (VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, deUint32 offset, deUint32 size, const void* pValues) const = 0; -virtual void cmdBeginRenderPass (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents) const = 0; -virtual void cmdNextSubpass (VkCommandBuffer commandBuffer, VkSubpassContents contents) const = 0; -virtual void cmdEndRenderPass (VkCommandBuffer commandBuffer) const = 0; -virtual void cmdExecuteCommands (VkCommandBuffer commandBuffer, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers) const = 0; -virtual VkResult bindBufferMemory2 (VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos) const = 0; -virtual VkResult bindImageMemory2 (VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos) const = 0; -virtual void getDeviceGroupPeerMemoryFeatures (VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures) const = 0; -virtual void cmdSetDeviceMask (VkCommandBuffer commandBuffer, deUint32 deviceMask) const = 0; -virtual void cmdDispatchBase (VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ) const = 0; -virtual void getImageMemoryRequirements2 (VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) const = 0; -virtual void getBufferMemoryRequirements2 (VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) const = 0; -virtual void getImageSparseMemoryRequirements2 (VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) const = 0; -virtual void trimCommandPool (VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags) const = 0; -virtual void getDeviceQueue2 (VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue) const = 0; -virtual VkResult createSamplerYcbcrConversion (VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion) const = 0; -virtual void destroySamplerYcbcrConversion (VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator) const = 0; -virtual VkResult createDescriptorUpdateTemplate (VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate) const = 0; -virtual void destroyDescriptorUpdateTemplate (VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator) const = 0; -virtual void updateDescriptorSetWithTemplate (VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData) const = 0; -virtual void getDescriptorSetLayoutSupport (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport) const = 0; -virtual VkResult createSwapchainKHR (VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain) const = 0; -virtual void destroySwapchainKHR (VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator) const = 0; -virtual VkResult getSwapchainImagesKHR (VkDevice device, VkSwapchainKHR swapchain, deUint32* pSwapchainImageCount, VkImage* pSwapchainImages) const = 0; -virtual VkResult acquireNextImageKHR (VkDevice device, VkSwapchainKHR swapchain, deUint64 timeout, VkSemaphore semaphore, VkFence fence, deUint32* pImageIndex) const = 0; -virtual VkResult queuePresentKHR (VkQueue queue, const VkPresentInfoKHR* pPresentInfo) const = 0; -virtual VkResult getDeviceGroupPresentCapabilitiesKHR (VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities) const = 0; -virtual VkResult getDeviceGroupSurfacePresentModesKHR (VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes) const = 0; -virtual VkResult acquireNextImage2KHR (VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, deUint32* pImageIndex) const = 0; -virtual VkResult createSharedSwapchainsKHR (VkDevice device, deUint32 swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains) const = 0; -virtual VkResult getMemoryWin32HandleKHR (VkDevice device, const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const = 0; -virtual VkResult getMemoryWin32HandlePropertiesKHR (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, pt::Win32Handle handle, VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties) const = 0; -virtual VkResult getMemoryFdKHR (VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd) const = 0; -virtual VkResult getMemoryFdPropertiesKHR (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties) const = 0; -virtual VkResult importSemaphoreWin32HandleKHR (VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo) const = 0; -virtual VkResult getSemaphoreWin32HandleKHR (VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const = 0; -virtual VkResult importSemaphoreFdKHR (VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo) const = 0; -virtual VkResult getSemaphoreFdKHR (VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd) const = 0; -virtual void cmdPushDescriptorSetKHR (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 set, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) const = 0; -virtual void cmdPushDescriptorSetWithTemplateKHR (VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, deUint32 set, const void* pData) const = 0; -virtual VkResult getSwapchainStatusKHR (VkDevice device, VkSwapchainKHR swapchain) const = 0; -virtual VkResult importFenceWin32HandleKHR (VkDevice device, const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo) const = 0; -virtual VkResult getFenceWin32HandleKHR (VkDevice device, const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const = 0; -virtual VkResult importFenceFdKHR (VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo) const = 0; -virtual VkResult getFenceFdKHR (VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd) const = 0; -virtual VkResult debugMarkerSetObjectTagEXT (VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo) const = 0; -virtual VkResult debugMarkerSetObjectNameEXT (VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo) const = 0; -virtual void cmdDebugMarkerBeginEXT (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo) const = 0; -virtual void cmdDebugMarkerEndEXT (VkCommandBuffer commandBuffer) const = 0; -virtual void cmdDebugMarkerInsertEXT (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo) const = 0; -virtual void cmdDrawIndirectCountAMD (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride) const = 0; -virtual void cmdDrawIndexedIndirectCountAMD (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride) const = 0; -virtual VkResult getMemoryWin32HandleNV (VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, pt::Win32Handle* pHandle) const = 0; -virtual void cmdProcessCommandsNVX (VkCommandBuffer commandBuffer, const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo) const = 0; -virtual void cmdReserveSpaceForCommandsNVX (VkCommandBuffer commandBuffer, const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo) const = 0; -virtual VkResult createIndirectCommandsLayoutNVX (VkDevice device, const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout) const = 0; -virtual void destroyIndirectCommandsLayoutNVX (VkDevice device, VkIndirectCommandsLayoutNVX indirectCommandsLayout, const VkAllocationCallbacks* pAllocator) const = 0; -virtual VkResult createObjectTableNVX (VkDevice device, const VkObjectTableCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkObjectTableNVX* pObjectTable) const = 0; -virtual void destroyObjectTableNVX (VkDevice device, VkObjectTableNVX objectTable, const VkAllocationCallbacks* pAllocator) const = 0; -virtual VkResult registerObjectsNVX (VkDevice device, VkObjectTableNVX objectTable, deUint32 objectCount, const VkObjectTableEntryNVX* const* ppObjectTableEntries, const deUint32* pObjectIndices) const = 0; -virtual VkResult unregisterObjectsNVX (VkDevice device, VkObjectTableNVX objectTable, deUint32 objectCount, const VkObjectEntryTypeNVX* pObjectEntryTypes, const deUint32* pObjectIndices) const = 0; -virtual void cmdSetViewportWScalingNV (VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewportWScalingNV* pViewportWScalings) const = 0; -virtual VkResult displayPowerControlEXT (VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo) const = 0; -virtual VkResult registerDeviceEventEXT (VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const = 0; -virtual VkResult registerDisplayEventEXT (VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const = 0; -virtual VkResult getSwapchainCounterEXT (VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, deUint64* pCounterValue) const = 0; -virtual VkResult getRefreshCycleDurationGOOGLE (VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties) const = 0; -virtual VkResult getPastPresentationTimingGOOGLE (VkDevice device, VkSwapchainKHR swapchain, deUint32* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings) const = 0; -virtual void cmdSetDiscardRectangleEXT (VkCommandBuffer commandBuffer, deUint32 firstDiscardRectangle, deUint32 discardRectangleCount, const VkRect2D* pDiscardRectangles) const = 0; -virtual void setHdrMetadataEXT (VkDevice device, deUint32 swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata) const = 0; -virtual void cmdSetSampleLocationsEXT (VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo) const = 0; -virtual VkResult createValidationCacheEXT (VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache) const = 0; -virtual void destroyValidationCacheEXT (VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator) const = 0; -virtual VkResult mergeValidationCachesEXT (VkDevice device, VkValidationCacheEXT dstCache, deUint32 srcCacheCount, const VkValidationCacheEXT* pSrcCaches) const = 0; -virtual VkResult getValidationCacheDataEXT (VkDevice device, VkValidationCacheEXT validationCache, deUintptr* pDataSize, void* pData) const = 0; -virtual VkResult getMemoryAndroidHardwareBufferPropertiesANDROID (VkDevice device, const pt::AndroidHardwareBufferPtr buffer, VkMemoryAndroidHardwareBufferPropertiesANDROID* pProperties) const = 0; -virtual VkResult getMemoryAndroidHardwareBufferANDROID (VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, pt::AndroidHardwareBufferPtr* pBuffer) const = 0; +virtual void destroyDevice (VkDevice device, const VkAllocationCallbacks* pAllocator) const = 0; +virtual void getDeviceQueue (VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex, VkQueue* pQueue) const = 0; +virtual VkResult queueSubmit (VkQueue queue, deUint32 submitCount, const VkSubmitInfo* pSubmits, VkFence fence) const = 0; +virtual VkResult queueWaitIdle (VkQueue queue) const = 0; +virtual VkResult deviceWaitIdle (VkDevice device) const = 0; +virtual VkResult allocateMemory (VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory) const = 0; +virtual void freeMemory (VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator) const = 0; +virtual VkResult mapMemory (VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData) const = 0; +virtual void unmapMemory (VkDevice device, VkDeviceMemory memory) const = 0; +virtual VkResult flushMappedMemoryRanges (VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) const = 0; +virtual VkResult invalidateMappedMemoryRanges (VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) const = 0; +virtual void getDeviceMemoryCommitment (VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes) const = 0; +virtual VkResult bindBufferMemory (VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset) const = 0; +virtual VkResult bindImageMemory (VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset) const = 0; +virtual void getBufferMemoryRequirements (VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements) const = 0; +virtual void getImageMemoryRequirements (VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements) const = 0; +virtual void getImageSparseMemoryRequirements (VkDevice device, VkImage image, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) const = 0; +virtual VkResult queueBindSparse (VkQueue queue, deUint32 bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence) const = 0; +virtual VkResult createFence (VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const = 0; +virtual void destroyFence (VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator) const = 0; +virtual VkResult resetFences (VkDevice device, deUint32 fenceCount, const VkFence* pFences) const = 0; +virtual VkResult getFenceStatus (VkDevice device, VkFence fence) const = 0; +virtual VkResult waitForFences (VkDevice device, deUint32 fenceCount, const VkFence* pFences, VkBool32 waitAll, deUint64 timeout) const = 0; +virtual VkResult createSemaphore (VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore) const = 0; +virtual void destroySemaphore (VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator) const = 0; +virtual VkResult createEvent (VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent) const = 0; +virtual void destroyEvent (VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator) const = 0; +virtual VkResult getEventStatus (VkDevice device, VkEvent event) const = 0; +virtual VkResult setEvent (VkDevice device, VkEvent event) const = 0; +virtual VkResult resetEvent (VkDevice device, VkEvent event) const = 0; +virtual VkResult createQueryPool (VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool) const = 0; +virtual void destroyQueryPool (VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator) const = 0; +virtual VkResult getQueryPoolResults (VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, deUintptr dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags) const = 0; +virtual VkResult createBuffer (VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer) const = 0; +virtual void destroyBuffer (VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator) const = 0; +virtual VkResult createBufferView (VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView) const = 0; +virtual void destroyBufferView (VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator) const = 0; +virtual VkResult createImage (VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage) const = 0; +virtual void destroyImage (VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator) const = 0; +virtual void getImageSubresourceLayout (VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout) const = 0; +virtual VkResult createImageView (VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView) const = 0; +virtual void destroyImageView (VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator) const = 0; +virtual VkResult createShaderModule (VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule) const = 0; +virtual void destroyShaderModule (VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator) const = 0; +virtual VkResult createPipelineCache (VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache) const = 0; +virtual void destroyPipelineCache (VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator) const = 0; +virtual VkResult getPipelineCacheData (VkDevice device, VkPipelineCache pipelineCache, deUintptr* pDataSize, void* pData) const = 0; +virtual VkResult mergePipelineCaches (VkDevice device, VkPipelineCache dstCache, deUint32 srcCacheCount, const VkPipelineCache* pSrcCaches) const = 0; +virtual VkResult createGraphicsPipelines (VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const = 0; +virtual VkResult createComputePipelines (VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const = 0; +virtual void destroyPipeline (VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator) const = 0; +virtual VkResult createPipelineLayout (VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout) const = 0; +virtual void destroyPipelineLayout (VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator) const = 0; +virtual VkResult createSampler (VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler) const = 0; +virtual void destroySampler (VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator) const = 0; +virtual VkResult createDescriptorSetLayout (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout) const = 0; +virtual void destroyDescriptorSetLayout (VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator) const = 0; +virtual VkResult createDescriptorPool (VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool) const = 0; +virtual void destroyDescriptorPool (VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator) const = 0; +virtual VkResult resetDescriptorPool (VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags) const = 0; +virtual VkResult allocateDescriptorSets (VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets) const = 0; +virtual VkResult freeDescriptorSets (VkDevice device, VkDescriptorPool descriptorPool, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets) const = 0; +virtual void updateDescriptorSets (VkDevice device, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, deUint32 descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies) const = 0; +virtual VkResult createFramebuffer (VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer) const = 0; +virtual void destroyFramebuffer (VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator) const = 0; +virtual VkResult createRenderPass (VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) const = 0; +virtual void destroyRenderPass (VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator) const = 0; +virtual void getRenderAreaGranularity (VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity) const = 0; +virtual VkResult createCommandPool (VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool) const = 0; +virtual void destroyCommandPool (VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator) const = 0; +virtual VkResult resetCommandPool (VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags) const = 0; +virtual VkResult allocateCommandBuffers (VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers) const = 0; +virtual void freeCommandBuffers (VkDevice device, VkCommandPool commandPool, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers) const = 0; +virtual VkResult beginCommandBuffer (VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo) const = 0; +virtual VkResult endCommandBuffer (VkCommandBuffer commandBuffer) const = 0; +virtual VkResult resetCommandBuffer (VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags) const = 0; +virtual void cmdBindPipeline (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline) const = 0; +virtual void cmdSetViewport (VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewport* pViewports) const = 0; +virtual void cmdSetScissor (VkCommandBuffer commandBuffer, deUint32 firstScissor, deUint32 scissorCount, const VkRect2D* pScissors) const = 0; +virtual void cmdSetLineWidth (VkCommandBuffer commandBuffer, float lineWidth) const = 0; +virtual void cmdSetDepthBias (VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor) const = 0; +virtual void cmdSetBlendConstants (VkCommandBuffer commandBuffer, const float blendConstants[4]) const = 0; +virtual void cmdSetDepthBounds (VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds) const = 0; +virtual void cmdSetStencilCompareMask (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 compareMask) const = 0; +virtual void cmdSetStencilWriteMask (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 writeMask) const = 0; +virtual void cmdSetStencilReference (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 reference) const = 0; +virtual void cmdBindDescriptorSets (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets, deUint32 dynamicOffsetCount, const deUint32* pDynamicOffsets) const = 0; +virtual void cmdBindIndexBuffer (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) const = 0; +virtual void cmdBindVertexBuffers (VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) const = 0; +virtual void cmdDraw (VkCommandBuffer commandBuffer, deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance) const = 0; +virtual void cmdDrawIndexed (VkCommandBuffer commandBuffer, deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance) const = 0; +virtual void cmdDrawIndirect (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride) const = 0; +virtual void cmdDrawIndexedIndirect (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride) const = 0; +virtual void cmdDispatch (VkCommandBuffer commandBuffer, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ) const = 0; +virtual void cmdDispatchIndirect (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) const = 0; +virtual void cmdCopyBuffer (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferCopy* pRegions) const = 0; +virtual void cmdCopyImage (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageCopy* pRegions) const = 0; +virtual void cmdBlitImage (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageBlit* pRegions, VkFilter filter) const = 0; +virtual void cmdCopyBufferToImage (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkBufferImageCopy* pRegions) const = 0; +virtual void cmdCopyImageToBuffer (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferImageCopy* pRegions) const = 0; +virtual void cmdUpdateBuffer (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData) const = 0; +virtual void cmdFillBuffer (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, deUint32 data) const = 0; +virtual void cmdClearColorImage (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, deUint32 rangeCount, const VkImageSubresourceRange* pRanges) const = 0; +virtual void cmdClearDepthStencilImage (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, deUint32 rangeCount, const VkImageSubresourceRange* pRanges) const = 0; +virtual void cmdClearAttachments (VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkClearAttachment* pAttachments, deUint32 rectCount, const VkClearRect* pRects) const = 0; +virtual void cmdResolveImage (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageResolve* pRegions) const = 0; +virtual void cmdSetEvent (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) const = 0; +virtual void cmdResetEvent (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) const = 0; +virtual 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; +virtual 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; +virtual void cmdBeginQuery (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags) const = 0; +virtual void cmdEndQuery (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query) const = 0; +virtual void cmdResetQueryPool (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount) const = 0; +virtual void cmdWriteTimestamp (VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, deUint32 query) const = 0; +virtual void cmdCopyQueryPoolResults (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) const = 0; +virtual void cmdPushConstants (VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, deUint32 offset, deUint32 size, const void* pValues) const = 0; +virtual void cmdBeginRenderPass (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents) const = 0; +virtual void cmdNextSubpass (VkCommandBuffer commandBuffer, VkSubpassContents contents) const = 0; +virtual void cmdEndRenderPass (VkCommandBuffer commandBuffer) const = 0; +virtual void cmdExecuteCommands (VkCommandBuffer commandBuffer, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers) const = 0; +virtual VkResult bindBufferMemory2 (VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos) const = 0; +virtual VkResult bindImageMemory2 (VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos) const = 0; +virtual void getDeviceGroupPeerMemoryFeatures (VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures) const = 0; +virtual void cmdSetDeviceMask (VkCommandBuffer commandBuffer, deUint32 deviceMask) const = 0; +virtual void cmdDispatchBase (VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ) const = 0; +virtual void getImageMemoryRequirements2 (VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) const = 0; +virtual void getBufferMemoryRequirements2 (VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) const = 0; +virtual void getImageSparseMemoryRequirements2 (VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) const = 0; +virtual void trimCommandPool (VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags) const = 0; +virtual void getDeviceQueue2 (VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue) const = 0; +virtual VkResult createSamplerYcbcrConversion (VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion) const = 0; +virtual void destroySamplerYcbcrConversion (VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator) const = 0; +virtual VkResult createDescriptorUpdateTemplate (VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate) const = 0; +virtual void destroyDescriptorUpdateTemplate (VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator) const = 0; +virtual void updateDescriptorSetWithTemplate (VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData) const = 0; +virtual void getDescriptorSetLayoutSupport (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport) const = 0; +virtual VkResult createSwapchainKHR (VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain) const = 0; +virtual void destroySwapchainKHR (VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator) const = 0; +virtual VkResult getSwapchainImagesKHR (VkDevice device, VkSwapchainKHR swapchain, deUint32* pSwapchainImageCount, VkImage* pSwapchainImages) const = 0; +virtual VkResult acquireNextImageKHR (VkDevice device, VkSwapchainKHR swapchain, deUint64 timeout, VkSemaphore semaphore, VkFence fence, deUint32* pImageIndex) const = 0; +virtual VkResult queuePresentKHR (VkQueue queue, const VkPresentInfoKHR* pPresentInfo) const = 0; +virtual VkResult getDeviceGroupPresentCapabilitiesKHR (VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities) const = 0; +virtual VkResult getDeviceGroupSurfacePresentModesKHR (VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes) const = 0; +virtual VkResult acquireNextImage2KHR (VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, deUint32* pImageIndex) const = 0; +virtual VkResult createSharedSwapchainsKHR (VkDevice device, deUint32 swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains) const = 0; +virtual VkResult getMemoryWin32HandleKHR (VkDevice device, const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const = 0; +virtual VkResult getMemoryWin32HandlePropertiesKHR (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, pt::Win32Handle handle, VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties) const = 0; +virtual VkResult getMemoryFdKHR (VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd) const = 0; +virtual VkResult getMemoryFdPropertiesKHR (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties) const = 0; +virtual VkResult importSemaphoreWin32HandleKHR (VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo) const = 0; +virtual VkResult getSemaphoreWin32HandleKHR (VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const = 0; +virtual VkResult importSemaphoreFdKHR (VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo) const = 0; +virtual VkResult getSemaphoreFdKHR (VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd) const = 0; +virtual void cmdPushDescriptorSetKHR (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 set, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) const = 0; +virtual void cmdPushDescriptorSetWithTemplateKHR (VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, deUint32 set, const void* pData) const = 0; +virtual VkResult getSwapchainStatusKHR (VkDevice device, VkSwapchainKHR swapchain) const = 0; +virtual VkResult importFenceWin32HandleKHR (VkDevice device, const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo) const = 0; +virtual VkResult getFenceWin32HandleKHR (VkDevice device, const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const = 0; +virtual VkResult importFenceFdKHR (VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo) const = 0; +virtual VkResult getFenceFdKHR (VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd) const = 0; +virtual VkResult debugMarkerSetObjectTagEXT (VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo) const = 0; +virtual VkResult debugMarkerSetObjectNameEXT (VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo) const = 0; +virtual void cmdDebugMarkerBeginEXT (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo) const = 0; +virtual void cmdDebugMarkerEndEXT (VkCommandBuffer commandBuffer) const = 0; +virtual void cmdDebugMarkerInsertEXT (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo) const = 0; +virtual void cmdDrawIndirectCountAMD (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride) const = 0; +virtual void cmdDrawIndexedIndirectCountAMD (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride) const = 0; +virtual VkResult getMemoryWin32HandleNV (VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, pt::Win32Handle* pHandle) const = 0; +virtual void cmdProcessCommandsNVX (VkCommandBuffer commandBuffer, const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo) const = 0; +virtual void cmdReserveSpaceForCommandsNVX (VkCommandBuffer commandBuffer, const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo) const = 0; +virtual VkResult createIndirectCommandsLayoutNVX (VkDevice device, const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout) const = 0; +virtual void destroyIndirectCommandsLayoutNVX (VkDevice device, VkIndirectCommandsLayoutNVX indirectCommandsLayout, const VkAllocationCallbacks* pAllocator) const = 0; +virtual VkResult createObjectTableNVX (VkDevice device, const VkObjectTableCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkObjectTableNVX* pObjectTable) const = 0; +virtual void destroyObjectTableNVX (VkDevice device, VkObjectTableNVX objectTable, const VkAllocationCallbacks* pAllocator) const = 0; +virtual VkResult registerObjectsNVX (VkDevice device, VkObjectTableNVX objectTable, deUint32 objectCount, const VkObjectTableEntryNVX* const* ppObjectTableEntries, const deUint32* pObjectIndices) const = 0; +virtual VkResult unregisterObjectsNVX (VkDevice device, VkObjectTableNVX objectTable, deUint32 objectCount, const VkObjectEntryTypeNVX* pObjectEntryTypes, const deUint32* pObjectIndices) const = 0; +virtual void cmdSetViewportWScalingNV (VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewportWScalingNV* pViewportWScalings) const = 0; +virtual VkResult displayPowerControlEXT (VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo) const = 0; +virtual VkResult registerDeviceEventEXT (VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const = 0; +virtual VkResult registerDisplayEventEXT (VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const = 0; +virtual VkResult getSwapchainCounterEXT (VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, deUint64* pCounterValue) const = 0; +virtual VkResult getRefreshCycleDurationGOOGLE (VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties) const = 0; +virtual VkResult getPastPresentationTimingGOOGLE (VkDevice device, VkSwapchainKHR swapchain, deUint32* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings) const = 0; +virtual void cmdSetDiscardRectangleEXT (VkCommandBuffer commandBuffer, deUint32 firstDiscardRectangle, deUint32 discardRectangleCount, const VkRect2D* pDiscardRectangles) const = 0; +virtual void setHdrMetadataEXT (VkDevice device, deUint32 swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata) const = 0; +virtual void cmdSetSampleLocationsEXT (VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo) const = 0; +virtual VkResult createValidationCacheEXT (VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache) const = 0; +virtual void destroyValidationCacheEXT (VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator) const = 0; +virtual VkResult mergeValidationCachesEXT (VkDevice device, VkValidationCacheEXT dstCache, deUint32 srcCacheCount, const VkValidationCacheEXT* pSrcCaches) const = 0; +virtual VkResult getValidationCacheDataEXT (VkDevice device, VkValidationCacheEXT validationCache, deUintptr* pDataSize, void* pData) const = 0; +virtual VkResult getAndroidHardwareBufferPropertiesANDROID (VkDevice device, const struct pt::AndroidHardwareBufferPtr buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties) const = 0; +virtual VkResult getMemoryAndroidHardwareBufferANDROID (VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct pt::AndroidHardwareBufferPtr* pBuffer) const = 0; diff --git a/external/vulkancts/framework/vulkan/vkVirtualInstanceInterface.inl b/external/vulkancts/framework/vulkan/vkVirtualInstanceInterface.inl index 76aeff9..866c085 100644 --- a/external/vulkancts/framework/vulkan/vkVirtualInstanceInterface.inl +++ b/external/vulkancts/framework/vulkan/vkVirtualInstanceInterface.inl @@ -64,4 +64,3 @@ virtual VkResult getPhysicalDeviceSurfaceCapabilities2EXT (VkPhysicalDevice virtual VkResult createIOSSurfaceMVK (VkInstance instance, const VkIOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const = 0; virtual VkResult createMacOSSurfaceMVK (VkInstance instance, const VkMacOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const = 0; virtual void getPhysicalDeviceMultisamplePropertiesEXT (VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties) const = 0; -virtual void getPhysicalDeviceAndroidHardwareBufferUsageANDROID (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceAndroidHardwareBufferInfoANDROID* pInfo, VkAndroidHardwareBufferUsageANDROID* pUsage) const = 0; diff --git a/external/vulkancts/modules/vulkan/api/vktApiExternalMemoryTests.cpp b/external/vulkancts/modules/vulkan/api/vktApiExternalMemoryTests.cpp index beee0ea..3c26035 100644 --- a/external/vulkancts/modules/vulkan/api/vktApiExternalMemoryTests.cpp +++ b/external/vulkancts/modules/vulkan/api/vktApiExternalMemoryTests.cpp @@ -131,6 +131,8 @@ void writeHostMemory (const vk::DeviceInterface& vkd, deMemcpy(ptr, data, size); + flushMappedMemoryRange(vkd, device, memory, 0, size); + vkd.unmapMemory(device, memory); } @@ -142,6 +144,8 @@ void checkHostMemory (const vk::DeviceInterface& vkd, { void* const ptr = vk::mapMemory(vkd, device, memory, 0, size, 0); + invalidateMappedMemoryRange(vkd, device, memory, 0, size); + if (deMemCmp(ptr, data, size) != 0) TCU_FAIL("Memory contents don't match"); @@ -284,6 +288,12 @@ vk::Move createDevice (const deUint32 apiVersion, deviceExtensions.push_back("VK_KHR_external_memory_win32"); } + if ((externalMemoryTypes + & vk::VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID) != 0) + { + deviceExtensions.push_back("VK_ANDROID_external_memory_android_hardware_buffer"); + } + const float priority = 0.5f; const vk::VkDeviceQueueCreateInfo queues[] = { @@ -3937,6 +3947,7 @@ de::MovePtr createMemoryTests (tcu::TestContext& testCtx) group->addChild(createMemoryTests(testCtx, vk::VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT).release()); group->addChild(createMemoryTests(testCtx, vk::VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT).release()); group->addChild(createMemoryTests(testCtx, vk::VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT).release()); + group->addChild(createMemoryTests(testCtx, vk::VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID).release()); return group; } diff --git a/external/vulkancts/modules/vulkan/vktExternalMemoryUtil.cpp b/external/vulkancts/modules/vulkan/vktExternalMemoryUtil.cpp index 0929aa5..ee3ef1c 100644 --- a/external/vulkancts/modules/vulkan/vktExternalMemoryUtil.cpp +++ b/external/vulkancts/modules/vulkan/vktExternalMemoryUtil.cpp @@ -36,6 +36,11 @@ # include #endif +#if (DE_OS == DE_OS_ANDROID) && defined(__ANDROID_API_O__) && (DE_ANDROID_API >= __ANDROID_API_O__) +# include +# define USE_ANDROID_O_HARDWARE_BUFFER 1 +#endif + namespace vkt { namespace ExternalMemoryUtil @@ -59,21 +64,24 @@ deUint32 chooseMemoryType (deUint32 bits) } // anonymous NativeHandle::NativeHandle (void) - : m_fd (-1) - , m_win32HandleType (WIN32HANDLETYPE_LAST) - , m_win32Handle (DE_NULL) + : m_fd (-1) + , m_win32HandleType (WIN32HANDLETYPE_LAST) + , m_win32Handle (DE_NULL) + , m_androidHardwareBuffer (DE_NULL) { } NativeHandle::NativeHandle (const NativeHandle& other) - : m_fd (-1) - , m_win32HandleType (WIN32HANDLETYPE_LAST) - , m_win32Handle (DE_NULL) + : m_fd (-1) + , m_win32HandleType (WIN32HANDLETYPE_LAST) + , m_win32Handle (DE_NULL) + , m_androidHardwareBuffer (DE_NULL) { if (other.m_fd >= 0) { #if (DE_OS == DE_OS_ANDROID) || (DE_OS == DE_OS_UNIX) DE_ASSERT(!other.m_win32Handle.internal); + DE_ASSERT(!other.m_androidHardwareBuffer.internal); m_fd = dup(other.m_fd); TCU_CHECK(m_fd >= 0); #else @@ -90,6 +98,7 @@ NativeHandle::NativeHandle (const NativeHandle& other) case WIN32HANDLETYPE_NT: { DE_ASSERT(other.m_fd == -1); + DE_ASSERT(!other.m_androidHardwareBuffer.internal); const HANDLE process = ::GetCurrentProcess(); ::DuplicateHandle(process, other.m_win32Handle.internal, process, &m_win32Handle.internal, 0, TRUE, DUPLICATE_SAME_ACCESS); @@ -110,21 +119,40 @@ NativeHandle::NativeHandle (const NativeHandle& other) DE_FATAL("Platform doesn't support win32 handles"); #endif } +#if defined(USE_ANDROID_O_HARDWARE_BUFFER) + else if (other.m_androidHardwareBuffer.internal) + { + DE_ASSERT(other.m_fd == -1); + DE_ASSERT(!other.m_win32Handle.internal); + m_androidHardwareBuffer = other.m_androidHardwareBuffer; + AHardwareBuffer_acquire((AHardwareBuffer*)m_androidHardwareBuffer.internal); + } +#endif else DE_FATAL("Native handle can't be duplicated"); } NativeHandle::NativeHandle (int fd) - : m_fd (fd) - , m_win32HandleType (WIN32HANDLETYPE_LAST) - , m_win32Handle (DE_NULL) + : m_fd (fd) + , m_win32HandleType (WIN32HANDLETYPE_LAST) + , m_win32Handle (DE_NULL) + , m_androidHardwareBuffer (DE_NULL) { } NativeHandle::NativeHandle (Win32HandleType handleType, vk::pt::Win32Handle handle) - : m_fd (-1) - , m_win32HandleType (handleType) - , m_win32Handle (handle) + : m_fd (-1) + , m_win32HandleType (handleType) + , m_win32Handle (handle) + , m_androidHardwareBuffer (DE_NULL) +{ +} + +NativeHandle::NativeHandle (vk::pt::AndroidHardwareBufferPtr buffer) + : m_fd (-1) + , m_win32HandleType (WIN32HANDLETYPE_LAST) + , m_win32Handle (DE_NULL) + , m_androidHardwareBuffer (buffer) { } @@ -139,6 +167,7 @@ void NativeHandle::reset (void) { #if (DE_OS == DE_OS_ANDROID) || (DE_OS == DE_OS_UNIX) DE_ASSERT(!m_win32Handle.internal); + DE_ASSERT(!m_androidHardwareBuffer.internal); ::close(m_fd); #else DE_FATAL("Platform doesn't support file descriptors"); @@ -152,6 +181,7 @@ void NativeHandle::reset (void) { case WIN32HANDLETYPE_NT: DE_ASSERT(m_fd == -1); + DE_ASSERT(!m_androidHardwareBuffer.internal); ::CloseHandle((HANDLE)m_win32Handle.internal); break; @@ -166,9 +196,19 @@ void NativeHandle::reset (void) #endif } - m_fd = -1; - m_win32Handle = vk::pt::Win32Handle(DE_NULL); - m_win32HandleType = WIN32HANDLETYPE_LAST; +#if defined(USE_ANDROID_O_HARDWARE_BUFFER) + if (m_androidHardwareBuffer.internal) + { + DE_ASSERT(m_fd == -1); + DE_ASSERT(!m_win32Handle.internal); + AHardwareBuffer_release((AHardwareBuffer*)m_androidHardwareBuffer.internal); + } +#endif + + m_fd = -1; + m_win32Handle = vk::pt::Win32Handle(DE_NULL); + m_win32HandleType = WIN32HANDLETYPE_LAST; + m_androidHardwareBuffer = vk::pt::AndroidHardwareBufferPtr(DE_NULL); } NativeHandle& NativeHandle::operator= (int fd) @@ -180,6 +220,15 @@ NativeHandle& NativeHandle::operator= (int fd) return *this; } +NativeHandle& NativeHandle::operator= (vk::pt::AndroidHardwareBufferPtr buffer) +{ + reset(); + + m_androidHardwareBuffer = buffer; + + return *this; +} + void NativeHandle::setWin32Handle (Win32HandleType type, vk::pt::Win32Handle handle) { reset(); @@ -192,21 +241,31 @@ void NativeHandle::disown (void) { m_fd = -1; m_win32Handle = vk::pt::Win32Handle(DE_NULL); + m_androidHardwareBuffer = vk::pt::AndroidHardwareBufferPtr(DE_NULL); } vk::pt::Win32Handle NativeHandle::getWin32Handle (void) const { DE_ASSERT(m_fd == -1); + DE_ASSERT(!m_androidHardwareBuffer.internal); return m_win32Handle; } int NativeHandle::getFd (void) const { DE_ASSERT(!m_win32Handle.internal); - + DE_ASSERT(!m_androidHardwareBuffer.internal); return m_fd; } + +vk::pt::AndroidHardwareBufferPtr NativeHandle::getAndroidHardwareBuffer (void) const +{ + DE_ASSERT(m_fd == -1); + DE_ASSERT(!m_win32Handle.internal); + return m_androidHardwareBuffer; +} + const char* externalSemaphoreTypeToName (vk::VkExternalSemaphoreHandleTypeFlagBits type) { switch (type) @@ -279,6 +338,9 @@ const char* externalMemoryTypeToName (vk::VkExternalMemoryHandleTypeFlagBits typ case vk::VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT: return "d3d12_resource"; + case vk::VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID: + return "android_hardware_buffer"; + default: DE_FATAL("Unknown external memory type"); return DE_NULL; @@ -436,11 +498,26 @@ void getMemoryNative (const vk::DeviceInterface& vkd, break; default: - DE_FATAL("Unknow external memory handle type"); + DE_FATAL("Unknown external memory handle type"); } } + else if (externalType == vk::VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID) + { + const vk::VkMemoryGetAndroidHardwareBufferInfoANDROID info = + { + vk::VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID, + DE_NULL, + + memory, + }; + vk::pt::AndroidHardwareBufferPtr ahb (DE_NULL); + + VK_CHECK(vkd.getMemoryAndroidHardwareBufferANDROID(device, &info, &ahb)); + TCU_CHECK(ahb.internal); + nativeHandle = ahb; + } else - DE_FATAL("Unknow external memory handle type"); + DE_FATAL("Unknown external memory handle type"); } vk::Move createExportableFence (const vk::DeviceInterface& vkd, @@ -937,6 +1014,41 @@ static vk::Move importMemory (const vk::DeviceInterface& return memory; } +#if defined(USE_ANDROID_O_HARDWARE_BUFFER) + else if (externalType == vk::VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID) + { + AHardwareBuffer_Desc desc; + AHardwareBuffer_describe(static_cast(handle.getAndroidHardwareBuffer().internal), &desc); + + DE_ASSERT(desc.format == AHARDWAREBUFFER_FORMAT_BLOB || image != 0); + + vk::VkImportAndroidHardwareBufferInfoANDROID importInfo = + { + vk::VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID, + DE_NULL, + handle.getAndroidHardwareBuffer() + }; + const vk::VkMemoryDedicatedAllocateInfo dedicatedInfo = + { + vk::VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR, + &importInfo, + image, + buffer, + }; + const vk::VkMemoryAllocateInfo info = + { + vk::VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO, + (isDedicated ? (const void*)&dedicatedInfo : (const void*)&importInfo), + requirements.size, + (memoryTypeIndex == ~0U) ? chooseMemoryType(requirements.memoryTypeBits) : memoryTypeIndex + }; + vk::Move memory (vk::allocateMemory(vkd, device, &info)); + + handle.disown(); + + return memory; + } +#endif // (USE_ANDROID_O_HARDWARE_BUFFER) else { DE_FATAL("Unknown external memory type"); diff --git a/external/vulkancts/modules/vulkan/vktExternalMemoryUtil.hpp b/external/vulkancts/modules/vulkan/vktExternalMemoryUtil.hpp index cb7f655..96b159a 100644 --- a/external/vulkancts/modules/vulkan/vktExternalMemoryUtil.hpp +++ b/external/vulkancts/modules/vulkan/vktExternalMemoryUtil.hpp @@ -42,28 +42,32 @@ public: WIN32HANDLETYPE_LAST }; - NativeHandle (void); - NativeHandle (const NativeHandle& other); - NativeHandle (int fd); - NativeHandle (Win32HandleType type, vk::pt::Win32Handle handle); - ~NativeHandle (void); + NativeHandle (void); + NativeHandle (const NativeHandle& other); + NativeHandle (int fd); + NativeHandle (Win32HandleType type, vk::pt::Win32Handle handle); + NativeHandle (vk::pt::AndroidHardwareBufferPtr buffer); + ~NativeHandle (void); - NativeHandle& operator= (int fd); + NativeHandle& operator= (int fd); + NativeHandle& operator= (vk::pt::AndroidHardwareBufferPtr buffer); - void setWin32Handle (Win32HandleType type, vk::pt::Win32Handle handle); + void setWin32Handle (Win32HandleType type, vk::pt::Win32Handle handle); - vk::pt::Win32Handle getWin32Handle (void) const; - int getFd (void) const; - void disown (void); - void reset (void); + vk::pt::Win32Handle getWin32Handle (void) const; + int getFd (void) const; + vk::pt::AndroidHardwareBufferPtr getAndroidHardwareBuffer (void) const; + void disown (void); + void reset (void); private: - int m_fd; - Win32HandleType m_win32HandleType; - vk::pt::Win32Handle m_win32Handle; + int m_fd; + Win32HandleType m_win32HandleType; + vk::pt::Win32Handle m_win32Handle; + vk::pt::AndroidHardwareBufferPtr m_androidHardwareBuffer; // Disabled - NativeHandle& operator= (const NativeHandle&); + NativeHandle& operator= (const NativeHandle&); }; const char* externalSemaphoreTypeToName (vk::VkExternalSemaphoreHandleTypeFlagBits type); diff --git a/external/vulkancts/mustpass/1.1.0/vk-default-no-waivers.txt b/external/vulkancts/mustpass/1.1.0/vk-default-no-waivers.txt index be97abd..5a56a12 100644 --- a/external/vulkancts/mustpass/1.1.0/vk-default-no-waivers.txt +++ b/external/vulkancts/mustpass/1.1.0/vk-default-no-waivers.txt @@ -71333,6 +71333,30 @@ dEQP-VK.api.external.memory.opaque_win32_kmt.dedicated.image.info dEQP-VK.api.external.memory.opaque_win32_kmt.dedicated.image.bind_export_import_bind dEQP-VK.api.external.memory.opaque_win32_kmt.dedicated.image.export_bind_import_bind dEQP-VK.api.external.memory.opaque_win32_kmt.dedicated.image.export_import_bind_bind +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.device_only.import_twice +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.device_only.import_multiple_times +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.host_visible.import_twice +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.host_visible.import_multiple_times +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.buffer.info +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.buffer.bind_export_import_bind +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.buffer.export_bind_import_bind +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.buffer.export_import_bind_bind +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.image.info +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.image.bind_export_import_bind +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.image.export_bind_import_bind +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.image.export_import_bind_bind +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.device_only.import_twice +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.device_only.import_multiple_times +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.host_visible.import_twice +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.host_visible.import_multiple_times +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.buffer.info +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.buffer.bind_export_import_bind +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.buffer.export_bind_import_bind +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.buffer.export_import_bind_bind +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.image.info +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.image.bind_export_import_bind +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.image.export_bind_import_bind +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.image.export_import_bind_bind dEQP-VK.api.external.fence.sync_fd.info dEQP-VK.api.external.fence.sync_fd.import_twice_temporary dEQP-VK.api.external.fence.sync_fd.reimport_temporary diff --git a/external/vulkancts/mustpass/1.1.0/vk-default.txt b/external/vulkancts/mustpass/1.1.0/vk-default.txt index a1994bf..ee7eb4d 100755 --- a/external/vulkancts/mustpass/1.1.0/vk-default.txt +++ b/external/vulkancts/mustpass/1.1.0/vk-default.txt @@ -71333,6 +71333,30 @@ dEQP-VK.api.external.memory.opaque_win32_kmt.dedicated.image.info dEQP-VK.api.external.memory.opaque_win32_kmt.dedicated.image.bind_export_import_bind dEQP-VK.api.external.memory.opaque_win32_kmt.dedicated.image.export_bind_import_bind dEQP-VK.api.external.memory.opaque_win32_kmt.dedicated.image.export_import_bind_bind +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.device_only.import_twice +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.device_only.import_multiple_times +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.host_visible.import_twice +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.host_visible.import_multiple_times +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.buffer.info +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.buffer.bind_export_import_bind +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.buffer.export_bind_import_bind +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.buffer.export_import_bind_bind +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.image.info +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.image.bind_export_import_bind +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.image.export_bind_import_bind +dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.image.export_import_bind_bind +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.device_only.import_twice +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.device_only.import_multiple_times +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.host_visible.import_twice +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.host_visible.import_multiple_times +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.buffer.info +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.buffer.bind_export_import_bind +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.buffer.export_bind_import_bind +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.buffer.export_import_bind_bind +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.image.info +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.image.bind_export_import_bind +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.image.export_bind_import_bind +dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.image.export_import_bind_bind dEQP-VK.api.external.fence.sync_fd.info dEQP-VK.api.external.fence.sync_fd.import_twice_temporary dEQP-VK.api.external.fence.sync_fd.reimport_temporary diff --git a/external/vulkancts/scripts/src/vulkan.h.in b/external/vulkancts/scripts/src/vulkan.h.in index 89e6b33..92e48a5 100644 --- a/external/vulkancts/scripts/src/vulkan.h.in +++ b/external/vulkancts/scripts/src/vulkan.h.in @@ -209,13 +209,6 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000, VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000, VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129000, - VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129001, - VK_STRUCTURE_TYPE_MEMORY_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129002, - VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003, - VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004, - VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_EXTERNAL_FORMAT_PROPERTIES_ANDROID = 1000129005, - VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129006, VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000, VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003, VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004, @@ -358,6 +351,12 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004, VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000, VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000, + VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000, + VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001, + VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002, + VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003, + VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004, + VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = 1000130000, VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = 1000130001, VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000, @@ -3622,7 +3621,7 @@ typedef enum VkExternalMemoryHandleTypeFlagBits { VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010, VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020, VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040, - VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000080, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400, VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF } VkExternalMemoryHandleTypeFlagBits; typedef VkFlags VkExternalMemoryHandleTypeFlags; @@ -7424,35 +7423,39 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT( #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer" #define VK_ANDROID_external_memory_android_hardware_buffer 1 -#define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION 1 +#define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION 2 +struct AHardwareBuffer; #define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME "VK_ANDROID_external_memory_android_hardware_buffer" -typedef struct VkPhysicalDeviceAndroidHardwareBufferInfoANDROID { - VkStructureType sType; - void* pNext; - VkFormat format; - VkImageTiling tiling; - VkImageUsageFlags imageUsage; - VkImageCreateFlags imageFlags; -} VkPhysicalDeviceAndroidHardwareBufferInfoANDROID; - typedef struct VkAndroidHardwareBufferUsageANDROID { VkStructureType sType; void* pNext; uint64_t androidHardwareBufferUsage; } VkAndroidHardwareBufferUsageANDROID; -typedef struct VkMemoryAndroidHardwareBufferPropertiesANDROID { +typedef struct VkAndroidHardwareBufferPropertiesANDROID { VkStructureType sType; void* pNext; VkDeviceSize allocationSize; uint32_t memoryTypeBits; -} VkMemoryAndroidHardwareBufferPropertiesANDROID; +} VkAndroidHardwareBufferPropertiesANDROID; + +typedef struct VkAndroidHardwareBufferFormatPropertiesANDROID { + VkStructureType sType; + void* pNext; + VkFormat format; + uint64_t externalFormat; + VkFormatFeatureFlags formatFeatures; + VkSamplerYcbcrModelConversion suggestedYcbcrModel; + VkSamplerYcbcrRange suggestedYcbcrRange; + VkChromaLocation suggestedXChromaOffset; + VkChromaLocation suggestedYChromaOffset; +} VkAndroidHardwareBufferFormatPropertiesANDROID; typedef struct VkImportAndroidHardwareBufferInfoANDROID { - VkStructureType sType; - const void* pNext; - AHardwareBuffer* buffer; + VkStructureType sType; + const void* pNext; + struct AHardwareBuffer* buffer; } VkImportAndroidHardwareBufferInfoANDROID; typedef struct VkMemoryGetAndroidHardwareBufferInfoANDROID { @@ -7461,46 +7464,26 @@ typedef struct VkMemoryGetAndroidHardwareBufferInfoANDROID { VkDeviceMemory memory; } VkMemoryGetAndroidHardwareBufferInfoANDROID; -typedef struct VkAndroidHardwareBufferExternalFormatPropertiesANDROID { - VkStructureType sType; - void* pNext; - uint32_t externalFormat; - VkFormatFeatureFlags formatFeatures; - VkSamplerYcbcrModelConversion suggestedYcbcrModel; - VkSamplerYcbcrRange suggestedYcbcrRange; - VkChromaLocation suggestedXChromaOffset; - VkChromaLocation suggestedYChromaOffset; -} VkAndroidHardwareBufferExternalFormatPropertiesANDROID; - -typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR; -typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR; -typedef VkChromaLocation VkChromaLocationKHR; - typedef struct VkExternalFormatANDROID { VkStructureType sType; void* pNext; - uint32_t externalFormat; + uint64_t externalFormat; } VkExternalFormatANDROID; -typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceAndroidHardwareBufferUsageANDROID)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceAndroidHardwareBufferInfoANDROID* pInfo, VkAndroidHardwareBufferUsageANDROID* pUsage); -typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryAndroidHardwareBufferPropertiesANDROID)(VkDevice device, const AHardwareBuffer* buffer, VkMemoryAndroidHardwareBufferPropertiesANDROID* pProperties); -typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryAndroidHardwareBufferANDROID)(VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, AHardwareBuffer** pBuffer); -#ifndef VK_NO_PROTOTYPES -VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceAndroidHardwareBufferUsageANDROID( - VkPhysicalDevice physicalDevice, - const VkPhysicalDeviceAndroidHardwareBufferInfoANDROID* pInfo, - VkAndroidHardwareBufferUsageANDROID* pUsage); +typedef VkResult (VKAPI_PTR *PFN_vkGetAndroidHardwareBufferPropertiesANDROID)(VkDevice device, const struct AHardwareBuffer* buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties); +typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryAndroidHardwareBufferANDROID)(VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct AHardwareBuffer** pBuffer); -VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryAndroidHardwareBufferPropertiesANDROID( +#ifndef VK_NO_PROTOTYPES +VKAPI_ATTR VkResult VKAPI_CALL vkGetAndroidHardwareBufferPropertiesANDROID( VkDevice device, - const AHardwareBuffer* buffer, - VkMemoryAndroidHardwareBufferPropertiesANDROID* pProperties); + const struct AHardwareBuffer* buffer, + VkAndroidHardwareBufferPropertiesANDROID* pProperties); VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryAndroidHardwareBufferANDROID( VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, - AHardwareBuffer** pBuffer); + struct AHardwareBuffer** pBuffer); #endif #ifdef __cplusplus -- 2.7.4