api_gen.h revision 0c2032490b80178ec823bf22a7f5d08398851cc3
1/* 2 * Copyright 2016 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17// WARNING: This file is generated. See ../README.md for instructions. 18 19#ifndef LIBVULKAN_API_GEN_H 20#define LIBVULKAN_API_GEN_H 21 22#include <vulkan/vulkan.h> 23 24namespace vulkan { 25namespace api { 26 27struct InstanceDispatchTable { 28 // clang-format off 29 PFN_vkDestroyInstance DestroyInstance; 30 PFN_vkEnumeratePhysicalDevices EnumeratePhysicalDevices; 31 PFN_vkGetInstanceProcAddr GetInstanceProcAddr; 32 PFN_vkGetPhysicalDeviceProperties GetPhysicalDeviceProperties; 33 PFN_vkGetPhysicalDeviceQueueFamilyProperties GetPhysicalDeviceQueueFamilyProperties; 34 PFN_vkGetPhysicalDeviceMemoryProperties GetPhysicalDeviceMemoryProperties; 35 PFN_vkGetPhysicalDeviceFeatures GetPhysicalDeviceFeatures; 36 PFN_vkGetPhysicalDeviceFormatProperties GetPhysicalDeviceFormatProperties; 37 PFN_vkGetPhysicalDeviceImageFormatProperties GetPhysicalDeviceImageFormatProperties; 38 PFN_vkCreateDevice CreateDevice; 39 PFN_vkEnumerateDeviceLayerProperties EnumerateDeviceLayerProperties; 40 PFN_vkEnumerateDeviceExtensionProperties EnumerateDeviceExtensionProperties; 41 PFN_vkGetPhysicalDeviceSparseImageFormatProperties GetPhysicalDeviceSparseImageFormatProperties; 42 PFN_vkDestroySurfaceKHR DestroySurfaceKHR; 43 PFN_vkGetPhysicalDeviceSurfaceSupportKHR GetPhysicalDeviceSurfaceSupportKHR; 44 PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR GetPhysicalDeviceSurfaceCapabilitiesKHR; 45 PFN_vkGetPhysicalDeviceSurfaceFormatsKHR GetPhysicalDeviceSurfaceFormatsKHR; 46 PFN_vkGetPhysicalDeviceSurfacePresentModesKHR GetPhysicalDeviceSurfacePresentModesKHR; 47 PFN_vkCreateAndroidSurfaceKHR CreateAndroidSurfaceKHR; 48 // clang-format on 49}; 50 51struct DeviceDispatchTable { 52 // clang-format off 53 PFN_vkGetDeviceProcAddr GetDeviceProcAddr; 54 PFN_vkDestroyDevice DestroyDevice; 55 PFN_vkGetDeviceQueue GetDeviceQueue; 56 PFN_vkQueueSubmit QueueSubmit; 57 PFN_vkQueueWaitIdle QueueWaitIdle; 58 PFN_vkDeviceWaitIdle DeviceWaitIdle; 59 PFN_vkAllocateMemory AllocateMemory; 60 PFN_vkFreeMemory FreeMemory; 61 PFN_vkMapMemory MapMemory; 62 PFN_vkUnmapMemory UnmapMemory; 63 PFN_vkFlushMappedMemoryRanges FlushMappedMemoryRanges; 64 PFN_vkInvalidateMappedMemoryRanges InvalidateMappedMemoryRanges; 65 PFN_vkGetDeviceMemoryCommitment GetDeviceMemoryCommitment; 66 PFN_vkGetBufferMemoryRequirements GetBufferMemoryRequirements; 67 PFN_vkBindBufferMemory BindBufferMemory; 68 PFN_vkGetImageMemoryRequirements GetImageMemoryRequirements; 69 PFN_vkBindImageMemory BindImageMemory; 70 PFN_vkGetImageSparseMemoryRequirements GetImageSparseMemoryRequirements; 71 PFN_vkQueueBindSparse QueueBindSparse; 72 PFN_vkCreateFence CreateFence; 73 PFN_vkDestroyFence DestroyFence; 74 PFN_vkResetFences ResetFences; 75 PFN_vkGetFenceStatus GetFenceStatus; 76 PFN_vkWaitForFences WaitForFences; 77 PFN_vkCreateSemaphore CreateSemaphore; 78 PFN_vkDestroySemaphore DestroySemaphore; 79 PFN_vkCreateEvent CreateEvent; 80 PFN_vkDestroyEvent DestroyEvent; 81 PFN_vkGetEventStatus GetEventStatus; 82 PFN_vkSetEvent SetEvent; 83 PFN_vkResetEvent ResetEvent; 84 PFN_vkCreateQueryPool CreateQueryPool; 85 PFN_vkDestroyQueryPool DestroyQueryPool; 86 PFN_vkGetQueryPoolResults GetQueryPoolResults; 87 PFN_vkCreateBuffer CreateBuffer; 88 PFN_vkDestroyBuffer DestroyBuffer; 89 PFN_vkCreateBufferView CreateBufferView; 90 PFN_vkDestroyBufferView DestroyBufferView; 91 PFN_vkCreateImage CreateImage; 92 PFN_vkDestroyImage DestroyImage; 93 PFN_vkGetImageSubresourceLayout GetImageSubresourceLayout; 94 PFN_vkCreateImageView CreateImageView; 95 PFN_vkDestroyImageView DestroyImageView; 96 PFN_vkCreateShaderModule CreateShaderModule; 97 PFN_vkDestroyShaderModule DestroyShaderModule; 98 PFN_vkCreatePipelineCache CreatePipelineCache; 99 PFN_vkDestroyPipelineCache DestroyPipelineCache; 100 PFN_vkGetPipelineCacheData GetPipelineCacheData; 101 PFN_vkMergePipelineCaches MergePipelineCaches; 102 PFN_vkCreateGraphicsPipelines CreateGraphicsPipelines; 103 PFN_vkCreateComputePipelines CreateComputePipelines; 104 PFN_vkDestroyPipeline DestroyPipeline; 105 PFN_vkCreatePipelineLayout CreatePipelineLayout; 106 PFN_vkDestroyPipelineLayout DestroyPipelineLayout; 107 PFN_vkCreateSampler CreateSampler; 108 PFN_vkDestroySampler DestroySampler; 109 PFN_vkCreateDescriptorSetLayout CreateDescriptorSetLayout; 110 PFN_vkDestroyDescriptorSetLayout DestroyDescriptorSetLayout; 111 PFN_vkCreateDescriptorPool CreateDescriptorPool; 112 PFN_vkDestroyDescriptorPool DestroyDescriptorPool; 113 PFN_vkResetDescriptorPool ResetDescriptorPool; 114 PFN_vkAllocateDescriptorSets AllocateDescriptorSets; 115 PFN_vkFreeDescriptorSets FreeDescriptorSets; 116 PFN_vkUpdateDescriptorSets UpdateDescriptorSets; 117 PFN_vkCreateFramebuffer CreateFramebuffer; 118 PFN_vkDestroyFramebuffer DestroyFramebuffer; 119 PFN_vkCreateRenderPass CreateRenderPass; 120 PFN_vkDestroyRenderPass DestroyRenderPass; 121 PFN_vkGetRenderAreaGranularity GetRenderAreaGranularity; 122 PFN_vkCreateCommandPool CreateCommandPool; 123 PFN_vkDestroyCommandPool DestroyCommandPool; 124 PFN_vkResetCommandPool ResetCommandPool; 125 PFN_vkAllocateCommandBuffers AllocateCommandBuffers; 126 PFN_vkFreeCommandBuffers FreeCommandBuffers; 127 PFN_vkBeginCommandBuffer BeginCommandBuffer; 128 PFN_vkEndCommandBuffer EndCommandBuffer; 129 PFN_vkResetCommandBuffer ResetCommandBuffer; 130 PFN_vkCmdBindPipeline CmdBindPipeline; 131 PFN_vkCmdSetViewport CmdSetViewport; 132 PFN_vkCmdSetScissor CmdSetScissor; 133 PFN_vkCmdSetLineWidth CmdSetLineWidth; 134 PFN_vkCmdSetDepthBias CmdSetDepthBias; 135 PFN_vkCmdSetBlendConstants CmdSetBlendConstants; 136 PFN_vkCmdSetDepthBounds CmdSetDepthBounds; 137 PFN_vkCmdSetStencilCompareMask CmdSetStencilCompareMask; 138 PFN_vkCmdSetStencilWriteMask CmdSetStencilWriteMask; 139 PFN_vkCmdSetStencilReference CmdSetStencilReference; 140 PFN_vkCmdBindDescriptorSets CmdBindDescriptorSets; 141 PFN_vkCmdBindIndexBuffer CmdBindIndexBuffer; 142 PFN_vkCmdBindVertexBuffers CmdBindVertexBuffers; 143 PFN_vkCmdDraw CmdDraw; 144 PFN_vkCmdDrawIndexed CmdDrawIndexed; 145 PFN_vkCmdDrawIndirect CmdDrawIndirect; 146 PFN_vkCmdDrawIndexedIndirect CmdDrawIndexedIndirect; 147 PFN_vkCmdDispatch CmdDispatch; 148 PFN_vkCmdDispatchIndirect CmdDispatchIndirect; 149 PFN_vkCmdCopyBuffer CmdCopyBuffer; 150 PFN_vkCmdCopyImage CmdCopyImage; 151 PFN_vkCmdBlitImage CmdBlitImage; 152 PFN_vkCmdCopyBufferToImage CmdCopyBufferToImage; 153 PFN_vkCmdCopyImageToBuffer CmdCopyImageToBuffer; 154 PFN_vkCmdUpdateBuffer CmdUpdateBuffer; 155 PFN_vkCmdFillBuffer CmdFillBuffer; 156 PFN_vkCmdClearColorImage CmdClearColorImage; 157 PFN_vkCmdClearDepthStencilImage CmdClearDepthStencilImage; 158 PFN_vkCmdClearAttachments CmdClearAttachments; 159 PFN_vkCmdResolveImage CmdResolveImage; 160 PFN_vkCmdSetEvent CmdSetEvent; 161 PFN_vkCmdResetEvent CmdResetEvent; 162 PFN_vkCmdWaitEvents CmdWaitEvents; 163 PFN_vkCmdPipelineBarrier CmdPipelineBarrier; 164 PFN_vkCmdBeginQuery CmdBeginQuery; 165 PFN_vkCmdEndQuery CmdEndQuery; 166 PFN_vkCmdResetQueryPool CmdResetQueryPool; 167 PFN_vkCmdWriteTimestamp CmdWriteTimestamp; 168 PFN_vkCmdCopyQueryPoolResults CmdCopyQueryPoolResults; 169 PFN_vkCmdPushConstants CmdPushConstants; 170 PFN_vkCmdBeginRenderPass CmdBeginRenderPass; 171 PFN_vkCmdNextSubpass CmdNextSubpass; 172 PFN_vkCmdEndRenderPass CmdEndRenderPass; 173 PFN_vkCmdExecuteCommands CmdExecuteCommands; 174 PFN_vkCreateSwapchainKHR CreateSwapchainKHR; 175 PFN_vkDestroySwapchainKHR DestroySwapchainKHR; 176 PFN_vkGetSwapchainImagesKHR GetSwapchainImagesKHR; 177 PFN_vkAcquireNextImageKHR AcquireNextImageKHR; 178 PFN_vkQueuePresentKHR QueuePresentKHR; 179 // clang-format on 180}; 181 182bool InitDispatchTable(VkInstance instance, PFN_vkGetInstanceProcAddr get_proc); 183bool InitDispatchTable(VkDevice dev, PFN_vkGetDeviceProcAddr get_proc); 184 185} // namespace api 186} // namespace vulkan 187 188#endif // LIBVULKAN_API_GEN_H 189