diff options
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts')
9 files changed, 230 insertions, 60 deletions
diff --git a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Do-not-error-on-uninitialized-warnings.patch b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Do-not-error-on-uninitialized-warnings.patch deleted file mode 100644 index 4f3c7554c..000000000 --- a/meta-openembedded/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-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Include-limits-header-for-numeric_limits.patch b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Include-limits-header-for-numeric_limits.patch new file mode 100644 index 000000000..746497d04 --- /dev/null +++ b/meta-openembedded/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-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Workaround-for-GCC-11-uninit-variable-warnings-946.patch b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Workaround-for-GCC-11-uninit-variable-warnings-946.patch new file mode 100644 index 000000000..6c87cad0a --- /dev/null +++ b/meta-openembedded/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-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-vulkancts.patch b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-vulkancts.patch new file mode 100644 index 000000000..2fd1d7123 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-vulkancts.patch @@ -0,0 +1,40 @@ +From 273df2423d9226093310cbcaa8b924bb6b5d6586 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: + +O_TRUNC value in OperationId enum collides with the macro O_TRUNC +defined in the POSIX header fnctl.h. To avoid the collision undefine +O_TRUNC in this particular sourcefile before its is used in enums +down below. + +This is fixed upstream differently +https://github.com/KhronosGroup/VK-GL-CTS/commit/564c6062f72fe7ecd92b4aea1558c441e651c76b + +But until we get this module uprev'ed to that, lets use a simpler +workaround + +Upstream-Status: Inappropriate [Fixed Differently] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + .../vulkan/spirv_assembly/vktSpvAsmFloatControlsTests.cpp | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmFloatControlsTests.cpp b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmFloatControlsTests.cpp +index 22e6c75fa..db7f4b54a 100644 +--- a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmFloatControlsTests.cpp ++++ b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmFloatControlsTests.cpp +@@ -38,6 +38,10 @@ + #include <limits> + #include <fenv.h> + ++#ifdef O_TRUNC ++#undef O_TRUNC ++#endif ++ + namespace vkt + { + namespace SpirVAssembly +-- +2.31.1 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/fix-clang-private-operator.patch b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/fix-clang-private-operator.patch index b4573b38b..ea7659c69 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/fix-clang-private-operator.patch +++ b/meta-openembedded/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-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/fix-musl.patch b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/fix-musl.patch index 4116ae7d1..99cb87b30 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/fix-musl.patch +++ b/meta-openembedded/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-openembedded/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc index e64a935dd..dc38bd169 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc +++ b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc @@ -22,6 +22,11 @@ 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 \ + file://0001-vulkancts.patch \ +" + SRC_URI_append_libc-musl = "\ file://fix-musl.patch \ " diff --git a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.6.1.bb b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.7.0.bb index 184547aa7..a67992ee9 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.6.1.bb +++ b/meta-openembedded/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-openembedded/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.3.2.bb b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.6.0.bb index f07b12dec..f816c1bd1 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.3.2.bb +++ b/meta-openembedded/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" |