Commit 2c49d0b0 by Jamie Madill Committed by Commit Bot

Suppress Bindings perf test on Win/Intel/GL.

BindingsBenchmark.Run/gl_100_objects_allocated_every_iteration This test was timing out on the bots. Conservatively skip the benchmark on Intel/GL/Windows. Bug: chromium:974083 Change-Id: I4a254bff8b43e5a47b5905ee6b9bc1a659129684 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1660951 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarKenneth Russell <kbr@chromium.org>
parent e1849ee1
......@@ -13,6 +13,7 @@
#include <random>
#include <sstream>
#include "test_utils/angle_test_instantiate.h"
#include "util/shader_utils.h"
namespace angle
......@@ -90,7 +91,14 @@ class BindingsBenchmark : public ANGLERenderTest,
std::vector<GLenum> mBindingPoints;
};
BindingsBenchmark::BindingsBenchmark() : ANGLERenderTest("Bindings", GetParam()) {}
BindingsBenchmark::BindingsBenchmark() : ANGLERenderTest("Bindings", GetParam())
{
// Flaky on Windows Intel OpenGL. http://crbug.com/974083
if (IsIntel() && GetParam().eglParameters.renderer == EGL_PLATFORM_ANGLE_TYPE_OPENGL_ANGLE)
{
mSkipTest = true;
}
}
void BindingsBenchmark::initializeBenchmark()
{
......
......@@ -1224,32 +1224,12 @@ void ANGLETestBase::setWindowVisible(bool isVisible)
mFixture->osWindow->setVisible(isVisible);
}
bool IsIntel()
{
std::string rendererString(reinterpret_cast<const char *>(glGetString(GL_RENDERER)));
return (rendererString.find("Intel") != std::string::npos);
}
bool IsAdreno()
{
std::string rendererString(reinterpret_cast<const char *>(glGetString(GL_RENDERER)));
return (rendererString.find("Adreno") != std::string::npos);
}
bool IsAMD()
{
std::string rendererString(reinterpret_cast<const char *>(glGetString(GL_RENDERER)));
return (rendererString.find("AMD") != std::string::npos) ||
(rendererString.find("ATI") != std::string::npos) ||
(rendererString.find("Radeon") != std::string::npos);
}
bool IsNVIDIA()
{
std::string rendererString(reinterpret_cast<const char *>(glGetString(GL_RENDERER)));
return (rendererString.find("NVIDIA") != std::string::npos);
}
bool IsD3D11()
{
std::string rendererString(reinterpret_cast<const char *>(glGetString(GL_RENDERER)));
......
......@@ -535,10 +535,7 @@ class ANGLETestEnvironment : public testing::Environment
};
// Driver vendors
bool IsIntel();
bool IsAdreno();
bool IsAMD();
bool IsNVIDIA();
// Renderer back-ends
// Note: FL9_3 is explicitly *not* considered D3D11.
......
......@@ -69,6 +69,31 @@ bool IsNativeConfigSupported(const PlatformParameters &param, OSWindow *osWindow
}
std::map<PlatformParameters, bool> gParamAvailabilityCache;
bool IsAndroidDevice(const std::string &deviceName)
{
if (!IsAndroid())
{
return false;
}
SystemInfo *systemInfo = GetTestSystemInfo();
if (systemInfo->machineModelName == deviceName)
{
return true;
}
return false;
}
bool HasSystemVendorID(VendorID vendorID)
{
SystemInfo *systemInfo = GetTestSystemInfo();
// Unfortunately sometimes GPU info collection can fail.
if (systemInfo->activeGPUIndex < 0 || systemInfo->gpus.empty())
{
return false;
}
return systemInfo->gpus[systemInfo->activeGPUIndex].vendorId == vendorID;
}
} // namespace
std::string gSelectedConfig;
......@@ -150,20 +175,6 @@ bool IsFuchsia()
#endif
}
bool IsAndroidDevice(const std::string &deviceName)
{
if (!IsAndroid())
{
return false;
}
SystemInfo *systemInfo = GetTestSystemInfo();
if (systemInfo->machineModelName == deviceName)
{
return true;
}
return false;
}
bool IsNexus5X()
{
return IsAndroidDevice("Nexus 5X");
......@@ -189,6 +200,21 @@ bool IsNVIDIAShield()
return IsAndroidDevice("SHIELD Android TV");
}
bool IsIntel()
{
return HasSystemVendorID(kVendorID_Intel);
}
bool IsAMD()
{
return HasSystemVendorID(kVendorID_AMD);
}
bool IsNVIDIA()
{
return HasSystemVendorID(kVendorID_NVIDIA);
}
bool IsConfigWhitelisted(const SystemInfo &systemInfo, const PlatformParameters &param)
{
VendorID vendorID = systemInfo.gpus[systemInfo.activeGPUIndex].vendorId;
......
......@@ -32,6 +32,11 @@ bool IsPixelXL();
bool IsPixel2();
bool IsNVIDIAShield();
// Desktop devices.
bool IsIntel();
bool IsAMD();
bool IsNVIDIA();
bool IsPlatformAvailable(const PlatformParameters &param);
// This functions is used to filter which tests should be registered,
......
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