blob: 0cd278e61323441d18a2184622dcc2216ed794e1 [file] [log] [blame]
/*
* 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 "gapic/vulkan_ptr_types.h"
namespace gapii {
struct VulkanImports {
VulkanImports();
void resolve();
typedef uint32_t (VULKAN_API_PTR *PFNVKCREATEANDROIDSURFACEKHR)(VkInstance instance, VkAndroidSurfaceCreateInfoKHR* pCreateInfo, VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
typedef uint32_t (VULKAN_API_PTR *PFNVKGETSWAPCHAINGRALLOCUSAGEANDROID)(VkDevice device, uint32_t format, VkImageUsageFlags imageUsage, int* grallocUsage);
typedef uint32_t (VULKAN_API_PTR *PFNVKACQUIREIMAGEANDROID)(VkDevice device, VkImage image, int nativeFenceFd, VkSemaphore semaphore, VkFence fence);
typedef uint32_t (VULKAN_API_PTR *PFNVKQUEUESIGNALRELEASEIMAGEANDROID)(VkQueue queue, uint32_t waitSemaphoreCount, VkSemaphore* pWaitSemaphores, VkImage image, int* pNativeFenceFd);
typedef uint32_t (VULKAN_API_PTR *PFNVKCREATEXLIBSURFACEKHR)(VkInstance instance, VkXlibSurfaceCreateInfoKHR* pCreateInfo, VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
typedef VkBool32 (VULKAN_API_PTR *PFNVKGETPHYSICALDEVICEXLIBPRESENTATIONSUPPORTKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, Display* dpy, VisualID visualID);
typedef uint32_t (VULKAN_API_PTR *PFNVKCREATEXCBSURFACEKHR)(VkInstance instance, VkXcbSurfaceCreateInfoKHR* pCreateInfo, VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
typedef VkBool32 (VULKAN_API_PTR *PFNVKGETPHYSICALDEVICEXCBPRESENTATIONSUPPORTKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, xcb_connection_t* connection, xcb_visualid_t visual_id);
typedef uint32_t (VULKAN_API_PTR *PFNVKCREATEWAYLANDSURFACEKHR)(VkInstance instance, VkWaylandSurfaceCreateInfoKHR* pCreateInfo, VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
typedef VkBool32 (VULKAN_API_PTR *PFNVKGETPHYSICALDEVICEWAYLANDPRESENTATIONSUPPORTKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, wl_display* display);
typedef uint32_t (VULKAN_API_PTR *PFNVKCREATEMIRSURFACEKHR)(VkInstance instance, VkMirSurfaceCreateInfoKHR* pCreateInfo, VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
typedef VkBool32 (VULKAN_API_PTR *PFNVKGETPHYSICALDEVICEMIRPRESENTATIONSUPPORTKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, MirConnection* connection);
typedef uint32_t (VULKAN_API_PTR *PFNREPLAYALLOCATEIMAGEMEMORY)(VkDevice device, VkPhysicalDeviceMemoryProperties* pPhysicalDeviceMemoryProperties, VkImage image, VkDeviceMemory* pMemory);
typedef uint32_t (VULKAN_API_PTR *PFNVKCREATEINSTANCE)(VkInstanceCreateInfo* pCreateInfo, VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
typedef void (VULKAN_API_PTR *PFNVKDESTROYINSTANCE)(VkInstance instance, VkAllocationCallbacks* pAllocator);
typedef uint32_t (VULKAN_API_PTR *PFNVKENUMERATEPHYSICALDEVICES)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
typedef void (VULKAN_API_PTR *PFNVKGETPHYSICALDEVICEFEATURES)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
typedef void (VULKAN_API_PTR *PFNVKGETPHYSICALDEVICEFORMATPROPERTIES)(VkPhysicalDevice physicalDevice, uint32_t format, VkFormatProperties* pFormatProperties);
typedef uint32_t (VULKAN_API_PTR *PFNVKGETPHYSICALDEVICEIMAGEFORMATPROPERTIES)(VkPhysicalDevice physicalDevice, uint32_t format, uint32_t type, uint32_t tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);
typedef void (VULKAN_API_PTR *PFNVKGETPHYSICALDEVICEPROPERTIES)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
typedef void (VULKAN_API_PTR *PFNVKGETPHYSICALDEVICEQUEUEFAMILYPROPERTIES)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);
typedef void (VULKAN_API_PTR *PFNVKGETPHYSICALDEVICEMEMORYPROPERTIES)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
typedef PFN_vkVoidFunction (VULKAN_API_PTR *PFNVKGETINSTANCEPROCADDR)(VkInstance instance, const char* pName);
typedef PFN_vkVoidFunction (VULKAN_API_PTR *PFNVKGETDEVICEPROCADDR)(VkDevice device, const char* pName);
typedef uint32_t (VULKAN_API_PTR *PFNVKCREATEDEVICE)(VkPhysicalDevice physicalDevice, VkDeviceCreateInfo* pCreateInfo, VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
typedef void (VULKAN_API_PTR *PFNVKDESTROYDEVICE)(VkDevice device, VkAllocationCallbacks* pAllocator);
typedef uint32_t (VULKAN_API_PTR *PFNVKENUMERATEINSTANCEEXTENSIONPROPERTIES)(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);
typedef uint32_t (VULKAN_API_PTR *PFNVKENUMERATEDEVICEEXTENSIONPROPERTIES)(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);
typedef uint32_t (VULKAN_API_PTR *PFNVKENUMERATEINSTANCELAYERPROPERTIES)(uint32_t* pPropertyCount, VkLayerProperties* pProperties);
typedef uint32_t (VULKAN_API_PTR *PFNVKENUMERATEDEVICELAYERPROPERTIES)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties);
typedef void (VULKAN_API_PTR *PFNVKGETDEVICEQUEUE)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue);
typedef uint32_t (VULKAN_API_PTR *PFNVKQUEUESUBMIT)(VkQueue queue, uint32_t submitCount, VkSubmitInfo* pSubmits, VkFence fence);
typedef uint32_t (VULKAN_API_PTR *PFNVKQUEUEWAITIDLE)(VkQueue queue);
typedef uint32_t (VULKAN_API_PTR *PFNVKDEVICEWAITIDLE)(VkDevice device);
typedef uint32_t (VULKAN_API_PTR *PFNVKALLOCATEMEMORY)(VkDevice device, VkMemoryAllocateInfo* pAllocateInfo, VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
typedef void (VULKAN_API_PTR *PFNVKFREEMEMORY)(VkDevice device, VkDeviceMemory memory, VkAllocationCallbacks* pAllocator);
typedef uint32_t (VULKAN_API_PTR *PFNVKMAPMEMORY)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);
typedef void (VULKAN_API_PTR *PFNVKUNMAPMEMORY)(VkDevice device, VkDeviceMemory memory);
typedef uint32_t (VULKAN_API_PTR *PFNVKFLUSHMAPPEDMEMORYRANGES)(VkDevice device, uint32_t memoryRangeCount, VkMappedMemoryRange* pMemoryRanges);
typedef uint32_t (VULKAN_API_PTR *PFNVKINVALIDATEMAPPEDMEMORYRANGES)(VkDevice device, uint32_t memoryRangeCount, VkMappedMemoryRange* pMemoryRanges);
typedef void (VULKAN_API_PTR *PFNVKGETDEVICEMEMORYCOMMITMENT)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
typedef uint32_t (VULKAN_API_PTR *PFNVKBINDBUFFERMEMORY)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
typedef uint32_t (VULKAN_API_PTR *PFNVKBINDIMAGEMEMORY)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
typedef void (VULKAN_API_PTR *PFNVKGETBUFFERMEMORYREQUIREMENTS)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
typedef void (VULKAN_API_PTR *PFNVKGETIMAGEMEMORYREQUIREMENTS)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);
typedef void (VULKAN_API_PTR *PFNVKGETIMAGESPARSEMEMORYREQUIREMENTS)(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
typedef void (VULKAN_API_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 (VULKAN_API_PTR *PFNVKQUEUEBINDSPARSE)(VkQueue queue, uint32_t bindInfoCount, VkBindSparseInfo* pBindInfo, VkFence fence);
typedef uint32_t (VULKAN_API_PTR *PFNVKCREATEFENCE)(VkDevice device, VkFenceCreateInfo* pCreateInfo, VkAllocationCallbacks* pAllocator, VkFence* pFence);
typedef void (VULKAN_API_PTR *PFNVKDESTROYFENCE)(VkDevice device, VkFence fence, VkAllocationCallbacks* pAllocator);
typedef uint32_t (VULKAN_API_PTR *PFNVKRESETFENCES)(VkDevice device, uint32_t fenceCount, VkFence* pFences);
typedef uint32_t (VULKAN_API_PTR *PFNVKGETFENCESTATUS)(VkDevice device, VkFence fence);
typedef uint32_t (VULKAN_API_PTR *PFNVKWAITFORFENCES)(VkDevice device, uint32_t fenceCount, VkFence* pFences, VkBool32 waitAll, uint64_t timeout);
typedef uint32_t (VULKAN_API_PTR *PFNVKCREATESEMAPHORE)(VkDevice device, VkSemaphoreCreateInfo* pCreateInfo, VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
typedef void (VULKAN_API_PTR *PFNVKDESTROYSEMAPHORE)(VkDevice device, VkSemaphore semaphore, VkAllocationCallbacks* pAllocator);
typedef uint32_t (VULKAN_API_PTR *PFNVKCREATEEVENT)(VkDevice device, VkEventCreateInfo* pCreateInfo, VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
typedef void (VULKAN_API_PTR *PFNVKDESTROYEVENT)(VkDevice device, VkEvent event, VkAllocationCallbacks* pAllocator);
typedef uint32_t (VULKAN_API_PTR *PFNVKGETEVENTSTATUS)(VkDevice device, VkEvent event);
typedef uint32_t (VULKAN_API_PTR *PFNVKSETEVENT)(VkDevice device, VkEvent event);
typedef uint32_t (VULKAN_API_PTR *PFNVKRESETEVENT)(VkDevice device, VkEvent event);
typedef uint32_t (VULKAN_API_PTR *PFNVKCREATEQUERYPOOL)(VkDevice device, VkQueryPoolCreateInfo* pCreateInfo, VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
typedef void (VULKAN_API_PTR *PFNVKDESTROYQUERYPOOL)(VkDevice device, VkQueryPool queryPool, VkAllocationCallbacks* pAllocator);
typedef uint32_t (VULKAN_API_PTR *PFNVKGETQUERYPOOLRESULTS)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_val dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags);
typedef uint32_t (VULKAN_API_PTR *PFNVKCREATEBUFFER)(VkDevice device, VkBufferCreateInfo* pCreateInfo, VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
typedef void (VULKAN_API_PTR *PFNVKDESTROYBUFFER)(VkDevice device, VkBuffer buffer, VkAllocationCallbacks* pAllocator);
typedef uint32_t (VULKAN_API_PTR *PFNVKCREATEBUFFERVIEW)(VkDevice device, VkBufferViewCreateInfo* pCreateInfo, VkAllocationCallbacks* pAllocator, VkBufferView* pView);
typedef void (VULKAN_API_PTR *PFNVKDESTROYBUFFERVIEW)(VkDevice device, VkBufferView bufferView, VkAllocationCallbacks* pAllocator);
typedef uint32_t (VULKAN_API_PTR *PFNVKCREATEIMAGE)(VkDevice device, VkImageCreateInfo* pCreateInfo, VkAllocationCallbacks* pAllocator, VkImage* pImage);
typedef void (VULKAN_API_PTR *PFNVKDESTROYIMAGE)(VkDevice device, VkImage image, VkAllocationCallbacks* pAllocator);
typedef void (VULKAN_API_PTR *PFNVKGETIMAGESUBRESOURCELAYOUT)(VkDevice device, VkImage image, VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);
typedef uint32_t (VULKAN_API_PTR *PFNVKCREATEIMAGEVIEW)(VkDevice device, VkImageViewCreateInfo* pCreateInfo, VkAllocationCallbacks* pAllocator, VkImageView* pView);
typedef void (VULKAN_API_PTR *PFNVKDESTROYIMAGEVIEW)(VkDevice device, VkImageView imageView, VkAllocationCallbacks* pAllocator);
typedef uint32_t (VULKAN_API_PTR *PFNVKCREATESHADERMODULE)(VkDevice device, VkShaderModuleCreateInfo* pCreateInfo, VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);
typedef void (VULKAN_API_PTR *PFNVKDESTROYSHADERMODULE)(VkDevice device, VkShaderModule shaderModule, VkAllocationCallbacks* pAllocator);
typedef uint32_t (VULKAN_API_PTR *PFNVKCREATEPIPELINECACHE)(VkDevice device, VkPipelineCacheCreateInfo* pCreateInfo, VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);
typedef void (VULKAN_API_PTR *PFNVKDESTROYPIPELINECACHE)(VkDevice device, VkPipelineCache pipelineCache, VkAllocationCallbacks* pAllocator);
typedef uint32_t (VULKAN_API_PTR *PFNVKGETPIPELINECACHEDATA)(VkDevice device, VkPipelineCache pipelineCache, size_val* pDataSize, void* pData);
typedef uint32_t (VULKAN_API_PTR *PFNVKMERGEPIPELINECACHES)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, VkPipelineCache* pSrcCaches);
typedef uint32_t (VULKAN_API_PTR *PFNVKCREATEGRAPHICSPIPELINES)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, VkGraphicsPipelineCreateInfo* pCreateInfos, VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
typedef uint32_t (VULKAN_API_PTR *PFNVKCREATECOMPUTEPIPELINES)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, VkComputePipelineCreateInfo* pCreateInfos, VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
typedef void (VULKAN_API_PTR *PFNVKDESTROYPIPELINE)(VkDevice device, VkPipeline pipeline, VkAllocationCallbacks* pAllocator);
typedef uint32_t (VULKAN_API_PTR *PFNVKCREATEPIPELINELAYOUT)(VkDevice device, VkPipelineLayoutCreateInfo* pCreateInfo, VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);
typedef void (VULKAN_API_PTR *PFNVKDESTROYPIPELINELAYOUT)(VkDevice device, VkPipelineLayout pipelineLayout, VkAllocationCallbacks* pAllocator);
typedef uint32_t (VULKAN_API_PTR *PFNVKCREATESAMPLER)(VkDevice device, VkSamplerCreateInfo* pCreateInfo, VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
typedef void (VULKAN_API_PTR *PFNVKDESTROYSAMPLER)(VkDevice device, VkSampler sampler, VkAllocationCallbacks* pAllocator);
typedef uint32_t (VULKAN_API_PTR *PFNVKCREATEDESCRIPTORSETLAYOUT)(VkDevice device, VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);
typedef void (VULKAN_API_PTR *PFNVKDESTROYDESCRIPTORSETLAYOUT)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, VkAllocationCallbacks* pAllocator);
typedef uint32_t (VULKAN_API_PTR *PFNVKCREATEDESCRIPTORPOOL)(VkDevice device, VkDescriptorPoolCreateInfo* pCreateInfo, VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);
typedef void (VULKAN_API_PTR *PFNVKDESTROYDESCRIPTORPOOL)(VkDevice device, VkDescriptorPool descriptorPool, VkAllocationCallbacks* pAllocator);
typedef uint32_t (VULKAN_API_PTR *PFNVKRESETDESCRIPTORPOOL)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
typedef uint32_t (VULKAN_API_PTR *PFNVKALLOCATEDESCRIPTORSETS)(VkDevice device, VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);
typedef uint32_t (VULKAN_API_PTR *PFNVKFREEDESCRIPTORSETS)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, VkDescriptorSet* pDescriptorSets);
typedef void (VULKAN_API_PTR *PFNVKUPDATEDESCRIPTORSETS)(VkDevice device, uint32_t descriptorWriteCount, VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, VkCopyDescriptorSet* pDescriptorCopies);
typedef uint32_t (VULKAN_API_PTR *PFNVKCREATEFRAMEBUFFER)(VkDevice device, VkFramebufferCreateInfo* pCreateInfo, VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
typedef void (VULKAN_API_PTR *PFNVKDESTROYFRAMEBUFFER)(VkDevice device, VkFramebuffer framebuffer, VkAllocationCallbacks* pAllocator);
typedef uint32_t (VULKAN_API_PTR *PFNVKCREATERENDERPASS)(VkDevice device, VkRenderPassCreateInfo* pCreateInfo, VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
typedef void (VULKAN_API_PTR *PFNVKDESTROYRENDERPASS)(VkDevice device, VkRenderPass renderPass, VkAllocationCallbacks* pAllocator);
typedef void (VULKAN_API_PTR *PFNVKGETRENDERAREAGRANULARITY)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);
typedef uint32_t (VULKAN_API_PTR *PFNVKCREATECOMMANDPOOL)(VkDevice device, VkCommandPoolCreateInfo* pCreateInfo, VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
typedef void (VULKAN_API_PTR *PFNVKDESTROYCOMMANDPOOL)(VkDevice device, VkCommandPool commandPool, VkAllocationCallbacks* pAllocator);
typedef uint32_t (VULKAN_API_PTR *PFNVKRESETCOMMANDPOOL)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
typedef uint32_t (VULKAN_API_PTR *PFNVKALLOCATECOMMANDBUFFERS)(VkDevice device, VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);
typedef void (VULKAN_API_PTR *PFNVKFREECOMMANDBUFFERS)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, VkCommandBuffer* pCommandBuffers);
typedef uint32_t (VULKAN_API_PTR *PFNVKBEGINCOMMANDBUFFER)(VkCommandBuffer commandBuffer, VkCommandBufferBeginInfo* pBeginInfo);
typedef uint32_t (VULKAN_API_PTR *PFNVKENDCOMMANDBUFFER)(VkCommandBuffer commandBuffer);
typedef uint32_t (VULKAN_API_PTR *PFNVKRESETCOMMANDBUFFER)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
typedef void (VULKAN_API_PTR *PFNVKCMDBINDPIPELINE)(VkCommandBuffer commandBuffer, uint32_t pipelineBindPoint, VkPipeline pipeline);
typedef void (VULKAN_API_PTR *PFNVKCMDSETVIEWPORT)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, VkViewport* pViewports);
typedef void (VULKAN_API_PTR *PFNVKCMDSETSCISSOR)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, VkRect2D* pScissors);
typedef void (VULKAN_API_PTR *PFNVKCMDSETLINEWIDTH)(VkCommandBuffer commandBuffer, float lineWidth);
typedef void (VULKAN_API_PTR *PFNVKCMDSETDEPTHBIAS)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
typedef void (VULKAN_API_PTR *PFNVKCMDSETBLENDCONSTANTS)(VkCommandBuffer commandBuffer, float blendConstants[4]);
typedef void (VULKAN_API_PTR *PFNVKCMDSETDEPTHBOUNDS)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
typedef void (VULKAN_API_PTR *PFNVKCMDSETSTENCILCOMPAREMASK)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask);
typedef void (VULKAN_API_PTR *PFNVKCMDSETSTENCILWRITEMASK)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask);
typedef void (VULKAN_API_PTR *PFNVKCMDSETSTENCILREFERENCE)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference);
typedef void (VULKAN_API_PTR *PFNVKCMDBINDDESCRIPTORSETS)(VkCommandBuffer commandBuffer, uint32_t pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, uint32_t* pDynamicOffsets);
typedef void (VULKAN_API_PTR *PFNVKCMDBINDINDEXBUFFER)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t indexType);
typedef void (VULKAN_API_PTR *PFNVKCMDBINDVERTEXBUFFERS)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, VkBuffer* pBuffers, VkDeviceSize* pOffsets);
typedef void (VULKAN_API_PTR *PFNVKCMDDRAW)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance);
typedef void (VULKAN_API_PTR *PFNVKCMDDRAWINDEXED)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance);
typedef void (VULKAN_API_PTR *PFNVKCMDDRAWINDIRECT)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
typedef void (VULKAN_API_PTR *PFNVKCMDDRAWINDEXEDINDIRECT)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
typedef void (VULKAN_API_PTR *PFNVKCMDDISPATCH)(VkCommandBuffer commandBuffer, uint32_t x, uint32_t y, uint32_t z);
typedef void (VULKAN_API_PTR *PFNVKCMDDISPATCHINDIRECT)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
typedef void (VULKAN_API_PTR *PFNVKCMDCOPYBUFFER)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, VkBufferCopy* pRegions);
typedef void (VULKAN_API_PTR *PFNVKCMDCOPYIMAGE)(VkCommandBuffer commandBuffer, VkImage srcImage, uint32_t srcImageLayout, VkImage dstImage, uint32_t dstImageLayout, uint32_t regionCount, VkImageCopy* pRegions);
typedef void (VULKAN_API_PTR *PFNVKCMDBLITIMAGE)(VkCommandBuffer commandBuffer, VkImage srcImage, uint32_t srcImageLayout, VkImage dstImage, uint32_t dstImageLayout, uint32_t regionCount, VkImageBlit* pRegions, uint32_t filter);
typedef void (VULKAN_API_PTR *PFNVKCMDCOPYBUFFERTOIMAGE)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, uint32_t dstImageLayout, uint32_t regionCount, VkBufferImageCopy* pRegions);
typedef void (VULKAN_API_PTR *PFNVKCMDCOPYIMAGETOBUFFER)(VkCommandBuffer commandBuffer, VkImage srcImage, uint32_t srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, VkBufferImageCopy* pRegions);
typedef void (VULKAN_API_PTR *PFNVKCMDUPDATEBUFFER)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, void* pData);
typedef void (VULKAN_API_PTR *PFNVKCMDFILLBUFFER)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data);
typedef void (VULKAN_API_PTR *PFNVKCMDCLEARCOLORIMAGE)(VkCommandBuffer commandBuffer, VkImage image, uint32_t imageLayout, VkClearColorValue* pColor, uint32_t rangeCount, VkImageSubresourceRange* pRanges);
typedef void (VULKAN_API_PTR *PFNVKCMDCLEARDEPTHSTENCILIMAGE)(VkCommandBuffer commandBuffer, VkImage image, uint32_t imageLayout, VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, VkImageSubresourceRange* pRanges);
typedef void (VULKAN_API_PTR *PFNVKCMDCLEARATTACHMENTS)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, VkClearAttachment* pAttachments, uint32_t rectCount, VkClearRect* pRects);
typedef void (VULKAN_API_PTR *PFNVKCMDRESOLVEIMAGE)(VkCommandBuffer commandBuffer, VkImage srcImage, uint32_t srcImageLayout, VkImage dstImage, uint32_t dstImageLayout, uint32_t regionCount, VkImageResolve* pRegions);
typedef void (VULKAN_API_PTR *PFNVKCMDSETEVENT)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
typedef void (VULKAN_API_PTR *PFNVKCMDRESETEVENT)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
typedef void (VULKAN_API_PTR *PFNVKCMDWAITEVENTS)(VkCommandBuffer commandBuffer, uint32_t eventCount, VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, VkImageMemoryBarrier* pImageMemoryBarriers);
typedef void (VULKAN_API_PTR *PFNVKCMDPIPELINEBARRIER)(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, VkImageMemoryBarrier* pImageMemoryBarriers);
typedef void (VULKAN_API_PTR *PFNVKCMDBEGINQUERY)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags);
typedef void (VULKAN_API_PTR *PFNVKCMDENDQUERY)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query);
typedef void (VULKAN_API_PTR *PFNVKCMDRESETQUERYPOOL)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
typedef void (VULKAN_API_PTR *PFNVKCMDWRITETIMESTAMP)(VkCommandBuffer commandBuffer, uint32_t pipelineStage, VkQueryPool queryPool, uint32_t query);
typedef void (VULKAN_API_PTR *PFNVKCMDCOPYQUERYPOOLRESULTS)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
typedef void (VULKAN_API_PTR *PFNVKCMDPUSHCONSTANTS)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, void* pValues);
typedef void (VULKAN_API_PTR *PFNVKCMDBEGINRENDERPASS)(VkCommandBuffer commandBuffer, VkRenderPassBeginInfo* pRenderPassBegin, uint32_t contents);
typedef void (VULKAN_API_PTR *PFNVKCMDNEXTSUBPASS)(VkCommandBuffer commandBuffer, uint32_t contents);
typedef void (VULKAN_API_PTR *PFNVKCMDENDRENDERPASS)(VkCommandBuffer commandBuffer);
typedef void (VULKAN_API_PTR *PFNVKCMDEXECUTECOMMANDS)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, VkCommandBuffer* pCommandBuffers);
typedef void (VULKAN_API_PTR *PFNVKDESTROYSURFACEKHR)(VkInstance instance, VkSurfaceKHR surface, VkAllocationCallbacks* pAllocator);
typedef uint32_t (VULKAN_API_PTR *PFNVKGETPHYSICALDEVICESURFACESUPPORTKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported);
typedef uint32_t (VULKAN_API_PTR *PFNVKGETPHYSICALDEVICESURFACECAPABILITIESKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
typedef uint32_t (VULKAN_API_PTR *PFNVKGETPHYSICALDEVICESURFACEFORMATSKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats);
typedef uint32_t (VULKAN_API_PTR *PFNVKGETPHYSICALDEVICESURFACEPRESENTMODESKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, uint32_t* pPresentModes);
typedef uint32_t (VULKAN_API_PTR *PFNVKCREATESWAPCHAINKHR)(VkDevice device, VkSwapchainCreateInfoKHR* pCreateInfo, VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
typedef void (VULKAN_API_PTR *PFNVKDESTROYSWAPCHAINKHR)(VkDevice device, VkSwapchainKHR swapchain, VkAllocationCallbacks* pAllocator);
typedef uint32_t (VULKAN_API_PTR *PFNVKGETSWAPCHAINIMAGESKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages);
typedef uint32_t (VULKAN_API_PTR *PFNVKACQUIRENEXTIMAGEKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex);
typedef uint32_t (VULKAN_API_PTR *PFNVKQUEUEPRESENTKHR)(VkQueue queue, VkPresentInfoKHR* pPresentInfo);
typedef uint32_t (VULKAN_API_PTR *PFNVKGETPHYSICALDEVICEDISPLAYPROPERTIESKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties);
typedef uint32_t (VULKAN_API_PTR *PFNVKGETPHYSICALDEVICEDISPLAYPLANEPROPERTIESKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);
typedef uint32_t (VULKAN_API_PTR *PFNVKGETDISPLAYPLANESUPPORTEDDISPLAYSKHR)(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays);
typedef uint32_t (VULKAN_API_PTR *PFNVKGETDISPLAYMODEPROPERTIESKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);
typedef uint32_t (VULKAN_API_PTR *PFNVKCREATEDISPLAYMODEKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, VkDisplayModeCreateInfoKHR* pCreateInfo, VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
typedef uint32_t (VULKAN_API_PTR *PFNVKGETDISPLAYPLANECAPABILITIESKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
typedef uint32_t (VULKAN_API_PTR *PFNVKCREATEDISPLAYPLANESURFACEKHR)(VkInstance instance, VkDisplaySurfaceCreateInfoKHR* pCreateInfo, VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
typedef uint32_t (VULKAN_API_PTR *PFNVKCREATESHAREDSWAPCHAINSKHR)(VkDevice device, uint32_t swapchainCount, VkSwapchainCreateInfoKHR* pCreateInfos, VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);
typedef uint32_t (VULKAN_API_PTR *PFNVKCREATEDEBUGREPORTCALLBACKEXT)(VkInstance instance, VkDebugReportCallbackCreateInfoEXT* pCreateInfo, VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
typedef void (VULKAN_API_PTR *PFNVKDESTROYDEBUGREPORTCALLBACKEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, VkAllocationCallbacks* pAllocator);
typedef void (VULKAN_API_PTR *PFNVKDEBUGREPORTMESSAGEEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, uint32_t objectType, uint64_t object, size_val location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage);
struct VkInstanceFunctions {
PFNVKCREATEANDROIDSURFACEKHR vkCreateAndroidSurfaceKHR;
PFNVKCREATEXLIBSURFACEKHR vkCreateXlibSurfaceKHR;
PFNVKGETPHYSICALDEVICEXLIBPRESENTATIONSUPPORTKHR vkGetPhysicalDeviceXlibPresentationSupportKHR;
PFNVKCREATEXCBSURFACEKHR vkCreateXcbSurfaceKHR;
PFNVKGETPHYSICALDEVICEXCBPRESENTATIONSUPPORTKHR vkGetPhysicalDeviceXcbPresentationSupportKHR;
PFNVKCREATEWAYLANDSURFACEKHR vkCreateWaylandSurfaceKHR;
PFNVKGETPHYSICALDEVICEWAYLANDPRESENTATIONSUPPORTKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR;
PFNVKCREATEMIRSURFACEKHR vkCreateMirSurfaceKHR;
PFNVKGETPHYSICALDEVICEMIRPRESENTATIONSUPPORTKHR vkGetPhysicalDeviceMirPresentationSupportKHR;
PFNVKDESTROYINSTANCE vkDestroyInstance;
PFNVKDESTROYINSTANCE pfn_vkDestroyInstance;
PFNVKENUMERATEPHYSICALDEVICES vkEnumeratePhysicalDevices;
PFNVKGETPHYSICALDEVICEFEATURES vkGetPhysicalDeviceFeatures;
PFNVKGETPHYSICALDEVICEFORMATPROPERTIES vkGetPhysicalDeviceFormatProperties;
PFNVKGETPHYSICALDEVICEIMAGEFORMATPROPERTIES vkGetPhysicalDeviceImageFormatProperties;
PFNVKGETPHYSICALDEVICEPROPERTIES vkGetPhysicalDeviceProperties;
PFNVKGETPHYSICALDEVICEQUEUEFAMILYPROPERTIES vkGetPhysicalDeviceQueueFamilyProperties;
PFNVKGETPHYSICALDEVICEMEMORYPROPERTIES vkGetPhysicalDeviceMemoryProperties;
PFNVKGETINSTANCEPROCADDR vkGetInstanceProcAddr;
PFNVKGETINSTANCEPROCADDR pfn_vkGetInstanceProcAddr;
PFNVKCREATEDEVICE vkCreateDevice;
PFNVKCREATEDEVICE pfn_vkCreateDevice;
PFNVKENUMERATEDEVICEEXTENSIONPROPERTIES vkEnumerateDeviceExtensionProperties;
PFNVKENUMERATEDEVICELAYERPROPERTIES vkEnumerateDeviceLayerProperties;
PFNVKENUMERATEDEVICELAYERPROPERTIES pfn_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;
};
std::unordered_map<VkInstance, VkInstanceFunctions> mVkInstanceFunctions;
struct VkDeviceFunctions {
PFNVKGETSWAPCHAINGRALLOCUSAGEANDROID vkGetSwapchainGrallocUsageANDROID;
PFNVKACQUIREIMAGEANDROID vkAcquireImageANDROID;
PFNVKQUEUESIGNALRELEASEIMAGEANDROID vkQueueSignalReleaseImageANDROID;
PFNVKGETDEVICEPROCADDR vkGetDeviceProcAddr;
PFNVKGETDEVICEPROCADDR pfn_vkGetDeviceProcAddr;
PFNVKDESTROYDEVICE vkDestroyDevice;
PFNVKDESTROYDEVICE pfn_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;
};
std::unordered_map<VkDevice, VkDeviceFunctions> mVkDeviceFunctions;
PFNVKCREATEINSTANCE vkCreateInstance;
PFNVKCREATEINSTANCE pfn_vkCreateInstance;
PFNVKENUMERATEINSTANCEEXTENSIONPROPERTIES vkEnumerateInstanceExtensionProperties;
PFNVKENUMERATEINSTANCEEXTENSIONPROPERTIES pfn_vkEnumerateInstanceExtensionProperties;
PFNVKENUMERATEINSTANCELAYERPROPERTIES vkEnumerateInstanceLayerProperties;
PFNVKENUMERATEINSTANCELAYERPROPERTIES pfn_vkEnumerateInstanceLayerProperties;
};
} // namespace gapii
#endif // GAPII_VULKAN_IMPORTS_H