summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@collabora.com>2019-10-12 16:32:21 +0200
committerLuboš Luňák <l.lunak@collabora.com>2019-11-27 09:55:05 +0100
commitceec41680fe1b06b778c3a73af21434f3b9496d4 (patch)
treee76cdced824f7c922eee1b5b4a164f176c876bb8
parentf802eab41b59f3395bc43d6147f4b4534607fb61 (diff)
add PCH to Skia
Change-Id: I0aa96bec7319010ff4749e3ab5c0ceef3dc55766
-rwxr-xr-xbin/update_pch16
-rw-r--r--external/skia/Library_skia.mk2
-rw-r--r--external/skia/inc/pch/precompiled_skia.cxx12
-rw-r--r--external/skia/inc/pch/precompiled_skia.hxx972
4 files changed, 1002 insertions, 0 deletions
diff --git a/bin/update_pch b/bin/update_pch
index 6112fc654555..31fcadae763d 100755
--- a/bin/update_pch
+++ b/bin/update_pch
@@ -298,6 +298,12 @@ class Filter_Local(object):
def proc(self, line):
assert line and len(line)
+
+ if line[0] == '#':
+ if not SILENT:
+ sys.stderr.write('unhandled #include : {}\n'.format(line))
+ return ''
+
assert line[0] != '<' and line[0] != '#'
filename = get_filename(line)
@@ -436,6 +442,16 @@ def filter_ignore(line, module):
'error.h',
'CLucene/LuceneThreads.h',
'CLucene/config/_threads.h'
+ if module == 'external/skia':
+ ignore_list += [
+ 'skcms_internal.h',
+ 'zlib.h', # causes crc32 conflict
+ 'dirent.h', # unix-specific
+ 'pthread.h',
+ 'unistd.h',
+ 'ft2build.h',
+ 'fontconfig/fontconfig.h',
+ 'GL/glx.h'
]
for i in ignore_list:
diff --git a/external/skia/Library_skia.mk b/external/skia/Library_skia.mk
index e5590cbc613a..cb8a05c4c9d1 100644
--- a/external/skia/Library_skia.mk
+++ b/external/skia/Library_skia.mk
@@ -13,6 +13,8 @@ $(eval $(call gb_Library_set_warnings_disabled,skia))
$(eval $(call gb_Library_use_unpacked,skia,skia))
+$(eval $(call gb_Library_set_precompiled_header,skia,external/skia/inc/pch/precompiled_skia))
+
$(eval $(call gb_Library_add_defs,skia,\
-DSK_GAMMA_SRGB \
-DSK_GAMMA_APPLY_TO_A8 \
diff --git a/external/skia/inc/pch/precompiled_skia.cxx b/external/skia/inc/pch/precompiled_skia.cxx
new file mode 100644
index 000000000000..8892e30fd775
--- /dev/null
+++ b/external/skia/inc/pch/precompiled_skia.cxx
@@ -0,0 +1,12 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include "precompiled_skia.hxx"
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/external/skia/inc/pch/precompiled_skia.hxx b/external/skia/inc/pch/precompiled_skia.hxx
new file mode 100644
index 000000000000..5f40d7a38273
--- /dev/null
+++ b/external/skia/inc/pch/precompiled_skia.hxx
@@ -0,0 +1,972 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+/*
+ This file has been autogenerated by update_pch.sh. It is possible to edit it
+ manually (such as when an include file has been moved/renamed/removed). All such
+ manual changes will be rewritten by the next run of update_pch.sh (which presumably
+ also fixes all possible problems, so it's usually better to use it).
+
+ Generated on 2019-09-26 11:31:14 using:
+ ./bin/update_pch external/skia skia --cutoff=1 --exclude:system --include:module --include:local
+
+ If after updating build fails, use the following command to locate conflicting headers:
+ ./bin/update_pch_bisect ./external/skia/inc/pch/precompiled_skia.hxx "make external/skia.build" --find-conflicts
+*/
+
+#if PCH_LEVEL >= 1
+#include <algorithm>
+#include <assert.h>
+#include <atomic>
+#include <cctype>
+#include <cfloat>
+#include <chrono>
+#include <climits>
+#include <cmath>
+#include <cstddef>
+#include <cstdio>
+#include <cstdlib>
+#include <cstring>
+#include <ctype.h>
+#include <deque>
+#include <errno.h>
+#include <float.h>
+#include <functional>
+#include <initializer_list>
+#include <inttypes.h>
+#include <iterator>
+#include <limits.h>
+#include <limits>
+#include <locale>
+#include <memory>
+#include <new>
+#include <png.h>
+#include <queue>
+#include <set>
+#include <skcms.h>
+#include <sstream>
+#include <stdarg.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <string>
+#include <thread>
+#include <tuple>
+#include <type_traits>
+#include <unordered_map>
+#include <unordered_set>
+#include <utility>
+#include <vector>
+#endif // PCH_LEVEL >= 1
+#if PCH_LEVEL >= 2
+#include <rtl/alloc.h>
+#include <sal/log.hxx>
+#endif // PCH_LEVEL >= 2
+#if PCH_LEVEL >= 3
+#include <include/c/sk_canvas.h>
+#include <include/c/sk_colorspace.h>
+#include <include/c/sk_data.h>
+#include <include/c/sk_image.h>
+#include <include/c/sk_imageinfo.h>
+#include <include/c/sk_maskfilter.h>
+#include <include/c/sk_paint.h>
+#include <include/c/sk_path.h>
+#include <include/c/sk_picture.h>
+#include <include/c/sk_shader.h>
+#include <include/c/sk_surface.h>
+#include <include/codec/SkAndroidCodec.h>
+#include <include/codec/SkCodec.h>
+#include <include/codec/SkCodecAnimation.h>
+#include <include/core/SkAnnotation.h>
+#include <include/core/SkBBHFactory.h>
+#include <include/core/SkBitmap.h>
+#include <include/core/SkBlendMode.h>
+#include <include/core/SkCanvas.h>
+#include <include/core/SkColor.h>
+#include <include/core/SkColorFilter.h>
+#include <include/core/SkColorPriv.h>
+#include <include/core/SkColorSpace.h>
+#include <include/core/SkContourMeasure.h>
+#include <include/core/SkCubicMap.h>
+#include <include/core/SkData.h>
+#include <include/core/SkDataTable.h>
+#include <include/core/SkDeferredDisplayListRecorder.h>
+#include <include/core/SkDeque.h>
+#include <include/core/SkDocument.h>
+#include <include/core/SkDrawLooper.h>
+#include <include/core/SkDrawable.h>
+#include <include/core/SkExecutor.h>
+#include <include/core/SkFilterQuality.h>
+#include <include/core/SkFlattenable.h>
+#include <include/core/SkFont.h>
+#include <include/core/SkFontLCDConfig.h>
+#include <include/core/SkFontMetrics.h>
+#include <include/core/SkFontMgr.h>
+#include <include/core/SkFontStyle.h>
+#include <include/core/SkFontTypes.h>
+#include <include/core/SkGraphics.h>
+#include <include/core/SkICC.h>
+#include <include/core/SkImage.h>
+#include <include/core/SkImageEncoder.h>
+#include <include/core/SkImageFilter.h>
+#include <include/core/SkImageGenerator.h>
+#include <include/core/SkImageInfo.h>
+#include <include/core/SkMallocPixelRef.h>
+#include <include/core/SkMaskFilter.h>
+#include <include/core/SkMath.h>
+#include <include/core/SkMatrix.h>
+#include <include/core/SkMatrix44.h>
+#include <include/core/SkMilestone.h>
+#include <include/core/SkMultiPictureDraw.h>
+#include <include/core/SkOverdrawCanvas.h>
+#include <include/core/SkPaint.h>
+#include <include/core/SkPath.h>
+#include <include/core/SkPathEffect.h>
+#include <include/core/SkPathMeasure.h>
+#include <include/core/SkPicture.h>
+#include <include/core/SkPictureRecorder.h>
+#include <include/core/SkPixelRef.h>
+#include <include/core/SkPixmap.h>
+#include <include/core/SkPoint.h>
+#include <include/core/SkPoint3.h>
+#include <include/core/SkPromiseImageTexture.h>
+#include <include/core/SkRRect.h>
+#include <include/core/SkRSXform.h>
+#include <include/core/SkRWBuffer.h>
+#include <include/core/SkRasterHandleAllocator.h>
+#include <include/core/SkRect.h>
+#include <include/core/SkRefCnt.h>
+#include <include/core/SkRegion.h>
+#include <include/core/SkScalar.h>
+#include <include/core/SkSerialProcs.h>
+#include <include/core/SkShader.h>
+#include <include/core/SkSize.h>
+#include <include/core/SkStream.h>
+#include <include/core/SkString.h>
+#include <include/core/SkStrokeRec.h>
+#include <include/core/SkSurface.h>
+#include <include/core/SkSurfaceCharacterization.h>
+#include <include/core/SkSurfaceProps.h>
+#include <include/core/SkSwizzle.h>
+#include <include/core/SkTextBlob.h>
+#include <include/core/SkTime.h>
+#include <include/core/SkTraceMemoryDump.h>
+#include <include/core/SkTypeface.h>
+#include <include/core/SkTypes.h>
+#include <include/core/SkUnPreMultiply.h>
+#include <include/core/SkVertices.h>
+#include <include/core/SkYUVAIndex.h>
+#include <include/core/SkYUVASizeInfo.h>
+#include <include/docs/SkPDFDocument.h>
+#include <include/effects/Sk1DPathEffect.h>
+#include <include/effects/Sk2DPathEffect.h>
+#include <include/effects/SkAlphaThresholdFilter.h>
+#include <include/effects/SkArithmeticImageFilter.h>
+#include <include/effects/SkBlurDrawLooper.h>
+#include <include/effects/SkBlurImageFilter.h>
+#include <include/effects/SkBlurMaskFilter.h>
+#include <include/effects/SkColorFilterImageFilter.h>
+#include <include/effects/SkColorMatrix.h>
+#include <include/effects/SkColorMatrixFilter.h>
+#include <include/effects/SkComposeImageFilter.h>
+#include <include/effects/SkCornerPathEffect.h>
+#include <include/effects/SkDashPathEffect.h>
+#include <include/effects/SkDiscretePathEffect.h>
+#include <include/effects/SkDisplacementMapEffect.h>
+#include <include/effects/SkDropShadowImageFilter.h>
+#include <include/effects/SkGradientShader.h>
+#include <include/effects/SkHighContrastFilter.h>
+#include <include/effects/SkImageSource.h>
+#include <include/effects/SkLayerDrawLooper.h>
+#include <include/effects/SkLightingImageFilter.h>
+#include <include/effects/SkLumaColorFilter.h>
+#include <include/effects/SkMagnifierImageFilter.h>
+#include <include/effects/SkMatrixConvolutionImageFilter.h>
+#include <include/effects/SkMergeImageFilter.h>
+#include <include/effects/SkMorphologyImageFilter.h>
+#include <include/effects/SkOffsetImageFilter.h>
+#include <include/effects/SkOverdrawColorFilter.h>
+#include <include/effects/SkPaintImageFilter.h>
+#include <include/effects/SkPerlinNoiseShader.h>
+#include <include/effects/SkPictureImageFilter.h>
+#include <include/effects/SkShaderMaskFilter.h>
+#include <include/effects/SkTableColorFilter.h>
+#include <include/effects/SkTableMaskFilter.h>
+#include <include/effects/SkTileImageFilter.h>
+#include <include/effects/SkTrimPathEffect.h>
+#include <include/effects/SkXfermodeImageFilter.h>
+#include <include/encode/SkJpegEncoder.h>
+#include <include/encode/SkPngEncoder.h>
+#include <include/encode/SkWebpEncoder.h>
+#include <include/gpu/GrBackendDrawableInfo.h>
+#include <include/gpu/GrBackendSemaphore.h>
+#include <include/gpu/GrBackendSurface.h>
+#include <include/gpu/GrBlend.h>
+#include <include/gpu/GrConfig.h>
+#include <include/gpu/GrContext.h>
+#include <include/gpu/GrContextOptions.h>
+#include <include/gpu/GrContextThreadSafeProxy.h>
+#include <include/gpu/GrDriverBugWorkarounds.h>
+#include <include/gpu/GrGpuResource.h>
+#include <include/gpu/GrRenderTarget.h>
+#include <include/gpu/GrSamplerState.h>
+#include <include/gpu/GrSurface.h>
+#include <include/gpu/GrTexture.h>
+#include <include/gpu/GrTypes.h>
+#include <include/gpu/gl/GrGLAssembleHelpers.h>
+#include <include/gpu/gl/GrGLAssembleInterface.h>
+#include <include/gpu/gl/GrGLExtensions.h>
+#include <include/gpu/gl/GrGLInterface.h>
+#include <include/gpu/mock/GrMockTypes.h>
+#include <include/gpu/vk/GrVkBackendContext.h>
+#include <include/gpu/vk/GrVkExtensions.h>
+#include <include/gpu/vk/GrVkTypes.h>
+#include <include/ports/SkFontMgr_indirect.h>
+#include <include/ports/SkRemotableFontMgr.h>
+#include <include/private/GrContext_Base.h>
+#include <include/private/GrGLTypesPriv.h>
+#include <include/private/GrImageContext.h>
+#include <include/private/GrRecordingContext.h>
+#include <include/private/GrResourceKey.h>
+#include <include/private/GrSingleOwner.h>
+#include <include/private/GrTypesPriv.h>
+#include <include/private/GrVkTypesPriv.h>
+#include <include/private/SkBitmaskEnum.h>
+#include <include/private/SkChecksum.h>
+#include <include/private/SkColorData.h>
+#include <include/private/SkDeferredDisplayList.h>
+#include <include/private/SkEncodedInfo.h>
+#include <include/private/SkFixed.h>
+#include <include/private/SkFloatBits.h>
+#include <include/private/SkFloatingPoint.h>
+#include <include/private/SkHalf.h>
+#include <include/private/SkImageInfoPriv.h>
+#include <include/private/SkMacros.h>
+#include <include/private/SkMalloc.h>
+#include <include/private/SkMutex.h>
+#include <include/private/SkNx.h>
+#include <include/private/SkOnce.h>
+#include <include/private/SkPathRef.h>
+#include <include/private/SkSafe32.h>
+#include <include/private/SkSemaphore.h>
+#include <include/private/SkShadowFlags.h>
+#include <include/private/SkSpinlock.h>
+#include <include/private/SkTArray.h>
+#include <include/private/SkTDArray.h>
+#include <include/private/SkTFitsIn.h>
+#include <include/private/SkTHash.h>
+#include <include/private/SkTemplates.h>
+#include <include/private/SkThreadID.h>
+#include <include/private/SkTo.h>
+#include <include/private/SkVx.h>
+#include <include/third_party/skcms/skcms.h>
+#include <include/utils/Sk3D.h>
+#include <include/utils/SkBase64.h>
+#include <include/utils/SkCamera.h>
+#include <include/utils/SkCanvasStateUtils.h>
+#include <include/utils/SkEventTracer.h>
+#include <include/utils/SkFrontBufferedStream.h>
+#include <include/utils/SkInterpolator.h>
+#include <include/utils/SkNWayCanvas.h>
+#include <include/utils/SkNoDrawCanvas.h>
+#include <include/utils/SkNullCanvas.h>
+#include <include/utils/SkPaintFilterCanvas.h>
+#include <include/utils/SkParse.h>
+#include <include/utils/SkParsePath.h>
+#include <include/utils/SkRandom.h>
+#include <include/utils/SkShadowUtils.h>
+#include <include/utils/SkTextUtils.h>
+#include <src/codec/SkAndroidCodecAdapter.h>
+#include <src/codec/SkBmpBaseCodec.h>
+#include <src/codec/SkBmpCodec.h>
+#include <src/codec/SkBmpMaskCodec.h>
+#include <src/codec/SkBmpRLECodec.h>
+#include <src/codec/SkBmpStandardCodec.h>
+#include <src/codec/SkCodecImageGenerator.h>
+#include <src/codec/SkCodecPriv.h>
+#include <src/codec/SkColorTable.h>
+#include <src/codec/SkFrameHolder.h>
+#include <src/codec/SkGifCodec.h>
+#include <src/codec/SkIcoCodec.h>
+#include <src/codec/SkJpegCodec.h>
+#include <src/codec/SkJpegDecoderMgr.h>
+#include <src/codec/SkJpegUtility.h>
+#include <src/codec/SkMaskSwizzler.h>
+#include <src/codec/SkMasks.h>
+#include <src/codec/SkPngCodec.h>
+#include <src/codec/SkPngPriv.h>
+#include <src/codec/SkRawCodec.h>
+#include <src/codec/SkSampledCodec.h>
+#include <src/codec/SkSampler.h>
+#include <src/codec/SkStreamBuffer.h>
+#include <src/codec/SkSwizzler.h>
+#include <src/codec/SkWbmpCodec.h>
+#include <src/codec/SkWebpCodec.h>
+#include <src/core/SkAAClip.h>
+#include <src/core/SkATrace.h>
+#include <src/core/SkAdvancedTypefaceMetrics.h>
+#include <src/core/SkAnalyticEdge.h>
+#include <src/core/SkAnnotationKeys.h>
+#include <src/core/SkAntiRun.h>
+#include <src/core/SkArenaAlloc.h>
+#include <src/core/SkAutoBlitterChoose.h>
+#include <src/core/SkAutoMalloc.h>
+#include <src/core/SkAutoPixmapStorage.h>
+#include <src/core/SkBBoxHierarchy.h>
+#include <src/core/SkBigPicture.h>
+#include <src/core/SkBitmapCache.h>
+#include <src/core/SkBitmapController.h>
+#include <src/core/SkBitmapDevice.h>
+#include <src/core/SkBitmapProcState.h>
+#include <src/core/SkBitmapProvider.h>
+#include <src/core/SkBlendModePriv.h>
+#include <src/core/SkBlitRow.h>
+#include <src/core/SkBlitter.h>
+#include <src/core/SkBlurMask.h>
+#include <src/core/SkBlurPriv.h>
+#include <src/core/SkBuffer.h>
+#include <src/core/SkCachedData.h>
+#include <src/core/SkCanvasPriv.h>
+#include <src/core/SkClipOpPriv.h>
+#include <src/core/SkClipStack.h>
+#include <src/core/SkClipStackDevice.h>
+#include <src/core/SkColorFilterPriv.h>
+#include <src/core/SkColorFilter_Matrix.h>
+#include <src/core/SkColorSpacePriv.h>
+#include <src/core/SkColorSpaceXformSteps.h>
+#include <src/core/SkConvertPixels.h>
+#include <src/core/SkCoreBlitters.h>
+#include <src/core/SkCoverageModePriv.h>
+#include <src/core/SkCpu.h>
+#include <src/core/SkCubicClipper.h>
+#include <src/core/SkDescriptor.h>
+#include <src/core/SkDevice.h>
+#include <src/core/SkDiscardableMemory.h>
+#include <src/core/SkDistanceFieldGen.h>
+#include <src/core/SkDraw.h>
+#include <src/core/SkDrawProcs.h>
+#include <src/core/SkDrawShadowInfo.h>
+#include <src/core/SkEdge.h>
+#include <src/core/SkEdgeBuilder.h>
+#include <src/core/SkEdgeClipper.h>
+#include <src/core/SkEffectPriv.h>
+#include <src/core/SkEndian.h>
+#include <src/core/SkExchange.h>
+#include <src/core/SkFDot6.h>
+#include <src/core/SkFontDescriptor.h>
+#include <src/core/SkFontPriv.h>
+#include <src/core/SkFontStream.h>
+#include <src/core/SkFuzzLogging.h>
+#include <src/core/SkGaussFilter.h>
+#include <src/core/SkGeometry.h>
+#include <src/core/SkGlyph.h>
+#include <src/core/SkGlyphRun.h>
+#include <src/core/SkGlyphRunPainter.h>
+#include <src/core/SkGpuBlurUtils.h>
+#include <src/core/SkICCPriv.h>
+#include <src/core/SkIPoint16.h>
+#include <src/core/SkImageFilterCache.h>
+#include <src/core/SkImageFilterPriv.h>
+#include <src/core/SkImagePriv.h>
+#include <src/core/SkLatticeIter.h>
+#include <src/core/SkLeanWindows.h>
+#include <src/core/SkLineClipper.h>
+#include <src/core/SkLocalMatrixImageFilter.h>
+#include <src/core/SkMD5.h>
+#include <src/core/SkMSAN.h>
+#include <src/core/SkMakeUnique.h>
+#include <src/core/SkMask.h>
+#include <src/core/SkMaskBlurFilter.h>
+#include <src/core/SkMaskCache.h>
+#include <src/core/SkMaskFilterBase.h>
+#include <src/core/SkMaskGamma.h>
+#include <src/core/SkMathPriv.h>
+#include <src/core/SkMatrixImageFilter.h>
+#include <src/core/SkMatrixPriv.h>
+#include <src/core/SkMatrixUtils.h>
+#include <src/core/SkMessageBus.h>
+#include <src/core/SkMiniRecorder.h>
+#include <src/core/SkMipMap.h>
+#include <src/core/SkModeColorFilter.h>
+#include <src/core/SkNextID.h>
+#include <src/core/SkNormalFlatSource.h>
+#include <src/core/SkNormalMapSource.h>
+#include <src/core/SkNormalSource.h>
+#include <src/core/SkOSFile.h>
+#include <src/core/SkOpts.h>
+#include <src/core/SkPaintDefaults.h>
+#include <src/core/SkPaintPriv.h>
+#include <src/core/SkPathMeasurePriv.h>
+#include <src/core/SkPathPriv.h>
+#include <src/core/SkPictureCommon.h>
+#include <src/core/SkPictureData.h>
+#include <src/core/SkPictureFlat.h>
+#include <src/core/SkPicturePlayback.h>
+#include <src/core/SkPicturePriv.h>
+#include <src/core/SkPictureRecord.h>
+#include <src/core/SkPixmapPriv.h>
+#include <src/core/SkPointPriv.h>
+#include <src/core/SkPtrRecorder.h>
+#include <src/core/SkQuadClipper.h>
+#include <src/core/SkRRectPriv.h>
+#include <src/core/SkRTree.h>
+#include <src/core/SkRasterClip.h>
+#include <src/core/SkRasterPipeline.h>
+#include <src/core/SkReadBuffer.h>
+#include <src/core/SkReader32.h>
+#include <src/core/SkRecord.h>
+#include <src/core/SkRecordDraw.h>
+#include <src/core/SkRecordOpts.h>
+#include <src/core/SkRecordPattern.h>
+#include <src/core/SkRecordedDrawable.h>
+#include <src/core/SkRecorder.h>
+#include <src/core/SkRecords.h>
+#include <src/core/SkRectPriv.h>
+#include <src/core/SkRegionPriv.h>
+#include <src/core/SkRemoteGlyphCache.h>
+#include <src/core/SkRemoteGlyphCacheImpl.h>
+#include <src/core/SkResourceCache.h>
+#include <src/core/SkSafeMath.h>
+#include <src/core/SkSafeRange.h>
+#include <src/core/SkScaleToSides.h>
+#include <src/core/SkScalerContext.h>
+#include <src/core/SkScan.h>
+#include <src/core/SkScanPriv.h>
+#include <src/core/SkScopeExit.h>
+#include <src/core/SkSharedMutex.h>
+#include <src/core/SkSpecialImage.h>
+#include <src/core/SkSpecialSurface.h>
+#include <src/core/SkSpriteBlitter.h>
+#include <src/core/SkStreamPriv.h>
+#include <src/core/SkStrike.h>
+#include <src/core/SkStrikeCache.h>
+#include <src/core/SkStrikeInterface.h>
+#include <src/core/SkStrikeSpec.h>
+#include <src/core/SkStringUtils.h>
+#include <src/core/SkStroke.h>
+#include <src/core/SkStrokerPriv.h>
+#include <src/core/SkSurfacePriv.h>
+#include <src/core/SkTDPQueue.h>
+#include <src/core/SkTDynamicHash.h>
+#include <src/core/SkTInternalLList.h>
+#include <src/core/SkTLList.h>
+#include <src/core/SkTLS.h>
+#include <src/core/SkTLazy.h>
+#include <src/core/SkTSearch.h>
+#include <src/core/SkTSort.h>
+#include <src/core/SkTTopoSort.h>
+#include <src/core/SkTaskGroup.h>
+#include <src/core/SkTextBlobPriv.h>
+#include <src/core/SkTextFormatParams.h>
+#include <src/core/SkTraceEvent.h>
+#include <src/core/SkTraceEventCommon.h>
+#include <src/core/SkTypefaceCache.h>
+#include <src/core/SkTypeface_remote.h>
+#include <src/core/SkUtils.h>
+#include <src/core/SkVM.h>
+#include <src/core/SkValidationUtils.h>
+#include <src/core/SkVertState.h>
+#include <src/core/SkWriteBuffer.h>
+#include <src/core/SkWritePixelsRec.h>
+#include <src/core/SkWriter32.h>
+#include <src/core/SkXfermodeInterpretation.h>
+#include <src/core/SkXfermodePriv.h>
+#include <src/core/SkYUVMath.h>
+#include <src/core/SkYUVPlanesCache.h>
+#include <src/effects/SkDashImpl.h>
+#include <src/effects/SkEmbossMask.h>
+#include <src/effects/SkEmbossMaskFilter.h>
+#include <src/effects/SkOpPE.h>
+#include <src/effects/SkPackBits.h>
+#include <src/effects/SkTrimPE.h>
+#include <src/gpu/GrAHardwareBufferImageGenerator.h>
+#include <src/gpu/GrAHardwareBufferUtils.h>
+#include <src/gpu/GrAllocator.h>
+#include <src/gpu/GrAppliedClip.h>
+#include <src/gpu/GrAuditTrail.h>
+#include <src/gpu/GrAutoLocaleSetter.h>
+#include <src/gpu/GrBackendTextureImageGenerator.h>
+#include <src/gpu/GrBaseContextPriv.h>
+#include <src/gpu/GrBitmapTextureMaker.h>
+#include <src/gpu/GrBlurUtils.h>
+#include <src/gpu/GrBuffer.h>
+#include <src/gpu/GrBufferAllocPool.h>
+#include <src/gpu/GrCaps.h>
+#include <src/gpu/GrClip.h>
+#include <src/gpu/GrClipStackClip.h>
+#include <src/gpu/GrColor.h>
+#include <src/gpu/GrColorSpaceInfo.h>
+#include <src/gpu/GrColorSpaceXform.h>
+#include <src/gpu/GrContextPriv.h>
+#include <src/gpu/GrContextThreadSafeProxyPriv.h>
+#include <src/gpu/GrCoordTransform.h>
+#include <src/gpu/GrCpuBuffer.h>
+#include <src/gpu/GrDataUtils.h>
+#include <src/gpu/GrDefaultGeoProcFactory.h>
+#include <src/gpu/GrDeferredProxyUploader.h>
+#include <src/gpu/GrDeinstantiateProxyTracker.h>
+#include <src/gpu/GrDistanceFieldGenFromVector.h>
+#include <src/gpu/GrDrawOpAtlas.h>
+#include <src/gpu/GrDrawOpTest.h>
+#include <src/gpu/GrDrawingManager.h>
+#include <src/gpu/GrFixedClip.h>
+#include <src/gpu/GrFragmentProcessor.h>
+#include <src/gpu/GrGeometryProcessor.h>
+#include <src/gpu/GrGlyph.h>
+#include <src/gpu/GrGpu.h>
+#include <src/gpu/GrGpuBuffer.h>
+#include <src/gpu/GrGpuCommandBuffer.h>
+#include <src/gpu/GrGpuResourceCacheAccess.h>
+#include <src/gpu/GrGpuResourcePriv.h>
+#include <src/gpu/GrImageContextPriv.h>
+#include <src/gpu/GrImageTextureMaker.h>
+#include <src/gpu/GrMemoryPool.h>
+#include <src/gpu/GrMesh.h>
+#include <src/gpu/GrOnFlushResourceProvider.h>
+#include <src/gpu/GrOpFlushState.h>
+#include <src/gpu/GrOpList.h>
+#include <src/gpu/GrPaint.h>
+#include <src/gpu/GrPath.h>
+#include <src/gpu/GrPathProcessor.h>
+#include <src/gpu/GrPathRenderer.h>
+#include <src/gpu/GrPathRendererChain.h>
+#include <src/gpu/GrPathRendering.h>
+#include <src/gpu/GrPersistentCacheUtils.h>
+#include <src/gpu/GrPipeline.h>
+#include <src/gpu/GrPrimitiveProcessor.h>
+#include <src/gpu/GrProcessor.h>
+#include <src/gpu/GrProcessorAnalysis.h>
+#include <src/gpu/GrProcessorSet.h>
+#include <src/gpu/GrProcessorUnitTest.h>
+#include <src/gpu/GrProgramDesc.h>
+#include <src/gpu/GrProxyProvider.h>
+#include <src/gpu/GrRecordingContextPriv.h>
+#include <src/gpu/GrRectanizer.h>
+#include <src/gpu/GrRectanizer_pow2.h>
+#include <src/gpu/GrRectanizer_skyline.h>
+#include <src/gpu/GrReducedClip.h>
+#include <src/gpu/GrRenderTargetContext.h>
+#include <src/gpu/GrRenderTargetContextPriv.h>
+#include <src/gpu/GrRenderTargetOpList.h>
+#include <src/gpu/GrRenderTargetPriv.h>
+#include <src/gpu/GrRenderTargetProxy.h>
+#include <src/gpu/GrRenderTargetProxyPriv.h>
+#include <src/gpu/GrResourceAllocator.h>
+#include <src/gpu/GrResourceCache.h>
+#include <src/gpu/GrResourceProvider.h>
+#include <src/gpu/GrResourceProviderPriv.h>
+#include <src/gpu/GrSWMaskHelper.h>
+#include <src/gpu/GrSamplePatternDictionary.h>
+#include <src/gpu/GrSemaphore.h>
+#include <src/gpu/GrShaderCaps.h>
+#include <src/gpu/GrShaderUtils.h>
+#include <src/gpu/GrShaderVar.h>
+#include <src/gpu/GrSkSLFPFactoryCache.h>
+#include <src/gpu/GrSoftwarePathRenderer.h>
+#include <src/gpu/GrStencilAttachment.h>
+#include <src/gpu/GrStencilClip.h>
+#include <src/gpu/GrStencilSettings.h>
+#include <src/gpu/GrStyle.h>
+#include <src/gpu/GrSurfaceContext.h>
+#include <src/gpu/GrSurfaceContextPriv.h>
+#include <src/gpu/GrSurfacePriv.h>
+#include <src/gpu/GrSurfaceProxy.h>
+#include <src/gpu/GrSurfaceProxyPriv.h>
+#include <src/gpu/GrSwizzle.h>
+#include <src/gpu/GrTessellator.h>
+#include <src/gpu/GrTestUtils.h>
+#include <src/gpu/GrTextureAdjuster.h>
+#include <src/gpu/GrTextureContext.h>
+#include <src/gpu/GrTextureMaker.h>
+#include <src/gpu/GrTextureOpList.h>
+#include <src/gpu/GrTexturePriv.h>
+#include <src/gpu/GrTextureProducer.h>
+#include <src/gpu/GrTextureProxy.h>
+#include <src/gpu/GrTextureProxyCacheAccess.h>
+#include <src/gpu/GrTextureProxyPriv.h>
+#include <src/gpu/GrTextureRenderTargetProxy.h>
+#include <src/gpu/GrTracing.h>
+#include <src/gpu/GrUserStencilSettings.h>
+#include <src/gpu/GrVertexWriter.h>
+#include <src/gpu/GrWindowRectangles.h>
+#include <src/gpu/GrXferProcessor.h>
+#include <src/gpu/GrYUVProvider.h>
+#include <src/gpu/SkGpuDevice.h>
+#include <src/gpu/SkGr.h>
+#include <src/gpu/ccpr/GrCCAtlas.h>
+#include <src/gpu/ccpr/GrCCClipPath.h>
+#include <src/gpu/ccpr/GrCCClipProcessor.h>
+#include <src/gpu/ccpr/GrCCConicShader.h>
+#include <src/gpu/ccpr/GrCCCoverageProcessor.h>
+#include <src/gpu/ccpr/GrCCCubicShader.h>
+#include <src/gpu/ccpr/GrCCDrawPathsOp.h>
+#include <src/gpu/ccpr/GrCCFillGeometry.h>
+#include <src/gpu/ccpr/GrCCFiller.h>
+#include <src/gpu/ccpr/GrCCPathCache.h>
+#include <src/gpu/ccpr/GrCCPathProcessor.h>
+#include <src/gpu/ccpr/GrCCPerFlushResources.h>
+#include <src/gpu/ccpr/GrCCQuadraticShader.h>
+#include <src/gpu/ccpr/GrCCStrokeGeometry.h>
+#include <src/gpu/ccpr/GrCCStroker.h>
+#include <src/gpu/ccpr/GrCoverageCountingPathRenderer.h>
+#include <src/gpu/ccpr/GrGSCoverageProcessor.h>
+#include <src/gpu/ccpr/GrOctoBounds.h>
+#include <src/gpu/ccpr/GrSampleMaskProcessor.h>
+#include <src/gpu/ccpr/GrStencilAtlasOp.h>
+#include <src/gpu/ccpr/GrVSCoverageProcessor.h>
+#include <src/gpu/effects/GrAtlasedShaderHelpers.h>
+#include <src/gpu/effects/GrBezierEffect.h>
+#include <src/gpu/effects/GrBicubicEffect.h>
+#include <src/gpu/effects/GrBitmapTextGeoProc.h>
+#include <src/gpu/effects/GrConvexPolyEffect.h>
+#include <src/gpu/effects/GrCoverageSetOpXP.h>
+#include <src/gpu/effects/GrCustomXfermode.h>
+#include <src/gpu/effects/GrDisableColorXP.h>
+#include <src/gpu/effects/GrDistanceFieldGeoProc.h>
+#include <src/gpu/effects/GrGaussianConvolutionFragmentProcessor.h>
+#include <src/gpu/effects/GrMatrixConvolutionEffect.h>
+#include <src/gpu/effects/GrOvalEffect.h>
+#include <src/gpu/effects/GrPorterDuffXferProcessor.h>
+#include <src/gpu/effects/GrRRectEffect.h>
+#include <src/gpu/effects/GrSRGBEffect.h>
+#include <src/gpu/effects/GrShadowGeoProc.h>
+#include <src/gpu/effects/GrSkSLFP.h>
+#include <src/gpu/effects/GrTextureDomain.h>
+#include <src/gpu/effects/GrXfermodeFragmentProcessor.h>
+#include <src/gpu/effects/GrYUVtoRGBEffect.h>
+#include <src/gpu/effects/generated/GrAARectEffect.h>
+#include <src/gpu/effects/generated/GrCircleEffect.h>
+#include <src/gpu/effects/generated/GrColorMatrixFragmentProcessor.h>
+#include <src/gpu/effects/generated/GrConfigConversionEffect.h>
+#include <src/gpu/effects/generated/GrConstColorProcessor.h>
+#include <src/gpu/effects/generated/GrEllipseEffect.h>
+#include <src/gpu/effects/generated/GrOverrideInputFragmentProcessor.h>
+#include <src/gpu/effects/generated/GrPremulInputFragmentProcessor.h>
+#include <src/gpu/effects/generated/GrSimpleTextureEffect.h>
+#include <src/gpu/geometry/GrPathUtils.h>
+#include <src/gpu/geometry/GrQuad.h>
+#include <src/gpu/geometry/GrQuadBuffer.h>
+#include <src/gpu/geometry/GrQuadUtils.h>
+#include <src/gpu/geometry/GrRect.h>
+#include <src/gpu/geometry/GrShape.h>
+#include <src/gpu/gl/GrGLBuffer.h>
+#include <src/gpu/gl/GrGLCaps.h>
+#include <src/gpu/gl/GrGLContext.h>
+#include <src/gpu/gl/GrGLDefines.h>
+#include <src/gpu/gl/GrGLGLSL.h>
+#include <src/gpu/gl/GrGLGpu.h>
+#include <src/gpu/gl/GrGLGpuCommandBuffer.h>
+#include <src/gpu/gl/GrGLPath.h>
+#include <src/gpu/gl/GrGLPathRendering.h>
+#include <src/gpu/gl/GrGLProgram.h>
+#include <src/gpu/gl/GrGLProgramDataManager.h>
+#include <src/gpu/gl/GrGLRenderTarget.h>
+#include <src/gpu/gl/GrGLSemaphore.h>
+#include <src/gpu/gl/GrGLStencilAttachment.h>
+#include <src/gpu/gl/GrGLTexture.h>
+#include <src/gpu/gl/GrGLTextureRenderTarget.h>
+#include <src/gpu/gl/GrGLUniformHandler.h>
+#include <src/gpu/gl/GrGLUtil.h>
+#include <src/gpu/gl/GrGLVaryingHandler.h>
+#include <src/gpu/gl/GrGLVertexArray.h>
+#include <src/gpu/gl/builders/GrGLProgramBuilder.h>
+#include <src/gpu/gl/builders/GrGLShaderStringBuilder.h>
+#include <src/gpu/glsl/GrGLSL.h>
+#include <src/gpu/glsl/GrGLSLBlend.h>
+#include <src/gpu/glsl/GrGLSLColorSpaceXformHelper.h>
+#include <src/gpu/glsl/GrGLSLFragmentProcessor.h>
+#include <src/gpu/glsl/GrGLSLFragmentShaderBuilder.h>
+#include <src/gpu/glsl/GrGLSLGeometryProcessor.h>
+#include <src/gpu/glsl/GrGLSLPrimitiveProcessor.h>
+#include <src/gpu/glsl/GrGLSLProgramBuilder.h>
+#include <src/gpu/glsl/GrGLSLProgramDataManager.h>
+#include <src/gpu/glsl/GrGLSLShaderBuilder.h>
+#include <src/gpu/glsl/GrGLSLUniformHandler.h>
+#include <src/gpu/glsl/GrGLSLUtil.h>
+#include <src/gpu/glsl/GrGLSLVarying.h>
+#include <src/gpu/glsl/GrGLSLVertexGeoBuilder.h>
+#include <src/gpu/glsl/GrGLSLXferProcessor.h>
+#include <src/gpu/gradients/GrGradientBitmapCache.h>
+#include <src/gpu/gradients/GrGradientShader.h>
+#include <src/gpu/gradients/generated/GrClampedGradientEffect.h>
+#include <src/gpu/gradients/generated/GrDualIntervalGradientColorizer.h>
+#include <src/gpu/gradients/generated/GrLinearGradientLayout.h>
+#include <src/gpu/gradients/generated/GrRadialGradientLayout.h>
+#include <src/gpu/gradients/generated/GrSingleIntervalGradientColorizer.h>
+#include <src/gpu/gradients/generated/GrSweepGradientLayout.h>
+#include <src/gpu/gradients/generated/GrTextureGradientColorizer.h>
+#include <src/gpu/gradients/generated/GrTiledGradientEffect.h>
+#include <src/gpu/gradients/generated/GrTwoPointConicalGradientLayout.h>
+#include <src/gpu/gradients/generated/GrUnrolledBinaryGradientColorizer.h>
+#include <src/gpu/mock/GrMockBuffer.h>
+#include <src/gpu/mock/GrMockCaps.h>
+#include <src/gpu/mock/GrMockGpu.h>
+#include <src/gpu/mock/GrMockGpuCommandBuffer.h>
+#include <src/gpu/mock/GrMockStencilAttachment.h>
+#include <src/gpu/mock/GrMockTexture.h>
+#include <src/gpu/ops/GrAAConvexPathRenderer.h>
+#include <src/gpu/ops/GrAAConvexTessellator.h>
+#include <src/gpu/ops/GrAAHairLinePathRenderer.h>
+#include <src/gpu/ops/GrAALinearizingConvexPathRenderer.h>
+#include <src/gpu/ops/GrAtlasTextOp.h>
+#include <src/gpu/ops/GrClearOp.h>
+#include <src/gpu/ops/GrClearStencilClipOp.h>
+#include <src/gpu/ops/GrCopySurfaceOp.h>
+#include <src/gpu/ops/GrDashLinePathRenderer.h>
+#include <src/gpu/ops/GrDashOp.h>
+#include <src/gpu/ops/GrDebugMarkerOp.h>
+#include <src/gpu/ops/GrDefaultPathRenderer.h>
+#include <src/gpu/ops/GrDrawAtlasOp.h>
+#include <src/gpu/ops/GrDrawOp.h>
+#include <src/gpu/ops/GrDrawPathOp.h>
+#include <src/gpu/ops/GrDrawVerticesOp.h>
+#include <src/gpu/ops/GrDrawableOp.h>
+#include <src/gpu/ops/GrFillRRectOp.h>
+#include <src/gpu/ops/GrFillRectOp.h>
+#include <src/gpu/ops/GrLatticeOp.h>
+#include <src/gpu/ops/GrMeshDrawOp.h>
+#include <src/gpu/ops/GrOp.h>
+#include <src/gpu/ops/GrOvalOpFactory.h>
+#include <src/gpu/ops/GrQuadPerEdgeAA.h>
+#include <src/gpu/ops/GrRegionOp.h>
+#include <src/gpu/ops/GrSemaphoreOp.h>
+#include <src/gpu/ops/GrShadowRRectOp.h>
+#include <src/gpu/ops/GrSimpleMeshDrawOpHelper.h>
+#include <src/gpu/ops/GrSmallPathRenderer.h>
+#include <src/gpu/ops/GrStencilAndCoverPathRenderer.h>
+#include <src/gpu/ops/GrStencilPathOp.h>
+#include <src/gpu/ops/GrStrokeRectOp.h>
+#include <src/gpu/ops/GrTessellatingPathRenderer.h>
+#include <src/gpu/ops/GrTextureOp.h>
+#include <src/gpu/ops/GrTransferFromOp.h>
+#include <src/gpu/text/GrAtlasManager.h>
+#include <src/gpu/text/GrDistanceFieldAdjustTable.h>
+#include <src/gpu/text/GrSDFMaskFilter.h>
+#include <src/gpu/text/GrStrikeCache.h>
+#include <src/gpu/text/GrTextBlob.h>
+#include <src/gpu/text/GrTextBlobCache.h>
+#include <src/gpu/text/GrTextContext.h>
+#include <src/gpu/text/GrTextTarget.h>
+#include <src/gpu/vk/GrVkBuffer.h>
+#include <src/gpu/vk/GrVkBufferView.h>
+#include <src/gpu/vk/GrVkCaps.h>
+#include <src/gpu/vk/GrVkCommandBuffer.h>
+#include <src/gpu/vk/GrVkCommandPool.h>
+#include <src/gpu/vk/GrVkDescriptorPool.h>
+#include <src/gpu/vk/GrVkDescriptorSet.h>
+#include <src/gpu/vk/GrVkDescriptorSetManager.h>
+#include <src/gpu/vk/GrVkFramebuffer.h>
+#include <src/gpu/vk/GrVkGpu.h>
+#include <src/gpu/vk/GrVkGpuCommandBuffer.h>
+#include <src/gpu/vk/GrVkImage.h>
+#include <src/gpu/vk/GrVkImageLayout.h>
+#include <src/gpu/vk/GrVkImageView.h>
+#include <src/gpu/vk/GrVkIndexBuffer.h>
+#include <src/gpu/vk/GrVkInterface.h>
+#include <src/gpu/vk/GrVkMemory.h>
+#include <src/gpu/vk/GrVkPipeline.h>
+#include <src/gpu/vk/GrVkPipelineLayout.h>
+#include <src/gpu/vk/GrVkPipelineState.h>
+#include <src/gpu/vk/GrVkPipelineStateBuilder.h>
+#include <src/gpu/vk/GrVkPipelineStateDataManager.h>
+#include <src/gpu/vk/GrVkRenderPass.h>
+#include <src/gpu/vk/GrVkRenderTarget.h>
+#include <src/gpu/vk/GrVkResourceProvider.h>
+#include <src/gpu/vk/GrVkSampler.h>
+#include <src/gpu/vk/GrVkSamplerYcbcrConversion.h>
+#include <src/gpu/vk/GrVkSecondaryCBDrawContext.h>
+#include <src/gpu/vk/GrVkSemaphore.h>
+#include <src/gpu/vk/GrVkStencilAttachment.h>
+#include <src/gpu/vk/GrVkTexture.h>
+#include <src/gpu/vk/GrVkTextureRenderTarget.h>
+#include <src/gpu/vk/GrVkTransferBuffer.h>
+#include <src/gpu/vk/GrVkUniformBuffer.h>
+#include <src/gpu/vk/GrVkUniformHandler.h>
+#include <src/gpu/vk/GrVkUtil.h>
+#include <src/gpu/vk/GrVkVaryingHandler.h>
+#include <src/gpu/vk/GrVkVertexBuffer.h>
+#include <src/image/SkImage_Base.h>
+#include <src/image/SkImage_Gpu.h>
+#include <src/image/SkImage_GpuBase.h>
+#include <src/image/SkImage_GpuYUVA.h>
+#include <src/image/SkImage_Lazy.h>
+#include <src/image/SkReadPixelsRec.h>
+#include <src/image/SkSurface_Base.h>
+#include <src/image/SkSurface_Gpu.h>
+#include <src/images/SkImageEncoderPriv.h>
+#include <src/images/SkJPEGWriteUtility.h>
+#include <src/lazy/SkDiscardableMemoryPool.h>
+#include <src/pathops/SkAddIntersections.h>
+#include <src/pathops/SkIntersectionHelper.h>
+#include <src/pathops/SkIntersections.h>
+#include <src/pathops/SkLineParameters.h>
+#include <src/pathops/SkOpAngle.h>
+#include <src/pathops/SkOpCoincidence.h>
+#include <src/pathops/SkOpContour.h>
+#include <src/pathops/SkOpEdgeBuilder.h>
+#include <src/pathops/SkOpSegment.h>
+#include <src/pathops/SkOpSpan.h>
+#include <src/pathops/SkPathOpsBounds.h>
+#include <src/pathops/SkPathOpsCommon.h>
+#include <src/pathops/SkPathOpsConic.h>
+#include <src/pathops/SkPathOpsCubic.h>
+#include <src/pathops/SkPathOpsCurve.h>
+#include <src/pathops/SkPathOpsDebug.h>
+#include <src/pathops/SkPathOpsLine.h>
+#include <src/pathops/SkPathOpsPoint.h>
+#include <src/pathops/SkPathOpsQuad.h>
+#include <src/pathops/SkPathOpsRect.h>
+#include <src/pathops/SkPathOpsTSect.h>
+#include <src/pathops/SkPathOpsTypes.h>
+#include <src/pathops/SkPathWriter.h>
+#include <src/pathops/SkReduceOrder.h>
+#include <src/pdf/SkBitmapKey.h>
+#include <src/pdf/SkClusterator.h>
+#include <src/pdf/SkDeflate.h>
+#include <src/pdf/SkJpegInfo.h>
+#include <src/pdf/SkKeyedImage.h>
+#include <src/pdf/SkPDFBitmap.h>
+#include <src/pdf/SkPDFDevice.h>
+#include <src/pdf/SkPDFDocumentPriv.h>
+#include <src/pdf/SkPDFFont.h>
+#include <src/pdf/SkPDFFormXObject.h>
+#include <src/pdf/SkPDFGlyphUse.h>
+#include <src/pdf/SkPDFGradientShader.h>
+#include <src/pdf/SkPDFGraphicStackState.h>
+#include <src/pdf/SkPDFGraphicState.h>
+#include <src/pdf/SkPDFMakeCIDGlyphWidthsArray.h>
+#include <src/pdf/SkPDFMakeToUnicodeCmap.h>
+#include <src/pdf/SkPDFMetadata.h>
+#include <src/pdf/SkPDFResourceDict.h>
+#include <src/pdf/SkPDFShader.h>
+#include <src/pdf/SkPDFSubsetFont.h>
+#include <src/pdf/SkPDFTag.h>
+#include <src/pdf/SkPDFType1Font.h>
+#include <src/pdf/SkPDFTypes.h>
+#include <src/pdf/SkPDFUnion.h>
+#include <src/pdf/SkPDFUtils.h>
+#include <src/ports/SkFontHost_FreeType_common.h>
+#include <src/sfnt/SkOTTableTypes.h>
+#include <src/sfnt/SkOTTable_OS_2.h>
+#include <src/sfnt/SkOTTable_head.h>
+#include <src/sfnt/SkOTTable_name.h>
+#include <src/sfnt/SkOTUtils.h>
+#include <src/shaders/SkBitmapProcShader.h>
+#include <src/shaders/SkColorFilterShader.h>
+#include <src/shaders/SkColorShader.h>
+#include <src/shaders/SkComposeShader.h>
+#include <src/shaders/SkEmptyShader.h>
+#include <src/shaders/SkImageShader.h>
+#include <src/shaders/SkLightingShader.h>
+#include <src/shaders/SkLights.h>
+#include <src/shaders/SkLocalMatrixShader.h>
+#include <src/shaders/SkPictureShader.h>
+#include <src/shaders/SkRTShader.h>
+#include <src/shaders/SkShaderBase.h>
+#include <src/shaders/gradients/Sk4fGradientBase.h>
+#include <src/shaders/gradients/Sk4fLinearGradient.h>
+#include <src/shaders/gradients/SkGradientShaderPriv.h>
+#include <src/shaders/gradients/SkLinearGradient.h>
+#include <src/shaders/gradients/SkRadialGradient.h>
+#include <src/shaders/gradients/SkSweepGradient.h>
+#include <src/shaders/gradients/SkTwoPointConicalGradient.h>
+#include <src/sksl/GLSL.std.450.h>
+#include <src/sksl/SkSLASTNode.h>
+#include <src/sksl/SkSLByteCode.h>
+#include <src/sksl/SkSLByteCodeGenerator.h>
+#include <src/sksl/SkSLCFGGenerator.h>
+#include <src/sksl/SkSLCPPCodeGenerator.h>
+#include <src/sksl/SkSLCPPUniformCTypes.h>
+#include <src/sksl/SkSLCompiler.h>
+#include <src/sksl/SkSLContext.h>
+#include <src/sksl/SkSLGLSLCodeGenerator.h>
+#include <src/sksl/SkSLHCodeGenerator.h>
+#include <src/sksl/SkSLIRGenerator.h>
+#include <src/sksl/SkSLLexer.h>
+#include <src/sksl/SkSLMetalCodeGenerator.h>
+#include <src/sksl/SkSLOutputStream.h>
+#include <src/sksl/SkSLParser.h>
+#include <src/sksl/SkSLPipelineStageCodeGenerator.h>
+#include <src/sksl/SkSLSPIRVCodeGenerator.h>
+#include <src/sksl/SkSLString.h>
+#include <src/sksl/SkSLStringStream.h>
+#include <src/sksl/SkSLUtil.h>
+#include <src/sksl/ir/SkSLAppendStage.h>
+#include <src/sksl/ir/SkSLBinaryExpression.h>
+#include <src/sksl/ir/SkSLBoolLiteral.h>
+#include <src/sksl/ir/SkSLBreakStatement.h>
+#include <src/sksl/ir/SkSLConstructor.h>
+#include <src/sksl/ir/SkSLContinueStatement.h>
+#include <src/sksl/ir/SkSLDiscardStatement.h>
+#include <src/sksl/ir/SkSLDoStatement.h>
+#include <src/sksl/ir/SkSLEnum.h>
+#include <src/sksl/ir/SkSLExpression.h>
+#include <src/sksl/ir/SkSLExpressionStatement.h>
+#include <src/sksl/ir/SkSLExtension.h>
+#include <src/sksl/ir/SkSLExternalFunctionCall.h>
+#include <src/sksl/ir/SkSLExternalValueReference.h>
+#include <src/sksl/ir/SkSLField.h>
+#include <src/sksl/ir/SkSLFieldAccess.h>
+#include <src/sksl/ir/SkSLFloatLiteral.h>
+#include <src/sksl/ir/SkSLForStatement.h>
+#include <src/sksl/ir/SkSLFunctionCall.h>
+#include <src/sksl/ir/SkSLFunctionDeclaration.h>
+#include <src/sksl/ir/SkSLFunctionDefinition.h>
+#include <src/sksl/ir/SkSLFunctionReference.h>
+#include <src/sksl/ir/SkSLIfStatement.h>
+#include <src/sksl/ir/SkSLIndexExpression.h>
+#include <src/sksl/ir/SkSLIntLiteral.h>
+#include <src/sksl/ir/SkSLInterfaceBlock.h>
+#include <src/sksl/ir/SkSLLayout.h>
+#include <src/sksl/ir/SkSLModifiers.h>
+#include <src/sksl/ir/SkSLModifiersDeclaration.h>
+#include <src/sksl/ir/SkSLNop.h>
+#include <src/sksl/ir/SkSLNullLiteral.h>
+#include <src/sksl/ir/SkSLPostfixExpression.h>
+#include <src/sksl/ir/SkSLPrefixExpression.h>
+#include <src/sksl/ir/SkSLProgram.h>
+#include <src/sksl/ir/SkSLReturnStatement.h>
+#include <src/sksl/ir/SkSLSection.h>
+#include <src/sksl/ir/SkSLSetting.h>
+#include <src/sksl/ir/SkSLSwitchCase.h>
+#include <src/sksl/ir/SkSLSwitchStatement.h>
+#include <src/sksl/ir/SkSLSwizzle.h>
+#include <src/sksl/ir/SkSLSymbolTable.h>
+#include <src/sksl/ir/SkSLTernaryExpression.h>
+#include <src/sksl/ir/SkSLType.h>
+#include <src/sksl/ir/SkSLUnresolvedFunction.h>
+#include <src/sksl/ir/SkSLVarDeclarations.h>
+#include <src/sksl/ir/SkSLVarDeclarationsStatement.h>
+#include <src/sksl/ir/SkSLVariable.h>
+#include <src/sksl/ir/SkSLVariableReference.h>
+#include <src/sksl/ir/SkSLWhileStatement.h>
+#include <src/utils/SkCallableTraits.h>
+#include <src/utils/SkCanvasStack.h>
+#include <src/utils/SkCharToGlyphCache.h>
+#include <src/utils/SkDashPathPriv.h>
+#include <src/utils/SkFloatToDecimal.h>
+#include <src/utils/SkJSON.h>
+#include <src/utils/SkJSONWriter.h>
+#include <src/utils/SkMatrix22.h>
+#include <src/utils/SkMultiPictureDocument.h>
+#include <src/utils/SkMultiPictureDocumentPriv.h>
+#include <src/utils/SkOSPath.h>
+#include <src/utils/SkPatchUtils.h>
+#include <src/utils/SkPolyUtils.h>
+#include <src/utils/SkShadowTessellator.h>
+#include <src/utils/SkShaperJSONWriter.h>
+#include <src/utils/SkUTF.h>
+#include <third_party/gif/SkGifImageReader.h>
+#include <vulkan/vulkan_core.h>
+#endif // PCH_LEVEL >= 3
+#if PCH_LEVEL >= 4
+#endif // PCH_LEVEL >= 4
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */