UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
VulkanLoader.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "VulkanPlatform.h"
6#include "VulkanThirdParty.h"
7
8// List all instance Vulkan entry points used by Unreal that need to be loaded manually
9#define ENUM_VK_ENTRYPOINTS_INSTANCE(EnumMacro) \
10 EnumMacro(PFN_vkDestroyInstance, vkDestroyInstance) \
11 EnumMacro(PFN_vkEnumeratePhysicalDevices, vkEnumeratePhysicalDevices) \
12 EnumMacro(PFN_vkGetPhysicalDeviceFeatures, vkGetPhysicalDeviceFeatures) \
13 EnumMacro(PFN_vkGetPhysicalDeviceFormatProperties, vkGetPhysicalDeviceFormatProperties) \
14 EnumMacro(PFN_vkGetPhysicalDeviceFormatProperties2, vkGetPhysicalDeviceFormatProperties2) \
15 EnumMacro(PFN_vkGetPhysicalDeviceImageFormatProperties, vkGetPhysicalDeviceImageFormatProperties) \
16 EnumMacro(PFN_vkGetPhysicalDeviceImageFormatProperties2, vkGetPhysicalDeviceImageFormatProperties2) \
17 EnumMacro(PFN_vkGetPhysicalDeviceProperties, vkGetPhysicalDeviceProperties) \
18 EnumMacro(PFN_vkGetPhysicalDeviceQueueFamilyProperties, vkGetPhysicalDeviceQueueFamilyProperties) \
19 EnumMacro(PFN_vkGetPhysicalDeviceQueueFamilyProperties2, vkGetPhysicalDeviceQueueFamilyProperties2) \
20 EnumMacro(PFN_vkGetPhysicalDeviceMemoryProperties, vkGetPhysicalDeviceMemoryProperties) \
21 EnumMacro(PFN_vkGetPhysicalDeviceProperties2, vkGetPhysicalDeviceProperties2) \
22 EnumMacro(PFN_vkGetPhysicalDeviceFeatures2, vkGetPhysicalDeviceFeatures2) \
23 EnumMacro(PFN_vkGetPhysicalDeviceMemoryProperties2, vkGetPhysicalDeviceMemoryProperties2) \
24 EnumMacro(PFN_vkCreateDevice, vkCreateDevice) \
25 EnumMacro(PFN_vkDestroyDevice, vkDestroyDevice) \
26 EnumMacro(PFN_vkEnumerateDeviceExtensionProperties, vkEnumerateDeviceExtensionProperties) \
27 EnumMacro(PFN_vkEnumerateDeviceLayerProperties, vkEnumerateDeviceLayerProperties) \
28 EnumMacro(PFN_vkGetDeviceQueue, vkGetDeviceQueue) \
29 EnumMacro(PFN_vkQueueSubmit, vkQueueSubmit) \
30 EnumMacro(PFN_vkQueueWaitIdle, vkQueueWaitIdle) \
31 EnumMacro(PFN_vkDeviceWaitIdle, vkDeviceWaitIdle) \
32 EnumMacro(PFN_vkAllocateMemory, vkAllocateMemory) \
33 EnumMacro(PFN_vkFreeMemory, vkFreeMemory) \
34 EnumMacro(PFN_vkMapMemory, vkMapMemory) \
35 EnumMacro(PFN_vkUnmapMemory, vkUnmapMemory) \
36 EnumMacro(PFN_vkFlushMappedMemoryRanges, vkFlushMappedMemoryRanges) \
37 EnumMacro(PFN_vkInvalidateMappedMemoryRanges, vkInvalidateMappedMemoryRanges) \
38 EnumMacro(PFN_vkGetDeviceMemoryCommitment, vkGetDeviceMemoryCommitment) \
39 EnumMacro(PFN_vkBindBufferMemory, vkBindBufferMemory) \
40 EnumMacro(PFN_vkBindImageMemory, vkBindImageMemory) \
41 EnumMacro(PFN_vkBindBufferMemory2, vkBindBufferMemory2) \
42 EnumMacro(PFN_vkBindImageMemory2, vkBindImageMemory2) \
43 EnumMacro(PFN_vkGetBufferMemoryRequirements, vkGetBufferMemoryRequirements) \
44 EnumMacro(PFN_vkGetImageMemoryRequirements, vkGetImageMemoryRequirements) \
45 EnumMacro(PFN_vkGetImageSparseMemoryRequirements, vkGetImageSparseMemoryRequirements) \
46 EnumMacro(PFN_vkGetImageMemoryRequirements2, vkGetImageMemoryRequirements2) \
47 EnumMacro(PFN_vkGetBufferMemoryRequirements2, vkGetBufferMemoryRequirements2) \
48 EnumMacro(PFN_vkGetPhysicalDeviceSparseImageFormatProperties, vkGetPhysicalDeviceSparseImageFormatProperties) \
49 EnumMacro(PFN_vkQueueBindSparse, vkQueueBindSparse) \
50 EnumMacro(PFN_vkCreateFence, vkCreateFence) \
51 EnumMacro(PFN_vkDestroyFence, vkDestroyFence) \
52 EnumMacro(PFN_vkResetFences, vkResetFences) \
53 EnumMacro(PFN_vkGetFenceStatus, vkGetFenceStatus) \
54 EnumMacro(PFN_vkWaitForFences, vkWaitForFences) \
55 EnumMacro(PFN_vkCreateSemaphore, vkCreateSemaphore) \
56 EnumMacro(PFN_vkDestroySemaphore, vkDestroySemaphore) \
57 EnumMacro(PFN_vkCreateEvent, vkCreateEvent) \
58 EnumMacro(PFN_vkDestroyEvent, vkDestroyEvent) \
59 EnumMacro(PFN_vkGetEventStatus, vkGetEventStatus) \
60 EnumMacro(PFN_vkSetEvent, vkSetEvent) \
61 EnumMacro(PFN_vkResetEvent, vkResetEvent) \
62 EnumMacro(PFN_vkCreateQueryPool, vkCreateQueryPool) \
63 EnumMacro(PFN_vkDestroyQueryPool, vkDestroyQueryPool) \
64 EnumMacro(PFN_vkGetQueryPoolResults, vkGetQueryPoolResults) \
65 EnumMacro(PFN_vkCreateBuffer, vkCreateBuffer) \
66 EnumMacro(PFN_vkDestroyBuffer, vkDestroyBuffer) \
67 EnumMacro(PFN_vkCreateBufferView, vkCreateBufferView) \
68 EnumMacro(PFN_vkDestroyBufferView, vkDestroyBufferView) \
69 EnumMacro(PFN_vkCreateImage, vkCreateImage) \
70 EnumMacro(PFN_vkDestroyImage, vkDestroyImage) \
71 EnumMacro(PFN_vkGetImageSubresourceLayout, vkGetImageSubresourceLayout) \
72 EnumMacro(PFN_vkCreateImageView, vkCreateImageView) \
73 EnumMacro(PFN_vkDestroyImageView, vkDestroyImageView) \
74 EnumMacro(PFN_vkCreateShaderModule, vkCreateShaderModule) \
75 EnumMacro(PFN_vkDestroyShaderModule, vkDestroyShaderModule) \
76 EnumMacro(PFN_vkCreatePipelineCache, vkCreatePipelineCache) \
77 EnumMacro(PFN_vkDestroyPipelineCache, vkDestroyPipelineCache) \
78 EnumMacro(PFN_vkGetPipelineCacheData, vkGetPipelineCacheData) \
79 EnumMacro(PFN_vkMergePipelineCaches, vkMergePipelineCaches) \
80 EnumMacro(PFN_vkCreateGraphicsPipelines, vkCreateGraphicsPipelines) \
81 EnumMacro(PFN_vkCreateComputePipelines, vkCreateComputePipelines) \
82 EnumMacro(PFN_vkDestroyPipeline, vkDestroyPipeline) \
83 EnumMacro(PFN_vkCreatePipelineLayout, vkCreatePipelineLayout) \
84 EnumMacro(PFN_vkDestroyPipelineLayout, vkDestroyPipelineLayout) \
85 EnumMacro(PFN_vkCreateSampler, vkCreateSampler) \
86 EnumMacro(PFN_vkDestroySampler, vkDestroySampler) \
87 EnumMacro(PFN_vkCreateDescriptorSetLayout, vkCreateDescriptorSetLayout) \
88 EnumMacro(PFN_vkDestroyDescriptorSetLayout, vkDestroyDescriptorSetLayout) \
89 EnumMacro(PFN_vkCreateDescriptorPool, vkCreateDescriptorPool) \
90 EnumMacro(PFN_vkDestroyDescriptorPool, vkDestroyDescriptorPool) \
91 EnumMacro(PFN_vkResetDescriptorPool, vkResetDescriptorPool) \
92 EnumMacro(PFN_vkAllocateDescriptorSets, vkAllocateDescriptorSets) \
93 EnumMacro(PFN_vkFreeDescriptorSets, vkFreeDescriptorSets) \
94 EnumMacro(PFN_vkUpdateDescriptorSets, vkUpdateDescriptorSets) \
95 EnumMacro(PFN_vkCreateFramebuffer, vkCreateFramebuffer) \
96 EnumMacro(PFN_vkDestroyFramebuffer, vkDestroyFramebuffer) \
97 EnumMacro(PFN_vkCreateRenderPass, vkCreateRenderPass) \
98 EnumMacro(PFN_vkDestroyRenderPass, vkDestroyRenderPass) \
99 EnumMacro(PFN_vkGetRenderAreaGranularity, vkGetRenderAreaGranularity) \
100 EnumMacro(PFN_vkCreateCommandPool, vkCreateCommandPool) \
101 EnumMacro(PFN_vkDestroyCommandPool, vkDestroyCommandPool) \
102 EnumMacro(PFN_vkResetCommandPool, vkResetCommandPool) \
103 EnumMacro(PFN_vkTrimCommandPool, vkTrimCommandPool) \
104 EnumMacro(PFN_vkAllocateCommandBuffers, vkAllocateCommandBuffers) \
105 EnumMacro(PFN_vkFreeCommandBuffers, vkFreeCommandBuffers) \
106 EnumMacro(PFN_vkBeginCommandBuffer, vkBeginCommandBuffer) \
107 EnumMacro(PFN_vkEndCommandBuffer, vkEndCommandBuffer) \
108 EnumMacro(PFN_vkResetCommandBuffer, vkResetCommandBuffer) \
109 EnumMacro(PFN_vkCmdBindPipeline, vkCmdBindPipeline) \
110 EnumMacro(PFN_vkCmdSetViewport, vkCmdSetViewport) \
111 EnumMacro(PFN_vkCmdSetScissor, vkCmdSetScissor) \
112 EnumMacro(PFN_vkCmdSetLineWidth, vkCmdSetLineWidth) \
113 EnumMacro(PFN_vkCmdSetDepthBias, vkCmdSetDepthBias) \
114 EnumMacro(PFN_vkCmdSetBlendConstants, vkCmdSetBlendConstants) \
115 EnumMacro(PFN_vkCmdSetDepthBounds, vkCmdSetDepthBounds) \
116 EnumMacro(PFN_vkCmdSetStencilCompareMask, vkCmdSetStencilCompareMask) \
117 EnumMacro(PFN_vkCmdSetStencilWriteMask, vkCmdSetStencilWriteMask) \
118 EnumMacro(PFN_vkCmdSetStencilReference, vkCmdSetStencilReference) \
119 EnumMacro(PFN_vkCmdBindDescriptorSets, vkCmdBindDescriptorSets) \
120 EnumMacro(PFN_vkCmdBindIndexBuffer, vkCmdBindIndexBuffer) \
121 EnumMacro(PFN_vkCmdBindVertexBuffers, vkCmdBindVertexBuffers) \
122 EnumMacro(PFN_vkCmdDraw, vkCmdDraw) \
123 EnumMacro(PFN_vkCmdDrawIndexed, vkCmdDrawIndexed) \
124 EnumMacro(PFN_vkCmdDrawIndirect, vkCmdDrawIndirect) \
125 EnumMacro(PFN_vkCmdDrawIndexedIndirect, vkCmdDrawIndexedIndirect) \
126 EnumMacro(PFN_vkCmdDispatch, vkCmdDispatch) \
127 EnumMacro(PFN_vkCmdDispatchIndirect, vkCmdDispatchIndirect) \
128 EnumMacro(PFN_vkCmdCopyBuffer, vkCmdCopyBuffer) \
129 EnumMacro(PFN_vkCmdCopyImage, vkCmdCopyImage) \
130 EnumMacro(PFN_vkCmdBlitImage, vkCmdBlitImage) \
131 EnumMacro(PFN_vkCmdCopyBufferToImage, vkCmdCopyBufferToImage) \
132 EnumMacro(PFN_vkCmdCopyImageToBuffer, vkCmdCopyImageToBuffer) \
133 EnumMacro(PFN_vkCmdUpdateBuffer, vkCmdUpdateBuffer) \
134 EnumMacro(PFN_vkCmdFillBuffer, vkCmdFillBuffer) \
135 EnumMacro(PFN_vkCmdClearColorImage, vkCmdClearColorImage) \
136 EnumMacro(PFN_vkCmdClearDepthStencilImage, vkCmdClearDepthStencilImage) \
137 EnumMacro(PFN_vkCmdClearAttachments, vkCmdClearAttachments) \
138 EnumMacro(PFN_vkCmdResolveImage, vkCmdResolveImage) \
139 EnumMacro(PFN_vkCmdSetEvent, vkCmdSetEvent) \
140 EnumMacro(PFN_vkCmdResetEvent, vkCmdResetEvent) \
141 EnumMacro(PFN_vkCmdWaitEvents, vkCmdWaitEvents) \
142 EnumMacro(PFN_vkCmdPipelineBarrier, vkCmdPipelineBarrier) \
143 EnumMacro(PFN_vkCmdBeginQuery, vkCmdBeginQuery) \
144 EnumMacro(PFN_vkCmdEndQuery, vkCmdEndQuery) \
145 EnumMacro(PFN_vkCmdResetQueryPool, vkCmdResetQueryPool) \
146 EnumMacro(PFN_vkCmdWriteTimestamp, vkCmdWriteTimestamp) \
147 EnumMacro(PFN_vkCmdCopyQueryPoolResults, vkCmdCopyQueryPoolResults) \
148 EnumMacro(PFN_vkCmdPushConstants, vkCmdPushConstants) \
149 EnumMacro(PFN_vkCmdBeginRenderPass, vkCmdBeginRenderPass) \
150 EnumMacro(PFN_vkCmdNextSubpass, vkCmdNextSubpass) \
151 EnumMacro(PFN_vkCmdEndRenderPass, vkCmdEndRenderPass) \
152 EnumMacro(PFN_vkCmdExecuteCommands, vkCmdExecuteCommands) \
153 EnumMacro(PFN_vkCreateSwapchainKHR, vkCreateSwapchainKHR) \
154 EnumMacro(PFN_vkDestroySwapchainKHR, vkDestroySwapchainKHR) \
155 EnumMacro(PFN_vkGetSwapchainImagesKHR, vkGetSwapchainImagesKHR) \
156 EnumMacro(PFN_vkAcquireNextImageKHR, vkAcquireNextImageKHR) \
157 EnumMacro(PFN_vkQueuePresentKHR, vkQueuePresentKHR) \
158 EnumMacro(PFN_vkCreateSamplerYcbcrConversion, vkCreateSamplerYcbcrConversion) \
159 EnumMacro(PFN_vkDestroySamplerYcbcrConversion, vkDestroySamplerYcbcrConversion)
160
161// List all surface Vulkan entry points used by Unreal that need to be loaded manually
162#define ENUM_VK_ENTRYPOINTS_SURFACE_INSTANCE(EnumMacro) \
163 EnumMacro(PFN_vkDestroySurfaceKHR, vkDestroySurfaceKHR) \
164 EnumMacro(PFN_vkGetPhysicalDeviceSurfaceSupportKHR, vkGetPhysicalDeviceSurfaceSupportKHR) \
165 EnumMacro(PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR, vkGetPhysicalDeviceSurfaceCapabilitiesKHR) \
166 EnumMacro(PFN_vkGetPhysicalDeviceSurfaceFormatsKHR, vkGetPhysicalDeviceSurfaceFormatsKHR) \
167 EnumMacro(PFN_vkGetPhysicalDeviceSurfacePresentModesKHR, vkGetPhysicalDeviceSurfacePresentModesKHR)
168
169// List all base Vulkan entry points used by Unreal that need to be loaded manually
170#define ENUM_VK_ENTRYPOINTS_BASE(EnumMacro) \
171 EnumMacro(PFN_vkCreateInstance, vkCreateInstance) \
172 EnumMacro(PFN_vkGetInstanceProcAddr, vkGetInstanceProcAddr) \
173 EnumMacro(PFN_vkGetDeviceProcAddr, vkGetDeviceProcAddr) \
174 EnumMacro(PFN_vkEnumerateInstanceExtensionProperties, vkEnumerateInstanceExtensionProperties) \
175 EnumMacro(PFN_vkEnumerateInstanceLayerProperties, vkEnumerateInstanceLayerProperties)
176
177// List all optional Vulkan entry points used by Unreal that need to be loaded manually
178#define ENUM_VK_ENTRYPOINTS_OPTIONAL_BASE(EnumMacro) \
179 EnumMacro(PFN_vkEnumerateInstanceVersion, vkEnumerateInstanceVersion) \
180 EnumMacro(PFN_vkGetPhysicalDeviceDisplayPropertiesKHR, vkGetPhysicalDeviceDisplayPropertiesKHR) \
181 EnumMacro(PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR, vkGetPhysicalDeviceDisplayPlanePropertiesKHR) \
182 EnumMacro(PFN_vkGetDisplayPlaneSupportedDisplaysKHR, vkGetDisplayPlaneSupportedDisplaysKHR) \
183 EnumMacro(PFN_vkGetDisplayModePropertiesKHR, vkGetDisplayModePropertiesKHR) \
184 EnumMacro(PFN_vkCreateDisplayModeKHR, vkCreateDisplayModeKHR) \
185 EnumMacro(PFN_vkGetDisplayPlaneCapabilitiesKHR, vkGetDisplayPlaneCapabilitiesKHR)
186
187// List all optional Vulkan raytracing entrypoints used by Unreal
188#define ENUM_VK_ENTRYPOINTS_RAYTRACING(EnumMacro) \
189 EnumMacro(PFN_vkCreateAccelerationStructureKHR, vkCreateAccelerationStructureKHR) \
190 EnumMacro(PFN_vkDestroyAccelerationStructureKHR, vkDestroyAccelerationStructureKHR) \
191 EnumMacro(PFN_vkCmdBuildAccelerationStructuresKHR, vkCmdBuildAccelerationStructuresKHR) \
192 EnumMacro(PFN_vkGetAccelerationStructureBuildSizesKHR, vkGetAccelerationStructureBuildSizesKHR) \
193 EnumMacro(PFN_vkGetAccelerationStructureDeviceAddressKHR, vkGetAccelerationStructureDeviceAddressKHR) \
194 EnumMacro(PFN_vkCmdTraceRaysKHR, vkCmdTraceRaysKHR) \
195 EnumMacro(PFN_vkCmdTraceRaysIndirectKHR, vkCmdTraceRaysIndirectKHR) \
196 EnumMacro(PFN_vkCmdTraceRaysIndirect2KHR, vkCmdTraceRaysIndirect2KHR) \
197 EnumMacro(PFN_vkCreateRayTracingPipelinesKHR, vkCreateRayTracingPipelinesKHR) \
198 EnumMacro(PFN_vkGetRayTracingShaderGroupHandlesKHR, vkGetRayTracingShaderGroupHandlesKHR) \
199 EnumMacro(PFN_vkCmdWriteAccelerationStructuresPropertiesKHR, vkCmdWriteAccelerationStructuresPropertiesKHR) \
200 EnumMacro(PFN_vkCmdCopyAccelerationStructureKHR, vkCmdCopyAccelerationStructureKHR)
201
202// List all optional Vulkan entry points used by Unreal that need to be loaded manually
203#define ENUM_VK_ENTRYPOINTS_OPTIONAL_INSTANCE(EnumMacro) \
204 ENUM_VK_ENTRYPOINTS_RAYTRACING(EnumMacro) \
205 EnumMacro(PFN_vkCreateRenderPass2KHR, vkCreateRenderPass2KHR) \
206 EnumMacro(PFN_vkCmdBeginRenderPass2KHR, vkCmdBeginRenderPass2KHR) \
207 EnumMacro(PFN_vkCmdBeginRenderingKHR, vkCmdBeginRenderingKHR) \
208 EnumMacro(PFN_vkCmdEndRenderingKHR, vkCmdEndRenderingKHR) \
209 EnumMacro(PFN_vkGetDeviceImageMemoryRequirementsKHR, vkGetDeviceImageMemoryRequirementsKHR) \
210 EnumMacro(PFN_vkGetDeviceBufferMemoryRequirementsKHR, vkGetDeviceBufferMemoryRequirementsKHR) \
211 EnumMacro(PFN_vkResetQueryPoolEXT, vkResetQueryPoolEXT) \
212 EnumMacro(PFN_vkCmdPipelineBarrier2KHR, vkCmdPipelineBarrier2KHR) \
213 EnumMacro(PFN_vkCmdResetEvent2KHR, vkCmdResetEvent2KHR) \
214 EnumMacro(PFN_vkCmdSetEvent2KHR, vkCmdSetEvent2KHR) \
215 EnumMacro(PFN_vkCmdWaitEvents2KHR, vkCmdWaitEvents2KHR) \
216 EnumMacro(PFN_vkQueueSubmit2KHR, vkQueueSubmit2KHR) \
217 EnumMacro(PFN_vkCreateSharedSwapchainsKHR, vkCreateSharedSwapchainsKHR) \
218 EnumMacro(PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT, vkGetPhysicalDeviceCalibrateableTimeDomainsEXT) \
219 EnumMacro(PFN_vkGetCalibratedTimestampsEXT, vkGetCalibratedTimestampsEXT) \
220 EnumMacro(PFN_vkGetBufferDeviceAddressKHR, vkGetBufferDeviceAddressKHR) \
221 EnumMacro(PFN_vkGetDescriptorSetLayoutSizeEXT, vkGetDescriptorSetLayoutSizeEXT) \
222 EnumMacro(PFN_vkGetDescriptorSetLayoutBindingOffsetEXT, vkGetDescriptorSetLayoutBindingOffsetEXT) \
223 EnumMacro(PFN_vkCmdBindDescriptorBuffersEXT, vkCmdBindDescriptorBuffersEXT) \
224 EnumMacro(PFN_vkCmdSetDescriptorBufferOffsetsEXT, vkCmdSetDescriptorBufferOffsetsEXT) \
225 EnumMacro(PFN_vkGetDescriptorEXT, vkGetDescriptorEXT) \
226 EnumMacro(PFN_vkCreateDeferredOperationKHR, vkCreateDeferredOperationKHR) \
227 EnumMacro(PFN_vkDestroyDeferredOperationKHR, vkDestroyDeferredOperationKHR) \
228 EnumMacro(PFN_vkDeferredOperationJoinKHR, vkDeferredOperationJoinKHR) \
229 EnumMacro(PFN_vkGetDeferredOperationMaxConcurrencyKHR, vkGetDeferredOperationMaxConcurrencyKHR) \
230 EnumMacro(PFN_vkGetDeferredOperationResultKHR, vkGetDeferredOperationResultKHR) \
231 EnumMacro(PFN_vkCmdDrawMeshTasksEXT, vkCmdDrawMeshTasksEXT) \
232 EnumMacro(PFN_vkCmdDrawMeshTasksIndirectCountEXT, vkCmdDrawMeshTasksIndirectCountEXT) \
233 EnumMacro(PFN_vkCmdDrawMeshTasksIndirectEXT, vkCmdDrawMeshTasksIndirectEXT) \
234 EnumMacro(PFN_vkCmdWriteBufferMarkerAMD, vkCmdWriteBufferMarkerAMD) \
235 EnumMacro(PFN_vkCmdSetCheckpointNV, vkCmdSetCheckpointNV) \
236 EnumMacro(PFN_vkGetQueueCheckpointDataNV, vkGetQueueCheckpointDataNV) \
237 EnumMacro(PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR, vkGetPhysicalDeviceFragmentShadingRatesKHR) \
238 EnumMacro(PFN_vkGetDeviceFaultInfoEXT, vkGetDeviceFaultInfoEXT) \
239 EnumMacro(PFN_vkGetPhysicalDeviceToolPropertiesEXT, vkGetPhysicalDeviceToolPropertiesEXT) \
240 EnumMacro(PFN_vkGetImageSubresourceLayout2EXT, vkGetImageSubresourceLayout2EXT) \
241 EnumMacro(PFN_vkGetImageSubresourceLayout2KHR, vkGetImageSubresourceLayout2KHR) \
242 EnumMacro(PFN_vkGetSemaphoreCounterValue, vkGetSemaphoreCounterValueKHR) \
243 EnumMacro(PFN_vkWaitSemaphores, vkWaitSemaphoresKHR) \
244 EnumMacro(PFN_vkSignalSemaphore, vkSignalSemaphoreKHR) \
245 EnumMacro(PFN_vkCreateShadersEXT, vkCreateShadersEXT) \
246 EnumMacro(PFN_vkDestroyShaderEXT, vkDestroyShaderEXT) \
247 EnumMacro(PFN_vkGetShaderBinaryDataEXT, vkGetShaderBinaryDataEXT) \
248 EnumMacro(PFN_vkCmdBindShadersEXT, vkCmdBindShadersEXT) \
249 EnumMacro(PFN_vkCmdBindVertexBuffers2EXT, vkCmdBindVertexBuffers2EXT) \
250 EnumMacro(PFN_vkCmdSetCullModeEXT, vkCmdSetCullModeEXT) \
251 EnumMacro(PFN_vkCmdSetColorBlendEnableEXT, vkCmdSetColorBlendEnableEXT) \
252 EnumMacro(PFN_vkCmdSetColorBlendEquationEXT, vkCmdSetColorBlendEquationEXT) \
253 EnumMacro(PFN_vkCmdSetColorWriteMaskEXT, vkCmdSetColorWriteMaskEXT) \
254 EnumMacro(PFN_vkCmdSetFrontFaceEXT, vkCmdSetFrontFaceEXT) \
255 EnumMacro(PFN_vkCmdSetPolygonModeEXT, vkCmdSetPolygonModeEXT) \
256 EnumMacro(PFN_vkCmdSetPrimitiveTopologyEXT, vkCmdSetPrimitiveTopologyEXT) \
257 EnumMacro(PFN_vkCmdSetRasterizationSamplesEXT, vkCmdSetRasterizationSamplesEXT) \
258 EnumMacro(PFN_vkCmdSetScissorWithCountEXT, vkCmdSetScissorWithCountEXT) \
259 EnumMacro(PFN_vkCmdSetStencilOpEXT, vkCmdSetStencilOpEXT) \
260 EnumMacro(PFN_vkCmdSetStencilTestEnableEXT, vkCmdSetStencilTestEnableEXT) \
261 EnumMacro(PFN_vkCmdSetVertexInputEXT, vkCmdSetVertexInputEXT) \
262 EnumMacro(PFN_vkCmdSetViewportWithCountEXT, vkCmdSetViewportWithCountEXT) \
263 EnumMacro(PFN_vkCmdSetDepthBiasEnableEXT, vkCmdSetDepthBiasEnableEXT) \
264 EnumMacro(PFN_vkCmdSetDepthBoundsTestEnableEXT, vkCmdSetDepthBoundsTestEnableEXT) \
265 EnumMacro(PFN_vkCmdSetDepthClampEnableEXT, vkCmdSetDepthClampEnableEXT) \
266 EnumMacro(PFN_vkCmdSetDepthCompareOpEXT, vkCmdSetDepthCompareOpEXT) \
267 EnumMacro(PFN_vkCmdSetDepthTestEnableEXT, vkCmdSetDepthTestEnableEXT) \
268 EnumMacro(PFN_vkCmdSetDepthWriteEnableEXT, vkCmdSetDepthWriteEnableEXT) \
269 EnumMacro(PFN_vkCmdSetRasterizerDiscardEnableEXT, vkCmdSetRasterizerDiscardEnableEXT) \
270 EnumMacro(PFN_vkCmdSetPrimitiveRestartEnableEXT, vkCmdSetPrimitiveRestartEnableEXT) \
271 EnumMacro(PFN_vkCmdSetAlphaToCoverageEnableEXT, vkCmdSetAlphaToCoverageEnableEXT) \
272 EnumMacro(PFN_vkCmdSetAlphaToOneEnableEXT, vkCmdSetAlphaToOneEnableEXT) \
273 EnumMacro(PFN_vkCmdSetLogicOpEnableEXT, vkCmdSetLogicOpEnableEXT) \
274 EnumMacro(PFN_vkCopyMemoryToImageEXT, vkCopyMemoryToImageEXT) \
275 EnumMacro(PFN_vkTransitionImageLayoutEXT, vkTransitionImageLayoutEXT)
276
277
278
279
280
281
282// List of all Vulkan entry points
283#define ENUM_VK_ENTRYPOINTS_ALL(EnumMacro) \
284 ENUM_VK_ENTRYPOINTS_BASE(EnumMacro) \
285 ENUM_VK_ENTRYPOINTS_OPTIONAL_BASE(EnumMacro) \
286 ENUM_VK_ENTRYPOINTS_INSTANCE(EnumMacro) \
287 ENUM_VK_ENTRYPOINTS_SURFACE_INSTANCE(EnumMacro) \
288 ENUM_VK_ENTRYPOINTS_OPTIONAL_INSTANCE(EnumMacro) \
289 ENUM_VK_ENTRYPOINTS_PLATFORM_BASE(EnumMacro) \
290 ENUM_VK_ENTRYPOINTS_OPTIONAL_PLATFORM_INSTANCE(EnumMacro) \
291 ENUM_VK_ENTRYPOINTS_PLATFORM_INSTANCE(EnumMacro)
292
293// Declare all Vulkan functions
294#define DECLARE_VK_ENTRYPOINTS(Type,Func) extern VULKANRHI_API Type Func;
299using namespace VulkanDynamicAPI;
#define ENUM_VK_ENTRYPOINTS_ALL(EnumMacro)
Definition VulkanLoader.h:283
#define DECLARE_VK_ENTRYPOINTS(Type, Func)
Definition VulkanLoader.h:294
Definition VulkanLoader.h:296