DM: also run benches once.

Also:
  - make GrMemoryPoolBenches threadsafe
  - some tweaks to various DM code
  - rename GM::shortName() to getName() to match benches and tests

On my desktop, (289 GMs, 617 benches) x 4 configs, 227 tests takes 46s in Debug, 14s in Release.  (Still minutes faster than running tests && bench && gm.)  GPU singlethreading is definitely the limiting factor again; going to reexamine whether that's helpful to thread it again.

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

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13603 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/gyp/bench.gypi b/gyp/bench.gypi
new file mode 100644
index 0000000..2d934d8
--- /dev/null
+++ b/gyp/bench.gypi
@@ -0,0 +1,88 @@
+{
+  'include_dirs': [
+    '../src/core',
+    '../src/effects',
+    '../src/utils',
+  ],
+  'dependencies': [
+    'skia_lib.gyp:skia_lib',
+  ],
+  'sources': [
+    '../bench/SkBenchmark.cpp',
+    '../bench/SkBenchmark.h',
+
+    '../bench/AAClipBench.cpp',
+    '../bench/BicubicBench.cpp',
+    '../bench/BitmapBench.cpp',
+    '../bench/BitmapRectBench.cpp',
+    '../bench/BitmapScaleBench.cpp',
+    '../bench/BlurBench.cpp',
+    '../bench/BlurImageFilterBench.cpp',
+    '../bench/BlurRectBench.cpp',
+    '../bench/BlurRoundRectBench.cpp',
+    '../bench/ChartBench.cpp',
+    '../bench/ChecksumBench.cpp',
+    '../bench/ChromeBench.cpp',
+    '../bench/CmapBench.cpp',
+    '../bench/ColorFilterBench.cpp',
+    '../bench/ColorPrivBench.cpp',
+    '../bench/CoverageBench.cpp',
+    '../bench/DashBench.cpp',
+    '../bench/DecodeBench.cpp',
+    '../bench/DeferredCanvasBench.cpp',
+    '../bench/DeferredSurfaceCopyBench.cpp',
+    '../bench/DisplacementBench.cpp',
+    '../bench/FSRectBench.cpp',
+    '../bench/FontCacheBench.cpp',
+    '../bench/FontScalerBench.cpp',
+    '../bench/GameBench.cpp',
+    '../bench/GrMemoryPoolBench.cpp',
+    '../bench/GrResourceCacheBench.cpp',
+    '../bench/GradientBench.cpp',
+    '../bench/HairlinePathBench.cpp',
+    '../bench/ImageCacheBench.cpp',
+    '../bench/ImageDecodeBench.cpp',
+    '../bench/InterpBench.cpp',
+    '../bench/LightingBench.cpp',
+    '../bench/LineBench.cpp',
+    '../bench/MagnifierBench.cpp',
+    '../bench/MathBench.cpp',
+    '../bench/Matrix44Bench.cpp',
+    '../bench/MatrixBench.cpp',
+    '../bench/MatrixConvolutionBench.cpp',
+    '../bench/MemoryBench.cpp',
+    '../bench/MemsetBench.cpp',
+    '../bench/MergeBench.cpp',
+    '../bench/MorphologyBench.cpp',
+    '../bench/MutexBench.cpp',
+    '../bench/PathBench.cpp',
+    '../bench/PathIterBench.cpp',
+    '../bench/PathUtilsBench.cpp',
+    '../bench/PerlinNoiseBench.cpp',
+    '../bench/PicturePlaybackBench.cpp',
+    '../bench/PictureRecordBench.cpp',
+    '../bench/PremulAndUnpremulAlphaOpsBench.cpp',
+    '../bench/QuadTreeBench.cpp',
+    '../bench/RTreeBench.cpp',
+    '../bench/ReadPixBench.cpp',
+    '../bench/RectBench.cpp',
+    '../bench/RectoriBench.cpp',
+    '../bench/RefCntBench.cpp',
+    '../bench/RegionBench.cpp',
+    '../bench/RegionContainBench.cpp',
+    '../bench/RepeatTileBench.cpp',
+    '../bench/ScalarBench.cpp',
+    '../bench/ShaderMaskBench.cpp',
+    '../bench/SkipZeroesBench.cpp',
+    '../bench/SortBench.cpp',
+    '../bench/StackBench.cpp',
+    '../bench/StrokeBench.cpp',
+    '../bench/TableBench.cpp',
+    '../bench/TextBench.cpp',
+    '../bench/TileBench.cpp',
+    '../bench/VertBench.cpp',
+    '../bench/WritePixelsBench.cpp',
+    '../bench/WriterBench.cpp',
+    '../bench/XfermodeBench.cpp',
+  ],
+}