Commit c3b9b26a by Jamie Madill

Skip failing Texture tests on Intel D3D11.

There are currently some failures on the Chromium GPU FYI bots. The failing machine is using an Intel HD 3000, and the group of failing tests are the TextureTest.CopySubImageFloat_* group. I'm unable to repro these failures, but disable the tests until we can fix them. Also clean up our method of determining Renderer properties in ANGLETest. BUG=angle:850 Change-Id: I444b9d3497ea635fbd8957ac243b16c822c19d06 Reviewed-on: https://chromium-review.googlesource.com/244781Tested-by: 's avatarJamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarNicolas Capens <capn@chromium.org>
parent 254f3683
...@@ -231,6 +231,30 @@ void ANGLETest::SetWindowVisible(bool isVisible) ...@@ -231,6 +231,30 @@ void ANGLETest::SetWindowVisible(bool isVisible)
mOSWindow->setVisible(isVisible); mOSWindow->setVisible(isVisible);
} }
bool ANGLETest::isIntel() const
{
std::string rendererString(reinterpret_cast<const char *>(glGetString(GL_RENDERER)));
return (rendererString.find("Intel") != std::string::npos);
}
bool ANGLETest::isAMD() const
{
std::string rendererString(reinterpret_cast<const char *>(glGetString(GL_RENDERER)));
return (rendererString.find("AMD") != std::string::npos) ||
(rendererString.find("ATI") != std::string::npos);
}
bool ANGLETest::isNVidia() const
{
std::string rendererString(reinterpret_cast<const char *>(glGetString(GL_RENDERER)));
return (rendererString.find("NVIDIA") != std::string::npos);
}
EGLint ANGLETest::getPlatformRenderer() const
{
return mEGLWindow && mEGLWindow->getPlatform().renderer;
}
OSWindow *ANGLETest::mOSWindow = NULL; OSWindow *ANGLETest::mOSWindow = NULL;
void ANGLETestEnvironment::SetUp() void ANGLETestEnvironment::SetUp()
......
...@@ -89,6 +89,11 @@ class ANGLETest : public testing::Test ...@@ -89,6 +89,11 @@ class ANGLETest : public testing::Test
int getWindowHeight() const; int getWindowHeight() const;
bool isMultisampleEnabled() const; bool isMultisampleEnabled() const;
bool isIntel() const;
bool isAMD() const;
bool isNVidia() const;
EGLint getPlatformRenderer() const;
private: private:
bool createEGLContext(); bool createEGLContext();
bool destroyEGLContext(); bool destroyEGLContext();
......
...@@ -303,8 +303,6 @@ protected: ...@@ -303,8 +303,6 @@ protected:
GLuint mBGRAMultisampledRenderbuffer; GLuint mBGRAMultisampledRenderbuffer;
GLuint mBGRAMultisampledFBO; GLuint mBGRAMultisampledFBO;
T mFixtureType;
}; };
// Draw to user-created framebuffer, blit whole-buffer color to original framebuffer. // Draw to user-created framebuffer, blit whole-buffer color to original framebuffer.
...@@ -695,10 +693,9 @@ TYPED_TEST(BlitFramebufferANGLETest, BlitStencil) ...@@ -695,10 +693,9 @@ TYPED_TEST(BlitFramebufferANGLETest, BlitStencil)
{ {
// TODO(jmadill): Figure out if we can fix this on D3D9. // TODO(jmadill): Figure out if we can fix this on D3D9.
// https://code.google.com/p/angleproject/issues/detail?id=809 // https://code.google.com/p/angleproject/issues/detail?id=809
std::string rendererString(reinterpret_cast<const char *>(glGetString(GL_RENDERER))); if (isIntel() && getPlatformRenderer() == EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE)
if (rendererString.find("Intel") != std::string::npos &&
mFixtureType.GetPlatform().renderer == EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE)
{ {
std::cout << "Test skipped on Intel D3D9." << std::endl;
return; return;
} }
......
...@@ -476,6 +476,13 @@ TYPED_TEST(TextureTest, DISABLED_CopySubImageFloat_RGB_RG) ...@@ -476,6 +476,13 @@ TYPED_TEST(TextureTest, DISABLED_CopySubImageFloat_RGB_RG)
TYPED_TEST(TextureTest, CopySubImageFloat_RGB_RGB) TYPED_TEST(TextureTest, CopySubImageFloat_RGB_RGB)
{ {
// TODO(jmadill): Figure out why this is broken on Intel D3D11
if (isIntel() && getPlatformRenderer() == EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE)
{
std::cout << "Test skipped on Intel D3D11." << std::endl;
return;
}
testFloatCopySubImage(3, 3); testFloatCopySubImage(3, 3);
} }
...@@ -493,10 +500,24 @@ TYPED_TEST(TextureTest, DISABLED_CopySubImageFloat_RGBA_RG) ...@@ -493,10 +500,24 @@ TYPED_TEST(TextureTest, DISABLED_CopySubImageFloat_RGBA_RG)
TYPED_TEST(TextureTest, CopySubImageFloat_RGBA_RGB) TYPED_TEST(TextureTest, CopySubImageFloat_RGBA_RGB)
{ {
// TODO(jmadill): Figure out why this is broken on Intel D3D11
if (isIntel() && getPlatformRenderer() == EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE)
{
std::cout << "Test skipped on Intel D3D11." << std::endl;
return;
}
testFloatCopySubImage(4, 3); testFloatCopySubImage(4, 3);
} }
TYPED_TEST(TextureTest, CopySubImageFloat_RGBA_RGBA) TYPED_TEST(TextureTest, CopySubImageFloat_RGBA_RGBA)
{ {
// TODO(jmadill): Figure out why this is broken on Intel D3D11
if (isIntel() && getPlatformRenderer() == EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE)
{
std::cout << "Test skipped on Intel D3D11." << std::endl;
return;
}
testFloatCopySubImage(4, 4); testFloatCopySubImage(4, 4);
} }
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