duckstation

duckstation, but archived from the revision just before upstream changed it to a proprietary software project, this version is the libre one
git clone https://git.neptards.moe/u3shit/duckstation.git
Log | Files | Refs | README | LICENSE

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