aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2021-04-29 16:42:03 -0700
committerKhem Raj <raj.khem@gmail.com>2021-04-29 18:53:17 -0700
commit7f0fced7c42ffd98f28ccac82028ffd99fa18d83 (patch)
tree628603471253472b2c260d11d466dec11a0c620a
parenta31bb84e32046d33f50d2ef9c87ca948a05eaeea (diff)
downloadmeta-openembedded-7f0fced7c42ffd98f28ccac82028ffd99fa18d83.tar.gz
vk-gl-cts: Fix build with GCC 11
Add patches to fix with c++17 Forward port musl patch Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/files/0001-Do-not-error-on-uninitialized-warnings.patch28
-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-Workaround-for-GCC-11-uninit-variable-warnings-946.patch73
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/files/fix-clang-private-operator.patch6
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/files/fix-musl.patch24
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc4
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.7.0.bb (renamed from meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.6.1.bb)14
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.6.0.bb (renamed from meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.3.2.bb)12
8 files changed, 189 insertions, 60 deletions
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Do-not-error-on-uninitialized-warnings.patch b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Do-not-error-on-uninitialized-warnings.patch
deleted file mode 100644
index 4f3c7554cf..0000000000
--- a/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Do-not-error-on-uninitialized-warnings.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From f9906a3a1b7f1ade7a6c4e1a8aa67cb3a5e663a9 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 3 Mar 2021 11:33:15 -0800
-Subject: [PATCH] Do not error on uninitialized warnings
-
-code in verifier.cc violates C/C++ aliasing rules so code should be
-perhaps changed to use a union
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- external/amber/src/CMakeLists.txt | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/external/amber/src/CMakeLists.txt b/external/amber/src/CMakeLists.txt
-index 80a0df7..4323c81 100644
---- a/external/amber/src/CMakeLists.txt
-+++ b/external/amber/src/CMakeLists.txt
-@@ -133,6 +133,7 @@ elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
- -Werror
- -Wextra
- -Wno-unknown-pragmas
-+ -Wno-error=uninitialized
- -Wpedantic
- -pedantic-errors)
- elseif(MSVC)
---
-2.30.1
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
new file mode 100644
index 0000000000..746497d047
--- /dev/null
+++ b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Include-limits-header-for-numeric_limits.patch
@@ -0,0 +1,88 @@
+From aec0be857ed3faef8802c7fd61f3d7798a565108 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 29 Apr 2021 16:03:42 -0700
+Subject: [PATCH] Include <limits> header for numeric_limits
+
+Fixes
+vulkancts/framework/vulkan/vkRayTracingUtil.hpp:116:32: error: 'numeric_limits' is not a member of 'std'
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ framework/vulkan/vkRayTracingUtil.hpp | 1 +
+ modules/vulkan/api/vktApiBufferTests.cpp | 1 +
+ modules/vulkan/spirv_assembly/vktSpvAsmNonSemanticInfoTests.cpp | 2 ++
+ 3 files changed, 4 insertions(+)
+
+--- a/framework/vulkan/vkRayTracingUtil.hpp
++++ b/framework/vulkan/vkRayTracingUtil.hpp
+@@ -33,6 +33,7 @@
+ #include "tcuVector.hpp"
+ #include "tcuVectorType.hpp"
+
++#include <limits>
+ #include <vector>
+
+ namespace vk
+--- a/modules/vulkan/api/vktApiBufferTests.cpp
++++ b/modules/vulkan/api/vktApiBufferTests.cpp
+@@ -35,6 +35,7 @@
+ #include "tcuPlatform.hpp"
+
+ #include <algorithm>
++#include <limits>
+
+ namespace vkt
+ {
+--- a/modules/vulkan/spirv_assembly/vktSpvAsmNonSemanticInfoTests.cpp
++++ b/modules/vulkan/spirv_assembly/vktSpvAsmNonSemanticInfoTests.cpp
+@@ -28,6 +28,8 @@
+ #include "vktSpvAsmComputeShaderCase.hpp"
+ #include "vktSpvAsmGraphicsShaderTestUtil.hpp"
+
++#include <limits>
++
+ namespace vkt
+ {
+ namespace SpirVAssembly
+--- a/modules/vulkan/memory/vktMemoryDeviceMemoryReportTests.cpp
++++ b/modules/vulkan/memory/vktMemoryDeviceMemoryReportTests.cpp
+@@ -40,6 +40,7 @@
+
+ #include "deSharedPtr.hpp"
+
++#include <limits>
+ #include <set>
+ #include <vector>
+
+--- a/modules/vulkan/draw/vktDrawDepthClampTests.cpp
++++ b/modules/vulkan/draw/vktDrawDepthClampTests.cpp
+@@ -38,6 +38,7 @@
+ #include "vkQueryUtil.hpp"
+ #include "tcuTextureUtil.hpp"
+
++#include <limits>
+ #include <cmath>
+
+ namespace vkt
+--- a/modules/vulkan/wsi/vktWsiFullScreenExclusiveTests.cpp
++++ b/modules/vulkan/wsi/vktWsiFullScreenExclusiveTests.cpp
+@@ -39,6 +39,8 @@
+ #include "tcuPlatform.hpp"
+ #include "tcuCommandLine.hpp"
+
++#include <limits>
++
+ #if ( DE_OS == DE_OS_WIN32 )
+ #define NOMINMAX
+ #define WIN32_LEAN_AND_MEAN
+--- a/modules/vulkan/synchronization/vktSynchronizationUtil.cpp
++++ b/modules/vulkan/synchronization/vktSynchronizationUtil.cpp
+@@ -21,6 +21,7 @@
+ * \brief Synchronization tests utilities
+ *//*--------------------------------------------------------------------*/
+
++#include <limits>
+ #include "vktSynchronizationUtil.hpp"
+ #include "vkTypeUtil.hpp"
+ #include "vkCmdUtil.hpp"
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
new file mode 100644
index 0000000000..6c87cad0a6
--- /dev/null
+++ b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Workaround-for-GCC-11-uninit-variable-warnings-946.patch
@@ -0,0 +1,73 @@
+From 9cd614dd5481a4fdf552effac4820f51a10092c7 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Mika=20V=C3=A4in=C3=B6l=C3=A4?=
+ <33728696+mvainola@users.noreply.github.com>
+Date: Wed, 7 Apr 2021 13:12:17 +0300
+Subject: [PATCH] Workaround for GCC 11 uninit variable warnings (#946)
+
+Building Amber with GCC 11.0.1 produces some uninitialized variable
+warnings. This commit works around them by replacing
+reinterpret_cast with memcpy when type punning unsigned integers to
+floats.
+
+Upstream-Status: Backport [https://github.com/google/amber/commit/aa69a0ac23ea7f68dd32bbef210546a5d84c1734]
+---
+ src/float16_helper.cc | 22 ++++++++++++++++------
+ 1 file changed, 16 insertions(+), 6 deletions(-)
+
+diff --git a/src/float16_helper.cc b/src/float16_helper.cc
+index 617bd72..5cb35e7 100644
+--- a/src/float16_helper.cc
++++ b/src/float16_helper.cc
+@@ -15,6 +15,7 @@
+ #include "src/float16_helper.h"
+
+ #include <cassert>
++#include <cstring>
+
+ // Float10
+ // | 9 8 7 6 5 | 4 3 2 1 0 |
+@@ -75,8 +76,11 @@ float HexFloat16ToFloat(const uint8_t* value) {
+ }
+
+ uint32_t hex = sign | exponent | mantissa;
+- float* hex_float = reinterpret_cast<float*>(&hex);
+- return *hex_float;
++ float hex_float;
++ static_assert((sizeof(uint32_t) == sizeof(float)),
++ "sizeof(uint32_t) != sizeof(float)");
++ memcpy(&hex_float, &hex, sizeof(float));
++ return hex_float;
+ }
+
+ // Convert float |value| whose size is 11 bits to 32 bits float
+@@ -89,8 +93,11 @@ float HexFloat11ToFloat(const uint8_t* value) {
+ uint32_t mantissa = (static_cast<uint32_t>(value[0]) & 0x3f) << 17U;
+
+ uint32_t hex = exponent | mantissa;
+- float* hex_float = reinterpret_cast<float*>(&hex);
+- return *hex_float;
++ float hex_float;
++ static_assert((sizeof(uint32_t) == sizeof(float)),
++ "sizeof(uint32_t) != sizeof(float)");
++ memcpy(&hex_float, &hex, sizeof(float));
++ return hex_float;
+ }
+
+ // Convert float |value| whose size is 10 bits to 32 bits float
+@@ -103,8 +110,11 @@ float HexFloat10ToFloat(const uint8_t* value) {
+ uint32_t mantissa = (static_cast<uint32_t>(value[0]) & 0x1f) << 18U;
+
+ uint32_t hex = exponent | mantissa;
+- float* hex_float = reinterpret_cast<float*>(&hex);
+- return *hex_float;
++ float hex_float;
++ static_assert((sizeof(uint32_t) == sizeof(float)),
++ "sizeof(uint32_t) != sizeof(float)");
++ memcpy(&hex_float, &hex, sizeof(float));
++ return hex_float;
+ }
+
+ } // namespace
+--
+2.31.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..ea7659c698 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,5 @@
-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
+--- 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..99cb87b301 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,15 @@
-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)
+--- 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/khronos-cts.inc b/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc
index e64a935dda..d0f0e23429 100644
--- a/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc
+++ b/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc
@@ -22,6 +22,10 @@ REQUIRED_DISTRO_FEATURES += "opengl"
DEPENDS += "libpng zlib virtual/libgles2 virtual/egl"
+SRC_URI += "file://0001-Workaround-for-GCC-11-uninit-variable-warnings-946.patch;patchdir=external/amber/src \
+ file://0001-Include-limits-header-for-numeric_limits.patch;patchdir=external/vulkancts \
+"
+
SRC_URI_append_libc-musl = "\
file://fix-musl.patch \
"
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.7.0.bb
index 184547aa76..a67992ee95 100644
--- 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.7.0.bb
@@ -1,16 +1,14 @@
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"
+# opengl-es-cts-3.2.7.0
+SRCREV_vk-gl-cts = "7cba7113c40f2ff03573c8c2c90661b2249e04fa"
+SRCREV_amber = "4d0115cccfcb3b73d20b6513b1c40748e6403c50"
+SRCREV_glslang = "ffccefddfd9a02ec0c0b6dd04ef5e1042279c97f"
+SRCREV_spirv-headers = "104ecc356c1bea4476320faca64440cd1df655a3"
+SRCREV_spirv-tools = "cd590fa3341284cd6d1ee82366155786cfd44c96"
SRC_URI[renderdoc.sha256sum] = "e7b5f0aa5b1b0eadc63a1c624c0ca7f5af133aa857d6a4271b0ef3d0bdb6868e"
-SRC_URI += "file://0001-Do-not-error-on-uninitialized-warnings.patch"
-
S = "${WORKDIR}/git"
do_install() {
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.6.0.bb
index f07b12decd..f816c1bd17 100644
--- 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.6.0.bb
@@ -1,12 +1,12 @@
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"
+# vulkan-cts-1.2.6.0
+SRCREV_vk-gl-cts = "2cab49df5ad25a2d0061152367a21c6da83ed097"
+SRCREV_amber = "dabae26164714abf951c6815a2b4513260f7c6a4"
+SRCREV_glslang = "5c4f421121c4d24aad23a507e630dc5dc6c92c7c"
+SRCREV_spirv-headers = "faa570afbc91ac73d594d787486bcf8f2df1ace0"
+SRCREV_spirv-tools = "f11f7434815838bbad349124767b258ce7df41f0"
SRC_URI[renderdoc.sha256sum] = "e7b5f0aa5b1b0eadc63a1c624c0ca7f5af133aa857d6a4271b0ef3d0bdb6868e"
S = "${WORKDIR}/git"