summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLynne <dev@lynne.ee>2021-11-12 23:54:36 +0100
committerLynne <dev@lynne.ee>2021-11-13 00:03:58 +0100
commitfa28c1b2f9d6fa9e3c0e89c27ad9a55add3a620f (patch)
tree0e9fba41c22e17eb25a4eedf75adcb38c86707e0
parent549d91ae3a13cff91caba75d2b795acc8f3e7513 (diff)
hwcontext_vulkan: properly migrate queue families with DRM import/export
-rw-r--r--libavutil/hwcontext_vulkan.c12
1 files changed, 1 insertions, 11 deletions
diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c
index f5c0c775e4..4ab8a3f6ad 100644
--- a/libavutil/hwcontext_vulkan.c
+++ b/libavutil/hwcontext_vulkan.c
@@ -1677,7 +1677,6 @@ static int alloc_bind_mem(AVHWFramesContext *hwfc, AVVkFrame *f,
enum PrepMode {
PREP_MODE_WRITE,
- PREP_MODE_RO_SHADER,
PREP_MODE_EXTERNAL_EXPORT,
PREP_MODE_EXTERNAL_IMPORT
};
@@ -1722,12 +1721,6 @@ static int prepare_frame(AVHWFramesContext *hwfc, VulkanExecCtx *ectx,
src_qf = VK_QUEUE_FAMILY_IGNORED;
dst_qf = VK_QUEUE_FAMILY_IGNORED;
break;
- case PREP_MODE_RO_SHADER:
- new_layout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
- new_access = VK_ACCESS_TRANSFER_READ_BIT;
- src_qf = VK_QUEUE_FAMILY_IGNORED;
- dst_qf = VK_QUEUE_FAMILY_IGNORED;
- break;
case PREP_MODE_EXTERNAL_IMPORT:
new_layout = VK_IMAGE_LAYOUT_GENERAL;
new_access = VK_ACCESS_MEMORY_READ_BIT | VK_ACCESS_MEMORY_WRITE_BIT;
@@ -2504,10 +2497,7 @@ static int vulkan_map_from_drm_frame_desc(AVHWFramesContext *hwfc, AVVkFrame **f
goto fail;
}
- /* NOTE: This is completely uneccesary and unneeded once we can import
- * semaphores from DRM. Otherwise we have to activate the semaphores.
- * We're reusing the exec context that's also used for uploads/downloads. */
- err = prepare_frame(hwfc, &fp->conv_ctx, f, PREP_MODE_RO_SHADER);
+ err = prepare_frame(hwfc, &fp->conv_ctx, f, PREP_MODE_EXTERNAL_IMPORT);
if (err)
goto fail;