[FFmpeg-devel] [PATCH] configure: disable vulkan if min version insufficient
Timo Rothenpieler
timo at rothenpieler.org
Fri Sep 29 22:26:49 EEST 2023
On 29.09.2023 20:10, Tristan Matthews wrote:
> 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.
My shell disagrees:
$ function warn() { echo $1; }
$ true || false || warn "Disabling vulkan" && echo DISABLED
DISABLED
$ false || true || warn "Disabling vulkan" && echo DISABLED
DISABLED
$ false || false || warn "Disabling vulkan" && echo DISABLED
Disabling vulkan
DISABLED
$ true || true || warn "Disabling vulkan" && echo DISABLED
DISABLED
No matter the results of the checks, this will always disable Vulkan,
since the chain before it will always have a positive outcome, so &&
continues.
More information about the ffmpeg-devel
mailing list