From fa8cb1cf222f85aa898cfe979ac57da6a7b9f6f9 Mon Sep 17 00:00:00 2001 From: "commit-bot@chromium.org" Date: Mon, 31 Mar 2014 19:59:44 +0000 Subject: [PATCH] Make DM play nice with the plan to split CPU and GPU work. --nocpu skips all CPU-bound work. --nogpu skips all GPU-bound work. /m/s/skia (dm) $ r dm --nogpu ninja: Entering directory `out/Release' [17/17] LINK dm (294 GMs, 620 benches) x 4 configs, 245 tests 0 tasks left 71.46user 12.40system 0:04.52elapsed 1854%CPU (0avgtext+0avgdata 16828656maxresident)k 0inputs+0outputs (0major+3252811minor)pagefaults 0swaps /m/s/skia (dm) $ r dm --nocpu ninja: Entering directory `out/Release' ninja: no work to do. (294 GMs, 620 benches) x 4 configs, 245 tests 926 tasks leftUnsupported vertex-color/texture xfer mode. Unsupported vertex-color/texture xfer mode. 0 tasks left 11.10user 2.38system 0:17.15elapsed 78%CPU (0avgtext+0avgdata 1310896maxresident)k 16inputs+4664outputs (0major+161322minor)pagefaults 0swaps BUG=skia:2074 R=halcanary@google.com, borenet@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/219403004 git-svn-id: http://skia.googlecode.com/svn/trunk@14001 2bbb7eff-a529-9590-31e7-b0007b416f81 --- dm/DMTask.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/dm/DMTask.cpp b/dm/DMTask.cpp index 419463a..8b6a94e 100644 --- a/dm/DMTask.cpp +++ b/dm/DMTask.cpp @@ -1,5 +1,9 @@ #include "DMTask.h" #include "DMTaskRunner.h" +#include "SkCommandLineFlags.h" + +DEFINE_bool(cpu, true, "Master switch for running CPU-bound work."); +DEFINE_bool(gpu, true, "Master switch for running GPU-bound work."); namespace DM { @@ -42,7 +46,7 @@ CpuTask::CpuTask(const Task& parent) : Task(parent) {} void CpuTask::run() { this->start(); - if (!this->shouldSkip()) { + if (FLAGS_cpu && !this->shouldSkip()) { this->draw(); } this->finish(); @@ -53,7 +57,7 @@ GpuTask::GpuTask(Reporter* reporter, TaskRunner* taskRunner) : Task(reporter, ta void GpuTask::run(GrContextFactory& factory) { this->start(); - if (!this->shouldSkip()) { + if (FLAGS_gpu && !this->shouldSkip()) { this->draw(&factory); } this->finish(); -- 2.7.4