Commit c7f59d02 by Corentin Wallez Committed by Commit Bot

Suppress a Wintel/OpenGL failure on a new test.

BUG=angleproject:1388 Change-Id: I4d346ca3c6914e56055aa6492d9d013634a1b9ad Reviewed-on: https://chromium-review.googlesource.com/353693Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
parent e45e53bd
...@@ -466,7 +466,7 @@ TEST_P(GLSLTest, ScopedStructsOrderBug) ...@@ -466,7 +466,7 @@ TEST_P(GLSLTest, ScopedStructsOrderBug)
// (http://anglebug.com/1292) // (http://anglebug.com/1292)
// TODO(geofflang): Find out why this doesn't compile on AMD OpenGL drivers // TODO(geofflang): Find out why this doesn't compile on AMD OpenGL drivers
// (http://anglebug.com/1291) // (http://anglebug.com/1291)
if (isOpenGL() && (IsOSX() || !IsNVIDIA())) if (IsDesktopOpenGL() && (IsOSX() || !IsNVIDIA()))
{ {
std::cout << "Test disabled on this OpenGL configuration." << std::endl; std::cout << "Test disabled on this OpenGL configuration." << std::endl;
return; return;
...@@ -730,7 +730,7 @@ TEST_P(GLSLTest_ES3, InvariantVaryingOut) ...@@ -730,7 +730,7 @@ TEST_P(GLSLTest_ES3, InvariantVaryingOut)
{ {
// TODO: ESSL 3.00 -> GLSL 1.20 translation should add "invariant" in fragment shader // TODO: ESSL 3.00 -> GLSL 1.20 translation should add "invariant" in fragment shader
// for varyings which are invariant in vertex shader (http://anglebug.com/1293) // for varyings which are invariant in vertex shader (http://anglebug.com/1293)
if (isOpenGL()) if (IsDesktopOpenGL())
{ {
std::cout << "Test disabled on OpenGL." << std::endl; std::cout << "Test disabled on OpenGL." << std::endl;
return; return;
...@@ -872,7 +872,7 @@ TEST_P(GLSLTest, InvariantAllBoth) ...@@ -872,7 +872,7 @@ TEST_P(GLSLTest, InvariantAllBoth)
// TODO: ESSL 1.00 -> GLSL 1.20 translation should add "invariant" in fragment shader // TODO: ESSL 1.00 -> GLSL 1.20 translation should add "invariant" in fragment shader
// for varyings which are invariant in vertex shader individually, // for varyings which are invariant in vertex shader individually,
// and remove invariant(all) from fragment shader (http://anglebug.com/1293) // and remove invariant(all) from fragment shader (http://anglebug.com/1293)
if (isOpenGL()) if (IsDesktopOpenGL())
{ {
std::cout << "Test disabled on OpenGL." << std::endl; std::cout << "Test disabled on OpenGL." << std::endl;
return; return;
...@@ -979,7 +979,7 @@ TEST_P(GLSLTest_ES3, InvariantAllOut) ...@@ -979,7 +979,7 @@ TEST_P(GLSLTest_ES3, InvariantAllOut)
// TODO: ESSL 3.00 -> GLSL 1.20 translation should add "invariant" in fragment shader // TODO: ESSL 3.00 -> GLSL 1.20 translation should add "invariant" in fragment shader
// for varyings which are invariant in vertex shader, // for varyings which are invariant in vertex shader,
// because of invariant(all) being used in vertex shader (http://anglebug.com/1293) // because of invariant(all) being used in vertex shader (http://anglebug.com/1293)
if (isOpenGL()) if (IsDesktopOpenGL())
{ {
std::cout << "Test disabled on OpenGL." << std::endl; std::cout << "Test disabled on OpenGL." << std::endl;
return; return;
......
...@@ -910,7 +910,7 @@ TEST_P(MipmapTestES3, MipmapsForTexture3D) ...@@ -910,7 +910,7 @@ TEST_P(MipmapTestES3, MipmapsForTexture3D)
// the levelbase array, are left unchanged by this computation." // the levelbase array, are left unchanged by this computation."
TEST_P(MipmapTestES3, GenerateMipmapBaseLevel) TEST_P(MipmapTestES3, GenerateMipmapBaseLevel)
{ {
if (IsAMD() && isOpenGL()) if (IsAMD() && IsDesktopOpenGL())
{ {
// Observed incorrect rendering on AMD, sampling level 2 returns black. // Observed incorrect rendering on AMD, sampling level 2 returns black.
std::cout << "Test skipped on AMD OpenGL." << std::endl; std::cout << "Test skipped on AMD OpenGL." << std::endl;
...@@ -949,7 +949,7 @@ TEST_P(MipmapTestES3, GenerateMipmapBaseLevel) ...@@ -949,7 +949,7 @@ TEST_P(MipmapTestES3, GenerateMipmapBaseLevel)
clearAndDrawQuad(m2DProgram, getWindowWidth() / 4, getWindowHeight() / 4); clearAndDrawQuad(m2DProgram, getWindowWidth() / 4, getWindowHeight() / 4);
EXPECT_PIXEL_COLOR_EQ(getWindowWidth() / 8, getWindowHeight() / 8, GLColor::red); EXPECT_PIXEL_COLOR_EQ(getWindowWidth() / 8, getWindowHeight() / 8, GLColor::red);
if (IsNVIDIA() && (isOpenGL() || isGLES())) if (IsNVIDIA() && IsOpenGL())
{ {
// Observed incorrect rendering on NVIDIA, level zero seems to be incorrectly affected by // Observed incorrect rendering on NVIDIA, level zero seems to be incorrectly affected by
// GenerateMipmap. // GenerateMipmap.
...@@ -971,7 +971,7 @@ TEST_P(MipmapTestES3, GenerateMipmapBaseLevel) ...@@ -971,7 +971,7 @@ TEST_P(MipmapTestES3, GenerateMipmapBaseLevel)
// the levelbase array, are left unchanged by this computation." // the levelbase array, are left unchanged by this computation."
TEST_P(MipmapTestES3, GenerateMipmapCubeBaseLevel) TEST_P(MipmapTestES3, GenerateMipmapCubeBaseLevel)
{ {
if (IsAMD() && isOpenGL()) if (IsAMD() && IsDesktopOpenGL())
{ {
// Observed incorrect rendering on AMD, sampling level 2 returns black. // Observed incorrect rendering on AMD, sampling level 2 returns black.
std::cout << "Test skipped on AMD OpenGL." << std::endl; std::cout << "Test skipped on AMD OpenGL." << std::endl;
...@@ -1010,7 +1010,7 @@ TEST_P(MipmapTestES3, GenerateMipmapCubeBaseLevel) ...@@ -1010,7 +1010,7 @@ TEST_P(MipmapTestES3, GenerateMipmapCubeBaseLevel)
clearAndDrawQuad(mCubeProgram, getWindowWidth() / 4, getWindowHeight() / 4); clearAndDrawQuad(mCubeProgram, getWindowWidth() / 4, getWindowHeight() / 4);
EXPECT_PIXEL_COLOR_EQ(getWindowWidth() / 8, getWindowHeight() / 8, GLColor::red); EXPECT_PIXEL_COLOR_EQ(getWindowWidth() / 8, getWindowHeight() / 8, GLColor::red);
if (IsNVIDIA() && (isOpenGL() || isGLES())) if (IsNVIDIA() && IsOpenGL())
{ {
// Observed incorrect rendering on NVIDIA, level zero seems to be incorrectly affected by // Observed incorrect rendering on NVIDIA, level zero seems to be incorrectly affected by
// GenerateMipmap. // GenerateMipmap.
......
...@@ -36,7 +36,7 @@ class ReadPixelsTest : public ANGLETest ...@@ -36,7 +36,7 @@ class ReadPixelsTest : public ANGLETest
TEST_P(ReadPixelsTest, OutOfBounds) TEST_P(ReadPixelsTest, OutOfBounds)
{ {
// TODO: re-enable once root cause of http://anglebug.com/1413 is fixed // TODO: re-enable once root cause of http://anglebug.com/1413 is fixed
if (IsAndroid() && IsAdreno() && isGLES()) if (IsAndroid() && IsAdreno() && IsOpenGLES())
{ {
std::cout << "Test skipped on Adreno OpenGLES on Android." << std::endl; std::cout << "Test skipped on Adreno OpenGLES on Android." << std::endl;
return; return;
...@@ -219,7 +219,7 @@ TEST_P(ReadPixelsPBOTest, SubDataPreservesContents) ...@@ -219,7 +219,7 @@ TEST_P(ReadPixelsPBOTest, SubDataPreservesContents)
TEST_P(ReadPixelsPBOTest, SubDataOffsetPreservesContents) TEST_P(ReadPixelsPBOTest, SubDataOffsetPreservesContents)
{ {
// TODO: re-enable once root cause of http://anglebug.com/1415 is fixed // TODO: re-enable once root cause of http://anglebug.com/1415 is fixed
if (IsAndroid() && IsAdreno() && isGLES()) if (IsAndroid() && IsAdreno() && IsOpenGLES())
{ {
std::cout << "Test skipped on Adreno OpenGLES on Android." << std::endl; std::cout << "Test skipped on Adreno OpenGLES on Android." << std::endl;
return; return;
......
...@@ -268,6 +268,12 @@ TEST_P(StateChangeTest, FramebufferIncompleteDepthStencilAttachment) ...@@ -268,6 +268,12 @@ TEST_P(StateChangeTest, FramebufferIncompleteDepthStencilAttachment)
return; return;
} }
if (IsWindows() && IsIntel() && IsOpenGL())
{
// TODO(jmadill): Investigate the failure (https://anglebug.com/1388)
std::cout << "Test disabled on Windows Intel OpenGL." << std::endl;
}
glBindFramebuffer(GL_FRAMEBUFFER, mFramebuffer); glBindFramebuffer(GL_FRAMEBUFFER, mFramebuffer);
glBindTexture(GL_TEXTURE_2D, mTextures[0]); glBindTexture(GL_TEXTURE_2D, mTextures[0]);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 16, 16, 0, GL_RGBA, GL_UNSIGNED_BYTE, nullptr); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 16, 16, 0, GL_RGBA, GL_UNSIGNED_BYTE, nullptr);
......
...@@ -2215,19 +2215,19 @@ TEST_P(Texture2DTestES3, ImmutableTextureBaseLevelOutOfRange) ...@@ -2215,19 +2215,19 @@ TEST_P(Texture2DTestES3, ImmutableTextureBaseLevelOutOfRange)
// Test that changing base level works when it affects the format of the texture. // Test that changing base level works when it affects the format of the texture.
TEST_P(Texture2DTestES3, TextureFormatChangesWithBaseLevel) TEST_P(Texture2DTestES3, TextureFormatChangesWithBaseLevel)
{ {
if (IsNVIDIA() && (isOpenGL() || isGLES())) if (IsNVIDIA() && IsOpenGL())
{ {
// Observed rendering corruption on NVIDIA OpenGL. // Observed rendering corruption on NVIDIA OpenGL.
std::cout << "Test skipped on NVIDIA OpenGL." << std::endl; std::cout << "Test skipped on NVIDIA OpenGL." << std::endl;
return; return;
} }
if (IsIntel() && isOpenGL()) if (IsIntel() && IsDesktopOpenGL())
{ {
// Observed incorrect rendering on Intel OpenGL. // Observed incorrect rendering on Intel OpenGL.
std::cout << "Test skipped on Intel OpenGL." << std::endl; std::cout << "Test skipped on Intel OpenGL." << std::endl;
return; return;
} }
if (IsAMD() && isOpenGL()) if (IsAMD() && IsDesktopOpenGL())
{ {
// Observed incorrect rendering on AMD OpenGL. // Observed incorrect rendering on AMD OpenGL.
std::cout << "Test skipped on AMD OpenGL." << std::endl; std::cout << "Test skipped on AMD OpenGL." << std::endl;
...@@ -3323,7 +3323,7 @@ TEST_P(Texture2DNorm16TestES3, TextureNorm16Test) ...@@ -3323,7 +3323,7 @@ TEST_P(Texture2DNorm16TestES3, TextureNorm16Test)
// GLES 3.0.4 section 3.8.3. // GLES 3.0.4 section 3.8.3.
TEST_P(Texture2DTestES3, UnpackSkipImages2D) TEST_P(Texture2DTestES3, UnpackSkipImages2D)
{ {
if (IsIntel() && isOpenGL()) if (IsIntel() && IsDesktopOpenGL())
{ {
std::cout << "Test skipped on Intel OpenGL." << std::endl; std::cout << "Test skipped on Intel OpenGL." << std::endl;
return; return;
......
...@@ -787,7 +787,7 @@ void VertexAttributeCachingTest::SetUp() ...@@ -787,7 +787,7 @@ void VertexAttributeCachingTest::SetUp()
// to stress-test the caching code. // to stress-test the caching code.
TEST_P(VertexAttributeCachingTest, BufferMulticaching) TEST_P(VertexAttributeCachingTest, BufferMulticaching)
{ {
if (IsAMD() && isOpenGL()) if (IsAMD() && IsDesktopOpenGL())
{ {
std::cout << "Test skipped on AMD OpenGL." << std::endl; std::cout << "Test skipped on AMD OpenGL." << std::endl;
return; return;
...@@ -825,7 +825,7 @@ TEST_P(VertexAttributeCachingTest, BufferMulticaching) ...@@ -825,7 +825,7 @@ TEST_P(VertexAttributeCachingTest, BufferMulticaching)
// after enough iterations. It validates the unchanged attributes don't get deleted incidentally. // after enough iterations. It validates the unchanged attributes don't get deleted incidentally.
TEST_P(VertexAttributeCachingTest, BufferMulticachingWithOneUnchangedAttrib) TEST_P(VertexAttributeCachingTest, BufferMulticachingWithOneUnchangedAttrib)
{ {
if (IsAMD() && isOpenGL()) if (IsAMD() && IsDesktopOpenGL())
{ {
std::cout << "Test skipped on AMD OpenGL." << std::endl; std::cout << "Test skipped on AMD OpenGL." << std::endl;
return; return;
......
...@@ -704,6 +704,23 @@ bool IsD3DSM3() ...@@ -704,6 +704,23 @@ bool IsD3DSM3()
return IsD3D9() || IsD3D11_FL93(); return IsD3D9() || IsD3D11_FL93();
} }
bool IsDesktopOpenGL()
{
return IsOpenGL() && !IsOpenGLES();
}
bool IsOpenGLES()
{
std::string rendererString(reinterpret_cast<const char *>(glGetString(GL_RENDERER)));
return (rendererString.find("OpenGL ES") != std::string::npos);
}
bool IsOpenGL()
{
std::string rendererString(reinterpret_cast<const char *>(glGetString(GL_RENDERER)));
return (rendererString.find("OpenGL") != std::string::npos);
}
bool IsAndroid() bool IsAndroid()
{ {
#if defined(ANGLE_PLATFORM_ANDROID) #if defined(ANGLE_PLATFORM_ANDROID)
...@@ -731,14 +748,13 @@ bool IsOSX() ...@@ -731,14 +748,13 @@ bool IsOSX()
#endif #endif
} }
bool ANGLETest::isOpenGL() const bool IsWindows()
{
return getPlatformRenderer() == EGL_PLATFORM_ANGLE_TYPE_OPENGL_ANGLE;
}
bool ANGLETest::isGLES() const
{ {
return getPlatformRenderer() == EGL_PLATFORM_ANGLE_TYPE_OPENGLES_ANGLE; #if defined(ANGLE_PLATFORM_WINDOWS)
return true;
#else
return false;
#endif
} }
EGLint ANGLETest::getPlatformRenderer() const EGLint ANGLETest::getPlatformRenderer() const
......
...@@ -199,8 +199,6 @@ class ANGLETest : public ::testing::TestWithParam<angle::PlatformParameters> ...@@ -199,8 +199,6 @@ class ANGLETest : public ::testing::TestWithParam<angle::PlatformParameters>
int getWindowHeight() const; int getWindowHeight() const;
bool isMultisampleEnabled() const; bool isMultisampleEnabled() const;
bool isOpenGL() const;
bool isGLES() const;
EGLint getPlatformRenderer() const; EGLint getPlatformRenderer() const;
void ignoreD3D11SDKLayersWarnings(); void ignoreD3D11SDKLayersWarnings();
...@@ -234,10 +232,13 @@ class ANGLETestEnvironment : public testing::Environment ...@@ -234,10 +232,13 @@ class ANGLETestEnvironment : public testing::Environment
std::unique_ptr<angle::Library> mGLESLibrary; std::unique_ptr<angle::Library> mGLESLibrary;
}; };
// Driver vendors
bool IsIntel(); bool IsIntel();
bool IsAdreno(); bool IsAdreno();
bool IsAMD(); bool IsAMD();
bool IsNVIDIA(); bool IsNVIDIA();
// Renderer back-ends
// Note: FL9_3 is explicitly *not* considered D3D11. // Note: FL9_3 is explicitly *not* considered D3D11.
bool IsD3D11(); bool IsD3D11();
bool IsD3D11_FL93(); bool IsD3D11_FL93();
...@@ -245,9 +246,15 @@ bool IsD3D11_FL93(); ...@@ -245,9 +246,15 @@ bool IsD3D11_FL93();
bool IsD3D9(); bool IsD3D9();
// Is D3D9 or SM9_3 renderer. // Is D3D9 or SM9_3 renderer.
bool IsD3DSM3(); bool IsD3DSM3();
bool IsDesktopOpenGL();
bool IsOpenGLES();
bool IsOpenGL();
// Operating systems
bool IsAndroid(); bool IsAndroid();
bool IsLinux(); bool IsLinux();
bool IsOSX(); bool IsOSX();
bool IsWindows();
// Negative tests may trigger expected errors/warnings in the ANGLE Platform. // Negative tests may trigger expected errors/warnings in the ANGLE Platform.
void IgnoreANGLEPlatformMessages(); void IgnoreANGLEPlatformMessages();
......
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