diff options
Diffstat (limited to 'meta-oe/recipes-graphics/vk-gl-cts')
18 files changed, 453 insertions, 447 deletions
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Fix-missing-include-cstdint-causing-build-failures.patch b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Fix-missing-include-cstdint-causing-build-failures.patch new file mode 100644 index 0000000000..44632bc74f --- /dev/null +++ b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Fix-missing-include-cstdint-causing-build-failures.patch | |||
@@ -0,0 +1,47 @@ | |||
1 | From 1d80b54aefd1f5f361990b1223c6fe308a8d3085 Mon Sep 17 00:00:00 2001 | ||
2 | From: Ricardo Garcia <rgarcia@igalia.com> | ||
3 | Date: Mon, 21 Apr 2025 12:30:05 +0200 | ||
4 | Subject: [PATCH] Fix missing #include <cstdint> causing build failures | ||
5 | |||
6 | Tested on Fedora 42 with clang. | ||
7 | |||
8 | Upstream-Status: Submitted [https://github.com/google/amber/pull/1092] | ||
9 | |||
10 | Fixes: | ||
11 | http://errors.yoctoproject.org/Errors/Details/852849/ | ||
12 | |||
13 | In file included from TOPDIR/tmp/work/core2-64-oe-linux/vulkan-cts/1.4.1.0/git/external/amber/src/src/type.cc:15: | ||
14 | TOPDIR/tmp/work/core2-64-oe-linux/vulkan-cts/1.4.1.0/git/external/amber/src/src/type.h:56:39: error: 'uint32_t' has not been declared | ||
15 | 56 | static bool IsInt8(FormatMode mode, uint32_t num_bits) { | ||
16 | | ^~~~~~~~ | ||
17 | |||
18 | Signed-off-by: Martin Jansa <martin.jansa@gmail.com> | ||
19 | --- | ||
20 | src/tokenizer.h | 1 + | ||
21 | src/type.h | 1 + | ||
22 | 2 files changed, 2 insertions(+) | ||
23 | |||
24 | diff --git a/src/tokenizer.h b/src/tokenizer.h | ||
25 | index 53efec60..ea4f19df 100644 | ||
26 | --- a/src/tokenizer.h | ||
27 | +++ b/src/tokenizer.h | ||
28 | @@ -16,6 +16,7 @@ | ||
29 | #define SRC_TOKENIZER_H_ | ||
30 | |||
31 | #include <cstdlib> | ||
32 | +#include <cstdint> | ||
33 | #include <memory> | ||
34 | #include <string> | ||
35 | |||
36 | diff --git a/src/type.h b/src/type.h | ||
37 | index c63779ba..97720f29 100644 | ||
38 | --- a/src/type.h | ||
39 | +++ b/src/type.h | ||
40 | @@ -16,6 +16,7 @@ | ||
41 | #define SRC_TYPE_H_ | ||
42 | |||
43 | #include <cassert> | ||
44 | +#include <cstdint> | ||
45 | #include <memory> | ||
46 | #include <string> | ||
47 | #include <vector> | ||
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/files/0001-cmake-Define-WAYLAND_SCANNER-and-WAYLAND_PROTOCOLS_D.patch b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-cmake-Define-WAYLAND_SCANNER-and-WAYLAND_PROTOCOLS_D.patch index f659e36066..9eef9a702e 100644 --- a/meta-oe/recipes-graphics/vk-gl-cts/files/0001-cmake-Define-WAYLAND_SCANNER-and-WAYLAND_PROTOCOLS_D.patch +++ b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-cmake-Define-WAYLAND_SCANNER-and-WAYLAND_PROTOCOLS_D.patch | |||
@@ -15,15 +15,15 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
15 | 15 | ||
16 | --- a/framework/platform/CMakeLists.txt | 16 | --- a/framework/platform/CMakeLists.txt |
17 | +++ b/framework/platform/CMakeLists.txt | 17 | +++ b/framework/platform/CMakeLists.txt |
18 | @@ -73,8 +73,9 @@ if (NOT DEFINED TCUTIL_PLATFORM_SRCS) | 18 | @@ -83,8 +83,9 @@ if (NOT DEFINED TCUTIL_PLATFORM_SRCS) |
19 | add_definitions(-DDEQP_SUPPORT_WAYLAND=1) | 19 | configure_file(${WAYLAND_XDG_SHELL_SRC_DIR}/xdg-shell.c ${DEQP_XDG_SHELL_GEN_OUTPUTS_DIR}/xdg-shell.c COPYONLY) |
20 | include_directories(lnx/wayland) | 20 | configure_file(${WAYLAND_XDG_SHELL_SRC_DIR}/xdg-shell.h ${DEQP_XDG_SHELL_GEN_OUTPUTS_DIR}/xdg-shell.h COPYONLY) |
21 | 21 | else () | |
22 | - pkg_get_variable(WAYLAND_PROTOCOLS_DIR wayland-protocols pkgdatadir) | 22 | - pkg_get_variable(WAYLAND_PROTOCOLS_DIR wayland-protocols pkgdatadir) |
23 | - | 23 | - |
24 | + if (NOT WAYLAND_PROTOCOLS_DIR) | 24 | + if (NOT WAYLAND_PROTOCOL_DIR) |
25 | + pkg_get_variable(WAYLAND_PROTOCOLS_DIR wayland-protocols pkgdatadir) | 25 | + pkg_get_variable(WAYLAND_PROTOCOLS_DIR wayland-protocols pkgdatadir) |
26 | + endif() | 26 | + endif() |
27 | if (NOT WAYLAND_SCANNER) | 27 | if (NOT WAYLAND_SCANNER) |
28 | pkg_get_variable(WAYLAND_SCANNER wayland-scanner wayland_scanner) | 28 | pkg_get_variable(WAYLAND_SCANNER wayland-scanner wayland_scanner) |
29 | endif() | 29 | endif() |
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/files/0001-use-library-sonames-for-linking.patch b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-use-library-sonames-for-linking.patch new file mode 100644 index 0000000000..5e19ed2db3 --- /dev/null +++ b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-use-library-sonames-for-linking.patch | |||
@@ -0,0 +1,123 @@ | |||
1 | From acd25c4b8d5b7e420a7a89bdfd6551c70de828b3 Mon Sep 17 00:00:00 2001 | ||
2 | From: Trevor Woerner <twoerner@gmail.com> | ||
3 | Date: Thu, 23 Sep 2021 19:36:43 -0400 | ||
4 | Subject: [PATCH] use library sonames for linking | ||
5 | |||
6 | The recommended "best practices" for applications is to link to library | ||
7 | sonames (e.g. libGL.so.1) instead of library names (e.g. libGL.so). This | ||
8 | ensures that applications don't try to use libraries if an incompatible ABI | ||
9 | change occurs. | ||
10 | |||
11 | Upstream-Status: Denied [https://github.com/KhronosGroup/VK-GL-CTS/pull/288] | ||
12 | Signed-off-by: Trevor Woerner <twoerner@gmail.com> | ||
13 | --- | ||
14 | framework/egl/egluGLContextFactory.cpp | 4 ++-- | ||
15 | framework/egl/wrapper/eglwLibrary.cpp | 2 +- | ||
16 | framework/platform/android/tcuAndroidPlatform.cpp | 2 +- | ||
17 | framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp | 2 +- | ||
18 | .../platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp | 2 +- | ||
19 | framework/platform/surfaceless/tcuSurfacelessPlatform.cpp | 6 +++--- | ||
20 | 6 files changed, 9 insertions(+), 9 deletions(-) | ||
21 | |||
22 | --- a/framework/egl/egluGLContextFactory.cpp | ||
23 | +++ b/framework/egl/egluGLContextFactory.cpp | ||
24 | @@ -63,7 +63,7 @@ using std::vector; | ||
25 | #if (DE_OS == DE_OS_WIN32) | ||
26 | #define DEQP_GLES2_LIBRARY_PATH "libGLESv2.dll" | ||
27 | #else | ||
28 | -#define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so" | ||
29 | +#define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so.2" | ||
30 | #endif | ||
31 | #endif | ||
32 | |||
33 | @@ -75,7 +75,7 @@ using std::vector; | ||
34 | #if (DE_OS == DE_OS_WIN32) | ||
35 | #define DEQP_OPENGL_LIBRARY_PATH "opengl32.dll" | ||
36 | #else | ||
37 | -#define DEQP_OPENGL_LIBRARY_PATH "libGL.so" | ||
38 | +#define DEQP_OPENGL_LIBRARY_PATH "libGL.so.1" | ||
39 | #endif | ||
40 | #endif | ||
41 | |||
42 | --- a/framework/egl/wrapper/eglwLibrary.cpp | ||
43 | +++ b/framework/egl/wrapper/eglwLibrary.cpp | ||
44 | @@ -145,7 +145,7 @@ DefaultLibrary::~DefaultLibrary(void) | ||
45 | const char *DefaultLibrary::getLibraryFileName(void) | ||
46 | { | ||
47 | #if (DE_OS == DE_OS_ANDROID) || (DE_OS == DE_OS_UNIX) | ||
48 | - return "libEGL.so"; | ||
49 | + return "libEGL.so.1"; | ||
50 | #elif (DE_OS == DE_OS_WIN32) | ||
51 | return "libEGL.dll"; | ||
52 | #else | ||
53 | --- a/framework/platform/android/tcuAndroidPlatform.cpp | ||
54 | +++ b/framework/platform/android/tcuAndroidPlatform.cpp | ||
55 | @@ -56,7 +56,7 @@ static const eglu::NativeWindow::Capabil | ||
56 | class NativeDisplay : public eglu::NativeDisplay | ||
57 | { | ||
58 | public: | ||
59 | - NativeDisplay(void) : eglu::NativeDisplay(DISPLAY_CAPABILITIES), m_library("libEGL.so") | ||
60 | + NativeDisplay(void) : eglu::NativeDisplay(DISPLAY_CAPABILITIES), m_library("libEGL.so.1") | ||
61 | { | ||
62 | } | ||
63 | virtual ~NativeDisplay(void) | ||
64 | @@ -223,7 +223,7 @@ class VulkanLibrary : public vk::Library | ||
65 | { | ||
66 | public: | ||
67 | VulkanLibrary(const char *libraryPath) | ||
68 | - : m_library(libraryPath != nullptr ? libraryPath : "libvulkan.so") | ||
69 | + : m_library(libraryPath != nullptr ? libraryPath : "libvulkan.so.1") | ||
70 | , m_driver(m_library) | ||
71 | { | ||
72 | } | ||
73 | --- a/framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp | ||
74 | +++ b/framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp | ||
75 | @@ -77,7 +77,7 @@ using tcu::TextureLevel; | ||
76 | class Library : public eglw::DefaultLibrary | ||
77 | { | ||
78 | public: | ||
79 | - Library(void) : eglw::DefaultLibrary("libEGL.so") | ||
80 | + Library(void) : eglw::DefaultLibrary("libEGL.so.1") | ||
81 | { | ||
82 | } | ||
83 | |||
84 | --- a/framework/platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp | ||
85 | +++ b/framework/platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp | ||
86 | @@ -64,7 +64,7 @@ public: | ||
87 | Display(MovePtr<wayland::Display> waylandDisplay) | ||
88 | : NativeDisplay(CAPABILITIES, EGL_PLATFORM_WAYLAND_KHR, "EGL_KHR_platform_wayland") | ||
89 | , m_display(waylandDisplay) | ||
90 | - , m_library("libEGL.so") | ||
91 | + , m_library("libEGL.so.1") | ||
92 | { | ||
93 | } | ||
94 | |||
95 | --- a/framework/platform/surfaceless/tcuSurfacelessPlatform.cpp | ||
96 | +++ b/framework/platform/surfaceless/tcuSurfacelessPlatform.cpp | ||
97 | @@ -69,7 +69,7 @@ using std::vector; | ||
98 | |||
99 | // Default library names | ||
100 | #if !defined(DEQP_GLES2_LIBRARY_PATH) | ||
101 | -#define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so" | ||
102 | +#define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so.2" | ||
103 | #endif | ||
104 | |||
105 | #if !defined(DEQP_GLES3_LIBRARY_PATH) | ||
106 | @@ -77,7 +77,7 @@ using std::vector; | ||
107 | #endif | ||
108 | |||
109 | #if !defined(DEQP_OPENGL_LIBRARY_PATH) | ||
110 | -#define DEQP_OPENGL_LIBRARY_PATH "libGL.so" | ||
111 | +#define DEQP_OPENGL_LIBRARY_PATH "libGL.so.1" | ||
112 | #endif | ||
113 | |||
114 | #if !defined(DEQP_VULKAN_LIBRARY_PATH) | ||
115 | @@ -258,7 +258,7 @@ glu::RenderContext *ContextFactory::crea | ||
116 | |||
117 | EglRenderContext::EglRenderContext(const glu::RenderConfig &config, const tcu::CommandLine &cmdLine, | ||
118 | const glu::RenderContext *sharedContext) | ||
119 | - : m_egl("libEGL.so") | ||
120 | + : m_egl("libEGL.so.1") | ||
121 | , m_contextType(config.type) | ||
122 | , m_eglDisplay(EGL_NO_DISPLAY) | ||
123 | , m_eglContext(EGL_NO_CONTEXT) | ||
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/files/0001-vulkan-cts-include-missing-cstdint.patch b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-vulkan-cts-include-missing-cstdint.patch deleted file mode 100644 index 0dd59713a1..0000000000 --- a/meta-oe/recipes-graphics/vk-gl-cts/files/0001-vulkan-cts-include-missing-cstdint.patch +++ /dev/null | |||
@@ -1,34 +0,0 @@ | |||
1 | From b07f6ecd6ab83b788301a555dc546b9a5c9dd8a2 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Wed, 25 Jan 2023 19:19:34 -0800 | ||
4 | Subject: [PATCH] Include missing <cstdint> | ||
5 | |||
6 | This error is seen with gcc-13 where include headers are not implicitly | ||
7 | included [1] | ||
8 | |||
9 | Fixes errors e.g. | ||
10 | error: 'uint32_t' does not name a type | ||
11 | |||
12 | [1] https://www.gnu.org/software/gcc/gcc-13/porting_to.html | ||
13 | |||
14 | Upstream-Status: Submitted [https://github.com/KhronosGroup/VK-GL-CTS/pull/378] | ||
15 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
16 | --- | ||
17 | framework/common/tcuDefs.hpp | 1 + | ||
18 | 1 file changed, 1 insertion(+) | ||
19 | |||
20 | diff --git a/framework/common/tcuDefs.hpp b/framework/common/tcuDefs.hpp | ||
21 | index ad3d0736d..6dfac10fb 100644 | ||
22 | --- a/framework/common/tcuDefs.hpp | ||
23 | +++ b/framework/common/tcuDefs.hpp | ||
24 | @@ -26,6 +26,7 @@ | ||
25 | #include "deDefs.hpp" | ||
26 | #include "qpTestLog.h" | ||
27 | |||
28 | +#include <cstdint> | ||
29 | #include <string> | ||
30 | #include <stdexcept> | ||
31 | |||
32 | -- | ||
33 | 2.39.1 | ||
34 | |||
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/files/0001-vulkancts-Include-missing-cstdint.patch b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-vulkancts-Include-missing-cstdint.patch deleted file mode 100644 index 40aea8f203..0000000000 --- a/meta-oe/recipes-graphics/vk-gl-cts/files/0001-vulkancts-Include-missing-cstdint.patch +++ /dev/null | |||
@@ -1,32 +0,0 @@ | |||
1 | From 1b7646ced0f0b969f818084887885827ed1a4244 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Mon, 31 May 2021 17:31:33 -0700 | ||
4 | Subject: [PATCH] vulkancts: Include missing <cstdint> | ||
5 | |||
6 | Fixes build with gcc-13 | ||
7 | |||
8 | ../git/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmFloatControlsTests.cpp:2798:102: error: 'uintptr_t' in namespace 'std' does not name a type | ||
9 | 2798 | BufferDataType type = static_cast<BufferDataType>(reinterpret_cast<std::uintptr_t>(expectedOutputs[resultIndex].getUserData())); | ||
10 | | ^~~~~~~~~ | ||
11 | |||
12 | Upstream-Status: Submitted [https://github.com/KhronosGroup/VK-GL-CTS/pull/378] | ||
13 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
14 | --- | ||
15 | .../vulkan/spirv_assembly/vktSpvAsmFloatControlsTests.cpp | 1 + | ||
16 | 1 file changed, 1 insertion(+) | ||
17 | |||
18 | diff --git a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmFloatControlsTests.cpp b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmFloatControlsTests.cpp | ||
19 | index ab02be1dc..3d3ee4829 100644 | ||
20 | --- a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmFloatControlsTests.cpp | ||
21 | +++ b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmFloatControlsTests.cpp | ||
22 | @@ -33,6 +33,7 @@ | ||
23 | #include "deFloat16.h" | ||
24 | #include "vkQueryUtil.hpp" | ||
25 | #include "vkRefUtil.hpp" | ||
26 | +#include <cstdint> | ||
27 | #include <cstring> | ||
28 | #include <vector> | ||
29 | #include <limits> | ||
30 | -- | ||
31 | 2.39.1 | ||
32 | |||
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/files/fix-clang-private-operator.patch b/meta-oe/recipes-graphics/vk-gl-cts/files/fix-clang-private-operator.patch index 4ecc371ca4..af59dd3e61 100644 --- a/meta-oe/recipes-graphics/vk-gl-cts/files/fix-clang-private-operator.patch +++ b/meta-oe/recipes-graphics/vk-gl-cts/files/fix-clang-private-operator.patch | |||
@@ -2,7 +2,7 @@ Upstream-Status: Pending | |||
2 | 2 | ||
3 | --- a/external/glslang/src/glslang/Include/PoolAlloc.h | 3 | --- a/external/glslang/src/glslang/Include/PoolAlloc.h |
4 | +++ b/external/glslang/src/glslang/Include/PoolAlloc.h | 4 | +++ b/external/glslang/src/glslang/Include/PoolAlloc.h |
5 | @@ -240,8 +240,9 @@ protected: | 5 | @@ -245,8 +245,9 @@ protected: |
6 | 6 | ||
7 | int numCalls; // just an interesting statistic | 7 | int numCalls; // just an interesting statistic |
8 | size_t totalBytes; // just an interesting statistic | 8 | size_t totalBytes; // just an interesting statistic |
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/files/fix-musl.patch b/meta-oe/recipes-graphics/vk-gl-cts/files/fix-musl.patch index 58dc1f24dd..717d489786 100644 --- a/meta-oe/recipes-graphics/vk-gl-cts/files/fix-musl.patch +++ b/meta-oe/recipes-graphics/vk-gl-cts/files/fix-musl.patch | |||
@@ -2,9 +2,9 @@ Upstream-Status: Pending | |||
2 | 2 | ||
3 | --- a/framework/delibs/dethread/CMakeLists.txt | 3 | --- a/framework/delibs/dethread/CMakeLists.txt |
4 | +++ b/framework/delibs/dethread/CMakeLists.txt | 4 | +++ b/framework/delibs/dethread/CMakeLists.txt |
5 | @@ -42,6 +42,7 @@ if (DE_OS_IS_UNIX) | 5 | @@ -41,6 +41,7 @@ if (DE_OS_IS_UNIX) |
6 | if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD") | ||
6 | add_definitions(-D__BSD_VISIBLE) | 7 | add_definitions(-D__BSD_VISIBLE) |
7 | add_definitions(-D_XOPEN_SOURCE=600) | ||
8 | endif () | 8 | endif () |
9 | + add_definitions(-D_XOPEN_SOURCE=600) | 9 | + add_definitions(-D_XOPEN_SOURCE=600) |
10 | add_definitions(-D_GNU_SOURCE) | 10 | add_definitions(-D_GNU_SOURCE) |
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/files/gen-framework-path.patch b/meta-oe/recipes-graphics/vk-gl-cts/files/gen-framework-path.patch deleted file mode 100644 index 8a8d8d2c32..0000000000 --- a/meta-oe/recipes-graphics/vk-gl-cts/files/gen-framework-path.patch +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | Prepend instead of append to the module search path, as this script needs to use | ||
2 | the local module build, not the host module build. | ||
3 | |||
4 | Upstream-Status: Submitted | ||
5 | Signed-off-by: Ross Burton <ross.burton@arm.com> | ||
6 | |||
7 | diff --git a/external/vulkancts/scripts/gen_framework.py b/external/vulkancts/scripts/gen_framework.py | ||
8 | index 83c5329ce..10e720910 100755 | ||
9 | --- a/external/vulkancts/scripts/gen_framework.py | ||
10 | +++ b/external/vulkancts/scripts/gen_framework.py | ||
11 | @@ -33 +33 @@ from collections import OrderedDict | ||
12 | -sys.path.append(os.path.join(os.path.dirname(__file__), "..", "..", "..", "scripts")) | ||
13 | +sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "..", "..", "scripts")) | ||
14 | diff --git a/external/vulkancts/scripts/gen_framework_c.py b/external/vulkancts/scripts/gen_framework_c.py | ||
15 | index 95587e642..84b878cb2 100644 | ||
16 | --- a/external/vulkancts/scripts/gen_framework_c.py | ||
17 | +++ b/external/vulkancts/scripts/gen_framework_c.py | ||
18 | @@ -28 +28 @@ import re | ||
19 | -sys.path.append(os.path.join(os.path.dirname(__file__), "..", "..", "..", "scripts")) | ||
20 | +sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "..", "..", "scripts")) | ||
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/files/generate-srcuri.py b/meta-oe/recipes-graphics/vk-gl-cts/files/generate-srcuri.py new file mode 100755 index 0000000000..c2756b592c --- /dev/null +++ b/meta-oe/recipes-graphics/vk-gl-cts/files/generate-srcuri.py | |||
@@ -0,0 +1,131 @@ | |||
1 | #! /usr/bin/env python3 | ||
2 | |||
3 | import json | ||
4 | import re | ||
5 | import os | ||
6 | import subprocess | ||
7 | import sys | ||
8 | import types | ||
9 | import urllib.parse | ||
10 | |||
11 | |||
12 | def resolve_commit(repo, ref): | ||
13 | # If it looks like a SHA, just return that | ||
14 | if re.match(r"[a-z0-9]{40}", ref): | ||
15 | return ref | ||
16 | |||
17 | # Otherwise it's probably a tag name so resolve it | ||
18 | cmd = ("git", "ls-remote", "--tags", "--exit-code", repo, ref) | ||
19 | ret = subprocess.run(cmd, check=True, text=True, capture_output=True) | ||
20 | sha = ret.stdout.split(maxsplit=1)[0] | ||
21 | assert len(sha) == 40 | ||
22 | return sha | ||
23 | |||
24 | |||
25 | def transform_git(repo_url, repo_ref, destination): | ||
26 | parts = urllib.parse.urlparse(repo_url) | ||
27 | protocol = parts.scheme | ||
28 | parts = parts._replace(scheme="git") | ||
29 | url = urllib.parse.urlunparse(parts) | ||
30 | # Resolve the commit reference to a SHA | ||
31 | sha = resolve_commit(repo_url, repo_ref) | ||
32 | |||
33 | return url + f";protocol={protocol};nobranch=1;destsuffix={destination};rev={sha}" | ||
34 | |||
35 | |||
36 | def load_module(filename): | ||
37 | import importlib.util | ||
38 | |||
39 | spec = importlib.util.spec_from_file_location("fetchmodule", filename) | ||
40 | module = importlib.util.module_from_spec(spec) | ||
41 | spec.loader.exec_module(module) | ||
42 | return module | ||
43 | |||
44 | |||
45 | def convert_fetch(basedir): | ||
46 | """ | ||
47 | Convert the external/fetch_sources.py data | ||
48 | """ | ||
49 | fetch = load_module(os.path.join(basedir, "fetch_sources.py")) | ||
50 | lines = [] | ||
51 | for p in fetch.PACKAGES: | ||
52 | if isinstance(p, fetch.SourcePackage): | ||
53 | # Ignore these as so far we can use the system copies | ||
54 | pass | ||
55 | elif isinstance(p, fetch.SourceFile): | ||
56 | dest = "/".join(["git/external", p.baseDir, p.extractDir]) | ||
57 | url = f"{p.url};subdir={dest};sha256sum={p.checksum}" | ||
58 | lines.append(f" {url} \\") | ||
59 | elif isinstance(p, fetch.GitRepo): | ||
60 | dest = "/".join(["git/external", p.baseDir, p.extractDir]) | ||
61 | url = transform_git(p.httpsUrl, p.revision, dest) | ||
62 | lines.append(f" {url} \\") | ||
63 | else: | ||
64 | assert f"Unexpected {p=}" | ||
65 | return lines | ||
66 | |||
67 | |||
68 | def convert_knowngood(basedir, destination): | ||
69 | """ | ||
70 | Convert the """ | ||
71 | filename = os.path.join(basedir, "vulkan-validationlayers/src/scripts/known_good.json") | ||
72 | try: | ||
73 | with open(filename) as fp: | ||
74 | data = json.load(fp, object_hook=lambda x: types.SimpleNamespace(**x)) | ||
75 | except FileNotFoundError: | ||
76 | return [] | ||
77 | |||
78 | lines = [] | ||
79 | for repo in data.repos: | ||
80 | # Skip repositories that are not needed on Linux (TODO: assumes linux target) | ||
81 | if hasattr(repo, "build_platforms") and repo.build_platforms != "linux": | ||
82 | continue | ||
83 | |||
84 | # Switch the URL to use git: and save the original protocol | ||
85 | parts = urllib.parse.urlparse(repo.url) | ||
86 | protocol = parts.scheme | ||
87 | parts = parts._replace(scheme="git") | ||
88 | url = urllib.parse.urlunparse(parts) | ||
89 | # Resolve the commit reference to a SHA | ||
90 | sha = resolve_commit(repo.url, repo.commit) | ||
91 | |||
92 | destsuffix = destination + "/" + repo.sub_dir | ||
93 | |||
94 | url += f";protocol={protocol};nobranch=1;destsuffix={destsuffix};rev={sha}" | ||
95 | lines.append(f" {url} \\") | ||
96 | return lines | ||
97 | |||
98 | |||
99 | def main(): | ||
100 | pv = sys.argv[1] | ||
101 | basedir = sys.argv[2] | ||
102 | |||
103 | print(""" | ||
104 | # | ||
105 | # Generated by generate-srcuri.py, don't update manually") | ||
106 | # | ||
107 | |||
108 | RECIPE_UPGRADE_EXTRA_TASKS += "do_refresh_srcuri" | ||
109 | |||
110 | python __anonymous() { | ||
111 | if d.getVar("PV") != "%s": | ||
112 | bb.warn("-sources.inc out of date, run refresh_srcuri task") | ||
113 | } | ||
114 | """ % (pv)) | ||
115 | |||
116 | print('SRC_URI += " \\') | ||
117 | lines = convert_fetch(basedir) | ||
118 | print("\n".join(lines)) | ||
119 | print('"') | ||
120 | |||
121 | #lines = convert_knowngood(sys.argv[1], "git/external/validation") | ||
122 | #if lines: | ||
123 | # print('SRC_URI += " \\') | ||
124 | # print("\n".join(lines)) | ||
125 | # print('"') | ||
126 | #else: | ||
127 | # print("# Re-run") | ||
128 | |||
129 | |||
130 | if __name__ == "__main__": | ||
131 | main() | ||
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc b/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc index 09f1fbcaee..1cc2da7a49 100644 --- a/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc +++ b/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc | |||
@@ -1,46 +1,31 @@ | |||
1 | LICENSE = "Apache-2.0" | 1 | LICENSE = "Apache-2.0" |
2 | LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" | 2 | LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" |
3 | 3 | ||
4 | SRC_URI = "\ | 4 | SRC_URI = "git://github.com/KhronosGroup/VK-GL-CTS.git;protocol=https;name=vk-gl-cts;nobranch=1 \ |
5 | git://github.com/KhronosGroup/VK-GL-CTS.git;protocol=https;name=vk-gl-cts;nobranch=1 \ | 5 | file://0001-cmake-Define-WAYLAND_SCANNER-and-WAYLAND_PROTOCOLS_D.patch \ |
6 | git://github.com/google/amber;protocol=https;destsuffix=git/external/amber/src;name=amber;branch=main \ | 6 | file://0001-use-library-sonames-for-linking.patch \ |
7 | git://github.com/KhronosGroup/glslang.git;protocol=https;destsuffix=git/external/glslang/src;name=glslang;branch=main \ | 7 | file://generate-srcuri.py \ |
8 | git://github.com/KhronosGroup/SPIRV-Headers.git;protocol=https;destsuffix=git/external/spirv-headers/src;name=spirv-headers;branch=main \ | 8 | " |
9 | git://github.com/KhronosGroup/SPIRV-Tools.git;protocol=https;destsuffix=git/external/spirv-tools/src;name=spirv-tools;branch=main \ | ||
10 | git://github.com/open-source-parsers/jsoncpp.git;protocol=https;destsuffix=git/external/jsoncpp/src;name=jsoncpp;branch=master \ | ||
11 | git://github.com/KhronosGroup/Vulkan-Docs.git;protocol=https;destsuffix=git/external/vulkan-docs/src;name=vulkan-docs;branch=main \ | ||
12 | https://raw.githubusercontent.com/baldurk/renderdoc/v1.1/renderdoc/api/app/renderdoc_app.h;subdir=git/external/renderdoc/src;name=renderdoc \ | ||
13 | git://github.com/Igalia/ESExtractor.git;protocol=https;destsuffix=git/external/ESExtractor/src;name=ESExtractor;branch=main \ | ||
14 | git://github.com/Igalia/vk_video_samples.git;protocol=https;destsuffix=git/external/nvidia-video-samples/src;name=video-parser;nobranch=1 \ | ||
15 | " | ||
16 | 9 | ||
17 | S = "${WORKDIR}/git" | 10 | SRC_URI:append:libc-musl = "file://fix-musl.patch" |
11 | SRC_URI:append:toolchain-clang = "file://fix-clang-private-operator.patch" | ||
18 | 12 | ||
19 | SRCREV_FORMAT = "vk-gl-cts_amber_glslang_spirv-headers_spirv-tools_jsoncpp_vulkan-docs" | 13 | SRCREV_FORMAT = "vk-gl-cts" |
20 | 14 | ||
21 | S = "${WORKDIR}/git" | ||
22 | 15 | ||
23 | inherit pkgconfig cmake features_check python3native qemu | 16 | inherit pkgconfig cmake cmake-qemu features_check python3native |
17 | |||
18 | UPSTREAM_CHECK_GITTAGREGEX = "${BPN}-(?P<pver>\d+(\.\d+)+)" | ||
24 | 19 | ||
25 | ANY_OF_DISTRO_FEATURES += "opengl vulkan" | 20 | ANY_OF_DISTRO_FEATURES += "opengl vulkan" |
26 | 21 | ||
27 | DEPENDS += "python3-lxml-native libpng zlib virtual/libgles2 qemu-native" | 22 | DEPENDS += "python3-lxml-native libpng zlib virtual/libgles2 qemu-native" |
28 | |||
29 | SRC_URI += " \ | ||
30 | file://0001-vulkancts-Include-missing-cstdint.patch \ | ||
31 | file://0001-use-library-sonames-for-linking.patch \ | ||
32 | " | ||
33 | |||
34 | SRC_URI:append:libc-musl = "\ | ||
35 | file://fix-musl.patch \ | ||
36 | " | ||
37 | DEPENDS:append:libc-musl = " libexecinfo" | 23 | DEPENDS:append:libc-musl = " libexecinfo" |
38 | 24 | ||
39 | SRC_URI:append:toolchain-clang = "\ | 25 | EXTRA_OECMAKE += "-DAMBER_DISABLE_WERROR=ON \ |
40 | file://fix-clang-private-operator.patch \ | 26 | -DUPDATE_DEPS_DIR=${S}/external/validation/ \ |
41 | " | 27 | -DWAYLAND_SCANNER=${STAGING_BINDIR_NATIVE}/wayland-scanner \ |
42 | 28 | -DWAYLAND_PROTOCOLS_DIR=${STAGING_DATADIR}/wayland-protocols" | |
43 | EXTRA_OECMAKE:prepend:class-target = "-DCMAKE_CROSSCOMPILING_EMULATOR=${WORKDIR}/qemuwrapper -DWAYLAND_SCANNER=${STAGING_BINDIR_NATIVE}/wayland-scanner -DWAYLAND_PROTOCOLS_DIR=${STAGING_DATADIR}/wayland-protocols -DAMBER_DISABLE_WERROR=ON" | ||
44 | 29 | ||
45 | # The best thing for the user to do is to not specify any of the following | 30 | # The best thing for the user to do is to not specify any of the following |
46 | # PACKAGECONFIGs (i.e. leave it blank) which tells the project to do its own | 31 | # PACKAGECONFIGs (i.e. leave it blank) which tells the project to do its own |
@@ -54,17 +39,6 @@ PACKAGECONFIG[x11_egl] = "-DDEQP_TARGET=x11_egl,,virtual/libx11 virtual/egl,,,su | |||
54 | PACKAGECONFIG[x11_glx] = "-DDEQP_TARGET=x11_glx,,virtual/libx11,,,surfaceless wayland x11_egl x11_egl_glx" | 39 | PACKAGECONFIG[x11_glx] = "-DDEQP_TARGET=x11_glx,,virtual/libx11,,,surfaceless wayland x11_egl x11_egl_glx" |
55 | PACKAGECONFIG[x11_egl_glx] = "-DDEQP_TARGET=x11_glx,,virtual/libx11 virtual/egl,,,surfaceless wayland x11_egl x11_glx" | 40 | PACKAGECONFIG[x11_egl_glx] = "-DDEQP_TARGET=x11_glx,,virtual/libx11 virtual/egl,,,surfaceless wayland x11_egl x11_glx" |
56 | 41 | ||
57 | do_configure:append() { | ||
58 | # Write out a qemu wrapper that will be used by cmake | ||
59 | # so that it can run target helper binaries through that. | ||
60 | qemu_binary="${@qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), [d.expand('${STAGING_DIR_HOST}${libdir}'),d.expand('${STAGING_DIR_HOST}${base_libdir}')])}" | ||
61 | cat > ${WORKDIR}/qemuwrapper << EOF | ||
62 | #!/bin/sh | ||
63 | $qemu_binary "\$@" | ||
64 | EOF | ||
65 | chmod +x ${WORKDIR}/qemuwrapper | ||
66 | } | ||
67 | |||
68 | python __anonymous() { | 42 | python __anonymous() { |
69 | # if the user doesn't specify any PACKAGECONFIG then the cts build system | 43 | # if the user doesn't specify any PACKAGECONFIG then the cts build system |
70 | # is going to probe the sysroot to try to figure out what to build | 44 | # is going to probe the sysroot to try to figure out what to build |
@@ -81,3 +55,20 @@ python __anonymous() { | |||
81 | CTSDIR = "/usr/lib/${BPN}" | 55 | CTSDIR = "/usr/lib/${BPN}" |
82 | 56 | ||
83 | FILES:${PN} += "${CTSDIR}" | 57 | FILES:${PN} += "${CTSDIR}" |
58 | |||
59 | # does not work with libc++-19 due | ||
60 | # error: implicit instantiation of undefined template 'std::char_traits<unsigned int>' | ||
61 | TOOLCHAIN = "gcc" | ||
62 | |||
63 | # Prototype task to refresh the generated SRC_URI entries by parsing | ||
64 | # the files in the source tree and writing a BPN-sources.inc file. | ||
65 | do_refresh_srcuri() { | ||
66 | ${UNPACKDIR}/generate-srcuri.py ${PV} ${S}/external/ \ | ||
67 | > ${THISDIR}/${BPN}-sources.inc | ||
68 | # Don't convert ${S}/external/vulkan-validationlayers/src/scripts/known_good.json as we | ||
69 | # currently build without validation | ||
70 | } | ||
71 | |||
72 | addtask refresh_srcuri after do_patch | ||
73 | do_refresh_srcuri[network] = "1" | ||
74 | do_refresh_srcuri[nostamp] = "1" | ||
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts-sources.inc b/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts-sources.inc new file mode 100644 index 0000000000..4e7155cd7f --- /dev/null +++ b/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts-sources.inc | |||
@@ -0,0 +1,25 @@ | |||
1 | |||
2 | # | ||
3 | # Generated by generate-srcuri.py, don't update manually") | ||
4 | # | ||
5 | |||
6 | RECIPE_UPGRADE_EXTRA_TASKS += "do_refresh_srcuri" | ||
7 | |||
8 | python __anonymous() { | ||
9 | if d.getVar("PV") != "3.2.12.0": | ||
10 | bb.warn("-sources.inc out of date, run refresh_srcuri task") | ||
11 | } | ||
12 | |||
13 | SRC_URI += " \ | ||
14 | https://raw.githubusercontent.com/baldurk/renderdoc/v1.1/renderdoc/api/app/renderdoc_app.h;subdir=${BB_GIT_DEFAULT_DESTSUFFIX}/external/renderdoc/src;sha256sum=e7b5f0aa5b1b0eadc63a1c624c0ca7f5af133aa857d6a4271b0ef3d0bdb6868e \ | ||
15 | git://github.com/KhronosGroup/SPIRV-Tools.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/spirv-tools/src;rev=04b4a204aa501992ae85a207be1e200e195c98e1 \ | ||
16 | git://github.com/KhronosGroup/glslang.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/glslang/src;rev=0549c7127c2fbab2904892c9d6ff491fa1e93751 \ | ||
17 | git://github.com/KhronosGroup/SPIRV-Headers.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/spirv-headers/src;rev=e7294a8ebed84f8c5bd3686c68dbe12a4e65b644 \ | ||
18 | git://github.com/KhronosGroup/Vulkan-Docs.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/vulkan-docs/src;rev=645c59c70e826d9738b6bb103316c03d887dfed3 \ | ||
19 | git://github.com/KhronosGroup/Vulkan-ValidationLayers.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/vulkan-validationlayers/src;rev=6cf616f131e9870c499a50441bca2d07ccda9733 \ | ||
20 | git://github.com/google/amber.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/amber/src;rev=6fa5ac1fb3b01c93eef3caa2aeb8841565e38d90 \ | ||
21 | git://github.com/open-source-parsers/jsoncpp.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/jsoncpp/src;rev=9059f5cad030ba11d37818847443a53918c327b1 \ | ||
22 | git://github.com/Igalia/vk_video_samples.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/nvidia-video-samples/src;rev=45fe88b456c683120138f052ea81f0a958ff3ec4 \ | ||
23 | git://github.com/KhronosGroup/Vulkan-Video-Samples.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/vulkan-video-samples/src;rev=0e87744edbb84c9c56c3fc8de9ea5150af5ee4ea \ | ||
24 | git://github.com/Igalia/video_generator.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/video_generator/src;rev=426300e12a5cc5d4676807039a1be237a2b68187 \ | ||
25 | " | ||
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts/0001-use-library-sonames-for-linking.patch b/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts/0001-use-library-sonames-for-linking.patch deleted file mode 100644 index b5a1d331ed..0000000000 --- a/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts/0001-use-library-sonames-for-linking.patch +++ /dev/null | |||
@@ -1,114 +0,0 @@ | |||
1 | From acd25c4b8d5b7e420a7a89bdfd6551c70de828b3 Mon Sep 17 00:00:00 2001 | ||
2 | From: Trevor Woerner <twoerner@gmail.com> | ||
3 | Date: Thu, 23 Sep 2021 19:36:43 -0400 | ||
4 | Subject: [PATCH] use library sonames for linking | ||
5 | |||
6 | The recommended "best practices" for applications is to link to library | ||
7 | sonames (e.g. libGL.so.1) instead of library names (e.g. libGL.so). This | ||
8 | ensures that applications don't try to use libraries if an incompatible ABI | ||
9 | change occurs. | ||
10 | |||
11 | Upstream-Status: Submitted [https://github.com/KhronosGroup/VK-GL-CTS/pull/288] | ||
12 | Signed-off-by: Trevor Woerner <twoerner@gmail.com> | ||
13 | --- | ||
14 | framework/egl/egluGLContextFactory.cpp | 4 ++-- | ||
15 | framework/egl/wrapper/eglwLibrary.cpp | 2 +- | ||
16 | framework/platform/android/tcuAndroidPlatform.cpp | 2 +- | ||
17 | framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp | 2 +- | ||
18 | .../platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp | 2 +- | ||
19 | framework/platform/surfaceless/tcuSurfacelessPlatform.cpp | 6 +++--- | ||
20 | 6 files changed, 9 insertions(+), 9 deletions(-) | ||
21 | |||
22 | --- a/framework/egl/egluGLContextFactory.cpp | ||
23 | +++ b/framework/egl/egluGLContextFactory.cpp | ||
24 | @@ -63,7 +63,7 @@ using std::vector; | ||
25 | # if (DE_OS == DE_OS_WIN32) | ||
26 | # define DEQP_GLES2_LIBRARY_PATH "libGLESv2.dll" | ||
27 | # else | ||
28 | -# define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so" | ||
29 | +# define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so.2" | ||
30 | # endif | ||
31 | #endif | ||
32 | |||
33 | @@ -75,7 +75,7 @@ using std::vector; | ||
34 | # if (DE_OS == DE_OS_WIN32) | ||
35 | # define DEQP_OPENGL_LIBRARY_PATH "opengl32.dll" | ||
36 | # else | ||
37 | -# define DEQP_OPENGL_LIBRARY_PATH "libGL.so" | ||
38 | +# define DEQP_OPENGL_LIBRARY_PATH "libGL.so.1" | ||
39 | # endif | ||
40 | #endif | ||
41 | |||
42 | --- a/framework/egl/wrapper/eglwLibrary.cpp | ||
43 | +++ b/framework/egl/wrapper/eglwLibrary.cpp | ||
44 | @@ -148,7 +148,7 @@ DefaultLibrary::~DefaultLibrary (void) | ||
45 | const char* DefaultLibrary::getLibraryFileName (void) | ||
46 | { | ||
47 | #if (DE_OS == DE_OS_ANDROID) || (DE_OS == DE_OS_UNIX) | ||
48 | - return "libEGL.so"; | ||
49 | + return "libEGL.so.1"; | ||
50 | #elif (DE_OS == DE_OS_WIN32) | ||
51 | return "libEGL.dll"; | ||
52 | #else | ||
53 | --- a/framework/platform/android/tcuAndroidPlatform.cpp | ||
54 | +++ b/framework/platform/android/tcuAndroidPlatform.cpp | ||
55 | @@ -57,7 +57,7 @@ static const eglu::NativeWindow::Capabil | ||
56 | class NativeDisplay : public eglu::NativeDisplay | ||
57 | { | ||
58 | public: | ||
59 | - NativeDisplay (void) : eglu::NativeDisplay(DISPLAY_CAPABILITIES), m_library("libEGL.so") {} | ||
60 | + NativeDisplay (void) : eglu::NativeDisplay(DISPLAY_CAPABILITIES), m_library("libEGL.so.1") {} | ||
61 | virtual ~NativeDisplay (void) {} | ||
62 | |||
63 | virtual EGLNativeDisplayType getLegacyNative (void) { return EGL_DEFAULT_DISPLAY; } | ||
64 | --- a/framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp | ||
65 | +++ b/framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp | ||
66 | @@ -75,7 +75,7 @@ class Library : public eglw::DefaultLibr | ||
67 | { | ||
68 | public: | ||
69 | Library (void) | ||
70 | - : eglw::DefaultLibrary("libEGL.so") | ||
71 | + : eglw::DefaultLibrary("libEGL.so.1") | ||
72 | { | ||
73 | } | ||
74 | |||
75 | --- a/framework/platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp | ||
76 | +++ b/framework/platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp | ||
77 | @@ -66,7 +66,7 @@ public: | ||
78 | EGL_PLATFORM_WAYLAND_KHR, | ||
79 | "EGL_KHR_platform_wayland") | ||
80 | , m_display (waylandDisplay) | ||
81 | - , m_library ("libEGL.so") {} | ||
82 | + , m_library ("libEGL.so.1") {} | ||
83 | |||
84 | ~Display(void) {} | ||
85 | wayland::Display& getWaylandDisplay (void) { return *m_display; } | ||
86 | --- a/framework/platform/surfaceless/tcuSurfacelessPlatform.cpp | ||
87 | +++ b/framework/platform/surfaceless/tcuSurfacelessPlatform.cpp | ||
88 | @@ -69,7 +69,7 @@ using std::vector; | ||
89 | |||
90 | // Default library names | ||
91 | #if !defined(DEQP_GLES2_LIBRARY_PATH) | ||
92 | -# define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so" | ||
93 | +# define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so.2" | ||
94 | #endif | ||
95 | |||
96 | #if !defined(DEQP_GLES3_LIBRARY_PATH) | ||
97 | @@ -77,7 +77,7 @@ using std::vector; | ||
98 | #endif | ||
99 | |||
100 | #if !defined(DEQP_OPENGL_LIBRARY_PATH) | ||
101 | -# define DEQP_OPENGL_LIBRARY_PATH "libGL.so" | ||
102 | +# define DEQP_OPENGL_LIBRARY_PATH "libGL.so.1" | ||
103 | #endif | ||
104 | |||
105 | #if !defined(DEQP_VULKAN_LIBRARY_PATH) | ||
106 | @@ -234,7 +234,7 @@ glu::RenderContext* ContextFactory::crea | ||
107 | } | ||
108 | |||
109 | EglRenderContext::EglRenderContext(const glu::RenderConfig& config, const tcu::CommandLine& cmdLine) | ||
110 | - : m_egl("libEGL.so") | ||
111 | + : m_egl("libEGL.so.1") | ||
112 | , m_contextType(config.type) | ||
113 | , m_eglDisplay(EGL_NO_DISPLAY) | ||
114 | , m_eglContext(EGL_NO_CONTEXT) | ||
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.12.0.bb b/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.12.0.bb new file mode 100644 index 0000000000..1bcbed1600 --- /dev/null +++ b/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.12.0.bb | |||
@@ -0,0 +1,30 @@ | |||
1 | DESCRIPTION = "OpenGL CTS" | ||
2 | |||
3 | require khronos-cts.inc | ||
4 | |||
5 | SRCREV_vk-gl-cts = "42e61858e862e153cd0fe36593a8c3f7c16c3275" | ||
6 | |||
7 | require opengl-es-cts-sources.inc | ||
8 | |||
9 | EXTRA_OECMAKE += "-DSELECTED_BUILD_TARGETS="cts-runner deqp-egl deqp-gles2 deqp-gles3 deqp-gles31 deqp-gl-shared de-internal-tests glcts"" | ||
10 | |||
11 | do_install() { | ||
12 | install -d ${D}/${CTSDIR} | ||
13 | cp -r ${B}/external/openglcts/modules/* ${D}/${CTSDIR} | ||
14 | cp -r ${S}/external/openglcts/data/gl_cts/data/mustpass/ ${D}/${CTSDIR}/mustpass/ | ||
15 | |||
16 | install -m 0755 ${B}/modules/egl/deqp-egl ${D}/${CTSDIR} | ||
17 | install -m 0755 ${B}/modules/gles2/deqp-gles2 ${D}/${CTSDIR} | ||
18 | install -m 0755 ${B}/modules/gles3/deqp-gles3 ${D}/${CTSDIR} | ||
19 | install -m 0755 ${B}/modules/gles31/deqp-gles31 ${D}/${CTSDIR} | ||
20 | install -m 0755 ${B}/modules/internal/de-internal-tests ${D}/${CTSDIR} | ||
21 | |||
22 | rm -rf ${D}/${CTSDIR}/*.a ${D}/${CTSDIR}/cmake_install.cmake ${D}/${CTSDIR}/CMakeFiles | ||
23 | rm -rf ${D}/${CTSDIR}/*/*.a ${D}/${CTSDIR}/*/cmake_install.cmake ${D}/${CTSDIR}/*/CMakeFiles | ||
24 | rm -rf ${D}/${CTSDIR}/common/subgroups/*.a ${D}/${CTSDIR}/common/subgroups/cmake_install.cmake ${D}/${CTSDIR}/common/subgroups/CMakeFiles | ||
25 | } | ||
26 | |||
27 | SECURITY_CFLAGS:riscv64 = "${SECURITY_NOPIE_CFLAGS}" | ||
28 | # GCC-15 segfaults see - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120119 | ||
29 | TUNE_CCARGS:remove:aarch64 = "-mcpu=cortex-a57+crc" | ||
30 | LTO = "" | ||
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.9.3.bb b/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.9.3.bb deleted file mode 100644 index 0656d724b4..0000000000 --- a/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.9.3.bb +++ /dev/null | |||
@@ -1,40 +0,0 @@ | |||
1 | DESCRIPTION = "OpenGL CTS" | ||
2 | |||
3 | require khronos-cts.inc | ||
4 | # opengl-es-cts-3.2.9.3 | ||
5 | SRCREV_vk-gl-cts = "7f5fb62245d535a1fc0bf50b2c7e5a342dc551fe" | ||
6 | SRCREV_amber = "933ecb4d6288675a92eb1650e0f52b1d7afe8273" | ||
7 | SRCREV_glslang = "a0ad0d7067521fff880e36acfb8ce453421c3f25" | ||
8 | SRCREV_spirv-headers = "87d5b782bec60822aa878941e6b13c0a9a954c9b" | ||
9 | SRCREV_spirv-tools = "f98473ceeb1d33700d01e20910433583e5256030" | ||
10 | SRCREV_ESExtractor = "ce5d7ebcf0ebb0d78385ee4cc34653eb6764bfc4" | ||
11 | # Not yet needed | ||
12 | SRCREV_jsoncpp = "9059f5cad030ba11d37818847443a53918c327b1" | ||
13 | SRCREV_vulkan-docs = "9a2e576a052a1e65a5d41b593e693ff02745604b" | ||
14 | SRCREV_video-parser = "7d68747d3524842afaf050c5e00a10f5b8c07904" | ||
15 | SRC_URI[renderdoc.sha256sum] = "e7b5f0aa5b1b0eadc63a1c624c0ca7f5af133aa857d6a4271b0ef3d0bdb6868e" | ||
16 | |||
17 | SRC_URI += "\ | ||
18 | git://github.com/nvpro-samples/vk_video_samples.git;protocol=https;destsuffix=git/external/video-parser/src;name=video-parser;branch=main \ | ||
19 | file://gen-framework-path.patch \ | ||
20 | " | ||
21 | S = "${WORKDIR}/git" | ||
22 | |||
23 | do_install() { | ||
24 | install -d ${D}/${CTSDIR} | ||
25 | cp -r ${B}/external/openglcts/modules/* ${D}/${CTSDIR} | ||
26 | |||
27 | install -m 0755 ${B}/modules/egl/deqp-egl ${D}/${CTSDIR} | ||
28 | install -m 0755 ${B}/modules/gles2/deqp-gles2 ${D}/${CTSDIR} | ||
29 | install -m 0755 ${B}/modules/gles3/deqp-gles3 ${D}/${CTSDIR} | ||
30 | install -m 0755 ${B}/modules/gles31/deqp-gles31 ${D}/${CTSDIR} | ||
31 | install -m 0755 ${B}/modules/internal/de-internal-tests ${D}/${CTSDIR} | ||
32 | |||
33 | rm -rf ${D}/${CTSDIR}/*.a ${D}/${CTSDIR}/cmake_install.cmake ${D}/${CTSDIR}/CMakeFiles | ||
34 | rm -rf ${D}/${CTSDIR}/*/*.a ${D}/${CTSDIR}/*/cmake_install.cmake ${D}/${CTSDIR}/*/CMakeFiles | ||
35 | rm -rf ${D}/${CTSDIR}/common/subgroups/*.a ${D}/${CTSDIR}/common/subgroups/cmake_install.cmake ${D}/${CTSDIR}/common/subgroups/CMakeFiles | ||
36 | } | ||
37 | |||
38 | SECURITY_CFLAGS:riscv64 = "${SECURITY_NOPIE_CFLAGS}" | ||
39 | LTO = "" | ||
40 | |||
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts-sources.inc b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts-sources.inc new file mode 100644 index 0000000000..563da1007a --- /dev/null +++ b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts-sources.inc | |||
@@ -0,0 +1,26 @@ | |||
1 | |||
2 | # | ||
3 | # Generated by generate-srcuri.py, don't update manually") | ||
4 | # | ||
5 | |||
6 | RECIPE_UPGRADE_EXTRA_TASKS += "do_refresh_srcuri" | ||
7 | |||
8 | python __anonymous() { | ||
9 | if d.getVar("PV") != "1.4.2.1": | ||
10 | bb.warn("-sources.inc out of date, run refresh_srcuri task") | ||
11 | } | ||
12 | |||
13 | SRC_URI += " \ | ||
14 | https://raw.githubusercontent.com/baldurk/renderdoc/v1.1/renderdoc/api/app/renderdoc_app.h;subdir=${BB_GIT_DEFAULT_DESTSUFFIX}/external/renderdoc/src;sha256sum=e7b5f0aa5b1b0eadc63a1c624c0ca7f5af133aa857d6a4271b0ef3d0bdb6868e \ | ||
15 | git://github.com/KhronosGroup/SPIRV-Tools.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/spirv-tools/src;rev=3364b982713a0440d1d342dd5eec65b122a61b71 \ | ||
16 | git://github.com/KhronosGroup/glslang.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/glslang/src;rev=1b65bd602b23d401d1c4c86dfa90a36a52c66294 \ | ||
17 | git://github.com/KhronosGroup/SPIRV-Headers.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/spirv-headers/src;rev=767e901c986e9755a17e7939b3046fc2911a4bbd \ | ||
18 | git://github.com/KhronosGroup/Vulkan-Docs.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/vulkan-docs/src;rev=645c59c70e826d9738b6bb103316c03d887dfed3 \ | ||
19 | git://github.com/KhronosGroup/Vulkan-ValidationLayers.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/vulkan-validationlayers/src;rev=6cf616f131e9870c499a50441bca2d07ccda9733 \ | ||
20 | git://github.com/google/amber.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/amber/src;rev=6fa5ac1fb3b01c93eef3caa2aeb8841565e38d90 \ | ||
21 | git://github.com/open-source-parsers/jsoncpp.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/jsoncpp/src;rev=9059f5cad030ba11d37818847443a53918c327b1 \ | ||
22 | git://github.com/Igalia/vk_video_samples.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/nvidia-video-samples/src;rev=45fe88b456c683120138f052ea81f0a958ff3ec4 \ | ||
23 | git://github.com/KhronosGroup/Vulkan-Video-Samples.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/vulkan-video-samples/src;rev=0e87744edbb84c9c56c3fc8de9ea5150af5ee4ea \ | ||
24 | git://github.com/Igalia/video_generator.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/video_generator/src;rev=426300e12a5cc5d4676807039a1be237a2b68187 \ | ||
25 | file://0001-Fix-missing-include-cstdint-causing-build-failures.patch;patchdir=external/amber/src \ | ||
26 | " | ||
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts/0001-use-library-sonames-for-linking.patch b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts/0001-use-library-sonames-for-linking.patch deleted file mode 100644 index f12abd0c1a..0000000000 --- a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts/0001-use-library-sonames-for-linking.patch +++ /dev/null | |||
@@ -1,114 +0,0 @@ | |||
1 | From acd25c4b8d5b7e420a7a89bdfd6551c70de828b3 Mon Sep 17 00:00:00 2001 | ||
2 | From: Trevor Woerner <twoerner@gmail.com> | ||
3 | Date: Thu, 23 Sep 2021 19:36:43 -0400 | ||
4 | Subject: [PATCH] use library sonames for linking | ||
5 | |||
6 | The recommended "best practices" for applications is to link to library | ||
7 | sonames (e.g. libGL.so.1) instead of library names (e.g. libGL.so). This | ||
8 | ensures that applications don't try to use libraries if an incompatible ABI | ||
9 | change occurs. | ||
10 | |||
11 | Upstream-Status: Submitted [https://github.com/KhronosGroup/VK-GL-CTS/pull/288] | ||
12 | Signed-off-by: Trevor Woerner <twoerner@gmail.com> | ||
13 | --- | ||
14 | framework/egl/egluGLContextFactory.cpp | 4 ++-- | ||
15 | framework/egl/wrapper/eglwLibrary.cpp | 2 +- | ||
16 | framework/platform/android/tcuAndroidPlatform.cpp | 2 +- | ||
17 | framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp | 2 +- | ||
18 | .../platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp | 2 +- | ||
19 | framework/platform/surfaceless/tcuSurfacelessPlatform.cpp | 6 +++--- | ||
20 | 6 files changed, 9 insertions(+), 9 deletions(-) | ||
21 | |||
22 | --- a/framework/egl/egluGLContextFactory.cpp | ||
23 | +++ b/framework/egl/egluGLContextFactory.cpp | ||
24 | @@ -63,7 +63,7 @@ using std::vector; | ||
25 | # if (DE_OS == DE_OS_WIN32) | ||
26 | # define DEQP_GLES2_LIBRARY_PATH "libGLESv2.dll" | ||
27 | # else | ||
28 | -# define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so" | ||
29 | +# define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so.2" | ||
30 | # endif | ||
31 | #endif | ||
32 | |||
33 | @@ -75,7 +75,7 @@ using std::vector; | ||
34 | # if (DE_OS == DE_OS_WIN32) | ||
35 | # define DEQP_OPENGL_LIBRARY_PATH "opengl32.dll" | ||
36 | # else | ||
37 | -# define DEQP_OPENGL_LIBRARY_PATH "libGL.so" | ||
38 | +# define DEQP_OPENGL_LIBRARY_PATH "libGL.so.1" | ||
39 | # endif | ||
40 | #endif | ||
41 | |||
42 | --- a/framework/egl/wrapper/eglwLibrary.cpp | ||
43 | +++ b/framework/egl/wrapper/eglwLibrary.cpp | ||
44 | @@ -148,7 +148,7 @@ DefaultLibrary::~DefaultLibrary (void) | ||
45 | const char* DefaultLibrary::getLibraryFileName (void) | ||
46 | { | ||
47 | #if (DE_OS == DE_OS_ANDROID) || (DE_OS == DE_OS_UNIX) | ||
48 | - return "libEGL.so"; | ||
49 | + return "libEGL.so.1"; | ||
50 | #elif (DE_OS == DE_OS_WIN32) | ||
51 | return "libEGL.dll"; | ||
52 | #else | ||
53 | --- a/framework/platform/android/tcuAndroidPlatform.cpp | ||
54 | +++ b/framework/platform/android/tcuAndroidPlatform.cpp | ||
55 | @@ -57,7 +57,7 @@ static const eglu::NativeWindow::Capabil | ||
56 | class NativeDisplay : public eglu::NativeDisplay | ||
57 | { | ||
58 | public: | ||
59 | - NativeDisplay (void) : eglu::NativeDisplay(DISPLAY_CAPABILITIES), m_library("libEGL.so") {} | ||
60 | + NativeDisplay (void) : eglu::NativeDisplay(DISPLAY_CAPABILITIES), m_library("libEGL.so.1") {} | ||
61 | virtual ~NativeDisplay (void) {} | ||
62 | |||
63 | virtual EGLNativeDisplayType getLegacyNative (void) { return EGL_DEFAULT_DISPLAY; } | ||
64 | --- a/framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp | ||
65 | +++ b/framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp | ||
66 | @@ -75,7 +75,7 @@ class Library : public eglw::DefaultLibr | ||
67 | { | ||
68 | public: | ||
69 | Library (void) | ||
70 | - : eglw::DefaultLibrary("libEGL.so") | ||
71 | + : eglw::DefaultLibrary("libEGL.so.1") | ||
72 | { | ||
73 | } | ||
74 | |||
75 | --- a/framework/platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp | ||
76 | +++ b/framework/platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp | ||
77 | @@ -66,7 +66,7 @@ public: | ||
78 | EGL_PLATFORM_WAYLAND_KHR, | ||
79 | "EGL_KHR_platform_wayland") | ||
80 | , m_display (waylandDisplay) | ||
81 | - , m_library ("libEGL.so") {} | ||
82 | + , m_library ("libEGL.so.1") {} | ||
83 | |||
84 | ~Display(void) {} | ||
85 | wayland::Display& getWaylandDisplay (void) { return *m_display; } | ||
86 | --- a/framework/platform/surfaceless/tcuSurfacelessPlatform.cpp | ||
87 | +++ b/framework/platform/surfaceless/tcuSurfacelessPlatform.cpp | ||
88 | @@ -69,7 +69,7 @@ using std::vector; | ||
89 | |||
90 | // Default library names | ||
91 | #if !defined(DEQP_GLES2_LIBRARY_PATH) | ||
92 | -# define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so" | ||
93 | +# define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so.2" | ||
94 | #endif | ||
95 | |||
96 | #if !defined(DEQP_GLES3_LIBRARY_PATH) | ||
97 | @@ -77,7 +77,7 @@ using std::vector; | ||
98 | #endif | ||
99 | |||
100 | #if !defined(DEQP_OPENGL_LIBRARY_PATH) | ||
101 | -# define DEQP_OPENGL_LIBRARY_PATH "libGL.so" | ||
102 | +# define DEQP_OPENGL_LIBRARY_PATH "libGL.so.1" | ||
103 | #endif | ||
104 | |||
105 | #if !defined(DEQP_VULKAN_LIBRARY_PATH) | ||
106 | @@ -237,7 +237,7 @@ glu::RenderContext* ContextFactory::crea | ||
107 | } | ||
108 | |||
109 | EglRenderContext::EglRenderContext(const glu::RenderConfig& config, const tcu::CommandLine& cmdLine, const glu::RenderContext *sharedContext) | ||
110 | - : m_egl("libEGL.so") | ||
111 | + : m_egl("libEGL.so.1") | ||
112 | , m_contextType(config.type) | ||
113 | , m_eglDisplay(EGL_NO_DISPLAY) | ||
114 | , m_eglContext(EGL_NO_CONTEXT) | ||
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.7.3.bb b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.7.3.bb deleted file mode 100644 index 1008a5fd42..0000000000 --- a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.7.3.bb +++ /dev/null | |||
@@ -1,38 +0,0 @@ | |||
1 | DESCRIPTION = "Vulkan CTS" | ||
2 | |||
3 | require khronos-cts.inc | ||
4 | |||
5 | SRC_URI += "git://github.com/Igalia/vk_video_samples.git;protocol=https;destsuffix=git/external/nvidia-video-samples/src;name=video-parser;nobranch=1" | ||
6 | |||
7 | # vulkan-cts-1.3.7.3 | ||
8 | SRCREV_vk-gl-cts = "d71a36db16d98313c431829432a136dbda692a08" | ||
9 | SRCREV_amber = "933ecb4d6288675a92eb1650e0f52b1d7afe8273" | ||
10 | SRCREV_glslang = "c5117b328afc86e16edff6ed6afe0fe7872a7cf3" | ||
11 | SRCREV_spirv-headers = "b8b9eb8640c8c0107ba580fbcb10f969022ca32c" | ||
12 | SRCREV_spirv-tools = "bfc94f63a7adbcf8ae166f5f108ac9f69079efc0" | ||
13 | SRCREV_jsoncpp = "9059f5cad030ba11d37818847443a53918c327b1" | ||
14 | SRCREV_vulkan-docs = "b9aad705f0d9e5e6734ac2ad671d5d1de57b05e0" | ||
15 | SRC_URI[renderdoc.sha256sum] = "e7b5f0aa5b1b0eadc63a1c624c0ca7f5af133aa857d6a4271b0ef3d0bdb6868e" | ||
16 | # Not yet needed | ||
17 | SRCREV_ESExtractor = "75ffcaf55bb069f7a23764194742d2fb78c7f71f" | ||
18 | SRCREV_video-parser = "138bbe048221d315962ddf8413aa6a08cc62a381" | ||
19 | |||
20 | SRC_URI += "file://0001-cmake-Define-WAYLAND_SCANNER-and-WAYLAND_PROTOCOLS_D.patch \ | ||
21 | file://0001-vulkan-cts-include-missing-cstdint.patch \ | ||
22 | " | ||
23 | |||
24 | TOOLCHAIN = "gcc" | ||
25 | |||
26 | S = "${WORKDIR}/git" | ||
27 | |||
28 | REQUIRED_DISTRO_FEATURES = "vulkan" | ||
29 | inherit features_check | ||
30 | |||
31 | DEPENDS += " vulkan-loader" | ||
32 | |||
33 | do_install() { | ||
34 | install -d ${D}/${CTSDIR} | ||
35 | cp -r ${B}/external/vulkancts/modules/vulkan/* ${D}/${CTSDIR}/ | ||
36 | rm -rf ${D}/${CTSDIR}/*.a ${D}/${CTSDIR}/cmake_install.cmake ${D}/${CTSDIR}/CMakeFiles | ||
37 | rm -rf ${D}/${CTSDIR}/*/*.a ${D}/${CTSDIR}/*/cmake_install.cmake ${D}/${CTSDIR}/*/CMakeFiles | ||
38 | } | ||
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.4.2.1.bb b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.4.2.1.bb new file mode 100644 index 0000000000..abbd026047 --- /dev/null +++ b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.4.2.1.bb | |||
@@ -0,0 +1,25 @@ | |||
1 | DESCRIPTION = "Vulkan CTS" | ||
2 | |||
3 | require khronos-cts.inc | ||
4 | |||
5 | SRCREV_vk-gl-cts = "644f10ca39dea3b7d9dbadaa75c56206b499a520" | ||
6 | |||
7 | require vulkan-cts-sources.inc | ||
8 | |||
9 | # Workaround an optimization bug that breaks createMeshShaderMiscTestsEXT | ||
10 | OECMAKE_CXX_FLAGS:remove:toolchain-gcc = "-O2" | ||
11 | |||
12 | REQUIRED_DISTRO_FEATURES = "vulkan" | ||
13 | inherit features_check | ||
14 | |||
15 | DEPENDS += " vulkan-loader" | ||
16 | |||
17 | EXTRA_OECMAKE += "-DSELECTED_BUILD_TARGETS="deqp-vk deqp-vksc"" | ||
18 | |||
19 | do_install() { | ||
20 | install -d ${D}/${CTSDIR}/mustpass | ||
21 | cp -r ${B}/external/vulkancts/modules/vulkan/* ${D}/${CTSDIR}/ | ||
22 | cp -r ${S}/external/vulkancts/mustpass/main/ ${D}/${CTSDIR}/mustpass/ | ||
23 | rm -rf ${D}/${CTSDIR}/*.a ${D}/${CTSDIR}/cmake_install.cmake ${D}/${CTSDIR}/CMakeFiles | ||
24 | rm -rf ${D}/${CTSDIR}/*/*.a ${D}/${CTSDIR}/*/cmake_install.cmake ${D}/${CTSDIR}/*/CMakeFiles | ||
25 | } | ||