We were getting a bit too close for comfort to the 32-bit limit
on enums.
---
libavutil/vulkan_functions.h | 59 +++++++++++++++++++-----------------
1 file changed, 32 insertions(+), 27 deletions(-)
diff --git a/libavutil/vulkan_functions.h b/libavutil/vulkan_functions.h
index 90e4d0004d..c565d62335 100644
--- a/libavutil/vulkan_functions.h
+++ b/libavutil/vulkan_functions.h
@@ -26,37 +26,42 @@
#include "hwcontext_vulkan.h"
/* An enum of bitflags for every optional extension we need */
-typedef enum FFVulkanExtensions {
- FF_VK_EXT_EXTERNAL_DMABUF_MEMORY = 1ULL << 0, /*
VK_EXT_external_memory_dma_buf */
- FF_VK_EXT_DRM_MODIFIER_FLAGS = 1ULL << 1, /*
VK_EXT_image_drm_format_modifier */
- FF_VK_EXT_EXTERNAL_FD_MEMORY = 1ULL << 2, /*
VK_KHR_external_memory_fd */
- FF_VK_EXT_EXTERNAL_FD_SEM = 1ULL << 3, /*
VK_KHR_external_semaphore_fd */
- FF_VK_EXT_EXTERNAL_HOST_MEMORY = 1ULL << 4, /*
VK_EXT_external_memory_host */
- FF_VK_EXT_DEBUG_UTILS = 1ULL << 5, /* VK_EXT_debug_utils */
+typedef uint64_t FFVulkanExtensions;
+
+#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 */
+
#ifdef _WIN32
- FF_VK_EXT_EXTERNAL_WIN32_MEMORY = 1ULL << 6, /*
VK_KHR_external_memory_win32 */
- FF_VK_EXT_EXTERNAL_WIN32_SEM = 1ULL << 7, /*
VK_KHR_external_semaphore_win32 */
+#define FF_VK_EXT_EXTERNAL_WIN32_MEMORY (1ULL << 6) /*
VK_KHR_external_memory_win32 */
+#define FF_VK_EXT_EXTERNAL_WIN32_SEM (1ULL << 7) /*
VK_KHR_external_semaphore_win32 */
#endif
- FF_VK_EXT_DESCRIPTOR_BUFFER = 1ULL << 8, /* VK_EXT_descriptor_buffer
*/
- FF_VK_EXT_DEVICE_DRM = 1ULL << 9, /*
VK_EXT_physical_device_drm */
- FF_VK_EXT_VIDEO_QUEUE = 1ULL << 10, /* VK_KHR_video_queue */
- FF_VK_EXT_VIDEO_DECODE_QUEUE = 1ULL << 11, /*
VK_KHR_video_decode_queue */
- FF_VK_EXT_VIDEO_DECODE_H264 = 1ULL << 12, /* VK_EXT_video_decode_h264
*/
- FF_VK_EXT_VIDEO_DECODE_H265 = 1ULL << 13, /* VK_EXT_video_decode_h265
*/
- FF_VK_EXT_VIDEO_DECODE_AV1 = 1ULL << 14, /* VK_KHR_video_decode_av1
*/
- FF_VK_EXT_ATOMIC_FLOAT = 1ULL << 15, /*
VK_EXT_shader_atomic_float */
- FF_VK_EXT_COOP_MATRIX = 1ULL << 16, /*
VK_KHR_cooperative_matrix */
- FF_VK_EXT_OPTICAL_FLOW = 1ULL << 17, /* VK_NV_optical_flow */
- FF_VK_EXT_SHADER_OBJECT = 1ULL << 18, /* VK_EXT_shader_object */
- FF_VK_EXT_PUSH_DESCRIPTOR = 1ULL << 19, /* VK_KHR_push_descriptor */
- FF_VK_EXT_VIDEO_MAINTENANCE_1 = 1ULL << 27, /*
VK_KHR_video_maintenance1 */
- FF_VK_EXT_VIDEO_ENCODE_QUEUE = 1ULL << 28, /*
VK_KHR_video_encode_queue */
- FF_VK_EXT_VIDEO_ENCODE_H264 = 1ULL << 29, /* VK_KHR_video_encode_h264
*/
- FF_VK_EXT_VIDEO_ENCODE_H265 = 1ULL << 30, /* VK_KHR_video_encode_h265
*/
+#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 */
+
+/* Video extensions */
+#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 */
- FF_VK_EXT_NO_FLAG = 1ULL << 31,
-} FFVulkanExtensions;
+#define FF_VK_EXT_NO_FLAG (1ULL << 63)
/* Macro containing every function that we utilize in our codebase */
#define FN_LIST(MACRO)
\
--
2.45.2.753.g447d99e1c3b
_______________________________________________
ffmpeg-devel mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".