aboutsummaryrefslogtreecommitdiffstats
path: root/libavutil/hwcontext_vulkan.c
diff options
context:
space:
mode:
authorLynne <dev@lynne.ee>2025-05-12 19:14:30 +0200
committerLynne <dev@lynne.ee>2025-05-20 19:53:02 +0900
commiteabb62813e74fd71781159ac7dc38042a8ef3352 (patch)
tree25ab13152ce47ea745012173b7e72b204803a05c /libavutil/hwcontext_vulkan.c
parent7c3c5c8052700c6b7a95ad50c865090800918c59 (diff)
downloadffmpeg-eabb62813e74fd71781159ac7dc38042a8ef3352.tar.gz
hwcontext_vulkan: only try exporting DMABUF memory on !WIN32 and only for DMABUF tiling
Diffstat (limited to 'libavutil/hwcontext_vulkan.c')
-rw-r--r--libavutil/hwcontext_vulkan.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c
index 9f9df91e5d..4f205137eb 100644
--- a/libavutil/hwcontext_vulkan.c
+++ b/libavutil/hwcontext_vulkan.c
@@ -2643,11 +2643,12 @@ static AVBufferRef *vulkan_pool_alloc(void *opaque, size_t size)
if (p->vkctx.extensions & FF_VK_EXT_EXTERNAL_FD_MEMORY)
try_export_flags(hwfc, &eiinfo.handleTypes, &e,
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT);
-#endif
- if (p->vkctx.extensions & FF_VK_EXT_EXTERNAL_DMABUF_MEMORY)
+ if (p->vkctx.extensions & FF_VK_EXT_EXTERNAL_DMABUF_MEMORY &&
+ hwctx->tiling == VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT)
try_export_flags(hwfc, &eiinfo.handleTypes, &e,
VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT);
+#endif
for (int i = 0; i < av_pix_fmt_count_planes(hwfc->sw_format); i++) {
eminfo[i].sType = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO;