rewrite includes to not need so much -Ifoo

Current strategy: everything from the top

Things to look at first are the manual changes:

   - added tools/rewrite_includes.py
   - removed -Idirectives from BUILD.gn
   - various compile.sh simplifications
   - tweak tools/embed_resources.py
   - update gn/find_headers.py to write paths from the top
   - update gn/gn_to_bp.py SkUserConfig.h layout
     so that #include "include/config/SkUserConfig.h" always
     gets the header we want.

No-Presubmit: true
Change-Id: I73a4b181654e0e38d229bc456c0d0854bae3363e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209706
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
diff --git a/bench/AAClipBench.cpp b/bench/AAClipBench.cpp
index 82e4e38..98bf2c0 100644
--- a/bench/AAClipBench.cpp
+++ b/bench/AAClipBench.cpp
@@ -5,14 +5,14 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkAAClip.h"
-#include "SkCanvas.h"
-#include "SkPath.h"
-#include "SkRandom.h"
-#include "SkRegion.h"
-#include "SkString.h"
-#include "SkClipOpPriv.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPath.h"
+#include "include/core/SkRegion.h"
+#include "include/core/SkString.h"
+#include "include/utils/SkRandom.h"
+#include "src/core/SkAAClip.h"
+#include "src/core/SkClipOpPriv.h"
 
 ////////////////////////////////////////////////////////////////////////////////
 // This bench tests out AA/BW clipping via canvas' clipPath and clipRect calls
diff --git a/bench/AlternatingColorPatternBench.cpp b/bench/AlternatingColorPatternBench.cpp
index b2735cf..529686a 100644
--- a/bench/AlternatingColorPatternBench.cpp
+++ b/bench/AlternatingColorPatternBench.cpp
@@ -5,13 +5,13 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkBitmap.h"
-#include "SkCanvas.h"
-#include "SkGradientShader.h"
-#include "SkPaint.h"
-#include "SkPath.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkBitmap.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkPath.h"
+#include "include/core/SkString.h"
+#include "include/effects/SkGradientShader.h"
 
 enum ColorPattern {
     kWhite_ColorPattern,
diff --git a/bench/AndroidCodecBench.cpp b/bench/AndroidCodecBench.cpp
index ba92a74..96f50c6 100644
--- a/bench/AndroidCodecBench.cpp
+++ b/bench/AndroidCodecBench.cpp
@@ -5,12 +5,12 @@
  * found in the LICENSE file.
  */
 
-#include "AndroidCodecBench.h"
-#include "CodecBenchPriv.h"
-#include "CommandLineFlags.h"
-#include "SkAndroidCodec.h"
-#include "SkBitmap.h"
-#include "SkOSFile.h"
+#include "bench/AndroidCodecBench.h"
+#include "bench/CodecBenchPriv.h"
+#include "include/codec/SkAndroidCodec.h"
+#include "include/core/SkBitmap.h"
+#include "src/core/SkOSFile.h"
+#include "tools/flags/CommandLineFlags.h"
 
 AndroidCodecBench::AndroidCodecBench(SkString baseName, SkData* encoded, int sampleSize)
     : fData(SkRef(encoded))
diff --git a/bench/AndroidCodecBench.h b/bench/AndroidCodecBench.h
index 528ecab..95c9781 100644
--- a/bench/AndroidCodecBench.h
+++ b/bench/AndroidCodecBench.h
@@ -8,12 +8,12 @@
 #ifndef AndroidCodecBench_DEFINED
 #define AndroidCodecBench_DEFINED
 
-#include "Benchmark.h"
-#include "SkAutoMalloc.h"
-#include "SkData.h"
-#include "SkImageInfo.h"
-#include "SkRefCnt.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkData.h"
+#include "include/core/SkImageInfo.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkString.h"
+#include "src/core/SkAutoMalloc.h"
 
 /**
  *  Time SkAndroidCodec.
diff --git a/bench/BenchLogger.cpp b/bench/BenchLogger.cpp
index 7eae514..cef5232 100644
--- a/bench/BenchLogger.cpp
+++ b/bench/BenchLogger.cpp
@@ -5,9 +5,9 @@
  * found in the LICENSE file.
  */
 
-#include "BenchLogger.h"
+#include "bench/BenchLogger.h"
 
-#include "SkStream.h"
+#include "include/core/SkStream.h"
 
 BenchLogger::BenchLogger()
 : fFileStream(nullptr) {}
diff --git a/bench/BenchLogger.h b/bench/BenchLogger.h
index a7c283a..9e4aa65 100644
--- a/bench/BenchLogger.h
+++ b/bench/BenchLogger.h
@@ -9,8 +9,8 @@
 #define BenchLogger_DEFINED
 
 #include <stdio.h>
-#include "SkString.h"
-#include "SkTypes.h"
+#include "include/core/SkString.h"
+#include "include/core/SkTypes.h"
 
 class SkFILEWStream;
 
diff --git a/bench/Benchmark.cpp b/bench/Benchmark.cpp
index 9438e08..eba1750 100644
--- a/bench/Benchmark.cpp
+++ b/bench/Benchmark.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
+#include "bench/Benchmark.h"
 
-#include "SkCanvas.h"
-#include "SkPaint.h"
-#include "SkParse.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPaint.h"
+#include "include/utils/SkParse.h"
 
 template BenchRegistry* BenchRegistry::gHead;
 
diff --git a/bench/Benchmark.h b/bench/Benchmark.h
index b9126ce..ca9aa5b 100644
--- a/bench/Benchmark.h
+++ b/bench/Benchmark.h
@@ -8,10 +8,10 @@
 #ifndef Benchmark_DEFINED
 #define Benchmark_DEFINED
 
-#include "SkPoint.h"
-#include "SkRefCnt.h"
-#include "SkString.h"
-#include "../tools/Registry.h"
+#include "include/core/SkPoint.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkString.h"
+#include "tools/Registry.h"
 
 #define DEF_BENCH3(code, N) \
     static BenchRegistry gBench##N([](void*) -> Benchmark* { code; });
diff --git a/bench/BezierBench.cpp b/bench/BezierBench.cpp
index 6c8be69..395cdde 100644
--- a/bench/BezierBench.cpp
+++ b/bench/BezierBench.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkPaint.h"
-#include "SkPath.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkPath.h"
+#include "include/core/SkString.h"
 
 struct BezierRec {
     SkCanvas*   fCanvas;
diff --git a/bench/BigPathBench.cpp b/bench/BigPathBench.cpp
index 6c49ae7..02f4203 100644
--- a/bench/BigPathBench.cpp
+++ b/bench/BigPathBench.cpp
@@ -5,10 +5,10 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkPath.h"
-#include "ToolUtils.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPath.h"
+#include "tools/ToolUtils.h"
 
 enum Align {
     kLeft_Align,
diff --git a/bench/BitmapBench.cpp b/bench/BitmapBench.cpp
index a44a897..d06de27 100644
--- a/bench/BitmapBench.cpp
+++ b/bench/BitmapBench.cpp
@@ -5,14 +5,14 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkBitmap.h"
-#include "SkCanvas.h"
-#include "SkColorPriv.h"
-#include "SkPaint.h"
-#include "SkRandom.h"
-#include "SkString.h"
-#include "ToolUtils.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkBitmap.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkColorPriv.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkString.h"
+#include "include/utils/SkRandom.h"
+#include "tools/ToolUtils.h"
 
 /*  Variants for bitmaps
 
diff --git a/bench/BitmapRectBench.cpp b/bench/BitmapRectBench.cpp
index 0e5d362..563f1af 100644
--- a/bench/BitmapRectBench.cpp
+++ b/bench/BitmapRectBench.cpp
@@ -5,14 +5,14 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkBitmap.h"
-#include "SkCanvas.h"
-#include "SkColorPriv.h"
-#include "SkPaint.h"
-#include "SkRandom.h"
-#include "SkString.h"
-#include "SkTo.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkBitmap.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkColorPriv.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkString.h"
+#include "include/private/SkTo.h"
+#include "include/utils/SkRandom.h"
 
 static void draw_into_bitmap(const SkBitmap& bm) {
     const int w = bm.width();
diff --git a/bench/BitmapRegionDecoderBench.cpp b/bench/BitmapRegionDecoderBench.cpp
index d80fc5d..52014b9 100644
--- a/bench/BitmapRegionDecoderBench.cpp
+++ b/bench/BitmapRegionDecoderBench.cpp
@@ -5,10 +5,10 @@
  * found in the LICENSE file.
  */
 
-#include "BitmapRegionDecoderBench.h"
-#include "CodecBenchPriv.h"
-#include "SkBitmap.h"
-#include "SkOSFile.h"
+#include "bench/BitmapRegionDecoderBench.h"
+#include "bench/CodecBenchPriv.h"
+#include "include/core/SkBitmap.h"
+#include "src/core/SkOSFile.h"
 
 BitmapRegionDecoderBench::BitmapRegionDecoderBench(const char* baseName, SkData* encoded,
         SkColorType colorType, uint32_t sampleSize, const SkIRect& subset)
diff --git a/bench/BitmapRegionDecoderBench.h b/bench/BitmapRegionDecoderBench.h
index 3099055..3d3372f 100644
--- a/bench/BitmapRegionDecoderBench.h
+++ b/bench/BitmapRegionDecoderBench.h
@@ -8,12 +8,12 @@
 #ifndef BitmapRegionDecoderBench_DEFINED
 #define BitmapRegionDecoderBench_DEFINED
 
-#include "Benchmark.h"
-#include "SkBitmapRegionDecoder.h"
-#include "SkData.h"
-#include "SkImageInfo.h"
-#include "SkRefCnt.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/android/SkBitmapRegionDecoder.h"
+#include "include/core/SkData.h"
+#include "include/core/SkImageInfo.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkString.h"
 
 /**
  *  Benchmark Android's BitmapRegionDecoder for a particular colorType, sampleSize, and subset.
diff --git a/bench/BlendmodeBench.cpp b/bench/BlendmodeBench.cpp
index c89e7ea..f51ecce 100644
--- a/bench/BlendmodeBench.cpp
+++ b/bench/BlendmodeBench.cpp
@@ -5,14 +5,14 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkBlendModePriv.h"
-#include "SkCanvas.h"
-#include "SkFont.h"
-#include "SkPaint.h"
-#include "SkRandom.h"
-#include "SkString.h"
-#include "SkTextBlob.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkFont.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkString.h"
+#include "include/core/SkTextBlob.h"
+#include "include/utils/SkRandom.h"
+#include "src/core/SkBlendModePriv.h"
 
 // Benchmark that draws non-AA rects or AA text with an SkXfermode::Mode.
 class XfermodeBench : public Benchmark {
diff --git a/bench/BlurBench.cpp b/bench/BlurBench.cpp
index d253f67..06d19d6 100644
--- a/bench/BlurBench.cpp
+++ b/bench/BlurBench.cpp
@@ -4,14 +4,14 @@
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file.
  */
-#include "Benchmark.h"
-#include "SkBlurMask.h"
-#include "SkCanvas.h"
-#include "SkMaskFilter.h"
-#include "SkPaint.h"
-#include "SkRandom.h"
-#include "SkShader.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkMaskFilter.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkShader.h"
+#include "include/core/SkString.h"
+#include "include/utils/SkRandom.h"
+#include "src/core/SkBlurMask.h"
 
 #define MINI    0.01f
 #define SMALL   SkIntToScalar(2)
diff --git a/bench/BlurImageFilterBench.cpp b/bench/BlurImageFilterBench.cpp
index fdd77ae..c988ee9 100644
--- a/bench/BlurImageFilterBench.cpp
+++ b/bench/BlurImageFilterBench.cpp
@@ -5,15 +5,15 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkBitmap.h"
-#include "SkBlurImageFilter.h"
-#include "SkOffsetImageFilter.h"
-#include "SkCanvas.h"
-#include "SkPaint.h"
-#include "SkRandom.h"
-#include "SkShader.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkBitmap.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkShader.h"
+#include "include/core/SkString.h"
+#include "include/effects/SkBlurImageFilter.h"
+#include "include/effects/SkOffsetImageFilter.h"
+#include "include/utils/SkRandom.h"
 
 #define FILTER_WIDTH_SMALL  32
 #define FILTER_HEIGHT_SMALL 32
diff --git a/bench/BlurRectBench.cpp b/bench/BlurRectBench.cpp
index 3449ffa..2fe92bd 100644
--- a/bench/BlurRectBench.cpp
+++ b/bench/BlurRectBench.cpp
@@ -5,13 +5,13 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkBlurMask.h"
-#include "SkCanvas.h"
-#include "SkPaint.h"
-#include "SkRandom.h"
-#include "SkShader.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkShader.h"
+#include "include/core/SkString.h"
+#include "include/utils/SkRandom.h"
+#include "src/core/SkBlurMask.h"
 
 #define SMALL   SkIntToScalar(2)
 #define REAL    1.5f
diff --git a/bench/BlurRectsBench.cpp b/bench/BlurRectsBench.cpp
index d41ee1a..ed2b254 100644
--- a/bench/BlurRectsBench.cpp
+++ b/bench/BlurRectsBench.cpp
@@ -5,13 +5,13 @@
 * found in the LICENSE file.
 */
 
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkMaskFilter.h"
-#include "SkPaint.h"
-#include "SkPath.h"
-#include "SkRect.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkMaskFilter.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkPath.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkString.h"
 
 class BlurRectsBench : public Benchmark {
 public:
diff --git a/bench/BlurRoundRectBench.cpp b/bench/BlurRoundRectBench.cpp
index 624c681..1733f1b 100644
--- a/bench/BlurRoundRectBench.cpp
+++ b/bench/BlurRoundRectBench.cpp
@@ -5,18 +5,18 @@
 * found in the LICENSE file.
 */
 
-#include "Benchmark.h"
-#include "SkBlurMask.h"
-#include "SkCanvas.h"
-#include "SkColorFilter.h"
-#include "SkLayerDrawLooper.h"
-#include "SkMaskFilter.h"
-#include "SkPaint.h"
-#include "SkPath.h"
-#include "SkPoint.h"
-#include "SkRRect.h"
-#include "SkRect.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkColorFilter.h"
+#include "include/core/SkMaskFilter.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkPath.h"
+#include "include/core/SkPoint.h"
+#include "include/core/SkRRect.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkString.h"
+#include "include/effects/SkLayerDrawLooper.h"
+#include "src/core/SkBlurMask.h"
 
 // Large blurred RR appear frequently on web pages. This benchmark measures our
 // performance in this case.
diff --git a/bench/ChartBench.cpp b/bench/ChartBench.cpp
index 944f610..1daa637 100644
--- a/bench/ChartBench.cpp
+++ b/bench/ChartBench.cpp
@@ -5,12 +5,12 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkPaint.h"
-#include "SkPath.h"
-#include "SkRandom.h"
-#include "SkTDArray.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkPath.h"
+#include "include/private/SkTDArray.h"
+#include "include/utils/SkRandom.h"
 
 /**
  * This is a conversion of samplecode/SampleChart.cpp into a bench. It sure would be nice to be able
diff --git a/bench/ChecksumBench.cpp b/bench/ChecksumBench.cpp
index 685ac20..27c9bb0 100644
--- a/bench/ChecksumBench.cpp
+++ b/bench/ChecksumBench.cpp
@@ -4,13 +4,13 @@
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file.
  */
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkChecksum.h"
-#include "SkOpts.h"
-#include "SkMD5.h"
-#include "SkRandom.h"
-#include "SkTemplates.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/private/SkChecksum.h"
+#include "include/private/SkTemplates.h"
+#include "include/utils/SkRandom.h"
+#include "src/core/SkMD5.h"
+#include "src/core/SkOpts.h"
 
 enum ChecksumType {
     kMD5_ChecksumType,
diff --git a/bench/ChromeBench.cpp b/bench/ChromeBench.cpp
index 60d86f9..1457b94 100644
--- a/bench/ChromeBench.cpp
+++ b/bench/ChromeBench.cpp
@@ -4,10 +4,10 @@
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file.
  */
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkPaint.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkString.h"
 
 /**
    Benchmarks that try to emulate a particular Skia call pattern observed in Chrome.
diff --git a/bench/ClearBench.cpp b/bench/ClearBench.cpp
index 2fbfd8f..5adfc77 100644
--- a/bench/ClearBench.cpp
+++ b/bench/ClearBench.cpp
@@ -10,15 +10,15 @@
 // partial clears on the GPU should follow a fast path that maps to backend-specialized clear
 // operations, whereas the rounded-rect clear cannot be.
 
-#include "Benchmark.h"
+#include "bench/Benchmark.h"
 
-#include "SkCanvas.h"
-#include "SkGradientShader.h"
-#include "SkPaint.h"
-#include "SkRect.h"
-#include "SkRRect.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkRRect.h"
+#include "include/core/SkRect.h"
+#include "include/effects/SkGradientShader.h"
 
-#include "GrRenderTargetContext.h"
+#include "src/gpu/GrRenderTargetContext.h"
 
 static sk_sp<SkShader> make_shader() {
     static const SkPoint kPts[] = {{0, 0}, {10, 10}};
diff --git a/bench/ClipMaskBench.cpp b/bench/ClipMaskBench.cpp
index a6e4994..c030b4a 100644
--- a/bench/ClipMaskBench.cpp
+++ b/bench/ClipMaskBench.cpp
@@ -5,14 +5,14 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkColorSpace.h"
-#include "SkImage.h"
-#include "SkPictureRecorder.h"
-#include "SkString.h"
-#include "SkSurface.h"
-#include "ToolUtils.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkColorSpace.h"
+#include "include/core/SkImage.h"
+#include "include/core/SkPictureRecorder.h"
+#include "include/core/SkString.h"
+#include "include/core/SkSurface.h"
+#include "tools/ToolUtils.h"
 
 static void DrawMask(SkCanvas* canvas) {
     ToolUtils::draw_checkerboard(canvas, SK_ColorTRANSPARENT, SK_ColorGREEN, 10);
@@ -67,8 +67,8 @@
 });)
 
 /////////
-#include "SkSurface.h"
-#include "SkPath.h"
+#include "include/core/SkPath.h"
+#include "include/core/SkSurface.h"
 
 class RasterTileBench : public Benchmark {
     sk_sp<SkSurface> fSurf;
diff --git a/bench/ClipStrategyBench.cpp b/bench/ClipStrategyBench.cpp
index c65cf4b..4110e3b 100644
--- a/bench/ClipStrategyBench.cpp
+++ b/bench/ClipStrategyBench.cpp
@@ -5,10 +5,10 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkPath.h"
-#include "SkPathOps.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPath.h"
+#include "include/pathops/SkPathOps.h"
 
 class ClipStrategyBench : public Benchmark {
 public:
diff --git a/bench/CmapBench.cpp b/bench/CmapBench.cpp
index cc34af1..53d5cef 100644
--- a/bench/CmapBench.cpp
+++ b/bench/CmapBench.cpp
@@ -5,13 +5,13 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkCharToGlyphCache.h"
-#include "SkFont.h"
-#include "SkRandom.h"
-#include "SkTypeface.h"
-#include "SkUTF.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkFont.h"
+#include "include/core/SkTypeface.h"
+#include "include/utils/SkRandom.h"
+#include "src/utils/SkCharToGlyphCache.h"
+#include "src/utils/SkUTF.h"
 
 enum {
     NGLYPHS = 100
diff --git a/bench/CodecBench.cpp b/bench/CodecBench.cpp
index 2794c4a..2c56838 100644
--- a/bench/CodecBench.cpp
+++ b/bench/CodecBench.cpp
@@ -5,12 +5,12 @@
  * found in the LICENSE file.
  */
 
-#include "CodecBench.h"
-#include "CodecBenchPriv.h"
-#include "CommandLineFlags.h"
-#include "SkBitmap.h"
-#include "SkCodec.h"
-#include "SkOSFile.h"
+#include "bench/CodecBench.h"
+#include "bench/CodecBenchPriv.h"
+#include "include/codec/SkCodec.h"
+#include "include/core/SkBitmap.h"
+#include "src/core/SkOSFile.h"
+#include "tools/flags/CommandLineFlags.h"
 
 // Actually zeroing the memory would throw off timing, so we just lie.
 static DEFINE_bool(zero_init, false,
diff --git a/bench/CodecBench.h b/bench/CodecBench.h
index dc44704..78211d7 100644
--- a/bench/CodecBench.h
+++ b/bench/CodecBench.h
@@ -8,12 +8,12 @@
 #ifndef CodecBench_DEFINED
 #define CodecBench_DEFINED
 
-#include "Benchmark.h"
-#include "SkAutoMalloc.h"
-#include "SkData.h"
-#include "SkImageInfo.h"
-#include "SkRefCnt.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkData.h"
+#include "include/core/SkImageInfo.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkString.h"
+#include "src/core/SkAutoMalloc.h"
 
 /**
  *  Time SkCodec.
diff --git a/bench/CodecBenchPriv.h b/bench/CodecBenchPriv.h
index 50b68f6..44b57ed 100644
--- a/bench/CodecBenchPriv.h
+++ b/bench/CodecBenchPriv.h
@@ -8,7 +8,7 @@
 #ifndef CodecBenchPriv_DEFINED
 #define CodecBenchPriv_DEFINED
 
-#include "SkImageInfo.h"
+#include "include/core/SkImageInfo.h"
 
 inline const char* color_type_to_str(SkColorType colorType) {
     switch (colorType) {
diff --git a/bench/ColorFilterBench.cpp b/bench/ColorFilterBench.cpp
index 46052b3..cced1b2 100644
--- a/bench/ColorFilterBench.cpp
+++ b/bench/ColorFilterBench.cpp
@@ -5,10 +5,10 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkColorFilterImageFilter.h"
-#include "SkColorMatrixFilter.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/effects/SkColorFilterImageFilter.h"
+#include "include/effects/SkColorMatrixFilter.h"
 
 #define FILTER_WIDTH_SMALL  SkIntToScalar(32)
 #define FILTER_HEIGHT_SMALL SkIntToScalar(32)
diff --git a/bench/ColorPrivBench.cpp b/bench/ColorPrivBench.cpp
index 46aacd7..404fc1f 100644
--- a/bench/ColorPrivBench.cpp
+++ b/bench/ColorPrivBench.cpp
@@ -4,10 +4,10 @@
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file.
  */
-#include "Benchmark.h"
-#include "SkColorData.h"
-#include "SkRandom.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkString.h"
+#include "include/private/SkColorData.h"
+#include "include/utils/SkRandom.h"
 
 template <bool kFast, bool kScale>
 class FourByteInterpBench : public Benchmark {
diff --git a/bench/CompositingImagesBench.cpp b/bench/CompositingImagesBench.cpp
index e7d91b3..6b37a3f 100644
--- a/bench/CompositingImagesBench.cpp
+++ b/bench/CompositingImagesBench.cpp
@@ -5,12 +5,12 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
+#include "bench/Benchmark.h"
 
-#include "SkCanvas.h"
-#include "SkImage.h"
-#include "SkRandom.h"
-#include "SkSurface.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkImage.h"
+#include "include/core/SkSurface.h"
+#include "include/utils/SkRandom.h"
 
 enum class ClampingMode {
     // Submit image set entries with the fast constraint
diff --git a/bench/ControlBench.cpp b/bench/ControlBench.cpp
index d76184c..f8e15c9 100644
--- a/bench/ControlBench.cpp
+++ b/bench/ControlBench.cpp
@@ -5,7 +5,7 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
+#include "bench/Benchmark.h"
 
 // This benchmark's runtime should be fairly constant for a given machine,
 // so it can be used as a baseline to control for thermal or other throttling.
diff --git a/bench/CoverageBench.cpp b/bench/CoverageBench.cpp
index ce590e5..512e2ec 100644
--- a/bench/CoverageBench.cpp
+++ b/bench/CoverageBench.cpp
@@ -5,15 +5,15 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkAutoPixmapStorage.h"
-#include "SkBitmap.h"
-#include "SkCanvas.h"
-#include "SkColorPriv.h"
-#include "SkDraw.h"
-#include "SkMatrix.h"
-#include "SkPath.h"
-#include "SkRasterClip.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkBitmap.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkColorPriv.h"
+#include "include/core/SkMatrix.h"
+#include "include/core/SkPath.h"
+#include "src/core/SkAutoPixmapStorage.h"
+#include "src/core/SkDraw.h"
+#include "src/core/SkRasterClip.h"
 
 class DrawPathBench : public Benchmark {
     SkPaint     fPaint;
diff --git a/bench/CubicKLMBench.cpp b/bench/CubicKLMBench.cpp
index 8e13a2d..2303fa1 100644
--- a/bench/CubicKLMBench.cpp
+++ b/bench/CubicKLMBench.cpp
@@ -5,10 +5,10 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
+#include "bench/Benchmark.h"
 
-#include "GrPathUtils.h"
-#include "SkGeometry.h"
+#include "src/core/SkGeometry.h"
+#include "src/gpu/GrPathUtils.h"
 
 class CubicKLMBench : public Benchmark {
 public:
diff --git a/bench/CubicMapBench.cpp b/bench/CubicMapBench.cpp
index 4cc55c5..18ec115 100644
--- a/bench/CubicMapBench.cpp
+++ b/bench/CubicMapBench.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkCubicMap.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCubicMap.h"
 
 class CubicMapBench : public Benchmark {
 public:
diff --git a/bench/DashBench.cpp b/bench/DashBench.cpp
index 7c3df8a..99ca576 100644
--- a/bench/DashBench.cpp
+++ b/bench/DashBench.cpp
@@ -4,16 +4,16 @@
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file.
  */
-#include "Benchmark.h"
-#include "SkBitmap.h"
-#include "SkCanvas.h"
-#include "SkDashPathEffect.h"
-#include "SkPaint.h"
-#include "SkPath.h"
-#include "SkRandom.h"
-#include "SkString.h"
-#include "SkStrokeRec.h"
-#include "SkTDArray.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkBitmap.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkPath.h"
+#include "include/core/SkString.h"
+#include "include/core/SkStrokeRec.h"
+#include "include/effects/SkDashPathEffect.h"
+#include "include/private/SkTDArray.h"
+#include "include/utils/SkRandom.h"
 
 
 /*
diff --git a/bench/DisplacementBench.cpp b/bench/DisplacementBench.cpp
index 97c008a..b0749fe 100644
--- a/bench/DisplacementBench.cpp
+++ b/bench/DisplacementBench.cpp
@@ -5,12 +5,12 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkFont.h"
-#include "SkDisplacementMapEffect.h"
-#include "SkImageSource.h"
-#include "SkSurface.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkFont.h"
+#include "include/core/SkSurface.h"
+#include "include/effects/SkDisplacementMapEffect.h"
+#include "include/effects/SkImageSource.h"
 
 #define FILTER_WIDTH_SMALL  32
 #define FILTER_HEIGHT_SMALL 32
diff --git a/bench/DrawBitmapAABench.cpp b/bench/DrawBitmapAABench.cpp
index f0ccd89..52a92f7 100644
--- a/bench/DrawBitmapAABench.cpp
+++ b/bench/DrawBitmapAABench.cpp
@@ -4,12 +4,12 @@
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file.
  */
-#include "Benchmark.h"
-#include "SkBitmap.h"
-#include "SkCanvas.h"
-#include "SkMatrix.h"
-#include "SkPaint.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkBitmap.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkMatrix.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkString.h"
 
 /**
  * This bench measures the rendering time of SkCanvas::drawBitmap with different anti-aliasing /
diff --git a/bench/DrawLatticeBench.cpp b/bench/DrawLatticeBench.cpp
index fbab2f7..6182070 100644
--- a/bench/DrawLatticeBench.cpp
+++ b/bench/DrawLatticeBench.cpp
@@ -5,11 +5,11 @@
 * found in the LICENSE file.
 */
 
-#include "Benchmark.h"
-#include "SkBitmap.h"
-#include "SkCanvas.h"
-#include "SkRect.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkBitmap.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkString.h"
 
 class DrawLatticeBench : public Benchmark {
 public:
diff --git a/bench/EncodeBench.cpp b/bench/EncodeBench.cpp
index e9957de..d17ebed 100644
--- a/bench/EncodeBench.cpp
+++ b/bench/EncodeBench.cpp
@@ -5,13 +5,13 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "Resources.h"
-#include "SkBitmap.h"
-#include "SkJpegEncoder.h"
-#include "SkPngEncoder.h"
-#include "SkWebpEncoder.h"
-#include "SkStream.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkBitmap.h"
+#include "include/core/SkStream.h"
+#include "include/encode/SkJpegEncoder.h"
+#include "include/encode/SkPngEncoder.h"
+#include "include/encode/SkWebpEncoder.h"
+#include "tools/Resources.h"
 
 // Like other Benchmark subclasses, Encoder benchmarks are run by:
 // nanobench --match ^Encode_
diff --git a/bench/FSRectBench.cpp b/bench/FSRectBench.cpp
index ba68ea1..0307069 100644
--- a/bench/FSRectBench.cpp
+++ b/bench/FSRectBench.cpp
@@ -5,10 +5,10 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkPaint.h"
-#include "SkRandom.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPaint.h"
+#include "include/utils/SkRandom.h"
 
 /**
  * Draws full screen opaque rectangles. It is designed to test any optimizations in the GPU backend
diff --git a/bench/FontCacheBench.cpp b/bench/FontCacheBench.cpp
index 2eb2b71..75d421e 100644
--- a/bench/FontCacheBench.cpp
+++ b/bench/FontCacheBench.cpp
@@ -5,16 +5,16 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkChecksum.h"
-#include "SkFont.h"
-#include "SkPaint.h"
-#include "SkPath.h"
-#include "SkString.h"
-#include "SkTemplates.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkFont.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkPath.h"
+#include "include/core/SkString.h"
+#include "include/private/SkChecksum.h"
+#include "include/private/SkTemplates.h"
 
-#include "gUniqueGlyphIDs.h"
+#include "bench/gUniqueGlyphIDs.h"
 
 #define gUniqueGlyphIDs_Sentinel    0xFFFF
 
diff --git a/bench/GMBench.cpp b/bench/GMBench.cpp
index 297ff42..59136bb 100644
--- a/bench/GMBench.cpp
+++ b/bench/GMBench.cpp
@@ -5,7 +5,7 @@
  * found in the LICENSE file.
  */
 
-#include "GMBench.h"
+#include "bench/GMBench.h"
 
 GMBench::GMBench(skiagm::GM* gm) : fGM(gm) {
     fName.printf("GM_%s", gm->getName());
diff --git a/bench/GMBench.h b/bench/GMBench.h
index 5a917ad..401562f 100644
--- a/bench/GMBench.h
+++ b/bench/GMBench.h
@@ -7,9 +7,9 @@
 #ifndef GMBench_DEFINED
 #define GMBench_DEFINED
 
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "gm.h"
+#include "bench/Benchmark.h"
+#include "gm/gm.h"
+#include "include/core/SkCanvas.h"
 
 /**
  * Runs a GM as a benchmark by repeatedly drawing the GM.
diff --git a/bench/GameBench.cpp b/bench/GameBench.cpp
index 4096e0d..48c774c 100644
--- a/bench/GameBench.cpp
+++ b/bench/GameBench.cpp
@@ -5,14 +5,14 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkBitmap.h"
-#include "SkCanvas.h"
-#include "SkPaint.h"
-#include "SkRandom.h"
-#include "SkShader.h"
-#include "SkString.h"
-#include "SkVertices.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkBitmap.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkShader.h"
+#include "include/core/SkString.h"
+#include "include/core/SkVertices.h"
+#include "include/utils/SkRandom.h"
 
 // This bench simulates the calls Skia sees from various HTML5 canvas
 // game bench marks
diff --git a/bench/GeometryBench.cpp b/bench/GeometryBench.cpp
index 9b0ac88..457151d 100644
--- a/bench/GeometryBench.cpp
+++ b/bench/GeometryBench.cpp
@@ -5,10 +5,10 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkGeometry.h"
-#include "SkRandom.h"
-#include "SkRect.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkRect.h"
+#include "include/utils/SkRandom.h"
+#include "src/core/SkGeometry.h"
 
 class GeometryBench : public Benchmark {
 public:
@@ -244,7 +244,7 @@
 };
 DEF_BENCH( return new ChopCubicAt; )
 
-#include "SkPath.h"
+#include "include/core/SkPath.h"
 
 class ConvexityBench : public Benchmark {
     SkPath fPath;
diff --git a/bench/GrCCFillGeometryBench.cpp b/bench/GrCCFillGeometryBench.cpp
index 84a9e1e..962dcb2 100644
--- a/bench/GrCCFillGeometryBench.cpp
+++ b/bench/GrCCFillGeometryBench.cpp
@@ -5,10 +5,10 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
+#include "bench/Benchmark.h"
 
-#include "ccpr/GrCCFillGeometry.h"
-#include "SkGeometry.h"
+#include "src/core/SkGeometry.h"
+#include "src/gpu/ccpr/GrCCFillGeometry.h"
 
 static int kNumBaseLoops = 50000;
 
diff --git a/bench/GrMemoryPoolBench.cpp b/bench/GrMemoryPoolBench.cpp
index bcc28c5..4d52662 100644
--- a/bench/GrMemoryPoolBench.cpp
+++ b/bench/GrMemoryPoolBench.cpp
@@ -5,13 +5,13 @@
  * found in the LICENSE file.
  */
 
-#include "SkTypes.h"
+#include "include/core/SkTypes.h"
 
-#include "Benchmark.h"
-#include "GrMemoryPool.h"
-#include "SkRandom.h"
-#include "SkTDArray.h"
-#include "SkTemplates.h"
+#include "bench/Benchmark.h"
+#include "include/private/SkTDArray.h"
+#include "include/private/SkTemplates.h"
+#include "include/utils/SkRandom.h"
+#include "src/gpu/GrMemoryPool.h"
 
 #include <new>
 
diff --git a/bench/GrMipMapBench.cpp b/bench/GrMipMapBench.cpp
index e7f34de..a0a1525 100644
--- a/bench/GrMipMapBench.cpp
+++ b/bench/GrMipMapBench.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkImage.h"
-#include "SkPaint.h"
-#include "SkSurface.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkImage.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkSurface.h"
 
 class GrMipMapBench: public Benchmark {
     sk_sp<SkSurface> fSurface;
diff --git a/bench/GrResourceCacheBench.cpp b/bench/GrResourceCacheBench.cpp
index 8d96480..18b901e 100644
--- a/bench/GrResourceCacheBench.cpp
+++ b/bench/GrResourceCacheBench.cpp
@@ -5,15 +5,15 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
+#include "bench/Benchmark.h"
 
-#include "GrContext.h"
-#include "GrContextPriv.h"
-#include "GrGpu.h"
-#include "GrGpuResource.h"
-#include "GrGpuResourcePriv.h"
-#include "GrResourceCache.h"
-#include "SkCanvas.h"
+#include "include/core/SkCanvas.h"
+#include "include/gpu/GrContext.h"
+#include "include/gpu/GrGpuResource.h"
+#include "src/gpu/GrContextPriv.h"
+#include "src/gpu/GrGpu.h"
+#include "src/gpu/GrGpuResourcePriv.h"
+#include "src/gpu/GrResourceCache.h"
 
 enum {
     CACHE_SIZE_COUNT = 4096,
diff --git a/bench/GradientBench.cpp b/bench/GradientBench.cpp
index 4f28b6e..bcafb39 100644
--- a/bench/GradientBench.cpp
+++ b/bench/GradientBench.cpp
@@ -4,14 +4,14 @@
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file.
  */
-#include "Benchmark.h"
-#include "SkBitmap.h"
-#include "SkCanvas.h"
-#include "SkColorPriv.h"
-#include "SkGradientShader.h"
-#include "SkPaint.h"
-#include "SkShader.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkBitmap.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkColorPriv.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkShader.h"
+#include "include/core/SkString.h"
+#include "include/effects/SkGradientShader.h"
 
 struct GradData {
     int             fCount;
diff --git a/bench/HairlinePathBench.cpp b/bench/HairlinePathBench.cpp
index 176adc5..d57f616 100644
--- a/bench/HairlinePathBench.cpp
+++ b/bench/HairlinePathBench.cpp
@@ -5,13 +5,13 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkPaint.h"
-#include "SkPath.h"
-#include "SkRandom.h"
-#include "SkShader.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkPath.h"
+#include "include/core/SkShader.h"
+#include "include/core/SkString.h"
+#include "include/utils/SkRandom.h"
 
 enum Flags {
     kBig_Flag = 1 << 0,
diff --git a/bench/HardStopGradientBench_ScaleNumColors.cpp b/bench/HardStopGradientBench_ScaleNumColors.cpp
index b1f6267..e38022e 100644
--- a/bench/HardStopGradientBench_ScaleNumColors.cpp
+++ b/bench/HardStopGradientBench_ScaleNumColors.cpp
@@ -5,14 +5,14 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
+#include "bench/Benchmark.h"
 
-#include "SkCanvas.h"
-#include "SkShader.h"
-#include "SkGradientShader.h"
-#include "SkString.h"
-#include "SkColor.h"
-#include "SkPaint.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkColor.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkShader.h"
+#include "include/core/SkString.h"
+#include "include/effects/SkGradientShader.h"
 
 static const char* get_tilemode_name(SkTileMode tilemode) {
     switch (tilemode) {
diff --git a/bench/HardStopGradientBench_ScaleNumHardStops.cpp b/bench/HardStopGradientBench_ScaleNumHardStops.cpp
index b1ea306..01ed7be 100644
--- a/bench/HardStopGradientBench_ScaleNumHardStops.cpp
+++ b/bench/HardStopGradientBench_ScaleNumHardStops.cpp
@@ -5,14 +5,14 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
+#include "bench/Benchmark.h"
 
-#include "SkCanvas.h"
-#include "SkShader.h"
-#include "SkGradientShader.h"
-#include "SkString.h"
-#include "SkColor.h"
-#include "SkPaint.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkColor.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkShader.h"
+#include "include/core/SkString.h"
+#include "include/effects/SkGradientShader.h"
 
 class HardStopGradientBench_ScaleNumHardStops : public Benchmark {
 public:
diff --git a/bench/HardStopGradientBench_SpecialHardStops.cpp b/bench/HardStopGradientBench_SpecialHardStops.cpp
index 607080a..ac6e461 100644
--- a/bench/HardStopGradientBench_SpecialHardStops.cpp
+++ b/bench/HardStopGradientBench_SpecialHardStops.cpp
@@ -5,14 +5,14 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
+#include "bench/Benchmark.h"
 
-#include "SkCanvas.h"
-#include "SkShader.h"
-#include "SkGradientShader.h"
-#include "SkString.h"
-#include "SkColor.h"
-#include "SkPaint.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkColor.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkShader.h"
+#include "include/core/SkString.h"
+#include "include/effects/SkGradientShader.h"
 
 enum class Kind {
     k001,
diff --git a/bench/ImageBench.cpp b/bench/ImageBench.cpp
index d8260e7..a452903 100644
--- a/bench/ImageBench.cpp
+++ b/bench/ImageBench.cpp
@@ -5,10 +5,10 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkImage.h"
-#include "SkSurface.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkImage.h"
+#include "include/core/SkSurface.h"
 
 class Image2RasterBench : public Benchmark {
 public:
diff --git a/bench/ImageCacheBench.cpp b/bench/ImageCacheBench.cpp
index cf35bbf..1d577d6 100644
--- a/bench/ImageCacheBench.cpp
+++ b/bench/ImageCacheBench.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkResourceCache.h"
+#include "bench/Benchmark.h"
+#include "src/core/SkResourceCache.h"
 
 namespace {
 static void* gGlobalAddress;
diff --git a/bench/ImageCacheBudgetBench.cpp b/bench/ImageCacheBudgetBench.cpp
index fb714ba..db5002d 100644
--- a/bench/ImageCacheBudgetBench.cpp
+++ b/bench/ImageCacheBudgetBench.cpp
@@ -5,14 +5,14 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkImage.h"
-#include "SkSurface.h"
-#include "ToolUtils.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkImage.h"
+#include "include/core/SkSurface.h"
+#include "tools/ToolUtils.h"
 
-#include "GrContext.h"
-#include "GrContextPriv.h"
+#include "include/gpu/GrContext.h"
+#include "src/gpu/GrContextPriv.h"
 
 #include <utility>
 
diff --git a/bench/ImageCycleBench.cpp b/bench/ImageCycleBench.cpp
index e7e0025..032e43b 100644
--- a/bench/ImageCycleBench.cpp
+++ b/bench/ImageCycleBench.cpp
@@ -5,12 +5,12 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
+#include "bench/Benchmark.h"
 
-#include "SkCanvas.h"
-#include "SkImage.h"
-#include "SkRandom.h"
-#include "SkSurface.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkImage.h"
+#include "include/core/SkSurface.h"
+#include "include/utils/SkRandom.h"
 
 /**
  * Draws a small set of small images multiple times each with no overlaps so that each image could
diff --git a/bench/ImageFilterCollapse.cpp b/bench/ImageFilterCollapse.cpp
index 3562766..2e1c6d7 100644
--- a/bench/ImageFilterCollapse.cpp
+++ b/bench/ImageFilterCollapse.cpp
@@ -5,14 +5,14 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkBitmap.h"
-#include "SkCanvas.h"
-#include "SkColorFilterImageFilter.h"
-#include "SkColorMatrixFilter.h"
-#include "SkGradientShader.h"
-#include "SkImageFilter.h"
-#include "SkTableColorFilter.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkBitmap.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkImageFilter.h"
+#include "include/effects/SkColorFilterImageFilter.h"
+#include "include/effects/SkColorMatrixFilter.h"
+#include "include/effects/SkGradientShader.h"
+#include "include/effects/SkTableColorFilter.h"
 
 // Chains several matrix color filters image filter or several
 // table filter image filters and draws a bitmap.
diff --git a/bench/ImageFilterDAGBench.cpp b/bench/ImageFilterDAGBench.cpp
index 76b091f..a7e6bfd 100644
--- a/bench/ImageFilterDAGBench.cpp
+++ b/bench/ImageFilterDAGBench.cpp
@@ -5,15 +5,15 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "Resources.h"
-#include "SkBlurImageFilter.h"
-#include "SkCanvas.h"
-#include "SkDisplacementMapEffect.h"
-#include "SkImage.h"
-#include "SkMergeImageFilter.h"
-#include "SkOffsetImageFilter.h"
-#include "SkXfermodeImageFilter.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkImage.h"
+#include "include/effects/SkBlurImageFilter.h"
+#include "include/effects/SkDisplacementMapEffect.h"
+#include "include/effects/SkMergeImageFilter.h"
+#include "include/effects/SkOffsetImageFilter.h"
+#include "include/effects/SkXfermodeImageFilter.h"
+#include "tools/Resources.h"
 
 // Exercise a blur filter connected to 5 inputs of the same merge filter.
 // This bench shows an improvement in performance once cacheing of re-used
diff --git a/bench/InterpBench.cpp b/bench/InterpBench.cpp
index 16cc499..61c3de6 100644
--- a/bench/InterpBench.cpp
+++ b/bench/InterpBench.cpp
@@ -5,13 +5,13 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkColorData.h"
-#include "SkFixed.h"
-#include "SkMatrix.h"
-#include "SkPaint.h"
-#include "SkRandom.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkMatrix.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkString.h"
+#include "include/private/SkColorData.h"
+#include "include/private/SkFixed.h"
+#include "include/utils/SkRandom.h"
 
 #define TILE(x, width)  (((x) & 0xFFFF) * width >> 16)
 
diff --git a/bench/JSONBench.cpp b/bench/JSONBench.cpp
index 4ef1d6c..061316d 100644
--- a/bench/JSONBench.cpp
+++ b/bench/JSONBench.cpp
@@ -5,10 +5,10 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkData.h"
-#include "SkJSON.h"
-#include "SkStream.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkData.h"
+#include "include/core/SkStream.h"
+#include "src/utils/SkJSON.h"
 
 #if defined(SK_BUILD_FOR_ANDROID)
 static constexpr const char* kBenchFile = "/data/local/tmp/bench.json";
diff --git a/bench/LightingBench.cpp b/bench/LightingBench.cpp
index a924f4a..c1f647d 100644
--- a/bench/LightingBench.cpp
+++ b/bench/LightingBench.cpp
@@ -4,10 +4,10 @@
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file.
  */
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkLightingImageFilter.h"
-#include "SkPoint3.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPoint3.h"
+#include "include/effects/SkLightingImageFilter.h"
 
 #define FILTER_WIDTH_SMALL  SkIntToScalar(32)
 #define FILTER_HEIGHT_SMALL SkIntToScalar(32)
diff --git a/bench/LineBench.cpp b/bench/LineBench.cpp
index 67dc564..b904cb8 100644
--- a/bench/LineBench.cpp
+++ b/bench/LineBench.cpp
@@ -5,15 +5,15 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkBitmap.h"
-#include "SkCanvas.h"
-#include "SkColorPriv.h"
-#include "SkPaint.h"
-#include "SkRandom.h"
-#include "SkShader.h"
-#include "SkString.h"
-#include "SkTArray.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkBitmap.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkColorPriv.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkShader.h"
+#include "include/core/SkString.h"
+#include "include/private/SkTArray.h"
+#include "include/utils/SkRandom.h"
 
 
 class LineBench : public Benchmark {
diff --git a/bench/MagnifierBench.cpp b/bench/MagnifierBench.cpp
index d345c63..e890f12 100644
--- a/bench/MagnifierBench.cpp
+++ b/bench/MagnifierBench.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkBitmap.h"
-#include "SkCanvas.h"
-#include "SkMagnifierImageFilter.h"
-#include "SkRandom.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkBitmap.h"
+#include "include/core/SkCanvas.h"
+#include "include/effects/SkMagnifierImageFilter.h"
+#include "include/utils/SkRandom.h"
 
 #define FILTER_WIDTH_SMALL  32
 #define FILTER_HEIGHT_SMALL 32
diff --git a/bench/MathBench.cpp b/bench/MathBench.cpp
index 74b89a3..e47c6ac 100644
--- a/bench/MathBench.cpp
+++ b/bench/MathBench.cpp
@@ -5,14 +5,14 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkColorData.h"
-#include "SkFixed.h"
-#include "SkMathPriv.h"
-#include "SkMatrix.h"
-#include "SkPaint.h"
-#include "SkRandom.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkMatrix.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkString.h"
+#include "include/private/SkColorData.h"
+#include "include/private/SkFixed.h"
+#include "include/utils/SkRandom.h"
+#include "src/core/SkMathPriv.h"
 
 static float sk_fsel(float pred, float result_ge, float result_lt) {
     return pred >= 0 ? result_ge : result_lt;
@@ -601,7 +601,7 @@
 
 //////////////////////////////////////////////////////////////
 
-#include "../private/SkFloatBits.h"
+#include "include/private/SkFloatBits.h"
 class Floor2IntBench : public Benchmark {
     enum {
         ARRAY = 1000,
diff --git a/bench/Matrix44Bench.cpp b/bench/Matrix44Bench.cpp
index 35c3e68..5698751 100644
--- a/bench/Matrix44Bench.cpp
+++ b/bench/Matrix44Bench.cpp
@@ -5,10 +5,10 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkMatrix44.h"
-#include "SkRandom.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkMatrix44.h"
+#include "include/core/SkString.h"
+#include "include/utils/SkRandom.h"
 
 class Matrix44Bench : public Benchmark {
     SkString    fName;
diff --git a/bench/MatrixBench.cpp b/bench/MatrixBench.cpp
index 53e7296..485a88a 100644
--- a/bench/MatrixBench.cpp
+++ b/bench/MatrixBench.cpp
@@ -4,11 +4,11 @@
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file.
  */
-#include "Benchmark.h"
-#include "SkMatrix.h"
-#include "SkMatrixUtils.h"
-#include "SkRandom.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkMatrix.h"
+#include "include/core/SkString.h"
+#include "include/utils/SkRandom.h"
+#include "src/core/SkMatrixUtils.h"
 
 class MatrixBench : public Benchmark {
     SkString    fName;
diff --git a/bench/MatrixConvolutionBench.cpp b/bench/MatrixConvolutionBench.cpp
index 3a43de8..c29ccbc 100644
--- a/bench/MatrixConvolutionBench.cpp
+++ b/bench/MatrixConvolutionBench.cpp
@@ -4,12 +4,12 @@
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file.
  */
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkMatrixConvolutionImageFilter.h"
-#include "SkPaint.h"
-#include "SkRandom.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkString.h"
+#include "include/effects/SkMatrixConvolutionImageFilter.h"
+#include "include/utils/SkRandom.h"
 
 static const char* name(SkMatrixConvolutionImageFilter::TileMode mode) {
     switch (mode) {
diff --git a/bench/MemsetBench.cpp b/bench/MemsetBench.cpp
index beae339..ccdbebb 100644
--- a/bench/MemsetBench.cpp
+++ b/bench/MemsetBench.cpp
@@ -5,9 +5,9 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkTemplates.h"
-#include "SkUtils.h"
+#include "bench/Benchmark.h"
+#include "include/private/SkTemplates.h"
+#include "src/core/SkUtils.h"
 
 template <typename T, bool kInline>
 class MemsetBench : public Benchmark {
diff --git a/bench/MergeBench.cpp b/bench/MergeBench.cpp
index dd0e07c..7068814 100644
--- a/bench/MergeBench.cpp
+++ b/bench/MergeBench.cpp
@@ -5,12 +5,12 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkFont.h"
-#include "SkImageSource.h"
-#include "SkMergeImageFilter.h"
-#include "SkSurface.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkFont.h"
+#include "include/core/SkSurface.h"
+#include "include/effects/SkImageSource.h"
+#include "include/effects/SkMergeImageFilter.h"
 
 #define FILTER_WIDTH_SMALL  SkIntToScalar(32)
 #define FILTER_HEIGHT_SMALL SkIntToScalar(32)
diff --git a/bench/MipMapBench.cpp b/bench/MipMapBench.cpp
index aed2c59..baa8cd3 100644
--- a/bench/MipMapBench.cpp
+++ b/bench/MipMapBench.cpp
@@ -5,9 +5,9 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkBitmap.h"
-#include "SkMipMap.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkBitmap.h"
+#include "src/core/SkMipMap.h"
 
 class MipMapBench: public Benchmark {
     SkBitmap fBitmap;
diff --git a/bench/MorphologyBench.cpp b/bench/MorphologyBench.cpp
index 5edae6e..1f74bb0 100644
--- a/bench/MorphologyBench.cpp
+++ b/bench/MorphologyBench.cpp
@@ -5,13 +5,13 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkMorphologyImageFilter.h"
-#include "SkPaint.h"
-#include "SkRandom.h"
-#include "SkShader.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkShader.h"
+#include "include/core/SkString.h"
+#include "include/effects/SkMorphologyImageFilter.h"
+#include "include/utils/SkRandom.h"
 
 #define SMALL   SkIntToScalar(2)
 #define REAL    1.5f
diff --git a/bench/MutexBench.cpp b/bench/MutexBench.cpp
index 27ebee5..bb98368 100644
--- a/bench/MutexBench.cpp
+++ b/bench/MutexBench.cpp
@@ -4,11 +4,11 @@
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file.
  */
-#include "Benchmark.h"
-#include "SkMutex.h"
-#include "SkSharedMutex.h"
-#include "SkSpinlock.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkString.h"
+#include "include/private/SkMutex.h"
+#include "include/private/SkSpinlock.h"
+#include "src/core/SkSharedMutex.h"
 
 template <typename Mutex>
 class MutexBench : public Benchmark {
diff --git a/bench/PDFBench.cpp b/bench/PDFBench.cpp
index c3521b3..c8ebdca 100644
--- a/bench/PDFBench.cpp
+++ b/bench/PDFBench.cpp
@@ -5,20 +5,20 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
+#include "bench/Benchmark.h"
 
-#include "Resources.h"
-#include "SkAutoPixmapStorage.h"
-#include "SkData.h"
-#include "SkExecutor.h"
-#include "SkFloatToDecimal.h"
-#include "SkGradientShader.h"
-#include "SkImage.h"
-#include "SkPDFUnion.h"
-#include "SkPixmap.h"
-#include "SkRandom.h"
-#include "SkStream.h"
-#include "SkTo.h"
+#include "include/core/SkData.h"
+#include "include/core/SkExecutor.h"
+#include "include/core/SkImage.h"
+#include "include/core/SkPixmap.h"
+#include "include/core/SkStream.h"
+#include "include/effects/SkGradientShader.h"
+#include "include/private/SkTo.h"
+#include "include/utils/SkRandom.h"
+#include "src/core/SkAutoPixmapStorage.h"
+#include "src/pdf/SkPDFUnion.h"
+#include "src/utils/SkFloatToDecimal.h"
+#include "tools/Resources.h"
 
 namespace {
 struct WStreamWriteTextBenchmark : public Benchmark {
@@ -75,10 +75,10 @@
 
 #ifdef SK_SUPPORT_PDF
 
-#include "SkPDFBitmap.h"
-#include "SkPDFDocumentPriv.h"
-#include "SkPDFShader.h"
-#include "SkPDFUtils.h"
+#include "src/pdf/SkPDFBitmap.h"
+#include "src/pdf/SkPDFDocumentPriv.h"
+#include "src/pdf/SkPDFShader.h"
+#include "src/pdf/SkPDFUtils.h"
 
 namespace {
 class PDFImageBench : public Benchmark {
@@ -311,7 +311,7 @@
 DEF_BENCH(return new PDFClipPathBenchmark;)
 
 #ifdef SK_PDF_ENABLE_SLOW_TESTS
-#include "SkExecutor.h"
+#include "include/core/SkExecutor.h"
 namespace {
 void big_pdf_test(SkDocument* doc, const SkBitmap& background) {
     static const char* kText[] = {
diff --git a/bench/PatchBench.cpp b/bench/PatchBench.cpp
index 064db69..b2fc1a8 100644
--- a/bench/PatchBench.cpp
+++ b/bench/PatchBench.cpp
@@ -4,12 +4,12 @@
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file.
  */
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkGradientShader.h"
-#include "SkPaint.h"
-#include "SkPatchUtils.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkString.h"
+#include "include/effects/SkGradientShader.h"
+#include "src/utils/SkPatchUtils.h"
 
 /**
  * This bench measures the rendering time of the call SkCanvas::drawPatch with different types of
@@ -324,7 +324,7 @@
                                         PatchBench::kBoth_VertexMode); )
 
 //////////////////////////////////////////////
-#include "SkPatchUtils.h"
+#include "src/utils/SkPatchUtils.h"
 
 class PatchUtilsBench : public Benchmark {
     SkString    fName;
diff --git a/bench/PathBench.cpp b/bench/PathBench.cpp
index b065c0c..e26f120 100644
--- a/bench/PathBench.cpp
+++ b/bench/PathBench.cpp
@@ -5,16 +5,16 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkBitmap.h"
-#include "SkCanvas.h"
-#include "SkColorPriv.h"
-#include "SkPaint.h"
-#include "SkPath.h"
-#include "SkRandom.h"
-#include "SkShader.h"
-#include "SkString.h"
-#include "SkTArray.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkBitmap.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkColorPriv.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkPath.h"
+#include "include/core/SkShader.h"
+#include "include/core/SkString.h"
+#include "include/private/SkTArray.h"
+#include "include/utils/SkRandom.h"
 
 enum Flags {
     kStroke_Flag = 1 << 0,
@@ -885,7 +885,7 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 
-#include "SkGeometry.h"
+#include "src/core/SkGeometry.h"
 
 class ConicBench_Chop : public Benchmark {
 protected:
@@ -1175,8 +1175,8 @@
 DEF_BENCH( return new ConservativelyContainsBench(ConservativelyContainsBench::kRoundRect_Type); )
 DEF_BENCH( return new ConservativelyContainsBench(ConservativelyContainsBench::kOval_Type); )
 
-#include "SkPathOps.h"
-#include "SkPathPriv.h"
+#include "include/pathops/SkPathOps.h"
+#include "src/core/SkPathPriv.h"
 
 DEF_BENCH( return new TightBoundsBench([](const SkPath& path){ return path.computeTightBounds();},
                                        "priv"); )
diff --git a/bench/PathIterBench.cpp b/bench/PathIterBench.cpp
index cf93b5d..c374c36 100644
--- a/bench/PathIterBench.cpp
+++ b/bench/PathIterBench.cpp
@@ -4,15 +4,15 @@
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file.
  */
-#include "Benchmark.h"
-#include "SkBitmap.h"
-#include "SkCanvas.h"
-#include "SkColorPriv.h"
-#include "SkPaint.h"
-#include "SkPath.h"
-#include "SkRandom.h"
-#include "SkShader.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkBitmap.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkColorPriv.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkPath.h"
+#include "include/core/SkShader.h"
+#include "include/core/SkString.h"
+#include "include/utils/SkRandom.h"
 
 static int rand_pts(SkRandom& rand, SkPoint pts[4]) {
     int n = rand.nextU() & 3;
diff --git a/bench/PathOpsBench.cpp b/bench/PathOpsBench.cpp
index 4d2e9e1..c7df558 100644
--- a/bench/PathOpsBench.cpp
+++ b/bench/PathOpsBench.cpp
@@ -5,13 +5,13 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkPath.h"
-#include "SkPathOps.h"
-#include "SkRandom.h"
-#include "SkShader.h"
-#include "SkString.h"
-#include "SkTArray.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkPath.h"
+#include "include/core/SkShader.h"
+#include "include/core/SkString.h"
+#include "include/pathops/SkPathOps.h"
+#include "include/private/SkTArray.h"
+#include "include/utils/SkRandom.h"
 
 class PathOpsBench : public Benchmark {
     SkString    fName;
diff --git a/bench/PathTextBench.cpp b/bench/PathTextBench.cpp
index a9b845d..ed4468a 100644
--- a/bench/PathTextBench.cpp
+++ b/bench/PathTextBench.cpp
@@ -5,14 +5,14 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkPaint.h"
-#include "SkPath.h"
-#include "SkRandom.h"
-#include "SkStrike.h"
-#include "SkStrikeCache.h"
-#include "ToolUtils.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkPath.h"
+#include "include/utils/SkRandom.h"
+#include "src/core/SkStrike.h"
+#include "src/core/SkStrikeCache.h"
+#include "tools/ToolUtils.h"
 
 static constexpr int kScreenWidth = 1500;
 static constexpr int kScreenHeight = 1500;
diff --git a/bench/PerlinNoiseBench.cpp b/bench/PerlinNoiseBench.cpp
index 802c5be..1d246b6 100644
--- a/bench/PerlinNoiseBench.cpp
+++ b/bench/PerlinNoiseBench.cpp
@@ -4,10 +4,10 @@
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file.
  */
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkPerlinNoiseShader.h"
-#include "SkShader.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkShader.h"
+#include "include/effects/SkPerlinNoiseShader.h"
 
 class PerlinNoiseBench : public Benchmark {
     SkISize fSize;
diff --git a/bench/PictureNestingBench.cpp b/bench/PictureNestingBench.cpp
index abe8936..fab48f3 100644
--- a/bench/PictureNestingBench.cpp
+++ b/bench/PictureNestingBench.cpp
@@ -5,14 +5,14 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkColor.h"
-#include "SkNullCanvas.h"
-#include "SkPaint.h"
-#include "SkPicture.h"
-#include "SkPictureRecorder.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkColor.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkPicture.h"
+#include "include/core/SkPictureRecorder.h"
+#include "include/core/SkString.h"
+#include "include/utils/SkNullCanvas.h"
 
 class PictureNesting : public Benchmark {
 public:
diff --git a/bench/PictureOverheadBench.cpp b/bench/PictureOverheadBench.cpp
index 8489ab8..49ddb90 100644
--- a/bench/PictureOverheadBench.cpp
+++ b/bench/PictureOverheadBench.cpp
@@ -8,11 +8,11 @@
 // A benchmark designed to isolate the constant overheads of picture recording.
 // We record an empty picture and a picture with one draw op to force memory allocation.
 
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkLiteDL.h"
-#include "SkLiteRecorder.h"
-#include "SkPictureRecorder.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPictureRecorder.h"
+#include "src/core/SkLiteDL.h"
+#include "src/core/SkLiteRecorder.h"
 
 template <int kDraws, bool kLite>
 struct PictureOverheadBench : public Benchmark {
diff --git a/bench/PicturePlaybackBench.cpp b/bench/PicturePlaybackBench.cpp
index 40dde4b..461cd8d 100644
--- a/bench/PicturePlaybackBench.cpp
+++ b/bench/PicturePlaybackBench.cpp
@@ -4,16 +4,16 @@
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file.
  */
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkColor.h"
-#include "SkPaint.h"
-#include "SkPicture.h"
-#include "SkPictureRecorder.h"
-#include "SkPoint.h"
-#include "SkRandom.h"
-#include "SkRect.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkColor.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkPicture.h"
+#include "include/core/SkPictureRecorder.h"
+#include "include/core/SkPoint.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkString.h"
+#include "include/utils/SkRandom.h"
 
 // This is designed to emulate about 4 screens of textual content
 
diff --git a/bench/PolyUtilsBench.cpp b/bench/PolyUtilsBench.cpp
index 5cbff93..0b45376 100644
--- a/bench/PolyUtilsBench.cpp
+++ b/bench/PolyUtilsBench.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkPolyUtils.h"
+#include "bench/Benchmark.h"
+#include "src/utils/SkPolyUtils.h"
 
 class PolyUtilsBench : public Benchmark {
 public:
diff --git a/bench/PremulAndUnpremulAlphaOpsBench.cpp b/bench/PremulAndUnpremulAlphaOpsBench.cpp
index 22467ec..b67098c 100644
--- a/bench/PremulAndUnpremulAlphaOpsBench.cpp
+++ b/bench/PremulAndUnpremulAlphaOpsBench.cpp
@@ -5,10 +5,10 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkString.h"
-#include "ToolUtils.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkString.h"
+#include "tools/ToolUtils.h"
 
 class PremulAndUnpremulAlphaOpsBench : public Benchmark {
     enum {
diff --git a/bench/QuickRejectBench.cpp b/bench/QuickRejectBench.cpp
index 1feade4..daad4d4 100644
--- a/bench/QuickRejectBench.cpp
+++ b/bench/QuickRejectBench.cpp
@@ -5,9 +5,9 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkRandom.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/utils/SkRandom.h"
 
 class QuickRejectBench : public Benchmark {
     enum { N = 1000000 };
diff --git a/bench/RTreeBench.cpp b/bench/RTreeBench.cpp
index e484050..95fd89d 100644
--- a/bench/RTreeBench.cpp
+++ b/bench/RTreeBench.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkRTree.h"
-#include "SkRandom.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkString.h"
+#include "include/utils/SkRandom.h"
+#include "src/core/SkRTree.h"
 
 // confine rectangles to a smallish area, so queries generally hit something, and overlap occurs:
 static const SkScalar GENERATE_EXTENTS = 1000.0f;
diff --git a/bench/ReadPixBench.cpp b/bench/ReadPixBench.cpp
index 35e536d..3e5d0dc 100644
--- a/bench/ReadPixBench.cpp
+++ b/bench/ReadPixBench.cpp
@@ -5,10 +5,10 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkBitmap.h"
-#include "SkCanvas.h"
-#include "SkColorSpace.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkBitmap.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkColorSpace.h"
 
 // Time variants of read-pixels
 //  [ colortype ][ alphatype ][ colorspace ]
@@ -62,8 +62,8 @@
 DEF_BENCH( return new ReadPixBench(kBGRA_8888_SkColorType, kUnpremul_SkAlphaType, SkColorSpace::MakeSRGB()); )
 
 ////////////////////////////////////////////////////////////////////////////////
-#include "SkBitmap.h"
-#include "SkPixmapPriv.h"
+#include "include/core/SkBitmap.h"
+#include "src/core/SkPixmapPriv.h"
 
 class PixmapOrientBench : public Benchmark {
 public:
diff --git a/bench/RecordingBench.cpp b/bench/RecordingBench.cpp
index 45a9128..32354d6 100644
--- a/bench/RecordingBench.cpp
+++ b/bench/RecordingBench.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "RecordingBench.h"
-#include "SkBBHFactory.h"
-#include "SkLiteDL.h"
-#include "SkLiteRecorder.h"
-#include "SkPictureRecorder.h"
+#include "bench/RecordingBench.h"
+#include "include/core/SkBBHFactory.h"
+#include "include/core/SkPictureRecorder.h"
+#include "src/core/SkLiteDL.h"
+#include "src/core/SkLiteRecorder.h"
 
 PictureCentricBench::PictureCentricBench(const char* name, const SkPicture* pic) : fName(name) {
     // Flatten the source picture in case it's trivially nested (useless for timing).
@@ -67,7 +67,7 @@
 }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
-#include "SkSerialProcs.h"
+#include "include/core/SkSerialProcs.h"
 
 DeserializePictureBench::DeserializePictureBench(const char* name, sk_sp<SkData> data)
     : fName(name)
diff --git a/bench/RecordingBench.h b/bench/RecordingBench.h
index 56a08e5..e67c28a 100644
--- a/bench/RecordingBench.h
+++ b/bench/RecordingBench.h
@@ -8,9 +8,9 @@
 #ifndef RecordingBench_DEFINED
 #define RecordingBench_DEFINED
 
-#include "Benchmark.h"
-#include "SkPicture.h"
-#include "SkLiteDL.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkPicture.h"
+#include "src/core/SkLiteDL.h"
 
 class PictureCentricBench : public Benchmark {
 public:
diff --git a/bench/RectBench.cpp b/bench/RectBench.cpp
index 0c30dc0..19d36a2 100644
--- a/bench/RectBench.cpp
+++ b/bench/RectBench.cpp
@@ -5,15 +5,15 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "CommandLineFlags.h"
-#include "SkBitmap.h"
-#include "SkCanvas.h"
-#include "SkGradientShader.h"
-#include "SkPaint.h"
-#include "SkRandom.h"
-#include "SkShader.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkBitmap.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkShader.h"
+#include "include/core/SkString.h"
+#include "include/effects/SkGradientShader.h"
+#include "include/utils/SkRandom.h"
+#include "tools/flags/CommandLineFlags.h"
 
 static DEFINE_double(strokeWidth, -1.0, "If set, use this stroke width in RectBench.");
 
diff --git a/bench/RectanizerBench.cpp b/bench/RectanizerBench.cpp
index c5ec21d..224bd56 100644
--- a/bench/RectanizerBench.cpp
+++ b/bench/RectanizerBench.cpp
@@ -5,13 +5,13 @@
 * found in the LICENSE file.
 */
 
-#include "Benchmark.h"
-#include "SkRandom.h"
-#include "SkSize.h"
-#include "SkTDArray.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkSize.h"
+#include "include/private/SkTDArray.h"
+#include "include/utils/SkRandom.h"
 
-#include "GrRectanizer_pow2.h"
-#include "GrRectanizer_skyline.h"
+#include "src/gpu/GrRectanizer_pow2.h"
+#include "src/gpu/GrRectanizer_skyline.h"
 
 /**
  * This bench exercises Ganesh' GrRectanizer classes. It exercises the following
diff --git a/bench/RectoriBench.cpp b/bench/RectoriBench.cpp
index c0d2155..442138b 100644
--- a/bench/RectoriBench.cpp
+++ b/bench/RectoriBench.cpp
@@ -5,13 +5,13 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkLayerDrawLooper.h"
-#include "SkMaskFilter.h"
-#include "SkPaint.h"
-#include "SkPath.h"
-#include "SkRandom.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkMaskFilter.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkPath.h"
+#include "include/effects/SkLayerDrawLooper.h"
+#include "include/utils/SkRandom.h"
 
 // This bench replicates a problematic use case of a draw looper used
 // to create an inner blurred rect
diff --git a/bench/RefCntBench.cpp b/bench/RefCntBench.cpp
index 39b3a73..af4822a 100644
--- a/bench/RefCntBench.cpp
+++ b/bench/RefCntBench.cpp
@@ -4,9 +4,9 @@
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file.
  */
-#include "Benchmark.h"
-#include "SkRefCnt.h"
-#include "SkWeakRefCnt.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkRefCnt.h"
+#include "include/private/SkWeakRefCnt.h"
 #include <memory>
 #include <new>
 
diff --git a/bench/RegionBench.cpp b/bench/RegionBench.cpp
index f73a888..b6ad54b 100644
--- a/bench/RegionBench.cpp
+++ b/bench/RegionBench.cpp
@@ -4,10 +4,10 @@
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file.
  */
-#include "Benchmark.h"
-#include "SkRandom.h"
-#include "SkRegion.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkRegion.h"
+#include "include/core/SkString.h"
+#include "include/utils/SkRandom.h"
 
 static bool union_proc(SkRegion& a, SkRegion& b) {
     SkRegion result;
diff --git a/bench/RegionContainBench.cpp b/bench/RegionContainBench.cpp
index 961cbe3..0e28d41 100644
--- a/bench/RegionContainBench.cpp
+++ b/bench/RegionContainBench.cpp
@@ -5,10 +5,10 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkRandom.h"
-#include "SkRegion.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkRegion.h"
+#include "include/core/SkString.h"
+#include "include/utils/SkRandom.h"
 
 static bool sect_proc(SkRegion& a, SkRegion& b) {
     SkRegion result;
diff --git a/bench/RepeatTileBench.cpp b/bench/RepeatTileBench.cpp
index adec4f4..2614450 100644
--- a/bench/RepeatTileBench.cpp
+++ b/bench/RepeatTileBench.cpp
@@ -4,14 +4,14 @@
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file.
  */
-#include "Benchmark.h"
-#include "SkBitmap.h"
-#include "SkCanvas.h"
-#include "SkColorPriv.h"
-#include "SkPaint.h"
-#include "SkShader.h"
-#include "SkString.h"
-#include "ToolUtils.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkBitmap.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkColorPriv.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkShader.h"
+#include "include/core/SkString.h"
+#include "tools/ToolUtils.h"
 
 static void draw_into_bitmap(const SkBitmap& bm) {
     const int w = bm.width();
diff --git a/bench/ResultsWriter.h b/bench/ResultsWriter.h
index 41f3ae3..f525a5d 100644
--- a/bench/ResultsWriter.h
+++ b/bench/ResultsWriter.h
@@ -10,9 +10,9 @@
 #ifndef SkResultsWriter_DEFINED
 #define SkResultsWriter_DEFINED
 
-#include "SkJSONWriter.h"
-#include "SkString.h"
-#include "SkTypes.h"
+#include "include/core/SkString.h"
+#include "include/core/SkTypes.h"
+#include "src/utils/SkJSONWriter.h"
 
 /**
  NanoJSONResultsWriter helps nanobench writes the test results out in the following format:
diff --git a/bench/RotatedRectBench.cpp b/bench/RotatedRectBench.cpp
index db4a792..ac8f4e6 100644
--- a/bench/RotatedRectBench.cpp
+++ b/bench/RotatedRectBench.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkBlendModePriv.h"
-#include "SkCanvas.h"
-#include "SkGradientShader.h"
-#include "SkPaint.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPaint.h"
+#include "include/effects/SkGradientShader.h"
+#include "src/core/SkBlendModePriv.h"
 
 #include <ctype.h>
 
diff --git a/bench/SKPAnimationBench.cpp b/bench/SKPAnimationBench.cpp
index efa2c76..94169ab 100644
--- a/bench/SKPAnimationBench.cpp
+++ b/bench/SKPAnimationBench.cpp
@@ -5,10 +5,10 @@
  * found in the LICENSE file.
  */
 
-#include "SKPAnimationBench.h"
-#include "CommandLineFlags.h"
-#include "SkMultiPictureDraw.h"
-#include "SkSurface.h"
+#include "bench/SKPAnimationBench.h"
+#include "include/core/SkMultiPictureDraw.h"
+#include "include/core/SkSurface.h"
+#include "tools/flags/CommandLineFlags.h"
 
 SKPAnimationBench::SKPAnimationBench(const char* name, const SkPicture* pic, const SkIRect& clip,
                                      Animation* animation, bool doLooping)
diff --git a/bench/SKPAnimationBench.h b/bench/SKPAnimationBench.h
index b7a4ae1..5190dbf 100644
--- a/bench/SKPAnimationBench.h
+++ b/bench/SKPAnimationBench.h
@@ -8,8 +8,8 @@
 #ifndef SKPAnimationBench_DEFINED
 #define SKPAnimationBench_DEFINED
 
-#include "SKPBench.h"
-#include "Timer.h"
+#include "bench/SKPBench.h"
+#include "tools/timer/Timer.h"
 
 /**
  * Runs an SkPicture as a benchmark by repeatedly drawing it, first centering the picture and
diff --git a/bench/SKPBench.cpp b/bench/SKPBench.cpp
index 7617fe3..8543174 100644
--- a/bench/SKPBench.cpp
+++ b/bench/SKPBench.cpp
@@ -5,13 +5,13 @@
  * found in the LICENSE file.
  */
 
-#include "SKPBench.h"
-#include "CommandLineFlags.h"
-#include "SkMultiPictureDraw.h"
-#include "SkSurface.h"
+#include "bench/SKPBench.h"
+#include "include/core/SkMultiPictureDraw.h"
+#include "include/core/SkSurface.h"
+#include "tools/flags/CommandLineFlags.h"
 
-#include "GrContext.h"
-#include "GrContextPriv.h"
+#include "include/gpu/GrContext.h"
+#include "src/gpu/GrContextPriv.h"
 
 // These CPU tile sizes are not good per se, but they are similar to what Chrome uses.
 static DEFINE_int(CPUbenchTileW, 256, "Tile width  used for CPU SKP playback.");
@@ -150,7 +150,7 @@
     }
 }
 
-#include "GrGpu.h"
+#include "src/gpu/GrGpu.h"
 static void draw_pic_for_stats(SkCanvas* canvas, GrContext* context, const SkPicture* picture,
                                SkTArray<SkString>* keys, SkTArray<double>* values) {
     context->priv().resetGpuStats();
diff --git a/bench/SKPBench.h b/bench/SKPBench.h
index 6756c60..db0c3b3 100644
--- a/bench/SKPBench.h
+++ b/bench/SKPBench.h
@@ -8,10 +8,10 @@
 #ifndef SKPBench_DEFINED
 #define SKPBench_DEFINED
 
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkPicture.h"
-#include "SkTDArray.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPicture.h"
+#include "include/private/SkTDArray.h"
 
 class SkSurface;
 
diff --git a/bench/ScalarBench.cpp b/bench/ScalarBench.cpp
index 9d3b0ec..e1403f6 100644
--- a/bench/ScalarBench.cpp
+++ b/bench/ScalarBench.cpp
@@ -4,11 +4,11 @@
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file.
  */
-#include "Benchmark.h"
-#include "SkFloatBits.h"
-#include "SkRandom.h"
-#include "SkRect.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkString.h"
+#include "include/private/SkFloatBits.h"
+#include "include/utils/SkRandom.h"
 
 class ScalarBench : public Benchmark {
     SkString    fName;
diff --git a/bench/ShaderMaskFilterBench.cpp b/bench/ShaderMaskFilterBench.cpp
index 164d5dd..0e12858 100644
--- a/bench/ShaderMaskFilterBench.cpp
+++ b/bench/ShaderMaskFilterBench.cpp
@@ -5,13 +5,13 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkPaint.h"
-#include "SkPictureRecorder.h"
-#include "SkPictureShader.h"
-#include "SkShaderMaskFilter.h"
-#include "SkSurface.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkPictureRecorder.h"
+#include "include/core/SkSurface.h"
+#include "include/effects/SkShaderMaskFilter.h"
+#include "src/shaders/SkPictureShader.h"
 
 static sk_sp<SkShader> make_bitmap_shader() {
     SkPaint p;
diff --git a/bench/ShadowBench.cpp b/bench/ShadowBench.cpp
index 072af66..13c1050 100644
--- a/bench/ShadowBench.cpp
+++ b/bench/ShadowBench.cpp
@@ -4,12 +4,12 @@
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file.
  */
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkDrawShadowInfo.h"
-#include "SkPaint.h"
-#include "SkPath.h"
-#include "SkShadowUtils.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkPath.h"
+#include "include/utils/SkShadowUtils.h"
+#include "src/core/SkDrawShadowInfo.h"
 
 class ShadowBench : public Benchmark {
 // Draws a set of shadowed rrects filling the canvas, in various modes:
diff --git a/bench/ShapesBench.cpp b/bench/ShapesBench.cpp
index 9c21f5c..9b4e99ff 100644
--- a/bench/ShapesBench.cpp
+++ b/bench/ShapesBench.cpp
@@ -5,13 +5,13 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "CommandLineFlags.h"
-#include "SkCanvas.h"
-#include "SkPaint.h"
-#include "SkRRect.h"
-#include "SkRandom.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkRRect.h"
+#include "include/core/SkString.h"
+#include "include/utils/SkRandom.h"
+#include "tools/flags/CommandLineFlags.h"
 
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/bench/Sk4fBench.cpp b/bench/Sk4fBench.cpp
index a932c29..7241259 100644
--- a/bench/Sk4fBench.cpp
+++ b/bench/Sk4fBench.cpp
@@ -5,9 +5,9 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkColor.h"
-#include "SkNx.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkColor.h"
+#include "include/private/SkNx.h"
 
 // Writing into this array prevents the loops from being compiled away.
 static volatile float blackhole[4];
diff --git a/bench/SkGlyphCacheBench.cpp b/bench/SkGlyphCacheBench.cpp
index fca0381..e692588 100644
--- a/bench/SkGlyphCacheBench.cpp
+++ b/bench/SkGlyphCacheBench.cpp
@@ -6,15 +6,15 @@
  */
 
 
-#include "SkStrike.h"
+#include "src/core/SkStrike.h"
 
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkGraphics.h"
-#include "SkStrikeCache.h"
-#include "SkTaskGroup.h"
-#include "SkTypeface.h"
-#include "ToolUtils.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkGraphics.h"
+#include "include/core/SkTypeface.h"
+#include "src/core/SkStrikeCache.h"
+#include "src/core/SkTaskGroup.h"
+#include "tools/ToolUtils.h"
 
 static void do_font_stuff(SkFont* font) {
     SkPaint defaultPaint;
diff --git a/bench/SortBench.cpp b/bench/SortBench.cpp
index e380c78..6933ee2 100644
--- a/bench/SortBench.cpp
+++ b/bench/SortBench.cpp
@@ -5,10 +5,10 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkRandom.h"
-#include "SkString.h"
-#include "SkTSort.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkString.h"
+#include "include/utils/SkRandom.h"
+#include "src/core/SkTSort.h"
 
 #include <algorithm>
 #include <stdlib.h>
diff --git a/bench/StreamBench.cpp b/bench/StreamBench.cpp
index e89b207..5288e17 100644
--- a/bench/StreamBench.cpp
+++ b/bench/StreamBench.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkStream.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkStream.h"
 
 class StreamBench : public Benchmark {
     SkString    fName;
diff --git a/bench/StrokeBench.cpp b/bench/StrokeBench.cpp
index 63199d0..c543bf8 100644
--- a/bench/StrokeBench.cpp
+++ b/bench/StrokeBench.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkPaint.h"
-#include "SkPath.h"
-#include "SkRandom.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkPath.h"
+#include "include/core/SkString.h"
+#include "include/utils/SkRandom.h"
 
 class StrokeBench : public Benchmark {
 public:
diff --git a/bench/SwizzleBench.cpp b/bench/SwizzleBench.cpp
index c634547..ee6f220 100644
--- a/bench/SwizzleBench.cpp
+++ b/bench/SwizzleBench.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkOpts.h"
+#include "bench/Benchmark.h"
+#include "src/core/SkOpts.h"
 
 class SwizzleBench : public Benchmark {
 public:
diff --git a/bench/TableBench.cpp b/bench/TableBench.cpp
index 346aba8..33654c0 100644
--- a/bench/TableBench.cpp
+++ b/bench/TableBench.cpp
@@ -5,9 +5,9 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkRect.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkRect.h"
 
 static const SkScalar kCellWidth = SkIntToScalar(20);
 static const SkScalar kCellHeight = SkIntToScalar(10);
diff --git a/bench/TextBlobBench.cpp b/bench/TextBlobBench.cpp
index a52b09c..73e6960 100644
--- a/bench/TextBlobBench.cpp
+++ b/bench/TextBlobBench.cpp
@@ -5,19 +5,19 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "Resources.h"
-#include "SkCanvas.h"
-#include "SkFont.h"
-#include "SkPaint.h"
-#include "SkRandom.h"
-#include "SkStream.h"
-#include "SkString.h"
-#include "SkTemplates.h"
-#include "SkTextBlob.h"
-#include "SkTypeface.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkFont.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkStream.h"
+#include "include/core/SkString.h"
+#include "include/core/SkTextBlob.h"
+#include "include/core/SkTypeface.h"
+#include "include/private/SkTemplates.h"
+#include "include/utils/SkRandom.h"
+#include "tools/Resources.h"
 
-#include "ToolUtils.h"
+#include "tools/ToolUtils.h"
 
 /*
  * A trivial test which benchmarks the performance of a textblob with a single run.
diff --git a/bench/TileBench.cpp b/bench/TileBench.cpp
index 0679587..0a944dd 100644
--- a/bench/TileBench.cpp
+++ b/bench/TileBench.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkBitmap.h"
-#include "SkCanvas.h"
-#include "SkShader.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkBitmap.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkShader.h"
+#include "include/core/SkString.h"
 
 static void create_gradient(SkBitmap* bm) {
     SkASSERT(1 == bm->width());
diff --git a/bench/TileImageFilterBench.cpp b/bench/TileImageFilterBench.cpp
index b9b38ed..6f437bc 100644
--- a/bench/TileImageFilterBench.cpp
+++ b/bench/TileImageFilterBench.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkTileImageFilter.h"
-#include "SkCanvas.h"
-#include "SkPaint.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkString.h"
+#include "include/effects/SkTileImageFilter.h"
 
 #define WIDTH 512
 #define HEIGHT 512
diff --git a/bench/TopoSortBench.cpp b/bench/TopoSortBench.cpp
index d0b6202..712d37f 100644
--- a/bench/TopoSortBench.cpp
+++ b/bench/TopoSortBench.cpp
@@ -5,12 +5,12 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkRandom.h"
-#include "SkString.h"
-#include "SkTTopoSort.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkString.h"
+#include "include/utils/SkRandom.h"
+#include "src/core/SkTTopoSort.h"
 
-#include "ToolUtils.h"
+#include "tools/ToolUtils.h"
 
 class TopoSortBench : public Benchmark {
 public:
diff --git a/bench/TypefaceBench.cpp b/bench/TypefaceBench.cpp
index 00b19d2..711bb6a 100644
--- a/bench/TypefaceBench.cpp
+++ b/bench/TypefaceBench.cpp
@@ -7,12 +7,12 @@
 
 #include <vector>
 
-#include "Benchmark.h"
-#include "SkFont.h"
-#include "SkMakeUnique.h"
-#include "SkTypeface.h"
-#include "SkUTF.h"
-#include "SkUtils.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkFont.h"
+#include "include/core/SkTypeface.h"
+#include "src/core/SkMakeUnique.h"
+#include "src/core/SkUtils.h"
+#include "src/utils/SkUTF.h"
 
 // From Project Guttenberg. This is UTF-8 text.
 static const char* atext[] = {
diff --git a/bench/VertBench.cpp b/bench/VertBench.cpp
index a49d3a8..1834408 100644
--- a/bench/VertBench.cpp
+++ b/bench/VertBench.cpp
@@ -5,13 +5,13 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkPaint.h"
-#include "SkRandom.h"
-#include "SkShader.h"
-#include "SkString.h"
-#include "SkVertices.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkShader.h"
+#include "include/core/SkString.h"
+#include "include/core/SkVertices.h"
+#include "include/utils/SkRandom.h"
 
 enum VertFlags {
     kColors_VertFlag,
@@ -95,9 +95,9 @@
 
 /////////////////////////////////////////////////////////////////////////////////////////////////
 
-#include "Resources.h"
-#include "SkRandom.h"
-#include "SkRSXform.h"
+#include "include/core/SkRSXform.h"
+#include "include/utils/SkRandom.h"
+#include "tools/Resources.h"
 
 enum AtlasFlags {
     kColors_Flag = 1 << 0,
diff --git a/bench/VertexColorSpaceBench.cpp b/bench/VertexColorSpaceBench.cpp
index b203d2f..33d2a6a 100644
--- a/bench/VertexColorSpaceBench.cpp
+++ b/bench/VertexColorSpaceBench.cpp
@@ -5,24 +5,24 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
+#include "bench/Benchmark.h"
 
-#include "GrContext.h"
-#include "GrContextPriv.h"
-#include "GrGeometryProcessor.h"
-#include "GrMemoryPool.h"
-#include "GrRenderTargetContext.h"
-#include "GrRenderTargetContextPriv.h"
-#include "SkColorSpacePriv.h"
-#include "SkGr.h"
-#include "SkHalf.h"
-#include "SkString.h"
-#include "glsl/GrGLSLColorSpaceXformHelper.h"
-#include "glsl/GrGLSLFragmentShaderBuilder.h"
-#include "glsl/GrGLSLGeometryProcessor.h"
-#include "glsl/GrGLSLVarying.h"
-#include "glsl/GrGLSLVertexGeoBuilder.h"
-#include "ops/GrMeshDrawOp.h"
+#include "include/core/SkString.h"
+#include "include/gpu/GrContext.h"
+#include "include/private/SkHalf.h"
+#include "src/core/SkColorSpacePriv.h"
+#include "src/gpu/GrContextPriv.h"
+#include "src/gpu/GrGeometryProcessor.h"
+#include "src/gpu/GrMemoryPool.h"
+#include "src/gpu/GrRenderTargetContext.h"
+#include "src/gpu/GrRenderTargetContextPriv.h"
+#include "src/gpu/SkGr.h"
+#include "src/gpu/glsl/GrGLSLColorSpaceXformHelper.h"
+#include "src/gpu/glsl/GrGLSLFragmentShaderBuilder.h"
+#include "src/gpu/glsl/GrGLSLGeometryProcessor.h"
+#include "src/gpu/glsl/GrGLSLVarying.h"
+#include "src/gpu/glsl/GrGLSLVertexGeoBuilder.h"
+#include "src/gpu/ops/GrMeshDrawOp.h"
 
 namespace {
 
diff --git a/bench/WritePixelsBench.cpp b/bench/WritePixelsBench.cpp
index 39ceb1f..6d532b0 100644
--- a/bench/WritePixelsBench.cpp
+++ b/bench/WritePixelsBench.cpp
@@ -5,10 +5,10 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkBitmap.h"
-#include "SkCanvas.h"
-#include "SkString.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkBitmap.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkString.h"
 
 // Time variants of write-pixels
 //  [ colortype ][ alphatype ][ colorspace ]
diff --git a/bench/WriterBench.cpp b/bench/WriterBench.cpp
index 78c5d8b..40cc1a8 100644
--- a/bench/WriterBench.cpp
+++ b/bench/WriterBench.cpp
@@ -5,9 +5,9 @@
  * found in the LICENSE file.
  */
 
-#include "Benchmark.h"
-#include "SkCanvas.h"
-#include "SkWriter32.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkCanvas.h"
+#include "src/core/SkWriter32.h"
 
 class WriterBench : public Benchmark {
 public:
diff --git a/bench/nanobench.cpp b/bench/nanobench.cpp
index bd61d34..936265a 100644
--- a/bench/nanobench.cpp
+++ b/bench/nanobench.cpp
@@ -7,47 +7,47 @@
 
 #include <ctype.h>
 
-#include "nanobench.h"
+#include "bench/nanobench.h"
 
-#include "AndroidCodecBench.h"
-#include "Benchmark.h"
-#include "BitmapRegionDecoderBench.h"
-#include "CodecBench.h"
-#include "CodecBenchPriv.h"
-#include "CommonFlags.h"
-#include "CommonFlagsConfig.h"
-#include "CrashHandler.h"
-#include "EventTracingPriv.h"
-#include "GMBench.h"
-#include "ProcStats.h"
-#include "RecordingBench.h"
-#include "ResultsWriter.h"
-#include "SKPAnimationBench.h"
-#include "SKPBench.h"
-#include "SkAndroidCodec.h"
-#include "SkAutoMalloc.h"
-#include "SkBBoxHierarchy.h"
-#include "SkBitmapRegionDecoder.h"
-#include "SkCanvas.h"
-#include "SkCodec.h"
-#include "SkColorSpacePriv.h"
-#include "SkData.h"
-#include "SkDebugfTracer.h"
-#include "SkGraphics.h"
-#include "SkJSONWriter.h"
-#include "SkLeanWindows.h"
-#include "SkOSFile.h"
-#include "SkOSPath.h"
-#include "SkPictureRecorder.h"
-#include "SkString.h"
-#include "SkSurface.h"
-#include "SkTaskGroup.h"
-#include "SkTraceEvent.h"
-#include "Stats.h"
-#include "ios_utils.h"
+#include "bench/AndroidCodecBench.h"
+#include "bench/Benchmark.h"
+#include "bench/BitmapRegionDecoderBench.h"
+#include "bench/CodecBench.h"
+#include "bench/CodecBenchPriv.h"
+#include "bench/GMBench.h"
+#include "bench/RecordingBench.h"
+#include "bench/ResultsWriter.h"
+#include "bench/SKPAnimationBench.h"
+#include "bench/SKPBench.h"
+#include "include/android/SkBitmapRegionDecoder.h"
+#include "include/codec/SkAndroidCodec.h"
+#include "include/codec/SkCodec.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkData.h"
+#include "include/core/SkGraphics.h"
+#include "include/core/SkPictureRecorder.h"
+#include "include/core/SkString.h"
+#include "include/core/SkSurface.h"
+#include "include/private/SkLeanWindows.h"
+#include "src/core/SkAutoMalloc.h"
+#include "src/core/SkBBoxHierarchy.h"
+#include "src/core/SkColorSpacePriv.h"
+#include "src/core/SkOSFile.h"
+#include "src/core/SkTaskGroup.h"
+#include "src/core/SkTraceEvent.h"
+#include "src/utils/SkJSONWriter.h"
+#include "src/utils/SkOSPath.h"
+#include "tools/CrashHandler.h"
+#include "tools/ProcStats.h"
+#include "tools/Stats.h"
+#include "tools/flags/CommonFlags.h"
+#include "tools/flags/CommonFlagsConfig.h"
+#include "tools/ios_utils.h"
+#include "tools/trace/EventTracingPriv.h"
+#include "tools/trace/SkDebugfTracer.h"
 
 #ifdef SK_XML
-#include "SkSVGDOM.h"
+#include "experimental/svg/model/SkSVGDOM.h"
 #endif  // SK_XML
 
 #include <stdlib.h>
@@ -60,13 +60,13 @@
 
 #endif
 
-#include "GrCaps.h"
-#include "GrContextFactory.h"
-#include "GrContextPriv.h"
-#include "SkGr.h"
-#include "gl/GrGLDefines.h"
-#include "gl/GrGLGpu.h"
-#include "gl/GrGLUtil.h"
+#include "src/gpu/GrCaps.h"
+#include "src/gpu/GrContextPriv.h"
+#include "src/gpu/SkGr.h"
+#include "src/gpu/gl/GrGLDefines.h"
+#include "src/gpu/gl/GrGLGpu.h"
+#include "src/gpu/gl/GrGLUtil.h"
+#include "tools/gpu/GrContextFactory.h"
 
 using sk_gpu_test::ContextInfo;
 using sk_gpu_test::GrContextFactory;
diff --git a/bench/nanobench.h b/bench/nanobench.h
index fe63e04..73bcd3c 100644
--- a/bench/nanobench.h
+++ b/bench/nanobench.h
@@ -8,11 +8,11 @@
 #ifndef nanobench_DEFINED
 #define nanobench_DEFINED
 
-#include "Benchmark.h"
-#include "GrContextFactory.h"
-#include "SkImageInfo.h"
-#include "SkSurface.h"
-#include "SkTypes.h"
+#include "bench/Benchmark.h"
+#include "include/core/SkImageInfo.h"
+#include "include/core/SkSurface.h"
+#include "include/core/SkTypes.h"
+#include "tools/gpu/GrContextFactory.h"
 
 class SkBitmap;
 class SkCanvas;