Initial commit
This commit is contained in:
@@ -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
|
||||
|
||||
+37
@@ -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"
|
||||
+29
@@ -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+)+)"
|
||||
+28
@@ -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+)+)"
|
||||
Reference in New Issue
Block a user