summaryrefslogtreecommitdiffstats
path: root/recipes-graphics/vulkan/vulkan-wsi-layer_git.bb
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-graphics/vulkan/vulkan-wsi-layer_git.bb')
-rw-r--r--recipes-graphics/vulkan/vulkan-wsi-layer_git.bb54
1 files changed, 54 insertions, 0 deletions
diff --git a/recipes-graphics/vulkan/vulkan-wsi-layer_git.bb b/recipes-graphics/vulkan/vulkan-wsi-layer_git.bb
new file mode 100644
index 000000000..efa6accb3
--- /dev/null
+++ b/recipes-graphics/vulkan/vulkan-wsi-layer_git.bb
@@ -0,0 +1,54 @@
1DESCRIPTION = "Vulkan Window System Integration Layer"
2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://LICENSE;md5=c2e771b72d60a13d2de384cb49055d00"
4DEPENDS = "libdrm vulkan-loader"
5
6PV = "0.0+git${SRCPV}"
7
8SRC_URI = "git://gitlab.freedesktop.org/mesa/vulkan-wsi-layer.git;protocol=https;branch=main \
9 file://0001-MGS-6801-ccc-vkmark-on-wayland.patch \
10 file://0002-MGS-6823-nxp-Add-support-of-VK_COMPOSITE_ALPHA_OPAQU.patch \
11 file://0003-Update-minimum-version-of-CMake.patch"
12SRCREV = "cb1a50cf7e640ad7306e673131ded98c0f133628"
13
14inherit cmake pkgconfig
15
16PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', 'headless', d)}"
17
18PACKAGECONFIG[headless] = " \
19 -DBUILD_WSI_HEADLESS=1, \
20 -DBUILD_WSI_HEADLESS=0, \
21 ,,, \
22 wayland"
23PACKAGECONFIG[wayland] = " \
24 -DBUILD_WSI_WAYLAND=1 -DENABLE_WAYLAND_FIFO_PRESENTATION_THREAD=1 -DSELECT_EXTERNAL_ALLOCATOR=dma_buf_heaps, \
25 -DBUILD_WSI_WAYLAND=0, \
26 wayland wayland-native wayland-protocols,,, \
27 headless"
28
29EXTRA_OECMAKE = " \
30 -DBUILD_WSI_DISPLAY=0 \
31 -DBUILD_WSI_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN=1 \
32 -DCMAKE_BUILD_TYPE=Release \
33 -DCMAKE_EXPORT_COMPILE_COMMANDS=1 \
34 -DENABLE_INSTRUMENTATION=1 \
35 -DKERNEL_HEADER_DIR=${KERNEL_HEADER_DIR} \
36 -DVULKAN_WSI_LAYER_EXPERIMENTAL=0 "
37
38# The KERNEL_HEADER_DIR setting is required by the CMake apparently
39# in order to find the DRM headers. However, the Yocto build provides
40# the DRM headers via a separate recipe libdrm in order to avoid the
41# kernel dependency. The CMake fails if the variable is not defined,
42# so set it to an invalid value in case the build ever actually needs
43# the kernel headers for something else.
44KERNEL_HEADER_DIR = "KERNEL_HEADER_DIR_NOT_PROVIDED_BY_YOCTO"
45
46do_install() {
47 install -d ${D}${sysconfdir}/vulkan/implicit_layer.d
48 install -m 0755 ${B}/libVkLayer_window_system_integration.so ${D}${sysconfdir}/vulkan/implicit_layer.d/
49 install -m 0644 ${B}/VkLayer_window_system_integration.json ${D}${sysconfdir}/vulkan/implicit_layer.d
50}
51
52# Adjust packaging variables for unversioned library
53SOLIBS = ".so"
54FILES_SOLIBSDEV = ""