diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c index 11d9e987b0..10521ce685 100644 --- a/libavutil/hwcontext_vulkan.c +++ b/libavutil/hwcontext_vulkan.c @@ -313,6 +313,7 @@ static const struct FFVkFormatEntry { { VK_FORMAT_R16_UNORM, AV_PIX_FMT_GRAY12, VK_IMAGE_ASPECT_COLOR_BIT, 1, 1, 1, { VK_FORMAT_R16_UNORM } }, { VK_FORMAT_R16_UNORM, AV_PIX_FMT_GRAY14, VK_IMAGE_ASPECT_COLOR_BIT, 1, 1, 1, { VK_FORMAT_R16_UNORM } }, { VK_FORMAT_R16_UNORM, AV_PIX_FMT_GRAY16, VK_IMAGE_ASPECT_COLOR_BIT, 1, 1, 1, { VK_FORMAT_R16_UNORM } }, + { VK_FORMAT_R32_UINT, AV_PIX_FMT_GRAY32, VK_IMAGE_ASPECT_COLOR_BIT, 1, 1, 1, { VK_FORMAT_R32_UINT } }, { VK_FORMAT_R32_SFLOAT, AV_PIX_FMT_GRAYF32, VK_IMAGE_ASPECT_COLOR_BIT, 1, 1, 1, { VK_FORMAT_R32_SFLOAT } }, /* RGB formats */ diff --git a/libavutil/vulkan.c b/libavutil/vulkan.c index 91415957fd..1d18bf07c1 100644 --- a/libavutil/vulkan.c +++ b/libavutil/vulkan.c @@ -1430,6 +1430,7 @@ const char *ff_vk_shader_rep_fmt(enum AVPixelFormat pix_fmt, }; return rep_tab[rep_fmt]; }; + case AV_PIX_FMT_GRAY32: case AV_PIX_FMT_GRAYF32: case AV_PIX_FMT_GBRPF32: case AV_PIX_FMT_GBRAPF32: { @@ -1539,10 +1540,10 @@ static VkFormat map_fmt_to_rep(VkFormat fmt, enum FFVkShaderRepFormat rep_fmt) { REPS_FMT(VK_FORMAT_R16G16B16) }, { REPS_FMT(VK_FORMAT_R16G16B16A16) }, { + VK_FORMAT_R32_UINT, VK_FORMAT_R32_SFLOAT, - VK_FORMAT_R32_SFLOAT, - VK_FORMAT_UNDEFINED, - VK_FORMAT_UNDEFINED, + VK_FORMAT_R32_SINT, + VK_FORMAT_R32_UINT, }, { VK_FORMAT_R32G32B32_SFLOAT,