#11659: Regression: cannot use frames with alpha channel on vulkan -------------------------------------+------------------------------------- Reporter: bermond | Type: defect Status: new | Priority: normal Component: avutil | Version: git- Keywords: vulkan | master alpha | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | -------------------------------------+------------------------------------- Vulkan cannot be used anymore with frames that have an alpha channel. It looks like there is a failure when allocating Vulkan frames, giving the message `No memory type found for flags 0x1`.
How to reproduce: {{{ $ ffmpeg -init_hw_device vulkan=gpu:0 -filter_hw_device gpu -f lavfi -i 'color=color=white:size=1280x720' -vf 'format=bgra,hwupload,hwdownload,format=bgra' -t 20 -f null - ffmpeg version N-120203-geb52251c0a Copyright (c) 2000-2025 the FFmpeg developers built with gcc 15.1.1 (GCC) 20250425 configuration: --prefix=/usr --disable-debug --disable-static --disable- stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-frei0r --enable-gmp --enable-gnutls --enable- gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libdav1d --enable-libdrm --enable-libdvdnav --enable-libdvdread --enable-libfreetype --enable-libfribidi --enable- libglslang --enable-libgsm --enable-libharfbuzz --enable-libiec61883 --enable-libjack --enable-libjxl --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libplacebo --enable-libpulse --enable-librav1e --enable-librsvg --enable-librubberband --enable- libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable- libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable- libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpl --enable- libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-nvdec --enable-nvenc --enable-opencl --enable-opengl --enable- shared --enable-vapoursynth --enable-version3 --enable-vulkan libavutil 60. 4.101 / 60. 4.101 libavcodec 62. 5.100 / 62. 5.100 libavformat 62. 1.101 / 62. 1.101 libavdevice 62. 0.100 / 62. 0.100 libavfilter 11. 1.100 / 11. 1.100 libswscale 9. 0.100 / 9. 0.100 libswresample 6. 0.100 / 6. 0.100 Input #0, lavfi, from 'color=color=white:size=1280x720': Duration: N/A, start: 0.000000, bitrate: N/A Stream #0:0: Video: wrapped_avframe, yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 25 tbn Stream mapping: Stream #0:0 -> #0:0 (wrapped_avframe (native) -> wrapped_avframe (native)) Press [q] to stop, [?] for help [Vulkan @ 0x562c35258e00] No memory type found for flags 0x1 [hwupload @ 0x7f33380046c0] Failed to allocate frame to upload to. [vf#0:0 @ 0x562c353fa5c0] Error while filtering: Cannot allocate memory [vf#0:0 @ 0x562c353fa5c0] Task finished with error code: -12 (Cannot allocate memory) [vf#0:0 @ 0x562c353fa5c0] Terminating thread with return code -12 (Cannot allocate memory) [vost#0:0/wrapped_avframe @ 0x562c353f9c80] [enc:wrapped_avframe @ 0x562c353fa0c0] Could not open encoder before EOF [vost#0:0/wrapped_avframe @ 0x562c353f9c80] Task finished with error code: -22 (Invalid argument) [vost#0:0/wrapped_avframe @ 0x562c353f9c80] Terminating thread with return code -22 (Invalid argument) [out#0/null @ 0x562c353f9900] Nothing was written into output file, because at least one of its streams received no packets. frame= 0 fps=0.0 q=0.0 Lsize= 0KiB time=N/A bitrate=N/A speed=N/A elapsed=0:00:00.00 Conversion failed! }}} This same command works nice with FFmpeg 7.1.1 and also with commit bddb9c232dbdfa2c1402c7c56f77e5e6c7fda60f (the last usable one before the soname version bumps), but fails in the current git master. So, it seems to be a regression. A git bisect shows the offending commit as being: a9b2c10eee9cf28ecbce2f1972564f4aa826a855. Notice that the offending commit does not compile, needing a fix from commit 3ac7d70291838d71a28cd31a5774bb69745d4216, which also fails to use frames with alpha channel on Vulkan. System information: - OS: Arch Linux - Vulkan Headers: 1.4.313.0 - Vulkan ICD Loader: 1.4.313.0 - Vulkan GPU Hardware: NVIDIA RTX 3060 - GPU driver: 575.64.03 (NVIDIA open source driver) -- Ticket URL: <https://trac.ffmpeg.org/ticket/11659> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
_______________________________________________ FFmpeg-trac mailing list FFmpeg-trac@avcodec.org https://ffmpeg.org/mailman/listinfo/ffmpeg-trac To unsubscribe, visit link above, or email ffmpeg-trac-requ...@ffmpeg.org with subject "unsubscribe".