History

vulkan_decode: add STORAGE flag to output images

In filtering, and SDR encoding, we use storage images. This fixes using Vulkan filters on Intel. Tested not to break anything on the three major vendors.

Lynne committed 1 year ago

Commit ec3f3451 parent ca6392e1 file · +2 −3Browse files

Unified · Split

libavcodec/vulkan_decode.c+2−3
@@ -1070,7 +1070,8 @@ int ff_vk_frame_params(AVCodecContext *avctx, AVBufferRef *hw_frames_ctx) · 1069 unmodified lines
1070 1070
1071 hwfc->format[0] = vkfmt;1071 hwfc->format[0] = vkfmt;
1072 hwfc->tiling = VK_IMAGE_TILING_OPTIMAL;1072 hwfc->tiling = VK_IMAGE_TILING_OPTIMAL;
1073 hwfc->usage = VK_IMAGE_USAGE_TRANSFER_SRC_BIT |1073 hwfc->usage = VK_IMAGE_USAGE_TRANSFER_SRC_BIT |
1074 VK_IMAGE_USAGE_STORAGE_BIT |
1074 VK_IMAGE_USAGE_SAMPLED_BIT;1075 VK_IMAGE_USAGE_SAMPLED_BIT;
1075 1076
1076 if (prof) {1077 if (prof) {
@@ -1084,8 +1085,6 @@ int ff_vk_frame_params(AVCodecContext *avctx, AVBufferRef *hw_frames_ctx) · 7 unmodified lines
1084 if (ctx->s.extensions & (FF_VK_EXT_VIDEO_ENCODE_QUEUE |1085 if (ctx->s.extensions & (FF_VK_EXT_VIDEO_ENCODE_QUEUE |
1085 FF_VK_EXT_VIDEO_MAINTENANCE_1))1086 FF_VK_EXT_VIDEO_MAINTENANCE_1))
1086 hwfc->usage |= VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR;1087 hwfc->usage |= VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR;
1087 } else if (DECODER_IS_SDR(avctx->codec_id)) {
1088 hwfc->usage |= VK_IMAGE_USAGE_STORAGE_BIT;
1089 }1088 }
1090 1089
1091 return err;1090 return err;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t