This is an automated email from the git hooks/post-receive script. Git pushed a commit to branch master in repository ffmpeg.
commit e4373dd09225d281a2d5896cc9024a72ba03381a Author: Lynne <[email protected]> AuthorDate: Tue Sep 22 01:17:40 2026 +0900 Commit: Lynne <[email protected]> CommitDate: Thu Sep 24 11:05:27 2026 +0900 vulkan: enable VK_KHR_maintenance11 Among other things, lifts the 4-byte alignment that transfer-only queue families require of buffer offsets in buffer-image copies. --- libavutil/hwcontext_vulkan.c | 13 +++++++++++++ libavutil/vulkan.c | 4 ++++ libavutil/vulkan.h | 3 +++ libavutil/vulkan_functions.h | 1 + libavutil/vulkan_loader.h | 3 +++ 5 files changed, 24 insertions(+) diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c index 736b44a05a..02f7ff6ce4 100644 --- a/libavutil/hwcontext_vulkan.c +++ b/libavutil/hwcontext_vulkan.c @@ -107,6 +107,9 @@ typedef struct VulkanDeviceFeatures { #ifdef VK_KHR_maintenance9 VkPhysicalDeviceMaintenance9FeaturesKHR maintenance_9; #endif +#ifdef VK_KHR_maintenance11 + VkPhysicalDeviceMaintenance11FeaturesKHR maintenance_11; +#endif #ifdef VK_KHR_unified_image_layouts VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR unified_layouts; #endif @@ -287,6 +290,10 @@ static void device_features_init(AVHWDeviceContext *ctx, VulkanDeviceFeatures *f FF_VK_STRUCT_EXT(s, &feats->device, &feats->maintenance_9, FF_VK_EXT_MAINTENANCE_9, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_9_FEATURES_KHR); #endif +#ifdef VK_KHR_maintenance11 + FF_VK_STRUCT_EXT(s, &feats->device, &feats->maintenance_11, FF_VK_EXT_MAINTENANCE_11, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_11_FEATURES_KHR); +#endif #ifdef VK_KHR_unified_image_layouts FF_VK_STRUCT_EXT(s, &feats->device, &feats->unified_layouts, FF_VK_EXT_UNIFIED_IMAGE_LAYOUTS, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFIED_IMAGE_LAYOUTS_FEATURES_KHR); @@ -440,6 +447,9 @@ static void device_features_copy_needed(VulkanDeviceFeatures *dst, VulkanDeviceF #ifdef VK_KHR_maintenance9 COPY_VAL(maintenance_9.maintenance9); #endif +#ifdef VK_KHR_maintenance11 + COPY_VAL(maintenance_11.maintenance11); +#endif #ifdef VK_KHR_unified_image_layouts COPY_VAL(unified_layouts.unifiedImageLayouts); COPY_VAL(unified_layouts.unifiedImageLayoutsVideo); @@ -773,6 +783,9 @@ static const VulkanOptExtension optional_device_exts[] = { #ifdef VK_KHR_maintenance9 { VK_KHR_MAINTENANCE_9_EXTENSION_NAME, FF_VK_EXT_MAINTENANCE_9 }, #endif +#ifdef VK_KHR_maintenance11 + { VK_KHR_MAINTENANCE_11_EXTENSION_NAME, FF_VK_EXT_MAINTENANCE_11 }, +#endif #ifdef VK_KHR_unified_image_layouts { VK_KHR_UNIFIED_IMAGE_LAYOUTS_EXTENSION_NAME, FF_VK_EXT_UNIFIED_IMAGE_LAYOUTS }, #endif diff --git a/libavutil/vulkan.c b/libavutil/vulkan.c index e9e914dab8..de7f836341 100644 --- a/libavutil/vulkan.c +++ b/libavutil/vulkan.c @@ -191,6 +191,10 @@ int ff_vk_load_props(FFVulkanContext *s) FF_VK_STRUCT_EXT(s, &s->feats, &s->unified_layout_feats, FF_VK_EXT_UNIFIED_IMAGE_LAYOUTS, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFIED_IMAGE_LAYOUTS_FEATURES_KHR); #endif +#ifdef VK_KHR_maintenance11 + FF_VK_STRUCT_EXT(s, &s->feats, &s->maintenance_11_feats, FF_VK_EXT_MAINTENANCE_11, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_11_FEATURES_KHR); +#endif if (!s->imageviews_pool) { s->imageviews_pool = av_refstruct_pool_alloc_ext(sizeof(FFVkImageViews), 0, diff --git a/libavutil/vulkan.h b/libavutil/vulkan.h index e92b8dffb9..7d2e89c09d 100644 --- a/libavutil/vulkan.h +++ b/libavutil/vulkan.h @@ -329,6 +329,9 @@ typedef struct FFVulkanContext { VkPhysicalDeviceVulkan12Features feats_12; #ifdef VK_KHR_unified_image_layouts VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR unified_layout_feats; +#endif +#ifdef VK_KHR_maintenance11 + VkPhysicalDeviceMaintenance11FeaturesKHR maintenance_11_feats; #endif VkPhysicalDeviceFeatures2 feats; diff --git a/libavutil/vulkan_functions.h b/libavutil/vulkan_functions.h index c7d91b445a..90512691f9 100644 --- a/libavutil/vulkan_functions.h +++ b/libavutil/vulkan_functions.h @@ -57,6 +57,7 @@ typedef uint64_t FFVulkanExtensions; #define FF_VK_EXT_MAXIMAL_RECONVERGENCE (1ULL << 24) /* VK_KHR_shader_maximal_reconvergence */ #define FF_VK_EXT_MAINTENANCE_9 (1ULL << 25) /* VK_KHR_maintenance9 */ #define FF_VK_EXT_UNIFIED_IMAGE_LAYOUTS (1ULL << 26) /* VK_KHR_unified_image_layouts */ +#define FF_VK_EXT_MAINTENANCE_11 (1ULL << 27) /* VK_KHR_maintenance11 */ /* 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 f1dbd7fee1..d4be1ffb9b 100644 --- a/libavutil/vulkan_loader.h +++ b/libavutil/vulkan_loader.h @@ -107,6 +107,9 @@ static inline uint64_t ff_vk_extensions_to_mask(const char * const *extensions, #endif #ifdef VK_KHR_internally_synchronized_queues { VK_KHR_INTERNALLY_SYNCHRONIZED_QUEUES_EXTENSION_NAME, FF_VK_EXT_INTERNAL_QUEUE_SYNC }, +#endif +#ifdef VK_KHR_maintenance11 + { VK_KHR_MAINTENANCE_11_EXTENSION_NAME, FF_VK_EXT_MAINTENANCE_11 }, #endif }; -- To stop receiving notification emails like this one, please contact [email protected]. _______________________________________________ ffmpeg-cvslog mailing list -- [email protected] To unsubscribe send an email to [email protected]
