summaryrefslogtreecommitdiffstats
path: root/external/skia/inc
diff options
context:
space:
mode:
Diffstat (limited to 'external/skia/inc')
-rw-r--r--external/skia/inc/pch/precompiled_skia.cxx12
-rw-r--r--external/skia/inc/pch/precompiled_skia.hxx618
-rw-r--r--external/skia/inc/skia_compiler.hxx13
-rw-r--r--external/skia/inc/skia_opts.hxx28
4 files changed, 671 insertions, 0 deletions
diff --git a/external/skia/inc/pch/precompiled_skia.cxx b/external/skia/inc/pch/precompiled_skia.cxx
new file mode 100644
index 000000000..8892e30fd
--- /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 000000000..e9631b68d
--- /dev/null
+++ b/external/skia/inc/pch/precompiled_skia.hxx
@@ -0,0 +1,618 @@
+/* -*- 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 2022-05-20 16:24:18 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
+*/
+
+#include <sal/config.h>
+#if PCH_LEVEL >= 1
+#include <algorithm>
+#include <array>
+#include <atomic>
+#include <bitset>
+#include <cctype>
+#include <cfloat>
+#include <chrono>
+#include <cinttypes>
+#include <climits>
+#include <cmath>
+#include <cstddef>
+#include <cstdint>
+#include <cstdio>
+#include <cstring>
+#include <ctype.h>
+#include <deque>
+#include <errno.h>
+#include <forward_list>
+#include <functional>
+#include <initializer_list>
+#include <inttypes.h>
+#include <iterator>
+#include <limits.h>
+#include <limits>
+#include <locale>
+#include <map>
+#include <math.h>
+#include <memory>
+#include <new>
+#include <numeric>
+#include <optional>
+#include <png.h>
+#include <queue>
+#include <set>
+#include <sstream>
+#include <stdarg.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <string>
+#include <string_view>
+#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/core/SkAlphaType.h>
+#include <include/core/SkAnnotation.h>
+#include <include/core/SkBBHFactory.h>
+#include <include/core/SkBitmap.h>
+#include <include/core/SkBlendMode.h>
+#include <include/core/SkBlender.h>
+#include <include/core/SkBlurTypes.h>
+#include <include/core/SkCanvas.h>
+#include <include/core/SkClipOp.h>
+#include <include/core/SkColor.h>
+#include <include/core/SkColorFilter.h>
+#include <include/core/SkColorPriv.h>
+#include <include/core/SkColorSpace.h>
+#include <include/core/SkColorType.h>
+#include <include/core/SkContourMeasure.h>
+#include <include/core/SkCubicMap.h>
+#include <include/core/SkData.h>
+#include <include/core/SkDataTable.h>
+#include <include/core/SkDeferredDisplayList.h>
+#include <include/core/SkDeferredDisplayListRecorder.h>
+#include <include/core/SkDocument.h>
+#include <include/core/SkDrawable.h>
+#include <include/core/SkExecutor.h>
+#include <include/core/SkFlattenable.h>
+#include <include/core/SkFont.h>
+#include <include/core/SkFontArguments.h>
+#include <include/core/SkFontMetrics.h>
+#include <include/core/SkFontMgr.h>
+#include <include/core/SkFontParameters.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/SkM44.h>
+#include <include/core/SkMallocPixelRef.h>
+#include <include/core/SkMaskFilter.h>
+#include <include/core/SkMath.h>
+#include <include/core/SkMatrix.h>
+#include <include/core/SkMesh.h>
+#include <include/core/SkOpenTypeSVGDecoder.h>
+#include <include/core/SkOverdrawCanvas.h>
+#include <include/core/SkPaint.h>
+#include <include/core/SkPath.h>
+#include <include/core/SkPathBuilder.h>
+#include <include/core/SkPathEffect.h>
+#include <include/core/SkPathMeasure.h>
+#include <include/core/SkPathTypes.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/SkRasterHandleAllocator.h>
+#include <include/core/SkRect.h>
+#include <include/core/SkRefCnt.h>
+#include <include/core/SkRegion.h>
+#include <include/core/SkSamplingOptions.h>
+#include <include/core/SkScalar.h>
+#include <include/core/SkSerialProcs.h>
+#include <include/core/SkShader.h>
+#include <include/core/SkSize.h>
+#include <include/core/SkSpan.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/SkSwizzle.h>
+#include <include/core/SkTextBlob.h>
+#include <include/core/SkTileMode.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/SkYUVAInfo.h>
+#include <include/core/SkYUVAPixmaps.h>
+#include <include/effects/Sk1DPathEffect.h>
+#include <include/effects/Sk2DPathEffect.h>
+#include <include/effects/SkBlenders.h>
+#include <include/effects/SkBlurMaskFilter.h>
+#include <include/effects/SkColorMatrix.h>
+#include <include/effects/SkColorMatrixFilter.h>
+#include <include/effects/SkCornerPathEffect.h>
+#include <include/effects/SkDashPathEffect.h>
+#include <include/effects/SkDiscretePathEffect.h>
+#include <include/effects/SkGradientShader.h>
+#include <include/effects/SkHighContrastFilter.h>
+#include <include/effects/SkImageFilters.h>
+#include <include/effects/SkLumaColorFilter.h>
+#include <include/effects/SkOpPathEffect.h>
+#include <include/effects/SkOverdrawColorFilter.h>
+#include <include/effects/SkPerlinNoiseShader.h>
+#include <include/effects/SkRuntimeEffect.h>
+#include <include/effects/SkShaderMaskFilter.h>
+#include <include/effects/SkStrokeAndFillPathEffect.h>
+#include <include/effects/SkTableColorFilter.h>
+#include <include/effects/SkTableMaskFilter.h>
+#include <include/effects/SkTrimPathEffect.h>
+#include <include/encode/SkJpegEncoder.h>
+#include <include/encode/SkPngEncoder.h>
+#include <include/encode/SkWebpEncoder.h>
+#include <include/gpu/GrBackendSurface.h>
+#include <include/gpu/GrContextOptions.h>
+#include <include/gpu/GrContextThreadSafeProxy.h>
+#include <include/gpu/GrDirectContext.h>
+#include <include/gpu/GrRecordingContext.h>
+#include <include/pathops/SkPathOps.h>
+#include <include/ports/SkRemotableFontMgr.h>
+#include <include/private/SkBitmaskEnum.h>
+#include <include/private/SkChecksum.h>
+#include <include/private/SkColorData.h>
+#include <include/private/SkDeque.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/SkIDChangeListener.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/SkOpts_spi.h>
+#include <include/private/SkPathRef.h>
+#include <include/private/SkSLDefines.h>
+#include <include/private/SkSLLayout.h>
+#include <include/private/SkSLModifiers.h>
+#include <include/private/SkSLProgramElement.h>
+#include <include/private/SkSLProgramKind.h>
+#include <include/private/SkSLSampleUsage.h>
+#include <include/private/SkSLStatement.h>
+#include <include/private/SkSLString.h>
+#include <include/private/SkSLSymbol.h>
+#include <include/private/SkSafe32.h>
+#include <include/private/SkSemaphore.h>
+#include <include/private/SkShadowFlags.h>
+#include <include/private/SkSpinlock.h>
+#include <include/private/SkStringView.h>
+#include <include/private/SkTArray.h>
+#include <include/private/SkTDArray.h>
+#include <include/private/SkTFitsIn.h>
+#include <include/private/SkTHash.h>
+#include <include/private/SkTPin.h>
+#include <include/private/SkTemplates.h>
+#include <include/private/SkThreadAnnotations.h>
+#include <include/private/SkThreadID.h>
+#include <include/private/SkTo.h>
+#include <include/private/SkVx.h>
+#include <include/private/chromium/GrSlug.h>
+#include <include/private/chromium/SkChromeRemoteGlyphCache.h>
+#include <include/private/gpu/ganesh/GrImageContext.h>
+#include <include/private/gpu/ganesh/GrTypesPriv.h>
+#include <include/third_party/skcms/skcms.h>
+#include <include/utils/SkBase64.h>
+#include <include/utils/SkCamera.h>
+#include <include/utils/SkCanvasStateUtils.h>
+#include <include/utils/SkCustomTypeface.h>
+#include <include/utils/SkEventTracer.h>
+#include <include/utils/SkNWayCanvas.h>
+#include <include/utils/SkNoDrawCanvas.h>
+#include <include/utils/SkNullCanvas.h>
+#include <include/utils/SkOrderedFontMgr.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/SkIcoCodec.h>
+#include <src/codec/SkMaskSwizzler.h>
+#include <src/codec/SkMasks.h>
+#include <src/codec/SkPngCodec.h>
+#include <src/codec/SkPngPriv.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/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/SkBigPicture.h>
+#include <src/core/SkBitmapCache.h>
+#include <src/core/SkBitmapDevice.h>
+#include <src/core/SkBitmapProcState.h>
+#include <src/core/SkBlendModeBlender.h>
+#include <src/core/SkBlendModePriv.h>
+#include <src/core/SkBlenderBase.h>
+#include <src/core/SkBlitRow.h>
+#include <src/core/SkBlitter.h>
+#include <src/core/SkBlockAllocator.h>
+#include <src/core/SkBlurMask.h>
+#include <src/core/SkBuffer.h>
+#include <src/core/SkCachedData.h>
+#include <src/core/SkCanvasPriv.h>
+#include <src/core/SkClipStack.h>
+#include <src/core/SkClipStackDevice.h>
+#include <src/core/SkColorFilterBase.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/SkCompressedDataUtils.h>
+#include <src/core/SkConvertPixels.h>
+#include <src/core/SkCoreBlitters.h>
+#include <src/core/SkCpu.h>
+#include <src/core/SkCubicClipper.h>
+#include <src/core/SkDebugUtils.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/SkEnumerate.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/SkGlyphBuffer.h>
+#include <src/core/SkGlyphRun.h>
+#include <src/core/SkGlyphRunPainter.h>
+#include <src/core/SkGpuBlurUtils.h>
+#include <src/core/SkICCPriv.h>
+#include <src/core/SkImageFilterCache.h>
+#include <src/core/SkImageFilterTypes.h>
+#include <src/core/SkImageFilter_Base.h>
+#include <src/core/SkImagePriv.h>
+#include <src/core/SkKeyContext.h>
+#include <src/core/SkKeyHelpers.h>
+#include <src/core/SkLRUCache.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/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/SkMatrixInvert.h>
+#include <src/core/SkMatrixPriv.h>
+#include <src/core/SkMatrixProvider.h>
+#include <src/core/SkMatrixUtils.h>
+#include <src/core/SkMeshPriv.h>
+#include <src/core/SkMessageBus.h>
+#include <src/core/SkMiniRecorder.h>
+#include <src/core/SkMipmap.h>
+#include <src/core/SkMipmapAccessor.h>
+#include <src/core/SkMipmapBuilder.h>
+#include <src/core/SkModeColorFilter.h>
+#include <src/core/SkNextID.h>
+#include <src/core/SkOSFile.h>
+#include <src/core/SkOpts.h>
+#include <src/core/SkPaintDefaults.h>
+#include <src/core/SkPaintParamsKey.h>
+#include <src/core/SkPaintPriv.h>
+#include <src/core/SkPathEffectBase.h>
+#include <src/core/SkPathMakers.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/SkPipelineData.h>
+#include <src/core/SkPixelRefPriv.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/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/SkResourceCache.h>
+#include <src/core/SkRuntimeEffectPriv.h>
+#include <src/core/SkSLTypeShared.h>
+#include <src/core/SkSafeMath.h>
+#include <src/core/SkSafeRange.h>
+#include <src/core/SkSamplingPriv.h>
+#include <src/core/SkScaleToSides.h>
+#include <src/core/SkScalerCache.h>
+#include <src/core/SkScalerContext.h>
+#include <src/core/SkScan.h>
+#include <src/core/SkScanPriv.h>
+#include <src/core/SkScopeExit.h>
+#include <src/core/SkShaderCodeDictionary.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/SkStrikeCache.h>
+#include <src/core/SkStrikeForGPU.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/SkTLazy.h>
+#include <src/core/SkTSearch.h>
+#include <src/core/SkTSort.h>
+#include <src/core/SkTaskGroup.h>
+#include <src/core/SkTextBlobPriv.h>
+#include <src/core/SkTextBlobTrace.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/SkUniform.h>
+#include <src/core/SkUtils.h>
+#include <src/core/SkVM.h>
+#include <src/core/SkVMBlitter.h>
+#include <src/core/SkValidationUtils.h>
+#include <src/core/SkVertState.h>
+#include <src/core/SkVerticesPriv.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/SkYUVAInfoLocation.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/SkTrimPE.h>
+#include <src/effects/imagefilters/SkCropImageFilter.h>
+#include <src/effects/imagefilters/SkRuntimeImageFilter.h>
+#include <src/gpu/Blend.h>
+#include <src/gpu/KeyBuilder.h>
+#include <src/gpu/ResourceKey.h>
+#include <src/gpu/ganesh/BaseDevice.h>
+#include <src/gpu/ganesh/GrCaps.h>
+#include <src/gpu/ganesh/GrColorInfo.h>
+#include <src/gpu/ganesh/GrColorSpaceXform.h>
+#include <src/gpu/ganesh/GrContextThreadSafeProxyPriv.h>
+#include <src/gpu/ganesh/GrDirectContextPriv.h>
+#include <src/gpu/ganesh/GrDrawOpAtlas.h>
+#include <src/gpu/ganesh/GrFPArgs.h>
+#include <src/gpu/ganesh/GrFragmentProcessor.h>
+#include <src/gpu/ganesh/GrGpuResourcePriv.h>
+#include <src/gpu/ganesh/GrImageContextPriv.h>
+#include <src/gpu/ganesh/GrImageInfo.h>
+#include <src/gpu/ganesh/GrMemoryPool.h>
+#include <src/gpu/ganesh/GrPaint.h>
+#include <src/gpu/ganesh/GrProxyProvider.h>
+#include <src/gpu/ganesh/GrRecordingContextPriv.h>
+#include <src/gpu/ganesh/GrRenderTask.h>
+#include <src/gpu/ganesh/GrResourceProvider.h>
+#include <src/gpu/ganesh/GrSamplerState.h>
+#include <src/gpu/ganesh/GrShaderCaps.h>
+#include <src/gpu/ganesh/GrStyle.h>
+#include <src/gpu/ganesh/GrSurfaceProxyView.h>
+#include <src/gpu/ganesh/GrTexture.h>
+#include <src/gpu/ganesh/GrTextureProxy.h>
+#include <src/gpu/ganesh/GrThreadSafeCache.h>
+#include <src/gpu/ganesh/GrYUVATextureProxies.h>
+#include <src/gpu/ganesh/SkGr.h>
+#include <src/gpu/ganesh/SurfaceFillContext.h>
+#include <src/gpu/ganesh/effects/GrBicubicEffect.h>
+#include <src/gpu/ganesh/effects/GrBlendFragmentProcessor.h>
+#include <src/gpu/ganesh/effects/GrCustomXfermode.h>
+#include <src/gpu/ganesh/effects/GrMatrixConvolutionEffect.h>
+#include <src/gpu/ganesh/effects/GrMatrixEffect.h>
+#include <src/gpu/ganesh/effects/GrPorterDuffXferProcessor.h>
+#include <src/gpu/ganesh/effects/GrSkSLFP.h>
+#include <src/gpu/ganesh/effects/GrTextureEffect.h>
+#include <src/gpu/ganesh/effects/GrYUVtoRGBEffect.h>
+#include <src/gpu/ganesh/geometry/GrPathUtils.h>
+#include <src/gpu/ganesh/geometry/GrStyledShape.h>
+#include <src/gpu/ganesh/glsl/GrGLSLFragmentShaderBuilder.h>
+#include <src/gpu/ganesh/glsl/GrGLSLProgramDataManager.h>
+#include <src/gpu/ganesh/glsl/GrGLSLUniformHandler.h>
+#include <src/gpu/ganesh/gradients/GrGradientShader.h>
+#include <src/gpu/ganesh/text/GrSDFMaskFilter.h>
+#include <src/gpu/ganesh/text/GrSDFTControl.h>
+#include <src/gpu/ganesh/text/GrTextBlob.h>
+#include <src/gpu/ganesh/text/GrTextBlobRedrawCoordinator.h>
+#include <src/gpu/ganesh/v1/SurfaceDrawContext_v1.h>
+#include <src/image/SkImage_Base.h>
+#include <src/image/SkImage_Gpu.h>
+#include <src/image/SkImage_Lazy.h>
+#include <src/image/SkReadPixelsRec.h>
+#include <src/image/SkRescaleAndReadPixels.h>
+#include <src/image/SkSurface_Base.h>
+#include <src/images/SkImageEncoderPriv.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/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/SkLocalMatrixShader.h>
+#include <src/shaders/SkPictureShader.h>
+#include <src/shaders/SkShaderBase.h>
+#include <src/shaders/SkTransformShader.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/text/gpu/StrikeCache.h>
+#include <src/utils/SkBlitterTrace.h>
+#include <src/utils/SkCanvasStack.h>
+#include <src/utils/SkCharToGlyphCache.h>
+#include <src/utils/SkClipStackUtils.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/SkShaderUtils.h>
+#include <src/utils/SkShadowTessellator.h>
+#include <src/utils/SkShaperJSONWriter.h>
+#include <src/utils/SkTestCanvas.h>
+#include <src/utils/SkUTF.h>
+#include <src/utils/SkVMVisualizer.h>
+#include <tools/sk_app/WindowContext.h>
+#endif // PCH_LEVEL >= 3
+#if PCH_LEVEL >= 4
+#include <skia_compiler.hxx>
+#include <skia_opts.hxx>
+#endif // PCH_LEVEL >= 4
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/external/skia/inc/skia_compiler.hxx b/external/skia/inc/skia_compiler.hxx
new file mode 100644
index 000000000..a26ec29bd
--- /dev/null
+++ b/external/skia/inc/skia_compiler.hxx
@@ -0,0 +1,13 @@
+/*
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef SKIA_COMPILER_H
+#define SKIA_COMPILER_H
+
+#include <include/core/SkTypes.h>
+
+SK_API const char* skia_compiler_name();
+
+#endif
diff --git a/external/skia/inc/skia_opts.hxx b/external/skia/inc/skia_opts.hxx
new file mode 100644
index 000000000..33f82f9d2
--- /dev/null
+++ b/external/skia/inc/skia_opts.hxx
@@ -0,0 +1,28 @@
+/*
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef SKIA_OPTS_H
+#define SKIA_OPTS_H
+
+#include <include/core/SkTypes.h>
+
+SK_API void SkConvertRGBToRGBA(uint32_t* dest, const uint8_t* src, int count);
+
+SK_API void SkConvertGrayToRGBA(uint32_t* dest, const uint8_t* src, int count);
+
+SK_API void SkConvertRGBAToRGB(uint8_t* dest, const uint32_t* src, int count);
+
+SK_API void SkConvertRGBAToR(uint8_t* dest, const uint32_t* src, int count);
+
+namespace SkLoOpts
+{
+SK_API void Init();
+
+typedef void (*Swizzle_u8_8888)(uint8_t*, const uint32_t*, int);
+extern Swizzle_u8_8888 RGB1_to_RGB, // i.e. remove an (opaque) alpha
+ RGB1_to_R; // i.e. copy one channel to the result
+}
+
+#endif