Merge third_party/skia/include from https://chromium.googlesource.com/external/skia/include.git at fa2a9d0672d7d30bb37b8fc2e62b5c93e2fa314c

This commit was generated by merge_from_chromium.py.

Change-Id: I9001c1d165f951b9409a94a9eaa6f43f38ebef6f
diff --git a/core/SkSurface.h b/core/SkSurface.h
index 542c9a0..d049d8c 100644
--- a/core/SkSurface.h
+++ b/core/SkSurface.h
@@ -56,15 +56,31 @@
     }
 
     /**
+     *  Text rendering modes that can be passed to NewRenderTarget*
+     */
+    enum TextRenderMode {
+        /**
+         *  This will use the standard text rendering method
+         */
+        kStandard_TextRenderMode,
+        /**
+         *  This will use signed distance fields for text rendering when possible
+         */
+        kDistanceField_TextRenderMode,
+    };
+
+    /**
      *  Return a new surface using the specified render target.
      */
-    static SkSurface* NewRenderTargetDirect(GrRenderTarget*);
+    static SkSurface* NewRenderTargetDirect(GrRenderTarget*,
+                                            TextRenderMode trm = kStandard_TextRenderMode);
 
     /**
      *  Return a new surface whose contents will be drawn to an offscreen
      *  render target, allocated by the surface.
      */
-    static SkSurface* NewRenderTarget(GrContext*, const SkImageInfo&, int sampleCount = 0);
+    static SkSurface* NewRenderTarget(GrContext*, const SkImageInfo&, int sampleCount = 0,
+                                      TextRenderMode trm = kStandard_TextRenderMode);
 
     /**
      *  Return a new surface whose contents will be drawn to an offscreen
@@ -78,7 +94,8 @@
      *  Note: Scratch textures count against the GrContext's cached resource
      *  budget.
      */
-    static SkSurface* NewScratchRenderTarget(GrContext*, const SkImageInfo&, int sampleCount = 0);
+    static SkSurface* NewScratchRenderTarget(GrContext*, const SkImageInfo&, int sampleCount = 0,
+                                             TextRenderMode trm = kStandard_TextRenderMode);
 
     int width() const { return fWidth; }
     int height() const { return fHeight; }
diff --git a/gpu/SkGpuDevice.h b/gpu/SkGpuDevice.h
index 7f564de..8042ed3 100644
--- a/gpu/SkGpuDevice.h
+++ b/gpu/SkGpuDevice.h
@@ -32,6 +32,7 @@
     enum Flags {
         kNeedClear_Flag = 1 << 0,  //!< Surface requires an initial clear
         kCached_Flag    = 1 << 1,  //!< Surface is cached and needs to be unlocked when released
+        kDFFonts_Flag   = 1 << 2,  //!< Surface should render fonts using signed distance fields
     };
 
     /**