mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-04-02 02:49:12 +00:00
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>
This commit is contained in:
parent
a31bb84e32
commit
7f0fced7c4
@ -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
|
||||
@ -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"
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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()
|
||||
|
||||
@ -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 \
|
||||
"
|
||||
|
||||
@ -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() {
|
||||
@ -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"
|
||||
Loading…
x
Reference in New Issue
Block a user