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
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to