| Index: bench/ResultsWriter.cpp
|
| diff --git a/bench/ResultsWriter.cpp b/bench/ResultsWriter.cpp
|
| index 08f11c190fbff926fd27f334dde10370b4cff665..0ab8cb19080a25343978b1ccfeba0b510667349a 100644
|
| --- a/bench/ResultsWriter.cpp
|
| +++ b/bench/ResultsWriter.cpp
|
| @@ -8,6 +8,8 @@
|
| */
|
|
|
| #include "ResultsWriter.h"
|
| +#include "SkString.h"
|
| +#include "SkTArray.h"
|
|
|
| Json::Value* SkFindNamedNode(Json::Value* root, const char name[]) {
|
| Json::Value* search_results = NULL;
|
| @@ -28,3 +30,30 @@ Json::Value* SkFindNamedNode(Json::Value* root, const char name[]) {
|
| }
|
| }
|
|
|
| +Json::Value SkMakeBuilderJSON(const SkString &builderName) {
|
| + static const int kNumKeys = 6;
|
| + static const char* kKeys[kNumKeys] = {
|
| + "role", "os", "model", "gpu", "arch", "configuration"};
|
| + Json::Value builderData;
|
| +
|
| + if (!builderName.isEmpty()) {
|
| + SkTArray<SkString> splitBuilder;
|
| + SkStrSplit(builderName.c_str(), "-", &splitBuilder);
|
| + SkASSERT(splitBuilder.count() >= kNumKeys);
|
| + for (int i = 0; i < kNumKeys && i < splitBuilder.count(); ++i) {
|
| + builderData[kKeys[i]] = splitBuilder[i].c_str();
|
| + }
|
| + builderData["builderName"] = builderName.c_str();
|
| + if (kNumKeys < splitBuilder.count()) {
|
| + SkString extras;
|
| + for (int i = kNumKeys; i < splitBuilder.count(); ++i) {
|
| + extras.append(splitBuilder[i]);
|
| + if (i != splitBuilder.count() - 1) {
|
| + extras.append("-");
|
| + }
|
| + }
|
| + builderData["badParams"] = extras.c_str();
|
| + }
|
| + }
|
| + return builderData;
|
| +}
|
|
|