| /* | |
| * 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 <bitset> | |
| #include <vulkan/vulkan.h> | |
| #include "driver_gen.h" | |
| 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_vkDestroySurfaceKHR DestroySurfaceKHR; | |
| PFN_vkGetPhysicalDeviceSurfaceSupportKHR GetPhysicalDeviceSurfaceSupportKHR; | |
| PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR GetPhysicalDeviceSurfaceCapabilitiesKHR; | |
| PFN_vkGetPhysicalDeviceSurfaceFormatsKHR GetPhysicalDeviceSurfaceFormatsKHR; | |
| PFN_vkGetPhysicalDeviceSurfacePresentModesKHR GetPhysicalDeviceSurfacePresentModesKHR; | |
| PFN_vkCreateAndroidSurfaceKHR CreateAndroidSurfaceKHR; | |
| // 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_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_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; | |
| // 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 |