Opened 3 years ago
Closed 3 years ago
#10596 closed defect (fixed)
configure: vulkan detection not enforcing minimum version
| Reported by: | Tristan Matthews | Owned by: | |
|---|---|---|---|
| Priority: | normal | Component: | build system |
| Version: | git-master | Keywords: | vulkan |
| Cc: | Tristan Matthews | Blocked By: | |
| Blocking: | Reproduced by developer: | no | |
| Analyzed by developer: | no |
Description
On my system, I currently have:
pkg-config --modversion vulkan 1.3.239
which doesn't meet the minimum requirements in configure of 1.3.255 (i.e. my header version is 239):
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)"
Unsuprisingly, the build fails on:
In file included from ./libavutil/vulkan.h:30,
from libavfilter/vulkan_spirv.h:22,
from libavfilter/vulkan_glslang.c:24:
./libavutil/vulkan_functions.h:223:5: error: unknown type name ‘PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR’
223 | PFN_vk##name name;
| ^~~~~~
./libavutil/vulkan_functions.h:84:5: note: in expansion of macro ‘PFN_DEF’
84 | MACRO(1, 0, FF_VK_EXT_COOP_MATRIX, GetPhysicalDeviceCooperativeMatrixPropertiesKHR) \
| ^~~~~
./libavutil/vulkan_functions.h:227:5: note: in expansion of macro ‘FN_LIST’
227 | FN_LIST(PFN_DEF)
| ^~~~~~~
In file included from ./libavutil/vulkan.h:32:
./libavutil/vulkan_loader.h: In function ‘ff_vk_extensions_to_mask’:
./libavutil/vulkan_loader.h:49:11: error: ‘VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME’ undeclared (first use in this function); did you mean ‘VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME’?
49 | { VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME, FF_VK_EXT_COOP_MATRIX },
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME
./libavutil/vulkan_loader.h:49:11: note: each undeclared identifier is reported only once for each function it appears in
./libavutil/vulkan.h: At top level:
./libavutil/vulkan.h:239:5: error: unknown type name ‘VkPhysicalDeviceCooperativeMatrixPropertiesKHR’
239 | VkPhysicalDeviceCooperativeMatrixPropertiesKHR coop_matrix_props;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./libavutil/vulkan.h:245:5: error: unknown type name ‘VkCooperativeMatrixPropertiesKHR’
245 | VkCooperativeMatrixPropertiesKHR *coop_mat_props;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make: *** [ffbuild/common.mak:81: libavfilter/vulkan_glslang.o] Error 1
but this shouldn't have been attempted in the first place.
Moreover, passing --disable-vulkan doesn't avoid this issue either as it will still try to build the vulkan hwaccels + filters etc.
Note:
See TracTickets
for help on using tickets.



Thanks fixed by https://git.videolan.org/?p=ffmpeg.git;a=commit;h=fec6e84b18685abd2f8b3192bee560ff52c5220b