Commit 4546c5ce by Tibor Dusnoki Committed by Commit Bot

Skip failing end2end tests on Windows on ARM

There are multiple failing tests on Windows on ARM which are related to drawing differences. They seem to be similar to an already reported issue (anglebug.com/3748). Bug: angleproject:4356 Bug: angleproject:4357 Change-Id: Ide5cc2e6f42d4c4b6fb88352833d20e517005c14 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2033067 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
parent 326c900e
......@@ -847,6 +847,7 @@ TEST_P(D3D11TextureStreamSamplingTest, P010)
ANGLE_SKIP_TEST_IF(
!IsEGLDisplayExtensionEnabled(display, "EGL_ANGLE_stream_producer_d3d_texture"));
ANGLE_SKIP_TEST_IF(!CheckP010TextureSupport(mD3D));
ANGLE_SKIP_TEST_IF(IsARM64() && IsWindows() && IsD3D());
constexpr char kVertShader[] = R"(
attribute vec4 aPos;
......
......@@ -564,6 +564,8 @@ TEST_P(EGLSurfaceTest, SwapInterval)
// Test fails on Swangle http://anglebug.com/4169
ANGLE_SKIP_TEST_IF(isVulkanSwiftshaderRenderer());
ANGLE_SKIP_TEST_IF(IsARM64() && IsWindows() && IsD3D());
initializeDisplay();
initializeSurfaceWithDefaultConfig();
initializeContext();
......
......@@ -1124,6 +1124,7 @@ TEST_P(ClearTestES3, RepeatedClear)
{
// Fails on 431.02 driver. http://anglebug.com/3748
ANGLE_SKIP_TEST_IF(IsWindows() && IsNVIDIA() && IsVulkan());
ANGLE_SKIP_TEST_IF(IsARM64() && IsWindows() && IsD3D());
constexpr char kVS[] =
"#version 300 es\n"
......
......@@ -1728,6 +1728,7 @@ TEST_P(ComputeShaderTest, groupMemoryBarrierAndBarrierTest)
// TODO(xinghua.cao@intel.com): Figure out why we get this error message
// that shader uses features not recognized by this D3D version.
ANGLE_SKIP_TEST_IF((IsAMD() || IsNVIDIA()) && IsD3D11());
ANGLE_SKIP_TEST_IF(IsARM64() && IsWindows() && IsD3D());
GLTexture texture;
GLFramebuffer framebuffer;
......@@ -1976,6 +1977,8 @@ TEST_P(ComputeShaderTest, AtomicFunctionsNoReturnValue)
// Fails to link on Android. http://anglebug.com/3874
ANGLE_SKIP_TEST_IF(IsAndroid());
ANGLE_SKIP_TEST_IF(IsARM64() && IsWindows() && IsD3D());
const char kCSShader[] = R"(#version 310 es
layout (local_size_x = 8, local_size_y = 1, local_size_z = 1) in;
layout (r32ui, binding = 0) readonly uniform highp uimage2D srcImage;
......
......@@ -184,6 +184,7 @@ void main()
TEST_P(MultisampleTest, Line)
{
ANGLE_SKIP_TEST_IF(!mMultisampledConfigExists);
ANGLE_SKIP_TEST_IF(IsARM64() && IsWindows() && IsD3D());
ANGLE_GL_PROGRAM(program, essl1_shaders::vs::Simple(), essl1_shaders::fs::Red());
glUseProgram(program);
......
......@@ -932,6 +932,7 @@ TEST_P(MultiviewDrawValidationTest, ActiveTimeElapsedQuery)
TEST_P(MultiviewRenderDualViewTest, DrawArrays)
{
ANGLE_SKIP_TEST_IF(!requestMultiviewExtension(isMultisampled()));
ANGLE_SKIP_TEST_IF(IsARM64() && IsWindows() && IsD3D());
drawQuad(mProgram, "vPosition", 0.0f, 1.0f, true);
ASSERT_GL_NO_ERROR();
......@@ -943,6 +944,7 @@ TEST_P(MultiviewRenderDualViewTest, DrawArrays)
TEST_P(MultiviewRenderDualViewTest, DrawElements)
{
ANGLE_SKIP_TEST_IF(!requestMultiviewExtension(isMultisampled()));
ANGLE_SKIP_TEST_IF(IsARM64() && IsWindows() && IsD3D());
drawIndexedQuad(mProgram, "vPosition", 0.0f, 1.0f, true);
ASSERT_GL_NO_ERROR();
......@@ -954,6 +956,7 @@ TEST_P(MultiviewRenderDualViewTest, DrawElements)
TEST_P(MultiviewRenderDualViewTest, DrawRangeElements)
{
ANGLE_SKIP_TEST_IF(!requestMultiviewExtension(isMultisampled()));
ANGLE_SKIP_TEST_IF(IsARM64() && IsWindows() && IsD3D());
drawIndexedQuad(mProgram, "vPosition", 0.0f, 1.0f, true, true);
ASSERT_GL_NO_ERROR();
......@@ -965,6 +968,7 @@ TEST_P(MultiviewRenderDualViewTest, DrawRangeElements)
TEST_P(MultiviewRenderTest, DrawArraysFourViews)
{
ANGLE_SKIP_TEST_IF(!requestMultiviewExtension(isMultisampled()));
ANGLE_SKIP_TEST_IF(IsARM64() && IsWindows() && IsD3D());
const std::string VS =
"#version 300 es\n"
......@@ -1027,6 +1031,7 @@ TEST_P(MultiviewRenderTest, DrawArraysFourViews)
TEST_P(MultiviewRenderTest, DrawArraysInstanced)
{
ANGLE_SKIP_TEST_IF(!requestMultiviewExtension(isMultisampled()));
ANGLE_SKIP_TEST_IF(IsARM64() && IsWindows() && IsD3D());
const std::string VS =
"#version 300 es\n"
......@@ -1097,6 +1102,7 @@ TEST_P(MultiviewRenderTest, DrawArraysInstanced)
TEST_P(MultiviewRenderTest, AttribDivisor)
{
ANGLE_SKIP_TEST_IF(!requestMultiviewExtension(isMultisampled()));
ANGLE_SKIP_TEST_IF(IsARM64() && IsWindows() && IsD3D());
// Looks like an incorrect D3D debug layer message is generated on Windows AMD and NVIDIA.
// May be specific to Windows 7 / Windows Server 2008. http://anglebug.com/2778
......@@ -1185,6 +1191,7 @@ TEST_P(MultiviewRenderTest, AttribDivisor)
TEST_P(MultiviewRenderTest, DivisorOrderOfOperation)
{
ANGLE_SKIP_TEST_IF(!requestMultiviewExtension(isMultisampled()));
ANGLE_SKIP_TEST_IF(IsARM64() && IsWindows() && IsD3D());
updateFBOs(1, 1, 2);
......@@ -1352,6 +1359,7 @@ TEST_P(MultiviewOcclusionQueryTest, OcclusionQueryNothingVisible)
{
ANGLE_SKIP_TEST_IF(!requestMultiviewExtension());
ANGLE_SKIP_TEST_IF(!requestOcclusionQueryExtension());
ANGLE_SKIP_TEST_IF(IsARM64() && IsWindows() && IsD3D());
const std::string VS =
"#version 300 es\n"
......@@ -1589,6 +1597,7 @@ TEST_P(MultiviewRenderPrimitiveTest, Points)
// Test failing on P400 graphics card (anglebug.com/2228)
ANGLE_SKIP_TEST_IF(IsWindows() && IsD3D11() && IsNVIDIA());
ANGLE_SKIP_TEST_IF(IsARM64() && IsWindows() && IsD3D());
const std::string VS =
"#version 300 es\n"
......@@ -1646,6 +1655,7 @@ TEST_P(MultiviewRenderPrimitiveTest, Lines)
{
return;
}
ANGLE_SKIP_TEST_IF(IsARM64() && IsWindows() && IsD3D());
GLuint program = CreateSimplePassthroughProgram(2, GetParam().mMultiviewExtension);
ASSERT_NE(program, 0u);
......@@ -1683,6 +1693,7 @@ TEST_P(MultiviewRenderPrimitiveTest, LineStrip)
{
return;
}
ANGLE_SKIP_TEST_IF(IsARM64() && IsWindows() && IsD3D());
GLuint program = CreateSimplePassthroughProgram(2, GetParam().mMultiviewExtension);
ASSERT_NE(program, 0u);
......@@ -1723,6 +1734,7 @@ TEST_P(MultiviewRenderPrimitiveTest, LineLoop)
// Only this subtest fails on intel-hd-630-ubuntu-stable. Driver bug?
// https://bugs.chromium.org/p/angleproject/issues/detail?id=3472
ANGLE_SKIP_TEST_IF(IsIntel() && IsLinux() && IsOpenGL());
ANGLE_SKIP_TEST_IF(IsARM64() && IsWindows() && IsD3D());
GLuint program = CreateSimplePassthroughProgram(2, GetParam().mMultiviewExtension);
ASSERT_NE(program, 0u);
......@@ -1757,6 +1769,7 @@ TEST_P(MultiviewRenderPrimitiveTest, TriangleStrip)
{
return;
}
ANGLE_SKIP_TEST_IF(IsARM64() && IsWindows() && IsD3D());
GLuint program = CreateSimplePassthroughProgram(2, GetParam().mMultiviewExtension);
ASSERT_NE(program, 0u);
......@@ -1788,6 +1801,7 @@ TEST_P(MultiviewRenderPrimitiveTest, TriangleFan)
{
return;
}
ANGLE_SKIP_TEST_IF(IsARM64() && IsWindows() && IsD3D());
GLuint program = CreateSimplePassthroughProgram(2, GetParam().mMultiviewExtension);
ASSERT_NE(program, 0u);
......@@ -1817,6 +1831,7 @@ TEST_P(MultiviewRenderPrimitiveTest, TriangleFan)
// to each other. The quads' position and color depend on the corresponding attribute divisors.
TEST_P(MultiviewRenderTest, ProgramRelinkUpdatesAttribDivisor)
{
ANGLE_SKIP_TEST_IF(IsARM64() && IsWindows() && IsD3D());
if (!requestMultiviewExtension(isMultisampled()))
{
return;
......@@ -1970,6 +1985,7 @@ TEST_P(MultiviewRenderTest, DivisorUpdatedOnProgramChange)
// Test failing on P400 graphics card (anglebug.com/2228)
ANGLE_SKIP_TEST_IF(IsWindows() && IsD3D11() && IsNVIDIA());
ANGLE_SKIP_TEST_IF(IsARM64() && IsWindows() && IsD3D());
// Looks like an incorrect D3D debug layer message is generated on Windows / AMD.
// May be specific to Windows 7 / Windows Server 2008. http://anglebug.com/2778
......@@ -2080,6 +2096,7 @@ TEST_P(MultiviewRenderTest, SelectColorBasedOnViewIDOVR)
// multi-view program.
TEST_P(MultiviewLayeredRenderTest, RenderToSubrangeOfLayers)
{
ANGLE_SKIP_TEST_IF(IsARM64() && IsWindows() && IsD3D());
if (!requestMultiviewExtension())
{
return;
......
......@@ -202,6 +202,7 @@ TEST_P(PbufferTest, TextureSizeReset)
{
ANGLE_SKIP_TEST_IF(!mSupportsPbuffers);
ANGLE_SKIP_TEST_IF(!mSupportsBindTexImage);
ANGLE_SKIP_TEST_IF(IsARM64() && IsWindows() && IsD3D());
GLTexture texture;
glBindTexture(GL_TEXTURE_2D, texture);
......
......@@ -4282,8 +4282,8 @@ class Texture2DNorm16TestES3 : public Texture2DTestES3
};
// Put default settings at the last
std::vector<GLint> paramsPackRowLength = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0};
std::vector<GLint> paramsPackAlignment = {1, 2, 8, 4};
std::vector<GLint> paramsPackRowLength = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0};
std::vector<GLint> paramsPackAlignment = {1, 2, 8, 4};
std::vector<std::array<GLint, 2>> paramsPackSkipPixelsAndRows = {{1, 0}, {0, 1}, {1, 1},
{3, 1}, {20, 20}, {0, 0}};
......@@ -5356,6 +5356,7 @@ TEST_P(Texture2DDepthTest, DepthTextureES2Compatibility)
!IsGLExtensionEnabled("GL_OES_depth_texture"));
// http://anglebug.com/4092
ANGLE_SKIP_TEST_IF(IsOpenGL() || IsOpenGLES());
ANGLE_SKIP_TEST_IF(IsARM64() && IsWindows() && IsD3D());
// When the depth texture is specified with unsized internalformat implementations follow
// OES_depth_texture behavior. Otherwise they follow GLES 3.0 behavior.
......
......@@ -42,6 +42,7 @@ bool IsIntel();
bool IsAMD();
bool IsNVIDIA();
bool IsARM();
bool IsARM64();
inline bool IsASan()
{
......
......@@ -81,6 +81,11 @@ bool IsMetal()
return (rendererString.find("Metal") != std::string::npos);
}
bool IsD3D()
{
return IsD3D9() || IsD3D11();
}
bool IsDebug()
{
#if !defined(NDEBUG)
......
......@@ -28,6 +28,7 @@ bool IsOpenGL();
bool IsNULL();
bool IsVulkan();
bool IsMetal();
bool IsD3D();
// Debug/Release
bool IsDebug();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment