[FFmpeg-cvslog] hwcontext_vulkan: guard all uses of new spec defines and fix stray bracket
Lynne
git at videolan.org
Fri Oct 4 11:41:42 EEST 2024
ffmpeg | branch: master | Lynne <dev at lynne.ee> | Fri Oct 4 10:37:54 2024 +0200| [ac092c6707d8fc9adee1f20c45ff384280fafe3a] | committer: Lynne
hwcontext_vulkan: guard all uses of new spec defines and fix stray bracket
This fixes compilation with less recent Vulkan headers.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ac092c6707d8fc9adee1f20c45ff384280fafe3a
---
libavutil/hwcontext_vulkan.c | 5 ++++-
libavutil/vulkan_loader.h | 2 ++
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c
index af187d6840..278848fc1b 100644
--- a/libavutil/hwcontext_vulkan.c
+++ b/libavutil/hwcontext_vulkan.c
@@ -281,7 +281,10 @@ static void device_features_copy_needed(VulkanDeviceFeatures *dst, VulkanDeviceF
COPY_VAL(atomic_float.shaderBufferFloat32Atomics);
COPY_VAL(atomic_float.shaderBufferFloat32AtomicAdd);
+
+#ifdef VK_KHR_shader_relaxed_extended_instruction
COPY_VAL(relaxed_extended_instruction.shaderRelaxedExtendedInstruction);
+#endif
COPY_VAL(optical_flow.opticalFlow);
#undef COPY_VAL
@@ -774,8 +777,8 @@ static int check_extensions(AVHWDeviceContext *ctx, int dev, AVDictionary *opts,
err = AVERROR(EINVAL);
goto fail;
}
-#endif
}
+#endif
if (user_exts_str) {
char *save, *token = av_strtok(user_exts_str, "+", &save);
diff --git a/libavutil/vulkan_loader.h b/libavutil/vulkan_loader.h
index 12e9884b8c..3253863a62 100644
--- a/libavutil/vulkan_loader.h
+++ b/libavutil/vulkan_loader.h
@@ -44,7 +44,9 @@ static inline uint64_t ff_vk_extensions_to_mask(const char * const *extensions,
{ VK_EXT_DEBUG_UTILS_EXTENSION_NAME, FF_VK_EXT_DEBUG_UTILS },
/* Device extensions */
+#ifdef VK_KHR_shader_relaxed_extended_instruction
{ VK_KHR_SHADER_RELAXED_EXTENDED_INSTRUCTION_EXTENSION_NAME, FF_VK_EXT_RELAXED_EXTENDED_INSTR },
+#endif
{ VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME, FF_VK_EXT_EXTERNAL_DMABUF_MEMORY },
{ VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME, FF_VK_EXT_DRM_MODIFIER_FLAGS },
{ VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME, FF_VK_EXT_EXTERNAL_FD_MEMORY },
More information about the ffmpeg-cvslog
mailing list