diff options
Diffstat (limited to 'meta-oe/recipes-graphics/vk-gl-cts')
14 files changed, 477 insertions, 86 deletions
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 @@ +From 0d863b444c9a54a92dab176b1b656c116923e1ca Mon Sep 17 00:00:00 2001 +From: alan-baker <alanbaker@google.com> +Date: Wed, 30 Mar 2022 12:59:28 -0400 +Subject: [PATCH] Remove dead variable (#984) + +Upstream-Status: Backport [https://github.com/google/amber/commit/627ee453d6047ced0e2dd13cde983b341d0615e3] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/vkscript/command_parser.cc | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/src/vkscript/command_parser.cc b/src/vkscript/command_parser.cc +index 610c7e6..3429d4d 100644 +--- a/src/vkscript/command_parser.cc ++++ b/src/vkscript/command_parser.cc +@@ -486,7 +486,6 @@ Result CommandParser::ParseValues(const std::string& name, + std::vector<Value>* values) { + assert(values); + +- uint32_t row_index = 0; + auto token = tokenizer_->NextToken(); + size_t seen = 0; + while (!token->IsEOL() && !token->IsEOS()) { +@@ -515,7 +514,6 @@ Result CommandParser::ParseValues(const std::string& name, + values->push_back(v); + token = tokenizer_->NextToken(); + +- ++row_index; + ++seen; + } + +-- +2.37.3 + 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 @@ +From ec12bb7bda60cdf2c848e13df67452a7d30a42be Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 3 Sep 2022 18:52:42 -0700 +Subject: [PATCH] cmake: Define WAYLAND_SCANNER and WAYLAND_PROTOCOLS_DIR if + not already defined + +This helps with cross compiling and providing these knobs from cmake +cmdline + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + framework/platform/CMakeLists.txt | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/framework/platform/CMakeLists.txt b/framework/platform/CMakeLists.txt +index c3ac463e4..030163f6c 100644 +--- a/framework/platform/CMakeLists.txt ++++ b/framework/platform/CMakeLists.txt +@@ -73,8 +73,12 @@ if (NOT DEFINED TCUTIL_PLATFORM_SRCS) + add_definitions(-DDEQP_SUPPORT_WAYLAND=1) + include_directories(lnx/wayland) + +- pkg_get_variable(WAYLAND_PROTOCOLS_DIR wayland-protocols pkgdatadir) +- pkg_get_variable(WAYLAND_SCANNER wayland-scanner wayland_scanner) ++ if (NOT DEFINED WAYLAND_PROTOCOLS_DIR) ++ pkg_get_variable(WAYLAND_PROTOCOLS_DIR wayland-protocols pkgdatadir) ++ endif() ++ if (NOT DEFINED WAYLAND_SCANNER) ++ pkg_get_variable(WAYLAND_SCANNER wayland-scanner wayland_scanner) ++ endif() + + set(DEQP_XDG_SHELL_PROTOCOL ${WAYLAND_PROTOCOLS_DIR}/stable/xdg-shell/xdg-shell.xml) + set(DEQP_XDG_SHELL_GEN_OUTPUTS_DIR ${PROJECT_BINARY_DIR}/framework/platform) +-- +2.37.3 + diff --git a/meta-oe/recipes-graphics/vk-gl-cts/files/0001-include-missing-cstdint.patch b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-include-missing-cstdint.patch new file mode 100644 index 0000000000..47d9fc748a --- /dev/null +++ b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-include-missing-cstdint.patch @@ -0,0 +1,61 @@ +From 74cf53d89529902ecdef5b230421bc4d30fd089b Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 25 Jan 2023 15:36:14 -0800 +Subject: [PATCH] include missing <cstdint> + +gcc-13 exposed errors like below due to it removing indirect includes of +these headers in libstdc++ [1] + +../git/external/amber/src/include/amber/shader_info.h:60:15: error: 'uint32_t' was not declared in this scope + 60 | std::vector<uint32_t> shader_data; + | ^~~~~~~~ + +[1] https://www.gnu.org/software/gcc/gcc-13/porting_to.html + +Upstream-Status: Submitted [https://github.com/google/amber/pull/1016] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + include/amber/recipe.h | 1 + + include/amber/shader_info.h | 1 + + src/descriptor_set_and_binding_parser.h | 1 + + 3 files changed, 3 insertions(+) + +diff --git a/include/amber/recipe.h b/include/amber/recipe.h +index 310a86a..1b83213 100644 +--- a/include/amber/recipe.h ++++ b/include/amber/recipe.h +@@ -15,6 +15,7 @@ + #ifndef AMBER_RECIPE_H_ + #define AMBER_RECIPE_H_ + ++#include <cstdint> + #include <string> + #include <utility> + #include <vector> +diff --git a/include/amber/shader_info.h b/include/amber/shader_info.h +index 6c9126a..b5ce751 100644 +--- a/include/amber/shader_info.h ++++ b/include/amber/shader_info.h +@@ -15,6 +15,7 @@ + #ifndef AMBER_SHADER_INFO_H_ + #define AMBER_SHADER_INFO_H_ + ++#include <cstdint> + #include <string> + #include <vector> + +diff --git a/src/descriptor_set_and_binding_parser.h b/src/descriptor_set_and_binding_parser.h +index 145aa42..4b0d774 100644 +--- a/src/descriptor_set_and_binding_parser.h ++++ b/src/descriptor_set_and_binding_parser.h +@@ -15,6 +15,7 @@ + #ifndef SRC_DESCRIPTOR_SET_AND_BINDING_PARSER_H_ + #define SRC_DESCRIPTOR_SET_AND_BINDING_PARSER_H_ + ++#include <cstdint> + #include <string> + + #include "amber/result.h" +-- +2.39.1 + 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..b5a1d331ed --- /dev/null +++ b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-use-library-sonames-for-linking.patch @@ -0,0 +1,114 @@ +From acd25c4b8d5b7e420a7a89bdfd6551c70de828b3 Mon Sep 17 00:00:00 2001 +From: Trevor Woerner <twoerner@gmail.com> +Date: Thu, 23 Sep 2021 19:36:43 -0400 +Subject: [PATCH] use library sonames for linking + +The recommended "best practices" for applications is to link to library +sonames (e.g. libGL.so.1) instead of library names (e.g. libGL.so). This +ensures that applications don't try to use libraries if an incompatible ABI +change occurs. + +Upstream-Status: Submitted [https://github.com/KhronosGroup/VK-GL-CTS/pull/288] +Signed-off-by: Trevor Woerner <twoerner@gmail.com> +--- + framework/egl/egluGLContextFactory.cpp | 4 ++-- + framework/egl/wrapper/eglwLibrary.cpp | 2 +- + framework/platform/android/tcuAndroidPlatform.cpp | 2 +- + framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp | 2 +- + .../platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp | 2 +- + framework/platform/surfaceless/tcuSurfacelessPlatform.cpp | 6 +++--- + 6 files changed, 9 insertions(+), 9 deletions(-) + +--- a/framework/egl/egluGLContextFactory.cpp ++++ b/framework/egl/egluGLContextFactory.cpp +@@ -63,7 +63,7 @@ using std::vector; + # if (DE_OS == DE_OS_WIN32) + # define DEQP_GLES2_LIBRARY_PATH "libGLESv2.dll" + # else +-# define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so" ++# define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so.2" + # endif + #endif + +@@ -75,7 +75,7 @@ using std::vector; + # if (DE_OS == DE_OS_WIN32) + # define DEQP_OPENGL_LIBRARY_PATH "opengl32.dll" + # else +-# define DEQP_OPENGL_LIBRARY_PATH "libGL.so" ++# define DEQP_OPENGL_LIBRARY_PATH "libGL.so.1" + # endif + #endif + +--- a/framework/egl/wrapper/eglwLibrary.cpp ++++ b/framework/egl/wrapper/eglwLibrary.cpp +@@ -148,7 +148,7 @@ DefaultLibrary::~DefaultLibrary (void) + const char* DefaultLibrary::getLibraryFileName (void) + { + #if (DE_OS == DE_OS_ANDROID) || (DE_OS == DE_OS_UNIX) +- return "libEGL.so"; ++ return "libEGL.so.1"; + #elif (DE_OS == DE_OS_WIN32) + return "libEGL.dll"; + #else +--- a/framework/platform/android/tcuAndroidPlatform.cpp ++++ b/framework/platform/android/tcuAndroidPlatform.cpp +@@ -57,7 +57,7 @@ static const eglu::NativeWindow::Capabil + class NativeDisplay : public eglu::NativeDisplay + { + public: +- NativeDisplay (void) : eglu::NativeDisplay(DISPLAY_CAPABILITIES), m_library("libEGL.so") {} ++ NativeDisplay (void) : eglu::NativeDisplay(DISPLAY_CAPABILITIES), m_library("libEGL.so.1") {} + virtual ~NativeDisplay (void) {} + + virtual EGLNativeDisplayType getLegacyNative (void) { return EGL_DEFAULT_DISPLAY; } +--- a/framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp ++++ b/framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp +@@ -75,7 +75,7 @@ class Library : public eglw::DefaultLibr + { + public: + Library (void) +- : eglw::DefaultLibrary("libEGL.so") ++ : eglw::DefaultLibrary("libEGL.so.1") + { + } + +--- a/framework/platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp ++++ b/framework/platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp +@@ -66,7 +66,7 @@ public: + EGL_PLATFORM_WAYLAND_KHR, + "EGL_KHR_platform_wayland") + , m_display (waylandDisplay) +- , m_library ("libEGL.so") {} ++ , m_library ("libEGL.so.1") {} + + ~Display(void) {} + wayland::Display& getWaylandDisplay (void) { return *m_display; } +--- a/framework/platform/surfaceless/tcuSurfacelessPlatform.cpp ++++ b/framework/platform/surfaceless/tcuSurfacelessPlatform.cpp +@@ -69,7 +69,7 @@ using std::vector; + + // Default library names + #if !defined(DEQP_GLES2_LIBRARY_PATH) +-# define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so" ++# define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so.2" + #endif + + #if !defined(DEQP_GLES3_LIBRARY_PATH) +@@ -77,7 +77,7 @@ using std::vector; + #endif + + #if !defined(DEQP_OPENGL_LIBRARY_PATH) +-# define DEQP_OPENGL_LIBRARY_PATH "libGL.so" ++# define DEQP_OPENGL_LIBRARY_PATH "libGL.so.1" + #endif + + #if !defined(DEQP_VULKAN_LIBRARY_PATH) +@@ -234,7 +234,7 @@ glu::RenderContext* ContextFactory::crea + } + + EglRenderContext::EglRenderContext(const glu::RenderConfig& config, const tcu::CommandLine& cmdLine) +- : m_egl("libEGL.so") ++ : m_egl("libEGL.so.1") + , m_contextType(config.type) + , m_eglDisplay(EGL_NO_DISPLAY) + , 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 new file mode 100644 index 0000000000..0dd59713a1 --- /dev/null +++ b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-vulkan-cts-include-missing-cstdint.patch @@ -0,0 +1,34 @@ +From b07f6ecd6ab83b788301a555dc546b9a5c9dd8a2 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 25 Jan 2023 19:19:34 -0800 +Subject: [PATCH] Include missing <cstdint> + +This error is seen with gcc-13 where include headers are not implicitly +included [1] + +Fixes errors e.g. +error: 'uint32_t' does not name a type + +[1] https://www.gnu.org/software/gcc/gcc-13/porting_to.html + +Upstream-Status: Submitted [https://github.com/KhronosGroup/VK-GL-CTS/pull/378] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + framework/common/tcuDefs.hpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/framework/common/tcuDefs.hpp b/framework/common/tcuDefs.hpp +index ad3d0736d..6dfac10fb 100644 +--- a/framework/common/tcuDefs.hpp ++++ b/framework/common/tcuDefs.hpp +@@ -26,6 +26,7 @@ + #include "deDefs.hpp" + #include "qpTestLog.h" + ++#include <cstdint> + #include <string> + #include <stdexcept> + +-- +2.39.1 + 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 new file mode 100644 index 0000000000..40aea8f203 --- /dev/null +++ b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-vulkancts-Include-missing-cstdint.patch @@ -0,0 +1,32 @@ +From 1b7646ced0f0b969f818084887885827ed1a4244 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 31 May 2021 17:31:33 -0700 +Subject: [PATCH] vulkancts: Include missing <cstdint> + +Fixes build with gcc-13 + +../git/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmFloatControlsTests.cpp:2798:102: error: 'uintptr_t' in namespace 'std' does not name a type + 2798 | BufferDataType type = static_cast<BufferDataType>(reinterpret_cast<std::uintptr_t>(expectedOutputs[resultIndex].getUserData())); + | ^~~~~~~~~ + +Upstream-Status: Submitted [https://github.com/KhronosGroup/VK-GL-CTS/pull/378] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + .../vulkan/spirv_assembly/vktSpvAsmFloatControlsTests.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmFloatControlsTests.cpp b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmFloatControlsTests.cpp +index ab02be1dc..3d3ee4829 100644 +--- a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmFloatControlsTests.cpp ++++ b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmFloatControlsTests.cpp +@@ -33,6 +33,7 @@ + #include "deFloat16.h" + #include "vkQueryUtil.hpp" + #include "vkRefUtil.hpp" ++#include <cstdint> + #include <cstring> + #include <vector> + #include <limits> +-- +2.39.1 + 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 b4573b38b5..4ecc371ca4 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 @@ -1,7 +1,7 @@ -Index: git/external/glslang/src/glslang/Include/PoolAlloc.h -=================================================================== ---- git.orig/external/glslang/src/glslang/Include/PoolAlloc.h -+++ git/external/glslang/src/glslang/Include/PoolAlloc.h +Upstream-Status: Pending + +--- a/external/glslang/src/glslang/Include/PoolAlloc.h ++++ b/external/glslang/src/glslang/Include/PoolAlloc.h @@ -240,8 +240,9 @@ protected: int numCalls; // 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 4116ae7d14..58dc1f24dd 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 @@ -1,19 +1,17 @@ -Index: git/framework/delibs/dethread/CMakeLists.txt -=================================================================== ---- git.orig/framework/delibs/dethread/CMakeLists.txt -+++ git/framework/delibs/dethread/CMakeLists.txt -@@ -39,6 +39,7 @@ include_directories( - - if (DE_OS_IS_UNIX) - add_definitions(-D_GNU_SOURCE) +Upstream-Status: Pending + +--- a/framework/delibs/dethread/CMakeLists.txt ++++ b/framework/delibs/dethread/CMakeLists.txt +@@ -42,6 +42,7 @@ if (DE_OS_IS_UNIX) + add_definitions(-D__BSD_VISIBLE) + add_definitions(-D_XOPEN_SOURCE=600) + endif () + add_definitions(-D_XOPEN_SOURCE=600) - set(DETHREAD_LIBS ${DETHREAD_LIBS} pthread) - endif () + add_definitions(-D_GNU_SOURCE) -Index: git/framework/qphelper/CMakeLists.txt -=================================================================== ---- git.orig/framework/qphelper/CMakeLists.txt -+++ git/framework/qphelper/CMakeLists.txt + set(DETHREAD_LIBS ${DETHREAD_LIBS} pthread) +--- a/framework/qphelper/CMakeLists.txt ++++ b/framework/qphelper/CMakeLists.txt @@ -28,6 +28,7 @@ set(QPHELPER_LIBS if (DE_OS_IS_UNIX OR DE_OS_IS_QNX) # For vsnprintf() 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 new file mode 100644 index 0000000000..8a8d8d2c32 --- /dev/null +++ b/meta-oe/recipes-graphics/vk-gl-cts/files/gen-framework-path.patch @@ -0,0 +1,20 @@ +Prepend instead of append to the module search path, as this script needs to use +the local module build, not the host module build. + +Upstream-Status: Submitted +Signed-off-by: Ross Burton <ross.burton@arm.com> + +diff --git a/external/vulkancts/scripts/gen_framework.py b/external/vulkancts/scripts/gen_framework.py +index 83c5329ce..10e720910 100755 +--- a/external/vulkancts/scripts/gen_framework.py ++++ b/external/vulkancts/scripts/gen_framework.py +@@ -33 +33 @@ from collections import OrderedDict +-sys.path.append(os.path.join(os.path.dirname(__file__), "..", "..", "..", "scripts")) ++sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "..", "..", "scripts")) +diff --git a/external/vulkancts/scripts/gen_framework_c.py b/external/vulkancts/scripts/gen_framework_c.py +index 95587e642..84b878cb2 100644 +--- a/external/vulkancts/scripts/gen_framework_c.py ++++ b/external/vulkancts/scripts/gen_framework_c.py +@@ -28 +28 @@ import re +-sys.path.append(os.path.join(os.path.dirname(__file__), "..", "..", "..", "scripts")) ++sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "..", "..", "scripts")) 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 e64a935dda..097acc1a0b 100644 --- a/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc +++ b/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc @@ -4,35 +4,81 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" SRC_URI = "\ git://github.com/KhronosGroup/VK-GL-CTS.git;protocol=https;name=vk-gl-cts;nobranch=1 \ git://github.com/google/amber;protocol=https;destsuffix=git/external/amber/src;name=amber;branch=main \ - git://github.com/KhronosGroup/glslang.git;protocol=https;destsuffix=git/external/glslang/src;name=glslang \ - git://github.com/KhronosGroup/SPIRV-Headers.git;protocol=https;destsuffix=git/external/spirv-headers/src;name=spirv-headers \ - git://github.com/KhronosGroup/SPIRV-Tools.git;protocol=https;destsuffix=git/external/spirv-tools/src;name=spirv-tools \ - https://raw.githubusercontent.com/baldurk/renderdoc/v1.1/renderdoc/api/app/renderdoc_app.h;subdir=git/external/renderdoc/src;name=renderdoc \ + git://github.com/KhronosGroup/glslang.git;protocol=https;destsuffix=git/external/glslang/src;name=glslang;branch=main \ + git://github.com/KhronosGroup/SPIRV-Headers.git;protocol=https;destsuffix=git/external/spirv-headers/src;name=spirv-headers;branch=main \ + git://github.com/KhronosGroup/SPIRV-Tools.git;protocol=https;destsuffix=git/external/spirv-tools/src;name=spirv-tools;branch=main \ + git://github.com/open-source-parsers/jsoncpp.git;protocol=https;destsuffix=git/external/jsoncpp/src;name=jsoncpp;branch=master \ + git://github.com/KhronosGroup/Vulkan-Docs.git;protocol=https;destsuffix=git/external/vulkan-docs/src;name=vulkan-docs;branch=main \ + https://raw.githubusercontent.com/baldurk/renderdoc/v1.1/renderdoc/api/app/renderdoc_app.h;subdir=git/external/renderdoc/src;name=renderdoc \ + git://github.com/Igalia/ESExtractor.git;protocol=https;destsuffix=git/external/ESExtractor/src;name=ESExtractor;branch=main \ + git://github.com/nvpro-samples/vk_video_samples.git;protocol=https;destsuffix=git/external/video-parser/src;name=video-parser;branch=main \ + file://gen-framework-path.patch \ " S = "${WORKDIR}/git" -SRCREV_FORMAT = "vk-gl-cts_amber_glslang_spirv-headers_spirv-tools" +SRCREV_FORMAT = "vk-gl-cts_amber_glslang_spirv-headers_spirv-tools_jsoncpp_vulkan-docs" S = "${WORKDIR}/git" -inherit pkgconfig cmake features_check +inherit pkgconfig cmake features_check python3native qemu -REQUIRED_DISTRO_FEATURES += "opengl" +ANY_OF_DISTRO_FEATURES += "opengl vulkan" -DEPENDS += "libpng zlib virtual/libgles2 virtual/egl" +DEPENDS += "python3-lxml-native libpng zlib virtual/libgles2 qemu-native" -SRC_URI_append_libc-musl = "\ +SRC_URI += " \ + file://0001-vulkancts-Include-missing-cstdint.patch \ + file://0001-use-library-sonames-for-linking.patch \ +" + +SRC_URI:append:libc-musl = "\ file://fix-musl.patch \ " -DEPENDS_append_libc-musl = " libexecinfo" +DEPENDS:append:libc-musl = " libexecinfo" -SRC_URI_append_toolchain-clang = "\ +SRC_URI:append:toolchain-clang = "\ file://fix-clang-private-operator.patch \ " -EXTRA_OECMAKE_append = " -DDEQP_TARGET=surfaceless" +EXTRA_OECMAKE:prepend:class-target = "-DCMAKE_CROSSCOMPILING_EMULATOR=${WORKDIR}/qemuwrapper -DWAYLAND_SCANNER=${STAGING_BINDIR_NATIVE}/wayland-scanner -DWAYLAND_PROTOCOLS_DIR=${STAGING_DATADIR}/wayland-protocols" + +# The best thing for the user to do is to not specify any of the following +# PACKAGECONFIGs (i.e. leave it blank) which tells the project to do its own +# probing and build what it thinks is appropriate. +# However, if you want, you can specify one of the following PACKAGECONFIGs +# to override this behaviour. +PACKAGECONFIG ??= "" +PACKAGECONFIG[surfaceless] = "-DDEQP_TARGET=surfaceless,,,,,wayland x11_egl x11_glx x11_egl_glx" +PACKAGECONFIG[wayland] = "-DDEQP_TARGET=wayland,,wayland-native wayland wayland-protocols,,,surfaceless x11_egl x11_glx x11_egl_glx" +PACKAGECONFIG[x11_egl] = "-DDEQP_TARGET=x11_egl,,virtual/libx11 virtual/egl,,,surfaceless wayland x11_glx x11_egl_glx" +PACKAGECONFIG[x11_glx] = "-DDEQP_TARGET=x11_glx,,virtual/libx11,,,surfaceless wayland x11_egl x11_egl_glx" +PACKAGECONFIG[x11_egl_glx] = "-DDEQP_TARGET=x11_glx,,virtual/libx11 virtual/egl,,,surfaceless wayland x11_egl x11_glx" + +do_configure:append() { + # Write out a qemu wrapper that will be used by cmake + # so that it can run target helper binaries through that. + qemu_binary="${@qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), [d.expand('${STAGING_DIR_HOST}${libdir}'),d.expand('${STAGING_DIR_HOST}${base_libdir}')])}" + cat > ${WORKDIR}/qemuwrapper << EOF +#!/bin/sh +$qemu_binary "\$@" +EOF + chmod +x ${WORKDIR}/qemuwrapper +} + +python __anonymous() { + # if the user doesn't specify any PACKAGECONFIG then the cts build system + # is going to probe the sysroot to try to figure out what to build + # in this case we try to guess whether the user is building for wayland + # or x11 and add the required dependencies automatically + distrofeatures = (d.getVar("DISTRO_FEATURES") or "") + if not bb.utils.contains_any("PACKAGECONFIG", ["surfaceless", "wayland", "x11_egl", "x11_glx", "x11_egl_glx"], True, False, d): + if "wayland" in distrofeatures: + d.appendVar("DEPENDS", " wayland-native wayland wayland-protocols") + if "x11" in distrofeatures: + d.appendVar("DEPENDS", " virtual/libx11 virtual/egl ") +} CTSDIR = "/usr/lib/${BPN}" -FILES_${PN} += "${CTSDIR}" +FILES:${PN} += "${CTSDIR}" diff --git a/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.6.1.bb b/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.6.1.bb deleted file mode 100644 index 801bd05c91..0000000000 --- a/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.6.1.bb +++ /dev/null @@ -1,31 +0,0 @@ -DESCRIPTION = "OpenGL CTS" - -require khronos-cts.inc -# opengl-es-cts-3.2.6.1 -SRCREV_vk-gl-cts = "7e023f81b4fff54b558882fe739d7c959d0a02a8" -SRCREV_amber = "d26ee22dd7faab1845a531d410f7ec1db407402a" -SRCREV_glslang = "c538b5d796fb24dd418fdd650c7f76e56bcc3dd8" -SRCREV_spirv-headers = "e4322e3be589e1ddd44afb20ea842a977c1319b8" -SRCREV_spirv-tools = "1eb89172a82b436d8037e8a8c29c80f7e1f7df74" -SRC_URI[renderdoc.sha256sum] = "e7b5f0aa5b1b0eadc63a1c624c0ca7f5af133aa857d6a4271b0ef3d0bdb6868e" - -S = "${WORKDIR}/git" - -do_install() { - install -d ${D}/${CTSDIR} - cp -r ${B}/external/openglcts/modules/* ${D}/${CTSDIR} - - install -m 0755 ${B}/modules/egl/deqp-egl ${D}/${CTSDIR} - install -m 0755 ${B}/modules/gles2/deqp-gles2 ${D}/${CTSDIR} - install -m 0755 ${B}/modules/gles3/deqp-gles3 ${D}/${CTSDIR} - install -m 0755 ${B}/modules/gles31/deqp-gles31 ${D}/${CTSDIR} - install -m 0755 ${B}/modules/internal/de-internal-tests ${D}/${CTSDIR} - - rm -r ${D}/${CTSDIR}/*.a ${D}/${CTSDIR}/cmake_install.cmake ${D}/${CTSDIR}/CMakeFiles - rm -r ${D}/${CTSDIR}/*/*.a ${D}/${CTSDIR}/*/cmake_install.cmake ${D}/${CTSDIR}/*/CMakeFiles - rm -r ${D}/${CTSDIR}/common/subgroups/*.a ${D}/${CTSDIR}/common/subgroups/cmake_install.cmake ${D}/${CTSDIR}/common/subgroups/CMakeFiles -} - -SECURITY_CFLAGS_riscv64 = "${SECURITY_NOPIE_CFLAGS}" -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 new file mode 100644 index 0000000000..67ce5f2b9d --- /dev/null +++ b/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.9.3.bb @@ -0,0 +1,36 @@ +DESCRIPTION = "OpenGL CTS" + +require khronos-cts.inc +# opengl-es-cts-3.2.9.3 +SRCREV_vk-gl-cts = "7f5fb62245d535a1fc0bf50b2c7e5a342dc551fe" +SRCREV_amber = "933ecb4d6288675a92eb1650e0f52b1d7afe8273" +SRCREV_glslang = "a0ad0d7067521fff880e36acfb8ce453421c3f25" +SRCREV_spirv-headers = "87d5b782bec60822aa878941e6b13c0a9a954c9b" +SRCREV_spirv-tools = "f98473ceeb1d33700d01e20910433583e5256030" +SRCREV_ESExtractor = "ce5d7ebcf0ebb0d78385ee4cc34653eb6764bfc4" +# Not yet needed +SRCREV_jsoncpp = "9059f5cad030ba11d37818847443a53918c327b1" +SRCREV_vulkan-docs = "9a2e576a052a1e65a5d41b593e693ff02745604b" +SRCREV_video-parser = "7d68747d3524842afaf050c5e00a10f5b8c07904" +SRC_URI[renderdoc.sha256sum] = "e7b5f0aa5b1b0eadc63a1c624c0ca7f5af133aa857d6a4271b0ef3d0bdb6868e" + +S = "${WORKDIR}/git" + +do_install() { + install -d ${D}/${CTSDIR} + cp -r ${B}/external/openglcts/modules/* ${D}/${CTSDIR} + + install -m 0755 ${B}/modules/egl/deqp-egl ${D}/${CTSDIR} + install -m 0755 ${B}/modules/gles2/deqp-gles2 ${D}/${CTSDIR} + install -m 0755 ${B}/modules/gles3/deqp-gles3 ${D}/${CTSDIR} + install -m 0755 ${B}/modules/gles31/deqp-gles31 ${D}/${CTSDIR} + install -m 0755 ${B}/modules/internal/de-internal-tests ${D}/${CTSDIR} + + rm -rf ${D}/${CTSDIR}/*.a ${D}/${CTSDIR}/cmake_install.cmake ${D}/${CTSDIR}/CMakeFiles + rm -rf ${D}/${CTSDIR}/*/*.a ${D}/${CTSDIR}/*/cmake_install.cmake ${D}/${CTSDIR}/*/CMakeFiles + rm -rf ${D}/${CTSDIR}/common/subgroups/*.a ${D}/${CTSDIR}/common/subgroups/cmake_install.cmake ${D}/${CTSDIR}/common/subgroups/CMakeFiles +} + +SECURITY_CFLAGS:riscv64 = "${SECURITY_NOPIE_CFLAGS}" +LTO = "" + diff --git a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.3.2.bb b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.3.2.bb deleted file mode 100644 index f07b12decd..0000000000 --- a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.3.2.bb +++ /dev/null @@ -1,24 +0,0 @@ -DESCRIPTION = "Vulkan CTS" - -require khronos-cts.inc -# vulkan-cts-1.2.3.2 -SRCREV_vk-gl-cts = "5cd2240b60825fbbf6bd9ddda6af176ee3100c70" -SRCREV_amber = "a40bef4dba98d2d80b48e5a940d8574fbfceb197" -SRCREV_glslang = "b5f003d7a3ece37db45578a8a3140b370036fc64" -SRCREV_spirv-headers = "f8bf11a0253a32375c32cad92c841237b96696c0" -SRCREV_spirv-tools = "d2b486219495594f2e5d0e8d457fc234a3460b3b" -SRC_URI[renderdoc.sha256sum] = "e7b5f0aa5b1b0eadc63a1c624c0ca7f5af133aa857d6a4271b0ef3d0bdb6868e" - -S = "${WORKDIR}/git" - -REQUIRED_DISTRO_FEATURES = "vulkan" -inherit features_check - -DEPENDS += " vulkan-loader" - -do_install() { - install -d ${D}/${CTSDIR} - cp -r ${B}/external/vulkancts/modules/vulkan/* ${D}/${CTSDIR}/ - rm -r ${D}/${CTSDIR}/*.a ${D}/${CTSDIR}/cmake_install.cmake ${D}/${CTSDIR}/CMakeFiles - rm -r ${D}/${CTSDIR}/*/*.a ${D}/${CTSDIR}/*/cmake_install.cmake ${D}/${CTSDIR}/*/CMakeFiles -} 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..f491385b33 --- /dev/null +++ b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.3.1.bb @@ -0,0 +1,34 @@ +DESCRIPTION = "Vulkan CTS" + +require khronos-cts.inc +# vulkan-cts-1.3.3.1 +SRCREV_vk-gl-cts = "6024a88390942876147a88dce82bbed73b866c1b" +SRCREV_amber = "8b145a6c89dcdb4ec28173339dd176fb7b6f43ed" +SRCREV_glslang = "7dda6a6347b0bd550e202942adee475956ef462a" +SRCREV_spirv-headers = "b765c355f488837ca4c77980ba69484f3ff277f5" +SRCREV_spirv-tools = "b930e734ea198b7aabbbf04ee1562cf6f57962f0" +SRCREV_jsoncpp = "9059f5cad030ba11d37818847443a53918c327b1" +SRCREV_vulkan-docs = "9b5562187a8ad72c171410b036ceedbc450153ba" +SRC_URI[renderdoc.sha256sum] = "e7b5f0aa5b1b0eadc63a1c624c0ca7f5af133aa857d6a4271b0ef3d0bdb6868e" +# Not yet needed +SRCREV_ESExtractor = "ce5d7ebcf0ebb0d78385ee4cc34653eb6764bfc4" +SRCREV_video-parser = "7d68747d3524842afaf050c5e00a10f5b8c07904" + +SRC_URI += "file://0001-cmake-Define-WAYLAND_SCANNER-and-WAYLAND_PROTOCOLS_D.patch \ + file://0001-vulkan-cts-include-missing-cstdint.patch \ + file://0001-include-missing-cstdint.patch;patchdir=external/amber/src \ +" + +S = "${WORKDIR}/git" + +REQUIRED_DISTRO_FEATURES = "vulkan" +inherit features_check + +DEPENDS += " vulkan-loader" + +do_install() { + install -d ${D}/${CTSDIR} + cp -r ${B}/external/vulkancts/modules/vulkan/* ${D}/${CTSDIR}/ + rm -rf ${D}/${CTSDIR}/*.a ${D}/${CTSDIR}/cmake_install.cmake ${D}/${CTSDIR}/CMakeFiles + rm -rf ${D}/${CTSDIR}/*/*.a ${D}/${CTSDIR}/*/cmake_install.cmake ${D}/${CTSDIR}/*/CMakeFiles +} |