This is an automated email from the git hooks/post-receive script. Git pushed a commit to branch master in repository ffmpeg.
commit cf0ce1b7e4840f69793b550c3062a17c85af1948 Author: Lynne <[email protected]> AuthorDate: Sat Jan 3 15:31:29 2026 +0100 Commit: Lynne <[email protected]> CommitDate: Mon Jan 12 17:28:41 2026 +0100 hwcontext_vulkan: enable the VK_EXT_shader_replicated_composites extension Its required to use certain features in SPIR-V that glslang uses. --- libavutil/hwcontext_vulkan.c | 16 ++++++++++++++++ libavutil/vulkan_functions.h | 1 + libavutil/vulkan_loader.h | 3 +++ 3 files changed, 20 insertions(+) diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c index 57311652c0..d911df5950 100644 --- a/libavutil/hwcontext_vulkan.c +++ b/libavutil/hwcontext_vulkan.c @@ -83,6 +83,10 @@ typedef struct VulkanDeviceFeatures { VkPhysicalDeviceHostImageCopyFeaturesEXT host_image_copy; VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR explicit_mem_layout; +#ifdef VK_EXT_shader_replicated_composites + VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT replicated_composites; +#endif + #ifdef VK_EXT_zero_initialize_device_memory VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT zero_initialize; #endif @@ -227,6 +231,11 @@ static void device_features_init(AVHWDeviceContext *ctx, VulkanDeviceFeatures *f FF_VK_STRUCT_EXT(s, &feats->device, &feats->host_image_copy, FF_VK_EXT_HOST_IMAGE_COPY, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES_EXT); +#ifdef VK_EXT_shader_replicated_composites + FF_VK_STRUCT_EXT(s, &feats->device, &feats->replicated_composites, FF_VK_EXT_REPLICATED_COMPOSITES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_REPLICATED_COMPOSITES_FEATURES_EXT); +#endif + #ifdef VK_EXT_zero_initialize_device_memory FF_VK_STRUCT_EXT(s, &feats->device, &feats->zero_initialize, FF_VK_EXT_ZERO_INITIALIZE, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_DEVICE_MEMORY_FEATURES_EXT); @@ -322,6 +331,10 @@ static void device_features_copy_needed(VulkanDeviceFeatures *dst, VulkanDeviceF COPY_VAL(subgroup_rotate.shaderSubgroupRotate); COPY_VAL(host_image_copy.hostImageCopy); +#ifdef VK_EXT_shader_replicated_composites + COPY_VAL(replicated_composites.shaderReplicatedComposites); +#endif + #ifdef VK_EXT_zero_initialize_device_memory COPY_VAL(zero_initialize.zeroInitializeDeviceMemory); #endif @@ -664,6 +677,9 @@ static const VulkanOptExtension optional_device_exts[] = { { VK_KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME, FF_VK_EXT_SUBGROUP_ROTATE }, { VK_EXT_HOST_IMAGE_COPY_EXTENSION_NAME, FF_VK_EXT_HOST_IMAGE_COPY }, { VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME, FF_VK_EXT_EXPLICIT_MEM_LAYOUT }, +#ifdef VK_EXT_shader_replicated_composites + { VK_EXT_SHADER_REPLICATED_COMPOSITES_EXTENSION_NAME, FF_VK_EXT_REPLICATED_COMPOSITES }, +#endif #ifdef VK_EXT_zero_initialize_device_memory { VK_EXT_ZERO_INITIALIZE_DEVICE_MEMORY_EXTENSION_NAME, FF_VK_EXT_ZERO_INITIALIZE }, #endif diff --git a/libavutil/vulkan_functions.h b/libavutil/vulkan_functions.h index 7061052566..1b61a66d9a 100644 --- a/libavutil/vulkan_functions.h +++ b/libavutil/vulkan_functions.h @@ -52,6 +52,7 @@ typedef uint64_t FFVulkanExtensions; #define FF_VK_EXT_HOST_IMAGE_COPY (1ULL << 18) /* VK_EXT_host_image_copy */ #define FF_VK_EXT_ZERO_INITIALIZE (1ULL << 19) /* VK_EXT_zero_initialize_device_memory */ #define FF_VK_EXT_EXPLICIT_MEM_LAYOUT (1ULL << 20) /* VK_KHR_workgroup_memory_explicit_layout */ +#define FF_VK_EXT_REPLICATED_COMPOSITES (1ULL << 21) /* VK_EXT_shader_replicated_composites */ /* 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 a66115ac01..2214d6ff23 100644 --- a/libavutil/vulkan_loader.h +++ b/libavutil/vulkan_loader.h @@ -61,6 +61,9 @@ static inline uint64_t ff_vk_extensions_to_mask(const char * const *extensions, { VK_KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME, FF_VK_EXT_SUBGROUP_ROTATE }, { VK_EXT_HOST_IMAGE_COPY_EXTENSION_NAME, FF_VK_EXT_HOST_IMAGE_COPY }, { VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME, FF_VK_EXT_EXPLICIT_MEM_LAYOUT }, +#ifdef VK_EXT_shader_replicated_composites + { VK_EXT_SHADER_REPLICATED_COMPOSITES_EXTENSION_NAME, FF_VK_EXT_REPLICATED_COMPOSITES }, +#endif #ifdef VK_EXT_zero_initialize_device_memory { VK_EXT_ZERO_INITIALIZE_DEVICE_MEMORY_EXTENSION_NAME, FF_VK_EXT_ZERO_INITIALIZE }, #endif _______________________________________________ ffmpeg-cvslog mailing list -- [email protected] To unsubscribe send an email to [email protected]
