FFmpeg
Data Structures | Macros | Typedefs
vulkan_functions.h File Reference
#include "hwcontext.h"
#include "hwcontext_vulkan.h"

Go to the source code of this file.

Data Structures

struct  FFVulkanFunctions
 

Macros

#define VK_NO_PROTOTYPES
 
#define VK_ENABLE_BETA_EXTENSIONS
 
#define FF_VK_EXT_EXTERNAL_DMABUF_MEMORY   (1ULL << 0) /* VK_EXT_external_memory_dma_buf */
 
#define FF_VK_EXT_DRM_MODIFIER_FLAGS   (1ULL << 1) /* VK_EXT_image_drm_format_modifier */
 
#define FF_VK_EXT_EXTERNAL_FD_MEMORY   (1ULL << 2) /* VK_KHR_external_memory_fd */
 
#define FF_VK_EXT_EXTERNAL_FD_SEM   (1ULL << 3) /* VK_KHR_external_semaphore_fd */
 
#define FF_VK_EXT_EXTERNAL_HOST_MEMORY   (1ULL << 4) /* VK_EXT_external_memory_host */
 
#define FF_VK_EXT_DEBUG_UTILS   (1ULL << 5) /* VK_EXT_debug_utils */
 
#define FF_VK_EXT_DESCRIPTOR_BUFFER   (1ULL << 8) /* VK_EXT_descriptor_buffer */
 
#define FF_VK_EXT_DEVICE_DRM   (1ULL << 9) /* VK_EXT_physical_device_drm */
 
#define FF_VK_EXT_ATOMIC_FLOAT   (1ULL << 10) /* VK_EXT_shader_atomic_float */
 
#define FF_VK_EXT_COOP_MATRIX   (1ULL << 11) /* VK_KHR_cooperative_matrix */
 
#define FF_VK_EXT_OPTICAL_FLOW   (1ULL << 12) /* VK_NV_optical_flow */
 
#define FF_VK_EXT_SHADER_OBJECT   (1ULL << 13) /* VK_EXT_shader_object */
 
#define FF_VK_EXT_PUSH_DESCRIPTOR   (1ULL << 14) /* VK_KHR_push_descriptor */
 
#define FF_VK_EXT_RELAXED_EXTENDED_INSTR   (1ULL << 15) /* VK_KHR_shader_relaxed_extended_instruction */
 
#define FF_VK_EXT_VIDEO_QUEUE   (1ULL << 36) /* VK_KHR_video_queue */
 
#define FF_VK_EXT_VIDEO_MAINTENANCE_1   (1ULL << 37) /* VK_KHR_video_maintenance1 */
 
#define FF_VK_EXT_VIDEO_DECODE_QUEUE   (1ULL << 40) /* VK_KHR_video_decode_queue */
 
#define FF_VK_EXT_VIDEO_DECODE_H264   (1ULL << 41) /* VK_KHR_video_decode_h264 */
 
#define FF_VK_EXT_VIDEO_DECODE_H265   (1ULL << 42) /* VK_KHR_video_decode_h265 */
 
#define FF_VK_EXT_VIDEO_DECODE_AV1   (1ULL << 43) /* VK_KHR_video_decode_av1 */
 
#define FF_VK_EXT_VIDEO_ENCODE_QUEUE   (1ULL << 50) /* VK_KHR_video_encode_queue */
 
#define FF_VK_EXT_VIDEO_ENCODE_H264   (1ULL << 51) /* VK_KHR_video_encode_h264 */
 
#define FF_VK_EXT_VIDEO_ENCODE_H265   (1ULL << 52) /* VK_KHR_video_encode_h265 */
 
#define FF_VK_EXT_PORTABILITY_SUBSET   (1ULL << 62)
 
#define FF_VK_EXT_NO_FLAG   (1ULL << 63)
 
#define FN_LIST(MACRO)
 
#define FN_LIST_WIN32(MACRO)
 
#define PFN_DEF(req_inst, req_dev, ext_flag, name)   PFN_vk##name name;
 

Typedefs

typedef uint64_t FFVulkanExtensions
 

Macro Definition Documentation

◆ VK_NO_PROTOTYPES

#define VK_NO_PROTOTYPES

Definition at line 22 of file vulkan_functions.h.

◆ VK_ENABLE_BETA_EXTENSIONS

#define VK_ENABLE_BETA_EXTENSIONS

Definition at line 23 of file vulkan_functions.h.

◆ FF_VK_EXT_EXTERNAL_DMABUF_MEMORY

#define FF_VK_EXT_EXTERNAL_DMABUF_MEMORY   (1ULL << 0) /* VK_EXT_external_memory_dma_buf */

Definition at line 31 of file vulkan_functions.h.

◆ FF_VK_EXT_DRM_MODIFIER_FLAGS

#define FF_VK_EXT_DRM_MODIFIER_FLAGS   (1ULL << 1) /* VK_EXT_image_drm_format_modifier */

Definition at line 32 of file vulkan_functions.h.

◆ FF_VK_EXT_EXTERNAL_FD_MEMORY

#define FF_VK_EXT_EXTERNAL_FD_MEMORY   (1ULL << 2) /* VK_KHR_external_memory_fd */

Definition at line 33 of file vulkan_functions.h.

◆ FF_VK_EXT_EXTERNAL_FD_SEM

#define FF_VK_EXT_EXTERNAL_FD_SEM   (1ULL << 3) /* VK_KHR_external_semaphore_fd */

Definition at line 34 of file vulkan_functions.h.

◆ FF_VK_EXT_EXTERNAL_HOST_MEMORY

#define FF_VK_EXT_EXTERNAL_HOST_MEMORY   (1ULL << 4) /* VK_EXT_external_memory_host */

Definition at line 35 of file vulkan_functions.h.

◆ FF_VK_EXT_DEBUG_UTILS

#define FF_VK_EXT_DEBUG_UTILS   (1ULL << 5) /* VK_EXT_debug_utils */

Definition at line 36 of file vulkan_functions.h.

◆ FF_VK_EXT_DESCRIPTOR_BUFFER

#define FF_VK_EXT_DESCRIPTOR_BUFFER   (1ULL << 8) /* VK_EXT_descriptor_buffer */

Definition at line 43 of file vulkan_functions.h.

◆ FF_VK_EXT_DEVICE_DRM

#define FF_VK_EXT_DEVICE_DRM   (1ULL << 9) /* VK_EXT_physical_device_drm */

Definition at line 44 of file vulkan_functions.h.

◆ FF_VK_EXT_ATOMIC_FLOAT

#define FF_VK_EXT_ATOMIC_FLOAT   (1ULL << 10) /* VK_EXT_shader_atomic_float */

Definition at line 45 of file vulkan_functions.h.

◆ FF_VK_EXT_COOP_MATRIX

#define FF_VK_EXT_COOP_MATRIX   (1ULL << 11) /* VK_KHR_cooperative_matrix */

Definition at line 46 of file vulkan_functions.h.

◆ FF_VK_EXT_OPTICAL_FLOW

#define FF_VK_EXT_OPTICAL_FLOW   (1ULL << 12) /* VK_NV_optical_flow */

Definition at line 47 of file vulkan_functions.h.

◆ FF_VK_EXT_SHADER_OBJECT

#define FF_VK_EXT_SHADER_OBJECT   (1ULL << 13) /* VK_EXT_shader_object */

Definition at line 48 of file vulkan_functions.h.

◆ FF_VK_EXT_PUSH_DESCRIPTOR

#define FF_VK_EXT_PUSH_DESCRIPTOR   (1ULL << 14) /* VK_KHR_push_descriptor */

Definition at line 49 of file vulkan_functions.h.

◆ FF_VK_EXT_RELAXED_EXTENDED_INSTR

#define FF_VK_EXT_RELAXED_EXTENDED_INSTR   (1ULL << 15) /* VK_KHR_shader_relaxed_extended_instruction */

Definition at line 50 of file vulkan_functions.h.

◆ FF_VK_EXT_VIDEO_QUEUE

#define FF_VK_EXT_VIDEO_QUEUE   (1ULL << 36) /* VK_KHR_video_queue */

Definition at line 53 of file vulkan_functions.h.

◆ FF_VK_EXT_VIDEO_MAINTENANCE_1

#define FF_VK_EXT_VIDEO_MAINTENANCE_1   (1ULL << 37) /* VK_KHR_video_maintenance1 */

Definition at line 54 of file vulkan_functions.h.

◆ FF_VK_EXT_VIDEO_DECODE_QUEUE

#define FF_VK_EXT_VIDEO_DECODE_QUEUE   (1ULL << 40) /* VK_KHR_video_decode_queue */

Definition at line 56 of file vulkan_functions.h.

◆ FF_VK_EXT_VIDEO_DECODE_H264

#define FF_VK_EXT_VIDEO_DECODE_H264   (1ULL << 41) /* VK_KHR_video_decode_h264 */

Definition at line 57 of file vulkan_functions.h.

◆ FF_VK_EXT_VIDEO_DECODE_H265

#define FF_VK_EXT_VIDEO_DECODE_H265   (1ULL << 42) /* VK_KHR_video_decode_h265 */

Definition at line 58 of file vulkan_functions.h.

◆ FF_VK_EXT_VIDEO_DECODE_AV1

#define FF_VK_EXT_VIDEO_DECODE_AV1   (1ULL << 43) /* VK_KHR_video_decode_av1 */

Definition at line 59 of file vulkan_functions.h.

◆ FF_VK_EXT_VIDEO_ENCODE_QUEUE

#define FF_VK_EXT_VIDEO_ENCODE_QUEUE   (1ULL << 50) /* VK_KHR_video_encode_queue */

Definition at line 61 of file vulkan_functions.h.

◆ FF_VK_EXT_VIDEO_ENCODE_H264

#define FF_VK_EXT_VIDEO_ENCODE_H264   (1ULL << 51) /* VK_KHR_video_encode_h264 */

Definition at line 62 of file vulkan_functions.h.

◆ FF_VK_EXT_VIDEO_ENCODE_H265

#define FF_VK_EXT_VIDEO_ENCODE_H265   (1ULL << 52) /* VK_KHR_video_encode_h265 */

Definition at line 63 of file vulkan_functions.h.

◆ FF_VK_EXT_PORTABILITY_SUBSET

#define FF_VK_EXT_PORTABILITY_SUBSET   (1ULL << 62)

Definition at line 65 of file vulkan_functions.h.

◆ FF_VK_EXT_NO_FLAG

#define FF_VK_EXT_NO_FLAG   (1ULL << 63)

Definition at line 66 of file vulkan_functions.h.

◆ FN_LIST

#define FN_LIST (   MACRO)

Definition at line 69 of file vulkan_functions.h.

◆ FN_LIST_WIN32

#define FN_LIST_WIN32 (   MACRO)
Value:
MACRO(1, 1, FF_VK_EXT_EXTERNAL_WIN32_SEM, GetSemaphoreWin32HandleKHR) \
MACRO(1, 1, FF_VK_EXT_EXTERNAL_WIN32_MEMORY, GetMemoryWin32HandleKHR)

Definition at line 255 of file vulkan_functions.h.

◆ PFN_DEF

#define PFN_DEF (   req_inst,
  req_dev,
  ext_flag,
  name 
)    PFN_vk##name name;

Definition at line 260 of file vulkan_functions.h.

Typedef Documentation

◆ FFVulkanExtensions

typedef uint64_t FFVulkanExtensions

Definition at line 29 of file vulkan_functions.h.