1SUMMARY = "Vulkan Validation layers"
2DESCRIPTION = "Khronos official Vulkan validation layers to assist developers \
3in verifying that their applications correctly use the Vulkan API"
4HOMEPAGE = "https://www.khronos.org/vulkan/"
5BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-ValidationLayers"
6SECTION = "libs"
7
8LICENSE = "Apache-2.0 & MIT"
9LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cd3c0bc366cd9b6a906e22f0bcb5910f"
10
11SRC_URI = "git://github.com/KhronosGroup/Vulkan-ValidationLayers.git;branch=vulkan-sdk-1.3.283;protocol=https"
12SRCREV = "d5bed3e26b3d487e8d21f0cc39039351eac921a7"
13
14S = "${WORKDIR}/git"
15
16REQUIRED_DISTRO_FEATURES = "vulkan"
17
18DEPENDS = "vulkan-headers vulkan-loader spirv-headers spirv-tools glslang vulkan-utility-libraries"
19
20# BUILD_TESTS            - Not required for OE builds
21# USE_ROBIN_HOOD_HASHING - Provides substantial performance improvements on all platforms.
22#                          Yocto project doesn't contain a recipe for package so disabled it.
23EXTRA_OECMAKE = "\
24    -DBUILD_TESTS=OFF \
25    -DUSE_ROBIN_HOOD_HASHING=OFF \
26    -DGLSLANG_INSTALL_DIR=${STAGING_LIBDIR} \
27    -DVULKAN_HEADERS_INSTALL_DIR=${STAGING_EXECPREFIXDIR} \
28    -DSPIRV_HEADERS_INSTALL_DIR=${STAGING_EXECPREFIXDIR} \
29    "
30
31PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr"
32PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland"
33
34PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'x11 wayland', d)}"
35
36inherit cmake features_check pkgconfig
37
38FILES:${PN} += "${datadir}/vulkan"
39
40SOLIBS = ".so"
41FILES_SOLIBSDEV = ""
42
43# These recipes need to be updated in lockstep with each other:
44# glslang, vulkan-headers, vulkan-loader, vulkan-tools,
45# vulkan-validation-layers, spirv-headers, spirv-tools,
46# vulkan-utility-libraries, vulkan-volk.
47# The tags versions should always be sdk-x.y.z, as this is what
48# upstream considers a release.
49UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
50