未验证 提交 2c636659 编写于 作者: L Lynne

hwcontext_vulkan: do not OR the user-specified usage with our default flags

Some users may need special formats that aren't available when the STORAGE
flag bit is set, which would result in allocations failing.
上级 98405422
......@@ -1703,7 +1703,8 @@ static int vulkan_frames_init(AVHWFramesContext *hwfc)
hwctx->tiling = hwctx->tiling ? hwctx->tiling : p->use_linear_images ?
VK_IMAGE_TILING_LINEAR : VK_IMAGE_TILING_OPTIMAL;
hwctx->usage |= DEFAULT_USAGE_FLAGS;
if (!hwctx->usage)
hwctx->usage = DEFAULT_USAGE_FLAGS;
err = create_exec_ctx(hwfc->device_ctx, &fp->conv_ctx,
dev_hwctx->queue_family_comp_index,
......
......@@ -112,8 +112,8 @@ typedef struct AVVulkanFramesContext {
*/
VkImageTiling tiling;
/**
* Defines extra usage of output frames. This is bitwise OR'd with the
* standard usage flags (SAMPLED, STORAGE, TRANSFER_SRC and TRANSFER_DST).
* Defines extra usage of output frames. If left as 0, the following bits
* are set: TRANSFER_SRC, TRANSFER_DST. SAMPLED and STORAGE.
*/
VkImageUsageFlagBits usage;
/**
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册