summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2022-09-03 00:27:30 -0700
committerKhem Raj <raj.khem@gmail.com>2022-09-11 23:27:08 -0700
commit1bd5688a0b9d2df7a079783cc28f7a92d9d9af0d (patch)
tree3416a26929da126c664fc99a64bb3c185ab813d9
parent21928e8aede47d87a27be5a0506d8d26813ce1e3 (diff)
downloadmeta-openembedded-1bd5688a0b9d2df7a079783cc28f7a92d9d9af0d.tar.gz
vulkan-cts,opengl-es-cts: Upgrade to1.3.3.1 and 3.2.8 respectively
Add needed depednency on vulkan-docs, jsoncpp and python3-xml-native as they are added newly in these versions. Delete patches already applied in this release Backport one amber patch to fix compile with clang Forward port the remaining patches Add mechanism to run target test binaries using qemu usermode Override WAYLAND_SCANNER and WAYLAND_PROTOCOLS_DIR Let these variables be set via cmake cmdline before enquiring via pkg-config Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/files/0001-Include-limits-header-for-numeric_limits.patch88
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/files/0001-Remove-dead-variable-984.patch34
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/files/0001-Workaround-for-GCC-11-uninit-variable-warnings-946.patch73
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/files/0001-cmake-Define-WAYLAND_SCANNER-and-WAYLAND_PROTOCOLS_D.patch37
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/files/0001-use-library-sonames-for-linking.patch20
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc30
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.7.0.bb31
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.8.0.bb36
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.6.0.bb24
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.3.1.bb28
10 files changed, 161 insertions, 240 deletions
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Include-limits-header-for-numeric_limits.patch b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Include-limits-header-for-numeric_limits.patch
deleted file mode 100644
index 746497d047..0000000000
--- a/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Include-limits-header-for-numeric_limits.patch
+++ /dev/null
@@ -1,88 +0,0 @@
1From aec0be857ed3faef8802c7fd61f3d7798a565108 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 29 Apr 2021 16:03:42 -0700
4Subject: [PATCH] Include <limits> header for numeric_limits
5
6Fixes
7vulkancts/framework/vulkan/vkRayTracingUtil.hpp:116:32: error: 'numeric_limits' is not a member of 'std'
8
9Upstream-Status: Pending
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11---
12 framework/vulkan/vkRayTracingUtil.hpp | 1 +
13 modules/vulkan/api/vktApiBufferTests.cpp | 1 +
14 modules/vulkan/spirv_assembly/vktSpvAsmNonSemanticInfoTests.cpp | 2 ++
15 3 files changed, 4 insertions(+)
16
17--- a/framework/vulkan/vkRayTracingUtil.hpp
18+++ b/framework/vulkan/vkRayTracingUtil.hpp
19@@ -33,6 +33,7 @@
20 #include "tcuVector.hpp"
21 #include "tcuVectorType.hpp"
22
23+#include <limits>
24 #include <vector>
25
26 namespace vk
27--- a/modules/vulkan/api/vktApiBufferTests.cpp
28+++ b/modules/vulkan/api/vktApiBufferTests.cpp
29@@ -35,6 +35,7 @@
30 #include "tcuPlatform.hpp"
31
32 #include <algorithm>
33+#include <limits>
34
35 namespace vkt
36 {
37--- a/modules/vulkan/spirv_assembly/vktSpvAsmNonSemanticInfoTests.cpp
38+++ b/modules/vulkan/spirv_assembly/vktSpvAsmNonSemanticInfoTests.cpp
39@@ -28,6 +28,8 @@
40 #include "vktSpvAsmComputeShaderCase.hpp"
41 #include "vktSpvAsmGraphicsShaderTestUtil.hpp"
42
43+#include <limits>
44+
45 namespace vkt
46 {
47 namespace SpirVAssembly
48--- a/modules/vulkan/memory/vktMemoryDeviceMemoryReportTests.cpp
49+++ b/modules/vulkan/memory/vktMemoryDeviceMemoryReportTests.cpp
50@@ -40,6 +40,7 @@
51
52 #include "deSharedPtr.hpp"
53
54+#include <limits>
55 #include <set>
56 #include <vector>
57
58--- a/modules/vulkan/draw/vktDrawDepthClampTests.cpp
59+++ b/modules/vulkan/draw/vktDrawDepthClampTests.cpp
60@@ -38,6 +38,7 @@
61 #include "vkQueryUtil.hpp"
62 #include "tcuTextureUtil.hpp"
63
64+#include <limits>
65 #include <cmath>
66
67 namespace vkt
68--- a/modules/vulkan/wsi/vktWsiFullScreenExclusiveTests.cpp
69+++ b/modules/vulkan/wsi/vktWsiFullScreenExclusiveTests.cpp
70@@ -39,6 +39,8 @@
71 #include "tcuPlatform.hpp"
72 #include "tcuCommandLine.hpp"
73
74+#include <limits>
75+
76 #if ( DE_OS == DE_OS_WIN32 )
77 #define NOMINMAX
78 #define WIN32_LEAN_AND_MEAN
79--- a/modules/vulkan/synchronization/vktSynchronizationUtil.cpp
80+++ b/modules/vulkan/synchronization/vktSynchronizationUtil.cpp
81@@ -21,6 +21,7 @@
82 * \brief Synchronization tests utilities
83 *//*--------------------------------------------------------------------*/
84
85+#include <limits>
86 #include "vktSynchronizationUtil.hpp"
87 #include "vkTypeUtil.hpp"
88 #include "vkCmdUtil.hpp"
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Remove-dead-variable-984.patch b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Remove-dead-variable-984.patch
new file mode 100644
index 0000000000..c29d80aa10
--- /dev/null
+++ b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Remove-dead-variable-984.patch
@@ -0,0 +1,34 @@
1From 0d863b444c9a54a92dab176b1b656c116923e1ca Mon Sep 17 00:00:00 2001
2From: alan-baker <alanbaker@google.com>
3Date: Wed, 30 Mar 2022 12:59:28 -0400
4Subject: [PATCH] Remove dead variable (#984)
5
6Upstream-Status: Backport [https://github.com/google/amber/commit/627ee453d6047ced0e2dd13cde983b341d0615e3]
7Signed-off-by: Khem Raj <raj.khem@gmail.com>
8---
9 src/vkscript/command_parser.cc | 2 --
10 1 file changed, 2 deletions(-)
11
12diff --git a/src/vkscript/command_parser.cc b/src/vkscript/command_parser.cc
13index 610c7e6..3429d4d 100644
14--- a/src/vkscript/command_parser.cc
15+++ b/src/vkscript/command_parser.cc
16@@ -486,7 +486,6 @@ Result CommandParser::ParseValues(const std::string& name,
17 std::vector<Value>* values) {
18 assert(values);
19
20- uint32_t row_index = 0;
21 auto token = tokenizer_->NextToken();
22 size_t seen = 0;
23 while (!token->IsEOL() && !token->IsEOS()) {
24@@ -515,7 +514,6 @@ Result CommandParser::ParseValues(const std::string& name,
25 values->push_back(v);
26 token = tokenizer_->NextToken();
27
28- ++row_index;
29 ++seen;
30 }
31
32--
332.37.3
34
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Workaround-for-GCC-11-uninit-variable-warnings-946.patch b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Workaround-for-GCC-11-uninit-variable-warnings-946.patch
deleted file mode 100644
index 6c87cad0a6..0000000000
--- a/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Workaround-for-GCC-11-uninit-variable-warnings-946.patch
+++ /dev/null
@@ -1,73 +0,0 @@
1From 9cd614dd5481a4fdf552effac4820f51a10092c7 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Mika=20V=C3=A4in=C3=B6l=C3=A4?=
3 <33728696+mvainola@users.noreply.github.com>
4Date: Wed, 7 Apr 2021 13:12:17 +0300
5Subject: [PATCH] Workaround for GCC 11 uninit variable warnings (#946)
6
7Building Amber with GCC 11.0.1 produces some uninitialized variable
8warnings. This commit works around them by replacing
9reinterpret_cast with memcpy when type punning unsigned integers to
10floats.
11
12Upstream-Status: Backport [https://github.com/google/amber/commit/aa69a0ac23ea7f68dd32bbef210546a5d84c1734]
13---
14 src/float16_helper.cc | 22 ++++++++++++++++------
15 1 file changed, 16 insertions(+), 6 deletions(-)
16
17diff --git a/src/float16_helper.cc b/src/float16_helper.cc
18index 617bd72..5cb35e7 100644
19--- a/src/float16_helper.cc
20+++ b/src/float16_helper.cc
21@@ -15,6 +15,7 @@
22 #include "src/float16_helper.h"
23
24 #include <cassert>
25+#include <cstring>
26
27 // Float10
28 // | 9 8 7 6 5 | 4 3 2 1 0 |
29@@ -75,8 +76,11 @@ float HexFloat16ToFloat(const uint8_t* value) {
30 }
31
32 uint32_t hex = sign | exponent | mantissa;
33- float* hex_float = reinterpret_cast<float*>(&hex);
34- return *hex_float;
35+ float hex_float;
36+ static_assert((sizeof(uint32_t) == sizeof(float)),
37+ "sizeof(uint32_t) != sizeof(float)");
38+ memcpy(&hex_float, &hex, sizeof(float));
39+ return hex_float;
40 }
41
42 // Convert float |value| whose size is 11 bits to 32 bits float
43@@ -89,8 +93,11 @@ float HexFloat11ToFloat(const uint8_t* value) {
44 uint32_t mantissa = (static_cast<uint32_t>(value[0]) & 0x3f) << 17U;
45
46 uint32_t hex = exponent | mantissa;
47- float* hex_float = reinterpret_cast<float*>(&hex);
48- return *hex_float;
49+ float hex_float;
50+ static_assert((sizeof(uint32_t) == sizeof(float)),
51+ "sizeof(uint32_t) != sizeof(float)");
52+ memcpy(&hex_float, &hex, sizeof(float));
53+ return hex_float;
54 }
55
56 // Convert float |value| whose size is 10 bits to 32 bits float
57@@ -103,8 +110,11 @@ float HexFloat10ToFloat(const uint8_t* value) {
58 uint32_t mantissa = (static_cast<uint32_t>(value[0]) & 0x1f) << 18U;
59
60 uint32_t hex = exponent | mantissa;
61- float* hex_float = reinterpret_cast<float*>(&hex);
62- return *hex_float;
63+ float hex_float;
64+ static_assert((sizeof(uint32_t) == sizeof(float)),
65+ "sizeof(uint32_t) != sizeof(float)");
66+ memcpy(&hex_float, &hex, sizeof(float));
67+ return hex_float;
68 }
69
70 } // namespace
71--
722.31.1
73
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
new file mode 100644
index 0000000000..d7000b7da1
--- /dev/null
+++ b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-cmake-Define-WAYLAND_SCANNER-and-WAYLAND_PROTOCOLS_D.patch
@@ -0,0 +1,37 @@
1From ec12bb7bda60cdf2c848e13df67452a7d30a42be Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 3 Sep 2022 18:52:42 -0700
4Subject: [PATCH] cmake: Define WAYLAND_SCANNER and WAYLAND_PROTOCOLS_DIR if
5 not already defined
6
7This helps with cross compiling and providing these knobs from cmake
8cmdline
9
10Upstream-Status: Pending
11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12---
13 framework/platform/CMakeLists.txt | 8 ++++++--
14 1 file changed, 6 insertions(+), 2 deletions(-)
15
16diff --git a/framework/platform/CMakeLists.txt b/framework/platform/CMakeLists.txt
17index c3ac463e4..030163f6c 100644
18--- a/framework/platform/CMakeLists.txt
19+++ b/framework/platform/CMakeLists.txt
20@@ -73,8 +73,12 @@ if (NOT DEFINED TCUTIL_PLATFORM_SRCS)
21 add_definitions(-DDEQP_SUPPORT_WAYLAND=1)
22 include_directories(lnx/wayland)
23
24- pkg_get_variable(WAYLAND_PROTOCOLS_DIR wayland-protocols pkgdatadir)
25- pkg_get_variable(WAYLAND_SCANNER wayland-scanner wayland_scanner)
26+ if (NOT DEFINED WAYLAND_PROTOCOLS_DIR)
27+ pkg_get_variable(WAYLAND_PROTOCOLS_DIR wayland-protocols pkgdatadir)
28+ endif()
29+ if (NOT DEFINED WAYLAND_SCANNER)
30+ pkg_get_variable(WAYLAND_SCANNER wayland-scanner wayland_scanner)
31+ endif()
32
33 set(DEQP_XDG_SHELL_PROTOCOL ${WAYLAND_PROTOCOLS_DIR}/stable/xdg-shell/xdg-shell.xml)
34 set(DEQP_XDG_SHELL_GEN_OUTPUTS_DIR ${PROJECT_BINARY_DIR}/framework/platform)
35--
362.37.3
37
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
index cb396c37d7..b5a1d331ed 100644
--- 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
@@ -19,8 +19,6 @@ Signed-off-by: Trevor Woerner <twoerner@gmail.com>
19 framework/platform/surfaceless/tcuSurfacelessPlatform.cpp | 6 +++--- 19 framework/platform/surfaceless/tcuSurfacelessPlatform.cpp | 6 +++---
20 6 files changed, 9 insertions(+), 9 deletions(-) 20 6 files changed, 9 insertions(+), 9 deletions(-)
21 21
22diff --git a/framework/egl/egluGLContextFactory.cpp b/framework/egl/egluGLContextFactory.cpp
23index 8fbea2af1..8d42f19eb 100644
24--- a/framework/egl/egluGLContextFactory.cpp 22--- a/framework/egl/egluGLContextFactory.cpp
25+++ b/framework/egl/egluGLContextFactory.cpp 23+++ b/framework/egl/egluGLContextFactory.cpp
26@@ -63,7 +63,7 @@ using std::vector; 24@@ -63,7 +63,7 @@ using std::vector;
@@ -41,8 +39,6 @@ index 8fbea2af1..8d42f19eb 100644
41 # endif 39 # endif
42 #endif 40 #endif
43 41
44diff --git a/framework/egl/wrapper/eglwLibrary.cpp b/framework/egl/wrapper/eglwLibrary.cpp
45index d7e07fe18..ebdf68b14 100644
46--- a/framework/egl/wrapper/eglwLibrary.cpp 42--- a/framework/egl/wrapper/eglwLibrary.cpp
47+++ b/framework/egl/wrapper/eglwLibrary.cpp 43+++ b/framework/egl/wrapper/eglwLibrary.cpp
48@@ -148,7 +148,7 @@ DefaultLibrary::~DefaultLibrary (void) 44@@ -148,7 +148,7 @@ DefaultLibrary::~DefaultLibrary (void)
@@ -54,11 +50,9 @@ index d7e07fe18..ebdf68b14 100644
54 #elif (DE_OS == DE_OS_WIN32) 50 #elif (DE_OS == DE_OS_WIN32)
55 return "libEGL.dll"; 51 return "libEGL.dll";
56 #else 52 #else
57diff --git a/framework/platform/android/tcuAndroidPlatform.cpp b/framework/platform/android/tcuAndroidPlatform.cpp
58index b9a4c716f..05cec0b49 100644
59--- a/framework/platform/android/tcuAndroidPlatform.cpp 53--- a/framework/platform/android/tcuAndroidPlatform.cpp
60+++ b/framework/platform/android/tcuAndroidPlatform.cpp 54+++ b/framework/platform/android/tcuAndroidPlatform.cpp
61@@ -57,7 +57,7 @@ static const eglu::NativeWindow::Capability WINDOW_CAPABILITIES = (eglu::Nativ 55@@ -57,7 +57,7 @@ static const eglu::NativeWindow::Capabil
62 class NativeDisplay : public eglu::NativeDisplay 56 class NativeDisplay : public eglu::NativeDisplay
63 { 57 {
64 public: 58 public:
@@ -67,11 +61,9 @@ index b9a4c716f..05cec0b49 100644
67 virtual ~NativeDisplay (void) {} 61 virtual ~NativeDisplay (void) {}
68 62
69 virtual EGLNativeDisplayType getLegacyNative (void) { return EGL_DEFAULT_DISPLAY; } 63 virtual EGLNativeDisplayType getLegacyNative (void) { return EGL_DEFAULT_DISPLAY; }
70diff --git a/framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp b/framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp
71index 009c05e18..237c5e16f 100644
72--- a/framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp 64--- a/framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp
73+++ b/framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp 65+++ b/framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp
74@@ -75,7 +75,7 @@ class Library : public eglw::DefaultLibrary 66@@ -75,7 +75,7 @@ class Library : public eglw::DefaultLibr
75 { 67 {
76 public: 68 public:
77 Library (void) 69 Library (void)
@@ -80,8 +72,6 @@ index 009c05e18..237c5e16f 100644
80 { 72 {
81 } 73 }
82 74
83diff --git a/framework/platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp b/framework/platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp
84index 97bc3a0ed..3a20d63d3 100644
85--- a/framework/platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp 75--- a/framework/platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp
86+++ b/framework/platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp 76+++ b/framework/platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp
87@@ -66,7 +66,7 @@ public: 77@@ -66,7 +66,7 @@ public:
@@ -93,8 +83,6 @@ index 97bc3a0ed..3a20d63d3 100644
93 83
94 ~Display(void) {} 84 ~Display(void) {}
95 wayland::Display& getWaylandDisplay (void) { return *m_display; } 85 wayland::Display& getWaylandDisplay (void) { return *m_display; }
96diff --git a/framework/platform/surfaceless/tcuSurfacelessPlatform.cpp b/framework/platform/surfaceless/tcuSurfacelessPlatform.cpp
97index 9783eaeab..a1d8ac667 100644
98--- a/framework/platform/surfaceless/tcuSurfacelessPlatform.cpp 86--- a/framework/platform/surfaceless/tcuSurfacelessPlatform.cpp
99+++ b/framework/platform/surfaceless/tcuSurfacelessPlatform.cpp 87+++ b/framework/platform/surfaceless/tcuSurfacelessPlatform.cpp
100@@ -69,7 +69,7 @@ using std::vector; 88@@ -69,7 +69,7 @@ using std::vector;
@@ -114,8 +102,8 @@ index 9783eaeab..a1d8ac667 100644
114+# define DEQP_OPENGL_LIBRARY_PATH "libGL.so.1" 102+# define DEQP_OPENGL_LIBRARY_PATH "libGL.so.1"
115 #endif 103 #endif
116 104
117 namespace tcu 105 #if !defined(DEQP_VULKAN_LIBRARY_PATH)
118@@ -238,7 +238,7 @@ glu::RenderContext* ContextFactory::createContext(const glu::RenderConfig& confi 106@@ -234,7 +234,7 @@ glu::RenderContext* ContextFactory::crea
119 } 107 }
120 108
121 EglRenderContext::EglRenderContext(const glu::RenderConfig& config, const tcu::CommandLine& cmdLine) 109 EglRenderContext::EglRenderContext(const glu::RenderConfig& config, const tcu::CommandLine& cmdLine)
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 7d73bfbf31..f9074556f1 100644
--- a/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc
+++ b/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc
@@ -7,23 +7,24 @@ SRC_URI = "\
7 git://github.com/KhronosGroup/glslang.git;protocol=https;destsuffix=git/external/glslang/src;name=glslang;branch=master \ 7 git://github.com/KhronosGroup/glslang.git;protocol=https;destsuffix=git/external/glslang/src;name=glslang;branch=master \
8 git://github.com/KhronosGroup/SPIRV-Headers.git;protocol=https;destsuffix=git/external/spirv-headers/src;name=spirv-headers;branch=master \ 8 git://github.com/KhronosGroup/SPIRV-Headers.git;protocol=https;destsuffix=git/external/spirv-headers/src;name=spirv-headers;branch=master \
9 git://github.com/KhronosGroup/SPIRV-Tools.git;protocol=https;destsuffix=git/external/spirv-tools/src;name=spirv-tools;branch=master \ 9 git://github.com/KhronosGroup/SPIRV-Tools.git;protocol=https;destsuffix=git/external/spirv-tools/src;name=spirv-tools;branch=master \
10 https://raw.githubusercontent.com/baldurk/renderdoc/v1.1/renderdoc/api/app/renderdoc_app.h;subdir=git/external/renderdoc/src;name=renderdoc \ 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/fcdea67879fa1991e56cf7734ce0ce27866b665f/renderdoc/api/app/renderdoc_app.h;subdir=git/external/renderdoc/src;name=renderdoc \
11" 13"
12 14
13S = "${WORKDIR}/git" 15S = "${WORKDIR}/git"
14 16
15SRCREV_FORMAT = "vk-gl-cts_amber_glslang_spirv-headers_spirv-tools" 17SRCREV_FORMAT = "vk-gl-cts_amber_glslang_spirv-headers_spirv-tools_jsoncpp_vulkan-docs"
16 18
17S = "${WORKDIR}/git" 19S = "${WORKDIR}/git"
18 20
19inherit pkgconfig cmake features_check 21inherit pkgconfig cmake features_check python3native qemu
20 22
21ANY_OF_DISTRO_FEATURES += "opengl wayland" 23ANY_OF_DISTRO_FEATURES += "opengl wayland"
22 24
23DEPENDS += "libpng zlib virtual/libgles2" 25DEPENDS += "python3-lxml-native libpng zlib virtual/libgles2 qemu-native"
24 26
25SRC_URI += "file://0001-Workaround-for-GCC-11-uninit-variable-warnings-946.patch;patchdir=external/amber/src \ 27SRC_URI += " \
26 file://0001-Include-limits-header-for-numeric_limits.patch;patchdir=external/vulkancts \
27 file://0001-vulkancts.patch \ 28 file://0001-vulkancts.patch \
28 file://0001-use-library-sonames-for-linking.patch \ 29 file://0001-use-library-sonames-for-linking.patch \
29" 30"
@@ -37,6 +38,8 @@ SRC_URI:append:toolchain-clang = "\
37 file://fix-clang-private-operator.patch \ 38 file://fix-clang-private-operator.patch \
38" 39"
39 40
41EXTRA_OECMAKE:prepend:class-target = "-DCMAKE_CROSSCOMPILING_EMULATOR=${WORKDIR}/qemuwrapper -DWAYLAND_SCANNER=${STAGING_BINDIR_NATIVE}/wayland-scanner -DWAYLAND_PROTOCOLS_DIR=${STAGING_DATADIR}/wayland-protocols"
42
40# The best thing for the user to do is to not specify any of the following 43# The best thing for the user to do is to not specify any of the following
41# PACKAGECONFIGs (i.e. leave it blank) which tells the project to do its own 44# PACKAGECONFIGs (i.e. leave it blank) which tells the project to do its own
42# probing and build what it thinks is appropriate. 45# probing and build what it thinks is appropriate.
@@ -44,11 +47,22 @@ SRC_URI:append:toolchain-clang = "\
44# to override this behaviour. 47# to override this behaviour.
45PACKAGECONFIG ??= "" 48PACKAGECONFIG ??= ""
46PACKAGECONFIG[surfaceless] = "-DDEQP_TARGET=surfaceless,,,,,wayland x11_egl x11_glx x11_egl_glx" 49PACKAGECONFIG[surfaceless] = "-DDEQP_TARGET=surfaceless,,,,,wayland x11_egl x11_glx x11_egl_glx"
47PACKAGECONFIG[wayland] = "-DDEQP_TARGET=wayland,,wayland,,,surfaceless x11_egl x11_glx x11_egl_glx" 50PACKAGECONFIG[wayland] = "-DDEQP_TARGET=wayland,,wayland-native wayland wayland-protocols,,,surfaceless x11_egl x11_glx x11_egl_glx"
48PACKAGECONFIG[x11_egl] = "-DDEQP_TARGET=x11_egl,,virtual/libx11 virtual/egl,,,surfaceless wayland x11_glx x11_egl_glx" 51PACKAGECONFIG[x11_egl] = "-DDEQP_TARGET=x11_egl,,virtual/libx11 virtual/egl,,,surfaceless wayland x11_glx x11_egl_glx"
49PACKAGECONFIG[x11_glx] = "-DDEQP_TARGET=x11_glx,,virtual/libx11,,,surfaceless wayland x11_egl x11_egl_glx" 52PACKAGECONFIG[x11_glx] = "-DDEQP_TARGET=x11_glx,,virtual/libx11,,,surfaceless wayland x11_egl x11_egl_glx"
50PACKAGECONFIG[x11_egl_glx] = "-DDEQP_TARGET=x11_glx,,virtual/libx11 virtual/egl,,,surfaceless wayland x11_egl x11_glx" 53PACKAGECONFIG[x11_egl_glx] = "-DDEQP_TARGET=x11_glx,,virtual/libx11 virtual/egl,,,surfaceless wayland x11_egl x11_glx"
51 54
55do_configure:append() {
56 # Write out a qemu wrapper that will be used by cmake
57 # so that it can run target helper binaries through that.
58 qemu_binary="${@qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), [d.expand('${STAGING_DIR_HOST}${libdir}'),d.expand('${STAGING_DIR_HOST}${base_libdir}')])}"
59 cat > ${WORKDIR}/qemuwrapper << EOF
60#!/bin/sh
61$qemu_binary "\$@"
62EOF
63 chmod +x ${WORKDIR}/qemuwrapper
64}
65
52python __anonymous() { 66python __anonymous() {
53 # if the user doesn't specify any PACKAGECONFIG then the cts build system 67 # if the user doesn't specify any PACKAGECONFIG then the cts build system
54 # is going to probe the sysroot to try to figure out what to build 68 # is going to probe the sysroot to try to figure out what to build
@@ -57,7 +71,7 @@ python __anonymous() {
57 distrofeatures = (d.getVar("DISTRO_FEATURES") or "") 71 distrofeatures = (d.getVar("DISTRO_FEATURES") or "")
58 if not bb.utils.contains_any("PACKAGECONFIG", ["surfaceless", "wayland", "x11_egl", "x11_glx", "x11_egl_glx"], True, False, d): 72 if not bb.utils.contains_any("PACKAGECONFIG", ["surfaceless", "wayland", "x11_egl", "x11_glx", "x11_egl_glx"], True, False, d):
59 if "wayland" in distrofeatures: 73 if "wayland" in distrofeatures:
60 d.appendVar("DEPENDS", " wayland ") 74 d.appendVar("DEPENDS", " wayland-native wayland wayland-protocols")
61 if "x11" in distrofeatures: 75 if "x11" in distrofeatures:
62 d.appendVar("DEPENDS", " virtual/libx11 virtual/egl ") 76 d.appendVar("DEPENDS", " virtual/libx11 virtual/egl ")
63} 77}
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.7.0.bb b/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.7.0.bb
deleted file mode 100644
index 1c1371b032..0000000000
--- a/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.7.0.bb
+++ /dev/null
@@ -1,31 +0,0 @@
1DESCRIPTION = "OpenGL CTS"
2
3require khronos-cts.inc
4# opengl-es-cts-3.2.7.0
5SRCREV_vk-gl-cts = "7cba7113c40f2ff03573c8c2c90661b2249e04fa"
6SRCREV_amber = "4d0115cccfcb3b73d20b6513b1c40748e6403c50"
7SRCREV_glslang = "ffccefddfd9a02ec0c0b6dd04ef5e1042279c97f"
8SRCREV_spirv-headers = "104ecc356c1bea4476320faca64440cd1df655a3"
9SRCREV_spirv-tools = "cd590fa3341284cd6d1ee82366155786cfd44c96"
10SRC_URI[renderdoc.sha256sum] = "e7b5f0aa5b1b0eadc63a1c624c0ca7f5af133aa857d6a4271b0ef3d0bdb6868e"
11
12S = "${WORKDIR}/git"
13
14do_install() {
15 install -d ${D}/${CTSDIR}
16 cp -r ${B}/external/openglcts/modules/* ${D}/${CTSDIR}
17
18 install -m 0755 ${B}/modules/egl/deqp-egl ${D}/${CTSDIR}
19 install -m 0755 ${B}/modules/gles2/deqp-gles2 ${D}/${CTSDIR}
20 install -m 0755 ${B}/modules/gles3/deqp-gles3 ${D}/${CTSDIR}
21 install -m 0755 ${B}/modules/gles31/deqp-gles31 ${D}/${CTSDIR}
22 install -m 0755 ${B}/modules/internal/de-internal-tests ${D}/${CTSDIR}
23
24 rm -r ${D}/${CTSDIR}/*.a ${D}/${CTSDIR}/cmake_install.cmake ${D}/${CTSDIR}/CMakeFiles
25 rm -r ${D}/${CTSDIR}/*/*.a ${D}/${CTSDIR}/*/cmake_install.cmake ${D}/${CTSDIR}/*/CMakeFiles
26 rm -r ${D}/${CTSDIR}/common/subgroups/*.a ${D}/${CTSDIR}/common/subgroups/cmake_install.cmake ${D}/${CTSDIR}/common/subgroups/CMakeFiles
27}
28
29SECURITY_CFLAGS:riscv64 = "${SECURITY_NOPIE_CFLAGS}"
30LTO = ""
31
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.8.0.bb b/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.8.0.bb
new file mode 100644
index 0000000000..024a1719d0
--- /dev/null
+++ b/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.8.0.bb
@@ -0,0 +1,36 @@
1DESCRIPTION = "OpenGL CTS"
2
3require khronos-cts.inc
4# opengl-es-cts-3.2.8.0
5SRCREV_vk-gl-cts = "317f467fac032b88a4789e4345421f92c4e8716d"
6SRCREV_amber = "209d92e2c27a333e723d24497e8c7a07b2f2eb39"
7SRCREV_glslang = "9158061398a96033c990e69156bd28c67114544b"
8SRCREV_spirv-headers = "449bc986ba6f4c5e10e32828783f9daef2a77644"
9SRCREV_spirv-tools = "ee30773650eca50b1cd3c913babcc2b50d7b91fd"
10# Not yet needed
11SRCREV_jsoncpp = "9059f5cad030ba11d37818847443a53918c327b1"
12SRCREV_vulkan-docs = "d70e01c0be7b8a7d20b186b30b29a75b18bba75d"
13SRC_URI[renderdoc.sha256sum] = "e7b5f0aa5b1b0eadc63a1c624c0ca7f5af133aa857d6a4271b0ef3d0bdb6868e"
14
15SRC_URI += "file://0001-Remove-dead-variable-984.patch;patchdir=external/amber/src"
16
17S = "${WORKDIR}/git"
18
19do_install() {
20 install -d ${D}/${CTSDIR}
21 cp -r ${B}/external/openglcts/modules/* ${D}/${CTSDIR}
22
23 install -m 0755 ${B}/modules/egl/deqp-egl ${D}/${CTSDIR}
24 install -m 0755 ${B}/modules/gles2/deqp-gles2 ${D}/${CTSDIR}
25 install -m 0755 ${B}/modules/gles3/deqp-gles3 ${D}/${CTSDIR}
26 install -m 0755 ${B}/modules/gles31/deqp-gles31 ${D}/${CTSDIR}
27 install -m 0755 ${B}/modules/internal/de-internal-tests ${D}/${CTSDIR}
28
29 rm -rf ${D}/${CTSDIR}/*.a ${D}/${CTSDIR}/cmake_install.cmake ${D}/${CTSDIR}/CMakeFiles
30 rm -rf ${D}/${CTSDIR}/*/*.a ${D}/${CTSDIR}/*/cmake_install.cmake ${D}/${CTSDIR}/*/CMakeFiles
31 rm -rf ${D}/${CTSDIR}/common/subgroups/*.a ${D}/${CTSDIR}/common/subgroups/cmake_install.cmake ${D}/${CTSDIR}/common/subgroups/CMakeFiles
32}
33
34SECURITY_CFLAGS:riscv64 = "${SECURITY_NOPIE_CFLAGS}"
35LTO = ""
36
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.6.0.bb b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.6.0.bb
deleted file mode 100644
index f816c1bd17..0000000000
--- a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.6.0.bb
+++ /dev/null
@@ -1,24 +0,0 @@
1DESCRIPTION = "Vulkan CTS"
2
3require khronos-cts.inc
4# vulkan-cts-1.2.6.0
5SRCREV_vk-gl-cts = "2cab49df5ad25a2d0061152367a21c6da83ed097"
6SRCREV_amber = "dabae26164714abf951c6815a2b4513260f7c6a4"
7SRCREV_glslang = "5c4f421121c4d24aad23a507e630dc5dc6c92c7c"
8SRCREV_spirv-headers = "faa570afbc91ac73d594d787486bcf8f2df1ace0"
9SRCREV_spirv-tools = "f11f7434815838bbad349124767b258ce7df41f0"
10SRC_URI[renderdoc.sha256sum] = "e7b5f0aa5b1b0eadc63a1c624c0ca7f5af133aa857d6a4271b0ef3d0bdb6868e"
11
12S = "${WORKDIR}/git"
13
14REQUIRED_DISTRO_FEATURES = "vulkan"
15inherit features_check
16
17DEPENDS += " vulkan-loader"
18
19do_install() {
20 install -d ${D}/${CTSDIR}
21 cp -r ${B}/external/vulkancts/modules/vulkan/* ${D}/${CTSDIR}/
22 rm -r ${D}/${CTSDIR}/*.a ${D}/${CTSDIR}/cmake_install.cmake ${D}/${CTSDIR}/CMakeFiles
23 rm -r ${D}/${CTSDIR}/*/*.a ${D}/${CTSDIR}/*/cmake_install.cmake ${D}/${CTSDIR}/*/CMakeFiles
24}
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.3.1.bb b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.3.1.bb
new file mode 100644
index 0000000000..c996eb1f76
--- /dev/null
+++ b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.3.1.bb
@@ -0,0 +1,28 @@
1DESCRIPTION = "Vulkan CTS"
2
3require khronos-cts.inc
4# vulkan-cts-1.3.3.1
5SRCREV_vk-gl-cts = "6024a88390942876147a88dce82bbed73b866c1b"
6SRCREV_amber = "8b145a6c89dcdb4ec28173339dd176fb7b6f43ed"
7SRCREV_glslang = "7dda6a6347b0bd550e202942adee475956ef462a"
8SRCREV_spirv-headers = "b765c355f488837ca4c77980ba69484f3ff277f5"
9SRCREV_spirv-tools = "b930e734ea198b7aabbbf04ee1562cf6f57962f0"
10SRCREV_jsoncpp = "9059f5cad030ba11d37818847443a53918c327b1"
11SRCREV_vulkan-docs = "9b5562187a8ad72c171410b036ceedbc450153ba"
12SRC_URI[renderdoc.sha256sum] = "e7b5f0aa5b1b0eadc63a1c624c0ca7f5af133aa857d6a4271b0ef3d0bdb6868e"
13
14SRC_URI += "file://0001-cmake-Define-WAYLAND_SCANNER-and-WAYLAND_PROTOCOLS_D.patch"
15
16S = "${WORKDIR}/git"
17
18REQUIRED_DISTRO_FEATURES = "vulkan"
19inherit features_check
20
21DEPENDS += " vulkan-loader"
22
23do_install() {
24 install -d ${D}/${CTSDIR}
25 cp -r ${B}/external/vulkancts/modules/vulkan/* ${D}/${CTSDIR}/
26 rm -rf ${D}/${CTSDIR}/*.a ${D}/${CTSDIR}/cmake_install.cmake ${D}/${CTSDIR}/CMakeFiles
27 rm -rf ${D}/${CTSDIR}/*/*.a ${D}/${CTSDIR}/*/cmake_install.cmake ${D}/${CTSDIR}/*/CMakeFiles
28}