[FFmpeg-devel] [PATCH] configure: disable vulkan if min version insufficient

Tristan Matthews tmatth at videolan.org
Fri Sep 29 21:10:17 EEST 2023


On Fri, Sep 29, 2023 at 1:37 PM Timo Rothenpieler <timo at rothenpieler.org> wrote:
>
> On 29.09.2023 15:52, Tristan Matthews wrote:
> > Fixes: https://trac.ffmpeg.org/ticket/10596
> > ---
> >   configure | 3 ++-
> >   1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/configure b/configure
> > index 20db1801ed..50ba6f772f 100755
> > --- a/configure
> > +++ b/configure
> > @@ -7154,7 +7154,8 @@ enabled crystalhd && check_lib crystalhd "stdint.h libcrystalhd/libcrystalhd_if.
> >
> >   if enabled vulkan; then
> >       check_pkg_config_header_only vulkan "vulkan >= 1.3.255" "vulkan/vulkan.h" "defined VK_VERSION_1_3" ||
> > -        check_cpp_condition vulkan "vulkan/vulkan.h" "defined(VK_VERSION_1_4) || (defined(VK_VERSION_1_3) && VK_HEADER_VERSION >= 255)"
> > +        check_cpp_condition vulkan "vulkan/vulkan.h" "defined(VK_VERSION_1_4) || (defined(VK_VERSION_1_3) && VK_HEADER_VERSION >= 255)" ||
> > +        warn "Disabling vulkan" && disable vulkan
> >   fi
>
> Doesn't that just always disable vulkan if any of the previous checks
> succeed? The logic looks weird to me.

No, it will only disable vulkan if all the previous checks fail as
this conditional shortcircuits (so to get to here it would have to be
false || false || false || false || false || warn "Disable vulkan" &&
disable vulkan). If I hack the version number to match mine (changing
it to 1.3.239), vulkan won't be disabled (that's why I added the
warning message) and you'll hit the build breakage I and others are
hitting currently.

>
> Also, shouldn't all of those check_* calls disable vulkan already?
> That's what the first argument is for.

They don't, so my first thought was that since this is the only place
where check_pkg_config_header_only is called, it seemed likely that
there was a bug in that function. However, I couldn't spot anything
obviously broken in it and it is returning the correct value (hence
this patch behaving as expected).

Best,
Tristan

> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-devel mailing list