| /* |
| * Copyright 2015, The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| * |
| * THIS FILE WAS GENERATED BY apic. DO NOT EDIT. |
| */ |
| |
| |
| #ifndef GAPII_VULKAN_IMPORTS_H |
| #define GAPII_VULKAN_IMPORTS_H |
| |
| #include "vulkan_types.h" |
| #include "vulkan_extras.h" |
| |
| #include <gapic/target.h> // STDCALL |
| |
| namespace gapii { |
| |
| struct VulkanImports { |
| VulkanImports(); |
| void resolve(); |
| typedef uint32_t (VKAPI_PTR *PFNVKCREATEANDROIDSURFACEKHR)(VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); |
| typedef uint32_t (VKAPI_PTR *PFNVKGETSWAPCHAINGRALLOCUSAGEANDROID)(VkDevice device, uint32_t format, VkImageUsageFlags imageUsage, int* grallocUsage); |
| typedef uint32_t (VKAPI_PTR *PFNVKACQUIREIMAGEANDROID)(VkDevice device, VkImage image, int nativeFenceFd, VkSemaphore semaphore, VkFence fence); |
| typedef uint32_t (VKAPI_PTR *PFNVKQUEUESIGNALRELEASEIMAGEANDROID)(VkQueue queue, uint32_t waitSemaphoreCount, const VkSemaphore* pWaitSemaphores, VkImage image, int* pNativeFenceFd); |
| typedef uint32_t (VKAPI_PTR *PFNVKCREATEINSTANCE)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance); |
| typedef void (VKAPI_PTR *PFNVKDESTROYINSTANCE)(VkInstance instance, const VkAllocationCallbacks* pAllocator); |
| typedef uint32_t (VKAPI_PTR *PFNVKENUMERATEPHYSICALDEVICES)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices); |
| typedef void (VKAPI_PTR *PFNVKGETPHYSICALDEVICEFEATURES)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures); |
| typedef void (VKAPI_PTR *PFNVKGETPHYSICALDEVICEFORMATPROPERTIES)(VkPhysicalDevice physicalDevice, uint32_t format, VkFormatProperties* pFormatProperties); |
| typedef uint32_t (VKAPI_PTR *PFNVKGETPHYSICALDEVICEIMAGEFORMATPROPERTIES)(VkPhysicalDevice physicalDevice, uint32_t format, uint32_t type, uint32_t tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties); |
| typedef void (VKAPI_PTR *PFNVKGETPHYSICALDEVICEPROPERTIES)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties); |
| typedef void (VKAPI_PTR *PFNVKGETPHYSICALDEVICEQUEUEFAMILYPROPERTIES)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties); |
| typedef void (VKAPI_PTR *PFNVKGETPHYSICALDEVICEMEMORYPROPERTIES)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties); |
| typedef PFN_vkVoidFunction (VKAPI_PTR *PFNVKGETINSTANCEPROCADDR)(VkInstance instance, const char* pName); |
| typedef PFN_vkVoidFunction (VKAPI_PTR *PFNVKGETDEVICEPROCADDR)(VkDevice device, const char* pName); |
| typedef uint32_t (VKAPI_PTR *PFNVKCREATEDEVICE)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice); |
| typedef void (VKAPI_PTR *PFNVKDESTROYDEVICE)(VkDevice device, const VkAllocationCallbacks* pAllocator); |
| typedef uint32_t (VKAPI_PTR *PFNVKENUMERATEINSTANCEEXTENSIONPROPERTIES)(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties); |
| typedef uint32_t (VKAPI_PTR *PFNVKENUMERATEDEVICEEXTENSIONPROPERTIES)(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties); |
| typedef uint32_t (VKAPI_PTR *PFNVKENUMERATEINSTANCELAYERPROPERTIES)(uint32_t* pPropertyCount, VkLayerProperties* pProperties); |
| typedef uint32_t (VKAPI_PTR *PFNVKENUMERATEDEVICELAYERPROPERTIES)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties); |
| typedef void (VKAPI_PTR *PFNVKGETDEVICEQUEUE)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue); |
| typedef uint32_t (VKAPI_PTR *PFNVKQUEUESUBMIT)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence); |
| typedef uint32_t (VKAPI_PTR *PFNVKQUEUEWAITIDLE)(VkQueue queue); |
| typedef uint32_t (VKAPI_PTR *PFNVKDEVICEWAITIDLE)(VkDevice device); |
| typedef uint32_t (VKAPI_PTR *PFNVKALLOCATEMEMORY)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory); |
| typedef void (VKAPI_PTR *PFNVKFREEMEMORY)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator); |
| typedef uint32_t (VKAPI_PTR *PFNVKMAPMEMORY)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData); |
| typedef void (VKAPI_PTR *PFNVKUNMAPMEMORY)(VkDevice device, VkDeviceMemory memory); |
| typedef uint32_t (VKAPI_PTR *PFNVKFLUSHMAPPEDMEMORYRANGES)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); |
| typedef uint32_t (VKAPI_PTR *PFNVKINVALIDATEMAPPEDMEMORYRANGES)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); |
| typedef void (VKAPI_PTR *PFNVKGETDEVICEMEMORYCOMMITMENT)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes); |
| typedef uint32_t (VKAPI_PTR *PFNVKBINDBUFFERMEMORY)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset); |
| typedef uint32_t (VKAPI_PTR *PFNVKBINDIMAGEMEMORY)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset); |
| typedef void (VKAPI_PTR *PFNVKGETBUFFERMEMORYREQUIREMENTS)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements); |
| typedef void (VKAPI_PTR *PFNVKGETIMAGEMEMORYREQUIREMENTS)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements); |
| typedef void (VKAPI_PTR *PFNVKGETIMAGESPARSEMEMORYREQUIREMENTS)(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements); |
| typedef void (VKAPI_PTR *PFNVKGETPHYSICALDEVICESPARSEIMAGEFORMATPROPERTIES)(VkPhysicalDevice physicalDevice, uint32_t format, uint32_t type, uint32_t samples, VkImageUsageFlags usage, uint32_t tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties); |
| typedef uint32_t (VKAPI_PTR *PFNVKQUEUEBINDSPARSE)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence); |
| typedef uint32_t (VKAPI_PTR *PFNVKCREATEFENCE)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); |
| typedef void (VKAPI_PTR *PFNVKDESTROYFENCE)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator); |
| typedef uint32_t (VKAPI_PTR *PFNVKRESETFENCES)(VkDevice device, uint32_t fenceCount, const VkFence* pFences); |
| typedef uint32_t (VKAPI_PTR *PFNVKGETFENCESTATUS)(VkDevice device, VkFence fence); |
| typedef uint32_t (VKAPI_PTR *PFNVKWAITFORFENCES)(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout); |
| typedef uint32_t (VKAPI_PTR *PFNVKCREATESEMAPHORE)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore); |
| typedef void (VKAPI_PTR *PFNVKDESTROYSEMAPHORE)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator); |
| typedef uint32_t (VKAPI_PTR *PFNVKCREATEEVENT)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent); |
| typedef void (VKAPI_PTR *PFNVKDESTROYEVENT)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator); |
| typedef uint32_t (VKAPI_PTR *PFNVKGETEVENTSTATUS)(VkDevice device, VkEvent event); |
| typedef uint32_t (VKAPI_PTR *PFNVKSETEVENT)(VkDevice device, VkEvent event); |
| typedef uint32_t (VKAPI_PTR *PFNVKRESETEVENT)(VkDevice device, VkEvent event); |
| typedef uint32_t (VKAPI_PTR *PFNVKCREATEQUERYPOOL)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool); |
| typedef void (VKAPI_PTR *PFNVKDESTROYQUERYPOOL)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator); |
| typedef uint32_t (VKAPI_PTR *PFNVKGETQUERYPOOLRESULTS)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags); |
| typedef uint32_t (VKAPI_PTR *PFNVKCREATEBUFFER)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer); |
| typedef void (VKAPI_PTR *PFNVKDESTROYBUFFER)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator); |
| typedef uint32_t (VKAPI_PTR *PFNVKCREATEBUFFERVIEW)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView); |
| typedef void (VKAPI_PTR *PFNVKDESTROYBUFFERVIEW)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator); |
| typedef uint32_t (VKAPI_PTR *PFNVKCREATEIMAGE)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage); |
| typedef void (VKAPI_PTR *PFNVKDESTROYIMAGE)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator); |
| typedef void (VKAPI_PTR *PFNVKGETIMAGESUBRESOURCELAYOUT)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout); |
| typedef uint32_t (VKAPI_PTR *PFNVKCREATEIMAGEVIEW)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView); |
| typedef void (VKAPI_PTR *PFNVKDESTROYIMAGEVIEW)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator); |
| typedef uint32_t (VKAPI_PTR *PFNVKCREATESHADERMODULE)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule); |
| typedef void (VKAPI_PTR *PFNVKDESTROYSHADERMODULE)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator); |
| typedef uint32_t (VKAPI_PTR *PFNVKCREATEPIPELINECACHE)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache); |
| typedef void (VKAPI_PTR *PFNVKDESTROYPIPELINECACHE)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator); |
| typedef uint32_t (VKAPI_PTR *PFNVKGETPIPELINECACHEDATA)(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData); |
| typedef uint32_t (VKAPI_PTR *PFNVKMERGEPIPELINECACHES)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches); |
| typedef uint32_t (VKAPI_PTR *PFNVKCREATEGRAPHICSPIPELINES)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); |
| typedef uint32_t (VKAPI_PTR *PFNVKCREATECOMPUTEPIPELINES)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); |
| typedef void (VKAPI_PTR *PFNVKDESTROYPIPELINE)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator); |
| typedef uint32_t (VKAPI_PTR *PFNVKCREATEPIPELINELAYOUT)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout); |
| typedef void (VKAPI_PTR *PFNVKDESTROYPIPELINELAYOUT)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator); |
| typedef uint32_t (VKAPI_PTR *PFNVKCREATESAMPLER)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler); |
| typedef void (VKAPI_PTR *PFNVKDESTROYSAMPLER)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator); |
| typedef uint32_t (VKAPI_PTR *PFNVKCREATEDESCRIPTORSETLAYOUT)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout); |
| typedef void (VKAPI_PTR *PFNVKDESTROYDESCRIPTORSETLAYOUT)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator); |
| typedef uint32_t (VKAPI_PTR *PFNVKCREATEDESCRIPTORPOOL)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool); |
| typedef void (VKAPI_PTR *PFNVKDESTROYDESCRIPTORPOOL)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator); |
| typedef uint32_t (VKAPI_PTR *PFNVKRESETDESCRIPTORPOOL)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags); |
| typedef uint32_t (VKAPI_PTR *PFNVKALLOCATEDESCRIPTORSETS)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets); |
| typedef uint32_t (VKAPI_PTR *PFNVKFREEDESCRIPTORSETS)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets); |
| typedef void (VKAPI_PTR *PFNVKUPDATEDESCRIPTORSETS)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies); |
| typedef uint32_t (VKAPI_PTR *PFNVKCREATEFRAMEBUFFER)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer); |
| typedef void (VKAPI_PTR *PFNVKDESTROYFRAMEBUFFER)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator); |
| typedef uint32_t (VKAPI_PTR *PFNVKCREATERENDERPASS)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); |
| typedef void (VKAPI_PTR *PFNVKDESTROYRENDERPASS)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator); |
| typedef void (VKAPI_PTR *PFNVKGETRENDERAREAGRANULARITY)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity); |
| typedef uint32_t (VKAPI_PTR *PFNVKCREATECOMMANDPOOL)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool); |
| typedef void (VKAPI_PTR *PFNVKDESTROYCOMMANDPOOL)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator); |
| typedef uint32_t (VKAPI_PTR *PFNVKRESETCOMMANDPOOL)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags); |
| typedef uint32_t (VKAPI_PTR *PFNVKALLOCATECOMMANDBUFFERS)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers); |
| typedef void (VKAPI_PTR *PFNVKFREECOMMANDBUFFERS)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers); |
| typedef uint32_t (VKAPI_PTR *PFNVKBEGINCOMMANDBUFFER)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo); |
| typedef uint32_t (VKAPI_PTR *PFNVKENDCOMMANDBUFFER)(VkCommandBuffer commandBuffer); |
| typedef uint32_t (VKAPI_PTR *PFNVKRESETCOMMANDBUFFER)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags); |
| typedef void (VKAPI_PTR *PFNVKCMDBINDPIPELINE)(VkCommandBuffer commandBuffer, uint32_t pipelineBindPoint, VkPipeline pipeline); |
| typedef void (VKAPI_PTR *PFNVKCMDSETVIEWPORT)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports); |
| typedef void (VKAPI_PTR *PFNVKCMDSETSCISSOR)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors); |
| typedef void (VKAPI_PTR *PFNVKCMDSETLINEWIDTH)(VkCommandBuffer commandBuffer, float lineWidth); |
| typedef void (VKAPI_PTR *PFNVKCMDSETDEPTHBIAS)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor); |
| typedef void (VKAPI_PTR *PFNVKCMDSETBLENDCONSTANTS)(VkCommandBuffer commandBuffer, gapic::StaticArray<float, 4> blendConstants); |
| typedef void (VKAPI_PTR *PFNVKCMDSETDEPTHBOUNDS)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds); |
| typedef void (VKAPI_PTR *PFNVKCMDSETSTENCILCOMPAREMASK)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask); |
| typedef void (VKAPI_PTR *PFNVKCMDSETSTENCILWRITEMASK)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask); |
| typedef void (VKAPI_PTR *PFNVKCMDSETSTENCILREFERENCE)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference); |
| typedef void (VKAPI_PTR *PFNVKCMDBINDDESCRIPTORSETS)(VkCommandBuffer commandBuffer, uint32_t pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets); |
| typedef void (VKAPI_PTR *PFNVKCMDBINDINDEXBUFFER)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t indexType); |
| typedef void (VKAPI_PTR *PFNVKCMDBINDVERTEXBUFFERS)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets); |
| typedef void (VKAPI_PTR *PFNVKCMDDRAW)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance); |
| typedef void (VKAPI_PTR *PFNVKCMDDRAWINDEXED)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance); |
| typedef void (VKAPI_PTR *PFNVKCMDDRAWINDIRECT)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); |
| typedef void (VKAPI_PTR *PFNVKCMDDRAWINDEXEDINDIRECT)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); |
| typedef void (VKAPI_PTR *PFNVKCMDDISPATCH)(VkCommandBuffer commandBuffer, uint32_t x, uint32_t y, uint32_t z); |
| typedef void (VKAPI_PTR *PFNVKCMDDISPATCHINDIRECT)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset); |
| typedef void (VKAPI_PTR *PFNVKCMDCOPYBUFFER)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions); |
| typedef void (VKAPI_PTR *PFNVKCMDCOPYIMAGE)(VkCommandBuffer commandBuffer, VkImage srcImage, uint32_t srcImageLayout, VkImage dstImage, uint32_t dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions); |
| typedef void (VKAPI_PTR *PFNVKCMDBLITIMAGE)(VkCommandBuffer commandBuffer, VkImage srcImage, uint32_t srcImageLayout, VkImage dstImage, uint32_t dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, uint32_t filter); |
| typedef void (VKAPI_PTR *PFNVKCMDCOPYBUFFERTOIMAGE)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, uint32_t dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions); |
| typedef void (VKAPI_PTR *PFNVKCMDCOPYIMAGETOBUFFER)(VkCommandBuffer commandBuffer, VkImage srcImage, uint32_t srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions); |
| typedef void (VKAPI_PTR *PFNVKCMDUPDATEBUFFER)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const uint32_t* pData); |
| typedef void (VKAPI_PTR *PFNVKCMDFILLBUFFER)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data); |
| typedef void (VKAPI_PTR *PFNVKCMDCLEARCOLORIMAGE)(VkCommandBuffer commandBuffer, VkImage image, uint32_t imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); |
| typedef void (VKAPI_PTR *PFNVKCMDCLEARDEPTHSTENCILIMAGE)(VkCommandBuffer commandBuffer, VkImage image, uint32_t imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); |
| typedef void (VKAPI_PTR *PFNVKCMDCLEARATTACHMENTS)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects); |
| typedef void (VKAPI_PTR *PFNVKCMDRESOLVEIMAGE)(VkCommandBuffer commandBuffer, VkImage srcImage, uint32_t srcImageLayout, VkImage dstImage, uint32_t dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions); |
| typedef void (VKAPI_PTR *PFNVKCMDSETEVENT)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); |
| typedef void (VKAPI_PTR *PFNVKCMDRESETEVENT)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); |
| typedef void (VKAPI_PTR *PFNVKCMDWAITEVENTS)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers); |
| typedef void (VKAPI_PTR *PFNVKCMDPIPELINEBARRIER)(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers); |
| typedef void (VKAPI_PTR *PFNVKCMDBEGINQUERY)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags); |
| typedef void (VKAPI_PTR *PFNVKCMDENDQUERY)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query); |
| typedef void (VKAPI_PTR *PFNVKCMDRESETQUERYPOOL)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); |
| typedef void (VKAPI_PTR *PFNVKCMDWRITETIMESTAMP)(VkCommandBuffer commandBuffer, uint32_t pipelineStage, VkQueryPool queryPool, uint32_t query); |
| typedef void (VKAPI_PTR *PFNVKCMDCOPYQUERYPOOLRESULTS)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags); |
| typedef void (VKAPI_PTR *PFNVKCMDPUSHCONSTANTS)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues); |
| typedef void (VKAPI_PTR *PFNVKCMDBEGINRENDERPASS)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, uint32_t contents); |
| typedef void (VKAPI_PTR *PFNVKCMDNEXTSUBPASS)(VkCommandBuffer commandBuffer, uint32_t contents); |
| typedef void (VKAPI_PTR *PFNVKCMDENDRENDERPASS)(VkCommandBuffer commandBuffer); |
| typedef void (VKAPI_PTR *PFNVKCMDEXECUTECOMMANDS)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers); |
| typedef void (VKAPI_PTR *PFNVKDESTROYSURFACEKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator); |
| typedef uint32_t (VKAPI_PTR *PFNVKGETPHYSICALDEVICESURFACESUPPORTKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported); |
| typedef uint32_t (VKAPI_PTR *PFNVKGETPHYSICALDEVICESURFACECAPABILITIESKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); |
| typedef uint32_t (VKAPI_PTR *PFNVKGETPHYSICALDEVICESURFACEFORMATSKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats); |
| typedef uint32_t (VKAPI_PTR *PFNVKGETPHYSICALDEVICESURFACEPRESENTMODESKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, uint32_t* pPresentModes); |
| typedef uint32_t (VKAPI_PTR *PFNVKCREATESWAPCHAINKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain); |
| typedef void (VKAPI_PTR *PFNVKDESTROYSWAPCHAINKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator); |
| typedef uint32_t (VKAPI_PTR *PFNVKGETSWAPCHAINIMAGESKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages); |
| typedef uint32_t (VKAPI_PTR *PFNVKACQUIRENEXTIMAGEKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex); |
| typedef uint32_t (VKAPI_PTR *PFNVKQUEUEPRESENTKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo); |
| typedef uint32_t (VKAPI_PTR *PFNVKGETPHYSICALDEVICEDISPLAYPROPERTIESKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties); |
| typedef uint32_t (VKAPI_PTR *PFNVKGETPHYSICALDEVICEDISPLAYPLANEPROPERTIESKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties); |
| typedef uint32_t (VKAPI_PTR *PFNVKGETDISPLAYPLANESUPPORTEDDISPLAYSKHR)(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays); |
| typedef uint32_t (VKAPI_PTR *PFNVKGETDISPLAYMODEPROPERTIESKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties); |
| typedef uint32_t (VKAPI_PTR *PFNVKCREATEDISPLAYMODEKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode); |
| typedef uint32_t (VKAPI_PTR *PFNVKGETDISPLAYPLANECAPABILITIESKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities); |
| typedef uint32_t (VKAPI_PTR *PFNVKCREATEDISPLAYPLANESURFACEKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); |
| typedef uint32_t (VKAPI_PTR *PFNVKCREATESHAREDSWAPCHAINSKHR)(VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains); |
| typedef uint32_t (VKAPI_PTR *PFNVKCREATEDEBUGREPORTCALLBACKEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback); |
| typedef void (VKAPI_PTR *PFNVKDESTROYDEBUGREPORTCALLBACKEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator); |
| typedef void (VKAPI_PTR *PFNVKDEBUGREPORTMESSAGEEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, uint32_t objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage); |
| |
| struct InstanceFunctions { |
| std::vector<VkPhysicalDevice> mPhysicalDevices; |
| PFNVKENUMERATEINSTANCEEXTENSIONPROPERTIES vkEnumerateInstanceExtensionProperties; |
| PFNVKCREATEANDROIDSURFACEKHR vkCreateAndroidSurfaceKHR; |
| PFNVKCREATEINSTANCE vkCreateInstance; |
| PFNVKDESTROYINSTANCE vkDestroyInstance; |
| PFNVKENUMERATEPHYSICALDEVICES vkEnumeratePhysicalDevices; |
| PFNVKGETPHYSICALDEVICEFEATURES vkGetPhysicalDeviceFeatures; |
| PFNVKGETPHYSICALDEVICEFORMATPROPERTIES vkGetPhysicalDeviceFormatProperties; |
| PFNVKGETPHYSICALDEVICEIMAGEFORMATPROPERTIES vkGetPhysicalDeviceImageFormatProperties; |
| PFNVKGETPHYSICALDEVICEPROPERTIES vkGetPhysicalDeviceProperties; |
| PFNVKGETPHYSICALDEVICEQUEUEFAMILYPROPERTIES vkGetPhysicalDeviceQueueFamilyProperties; |
| PFNVKGETPHYSICALDEVICEMEMORYPROPERTIES vkGetPhysicalDeviceMemoryProperties; |
| PFNVKGETINSTANCEPROCADDR vkGetInstanceProcAddr; |
| PFNVKCREATEDEVICE vkCreateDevice; |
| PFNVKENUMERATEDEVICEEXTENSIONPROPERTIES vkEnumerateDeviceExtensionProperties; |
| PFNVKENUMERATEDEVICELAYERPROPERTIES vkEnumerateDeviceLayerProperties; |
| PFNVKGETPHYSICALDEVICESPARSEIMAGEFORMATPROPERTIES vkGetPhysicalDeviceSparseImageFormatProperties; |
| PFNVKDESTROYSURFACEKHR vkDestroySurfaceKHR; |
| PFNVKGETPHYSICALDEVICESURFACESUPPORTKHR vkGetPhysicalDeviceSurfaceSupportKHR; |
| PFNVKGETPHYSICALDEVICESURFACECAPABILITIESKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR; |
| PFNVKGETPHYSICALDEVICESURFACEFORMATSKHR vkGetPhysicalDeviceSurfaceFormatsKHR; |
| PFNVKGETPHYSICALDEVICESURFACEPRESENTMODESKHR vkGetPhysicalDeviceSurfacePresentModesKHR; |
| PFNVKGETPHYSICALDEVICEDISPLAYPROPERTIESKHR vkGetPhysicalDeviceDisplayPropertiesKHR; |
| PFNVKGETPHYSICALDEVICEDISPLAYPLANEPROPERTIESKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR; |
| PFNVKGETDISPLAYPLANESUPPORTEDDISPLAYSKHR vkGetDisplayPlaneSupportedDisplaysKHR; |
| PFNVKGETDISPLAYMODEPROPERTIESKHR vkGetDisplayModePropertiesKHR; |
| PFNVKCREATEDISPLAYMODEKHR vkCreateDisplayModeKHR; |
| PFNVKGETDISPLAYPLANECAPABILITIESKHR vkGetDisplayPlaneCapabilitiesKHR; |
| PFNVKCREATEDISPLAYPLANESURFACEKHR vkCreateDisplayPlaneSurfaceKHR; |
| PFNVKCREATEDEBUGREPORTCALLBACKEXT vkCreateDebugReportCallbackEXT; |
| PFNVKDESTROYDEBUGREPORTCALLBACKEXT vkDestroyDebugReportCallbackEXT; |
| PFNVKDEBUGREPORTMESSAGEEXT vkDebugReportMessageEXT; |
| }; |
| |
| struct DeviceFunctions { |
| PFNVKGETSWAPCHAINGRALLOCUSAGEANDROID vkGetSwapchainGrallocUsageANDROID; |
| PFNVKACQUIREIMAGEANDROID vkAcquireImageANDROID; |
| PFNVKQUEUESIGNALRELEASEIMAGEANDROID vkQueueSignalReleaseImageANDROID; |
| PFNVKGETDEVICEPROCADDR vkGetDeviceProcAddr; |
| PFNVKDESTROYDEVICE vkDestroyDevice; |
| PFNVKGETDEVICEQUEUE vkGetDeviceQueue; |
| PFNVKQUEUESUBMIT vkQueueSubmit; |
| PFNVKQUEUEWAITIDLE vkQueueWaitIdle; |
| PFNVKDEVICEWAITIDLE vkDeviceWaitIdle; |
| PFNVKALLOCATEMEMORY vkAllocateMemory; |
| PFNVKFREEMEMORY vkFreeMemory; |
| PFNVKMAPMEMORY vkMapMemory; |
| PFNVKUNMAPMEMORY vkUnmapMemory; |
| PFNVKFLUSHMAPPEDMEMORYRANGES vkFlushMappedMemoryRanges; |
| PFNVKINVALIDATEMAPPEDMEMORYRANGES vkInvalidateMappedMemoryRanges; |
| PFNVKGETDEVICEMEMORYCOMMITMENT vkGetDeviceMemoryCommitment; |
| PFNVKBINDBUFFERMEMORY vkBindBufferMemory; |
| PFNVKBINDIMAGEMEMORY vkBindImageMemory; |
| PFNVKGETBUFFERMEMORYREQUIREMENTS vkGetBufferMemoryRequirements; |
| PFNVKGETIMAGEMEMORYREQUIREMENTS vkGetImageMemoryRequirements; |
| PFNVKGETIMAGESPARSEMEMORYREQUIREMENTS vkGetImageSparseMemoryRequirements; |
| PFNVKQUEUEBINDSPARSE vkQueueBindSparse; |
| PFNVKCREATEFENCE vkCreateFence; |
| PFNVKDESTROYFENCE vkDestroyFence; |
| PFNVKRESETFENCES vkResetFences; |
| PFNVKGETFENCESTATUS vkGetFenceStatus; |
| PFNVKWAITFORFENCES vkWaitForFences; |
| PFNVKCREATESEMAPHORE vkCreateSemaphore; |
| PFNVKDESTROYSEMAPHORE vkDestroySemaphore; |
| PFNVKCREATEEVENT vkCreateEvent; |
| PFNVKDESTROYEVENT vkDestroyEvent; |
| PFNVKGETEVENTSTATUS vkGetEventStatus; |
| PFNVKSETEVENT vkSetEvent; |
| PFNVKRESETEVENT vkResetEvent; |
| PFNVKCREATEQUERYPOOL vkCreateQueryPool; |
| PFNVKDESTROYQUERYPOOL vkDestroyQueryPool; |
| PFNVKGETQUERYPOOLRESULTS vkGetQueryPoolResults; |
| PFNVKCREATEBUFFER vkCreateBuffer; |
| PFNVKDESTROYBUFFER vkDestroyBuffer; |
| PFNVKCREATEBUFFERVIEW vkCreateBufferView; |
| PFNVKDESTROYBUFFERVIEW vkDestroyBufferView; |
| PFNVKCREATEIMAGE vkCreateImage; |
| PFNVKDESTROYIMAGE vkDestroyImage; |
| PFNVKGETIMAGESUBRESOURCELAYOUT vkGetImageSubresourceLayout; |
| PFNVKCREATEIMAGEVIEW vkCreateImageView; |
| PFNVKDESTROYIMAGEVIEW vkDestroyImageView; |
| PFNVKCREATESHADERMODULE vkCreateShaderModule; |
| PFNVKDESTROYSHADERMODULE vkDestroyShaderModule; |
| PFNVKCREATEPIPELINECACHE vkCreatePipelineCache; |
| PFNVKDESTROYPIPELINECACHE vkDestroyPipelineCache; |
| PFNVKGETPIPELINECACHEDATA vkGetPipelineCacheData; |
| PFNVKMERGEPIPELINECACHES vkMergePipelineCaches; |
| PFNVKCREATEGRAPHICSPIPELINES vkCreateGraphicsPipelines; |
| PFNVKCREATECOMPUTEPIPELINES vkCreateComputePipelines; |
| PFNVKDESTROYPIPELINE vkDestroyPipeline; |
| PFNVKCREATEPIPELINELAYOUT vkCreatePipelineLayout; |
| PFNVKDESTROYPIPELINELAYOUT vkDestroyPipelineLayout; |
| PFNVKCREATESAMPLER vkCreateSampler; |
| PFNVKDESTROYSAMPLER vkDestroySampler; |
| PFNVKCREATEDESCRIPTORSETLAYOUT vkCreateDescriptorSetLayout; |
| PFNVKDESTROYDESCRIPTORSETLAYOUT vkDestroyDescriptorSetLayout; |
| PFNVKCREATEDESCRIPTORPOOL vkCreateDescriptorPool; |
| PFNVKDESTROYDESCRIPTORPOOL vkDestroyDescriptorPool; |
| PFNVKRESETDESCRIPTORPOOL vkResetDescriptorPool; |
| PFNVKALLOCATEDESCRIPTORSETS vkAllocateDescriptorSets; |
| PFNVKFREEDESCRIPTORSETS vkFreeDescriptorSets; |
| PFNVKUPDATEDESCRIPTORSETS vkUpdateDescriptorSets; |
| PFNVKCREATEFRAMEBUFFER vkCreateFramebuffer; |
| PFNVKDESTROYFRAMEBUFFER vkDestroyFramebuffer; |
| PFNVKCREATERENDERPASS vkCreateRenderPass; |
| PFNVKDESTROYRENDERPASS vkDestroyRenderPass; |
| PFNVKGETRENDERAREAGRANULARITY vkGetRenderAreaGranularity; |
| PFNVKCREATECOMMANDPOOL vkCreateCommandPool; |
| PFNVKDESTROYCOMMANDPOOL vkDestroyCommandPool; |
| PFNVKRESETCOMMANDPOOL vkResetCommandPool; |
| PFNVKALLOCATECOMMANDBUFFERS vkAllocateCommandBuffers; |
| PFNVKFREECOMMANDBUFFERS vkFreeCommandBuffers; |
| PFNVKBEGINCOMMANDBUFFER vkBeginCommandBuffer; |
| PFNVKENDCOMMANDBUFFER vkEndCommandBuffer; |
| PFNVKRESETCOMMANDBUFFER vkResetCommandBuffer; |
| PFNVKCMDBINDPIPELINE vkCmdBindPipeline; |
| PFNVKCMDSETVIEWPORT vkCmdSetViewport; |
| PFNVKCMDSETSCISSOR vkCmdSetScissor; |
| PFNVKCMDSETLINEWIDTH vkCmdSetLineWidth; |
| PFNVKCMDSETDEPTHBIAS vkCmdSetDepthBias; |
| PFNVKCMDSETBLENDCONSTANTS vkCmdSetBlendConstants; |
| PFNVKCMDSETDEPTHBOUNDS vkCmdSetDepthBounds; |
| PFNVKCMDSETSTENCILCOMPAREMASK vkCmdSetStencilCompareMask; |
| PFNVKCMDSETSTENCILWRITEMASK vkCmdSetStencilWriteMask; |
| PFNVKCMDSETSTENCILREFERENCE vkCmdSetStencilReference; |
| PFNVKCMDBINDDESCRIPTORSETS vkCmdBindDescriptorSets; |
| PFNVKCMDBINDINDEXBUFFER vkCmdBindIndexBuffer; |
| PFNVKCMDBINDVERTEXBUFFERS vkCmdBindVertexBuffers; |
| PFNVKCMDDRAW vkCmdDraw; |
| PFNVKCMDDRAWINDEXED vkCmdDrawIndexed; |
| PFNVKCMDDRAWINDIRECT vkCmdDrawIndirect; |
| PFNVKCMDDRAWINDEXEDINDIRECT vkCmdDrawIndexedIndirect; |
| PFNVKCMDDISPATCH vkCmdDispatch; |
| PFNVKCMDDISPATCHINDIRECT vkCmdDispatchIndirect; |
| PFNVKCMDCOPYBUFFER vkCmdCopyBuffer; |
| PFNVKCMDCOPYIMAGE vkCmdCopyImage; |
| PFNVKCMDBLITIMAGE vkCmdBlitImage; |
| PFNVKCMDCOPYBUFFERTOIMAGE vkCmdCopyBufferToImage; |
| PFNVKCMDCOPYIMAGETOBUFFER vkCmdCopyImageToBuffer; |
| PFNVKCMDUPDATEBUFFER vkCmdUpdateBuffer; |
| PFNVKCMDFILLBUFFER vkCmdFillBuffer; |
| PFNVKCMDCLEARCOLORIMAGE vkCmdClearColorImage; |
| PFNVKCMDCLEARDEPTHSTENCILIMAGE vkCmdClearDepthStencilImage; |
| PFNVKCMDCLEARATTACHMENTS vkCmdClearAttachments; |
| PFNVKCMDRESOLVEIMAGE vkCmdResolveImage; |
| PFNVKCMDSETEVENT vkCmdSetEvent; |
| PFNVKCMDRESETEVENT vkCmdResetEvent; |
| PFNVKCMDWAITEVENTS vkCmdWaitEvents; |
| PFNVKCMDPIPELINEBARRIER vkCmdPipelineBarrier; |
| PFNVKCMDBEGINQUERY vkCmdBeginQuery; |
| PFNVKCMDENDQUERY vkCmdEndQuery; |
| PFNVKCMDRESETQUERYPOOL vkCmdResetQueryPool; |
| PFNVKCMDWRITETIMESTAMP vkCmdWriteTimestamp; |
| PFNVKCMDCOPYQUERYPOOLRESULTS vkCmdCopyQueryPoolResults; |
| PFNVKCMDPUSHCONSTANTS vkCmdPushConstants; |
| PFNVKCMDBEGINRENDERPASS vkCmdBeginRenderPass; |
| PFNVKCMDNEXTSUBPASS vkCmdNextSubpass; |
| PFNVKCMDENDRENDERPASS vkCmdEndRenderPass; |
| PFNVKCMDEXECUTECOMMANDS vkCmdExecuteCommands; |
| PFNVKCREATESWAPCHAINKHR vkCreateSwapchainKHR; |
| PFNVKDESTROYSWAPCHAINKHR vkDestroySwapchainKHR; |
| PFNVKGETSWAPCHAINIMAGESKHR vkGetSwapchainImagesKHR; |
| PFNVKACQUIRENEXTIMAGEKHR vkAcquireNextImageKHR; |
| PFNVKQUEUEPRESENTKHR vkQueuePresentKHR; |
| PFNVKCREATESHAREDSWAPCHAINSKHR vkCreateSharedSwapchainsKHR; |
| }; |
| |
| // These maps contain both the device/instance specific function pointers |
| // for any vulkan call. Since these can be different per-device we collect them |
| // on calls to VkCreateInstance/VkCreateDevice and store them here. |
| std::unordered_map<VkInstance, InstanceFunctions> mInstanceFunctions; |
| std::unordered_map<VkDevice, DeviceFunctions> mDeviceFunctions; |
| // These maps contain mappings from objects created by an instance/device |
| // back to the original device. This lets us get back to the correct VkDevice |
| // VkInstance in order to call the appropriate function. |
| std::unordered_map<VkCommandBuffer, VkDevice> mCommandBuffersToDevices; |
| std::unordered_map<VkQueue, VkDevice> mQueuesToDevices; |
| std::unordered_map<VkPhysicalDevice, VkInstance> mPhysicalDevicesToInstances; |
| }; |
| } // namespace gapii |
| |
| #endif // GAPII_VULKAN_IMPORTS_H |