vulkan_entry_points.inl (12463B)
1 // SPDX-FileCopyrightText: 2019-2023 Connor McLaughlin <stenzek@gmail.com> 2 // SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0) 3 4 // Expands the VULKAN_ENTRY_POINT macro for each function when this file is included. 5 // Parameters: Function name, is required 6 // VULKAN_MODULE_ENTRY_POINT is for functions in vulkan-1.dll 7 // VULKAN_INSTANCE_ENTRY_POINT is for instance-specific functions. 8 // VULKAN_DEVICE_ENTRY_POINT is for device-specific functions. 9 10 #ifdef VULKAN_MODULE_ENTRY_POINT 11 12 VULKAN_MODULE_ENTRY_POINT(vkCreateInstance, true) 13 VULKAN_MODULE_ENTRY_POINT(vkGetInstanceProcAddr, true) 14 VULKAN_MODULE_ENTRY_POINT(vkEnumerateInstanceExtensionProperties, true) 15 VULKAN_MODULE_ENTRY_POINT(vkEnumerateInstanceLayerProperties, true) 16 VULKAN_MODULE_ENTRY_POINT(vkEnumerateInstanceVersion, false) 17 VULKAN_MODULE_ENTRY_POINT(vkDestroyInstance, true) 18 19 #endif // VULKAN_MODULE_ENTRY_POINT 20 21 #ifdef VULKAN_INSTANCE_ENTRY_POINT 22 23 VULKAN_INSTANCE_ENTRY_POINT(vkGetDeviceProcAddr, true) 24 VULKAN_INSTANCE_ENTRY_POINT(vkEnumeratePhysicalDevices, true) 25 VULKAN_INSTANCE_ENTRY_POINT(vkGetPhysicalDeviceFeatures, true) 26 VULKAN_INSTANCE_ENTRY_POINT(vkGetPhysicalDeviceFormatProperties, true) 27 VULKAN_INSTANCE_ENTRY_POINT(vkGetPhysicalDeviceImageFormatProperties, true) 28 VULKAN_INSTANCE_ENTRY_POINT(vkGetPhysicalDeviceProperties, true) 29 VULKAN_INSTANCE_ENTRY_POINT(vkGetPhysicalDeviceQueueFamilyProperties, true) 30 VULKAN_INSTANCE_ENTRY_POINT(vkGetPhysicalDeviceMemoryProperties, true) 31 VULKAN_INSTANCE_ENTRY_POINT(vkCreateDevice, true) 32 VULKAN_INSTANCE_ENTRY_POINT(vkEnumerateDeviceExtensionProperties, true) 33 VULKAN_INSTANCE_ENTRY_POINT(vkEnumerateDeviceLayerProperties, true) 34 VULKAN_INSTANCE_ENTRY_POINT(vkGetPhysicalDeviceSparseImageFormatProperties, true) 35 VULKAN_INSTANCE_ENTRY_POINT(vkDestroySurfaceKHR, false) 36 VULKAN_INSTANCE_ENTRY_POINT(vkGetPhysicalDeviceSurfaceSupportKHR, false) 37 VULKAN_INSTANCE_ENTRY_POINT(vkGetPhysicalDeviceSurfaceCapabilitiesKHR, false) 38 VULKAN_INSTANCE_ENTRY_POINT(vkGetPhysicalDeviceSurfaceFormatsKHR, false) 39 VULKAN_INSTANCE_ENTRY_POINT(vkGetPhysicalDeviceSurfacePresentModesKHR, false) 40 41 #if defined(VK_USE_PLATFORM_WIN32_KHR) 42 VULKAN_INSTANCE_ENTRY_POINT(vkCreateWin32SurfaceKHR, false) 43 VULKAN_INSTANCE_ENTRY_POINT(vkGetPhysicalDeviceWin32PresentationSupportKHR, false) 44 #endif 45 46 #if defined(VK_USE_PLATFORM_XLIB_KHR) 47 VULKAN_INSTANCE_ENTRY_POINT(vkCreateXlibSurfaceKHR, false) 48 VULKAN_INSTANCE_ENTRY_POINT(vkGetPhysicalDeviceXlibPresentationSupportKHR, false) 49 #endif 50 51 #if defined(VK_USE_PLATFORM_WAYLAND_KHR) 52 VULKAN_INSTANCE_ENTRY_POINT(vkCreateWaylandSurfaceKHR, false) 53 #endif 54 55 #if defined(VK_USE_PLATFORM_METAL_EXT) 56 VULKAN_INSTANCE_ENTRY_POINT(vkCreateMetalSurfaceEXT, false) 57 #endif 58 59 #if defined(VK_USE_PLATFORM_ANDROID_KHR) 60 VULKAN_INSTANCE_ENTRY_POINT(vkCreateAndroidSurfaceKHR, false) 61 #endif 62 63 // VK_EXT_debug_utils 64 VULKAN_INSTANCE_ENTRY_POINT(vkCmdBeginDebugUtilsLabelEXT, false) 65 VULKAN_INSTANCE_ENTRY_POINT(vkCmdEndDebugUtilsLabelEXT, false) 66 VULKAN_INSTANCE_ENTRY_POINT(vkCmdInsertDebugUtilsLabelEXT, false) 67 VULKAN_INSTANCE_ENTRY_POINT(vkCreateDebugUtilsMessengerEXT, false) 68 VULKAN_INSTANCE_ENTRY_POINT(vkDestroyDebugUtilsMessengerEXT, false) 69 VULKAN_INSTANCE_ENTRY_POINT(vkQueueBeginDebugUtilsLabelEXT, false) 70 VULKAN_INSTANCE_ENTRY_POINT(vkQueueEndDebugUtilsLabelEXT, false) 71 VULKAN_INSTANCE_ENTRY_POINT(vkQueueInsertDebugUtilsLabelEXT, false) 72 VULKAN_INSTANCE_ENTRY_POINT(vkSetDebugUtilsObjectNameEXT, false) 73 VULKAN_INSTANCE_ENTRY_POINT(vkSetDebugUtilsObjectTagEXT, false) 74 VULKAN_INSTANCE_ENTRY_POINT(vkSubmitDebugUtilsMessageEXT, false) 75 76 VULKAN_INSTANCE_ENTRY_POINT(vkGetPhysicalDeviceSurfaceCapabilities2KHR, false) 77 78 VULKAN_INSTANCE_ENTRY_POINT(vkGetPhysicalDeviceDisplayPropertiesKHR, false) 79 VULKAN_INSTANCE_ENTRY_POINT(vkGetPhysicalDeviceDisplayPlanePropertiesKHR, false) 80 VULKAN_INSTANCE_ENTRY_POINT(vkGetDisplayPlaneSupportedDisplaysKHR, false) 81 VULKAN_INSTANCE_ENTRY_POINT(vkGetDisplayModePropertiesKHR, false) 82 VULKAN_INSTANCE_ENTRY_POINT(vkCreateDisplayModeKHR, false) 83 VULKAN_INSTANCE_ENTRY_POINT(vkGetDisplayPlaneCapabilitiesKHR, false) 84 VULKAN_INSTANCE_ENTRY_POINT(vkCreateDisplayPlaneSurfaceKHR, false) 85 86 // VK_KHR_get_physical_device_properties2 87 VULKAN_INSTANCE_ENTRY_POINT(vkGetPhysicalDeviceFeatures2KHR, false) 88 VULKAN_INSTANCE_ENTRY_POINT(vkGetPhysicalDeviceProperties2KHR, false) 89 VULKAN_INSTANCE_ENTRY_POINT(vkGetPhysicalDeviceMemoryProperties2KHR, false) 90 91 // Vulkan 1.1 functions. 92 VULKAN_INSTANCE_ENTRY_POINT(vkGetPhysicalDeviceFeatures2, false) 93 VULKAN_INSTANCE_ENTRY_POINT(vkGetPhysicalDeviceProperties2, false) 94 VULKAN_INSTANCE_ENTRY_POINT(vkGetPhysicalDeviceMemoryProperties2, false) 95 96 // VK_EXT_calibrated_timestamps 97 VULKAN_INSTANCE_ENTRY_POINT(vkGetPhysicalDeviceCalibrateableTimeDomainsEXT, false) 98 99 #endif // VULKAN_INSTANCE_ENTRY_POINT 100 101 #ifdef VULKAN_DEVICE_ENTRY_POINT 102 103 VULKAN_DEVICE_ENTRY_POINT(vkDestroyDevice, true) 104 VULKAN_DEVICE_ENTRY_POINT(vkGetDeviceQueue, true) 105 VULKAN_DEVICE_ENTRY_POINT(vkQueueSubmit, true) 106 VULKAN_DEVICE_ENTRY_POINT(vkQueueWaitIdle, true) 107 VULKAN_DEVICE_ENTRY_POINT(vkDeviceWaitIdle, true) 108 VULKAN_DEVICE_ENTRY_POINT(vkAllocateMemory, true) 109 VULKAN_DEVICE_ENTRY_POINT(vkFreeMemory, true) 110 VULKAN_DEVICE_ENTRY_POINT(vkMapMemory, true) 111 VULKAN_DEVICE_ENTRY_POINT(vkUnmapMemory, true) 112 VULKAN_DEVICE_ENTRY_POINT(vkFlushMappedMemoryRanges, true) 113 VULKAN_DEVICE_ENTRY_POINT(vkInvalidateMappedMemoryRanges, true) 114 VULKAN_DEVICE_ENTRY_POINT(vkGetDeviceMemoryCommitment, true) 115 VULKAN_DEVICE_ENTRY_POINT(vkBindBufferMemory, true) 116 VULKAN_DEVICE_ENTRY_POINT(vkBindImageMemory, true) 117 VULKAN_DEVICE_ENTRY_POINT(vkGetBufferMemoryRequirements, true) 118 VULKAN_DEVICE_ENTRY_POINT(vkGetImageMemoryRequirements, true) 119 VULKAN_DEVICE_ENTRY_POINT(vkGetImageSparseMemoryRequirements, true) 120 VULKAN_DEVICE_ENTRY_POINT(vkQueueBindSparse, true) 121 VULKAN_DEVICE_ENTRY_POINT(vkCreateFence, true) 122 VULKAN_DEVICE_ENTRY_POINT(vkDestroyFence, true) 123 VULKAN_DEVICE_ENTRY_POINT(vkResetFences, true) 124 VULKAN_DEVICE_ENTRY_POINT(vkGetFenceStatus, true) 125 VULKAN_DEVICE_ENTRY_POINT(vkWaitForFences, true) 126 VULKAN_DEVICE_ENTRY_POINT(vkCreateSemaphore, true) 127 VULKAN_DEVICE_ENTRY_POINT(vkDestroySemaphore, true) 128 VULKAN_DEVICE_ENTRY_POINT(vkCreateEvent, true) 129 VULKAN_DEVICE_ENTRY_POINT(vkDestroyEvent, true) 130 VULKAN_DEVICE_ENTRY_POINT(vkGetEventStatus, true) 131 VULKAN_DEVICE_ENTRY_POINT(vkSetEvent, true) 132 VULKAN_DEVICE_ENTRY_POINT(vkResetEvent, true) 133 VULKAN_DEVICE_ENTRY_POINT(vkCreateQueryPool, true) 134 VULKAN_DEVICE_ENTRY_POINT(vkDestroyQueryPool, true) 135 VULKAN_DEVICE_ENTRY_POINT(vkGetQueryPoolResults, true) 136 VULKAN_DEVICE_ENTRY_POINT(vkCreateBuffer, true) 137 VULKAN_DEVICE_ENTRY_POINT(vkDestroyBuffer, true) 138 VULKAN_DEVICE_ENTRY_POINT(vkCreateBufferView, true) 139 VULKAN_DEVICE_ENTRY_POINT(vkDestroyBufferView, true) 140 VULKAN_DEVICE_ENTRY_POINT(vkCreateImage, true) 141 VULKAN_DEVICE_ENTRY_POINT(vkDestroyImage, true) 142 VULKAN_DEVICE_ENTRY_POINT(vkGetImageSubresourceLayout, true) 143 VULKAN_DEVICE_ENTRY_POINT(vkCreateImageView, true) 144 VULKAN_DEVICE_ENTRY_POINT(vkDestroyImageView, true) 145 VULKAN_DEVICE_ENTRY_POINT(vkCreateShaderModule, true) 146 VULKAN_DEVICE_ENTRY_POINT(vkDestroyShaderModule, true) 147 VULKAN_DEVICE_ENTRY_POINT(vkCreatePipelineCache, true) 148 VULKAN_DEVICE_ENTRY_POINT(vkDestroyPipelineCache, true) 149 VULKAN_DEVICE_ENTRY_POINT(vkGetPipelineCacheData, true) 150 VULKAN_DEVICE_ENTRY_POINT(vkMergePipelineCaches, true) 151 VULKAN_DEVICE_ENTRY_POINT(vkCreateGraphicsPipelines, true) 152 VULKAN_DEVICE_ENTRY_POINT(vkCreateComputePipelines, true) 153 VULKAN_DEVICE_ENTRY_POINT(vkDestroyPipeline, true) 154 VULKAN_DEVICE_ENTRY_POINT(vkCreatePipelineLayout, true) 155 VULKAN_DEVICE_ENTRY_POINT(vkDestroyPipelineLayout, true) 156 VULKAN_DEVICE_ENTRY_POINT(vkCreateSampler, true) 157 VULKAN_DEVICE_ENTRY_POINT(vkDestroySampler, true) 158 VULKAN_DEVICE_ENTRY_POINT(vkCreateDescriptorSetLayout, true) 159 VULKAN_DEVICE_ENTRY_POINT(vkDestroyDescriptorSetLayout, true) 160 VULKAN_DEVICE_ENTRY_POINT(vkCreateDescriptorPool, true) 161 VULKAN_DEVICE_ENTRY_POINT(vkDestroyDescriptorPool, true) 162 VULKAN_DEVICE_ENTRY_POINT(vkResetDescriptorPool, true) 163 VULKAN_DEVICE_ENTRY_POINT(vkAllocateDescriptorSets, true) 164 VULKAN_DEVICE_ENTRY_POINT(vkFreeDescriptorSets, true) 165 VULKAN_DEVICE_ENTRY_POINT(vkUpdateDescriptorSets, true) 166 VULKAN_DEVICE_ENTRY_POINT(vkCreateFramebuffer, true) 167 VULKAN_DEVICE_ENTRY_POINT(vkDestroyFramebuffer, true) 168 VULKAN_DEVICE_ENTRY_POINT(vkCreateRenderPass, true) 169 VULKAN_DEVICE_ENTRY_POINT(vkDestroyRenderPass, true) 170 VULKAN_DEVICE_ENTRY_POINT(vkGetRenderAreaGranularity, true) 171 VULKAN_DEVICE_ENTRY_POINT(vkCreateCommandPool, true) 172 VULKAN_DEVICE_ENTRY_POINT(vkDestroyCommandPool, true) 173 VULKAN_DEVICE_ENTRY_POINT(vkResetCommandPool, true) 174 VULKAN_DEVICE_ENTRY_POINT(vkAllocateCommandBuffers, true) 175 VULKAN_DEVICE_ENTRY_POINT(vkFreeCommandBuffers, true) 176 VULKAN_DEVICE_ENTRY_POINT(vkBeginCommandBuffer, true) 177 VULKAN_DEVICE_ENTRY_POINT(vkEndCommandBuffer, true) 178 VULKAN_DEVICE_ENTRY_POINT(vkResetCommandBuffer, true) 179 VULKAN_DEVICE_ENTRY_POINT(vkCmdBindPipeline, true) 180 VULKAN_DEVICE_ENTRY_POINT(vkCmdSetViewport, true) 181 VULKAN_DEVICE_ENTRY_POINT(vkCmdSetScissor, true) 182 VULKAN_DEVICE_ENTRY_POINT(vkCmdSetLineWidth, true) 183 VULKAN_DEVICE_ENTRY_POINT(vkCmdSetDepthBias, true) 184 VULKAN_DEVICE_ENTRY_POINT(vkCmdSetBlendConstants, true) 185 VULKAN_DEVICE_ENTRY_POINT(vkCmdSetDepthBounds, true) 186 VULKAN_DEVICE_ENTRY_POINT(vkCmdSetStencilCompareMask, true) 187 VULKAN_DEVICE_ENTRY_POINT(vkCmdSetStencilWriteMask, true) 188 VULKAN_DEVICE_ENTRY_POINT(vkCmdSetStencilReference, true) 189 VULKAN_DEVICE_ENTRY_POINT(vkCmdBindDescriptorSets, true) 190 VULKAN_DEVICE_ENTRY_POINT(vkCmdBindIndexBuffer, true) 191 VULKAN_DEVICE_ENTRY_POINT(vkCmdBindVertexBuffers, true) 192 VULKAN_DEVICE_ENTRY_POINT(vkCmdDraw, true) 193 VULKAN_DEVICE_ENTRY_POINT(vkCmdDrawIndexed, true) 194 VULKAN_DEVICE_ENTRY_POINT(vkCmdDrawIndirect, true) 195 VULKAN_DEVICE_ENTRY_POINT(vkCmdDrawIndexedIndirect, true) 196 VULKAN_DEVICE_ENTRY_POINT(vkCmdDispatch, true) 197 VULKAN_DEVICE_ENTRY_POINT(vkCmdDispatchIndirect, true) 198 VULKAN_DEVICE_ENTRY_POINT(vkCmdCopyBuffer, true) 199 VULKAN_DEVICE_ENTRY_POINT(vkCmdCopyImage, true) 200 VULKAN_DEVICE_ENTRY_POINT(vkCmdBlitImage, true) 201 VULKAN_DEVICE_ENTRY_POINT(vkCmdCopyBufferToImage, true) 202 VULKAN_DEVICE_ENTRY_POINT(vkCmdCopyImageToBuffer, true) 203 VULKAN_DEVICE_ENTRY_POINT(vkCmdUpdateBuffer, true) 204 VULKAN_DEVICE_ENTRY_POINT(vkCmdFillBuffer, true) 205 VULKAN_DEVICE_ENTRY_POINT(vkCmdClearColorImage, true) 206 VULKAN_DEVICE_ENTRY_POINT(vkCmdClearDepthStencilImage, true) 207 VULKAN_DEVICE_ENTRY_POINT(vkCmdClearAttachments, true) 208 VULKAN_DEVICE_ENTRY_POINT(vkCmdResolveImage, true) 209 VULKAN_DEVICE_ENTRY_POINT(vkCmdSetEvent, true) 210 VULKAN_DEVICE_ENTRY_POINT(vkCmdResetEvent, true) 211 VULKAN_DEVICE_ENTRY_POINT(vkCmdWaitEvents, true) 212 VULKAN_DEVICE_ENTRY_POINT(vkCmdPipelineBarrier, true) 213 VULKAN_DEVICE_ENTRY_POINT(vkCmdBeginQuery, true) 214 VULKAN_DEVICE_ENTRY_POINT(vkCmdEndQuery, true) 215 VULKAN_DEVICE_ENTRY_POINT(vkCmdResetQueryPool, true) 216 VULKAN_DEVICE_ENTRY_POINT(vkCmdWriteTimestamp, true) 217 VULKAN_DEVICE_ENTRY_POINT(vkCmdCopyQueryPoolResults, true) 218 VULKAN_DEVICE_ENTRY_POINT(vkCmdPushConstants, true) 219 VULKAN_DEVICE_ENTRY_POINT(vkCmdBeginRenderPass, true) 220 VULKAN_DEVICE_ENTRY_POINT(vkCmdNextSubpass, true) 221 VULKAN_DEVICE_ENTRY_POINT(vkCmdEndRenderPass, true) 222 VULKAN_DEVICE_ENTRY_POINT(vkCmdExecuteCommands, true) 223 VULKAN_DEVICE_ENTRY_POINT(vkCreateSwapchainKHR, false) 224 VULKAN_DEVICE_ENTRY_POINT(vkDestroySwapchainKHR, false) 225 VULKAN_DEVICE_ENTRY_POINT(vkGetSwapchainImagesKHR, false) 226 VULKAN_DEVICE_ENTRY_POINT(vkAcquireNextImageKHR, false) 227 VULKAN_DEVICE_ENTRY_POINT(vkQueuePresentKHR, false) 228 229 // Vulkan 1.1 functions. 230 VULKAN_DEVICE_ENTRY_POINT(vkGetBufferMemoryRequirements2, false) 231 VULKAN_DEVICE_ENTRY_POINT(vkGetImageMemoryRequirements2, false) 232 VULKAN_DEVICE_ENTRY_POINT(vkBindBufferMemory2, false) 233 VULKAN_DEVICE_ENTRY_POINT(vkBindImageMemory2, false) 234 235 // Vulkan 1.3 functions. 236 VULKAN_DEVICE_ENTRY_POINT(vkGetDeviceBufferMemoryRequirements, false) 237 VULKAN_DEVICE_ENTRY_POINT(vkGetDeviceImageMemoryRequirements, false) 238 239 #ifdef _WIN32 240 VULKAN_DEVICE_ENTRY_POINT(vkAcquireFullScreenExclusiveModeEXT, false) 241 VULKAN_DEVICE_ENTRY_POINT(vkReleaseFullScreenExclusiveModeEXT, false) 242 #endif 243 244 // VK_KHR_dynamic_rendering 245 VULKAN_DEVICE_ENTRY_POINT(vkCmdBeginRenderingKHR, false) 246 VULKAN_DEVICE_ENTRY_POINT(vkCmdEndRenderingKHR, false) 247 248 // VK_KHR_push_descriptor 249 VULKAN_DEVICE_ENTRY_POINT(vkCmdPushDescriptorSetKHR, false) 250 251 // VK_EXT_external_memory_host 252 VULKAN_DEVICE_ENTRY_POINT(vkGetMemoryHostPointerPropertiesEXT, false) 253 254 // VK_EXT_swapchain_maintenance1 255 VULKAN_DEVICE_ENTRY_POINT(vkReleaseSwapchainImagesEXT, false) 256 257 #endif // VULKAN_DEVICE_ENTRY_POINT