GCC 11 build fixes
Some files used std::numeric_limits without including <limits> 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
This commit is contained in:
parent
9a714a7ca7
commit
2a0dad2819
18 changed files with 60 additions and 10 deletions
2
external/fetch_sources.py
vendored
2
external/fetch_sources.py
vendored
|
|
@ -333,7 +333,7 @@ PACKAGES = [
|
|||
GitRepo(
|
||||
"https://github.com/google/amber.git",
|
||||
None,
|
||||
"dabae26164714abf951c6815a2b4513260f7c6a4",
|
||||
"aa69a0ac23ea7f68dd32bbef210546a5d84c1734",
|
||||
"amber"),
|
||||
]
|
||||
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@
|
|||
#include <vector>
|
||||
#include <string>
|
||||
#include <thread>
|
||||
#include <limits>
|
||||
|
||||
namespace vk
|
||||
{
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@
|
|||
#include "tcuVectorType.hpp"
|
||||
|
||||
#include <vector>
|
||||
#include <limits>
|
||||
|
||||
namespace vk
|
||||
{
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@
|
|||
#include "tcuPlatform.hpp"
|
||||
|
||||
#include <algorithm>
|
||||
#include <limits>
|
||||
|
||||
namespace vkt
|
||||
{
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@
|
|||
#include "tcuTextureUtil.hpp"
|
||||
|
||||
#include <cmath>
|
||||
#include <limits>
|
||||
|
||||
namespace vkt
|
||||
{
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@
|
|||
|
||||
#include <set>
|
||||
#include <vector>
|
||||
#include <limits>
|
||||
|
||||
namespace vkt
|
||||
{
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@
|
|||
|
||||
#include <array>
|
||||
#include <set>
|
||||
#include <limits>
|
||||
|
||||
#include "vkDefs.hpp"
|
||||
#include "deClock.h"
|
||||
|
|
|
|||
|
|
@ -45,6 +45,7 @@
|
|||
#include "tcuFloat.hpp"
|
||||
|
||||
#include <set>
|
||||
#include <limits>
|
||||
|
||||
namespace vkt
|
||||
{
|
||||
|
|
|
|||
|
|
@ -38,6 +38,8 @@
|
|||
|
||||
#include "deClock.h"
|
||||
|
||||
#include <limits>
|
||||
|
||||
namespace vkt
|
||||
{
|
||||
namespace RayTracing
|
||||
|
|
|
|||
|
|
@ -28,6 +28,8 @@
|
|||
#include "vktSpvAsmComputeShaderCase.hpp"
|
||||
#include "vktSpvAsmGraphicsShaderTestUtil.hpp"
|
||||
|
||||
#include <limits>
|
||||
|
||||
namespace vkt
|
||||
{
|
||||
namespace SpirVAssembly
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@
|
|||
#include "vkBarrierUtil.hpp"
|
||||
#include "deStringUtil.hpp"
|
||||
#include <set>
|
||||
#include <limits>
|
||||
|
||||
namespace vkt
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -38,6 +38,8 @@
|
|||
#include "deSTLUtil.hpp"
|
||||
#include "deUniquePtr.hpp"
|
||||
|
||||
#include <limits>
|
||||
|
||||
namespace vkt
|
||||
{
|
||||
namespace ycbcr
|
||||
|
|
|
|||
|
|
@ -2357,9 +2357,19 @@ tcu::PixelBufferAccess ReferenceContext::getFboAttachment (const rc::Framebuffer
|
|||
TCU_CHECK(texture);
|
||||
|
||||
if (texture->getType() == Texture::TYPE_2D)
|
||||
return dynamic_cast<Texture2D*>(texture)->getLevel(attachment.level);
|
||||
{
|
||||
if (Texture2D* texture2D = dynamic_cast<Texture2D*>(texture))
|
||||
return texture2D->getLevel(attachment.level);
|
||||
else
|
||||
return nullAccess();
|
||||
}
|
||||
else if (texture->getType() == Texture::TYPE_CUBE_MAP)
|
||||
return dynamic_cast<TextureCube*>(texture)->getFace(attachment.level, texTargetToFace(attachment.texTarget));
|
||||
{
|
||||
if (TextureCube* cubeMap = dynamic_cast<TextureCube*>(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<Texture2DArray*>(texture)->getLevel(attachment.level);
|
||||
{
|
||||
if (Texture2DArray* texture2DArray = dynamic_cast<Texture2DArray*>(texture))
|
||||
level = texture2DArray->getLevel(attachment.level);
|
||||
}
|
||||
else if (texture->getType() == Texture::TYPE_3D)
|
||||
level = dynamic_cast<Texture3D*>(texture)->getLevel(attachment.level);
|
||||
{
|
||||
if (Texture3D* texture3D = dynamic_cast<Texture3D*>(texture))
|
||||
level = texture3D->getLevel(attachment.level);
|
||||
}
|
||||
else if (texture->getType() == Texture::TYPE_CUBE_MAP_ARRAY)
|
||||
level = dynamic_cast<TextureCubeArray*>(texture)->getLevel(attachment.level);
|
||||
{
|
||||
if (TextureCubeArray* cubeArray = dynamic_cast<TextureCubeArray*>(texture))
|
||||
level = cubeArray->getLevel(attachment.level);
|
||||
}
|
||||
|
||||
void* layerData = static_cast<deUint8*>(level.getDataPtr()) + level.getSlicePitch() * attachment.layer;
|
||||
|
||||
|
|
|
|||
|
|
@ -1712,7 +1712,13 @@ void MultiContextRenderTests::init (void)
|
|||
|
||||
spec.name = std::string("gles2_") + createAction.label + "_" + renderAction.label;
|
||||
|
||||
const GLenum createFormat = dynamic_cast<const GLES2ImageApi::Create*>(createAction.action.get())->getEffectiveFormat();
|
||||
const GLES2ImageApi::Create* gles2Create = dynamic_cast<const GLES2ImageApi::Create*>(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
|
||||
|
|
|
|||
|
|
@ -56,6 +56,7 @@
|
|||
#include <iostream>
|
||||
#include <map>
|
||||
#include <utility>
|
||||
#include <limits>
|
||||
|
||||
// Uncomment this to get evaluation trace dumps to std::cerr
|
||||
// #define GLS_ENABLE_TRACE
|
||||
|
|
|
|||
|
|
@ -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"]
|
||||
|
|
|
|||
Loading…
Reference in a new issue