aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/flags/SkCommandLineFlags.cpp
diff options
context:
space:
mode:
authorGravatar rmistry <rmistry@google.com>2015-12-22 10:22:26 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2015-12-22 10:22:26 -0800
commit0f515bd4284ee6e88cd04c62cb6c67e1f23db616 (patch)
tree196ebc461d291ace6bef93f32980f8189db291b5 /tools/flags/SkCommandLineFlags.cpp
parentc53b82ec0ec496bed8060f73d605347ee65f2543 (diff)
Revert of Add config options to run different GPU APIs to dm and nanobench (patchset #21 id:400001 of https://codereview.chromium.org/1490113005/ )
Reason for revert: The Test-Win8-MSVC-ShuttleB-GPU-HD4600-x86_64-Debug builder fails after this CL. Links to specific builds: http://build.chromium.org/p/client.skia/builders/Test-Win8-MSVC-ShuttleB-GPU-HD4600-x86_64-Debug/builds/1689 http://build.chromium.org/p/client.skia/builders/Test-Win8-MSVC-ShuttleB-GPU-HD4600-x86_64-Debug/builds/1690 http://build.chromium.org/p/client.skia/builders/Test-Win8-MSVC-ShuttleB-GPU-HD4600-x86_64-Debug/builds/1691 Original issue's description: > Add config options to run different GPU APIs to dm and nanobench > > Add extended config specification form that can be used to run different > gpu backend with different APIs. > > The configs can be specified with the form: > gpu(api=string,dit=bool,nvpr=bool,samples=int) > > This replaces and removes the --gpuAPI flag. > > All existing configs should still work. > > Adds following documentation: > > out/Debug/dm --help config > > Flags: > --config: type: string default: 565 8888 gpu nonrendering > Options: 565 8888 debug gpu gpudebug gpudft gpunull msaa16 msaa4 > nonrendering null nullgpu nvprmsaa16 nvprmsaa4 pdf pdf_poppler skp svg > xps or use extended form 'backend(option=value,...)'. > > Extended form: 'backend(option=value,...)' > > Possible backends and options: > > gpu(api=string,dit=bool,nvpr=bool,samples=int) GPU backend > api type: string default: native. > Select graphics API to use with gpu backend. > Options: > native Use platform default OpenGL or OpenGL ES backend. > gl Use OpenGL. > gles Use OpenGL ES. > debug Use debug OpenGL. > null Use null OpenGL. > dit type: bool default: false. > Use device independent text. > nvpr type: bool default: false. > Use NV_path_rendering OpenGL and OpenGL ES extension. > samples type: int default: 0. > Use multisampling with N samples. > > Predefined configs: > > gpu = gpu() > msaa4 = gpu(samples=4) > msaa16 = gpu(samples=16) > nvprmsaa4 = gpu(nvpr=true,samples=4) > nvprmsaa16 = gpu(nvpr=true,samples=16) > gpudft = gpu(dit=true) > gpudebug = gpu(api=debug) > gpunull = gpu(api=null) > debug = gpu(api=debug) > nullgpu = gpu(api=null) > > BUG=skia:2992 > > Committed: https://skia.googlesource.com/skia/+/e13ca329fca4c28cf4e078561f591ab27b743d23 > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1490113005 > > Committed: https://skia.googlesource.com/skia/+/c8b4336444e7b90382e04e33665fb3b8490b825b > > Committed: https://skia.googlesource.com/skia/+/9ebc3f0ee6db215dde461dc4777d85988cf272dd TBR=mtklein@google.com,bsalomon@google.com,joshualitt@google.com,scroggo@google.com,kkinnunen@nvidia.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:2992 Review URL: https://codereview.chromium.org/1548683002
Diffstat (limited to 'tools/flags/SkCommandLineFlags.cpp')
-rw-r--r--tools/flags/SkCommandLineFlags.cpp59
1 files changed, 23 insertions, 36 deletions
diff --git a/tools/flags/SkCommandLineFlags.cpp b/tools/flags/SkCommandLineFlags.cpp
index cddf9fb0b3..9b2c9616cb 100644
--- a/tools/flags/SkCommandLineFlags.cpp
+++ b/tools/flags/SkCommandLineFlags.cpp
@@ -22,10 +22,8 @@ template <typename T> static void ignore_result(const T&) {}
bool SkFlagInfo::CreateStringFlag(const char* name, const char* shortName,
SkCommandLineFlags::StringArray* pStrings,
- const char* defaultValue, const char* helpString,
- const char* extendedHelpString) {
- SkFlagInfo* info = new SkFlagInfo(name, shortName, kString_FlagType, helpString,
- extendedHelpString);
+ const char* defaultValue, const char* helpString) {
+ SkFlagInfo* info = new SkFlagInfo(name, shortName, kString_FlagType, helpString);
info->fDefaultString.set(defaultValue);
info->fStrings = pStrings;
@@ -153,16 +151,29 @@ void SkCommandLineFlags::SetUsage(const char* usage) {
// Maximum line length for the help message.
#define LINE_LENGTH 72
-static void print_indented(const SkString& text) {
- size_t length = text.size();
- const char* currLine = text.c_str();
+static void print_help_for_flag(const SkFlagInfo* flag) {
+ SkDebugf(" --%s", flag->name().c_str());
+ const SkString& shortName = flag->shortName();
+ if (shortName.size() > 0) {
+ SkDebugf(" or -%s", shortName.c_str());
+ }
+ SkDebugf(":\ttype: %s", flag->typeAsString().c_str());
+ if (flag->defaultValue().size() > 0) {
+ SkDebugf("\tdefault: %s", flag->defaultValue().c_str());
+ }
+ SkDebugf("\n");
+ const SkString& help = flag->help();
+ size_t length = help.size();
+ const char* currLine = help.c_str();
const char* stop = currLine + length;
while (currLine < stop) {
- int lineBreak = SkStrFind(currLine, "\n");
- if (lineBreak < 0) {
- lineBreak = static_cast<int>(strlen(currLine));
+ if (strlen(currLine) < LINE_LENGTH) {
+ // Only one line length's worth of text left.
+ SkDebugf(" %s\n", currLine);
+ break;
}
- if (lineBreak > LINE_LENGTH) {
+ int lineBreak = SkStrFind(currLine, "\n");
+ if (lineBreak < 0 || lineBreak > LINE_LENGTH) {
// No line break within line length. Will need to insert one.
// Find a space before the line break.
int spaceIndex = LINE_LENGTH - 1;
@@ -187,26 +198,6 @@ static void print_indented(const SkString& text) {
currLine += lineBreak;
}
}
-}
-
-static void print_help_for_flag(const SkFlagInfo* flag) {
- SkDebugf(" --%s", flag->name().c_str());
- const SkString& shortName = flag->shortName();
- if (shortName.size() > 0) {
- SkDebugf(" or -%s", shortName.c_str());
- }
- SkDebugf(":\ttype: %s", flag->typeAsString().c_str());
- if (flag->defaultValue().size() > 0) {
- SkDebugf("\tdefault: %s", flag->defaultValue().c_str());
- }
- SkDebugf("\n");
- const SkString& help = flag->help();
- print_indented(help);
- SkDebugf("\n");
-}
-static void print_extended_help_for_flag(const SkFlagInfo* flag) {
- print_help_for_flag(flag);
- print_indented(flag->extendedHelp());
SkDebugf("\n");
}
@@ -257,10 +248,6 @@ void SkCommandLineFlags::Parse(int argc, char** argv) {
CompareFlagsByName());
for (int i = 0; i < allFlags.count(); ++i) {
print_help_for_flag(allFlags[i]);
- if (allFlags[i]->extendedHelp().size() > 0) {
- SkDebugf(" Use '--help %s' for more information.\n",
- allFlags[i]->name().c_str());
- }
}
} else {
for (SkFlagInfo* flag = SkCommandLineFlags::gHead; flag;
@@ -268,7 +255,7 @@ void SkCommandLineFlags::Parse(int argc, char** argv) {
for (int k = 0; k < helpFlags.count(); k++) {
if (flag->name().equals(helpFlags[k]) ||
flag->shortName().equals(helpFlags[k])) {
- print_extended_help_for_flag(flag);
+ print_help_for_flag(flag);
helpFlags.remove(k);
break;
}