DM: Add --skps.

This does render_pictures, plus checks SkRecord optimizations.

Disable an SkRecord optimization that draws several bot SKPs wrong.  (To be investigated.)

BUG=skia:2378
R=reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/270543004

git-svn-id: http://skia.googlecode.com/svn/trunk@14739 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/dm/DMWriteTask.cpp b/dm/DMWriteTask.cpp
index f7fa014..cfac415 100644
--- a/dm/DMWriteTask.cpp
+++ b/dm/DMWriteTask.cpp
@@ -26,11 +26,16 @@
     return consumed;
 }
 
-WriteTask::WriteTask(const Task& parent, SkBitmap bitmap) : CpuTask(parent), fBitmap(bitmap) {
-    const int suffixes = parent.depth() + 1;
-    const SkString& name = parent.name();
-    const int totalSuffixLength = split_suffixes(suffixes, name.c_str(), &fSuffixes);
-    fGmName.set(name.c_str(), name.size()-totalSuffixLength);
+WriteTask::WriteTask(const Task& parent, SkBitmap bitmap, Mode mode)
+    : CpuTask(parent), fBitmap(bitmap) {
+    if (mode == kVerbatim_Mode) {
+        fGmName.set(parent.name());
+    } else {
+        const int suffixes = parent.depth() + 1;
+        const SkString& name = parent.name();
+        const int totalSuffixLength = split_suffixes(suffixes, name.c_str(), &fSuffixes);
+        fGmName.set(name.c_str(), name.size()-totalSuffixLength);
+    }
 }
 
 void WriteTask::makeDirOrFail(SkString dir) {