Initial commit

This commit is contained in:
Your Name
2026-04-23 17:07:55 +08:00
commit b7e39e063b
16725 changed files with 1625565 additions and 0 deletions
@@ -0,0 +1,27 @@
SUMMARY = "Vulkan Header files and API registry"
DESCRIPTION = "Vulkan is a 3D graphics and compute API providing cross-platform access \
to modern GPUs with low overhead and targeting realtime graphics applications such as \
games and interactive media. This package contains the development headers \
for packages wanting to make use of Vulkan."
HOMEPAGE = "https://www.khronos.org/vulkan/"
BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Headers"
SECTION = "libs"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
SRC_URI = "git://github.com/KhronosGroup/Vulkan-Headers.git;branch=main;protocol=https"
SRCREV = "9e61870ecbd32514113b467e0a0c46f60ed222c7"
S = "${WORKDIR}/git"
inherit cmake
FILES:${PN} += "${datadir}/vulkan"
RDEPENDS:${PN} += "python3-core"
# These recipes need to be updated in lockstep with each other:
# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools
# The tags versions should always be sdk-x.y.z, as this is what
# upstream considers a release.
UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
@@ -0,0 +1,42 @@
SUMMARY = "3D graphics and compute API common loader"
DESCRIPTION = "Vulkan is a new generation graphics and compute API \
that provides efficient access to modern GPUs. These packages \
provide only the common vendor-agnostic library loader, headers and \
the vulkaninfo utility."
HOMEPAGE = "https://www.khronos.org/vulkan/"
BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Loader"
SECTION = "libs"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7dbefed23242760aa3475ee42801c5ac"
SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git;branch=sdk-1.3.250;protocol=https"
SRCREV = "f372068d09fc13bcf54b8c81274f37aa5f46aea3"
S = "${WORKDIR}/git"
REQUIRED_DISTRO_FEATURES = "vulkan"
inherit cmake features_check pkgconfig
DEPENDS += "vulkan-headers"
EXTRA_OECMAKE = "\
-DBUILD_TESTS=OFF \
-DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 \
-DASSEMBLER_WORKS=FALSE \
-DVulkanHeaders_INCLUDE_DIR=${STAGING_INCDIR} \
-DVulkanRegistry_DIR=${RECIPE_SYSROOT}/${datadir} \
"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr"
PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland"
RRECOMMENDS:${PN} = "mesa-vulkan-drivers"
# These recipes need to be updated in lockstep with each other:
# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools
# The tags versions should always be sdk-x.y.z, as this is what
# upstream considers a release.
UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
@@ -0,0 +1,59 @@
From 93987b1ce7d6f91387202495aac61026070597df Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 15 Jan 2023 21:37:52 -0800
Subject: [PATCH] Deprecate u8string_view
Use basic_string_view instead
Upstream-Status: Backport [https://github.com/fmtlib/fmt/commit/dea7fde8b7d649923dd41b0766bdf076033c62a2]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
include/spdlog/fmt/bundled/core.h | 3 ++-
include/spdlog/fmt/bundled/format.h | 15 ++-------------
2 files changed, 4 insertions(+), 14 deletions(-)
diff --git a/include/spdlog/fmt/bundled/core.h b/include/spdlog/fmt/bundled/core.h
index 50b79351..e8b029ef 100644
--- a/include/spdlog/fmt/bundled/core.h
+++ b/include/spdlog/fmt/bundled/core.h
@@ -1484,7 +1484,8 @@ FMT_API void vprint(wstring_view format_str, wformat_args args);
/**
\rst
- Prints formatted data to ``stdout``.
+ Formats ``args`` according to specifications in ``format_str`` and writes the
+ output to ``stdout``.
**Example**::
diff --git a/include/spdlog/fmt/bundled/format.h b/include/spdlog/fmt/bundled/format.h
index 1bb24a52..39426361 100644
--- a/include/spdlog/fmt/bundled/format.h
+++ b/include/spdlog/fmt/bundled/format.h
@@ -407,21 +407,10 @@ void basic_buffer<T>::append(const U *begin, const U *end) {
enum char8_t: unsigned char {};
#endif
-// A UTF-8 string view.
-class u8string_view : public basic_string_view<char8_t> {
- public:
- typedef char8_t char_type;
-
- u8string_view(const char *s):
- basic_string_view<char8_t>(reinterpret_cast<const char8_t*>(s)) {}
- u8string_view(const char *s, size_t count) FMT_NOEXCEPT:
- basic_string_view<char8_t>(reinterpret_cast<const char8_t*>(s), count) {}
-};
-
#if FMT_USE_USER_DEFINED_LITERALS
inline namespace literals {
-inline u8string_view operator"" _u(const char *s, std::size_t n) {
- return {s, n};
+inline basic_string_view<char8_t> operator"" _u(const char* s, std::size_t n) {
+ return {reinterpret_cast<const char8_t*>(s), n};
}
}
#endif
--
2.39.0
@@ -0,0 +1,37 @@
From ce7a593e74c8e0c2ece15c73e7614d4f13a19a53 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 30 Dec 2022 13:04:08 -0800
Subject: [PATCH] Do not use LFS64 functions on linux/musl
On musl, off_t is 64bit always ( even on 32bit platforms ), therefore using
LFS64 funcitons is not needed on such platforms. Moreover, musl has stopped
providing aliases for these functions [1] which means it wont compile on
newer musl systems. Therefore only use it on 32bit glibc/linux platforms
and exclude musl like cygwin or OSX
[1] https://git.musl-libc.org/cgit/musl/commit/?id=246f1c811448f37a44b41cd8df8d0ef9736d95f4
Upstream-Status: Submitted [https://github.com/gabime/spdlog/pull/2589]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
include/spdlog/details/os.h | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/include/spdlog/details/os.h b/include/spdlog/details/os.h
index 8e8476f0..be0a67b8 100644
--- a/include/spdlog/details/os.h
+++ b/include/spdlog/details/os.h
@@ -227,7 +227,9 @@ inline size_t filesize(FILE *f)
#else // unix
int fd = fileno(f);
// 64 bits(but not in osx or cygwin, where fstat64 is deprecated)
-#if !defined(__FreeBSD__) && !defined(__APPLE__) && (defined(__x86_64__) || defined(__ppc64__)) && !defined(__CYGWIN__)
+#if !defined(__FreeBSD__) && !defined(__APPLE__) && \
+ (defined(__linux__) && defined(__GLIBC__)) && \
+ (defined(__x86_64__) || defined(__ppc64__)) && !defined(__CYGWIN__)
struct stat64 st;
if (::fstat64(fd, &st) == 0)
{
--
2.39.0
@@ -0,0 +1,101 @@
From 49761ca63797014223d8e3ff6fb2c0235803c19c Mon Sep 17 00:00:00 2001
From: asuessenbach <asuessenbach@nvidia.com>
Date: Wed, 3 May 2023 09:50:08 +0200
Subject: [PATCH] Resolve some Vulkan-Hpp-related issues on Win32.
This patch fixes vulkan-samples compilation on 32-bit hosts.
Upstream-Status: Backport
Signed-off-by: Ross Burton <ross.burton@arm.com>
---
framework/common/hpp_vk_common.h | 4 ++--
framework/core/hpp_buffer.cpp | 4 ++--
framework/core/hpp_buffer.h | 2 +-
framework/core/hpp_image.cpp | 2 +-
samples/api/hpp_texture_loading/hpp_texture_loading.cpp | 2 +-
5 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/framework/common/hpp_vk_common.h b/framework/common/hpp_vk_common.h
index 39ed3dcde..0cbbe479e 100644
--- a/framework/common/hpp_vk_common.h
+++ b/framework/common/hpp_vk_common.h
@@ -92,7 +92,7 @@ inline bool is_dynamic_buffer_descriptor_type(vk::DescriptorType descriptor_type
inline vk::ShaderModule load_shader(const std::string &filename, vk::Device device, vk::ShaderStageFlagBits stage)
{
- return vkb::load_shader(filename, device, static_cast<VkShaderStageFlagBits>(stage));
+ return static_cast<vk::ShaderModule>(vkb::load_shader(filename, device, static_cast<VkShaderStageFlagBits>(stage)));
}
inline void set_image_layout(vk::CommandBuffer command_buffer,
@@ -104,7 +104,7 @@ inline void set_image_layout(vk::CommandBuffer command_buffer,
vk::PipelineStageFlags dst_mask = vk::PipelineStageFlagBits::eAllCommands)
{
vkb::set_image_layout(command_buffer,
- image,
+ static_cast<VkImage>(image),
static_cast<VkImageLayout>(old_layout),
static_cast<VkImageLayout>(new_layout),
static_cast<VkImageSubresourceRange>(subresource_range),
diff --git a/framework/core/hpp_buffer.cpp b/framework/core/hpp_buffer.cpp
index 8da265acb..e6509b9f4 100644
--- a/framework/core/hpp_buffer.cpp
+++ b/framework/core/hpp_buffer.cpp
@@ -84,7 +84,7 @@ HPPBuffer::~HPPBuffer()
if (get_handle() && (allocation != VK_NULL_HANDLE))
{
unmap();
- vmaDestroyBuffer(get_device().get_memory_allocator(), get_handle(), allocation);
+ vmaDestroyBuffer(get_device().get_memory_allocator(), static_cast<VkBuffer>(get_handle()), allocation);
}
}
@@ -93,7 +93,7 @@ VmaAllocation HPPBuffer::get_allocation() const
return allocation;
}
-VkDeviceMemory HPPBuffer::get_memory() const
+vk::DeviceMemory HPPBuffer::get_memory() const
{
return memory;
}
diff --git a/framework/core/hpp_buffer.h b/framework/core/hpp_buffer.h
index 7a243c265..bad47406d 100644
--- a/framework/core/hpp_buffer.h
+++ b/framework/core/hpp_buffer.h
@@ -55,7 +55,7 @@ class HPPBuffer : public vkb::core::HPPVulkanResource<vk::Buffer>
VmaAllocation get_allocation() const;
const uint8_t *get_data() const;
- VkDeviceMemory get_memory() const;
+ vk::DeviceMemory get_memory() const;
/**
* @return Return the buffer's device address (note: requires that the buffer has been created with the VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT usage fla)
diff --git a/framework/core/hpp_image.cpp b/framework/core/hpp_image.cpp
index 00fa89ba7..5e6f27363 100644
--- a/framework/core/hpp_image.cpp
+++ b/framework/core/hpp_image.cpp
@@ -138,7 +138,7 @@ HPPImage::~HPPImage()
if (get_handle() && memory)
{
unmap();
- vmaDestroyImage(get_device().get_memory_allocator(), get_handle(), memory);
+ vmaDestroyImage(get_device().get_memory_allocator(), static_cast<VkImage>(get_handle()), memory);
}
}
diff --git a/samples/api/hpp_texture_loading/hpp_texture_loading.cpp b/samples/api/hpp_texture_loading/hpp_texture_loading.cpp
index 11a1f24c1..cbdd22773 100644
--- a/samples/api/hpp_texture_loading/hpp_texture_loading.cpp
+++ b/samples/api/hpp_texture_loading/hpp_texture_loading.cpp
@@ -170,7 +170,7 @@ void HPPTextureLoading::load_texture()
memory_allocate_info = {memory_requirements.size,
get_device()->get_gpu().get_memory_type(memory_requirements.memoryTypeBits, vk::MemoryPropertyFlagBits::eDeviceLocal)};
texture.device_memory = get_device()->get_handle().allocateMemory(memory_allocate_info);
- VK_CHECK(vkBindImageMemory(get_device()->get_handle(), texture.image, texture.device_memory, 0));
+ get_device()->get_handle().bindImageMemory(texture.image, texture.device_memory, 0);
vk::CommandBuffer copy_command = get_device()->create_command_buffer(vk::CommandBufferLevel::ePrimary, true);
@@ -0,0 +1,31 @@
There is code to remove the prefix CMAKE_SOURCE_DIR from __FILENAME__ paths
used for logging with LOGE() in the code. We need to make this match the value we use
in the debug source remapping from CFLAGS
We export the right path to use in the recipe with:
EXTRA_OECMAKE = "-DCMAKE_DEBUG_SRCDIR=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/"
and we then patch this into the code instead of the broken use
of CMAKE_SOURCE_DIR since __FILENAME__ will match our path prefix
changes.
This also breaks reproducibility since the path length of the build directory
will currently change the output!
Upstream-Status: Pending [needs to be discussed upstream]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Index: git/bldsys/cmake/global_options.cmake
===================================================================
--- git.orig/bldsys/cmake/global_options.cmake
+++ git/bldsys/cmake/global_options.cmake
@@ -47,7 +47,7 @@ set(CMAKE_CXX_STANDARD 14)
set(CMAKE_DISABLE_SOURCE_CHANGES ON)
set(CMAKE_DISABLE_IN_SOURCE_BUILD ON)
-string(LENGTH "${CMAKE_SOURCE_DIR}/" ROOT_PATH_SIZE)
+string(LENGTH "${CMAKE_DEBUG_SRCDIR}/" ROOT_PATH_SIZE)
add_definitions(-DROOT_PATH_SIZE=${ROOT_PATH_SIZE})
set(CMAKE_C_FLAGS_DEBUG "-DDEBUG=0 ${CMAKE_C_FLAGS_DEBUG}")
@@ -0,0 +1,39 @@
SUMMARY = "The Vulkan Samples is collection of resources to help develop optimized Vulkan applications."
HOMEPAGE = "https://www.khronos.org/vulkan/"
BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Samples/issues"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=48aa35cefb768436223a6e7f18dc2a2a"
SRC_URI = "gitsm://github.com/KhronosGroup/Vulkan-Samples.git;branch=main;protocol=https;lfs=0 \
file://debugfix.patch \
file://0001-Do-not-use-LFS64-functions-on-linux-musl.patch;patchdir=third_party/spdlog \
file://0001-Deprecate-u8string_view.patch;patchdir=third_party/spdlog \
file://32bit.patch \
"
UPSTREAM_CHECK_COMMITS = "1"
SRCREV = "2307c3eb5608cb1205fa3514b3a31dbfb857d00c"
UPSTREAM_CHECK_GITTAGREGEX = "These are not the releases you're looking for"
S = "${WORKDIR}/git"
REQUIRED_DISTRO_FEATURES = 'vulkan'
inherit cmake features_check
FILES:${PN} += "${datadir}"
#
# There is code to remove the prefix CMAKE_SOURCE_DIR from __FILENAME__ paths
# used for logging with LOGE in the code. We need to make this match the value we use
# in the debug source remapping from CFLAGS
#
EXTRA_OECMAKE += "-DCMAKE_DEBUG_SRCDIR=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/"
# Binaries built with PCH enabled don't appear reproducible, differing results were seen
# from some builds depending on the point the PCH was compiled. Disable it to be
# deterministic
EXTRA_OECMAKE += "-DCMAKE_DISABLE_PRECOMPILE_HEADERS=ON"
# This needs to be specified explicitly to avoid xcb/xlib dependencies
EXTRA_OECMAKE += "-DVKB_WSI_SELECTION=D2D"
@@ -0,0 +1,29 @@
From 9060e916ca05d34b56c62f2be0b4a77dd104e2aa Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex@linutronix.de>
Date: Fri, 2 Jun 2023 14:13:00 +0200
Subject: [PATCH] scripts/CMakeLists.txt: append to CMAKE_FIND_ROOT_PATH
instead of replacing it
Resetting CMAKE_FIND_ROOT_PATH in particular breaks builds in Yocto
(which is a major cross compiling framework).
Upstream-Status: Submitted [https://github.com/KhronosGroup/Vulkan-Tools/pull/808]
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
scripts/CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt
index 5b979d43..19a58bf9 100644
--- a/scripts/CMakeLists.txt
+++ b/scripts/CMakeLists.txt
@@ -114,7 +114,7 @@ if (MOLTENVK_REPO_ROOT)
endif()
if (CMAKE_CROSSCOMPILING)
- set(CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} PARENT_SCOPE)
+ set(CMAKE_FIND_ROOT_PATH ${CMAKE_FIND_ROOT_PATH} ${CMAKE_PREFIX_PATH} PARENT_SCOPE)
else()
set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} PARENT_SCOPE)
endif()
@@ -0,0 +1,38 @@
SUMMARY = "Vulkan Utilities and Tools"
DESCRIPTION = "Assist development by enabling developers to verify their applications correct use of the Vulkan API."
HOMEPAGE = "https://www.khronos.org/vulkan/"
BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Tools"
SECTION = "libs"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=main;protocol=https \
file://0001-scripts-CMakeLists.txt-do-not-make-special-arrangeme.patch \
"
SRCREV = "695887a994ef9cc00a7aa3f9c00b31a56ea79534"
S = "${WORKDIR}/git"
inherit cmake features_check pkgconfig
ANY_OF_DISTRO_FEATURES = "x11 wayland"
REQUIRED_DISTRO_FEATURES = "vulkan"
DEPENDS += "vulkan-headers vulkan-loader"
EXTRA_OECMAKE = "\
-DBUILD_TESTS=OFF \
-DBUILD_CUBE=OFF \
-DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 \
"
# must choose x11 or wayland or both
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr"
PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland"
# These recipes need to be updated in lockstep with each other:
# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools
# The tags versions should always be sdk-x.y.z, as this is what
# upstream considers a release.
UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
@@ -0,0 +1,28 @@
From ea7b9e6fc0b3f45d6032ce624bed85bbde5ec0bf Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex@linutronix.de>
Date: Wed, 21 Jun 2023 20:03:03 +0200
Subject: [PATCH] scripts/CMakeLists.txt: append to CMAKE_FIND_ROOT_PATH
instead of replacing it
Resetting CMAKE_FIND_ROOT_PATH in particular breaks builds in Yocto
(which is a major cross compiling framework).
Upstream-Status: Backport [https://github.com/KhronosGroup/Vulkan-ValidationLayers/commit/e1b11dc7856765cf45a283ac805ea5066c81cd9b]
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
scripts/CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt
index 94c8528c8..cd86c54eb 100644
--- a/scripts/CMakeLists.txt
+++ b/scripts/CMakeLists.txt
@@ -124,7 +124,7 @@ if (MIMALLOC_INSTALL_DIR)
endif()
if (CMAKE_CROSSCOMPILING)
- set(CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} PARENT_SCOPE)
+ set(CMAKE_FIND_ROOT_PATH ${CMAKE_FIND_ROOT_PATH} ${CMAKE_PREFIX_PATH} PARENT_SCOPE)
else()
set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} PARENT_SCOPE)
endif()
@@ -0,0 +1,50 @@
SUMMARY = "Vulkan Validation layers"
DESCRIPTION = "Khronos official Vulkan validation layers to assist developers \
in verifying that their applications correctly use the Vulkan API"
HOMEPAGE = "https://www.khronos.org/vulkan/"
BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-ValidationLayers"
SECTION = "libs"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=8df9e8826734226d08cb412babfa599c"
SRC_URI = "git://git@github.com/KhronosGroup/Vulkan-ValidationLayers.git;branch=sdk-1.3.250;protocol=https \
file://0001-scripts-CMakeLists.txt-append-to-CMAKE_FIND_ROOT_PAT.patch \
"
SRCREV = "1541e00a63cd125f15d231d5a8059ebe66503b25"
S = "${WORKDIR}/git"
REQUIRED_DISTRO_FEATURES = "vulkan"
DEPENDS = "vulkan-headers vulkan-loader spirv-headers spirv-tools glslang"
# BUILD_TESTS - Not required for OE builds
# USE_ROBIN_HOOD_HASHING - Provides substantial performance improvements on all platforms.
# Yocto project doesn't contain a recipe for package so disabled it.
EXTRA_OECMAKE = "\
-DBUILD_TESTS=OFF \
-DUSE_ROBIN_HOOD_HASHING=OFF \
-DGLSLANG_INSTALL_DIR=${STAGING_LIBDIR} \
-DVULKAN_HEADERS_INSTALL_DIR=${STAGING_EXECPREFIXDIR} \
-DSPIRV_HEADERS_INSTALL_DIR=${STAGING_EXECPREFIXDIR} \
"
PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr"
PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland"
PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'x11 wayland', d)}"
inherit cmake features_check pkgconfig
FILES:${PN} += "${datadir}/vulkan"
SOLIBS = ".so"
FILES_SOLIBSDEV = ""
# These recipes need to be updated in lockstep with each other:
# glslang, vulkan-headers, vulkan-loader, vulkan-tools,
# vulkan-validation-layers, spirv-headers, spirv-tools
# The tags versions should always be sdk-x.y.z, as this is what
# upstream considers a release.
UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"