| /* | |
| * Copyright 2016 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. | |
| */ | |
| // WARNING: This file is generated. See ../README.md for instructions. | |
| #ifndef LIBVULKAN_API_GEN_H | |
| #define LIBVULKAN_API_GEN_H | |
| #include <vulkan/vulkan.h> | |
| #include <bitset> | |
| #include "driver_gen.h" | |
| /* | |
| * This file is autogenerated by api_generator.py. Do not edit directly. | |
| */ | |
| namespace vulkan { | |
| namespace api { | |
| struct InstanceDispatchTable { | |
| // clang-format off | |
| PFN_vkDestroyInstance DestroyInstance; | |
| PFN_vkEnumeratePhysicalDevices EnumeratePhysicalDevices; | |
| PFN_vkGetInstanceProcAddr GetInstanceProcAddr; | |
| PFN_vkGetPhysicalDeviceProperties GetPhysicalDeviceProperties; | |
| PFN_vkGetPhysicalDeviceQueueFamilyProperties GetPhysicalDeviceQueueFamilyProperties; | |
| PFN_vkGetPhysicalDeviceMemoryProperties GetPhysicalDeviceMemoryProperties; | |
| PFN_vkGetPhysicalDeviceFeatures GetPhysicalDeviceFeatures; | |
| PFN_vkGetPhysicalDeviceFormatProperties GetPhysicalDeviceFormatProperties; | |
| PFN_vkGetPhysicalDeviceImageFormatProperties GetPhysicalDeviceImageFormatProperties; | |
| PFN_vkCreateDevice CreateDevice; | |
| PFN_vkEnumerateDeviceExtensionProperties EnumerateDeviceExtensionProperties; | |
| PFN_vkGetPhysicalDeviceSparseImageFormatProperties GetPhysicalDeviceSparseImageFormatProperties; | |
| PFN_vkCreateAndroidSurfaceKHR CreateAndroidSurfaceKHR; | |
| PFN_vkDestroySurfaceKHR DestroySurfaceKHR; | |
| PFN_vkGetPhysicalDeviceSurfaceSupportKHR GetPhysicalDeviceSurfaceSupportKHR; | |
| PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR GetPhysicalDeviceSurfaceCapabilitiesKHR; | |
| PFN_vkGetPhysicalDeviceSurfaceFormatsKHR GetPhysicalDeviceSurfaceFormatsKHR; | |
| PFN_vkGetPhysicalDeviceSurfacePresentModesKHR GetPhysicalDeviceSurfacePresentModesKHR; | |
| PFN_vkGetPhysicalDeviceFeatures2 GetPhysicalDeviceFeatures2; | |
| PFN_vkGetPhysicalDeviceProperties2 GetPhysicalDeviceProperties2; | |
| PFN_vkGetPhysicalDeviceFormatProperties2 GetPhysicalDeviceFormatProperties2; | |
| PFN_vkGetPhysicalDeviceImageFormatProperties2 GetPhysicalDeviceImageFormatProperties2; | |
| PFN_vkGetPhysicalDeviceQueueFamilyProperties2 GetPhysicalDeviceQueueFamilyProperties2; | |
| PFN_vkGetPhysicalDeviceMemoryProperties2 GetPhysicalDeviceMemoryProperties2; | |
| PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 GetPhysicalDeviceSparseImageFormatProperties2; | |
| PFN_vkGetPhysicalDeviceExternalBufferProperties GetPhysicalDeviceExternalBufferProperties; | |
| PFN_vkGetPhysicalDeviceExternalSemaphoreProperties GetPhysicalDeviceExternalSemaphoreProperties; | |
| PFN_vkGetPhysicalDeviceExternalFenceProperties GetPhysicalDeviceExternalFenceProperties; | |
| PFN_vkEnumeratePhysicalDeviceGroups EnumeratePhysicalDeviceGroups; | |
| PFN_vkGetPhysicalDevicePresentRectanglesKHR GetPhysicalDevicePresentRectanglesKHR; | |
| PFN_vkGetPhysicalDeviceToolProperties GetPhysicalDeviceToolProperties; | |
| // clang-format on | |
| }; | |
| struct DeviceDispatchTable { | |
| // clang-format off | |
| PFN_vkGetDeviceProcAddr GetDeviceProcAddr; | |
| PFN_vkDestroyDevice DestroyDevice; | |
| PFN_vkGetDeviceQueue GetDeviceQueue; | |
| PFN_vkQueueSubmit QueueSubmit; | |
| PFN_vkQueueWaitIdle QueueWaitIdle; | |
| PFN_vkDeviceWaitIdle DeviceWaitIdle; | |
| PFN_vkAllocateMemory AllocateMemory; | |
| PFN_vkFreeMemory FreeMemory; | |
| PFN_vkMapMemory MapMemory; | |
| PFN_vkUnmapMemory UnmapMemory; | |
| PFN_vkFlushMappedMemoryRanges FlushMappedMemoryRanges; | |
| PFN_vkInvalidateMappedMemoryRanges InvalidateMappedMemoryRanges; | |
| PFN_vkGetDeviceMemoryCommitment GetDeviceMemoryCommitment; | |
| PFN_vkGetBufferMemoryRequirements GetBufferMemoryRequirements; | |
| PFN_vkBindBufferMemory BindBufferMemory; | |
| PFN_vkGetImageMemoryRequirements GetImageMemoryRequirements; | |
| PFN_vkBindImageMemory BindImageMemory; | |
| PFN_vkGetImageSparseMemoryRequirements GetImageSparseMemoryRequirements; | |
| PFN_vkQueueBindSparse QueueBindSparse; | |
| PFN_vkCreateFence CreateFence; | |
| PFN_vkDestroyFence DestroyFence; | |
| PFN_vkResetFences ResetFences; | |
| PFN_vkGetFenceStatus GetFenceStatus; | |
| PFN_vkWaitForFences WaitForFences; | |
| PFN_vkCreateSemaphore CreateSemaphore; | |
| PFN_vkDestroySemaphore DestroySemaphore; | |
| PFN_vkCreateEvent CreateEvent; | |
| PFN_vkDestroyEvent DestroyEvent; | |
| PFN_vkGetEventStatus GetEventStatus; | |
| PFN_vkSetEvent SetEvent; | |
| PFN_vkResetEvent ResetEvent; | |
| PFN_vkCreateQueryPool CreateQueryPool; | |
| PFN_vkDestroyQueryPool DestroyQueryPool; | |
| PFN_vkGetQueryPoolResults GetQueryPoolResults; | |
| PFN_vkResetQueryPool ResetQueryPool; | |
| PFN_vkCreateBuffer CreateBuffer; | |
| PFN_vkDestroyBuffer DestroyBuffer; | |
| PFN_vkCreateBufferView CreateBufferView; | |
| PFN_vkDestroyBufferView DestroyBufferView; | |
| PFN_vkCreateImage CreateImage; | |
| PFN_vkDestroyImage DestroyImage; | |
| PFN_vkGetImageSubresourceLayout GetImageSubresourceLayout; | |
| PFN_vkCreateImageView CreateImageView; | |
| PFN_vkDestroyImageView DestroyImageView; | |
| PFN_vkCreateShaderModule CreateShaderModule; | |
| PFN_vkDestroyShaderModule DestroyShaderModule; | |
| PFN_vkCreatePipelineCache CreatePipelineCache; | |
| PFN_vkDestroyPipelineCache DestroyPipelineCache; | |
| PFN_vkGetPipelineCacheData GetPipelineCacheData; | |
| PFN_vkMergePipelineCaches MergePipelineCaches; | |
| PFN_vkCreateGraphicsPipelines CreateGraphicsPipelines; | |
| PFN_vkCreateComputePipelines CreateComputePipelines; | |
| PFN_vkDestroyPipeline DestroyPipeline; | |
| PFN_vkCreatePipelineLayout CreatePipelineLayout; | |
| PFN_vkDestroyPipelineLayout DestroyPipelineLayout; | |
| PFN_vkCreateSampler CreateSampler; | |
| PFN_vkDestroySampler DestroySampler; | |
| PFN_vkCreateDescriptorSetLayout CreateDescriptorSetLayout; | |
| PFN_vkDestroyDescriptorSetLayout DestroyDescriptorSetLayout; | |
| PFN_vkCreateDescriptorPool CreateDescriptorPool; | |
| PFN_vkDestroyDescriptorPool DestroyDescriptorPool; | |
| PFN_vkResetDescriptorPool ResetDescriptorPool; | |
| PFN_vkAllocateDescriptorSets AllocateDescriptorSets; | |
| PFN_vkFreeDescriptorSets FreeDescriptorSets; | |
| PFN_vkUpdateDescriptorSets UpdateDescriptorSets; | |
| PFN_vkCreateFramebuffer CreateFramebuffer; | |
| PFN_vkDestroyFramebuffer DestroyFramebuffer; | |
| PFN_vkCreateRenderPass CreateRenderPass; | |
| PFN_vkDestroyRenderPass DestroyRenderPass; | |
| PFN_vkGetRenderAreaGranularity GetRenderAreaGranularity; | |
| PFN_vkGetRenderingAreaGranularity GetRenderingAreaGranularity; | |
| PFN_vkCreateCommandPool CreateCommandPool; | |
| PFN_vkDestroyCommandPool DestroyCommandPool; | |
| PFN_vkResetCommandPool ResetCommandPool; | |
| PFN_vkAllocateCommandBuffers AllocateCommandBuffers; | |
| PFN_vkFreeCommandBuffers FreeCommandBuffers; | |
| PFN_vkBeginCommandBuffer BeginCommandBuffer; | |
| PFN_vkEndCommandBuffer EndCommandBuffer; | |
| PFN_vkResetCommandBuffer ResetCommandBuffer; | |
| PFN_vkCmdBindPipeline CmdBindPipeline; | |
| PFN_vkCmdSetViewport CmdSetViewport; | |
| PFN_vkCmdSetScissor CmdSetScissor; | |
| PFN_vkCmdSetLineWidth CmdSetLineWidth; | |
| PFN_vkCmdSetDepthBias CmdSetDepthBias; | |
| PFN_vkCmdSetBlendConstants CmdSetBlendConstants; | |
| PFN_vkCmdSetDepthBounds CmdSetDepthBounds; | |
| PFN_vkCmdSetStencilCompareMask CmdSetStencilCompareMask; | |
| PFN_vkCmdSetStencilWriteMask CmdSetStencilWriteMask; | |
| PFN_vkCmdSetStencilReference CmdSetStencilReference; | |
| PFN_vkCmdBindDescriptorSets CmdBindDescriptorSets; | |
| PFN_vkCmdBindIndexBuffer CmdBindIndexBuffer; | |
| PFN_vkCmdBindVertexBuffers CmdBindVertexBuffers; | |
| PFN_vkCmdDraw CmdDraw; | |
| PFN_vkCmdDrawIndexed CmdDrawIndexed; | |
| PFN_vkCmdDrawIndirect CmdDrawIndirect; | |
| PFN_vkCmdDrawIndexedIndirect CmdDrawIndexedIndirect; | |
| PFN_vkCmdDispatch CmdDispatch; | |
| PFN_vkCmdDispatchIndirect CmdDispatchIndirect; | |
| PFN_vkCmdCopyBuffer CmdCopyBuffer; | |
| PFN_vkCmdCopyImage CmdCopyImage; | |
| PFN_vkCmdBlitImage CmdBlitImage; | |
| PFN_vkCmdCopyBufferToImage CmdCopyBufferToImage; | |
| PFN_vkCmdCopyImageToBuffer CmdCopyImageToBuffer; | |
| PFN_vkCmdUpdateBuffer CmdUpdateBuffer; | |
| PFN_vkCmdFillBuffer CmdFillBuffer; | |
| PFN_vkCmdClearColorImage CmdClearColorImage; | |
| PFN_vkCmdClearDepthStencilImage CmdClearDepthStencilImage; | |
| PFN_vkCmdClearAttachments CmdClearAttachments; | |
| PFN_vkCmdResolveImage CmdResolveImage; | |
| PFN_vkCmdSetEvent CmdSetEvent; | |
| PFN_vkCmdResetEvent CmdResetEvent; | |
| PFN_vkCmdWaitEvents CmdWaitEvents; | |
| PFN_vkCmdPipelineBarrier CmdPipelineBarrier; | |
| PFN_vkCmdBeginQuery CmdBeginQuery; | |
| PFN_vkCmdEndQuery CmdEndQuery; | |
| PFN_vkCmdResetQueryPool CmdResetQueryPool; | |
| PFN_vkCmdWriteTimestamp CmdWriteTimestamp; | |
| PFN_vkCmdCopyQueryPoolResults CmdCopyQueryPoolResults; | |
| PFN_vkCmdPushConstants CmdPushConstants; | |
| PFN_vkCmdBeginRenderPass CmdBeginRenderPass; | |
| PFN_vkCmdNextSubpass CmdNextSubpass; | |
| PFN_vkCmdEndRenderPass CmdEndRenderPass; | |
| PFN_vkCmdExecuteCommands CmdExecuteCommands; | |
| PFN_vkCreateSwapchainKHR CreateSwapchainKHR; | |
| PFN_vkDestroySwapchainKHR DestroySwapchainKHR; | |
| PFN_vkGetSwapchainImagesKHR GetSwapchainImagesKHR; | |
| PFN_vkAcquireNextImageKHR AcquireNextImageKHR; | |
| PFN_vkQueuePresentKHR QueuePresentKHR; | |
| PFN_vkCmdPushDescriptorSet CmdPushDescriptorSet; | |
| PFN_vkTrimCommandPool TrimCommandPool; | |
| PFN_vkGetDeviceGroupPeerMemoryFeatures GetDeviceGroupPeerMemoryFeatures; | |
| PFN_vkBindBufferMemory2 BindBufferMemory2; | |
| PFN_vkBindImageMemory2 BindImageMemory2; | |
| PFN_vkCmdSetDeviceMask CmdSetDeviceMask; | |
| PFN_vkGetDeviceGroupPresentCapabilitiesKHR GetDeviceGroupPresentCapabilitiesKHR; | |
| PFN_vkGetDeviceGroupSurfacePresentModesKHR GetDeviceGroupSurfacePresentModesKHR; | |
| PFN_vkAcquireNextImage2KHR AcquireNextImage2KHR; | |
| PFN_vkCmdDispatchBase CmdDispatchBase; | |
| PFN_vkCreateDescriptorUpdateTemplate CreateDescriptorUpdateTemplate; | |
| PFN_vkDestroyDescriptorUpdateTemplate DestroyDescriptorUpdateTemplate; | |
| PFN_vkUpdateDescriptorSetWithTemplate UpdateDescriptorSetWithTemplate; | |
| PFN_vkCmdPushDescriptorSetWithTemplate CmdPushDescriptorSetWithTemplate; | |
| PFN_vkGetBufferMemoryRequirements2 GetBufferMemoryRequirements2; | |
| PFN_vkGetImageMemoryRequirements2 GetImageMemoryRequirements2; | |
| PFN_vkGetImageSparseMemoryRequirements2 GetImageSparseMemoryRequirements2; | |
| PFN_vkGetDeviceBufferMemoryRequirements GetDeviceBufferMemoryRequirements; | |
| PFN_vkGetDeviceImageMemoryRequirements GetDeviceImageMemoryRequirements; | |
| PFN_vkGetDeviceImageSparseMemoryRequirements GetDeviceImageSparseMemoryRequirements; | |
| PFN_vkCreateSamplerYcbcrConversion CreateSamplerYcbcrConversion; | |
| PFN_vkDestroySamplerYcbcrConversion DestroySamplerYcbcrConversion; | |
| PFN_vkGetDeviceQueue2 GetDeviceQueue2; | |
| PFN_vkGetDescriptorSetLayoutSupport GetDescriptorSetLayoutSupport; | |
| PFN_vkCreateRenderPass2 CreateRenderPass2; | |
| PFN_vkCmdBeginRenderPass2 CmdBeginRenderPass2; | |
| PFN_vkCmdNextSubpass2 CmdNextSubpass2; | |
| PFN_vkCmdEndRenderPass2 CmdEndRenderPass2; | |
| PFN_vkGetSemaphoreCounterValue GetSemaphoreCounterValue; | |
| PFN_vkWaitSemaphores WaitSemaphores; | |
| PFN_vkSignalSemaphore SignalSemaphore; | |
| PFN_vkGetAndroidHardwareBufferPropertiesANDROID GetAndroidHardwareBufferPropertiesANDROID; | |
| PFN_vkGetMemoryAndroidHardwareBufferANDROID GetMemoryAndroidHardwareBufferANDROID; | |
| PFN_vkCmdDrawIndirectCount CmdDrawIndirectCount; | |
| PFN_vkCmdDrawIndexedIndirectCount CmdDrawIndexedIndirectCount; | |
| PFN_vkGetBufferOpaqueCaptureAddress GetBufferOpaqueCaptureAddress; | |
| PFN_vkGetBufferDeviceAddress GetBufferDeviceAddress; | |
| PFN_vkGetDeviceMemoryOpaqueCaptureAddress GetDeviceMemoryOpaqueCaptureAddress; | |
| PFN_vkCmdSetLineStipple CmdSetLineStipple; | |
| PFN_vkCmdSetCullMode CmdSetCullMode; | |
| PFN_vkCmdSetFrontFace CmdSetFrontFace; | |
| PFN_vkCmdSetPrimitiveTopology CmdSetPrimitiveTopology; | |
| PFN_vkCmdSetViewportWithCount CmdSetViewportWithCount; | |
| PFN_vkCmdSetScissorWithCount CmdSetScissorWithCount; | |
| PFN_vkCmdBindIndexBuffer2 CmdBindIndexBuffer2; | |
| PFN_vkCmdBindVertexBuffers2 CmdBindVertexBuffers2; | |
| PFN_vkCmdSetDepthTestEnable CmdSetDepthTestEnable; | |
| PFN_vkCmdSetDepthWriteEnable CmdSetDepthWriteEnable; | |
| PFN_vkCmdSetDepthCompareOp CmdSetDepthCompareOp; | |
| PFN_vkCmdSetDepthBoundsTestEnable CmdSetDepthBoundsTestEnable; | |
| PFN_vkCmdSetStencilTestEnable CmdSetStencilTestEnable; | |
| PFN_vkCmdSetStencilOp CmdSetStencilOp; | |
| PFN_vkCmdSetRasterizerDiscardEnable CmdSetRasterizerDiscardEnable; | |
| PFN_vkCmdSetDepthBiasEnable CmdSetDepthBiasEnable; | |
| PFN_vkCmdSetPrimitiveRestartEnable CmdSetPrimitiveRestartEnable; | |
| PFN_vkCreatePrivateDataSlot CreatePrivateDataSlot; | |
| PFN_vkDestroyPrivateDataSlot DestroyPrivateDataSlot; | |
| PFN_vkSetPrivateData SetPrivateData; | |
| PFN_vkGetPrivateData GetPrivateData; | |
| PFN_vkCmdCopyBuffer2 CmdCopyBuffer2; | |
| PFN_vkCmdCopyImage2 CmdCopyImage2; | |
| PFN_vkCmdBlitImage2 CmdBlitImage2; | |
| PFN_vkCmdCopyBufferToImage2 CmdCopyBufferToImage2; | |
| PFN_vkCmdCopyImageToBuffer2 CmdCopyImageToBuffer2; | |
| PFN_vkCmdResolveImage2 CmdResolveImage2; | |
| PFN_vkCmdSetEvent2 CmdSetEvent2; | |
| PFN_vkCmdResetEvent2 CmdResetEvent2; | |
| PFN_vkCmdWaitEvents2 CmdWaitEvents2; | |
| PFN_vkCmdPipelineBarrier2 CmdPipelineBarrier2; | |
| PFN_vkQueueSubmit2 QueueSubmit2; | |
| PFN_vkCmdWriteTimestamp2 CmdWriteTimestamp2; | |
| PFN_vkCopyMemoryToImage CopyMemoryToImage; | |
| PFN_vkCopyImageToMemory CopyImageToMemory; | |
| PFN_vkCopyImageToImage CopyImageToImage; | |
| PFN_vkTransitionImageLayout TransitionImageLayout; | |
| PFN_vkCmdBeginRendering CmdBeginRendering; | |
| PFN_vkCmdEndRendering CmdEndRendering; | |
| PFN_vkGetImageSubresourceLayout2 GetImageSubresourceLayout2; | |
| PFN_vkGetDeviceImageSubresourceLayout GetDeviceImageSubresourceLayout; | |
| PFN_vkMapMemory2 MapMemory2; | |
| PFN_vkUnmapMemory2 UnmapMemory2; | |
| PFN_vkCmdBindDescriptorSets2 CmdBindDescriptorSets2; | |
| PFN_vkCmdPushConstants2 CmdPushConstants2; | |
| PFN_vkCmdPushDescriptorSet2 CmdPushDescriptorSet2; | |
| PFN_vkCmdPushDescriptorSetWithTemplate2 CmdPushDescriptorSetWithTemplate2; | |
| PFN_vkCmdSetRenderingAttachmentLocations CmdSetRenderingAttachmentLocations; | |
| PFN_vkCmdSetRenderingInputAttachmentIndices CmdSetRenderingInputAttachmentIndices; | |
| // clang-format on | |
| }; | |
| bool InitDispatchTable( | |
| VkInstance instance, | |
| PFN_vkGetInstanceProcAddr get_proc, | |
| const std::bitset<driver::ProcHook::EXTENSION_COUNT>& extensions); | |
| bool InitDispatchTable( | |
| VkDevice dev, | |
| PFN_vkGetDeviceProcAddr get_proc, | |
| const std::bitset<driver::ProcHook::EXTENSION_COUNT>& extensions); | |
| } // namespace api | |
| } // namespace vulkan | |
| #endif // LIBVULKAN_API_GEN_H |