[FFmpeg-devel] [PATCH] libavutil: deprecate the old Vulkan queue API, bump minor and add APIchanges
Lynne
dev at lynne.ee
Sat Aug 10 18:46:57 EEST 2024
---
doc/APIchanges | 9 +++++++++
libavutil/hwcontext_vulkan.c | 8 ++++++++
libavutil/hwcontext_vulkan.h | 12 ++++++++++++
libavutil/version.h | 3 ++-
4 files changed, 31 insertions(+), 1 deletion(-)
diff --git a/doc/APIchanges b/doc/APIchanges
index 046828ded1..173f317ea1 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -2,6 +2,15 @@ The last version increases of all libraries were on 2024-03-07
API changes, most recent first:
+2024-08-10 - xxxxxxxxx - lavu 59.34.100 - hwcontext_vulkan.h
+ Add qf and nb_qf to AVVulkanDeviceContext.
+ Deprecate queue_family_index, nb_graphics_queues,
+ queue_family_tx_index, nb_tx_queues.
+ queue_family_comp_index, nb_comp_queues.
+ queue_family_encode_index, nb_encode_queues.
+ queue_family_decode_index, and nb_decode_queues,
+ from AVVulkanDeviceContext.
+
2024-07-30 - xxxxxxxxx - lavu 59.32.100 - cpu.h
Deprecate AV_CPU_FLAG_RVF and AV_CPU_FLAG_RVD without replacement.
Deprecate AV_CPU_FLAG_RVB_ADDR, subsumed into AV_CPU_FLAG_RVB.
diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c
index 05fadd1b55..59d519727b 100644
--- a/libavutil/hwcontext_vulkan.c
+++ b/libavutil/hwcontext_vulkan.c
@@ -1228,6 +1228,8 @@ static int setup_queue_families(AVHWDeviceContext *ctx, VkDeviceCreateInfo *cd)
};
}
+#if FF_API_VULKAN_FIXED_QUEUES
+FF_DISABLE_DEPRECATION_WARNINGS
/* Setup deprecated fields */
hwctx->queue_family_index = -1;
hwctx->queue_family_comp_index = -1;
@@ -1252,6 +1254,8 @@ static int setup_queue_families(AVHWDeviceContext *ctx, VkDeviceCreateInfo *cd)
}
#undef SET_OLD_QF
+FF_ENABLE_DEPRECATION_WARNINGS
+#endif
return 0;
}
@@ -1611,6 +1615,8 @@ static int vulkan_device_init(AVHWDeviceContext *ctx)
}
}
+#if FF_API_VULKAN_FIXED_QUEUES
+FF_DISABLE_DEPRECATION_WARNINGS
graph_index = hwctx->nb_graphics_queues ? hwctx->queue_family_index : -1;
comp_index = hwctx->nb_comp_queues ? hwctx->queue_family_comp_index : -1;
tx_index = hwctx->nb_tx_queues ? hwctx->queue_family_tx_index : -1;
@@ -1678,6 +1684,8 @@ static int vulkan_device_init(AVHWDeviceContext *ctx)
ADD_QUEUE(hwctx->queue_family_encode_index, hwctx->nb_encode_queues, VK_QUEUE_VIDEO_ENCODE_BIT_KHR);
#undef ADD_QUEUE
}
+FF_ENABLE_DEPRECATION_WARNINGS
+#endif
for (int i = 0; i < hwctx->nb_qf; i++) {
if (!hwctx->qf[i].video_caps &&
diff --git a/libavutil/hwcontext_vulkan.h b/libavutil/hwcontext_vulkan.h
index e9e42015f7..7f56e96e6e 100644
--- a/libavutil/hwcontext_vulkan.h
+++ b/libavutil/hwcontext_vulkan.h
@@ -113,6 +113,7 @@ typedef struct AVVulkanDeviceContext {
const char * const *enabled_dev_extensions;
int nb_enabled_dev_extensions;
+#if FF_API_VULKAN_FIXED_QUEUES
/**
* Queue family index for graphics operations, and the number of queues
* enabled for it. If unavaiable, will be set to -1. Not required.
@@ -120,21 +121,27 @@ typedef struct AVVulkanDeviceContext {
* queue family, or pick the one with the least unrelated flags set.
* Queue indices here may overlap if a queue has to share capabilities.
*/
+ attribute_deprecated
int queue_family_index;
+ attribute_deprecated
int nb_graphics_queues;
/**
* Queue family index for transfer operations and the number of queues
* enabled. Required.
*/
+ attribute_deprecated
int queue_family_tx_index;
+ attribute_deprecated
int nb_tx_queues;
/**
* Queue family index for compute operations and the number of queues
* enabled. Required.
*/
+ attribute_deprecated
int queue_family_comp_index;
+ attribute_deprecated
int nb_comp_queues;
/**
@@ -142,7 +149,9 @@ typedef struct AVVulkanDeviceContext {
* If the device doesn't support such, queue_family_encode_index will be -1.
* Not required.
*/
+ attribute_deprecated
int queue_family_encode_index;
+ attribute_deprecated
int nb_encode_queues;
/**
@@ -150,8 +159,11 @@ typedef struct AVVulkanDeviceContext {
* If the device doesn't support such, queue_family_decode_index will be -1.
* Not required.
*/
+ attribute_deprecated
int queue_family_decode_index;
+ attribute_deprecated
int nb_decode_queues;
+#endif
/**
* Locks a queue, preventing other threads from submitting any command
diff --git a/libavutil/version.h b/libavutil/version.h
index c8db361ddb..84eb3a388a 100644
--- a/libavutil/version.h
+++ b/libavutil/version.h
@@ -79,7 +79,7 @@
*/
#define LIBAVUTIL_VERSION_MAJOR 59
-#define LIBAVUTIL_VERSION_MINOR 33
+#define LIBAVUTIL_VERSION_MINOR 34
#define LIBAVUTIL_VERSION_MICRO 100
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
@@ -114,6 +114,7 @@
#define FF_API_H274_FILM_GRAIN_VCS (LIBAVUTIL_VERSION_MAJOR < 60)
#define FF_API_MOD_UINTP2 (LIBAVUTIL_VERSION_MAJOR < 60)
#define FF_API_RISCV_FD_ZBA (LIBAVUTIL_VERSION_MAJOR < 60)
+#define FF_API_VULKAN_FIXED_QUEUES (LIBAVUTIL_VERSION_MAJOR < 60)
/**
* @}
--
2.45.2.753.g447d99e1c3b
More information about the ffmpeg-devel
mailing list