From: Mika Väinölä Date: Wed, 10 Mar 2021 11:16:38 +0000 (+0200) Subject: GCC 11 build fixes X-Git-Tag: upstream/1.3.5~812 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2a0dad2819b1ea1e36c56db2e89b8cec2cf2072f;p=platform%2Fupstream%2FVK-GL-CTS.git GCC 11 build fixes Some files used std::numeric_limits without including and failed to compile. Some dynamic casts and calls to AndroidHardwareBufferExternalApi:: getInstance() produced nonnull warnings. Suppress these by wrapping them in if statements. Update Amber to suppress some new uninitialized variable warnings. This commit also removes implicit-fallthrough from the list of ignored GCC warnings in check_build_sanity.py. All such warnings in the CTS should be fixed by now and recent versions of Clang also support this warning. Affects: All Amber tests VK-GL-CTS issue: 2842 Change-Id: I5bd290f9c312a30c2fcb223307c7b5c785a0fa92 --- diff --git a/external/fetch_sources.py b/external/fetch_sources.py index bcebd1d..5f9afc4 100644 --- a/external/fetch_sources.py +++ b/external/fetch_sources.py @@ -333,7 +333,7 @@ PACKAGES = [ GitRepo( "https://github.com/google/amber.git", None, - "dabae26164714abf951c6815a2b4513260f7c6a4", + "aa69a0ac23ea7f68dd32bbef210546a5d84c1734", "amber"), ] diff --git a/external/vulkancts/framework/vulkan/vkRayTracingUtil.cpp b/external/vulkancts/framework/vulkan/vkRayTracingUtil.cpp index 76b548e..00acf38 100644 --- a/external/vulkancts/framework/vulkan/vkRayTracingUtil.cpp +++ b/external/vulkancts/framework/vulkan/vkRayTracingUtil.cpp @@ -33,6 +33,7 @@ #include #include #include +#include namespace vk { diff --git a/external/vulkancts/framework/vulkan/vkRayTracingUtil.hpp b/external/vulkancts/framework/vulkan/vkRayTracingUtil.hpp index 2e618e9..7188c8f 100644 --- a/external/vulkancts/framework/vulkan/vkRayTracingUtil.hpp +++ b/external/vulkancts/framework/vulkan/vkRayTracingUtil.hpp @@ -34,6 +34,7 @@ #include "tcuVectorType.hpp" #include +#include namespace vk { diff --git a/external/vulkancts/modules/vulkan/api/vktApiBufferTests.cpp b/external/vulkancts/modules/vulkan/api/vktApiBufferTests.cpp index a64577c..97cf062 100644 --- a/external/vulkancts/modules/vulkan/api/vktApiBufferTests.cpp +++ b/external/vulkancts/modules/vulkan/api/vktApiBufferTests.cpp @@ -35,6 +35,7 @@ #include "tcuPlatform.hpp" #include +#include namespace vkt { diff --git a/external/vulkancts/modules/vulkan/draw/vktDrawDepthClampTests.cpp b/external/vulkancts/modules/vulkan/draw/vktDrawDepthClampTests.cpp index 55c2fb7..832c007 100644 --- a/external/vulkancts/modules/vulkan/draw/vktDrawDepthClampTests.cpp +++ b/external/vulkancts/modules/vulkan/draw/vktDrawDepthClampTests.cpp @@ -39,6 +39,7 @@ #include "tcuTextureUtil.hpp" #include +#include namespace vkt { diff --git a/external/vulkancts/modules/vulkan/memory/vktMemoryDeviceMemoryReportTests.cpp b/external/vulkancts/modules/vulkan/memory/vktMemoryDeviceMemoryReportTests.cpp index 239d5ed..05ffbc1 100644 --- a/external/vulkancts/modules/vulkan/memory/vktMemoryDeviceMemoryReportTests.cpp +++ b/external/vulkancts/modules/vulkan/memory/vktMemoryDeviceMemoryReportTests.cpp @@ -42,6 +42,7 @@ #include #include +#include namespace vkt { diff --git a/external/vulkancts/modules/vulkan/ray_query/vktRayQueryAccelerationStructuresTests.cpp b/external/vulkancts/modules/vulkan/ray_query/vktRayQueryAccelerationStructuresTests.cpp index 9d77014..d3023fb 100644 --- a/external/vulkancts/modules/vulkan/ray_query/vktRayQueryAccelerationStructuresTests.cpp +++ b/external/vulkancts/modules/vulkan/ray_query/vktRayQueryAccelerationStructuresTests.cpp @@ -25,6 +25,7 @@ #include #include +#include #include "vkDefs.hpp" #include "deClock.h" diff --git a/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingAccelerationStructuresTests.cpp b/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingAccelerationStructuresTests.cpp index b57e171..f2be775 100644 --- a/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingAccelerationStructuresTests.cpp +++ b/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingAccelerationStructuresTests.cpp @@ -45,6 +45,7 @@ #include "tcuFloat.hpp" #include +#include namespace vkt { diff --git a/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingBuildTests.cpp b/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingBuildTests.cpp index 4b3c3ab..36462a9 100644 --- a/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingBuildTests.cpp +++ b/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingBuildTests.cpp @@ -38,6 +38,8 @@ #include "deClock.h" +#include + namespace vkt { namespace RayTracing diff --git a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmNonSemanticInfoTests.cpp b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmNonSemanticInfoTests.cpp index bd6089d..0b59f4c 100644 --- a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmNonSemanticInfoTests.cpp +++ b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmNonSemanticInfoTests.cpp @@ -28,6 +28,8 @@ #include "vktSpvAsmComputeShaderCase.hpp" #include "vktSpvAsmGraphicsShaderTestUtil.hpp" +#include + namespace vkt { namespace SpirVAssembly diff --git a/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationUtil.cpp b/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationUtil.cpp index bd3cf2b..e3f25c7 100644 --- a/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationUtil.cpp +++ b/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationUtil.cpp @@ -27,6 +27,7 @@ #include "vkBarrierUtil.hpp" #include "deStringUtil.hpp" #include +#include namespace vkt { diff --git a/external/vulkancts/modules/vulkan/util/vktExternalMemoryUtil.cpp b/external/vulkancts/modules/vulkan/util/vktExternalMemoryUtil.cpp index 9bdb8be..233e0cc 100644 --- a/external/vulkancts/modules/vulkan/util/vktExternalMemoryUtil.cpp +++ b/external/vulkancts/modules/vulkan/util/vktExternalMemoryUtil.cpp @@ -118,7 +118,11 @@ NativeHandle::NativeHandle (const NativeHandle& other) DE_ASSERT(other.m_fd == -1); DE_ASSERT(!other.m_win32Handle.internal); m_androidHardwareBuffer = other.m_androidHardwareBuffer; - AndroidHardwareBufferExternalApi::getInstance()->acquire(m_androidHardwareBuffer); + + if (AndroidHardwareBufferExternalApi* ahbApi = AndroidHardwareBufferExternalApi::getInstance()) + ahbApi->acquire(m_androidHardwareBuffer); + else + DE_FATAL("Platform doesn't support Android Hardware Buffer handles"); } else DE_FATAL("Native handle can't be duplicated"); @@ -194,7 +198,11 @@ void NativeHandle::reset (void) { DE_ASSERT(m_fd == -1); DE_ASSERT(!m_win32Handle.internal); - AndroidHardwareBufferExternalApi::getInstance()->release(m_androidHardwareBuffer); + + if (AndroidHardwareBufferExternalApi* ahbApi = AndroidHardwareBufferExternalApi::getInstance()) + ahbApi->release(m_androidHardwareBuffer); + else + DE_FATAL("Platform doesn't support Android Hardware Buffer handles"); } m_fd = -1; m_win32Handle = vk::pt::Win32Handle(DE_NULL); diff --git a/external/vulkancts/modules/vulkan/wsi/vktWsiFullScreenExclusiveTests.cpp b/external/vulkancts/modules/vulkan/wsi/vktWsiFullScreenExclusiveTests.cpp index 0f5f4c1..e97ea7a 100644 --- a/external/vulkancts/modules/vulkan/wsi/vktWsiFullScreenExclusiveTests.cpp +++ b/external/vulkancts/modules/vulkan/wsi/vktWsiFullScreenExclusiveTests.cpp @@ -39,6 +39,8 @@ #include "tcuPlatform.hpp" #include "tcuCommandLine.hpp" +#include + #if ( DE_OS == DE_OS_WIN32 ) #define NOMINMAX #define WIN32_LEAN_AND_MEAN diff --git a/external/vulkancts/modules/vulkan/ycbcr/vktYCbCrUtil.cpp b/external/vulkancts/modules/vulkan/ycbcr/vktYCbCrUtil.cpp index f89ed72..e68917a 100644 --- a/external/vulkancts/modules/vulkan/ycbcr/vktYCbCrUtil.cpp +++ b/external/vulkancts/modules/vulkan/ycbcr/vktYCbCrUtil.cpp @@ -38,6 +38,8 @@ #include "deSTLUtil.hpp" #include "deUniquePtr.hpp" +#include + namespace vkt { namespace ycbcr diff --git a/framework/opengl/simplereference/sglrReferenceContext.cpp b/framework/opengl/simplereference/sglrReferenceContext.cpp index d17a275..bd38151 100644 --- a/framework/opengl/simplereference/sglrReferenceContext.cpp +++ b/framework/opengl/simplereference/sglrReferenceContext.cpp @@ -2357,9 +2357,19 @@ tcu::PixelBufferAccess ReferenceContext::getFboAttachment (const rc::Framebuffer TCU_CHECK(texture); if (texture->getType() == Texture::TYPE_2D) - return dynamic_cast(texture)->getLevel(attachment.level); + { + if (Texture2D* texture2D = dynamic_cast(texture)) + return texture2D->getLevel(attachment.level); + else + return nullAccess(); + } else if (texture->getType() == Texture::TYPE_CUBE_MAP) - return dynamic_cast(texture)->getFace(attachment.level, texTargetToFace(attachment.texTarget)); + { + if (TextureCube* cubeMap = dynamic_cast(texture)) + return cubeMap->getFace(attachment.level, texTargetToFace(attachment.texTarget)); + else + return nullAccess(); + } else if (texture->getType() == Texture::TYPE_2D_ARRAY || texture->getType() == Texture::TYPE_3D || texture->getType() == Texture::TYPE_CUBE_MAP_ARRAY) @@ -2367,11 +2377,20 @@ tcu::PixelBufferAccess ReferenceContext::getFboAttachment (const rc::Framebuffer tcu::PixelBufferAccess level; if (texture->getType() == Texture::TYPE_2D_ARRAY) - level = dynamic_cast(texture)->getLevel(attachment.level); + { + if (Texture2DArray* texture2DArray = dynamic_cast(texture)) + level = texture2DArray->getLevel(attachment.level); + } else if (texture->getType() == Texture::TYPE_3D) - level = dynamic_cast(texture)->getLevel(attachment.level); + { + if (Texture3D* texture3D = dynamic_cast(texture)) + level = texture3D->getLevel(attachment.level); + } else if (texture->getType() == Texture::TYPE_CUBE_MAP_ARRAY) - level = dynamic_cast(texture)->getLevel(attachment.level); + { + if (TextureCubeArray* cubeArray = dynamic_cast(texture)) + level = cubeArray->getLevel(attachment.level); + } void* layerData = static_cast(level.getDataPtr()) + level.getSlicePitch() * attachment.layer; diff --git a/modules/egl/teglImageFormatTests.cpp b/modules/egl/teglImageFormatTests.cpp index 3af7774..aae3132 100644 --- a/modules/egl/teglImageFormatTests.cpp +++ b/modules/egl/teglImageFormatTests.cpp @@ -1712,7 +1712,13 @@ void MultiContextRenderTests::init (void) spec.name = std::string("gles2_") + createAction.label + "_" + renderAction.label; - const GLenum createFormat = dynamic_cast(createAction.action.get())->getEffectiveFormat(); + const GLES2ImageApi::Create* gles2Create = dynamic_cast(createAction.action.get()); + + if (!gles2Create) + DE_FATAL("Dynamic casting to GLES2ImageApi::Create* failed"); + + const GLenum createFormat = gles2Create->getEffectiveFormat(); + if (isDepthFormat(createFormat) && isStencilFormat(createFormat)) { // Combined depth and stencil format. Add the clear action label to avoid test diff --git a/modules/glshared/glsBuiltinPrecisionTests.cpp b/modules/glshared/glsBuiltinPrecisionTests.cpp index a1a9962..a774464 100644 --- a/modules/glshared/glsBuiltinPrecisionTests.cpp +++ b/modules/glshared/glsBuiltinPrecisionTests.cpp @@ -56,6 +56,7 @@ #include #include #include +#include // Uncomment this to get evaluation trace dumps to std::cerr // #define GLS_ENABLE_TRACE diff --git a/scripts/check_build_sanity.py b/scripts/check_build_sanity.py index e49d743..3757a2e 100644 --- a/scripts/check_build_sanity.py +++ b/scripts/check_build_sanity.py @@ -139,7 +139,7 @@ def runSteps (steps): print("Skip: %s" % step.getName()) COMMON_CFLAGS = ["-Werror", "-Wno-error=unused-function"] -COMMON_GCC_CFLAGS = COMMON_CFLAGS + ["-Wno-implicit-fallthrough", "-Wno-error=array-bounds"] +COMMON_GCC_CFLAGS = COMMON_CFLAGS + ["-Wno-error=array-bounds"] COMMON_CLANG_CFLAGS = COMMON_CFLAGS + ["-Wno-error=unused-command-line-argument"] GCC_32BIT_CFLAGS = COMMON_GCC_CFLAGS + ["-m32"] CLANG_32BIT_CFLAGS = COMMON_CLANG_CFLAGS + ["-m32"]