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 = "" | ||
