Go to the documentation of this file.
19 #ifndef AVUTIL_VULKAN_FUNCTIONS_H
20 #define AVUTIL_VULKAN_FUNCTIONS_H
22 #define VK_NO_PROTOTYPES
23 #define VK_ENABLE_BETA_EXTENSIONS
37 FF_VK_EXT_EXTERNAL_WIN32_MEMORY = 1ULL << 6,
38 FF_VK_EXT_EXTERNAL_WIN32_SEM = 1ULL << 7,
54 #define FN_LIST(MACRO) \
56 MACRO(0, 0, FF_VK_EXT_NO_FLAG, EnumerateInstanceExtensionProperties) \
57 MACRO(0, 0, FF_VK_EXT_NO_FLAG, EnumerateInstanceLayerProperties) \
58 MACRO(0, 0, FF_VK_EXT_NO_FLAG, CreateInstance) \
59 MACRO(1, 0, FF_VK_EXT_NO_FLAG, DestroyInstance) \
62 MACRO(1, 0, FF_VK_EXT_NO_FLAG, CreateDebugUtilsMessengerEXT) \
63 MACRO(1, 0, FF_VK_EXT_NO_FLAG, DestroyDebugUtilsMessengerEXT) \
66 MACRO(1, 0, FF_VK_EXT_NO_FLAG, GetDeviceProcAddr) \
67 MACRO(1, 0, FF_VK_EXT_NO_FLAG, CreateDevice) \
68 MACRO(1, 0, FF_VK_EXT_NO_FLAG, GetPhysicalDeviceFeatures2) \
69 MACRO(1, 0, FF_VK_EXT_NO_FLAG, GetPhysicalDeviceProperties) \
70 MACRO(1, 0, FF_VK_EXT_VIDEO_QUEUE, GetPhysicalDeviceVideoCapabilitiesKHR) \
71 MACRO(1, 0, FF_VK_EXT_VIDEO_QUEUE, GetPhysicalDeviceVideoFormatPropertiesKHR) \
72 MACRO(1, 0, FF_VK_EXT_NO_FLAG, DeviceWaitIdle) \
73 MACRO(1, 0, FF_VK_EXT_NO_FLAG, DestroyDevice) \
75 MACRO(1, 0, FF_VK_EXT_NO_FLAG, EnumeratePhysicalDevices) \
76 MACRO(1, 0, FF_VK_EXT_NO_FLAG, EnumerateDeviceExtensionProperties) \
78 MACRO(1, 0, FF_VK_EXT_NO_FLAG, GetPhysicalDeviceProperties2) \
79 MACRO(1, 0, FF_VK_EXT_NO_FLAG, GetPhysicalDeviceMemoryProperties) \
80 MACRO(1, 0, FF_VK_EXT_NO_FLAG, GetPhysicalDeviceFormatProperties2) \
81 MACRO(1, 0, FF_VK_EXT_NO_FLAG, GetPhysicalDeviceImageFormatProperties2) \
82 MACRO(1, 0, FF_VK_EXT_NO_FLAG, GetPhysicalDeviceQueueFamilyProperties) \
83 MACRO(1, 0, FF_VK_EXT_NO_FLAG, GetPhysicalDeviceQueueFamilyProperties2) \
84 MACRO(1, 0, FF_VK_EXT_COOP_MATRIX, GetPhysicalDeviceCooperativeMatrixPropertiesKHR) \
87 MACRO(1, 1, FF_VK_EXT_NO_FLAG, CreateCommandPool) \
88 MACRO(1, 1, FF_VK_EXT_NO_FLAG, DestroyCommandPool) \
91 MACRO(1, 1, FF_VK_EXT_NO_FLAG, AllocateCommandBuffers) \
92 MACRO(1, 1, FF_VK_EXT_NO_FLAG, BeginCommandBuffer) \
93 MACRO(1, 1, FF_VK_EXT_NO_FLAG, EndCommandBuffer) \
94 MACRO(1, 1, FF_VK_EXT_NO_FLAG, FreeCommandBuffers) \
95 MACRO(1, 1, FF_VK_EXT_NO_FLAG, CmdDispatch) \
98 MACRO(1, 1, FF_VK_EXT_NO_FLAG, GetDeviceQueue) \
99 MACRO(1, 1, FF_VK_EXT_NO_FLAG, QueueSubmit) \
100 MACRO(1, 1, FF_VK_EXT_NO_FLAG, QueueSubmit2) \
103 MACRO(1, 1, FF_VK_EXT_NO_FLAG, CreateFence) \
104 MACRO(1, 1, FF_VK_EXT_NO_FLAG, WaitForFences) \
105 MACRO(1, 1, FF_VK_EXT_NO_FLAG, ResetFences) \
106 MACRO(1, 1, FF_VK_EXT_NO_FLAG, DestroyFence) \
109 MACRO(1, 1, FF_VK_EXT_EXTERNAL_FD_SEM, GetSemaphoreFdKHR) \
110 MACRO(1, 1, FF_VK_EXT_NO_FLAG, CreateSemaphore) \
111 MACRO(1, 1, FF_VK_EXT_NO_FLAG, WaitSemaphores) \
112 MACRO(1, 1, FF_VK_EXT_NO_FLAG, DestroySemaphore) \
115 MACRO(1, 1, FF_VK_EXT_EXTERNAL_FD_MEMORY, GetMemoryFdKHR) \
116 MACRO(1, 1, FF_VK_EXT_NO_FLAG, GetMemoryFdPropertiesKHR) \
117 MACRO(1, 1, FF_VK_EXT_EXTERNAL_HOST_MEMORY, GetMemoryHostPointerPropertiesEXT) \
118 MACRO(1, 1, FF_VK_EXT_NO_FLAG, AllocateMemory) \
119 MACRO(1, 1, FF_VK_EXT_NO_FLAG, MapMemory) \
120 MACRO(1, 1, FF_VK_EXT_NO_FLAG, FlushMappedMemoryRanges) \
121 MACRO(1, 1, FF_VK_EXT_NO_FLAG, InvalidateMappedMemoryRanges) \
122 MACRO(1, 1, FF_VK_EXT_NO_FLAG, UnmapMemory) \
123 MACRO(1, 1, FF_VK_EXT_NO_FLAG, FreeMemory) \
126 MACRO(1, 1, FF_VK_EXT_NO_FLAG, CmdBindDescriptorSets) \
127 MACRO(1, 1, FF_VK_EXT_NO_FLAG, CmdPushConstants) \
128 MACRO(1, 1, FF_VK_EXT_NO_FLAG, CmdBindPipeline) \
129 MACRO(1, 1, FF_VK_EXT_NO_FLAG, CmdPipelineBarrier) \
130 MACRO(1, 1, FF_VK_EXT_NO_FLAG, CmdCopyBufferToImage) \
131 MACRO(1, 1, FF_VK_EXT_NO_FLAG, CmdCopyImageToBuffer) \
134 MACRO(1, 1, FF_VK_EXT_NO_FLAG, GetBufferMemoryRequirements2) \
135 MACRO(1, 1, FF_VK_EXT_NO_FLAG, CreateBuffer) \
136 MACRO(1, 1, FF_VK_EXT_NO_FLAG, BindBufferMemory) \
137 MACRO(1, 1, FF_VK_EXT_NO_FLAG, GetBufferDeviceAddress) \
138 MACRO(1, 1, FF_VK_EXT_NO_FLAG, CmdFillBuffer) \
139 MACRO(1, 1, FF_VK_EXT_NO_FLAG, DestroyBuffer) \
142 MACRO(1, 1, FF_VK_EXT_DRM_MODIFIER_FLAGS, GetImageDrmFormatModifierPropertiesEXT) \
143 MACRO(1, 1, FF_VK_EXT_NO_FLAG, GetImageMemoryRequirements2) \
144 MACRO(1, 1, FF_VK_EXT_NO_FLAG, CreateImage) \
145 MACRO(1, 1, FF_VK_EXT_NO_FLAG, BindImageMemory2) \
146 MACRO(1, 1, FF_VK_EXT_NO_FLAG, GetImageSubresourceLayout) \
147 MACRO(1, 1, FF_VK_EXT_NO_FLAG, DestroyImage) \
150 MACRO(1, 1, FF_VK_EXT_NO_FLAG, CreateImageView) \
151 MACRO(1, 1, FF_VK_EXT_NO_FLAG, DestroyImageView) \
154 MACRO(1, 1, FF_VK_EXT_NO_FLAG, CreateDescriptorSetLayout) \
155 MACRO(1, 1, FF_VK_EXT_NO_FLAG, AllocateDescriptorSets) \
156 MACRO(1, 1, FF_VK_EXT_NO_FLAG, CreateDescriptorPool) \
157 MACRO(1, 1, FF_VK_EXT_NO_FLAG, DestroyDescriptorPool) \
158 MACRO(1, 1, FF_VK_EXT_NO_FLAG, DestroyDescriptorSetLayout) \
161 MACRO(1, 1, FF_VK_EXT_DESCRIPTOR_BUFFER, GetDescriptorSetLayoutSizeEXT) \
162 MACRO(1, 1, FF_VK_EXT_DESCRIPTOR_BUFFER, GetDescriptorSetLayoutBindingOffsetEXT) \
163 MACRO(1, 1, FF_VK_EXT_DESCRIPTOR_BUFFER, GetDescriptorEXT) \
164 MACRO(1, 1, FF_VK_EXT_DESCRIPTOR_BUFFER, CmdBindDescriptorBuffersEXT) \
165 MACRO(1, 1, FF_VK_EXT_DESCRIPTOR_BUFFER, CmdSetDescriptorBufferOffsetsEXT) \
168 MACRO(1, 1, FF_VK_EXT_NO_FLAG, UpdateDescriptorSetWithTemplate) \
169 MACRO(1, 1, FF_VK_EXT_NO_FLAG, CreateDescriptorUpdateTemplate) \
170 MACRO(1, 1, FF_VK_EXT_NO_FLAG, DestroyDescriptorUpdateTemplate) \
173 MACRO(1, 1, FF_VK_EXT_NO_FLAG, CreateQueryPool) \
174 MACRO(1, 1, FF_VK_EXT_NO_FLAG, GetQueryPoolResults) \
175 MACRO(1, 1, FF_VK_EXT_NO_FLAG, ResetQueryPool) \
176 MACRO(1, 1, FF_VK_EXT_NO_FLAG, CmdBeginQuery) \
177 MACRO(1, 1, FF_VK_EXT_NO_FLAG, CmdEndQuery) \
178 MACRO(1, 1, FF_VK_EXT_NO_FLAG, CmdResetQueryPool) \
179 MACRO(1, 1, FF_VK_EXT_NO_FLAG, DestroyQueryPool) \
182 MACRO(1, 1, FF_VK_EXT_NO_FLAG, CmdPipelineBarrier2) \
185 MACRO(1, 1, FF_VK_EXT_VIDEO_QUEUE, CreateVideoSessionKHR) \
186 MACRO(1, 1, FF_VK_EXT_VIDEO_QUEUE, CreateVideoSessionParametersKHR) \
187 MACRO(1, 1, FF_VK_EXT_VIDEO_QUEUE, GetVideoSessionMemoryRequirementsKHR) \
188 MACRO(1, 1, FF_VK_EXT_VIDEO_QUEUE, BindVideoSessionMemoryKHR) \
189 MACRO(1, 1, FF_VK_EXT_VIDEO_QUEUE, CmdBeginVideoCodingKHR) \
190 MACRO(1, 1, FF_VK_EXT_VIDEO_QUEUE, CmdControlVideoCodingKHR) \
191 MACRO(1, 1, FF_VK_EXT_VIDEO_QUEUE, CmdEndVideoCodingKHR) \
192 MACRO(1, 1, FF_VK_EXT_VIDEO_QUEUE, DestroyVideoSessionParametersKHR) \
193 MACRO(1, 1, FF_VK_EXT_VIDEO_QUEUE, DestroyVideoSessionKHR) \
196 MACRO(1, 1, FF_VK_EXT_VIDEO_DECODE_QUEUE, CmdDecodeVideoKHR) \
199 MACRO(1, 1, FF_VK_EXT_NO_FLAG, CreatePipelineLayout) \
200 MACRO(1, 1, FF_VK_EXT_NO_FLAG, DestroyPipelineLayout) \
203 MACRO(1, 1, FF_VK_EXT_NO_FLAG, CreateComputePipelines) \
204 MACRO(1, 1, FF_VK_EXT_NO_FLAG, DestroyPipeline) \
207 MACRO(1, 1, FF_VK_EXT_NO_FLAG, CreateSamplerYcbcrConversion) \
208 MACRO(1, 1, FF_VK_EXT_NO_FLAG, DestroySamplerYcbcrConversion) \
209 MACRO(1, 1, FF_VK_EXT_NO_FLAG, CreateSampler) \
210 MACRO(1, 1, FF_VK_EXT_NO_FLAG, DestroySampler) \
213 MACRO(1, 1, FF_VK_EXT_NO_FLAG, CreateShaderModule) \
214 MACRO(1, 1, FF_VK_EXT_NO_FLAG, DestroyShaderModule)
217 #define FN_LIST_WIN32(MACRO) \
218 MACRO(1, 1, FF_VK_EXT_EXTERNAL_WIN32_SEM, GetSemaphoreWin32HandleKHR) \
219 MACRO(1, 1, FF_VK_EXT_EXTERNAL_WIN32_MEMORY, GetMemoryWin32HandleKHR)
222 #define PFN_DEF(req_inst, req_dev, ext_flag, name) \
@ FF_VK_EXT_VIDEO_DECODE_H264
@ FF_VK_EXT_VIDEO_DECODE_AV1
@ FF_VK_EXT_DESCRIPTOR_BUFFER
@ FF_VK_EXT_VIDEO_DECODE_H265
@ FF_VK_EXT_VIDEO_DECODE_QUEUE
#define FN_LIST_WIN32(MACRO)
@ FF_VK_EXT_EXTERNAL_HOST_MEMORY
@ FF_VK_EXT_DRM_MODIFIER_FLAGS
@ FF_VK_EXT_EXTERNAL_DMABUF_MEMORY
@ FF_VK_EXT_EXTERNAL_FD_MEMORY
#define PFN_DEF(req_inst, req_dev, ext_flag, name)
@ FF_VK_EXT_EXTERNAL_FD_SEM