Commit b36f7a25 by Kevin Schoedel Committed by Commit Bot

Update gpu_test_expectations

Sync with chromium, primarily to shave the kOsFuchsia yak. Bug: angleproject:2475 Change-Id: I76ce607095d02e805a41f63315b4237e57f1cc4e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1497392 Commit-Queue: Jamie Madill <jmadill@google.com> Reviewed-by: 's avatarJamie Madill <jmadill@google.com>
parent e3981cf7
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
#define DCHECK_NE(A, B) ASSERT((A) != (B)) #define DCHECK_NE(A, B) ASSERT((A) != (B))
#define DCHECK(X) ASSERT(X) #define DCHECK(X) ASSERT(X)
#define DLOG(X) std::cerr #define DLOG(X) std::cerr
#define DVLOG(X) std::cerr
#define LOG(X) std::cerr #define LOG(X) std::cerr
#define GPU_EXPORT #define GPU_EXPORT
...@@ -48,6 +49,7 @@ class Size ...@@ -48,6 +49,7 @@ class Size
public: public:
int width() const { return 0; } int width() const { return 0; }
int height() const { return 0; } int height() const { return 0; }
std::string ToString() const { return "0x0"; }
}; };
} // namespace gfx } // namespace gfx
...@@ -64,6 +66,8 @@ struct DxDiagNode ...@@ -64,6 +66,8 @@ struct DxDiagNode
# define OS_LINUX # define OS_LINUX
#elif defined(__APPLE__) #elif defined(__APPLE__)
# define OS_MACOSX # define OS_MACOSX
#elif defined(__Fuchsia__)
# define OS_FUCHSIA
#else #else
# error "Unsupported platform" # error "Unsupported platform"
#endif #endif
......
...@@ -99,32 +99,36 @@ GPUTestConfig::OS GetCurrentOS() { ...@@ -99,32 +99,36 @@ GPUTestConfig::OS GetCurrentOS() {
return GPUTestConfig::kOsMacSierra; return GPUTestConfig::kOsMacSierra;
case 13: case 13:
return GPUTestConfig::kOsMacHighSierra; return GPUTestConfig::kOsMacHighSierra;
case 14:
return GPUTestConfig::kOsMacMojave;
} }
} }
#elif defined(OS_ANDROID) #elif defined(OS_ANDROID)
return GPUTestConfig::kOsAndroid; return GPUTestConfig::kOsAndroid;
#elif defined(OS_FUCHSIA)
return GPUTestConfig::kOsFuchsia;
#endif #endif
return GPUTestConfig::kOsUnknown; return GPUTestConfig::kOsUnknown;
} }
#if !defined(OS_ANDROID) #if !defined(OS_ANDROID)
CollectInfoResult CollectBasicGraphicsInfo(GPUInfo* gpu_info) { bool CollectBasicGraphicsInfo(GPUInfo* gpu_info) {
angle::SystemInfo info; angle::SystemInfo info;
if (!angle::GetSystemInfo(&info)) { if (!angle::GetSystemInfo(&info)) {
return kCollectInfoFatalFailure; return false;
} }
const angle::GPUDeviceInfo& gpu = info.gpus[info.primaryGPUIndex]; const angle::GPUDeviceInfo& gpu = info.gpus[info.primaryGPUIndex];
gpu_info->gpu.vendor_id = gpu.vendorId; gpu_info->gpu.vendor_id = gpu.vendorId;
gpu_info->gpu.device_id = gpu.deviceId; gpu_info->gpu.device_id = gpu.deviceId;
gpu_info->gpu.active = true; gpu_info->gpu.active = true;
return kCollectInfoSuccess; return true;
} }
#else #else
CollectInfoResult CollectBasicGraphicsInfo(GPUInfo* gpu_info) { bool CollectBasicGraphicsInfo(GPUInfo* gpu_info) {
gpu_info->gpu.vendor_id = 0; gpu_info->gpu.vendor_id = 0;
gpu_info->gpu.device_id = 0; gpu_info->gpu.device_id = 0;
gpu_info->gpu.active = true; gpu_info->gpu.active = true;
return kCollectInfoNonFatalFailure; return false;
} }
#endif // defined(OS_ANDROID) #endif // defined(OS_ANDROID)
} // namespace anonymous } // namespace anonymous
...@@ -138,11 +142,11 @@ GPUTestConfig::GPUTestConfig() ...@@ -138,11 +142,11 @@ GPUTestConfig::GPUTestConfig()
GPUTestConfig::GPUTestConfig(const GPUTestConfig& other) = default; GPUTestConfig::GPUTestConfig(const GPUTestConfig& other) = default;
GPUTestConfig::~GPUTestConfig() { GPUTestConfig::~GPUTestConfig() = default;
}
void GPUTestConfig::set_os(int32_t os) { void GPUTestConfig::set_os(int32_t os) {
DCHECK_EQ(0, os & ~(kOsAndroid | kOsWin | kOsMac | kOsLinux | kOsChromeOS)); DCHECK_EQ(0, os & ~(kOsAndroid | kOsWin | kOsMac | kOsLinux | kOsChromeOS |
kOsFuchsia));
os_ = os; os_ = os;
} }
...@@ -214,8 +218,7 @@ void GPUTestConfig::ClearGPUVendor() { ...@@ -214,8 +218,7 @@ void GPUTestConfig::ClearGPUVendor() {
gpu_vendor_.clear(); gpu_vendor_.clear();
} }
GPUTestBotConfig::~GPUTestBotConfig() { GPUTestBotConfig::~GPUTestBotConfig() = default;
}
void GPUTestBotConfig::AddGPUVendor(uint32_t gpu_vendor) { void GPUTestBotConfig::AddGPUVendor(uint32_t gpu_vendor) {
DCHECK_EQ(0u, GPUTestConfig::gpu_vendor().size()); DCHECK_EQ(0u, GPUTestConfig::gpu_vendor().size());
...@@ -248,9 +251,11 @@ bool GPUTestBotConfig::IsValid() const { ...@@ -248,9 +251,11 @@ bool GPUTestBotConfig::IsValid() const {
case kOsMacElCapitan: case kOsMacElCapitan:
case kOsMacSierra: case kOsMacSierra:
case kOsMacHighSierra: case kOsMacHighSierra:
case kOsMacMojave:
case kOsLinux: case kOsLinux:
case kOsChromeOS: case kOsChromeOS:
case kOsAndroid: case kOsAndroid:
case kOsFuchsia:
break; break;
default: default:
return false; return false;
...@@ -309,10 +314,9 @@ bool GPUTestBotConfig::Matches(const std::string& config_data) const { ...@@ -309,10 +314,9 @@ bool GPUTestBotConfig::Matches(const std::string& config_data) const {
bool GPUTestBotConfig::LoadCurrentConfig(const GPUInfo* gpu_info) { bool GPUTestBotConfig::LoadCurrentConfig(const GPUInfo* gpu_info) {
bool rt; bool rt;
if (gpu_info == NULL) { if (!gpu_info) {
GPUInfo my_gpu_info; GPUInfo my_gpu_info;
CollectInfoResult result = CollectBasicGraphicsInfo(&my_gpu_info); if (!CollectBasicGraphicsInfo(&my_gpu_info)) {
if (result != kCollectInfoSuccess) {
LOG(ERROR) << "Fail to identify GPU\n"; LOG(ERROR) << "Fail to identify GPU\n";
DisableGPUInfoValidation(); DisableGPUInfoValidation();
rt = true; rt = true;
...@@ -338,7 +342,7 @@ bool GPUTestBotConfig::LoadCurrentConfig(const GPUInfo* gpu_info) { ...@@ -338,7 +342,7 @@ bool GPUTestBotConfig::LoadCurrentConfig(const GPUInfo* gpu_info) {
// static // static
bool GPUTestBotConfig::CurrentConfigMatches(const std::string& config_data) { bool GPUTestBotConfig::CurrentConfigMatches(const std::string& config_data) {
GPUTestBotConfig my_config; GPUTestBotConfig my_config;
if (!my_config.LoadCurrentConfig(NULL)) if (!my_config.LoadCurrentConfig(nullptr))
return false; return false;
return my_config.Matches(config_data); return my_config.Matches(config_data);
} }
...@@ -347,7 +351,7 @@ bool GPUTestBotConfig::CurrentConfigMatches(const std::string& config_data) { ...@@ -347,7 +351,7 @@ bool GPUTestBotConfig::CurrentConfigMatches(const std::string& config_data) {
bool GPUTestBotConfig::CurrentConfigMatches( bool GPUTestBotConfig::CurrentConfigMatches(
const std::vector<std::string>& configs) { const std::vector<std::string>& configs) {
GPUTestBotConfig my_config; GPUTestBotConfig my_config;
if (!my_config.LoadCurrentConfig(NULL)) if (!my_config.LoadCurrentConfig(nullptr))
return false; return false;
for (size_t i = 0 ; i < configs.size(); ++i) { for (size_t i = 0 ; i < configs.size(); ++i) {
if (my_config.Matches(configs[i])) if (my_config.Matches(configs[i]))
...@@ -362,4 +366,3 @@ bool GPUTestBotConfig::GpuBlacklistedOnBot() { ...@@ -362,4 +366,3 @@ bool GPUTestBotConfig::GpuBlacklistedOnBot() {
} }
} // namespace gpu } // namespace gpu
...@@ -12,16 +12,13 @@ ...@@ -12,16 +12,13 @@
#include "angle_config.h" #include "angle_config.h"
namespace gpu namespace gpu {
{
struct GPUInfo; struct GPUInfo;
class GPU_EXPORT GPUTestConfig class GPU_EXPORT GPUTestConfig {
{
public: public:
enum OS enum OS {
{
kOsUnknown = 0, kOsUnknown = 0,
kOsWinXP = 1 << 0, kOsWinXP = 1 << 0,
kOsWinVista = 1 << 1, kOsWinVista = 1 << 1,
...@@ -36,25 +33,25 @@ class GPU_EXPORT GPUTestConfig ...@@ -36,25 +33,25 @@ class GPU_EXPORT GPUTestConfig
kOsMacElCapitan = 1 << 10, kOsMacElCapitan = 1 << 10,
kOsMacSierra = 1 << 11, kOsMacSierra = 1 << 11,
kOsMacHighSierra = 1 << 12, kOsMacHighSierra = 1 << 12,
kOsMac = kOsMacLeopard | kOsMacSnowLeopard | kOsMacLion | kOsMacMountainLion | kOsMacMojave = 1 << 13,
kOsMacMavericks | kOsMacYosemite | kOsMacElCapitan | kOsMacSierra | kOsMac = kOsMacLeopard | kOsMacSnowLeopard | kOsMacLion |
kOsMacHighSierra, kOsMacMountainLion | kOsMacMavericks | kOsMacYosemite |
kOsLinux = 1 << 13, kOsMacElCapitan | kOsMacSierra | kOsMacHighSierra | kOsMacMojave,
kOsChromeOS = 1 << 14, kOsLinux = 1 << 14,
kOsAndroid = 1 << 15, kOsChromeOS = 1 << 15,
kOsWin10 = 1 << 16, kOsAndroid = 1 << 16,
kOsWin10 = 1 << 17,
kOsWin = kOsWinXP | kOsWinVista | kOsWin7 | kOsWin8 | kOsWin10, kOsWin = kOsWinXP | kOsWinVista | kOsWin7 | kOsWin8 | kOsWin10,
kOsFuchsia = 1 << 18,
}; };
enum BuildType enum BuildType {
{
kBuildTypeUnknown = 0, kBuildTypeUnknown = 0,
kBuildTypeRelease = 1 << 0, kBuildTypeRelease = 1 << 0,
kBuildTypeDebug = 1 << 1, kBuildTypeDebug = 1 << 1,
}; };
enum API enum API {
{
kAPIUnknown = 0, kAPIUnknown = 0,
kAPID3D9 = 1 << 0, kAPID3D9 = 1 << 0,
kAPID3D11 = 1 << 1, kAPID3D11 = 1 << 1,
...@@ -64,7 +61,7 @@ class GPU_EXPORT GPUTestConfig ...@@ -64,7 +61,7 @@ class GPU_EXPORT GPUTestConfig
}; };
GPUTestConfig(); GPUTestConfig();
GPUTestConfig(const GPUTestConfig &other); GPUTestConfig(const GPUTestConfig& other);
virtual ~GPUTestConfig(); virtual ~GPUTestConfig();
void set_os(int32_t os); void set_os(int32_t os);
...@@ -75,7 +72,7 @@ class GPU_EXPORT GPUTestConfig ...@@ -75,7 +72,7 @@ class GPU_EXPORT GPUTestConfig
virtual void AddGPUVendor(uint32_t gpu_vendor); virtual void AddGPUVendor(uint32_t gpu_vendor);
int32_t os() const { return os_; } int32_t os() const { return os_; }
const std::vector<uint32_t> &gpu_vendor() const { return gpu_vendor_; } const std::vector<uint32_t>& gpu_vendor() const { return gpu_vendor_; }
uint32_t gpu_device_id() const { return gpu_device_id_; } uint32_t gpu_device_id() const { return gpu_device_id_; }
int32_t build_type() const { return build_type_; } int32_t build_type() const { return build_type_; }
int32_t api() const { return api_; } int32_t api() const { return api_; }
...@@ -86,7 +83,7 @@ class GPU_EXPORT GPUTestConfig ...@@ -86,7 +83,7 @@ class GPU_EXPORT GPUTestConfig
// Check if two configs overlap, i.e., if there exists a config that matches // Check if two configs overlap, i.e., if there exists a config that matches
// both configs. // both configs.
bool OverlapsWith(const GPUTestConfig &config) const; bool OverlapsWith(const GPUTestConfig& config) const;
// Disable validation of GPU vendor and device ids. // Disable validation of GPU vendor and device ids.
void DisableGPUInfoValidation(); void DisableGPUInfoValidation();
...@@ -115,17 +112,16 @@ class GPU_EXPORT GPUTestConfig ...@@ -115,17 +112,16 @@ class GPU_EXPORT GPUTestConfig
int32_t api_; int32_t api_;
}; };
class GPU_EXPORT GPUTestBotConfig : public GPUTestConfig class GPU_EXPORT GPUTestBotConfig : public GPUTestConfig {
{
public: public:
GPUTestBotConfig() {} GPUTestBotConfig() = default;
~GPUTestBotConfig() override; ~GPUTestBotConfig() override;
// This should only be called when no gpu_vendor is added. // This should only be called when no gpu_vendor is added.
void AddGPUVendor(uint32_t gpu_vendor) override; void AddGPUVendor(uint32_t gpu_vendor) override;
// Return false if gpu_info does not have valid vendor_id and device_id. // Return false if gpu_info does not have valid vendor_id and device_id.
bool SetGPUInfo(const GPUInfo &gpu_info); bool SetGPUInfo(const GPUInfo& gpu_info);
// Check if the bot config is valid, i.e., if it is one valid test-bot // Check if the bot config is valid, i.e., if it is one valid test-bot
// environment. For example, if a field is unknown, or if OS is not one // environment. For example, if a field is unknown, or if OS is not one
...@@ -134,16 +130,16 @@ class GPU_EXPORT GPUTestBotConfig : public GPUTestConfig ...@@ -134,16 +130,16 @@ class GPU_EXPORT GPUTestBotConfig : public GPUTestConfig
// Check if a bot config matches a test config, i.e., the test config is a // Check if a bot config matches a test config, i.e., the test config is a
// superset of the bot config. // superset of the bot config.
bool Matches(const GPUTestConfig &config) const; bool Matches(const GPUTestConfig& config) const;
bool Matches(const std::string &config_data) const; bool Matches(const std::string& config_data) const;
// Setup the config with the current gpu testing environment. // Setup the config with the current gpu testing environment.
// If gpu_info is NULL, collect GPUInfo first. // If gpu_info is nullptr, collect GPUInfo first.
bool LoadCurrentConfig(const GPUInfo *gpu_info); bool LoadCurrentConfig(const GPUInfo* gpu_info);
// Check if this bot's config matches |config_data| or any of the |configs|. // Check if this bot's config matches |config_data| or any of the |configs|.
static bool CurrentConfigMatches(const std::string &config_data); static bool CurrentConfigMatches(const std::string& config_data);
static bool CurrentConfigMatches(const std::vector<std::string> &configs); static bool CurrentConfigMatches(const std::vector<std::string>& configs);
// Check if the bot has blacklisted all GPU features. // Check if the bot has blacklisted all GPU features.
static bool GpuBlacklistedOnBot(); static bool GpuBlacklistedOnBot();
...@@ -152,3 +148,4 @@ class GPU_EXPORT GPUTestBotConfig : public GPUTestConfig ...@@ -152,3 +148,4 @@ class GPU_EXPORT GPUTestBotConfig : public GPUTestConfig
} // namespace gpu } // namespace gpu
#endif // ANGLE_GPU_CONFIG_GPU_TEST_CONFIG_H_ #endif // ANGLE_GPU_CONFIG_GPU_TEST_CONFIG_H_
...@@ -75,6 +75,7 @@ enum Token { ...@@ -75,6 +75,7 @@ enum Token {
kConfigMacElCapitan, kConfigMacElCapitan,
kConfigMacSierra, kConfigMacSierra,
kConfigMacHighSierra, kConfigMacHighSierra,
kConfigMacMojave,
kConfigMac, kConfigMac,
kConfigLinux, kConfigLinux,
kConfigChromeOS, kConfigChromeOS,
...@@ -132,6 +133,7 @@ const TokenInfo kTokenData[] = { ...@@ -132,6 +133,7 @@ const TokenInfo kTokenData[] = {
{"elcapitan", GPUTestConfig::kOsMacElCapitan}, {"elcapitan", GPUTestConfig::kOsMacElCapitan},
{"sierra", GPUTestConfig::kOsMacSierra}, {"sierra", GPUTestConfig::kOsMacSierra},
{"highsierra", GPUTestConfig::kOsMacHighSierra}, {"highsierra", GPUTestConfig::kOsMacHighSierra},
{"mojave", GPUTestConfig::kOsMacMojave},
{"mac", GPUTestConfig::kOsMac}, {"mac", GPUTestConfig::kOsMac},
{"linux", GPUTestConfig::kOsLinux}, {"linux", GPUTestConfig::kOsLinux},
{"chromeos", GPUTestConfig::kOsChromeOS}, {"chromeos", GPUTestConfig::kOsChromeOS},
...@@ -221,8 +223,7 @@ GPUTestExpectationsParser::GPUTestExpectationsParser() { ...@@ -221,8 +223,7 @@ GPUTestExpectationsParser::GPUTestExpectationsParser() {
sizeof(kErrorMessage) / sizeof(kErrorMessage[0])); sizeof(kErrorMessage) / sizeof(kErrorMessage[0]));
} }
GPUTestExpectationsParser::~GPUTestExpectationsParser() { GPUTestExpectationsParser::~GPUTestExpectationsParser() = default;
}
bool GPUTestExpectationsParser::LoadTestExpectations(const std::string& data) { bool GPUTestExpectationsParser::LoadTestExpectations(const std::string& data) {
entries_.clear(); entries_.clear();
...@@ -297,6 +298,7 @@ bool GPUTestExpectationsParser::ParseConfig( ...@@ -297,6 +298,7 @@ bool GPUTestExpectationsParser::ParseConfig(
case kConfigMacElCapitan: case kConfigMacElCapitan:
case kConfigMacSierra: case kConfigMacSierra:
case kConfigMacHighSierra: case kConfigMacHighSierra:
case kConfigMacMojave:
case kConfigMac: case kConfigMac:
case kConfigLinux: case kConfigLinux:
case kConfigChromeOS: case kConfigChromeOS:
...@@ -359,6 +361,7 @@ bool GPUTestExpectationsParser::ParseLine( ...@@ -359,6 +361,7 @@ bool GPUTestExpectationsParser::ParseLine(
case kConfigMacElCapitan: case kConfigMacElCapitan:
case kConfigMacSierra: case kConfigMacSierra:
case kConfigMacHighSierra: case kConfigMacHighSierra:
case kConfigMacMojave:
case kConfigMac: case kConfigMac:
case kConfigLinux: case kConfigLinux:
case kConfigChromeOS: case kConfigChromeOS:
...@@ -484,6 +487,7 @@ bool GPUTestExpectationsParser::UpdateTestConfig(GPUTestConfig* config, ...@@ -484,6 +487,7 @@ bool GPUTestExpectationsParser::UpdateTestConfig(GPUTestConfig* config,
case kConfigMacElCapitan: case kConfigMacElCapitan:
case kConfigMacSierra: case kConfigMacSierra:
case kConfigMacHighSierra: case kConfigMacHighSierra:
case kConfigMacMojave:
case kConfigMac: case kConfigMac:
case kConfigLinux: case kConfigLinux:
case kConfigChromeOS: case kConfigChromeOS:
......
...@@ -14,14 +14,11 @@ ...@@ -14,14 +14,11 @@
#include "angle_config.h" #include "angle_config.h"
#include "gpu_test_config.h" #include "gpu_test_config.h"
namespace gpu namespace gpu {
{
class GPU_EXPORT GPUTestExpectationsParser class GPU_EXPORT GPUTestExpectationsParser {
{
public: public:
enum GPUTestExpectation enum GPUTestExpectation {
{
kGpuTestPass = 1 << 0, kGpuTestPass = 1 << 0,
kGpuTestFail = 1 << 1, kGpuTestFail = 1 << 1,
kGpuTestFlaky = 1 << 2, kGpuTestFlaky = 1 << 2,
...@@ -35,23 +32,22 @@ class GPU_EXPORT GPUTestExpectationsParser ...@@ -35,23 +32,22 @@ class GPU_EXPORT GPUTestExpectationsParser
// Parse the text expectations, and if no error is encountered, // Parse the text expectations, and if no error is encountered,
// save all the entries. Otherwise, generate error messages. // save all the entries. Otherwise, generate error messages.
// Return true if parsing succeeds. // Return true if parsing succeeds.
bool LoadTestExpectations(const std::string &data); bool LoadTestExpectations(const std::string& data);
bool LoadTestExpectationsFromFile(const std::string &path); bool LoadTestExpectationsFromFile(const std::string& path);
// Query error messages from the last LoadTestExpectations() call. // Query error messages from the last LoadTestExpectations() call.
const std::vector<std::string> &GetErrorMessages() const; const std::vector<std::string>& GetErrorMessages() const;
// Get the test expectation of a given test on a given bot. // Get the test expectation of a given test on a given bot.
int32_t GetTestExpectation(const std::string &test_name, int32_t GetTestExpectation(const std::string& test_name,
const GPUTestBotConfig &bot_config) const; const GPUTestBotConfig& bot_config) const;
// Parse a list of config modifiers. If we have a valid entry with no // Parse a list of config modifiers. If we have a valid entry with no
// conflicts, | config | stores it, and the function returns true. // conflicts, | config | stores it, and the function returns true.
bool ParseConfig(const std::string &config_data, GPUTestConfig *config); bool ParseConfig(const std::string& config_data, GPUTestConfig* config);
private: private:
struct GPUTestExpectationEntry struct GPUTestExpectationEntry {
{
GPUTestExpectationEntry(); GPUTestExpectationEntry();
std::string test_name; std::string test_name;
...@@ -62,14 +58,16 @@ class GPU_EXPORT GPUTestExpectationsParser ...@@ -62,14 +58,16 @@ class GPU_EXPORT GPUTestExpectationsParser
// Parse a line of text. If we have a valid entry, save it; otherwise, // Parse a line of text. If we have a valid entry, save it; otherwise,
// generate error messages. // generate error messages.
bool ParseLine(const std::string &line_data, size_t line_number); bool ParseLine(const std::string& line_data, size_t line_number);
// Update OS/GPUVendor/BuildType modifiers. May generate an error message. // Update OS/GPUVendor/BuildType modifiers. May generate an error message.
bool UpdateTestConfig(GPUTestConfig *config, int32_t token, size_t line_number); bool UpdateTestConfig(GPUTestConfig* config,
int32_t token,
size_t line_number);
// Update GPUDeviceID modifier. May generate an error message. // Update GPUDeviceID modifier. May generate an error message.
bool UpdateTestConfig(GPUTestConfig *config, bool UpdateTestConfig(GPUTestConfig* config,
const std::string &gpu_device_id, const std::string & gpu_device_id,
size_t line_number); size_t line_number);
// Check if two entries' config overlap with each other. May generate an // Check if two entries' config overlap with each other. May generate an
...@@ -77,8 +75,8 @@ class GPU_EXPORT GPUTestExpectationsParser ...@@ -77,8 +75,8 @@ class GPU_EXPORT GPUTestExpectationsParser
bool DetectConflictsBetweenEntries(); bool DetectConflictsBetweenEntries();
// Save an error message, which can be queried later. // Save an error message, which can be queried later.
void PushErrorMessage(const std::string &message, size_t line_number); void PushErrorMessage(const std::string& message, size_t line_number);
void PushErrorMessage(const std::string &message, void PushErrorMessage(const std::string& message,
size_t entry1_line_number, size_t entry1_line_number,
size_t entry2_line_number); size_t entry2_line_number);
...@@ -89,3 +87,4 @@ class GPU_EXPORT GPUTestExpectationsParser ...@@ -89,3 +87,4 @@ class GPU_EXPORT GPUTestExpectationsParser
} // namespace gpu } // namespace gpu
#endif // ANGLE_GPU_CONFIG_GPU_TEST_EXPECTATIONS_PARSER_H_ #endif // ANGLE_GPU_CONFIG_GPU_TEST_EXPECTATIONS_PARSER_H_
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