From patchwork Thu Oct 3 05:51:29 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lynne X-Patchwork-Id: 51990 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:b18c:0:b0:48e:c0f8:d0de with SMTP id q12csp145718vqn; Wed, 2 Oct 2024 22:52:04 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUk78Tc4mGWz/TCCpkIHeio6/l1r/bT6ImevZoc0ifa94RHEdMgE65zygq52cDUjqNF9cUsdbQEH1pWU7NraGQm@gmail.com X-Google-Smtp-Source: AGHT+IHCqw5AFHpEFT2zZN8CzQdyGS7M9Gls1fV9enU4rihj2Lfe68+lS4cBVkyNMiKBRDXcYnC6 X-Received: by 2002:a05:6512:2213:b0:52f:cc06:c483 with SMTP id 2adb3069b0e04-539a0664d47mr2830937e87.24.1727934724693; Wed, 02 Oct 2024 22:52:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1727934724; cv=none; d=google.com; s=arc-20240605; b=QJ2pzc0V/zvtprFRC02Wflq1x4w6F6v1dkCSClyVZx8boDaemh3jMkNzA4v6QaCj7G /bi+Xv+ItCh+NtDDSDLBceHfDYBVMJoJoV+SLlXloCWBvLahHoZUoEi/uQcHzh+EZfaV 9zNFwe9naZ67vJLzJ95JkeHCzy9kWcGT+egsXlo7OKpv+c5QDqw4KwhOr0DprV78dELk 7X3Thvl1G5fVImjnQOVvEsNqdWQqXFZF9tSD4d05110Rfj+MMGDLJwfKYrHwxEvEhQlN CCoF46Ii+hoTfL649zxrxrw3VcHrvgjMOnx4EWS1f11p9k5PW0F+nsqn4l+0GoJ35o/g cdQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:content-transfer-encoding:cc:reply-to:from :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:references:in-reply-to :message-id:date:to:delivered-to; bh=nXSdeJFYa3XK7jZ+4Qm4wJcFXaM909pfCidxfhO11kY=; fh=nenT92/WZoU6unXd3J6UhGUdod4piddKfVtctNBOh6k=; b=jZrkAz6mhaUUQN3Yub81osq904tqiTEmsN8n9GC5ZJmK6348p+bdAcg/HuQ8NT05CP obEU4aBPYYHgzuvwhnl7/a4w6NJs6HP9LZjuV9iYPfikZ72XJlM51K1QVOwPacotgxjT 3yC1gAafUf+gigWCTnOUbRkjkCvM1o8l+XazMFH+yztPM0ihO6KR8g99rW2z+pXmuEvb hJhbhY+ctMsFcASKHSxr4ZnLvTwQAO2v1Lu0psIQ1xc2xOCIP5VVBIimu14u25ajYPya 7h7l3PMhe1zrMnrNgUH8lzVlav1ZfegpjkzbHBlN/82ijw0S6sKZKmLId9wzKYgmD4UU oOKg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 4fb4d7f45d1cf-5c8ca47d6bfsi393648a12.233.2024.10.02.22.52.04; Wed, 02 Oct 2024 22:52:04 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A5CB668DA3B; Thu, 3 Oct 2024 08:51:51 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from vidala.lynne.ee (vidala.pars.ee [116.203.72.101]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 48E4F68D70B for ; Thu, 3 Oct 2024 08:51:44 +0300 (EEST) To: ffmpeg-devel@ffmpeg.org Date: Thu, 3 Oct 2024 07:51:29 +0200 Message-ID: <20241003055141.415483-2-dev@lynne.ee> X-Mailer: git-send-email 2.45.2.753.g447d99e1c3b In-Reply-To: <20241003055141.415483-1-dev@lynne.ee> References: <20241003055141.415483-1-dev@lynne.ee> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/8] vulkan_functions: change extension type to a typedef uint64_t X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Lynne via ffmpeg-devel From: Lynne Reply-To: FFmpeg development discussions and patches Cc: Lynne Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: vO65ttTB1r5g 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) \