From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 8BF9D4EECB for ; Wed, 14 May 2025 19:05:50 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 533D468C1D1; Wed, 14 May 2025 22:03:25 +0300 (EEST) Received: from vidala.pars.ee (vidala.pars.ee [116.203.72.101]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 090E068BFED for ; Wed, 14 May 2025 22:02:58 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; s=202405r; d=lynne.ee; c=relaxed/relaxed; h=Message-ID:Date:Subject:To:From; t=1747249377; bh=UKLEmD9mJBiMooDzsP19BE5 cLIQ7pn5folT9smlPzdg=; b=UX0YKf3iScpD4OL5UIxKWez2g4pnExc1feZD2h8GjO4japIzOe Q4DBCK974Nkfrsd0hXBuBPLMdxr1CWZzq2BxMP/KLB9S29E0KszhiFEx4Q5drW9mk9D0txsOnsc rOzF4ypswVdltAYiwsVhP2fgxdyfp6fErkWHXNrtMsBtb/2htjrn++5sbj4r65HdVeHy4fzdzYk pOr796MW/ck0YY3SM7bboFBc0yaOFWkb3BPV9eVzFDr2pqhforWUKY1gOSmP6NdB22Y+LKwk02x IU9IGywN7Ic4dmIqR3beA3v5LRl3UHRwdl2i4948wFd4YKiqHF8HJyUqdeKobf1XbpQ==; DKIM-Signature: v=1; a=ed25519-sha256; s=202405e; d=lynne.ee; c=relaxed/relaxed; h=Message-ID:Date:Subject:To:From; t=1747249377; bh=UKLEmD9mJBiMooDzsP19BE5 cLIQ7pn5folT9smlPzdg=; b=/+oXs/pMQzdhw4jY/KNHQOW5lm0IrK4g6MIXdJ1Y/QBRfsUKtx eUSOhQLibc388BVPspTkphtbqS1n+kSMTzBw==; From: Lynne To: ffmpeg-devel@ffmpeg.org Date: Wed, 14 May 2025 21:02:43 +0200 Message-ID: <20250514190253.162819-14-dev@lynne.ee> X-Mailer: git-send-email 2.49.0.395.g12beb8f557c In-Reply-To: <20250514190253.162819-1-dev@lynne.ee> References: <20250514190253.162819-1-dev@lynne.ee> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 14/16] vulkan: enable VK_KHR_shader_subgroup_rotate 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: , Reply-To: FFmpeg development discussions and patches Cc: Lynne Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Yet another thing that should've been always present. --- libavutil/hwcontext_vulkan.c | 5 +++++ libavutil/vulkan_functions.h | 1 + libavutil/vulkan_loader.h | 1 + 3 files changed, 7 insertions(+) diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c index 978d7e29d3..eded36bc01 100644 --- a/libavutil/hwcontext_vulkan.c +++ b/libavutil/hwcontext_vulkan.c @@ -79,6 +79,7 @@ typedef struct VulkanDeviceFeatures { VkPhysicalDeviceVulkan12Features vulkan_1_2; VkPhysicalDeviceVulkan13Features vulkan_1_3; VkPhysicalDeviceTimelineSemaphoreFeatures timeline_semaphore; + VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR subgroup_rotate; #ifdef VK_KHR_shader_expect_assume VkPhysicalDeviceShaderExpectAssumeFeaturesKHR expect_assume; @@ -205,6 +206,8 @@ static void device_features_init(AVHWDeviceContext *ctx, VulkanDeviceFeatures *f FF_VK_STRUCT_EXT(s, &feats->device, &feats->timeline_semaphore, FF_VK_EXT_PORTABILITY_SUBSET, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES); + FF_VK_STRUCT_EXT(s, &feats->device, &feats->subgroup_rotate, FF_VK_EXT_SUBGROUP_ROTATE, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES); #ifdef VK_KHR_shader_expect_assume FF_VK_STRUCT_EXT(s, &feats->device, &feats->expect_assume, FF_VK_EXT_EXPECT_ASSUME, @@ -283,6 +286,7 @@ static void device_features_copy_needed(VulkanDeviceFeatures *dst, VulkanDeviceF COPY_VAL(vulkan_1_3.dynamicRendering); COPY_VAL(timeline_semaphore.timelineSemaphore); + COPY_VAL(subgroup_rotate.shaderSubgroupRotate); COPY_VAL(video_maintenance_1.videoMaintenance1); #ifdef VK_KHR_video_maintenance2 @@ -588,6 +592,7 @@ static const VulkanOptExtension optional_device_exts[] = { { VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME, FF_VK_EXT_COOP_MATRIX }, { VK_NV_OPTICAL_FLOW_EXTENSION_NAME, FF_VK_EXT_OPTICAL_FLOW }, { VK_EXT_SHADER_OBJECT_EXTENSION_NAME, FF_VK_EXT_SHADER_OBJECT }, + { VK_KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME, FF_VK_EXT_SUBGROUP_ROTATE }, #ifdef VK_KHR_shader_expect_assume { VK_KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME, FF_VK_EXT_EXPECT_ASSUME }, #endif diff --git a/libavutil/vulkan_functions.h b/libavutil/vulkan_functions.h index cd61d71577..8b413013e6 100644 --- a/libavutil/vulkan_functions.h +++ b/libavutil/vulkan_functions.h @@ -48,6 +48,7 @@ typedef uint64_t FFVulkanExtensions; #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_EXPECT_ASSUME (1ULL << 16) /* VK_KHR_shader_expect_assume */ +#define FF_VK_EXT_SUBGROUP_ROTATE (1ULL << 17) /* VK_KHR_shader_subgroup_rotate */ /* Video extensions */ #define FF_VK_EXT_VIDEO_QUEUE (1ULL << 36) /* VK_KHR_video_queue */ diff --git a/libavutil/vulkan_loader.h b/libavutil/vulkan_loader.h index eaf6e2e6bb..a7976fe560 100644 --- a/libavutil/vulkan_loader.h +++ b/libavutil/vulkan_loader.h @@ -58,6 +58,7 @@ static inline uint64_t ff_vk_extensions_to_mask(const char * const *extensions, { VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME, FF_VK_EXT_COOP_MATRIX }, { VK_NV_OPTICAL_FLOW_EXTENSION_NAME, FF_VK_EXT_OPTICAL_FLOW }, { VK_EXT_SHADER_OBJECT_EXTENSION_NAME, FF_VK_EXT_SHADER_OBJECT }, + { VK_KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME, FF_VK_EXT_SUBGROUP_ROTATE }, { VK_KHR_VIDEO_MAINTENANCE_1_EXTENSION_NAME, FF_VK_EXT_VIDEO_MAINTENANCE_1 }, #ifdef VK_KHR_video_maintenance2 { VK_KHR_VIDEO_MAINTENANCE_2_EXTENSION_NAME, FF_VK_EXT_VIDEO_MAINTENANCE_2 }, -- 2.49.0.395.g12beb8f557c _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".