[FFmpeg-cvslog] vulkan: maintain compatibility with old headers

Lynne git at videolan.org
Tue Jun 17 07:26:54 EEST 2025


ffmpeg | branch: master | Lynne <dev at lynne.ee> | Tue Jun 17 13:18:23 2025 +0900| [e5bb448543a60591b10a7070ec17d4799f621c9d] | committer: Lynne

vulkan: maintain compatibility with old headers

Previous patch to fix these issues was incomplete.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e5bb448543a60591b10a7070ec17d4799f621c9d
---

 libavutil/hwcontext_vulkan.c | 26 +++++++++++++-------------
 libavutil/vulkan.c           |  2 +-
 2 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c
index 64c17280b7..edff89af26 100644
--- a/libavutil/hwcontext_vulkan.c
+++ b/libavutil/hwcontext_vulkan.c
@@ -4170,7 +4170,7 @@ static int vulkan_transfer_host(AVHWFramesContext *hwfc, AVFrame *hwf,
     const int nb_images = ff_vk_count_images(hwf_vk);
 
     VkSemaphoreWaitInfo sem_wait;
-    VkHostImageLayoutTransitionInfo layout_ch_info[AV_NUM_DATA_POINTERS];
+    VkHostImageLayoutTransitionInfoEXT layout_ch_info[AV_NUM_DATA_POINTERS];
     int nb_layout_ch = 0;
 
     hwfc_vk->lock_frame(hwfc, hwf_vk);
@@ -4186,8 +4186,8 @@ static int vulkan_transfer_host(AVHWFramesContext *hwfc, AVFrame *hwf,
         if (compat)
             continue;
 
-        layout_ch_info[nb_layout_ch] = (VkHostImageLayoutTransitionInfo) {
-            .sType = VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO,
+        layout_ch_info[nb_layout_ch] = (VkHostImageLayoutTransitionInfoEXT) {
+            .sType = VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO_EXT,
             .image = hwf_vk->img[i],
             .oldLayout = hwf_vk->layout[i],
             .newLayout = VK_IMAGE_LAYOUT_GENERAL,
@@ -4216,15 +4216,15 @@ static int vulkan_transfer_host(AVHWFramesContext *hwfc, AVFrame *hwf,
                                      nb_layout_ch, layout_ch_info);
 
     if (upload) {
-        VkMemoryToImageCopy region_info = {
-            .sType = VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY,
+        VkMemoryToImageCopyEXT region_info = {
+            .sType = VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY_EXT,
             .imageSubresource = {
                 .layerCount = 1,
             },
         };
-        VkCopyMemoryToImageInfo copy_info = {
-            .sType = VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO,
-            .flags = VK_HOST_IMAGE_COPY_MEMCPY,
+        VkCopyMemoryToImageInfoEXT copy_info = {
+            .sType = VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO_EXT,
+            .flags = VK_HOST_IMAGE_COPY_MEMCPY_EXT,
             .regionCount = 1,
             .pRegions = &region_info,
         };
@@ -4242,15 +4242,15 @@ static int vulkan_transfer_host(AVHWFramesContext *hwfc, AVFrame *hwf,
             vk->CopyMemoryToImageEXT(hwctx->act_dev, &copy_info);
         }
     } else {
-        VkImageToMemoryCopy region_info = {
-            .sType = VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY,
+        VkImageToMemoryCopyEXT region_info = {
+            .sType = VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY_EXT,
             .imageSubresource = {
                 .layerCount = 1,
             },
         };
-        VkCopyImageToMemoryInfo copy_info = {
-            .sType = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO,
-            .flags = VK_HOST_IMAGE_COPY_MEMCPY,
+        VkCopyImageToMemoryInfoEXT copy_info = {
+            .sType = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO_EXT,
+            .flags = VK_HOST_IMAGE_COPY_MEMCPY_EXT,
             .regionCount = 1,
             .pRegions = &region_info,
         };
diff --git a/libavutil/vulkan.c b/libavutil/vulkan.c
index d0504064ed..f36f2bb7cf 100644
--- a/libavutil/vulkan.c
+++ b/libavutil/vulkan.c
@@ -165,7 +165,7 @@ int ff_vk_load_props(FFVulkanContext *s)
     FF_VK_STRUCT_EXT(s, &s->props, &s->optical_flow_props, FF_VK_EXT_OPTICAL_FLOW,
                      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV);
     FF_VK_STRUCT_EXT(s, &s->props, &s->host_image_props, FF_VK_EXT_HOST_IMAGE_COPY,
-                     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES);
+                     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES_EXT);
 
     s->feats = (VkPhysicalDeviceFeatures2) {
         .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,



More information about the ffmpeg-cvslog mailing list