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