diff options
Diffstat (limited to 'recipes-graphics/vulkan/vulkan-wsi-layer_git.bb')
-rw-r--r-- | recipes-graphics/vulkan/vulkan-wsi-layer_git.bb | 54 |
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 @@ | |||
1 | DESCRIPTION = "Vulkan Window System Integration Layer" | ||
2 | LICENSE = "MIT" | ||
3 | LIC_FILES_CHKSUM = "file://LICENSE;md5=c2e771b72d60a13d2de384cb49055d00" | ||
4 | DEPENDS = "libdrm vulkan-loader" | ||
5 | |||
6 | PV = "0.0+git${SRCPV}" | ||
7 | |||
8 | SRC_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" | ||
12 | SRCREV = "cb1a50cf7e640ad7306e673131ded98c0f133628" | ||
13 | |||
14 | inherit cmake pkgconfig | ||
15 | |||
16 | PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', 'headless', d)}" | ||
17 | |||
18 | PACKAGECONFIG[headless] = " \ | ||
19 | -DBUILD_WSI_HEADLESS=1, \ | ||
20 | -DBUILD_WSI_HEADLESS=0, \ | ||
21 | ,,, \ | ||
22 | wayland" | ||
23 | PACKAGECONFIG[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 | |||
29 | EXTRA_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. | ||
44 | KERNEL_HEADER_DIR = "KERNEL_HEADER_DIR_NOT_PROVIDED_BY_YOCTO" | ||
45 | |||
46 | do_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 | ||
53 | SOLIBS = ".so" | ||
54 | FILES_SOLIBSDEV = "" | ||