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.hxx567
-rw-r--r--external/skia/inc/skia_compiler.hxx13
-rw-r--r--external/skia/inc/skia_opts.hxx28
4 files changed, 620 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 0000000000..8892e30fd7
--- /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 0000000000..a37318ba07
--- /dev/null
+++ b/external/skia/inc/pch/precompiled_skia.hxx
@@ -0,0 +1,567 @@
+/* -*- 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 2023-07-09 12:12:38 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 <cassert>
+#include <cctype>
+#include <cerrno>
+#include <cfloat>
+#include <chrono>
+#include <cinttypes>
+#include <climits>
+#include <cmath>
+#include <csetjmp>
+#include <cstddef>
+#include <cstdint>
+#include <cstdio>
+#include <cstdlib>
+#include <cstring>
+#include <ctype.h>
+#include <deque>
+#include <errno.h>
+#include <float.h>
+#include <forward_list>
+#include <functional>
+#include <initializer_list>
+#include <inttypes.h>
+#include <iterator>
+#include <limits.h>
+#include <limits>
+#include <locale>
+#include <memory>
+#include <new>
+#include <numeric>
+#include <optional>
+#include <png.h>
+#include <pngconf.h>
+#include <queue>
+#include <ratio>
+#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 <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/codec/SkAndroidCodec.h>
+#include <include/codec/SkCodec.h>
+#include <include/codec/SkCodecAnimation.h>
+#include <include/codec/SkEncodedImageFormat.h>
+#include <include/codec/SkEncodedOrigin.h>
+#include <include/codec/SkPixmapUtils.h>
+#include <include/codec/SkPngChunkReader.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/SkCapabilities.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/SkColorTable.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/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/SkImage.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/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/SkPathUtils.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/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/SkSurfaceProps.h>
+#include <include/core/SkSwizzle.h>
+#include <include/core/SkTextBlob.h>
+#include <include/core/SkTileMode.h>
+#include <include/core/SkTiledImageUtils.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/SkColorMatrix.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/SkTableMaskFilter.h>
+#include <include/effects/SkTrimPathEffect.h>
+#include <include/encode/SkEncoder.h>
+#include <include/encode/SkICC.h>
+#include <include/encode/SkPngEncoder.h>
+#include <include/gpu/GrDirectContext.h>
+#include <include/pathops/SkPathOps.h>
+#include <include/ports/SkRemotableFontMgr.h>
+#include <include/private/SkBitmaskEnum.h>
+#include <include/private/SkColorData.h>
+#include <include/private/SkEncodedInfo.h>
+#include <include/private/SkGainmapInfo.h>
+#include <include/private/SkIDChangeListener.h>
+#include <include/private/SkPathRef.h>
+#include <include/private/SkSLDefines.h>
+#include <include/private/SkSLSampleUsage.h>
+#include <include/private/SkShadowFlags.h>
+#include <include/private/base/SkAlign.h>
+#include <include/private/base/SkAssert.h>
+#include <include/private/base/SkCPUTypes.h>
+#include <include/private/base/SkContainers.h>
+#include <include/private/base/SkDebug.h>
+#include <include/private/base/SkDeque.h>
+#include <include/private/base/SkFeatures.h>
+#include <include/private/base/SkFixed.h>
+#include <include/private/base/SkFloatBits.h>
+#include <include/private/base/SkFloatingPoint.h>
+#include <include/private/base/SkMacros.h>
+#include <include/private/base/SkMalloc.h>
+#include <include/private/base/SkMath.h>
+#include <include/private/base/SkMutex.h>
+#include <include/private/base/SkNoncopyable.h>
+#include <include/private/base/SkOnce.h>
+#include <include/private/base/SkPathEnums.h>
+#include <include/private/base/SkPoint_impl.h>
+#include <include/private/base/SkSafe32.h>
+#include <include/private/base/SkSemaphore.h>
+#include <include/private/base/SkSpan_impl.h>
+#include <include/private/base/SkTArray.h>
+#include <include/private/base/SkTDArray.h>
+#include <include/private/base/SkTFitsIn.h>
+#include <include/private/base/SkTPin.h>
+#include <include/private/base/SkTemplates.h>
+#include <include/private/base/SkThreadAnnotations.h>
+#include <include/private/base/SkThreadID.h>
+#include <include/private/base/SkTo.h>
+#include <include/private/chromium/SkChromeRemoteGlyphCache.h>
+#include <include/private/chromium/SkDiscardableMemory.h>
+#include <include/private/chromium/Slug.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/SkShadowUtils.h>
+#include <include/utils/SkTextUtils.h>
+#include <include/utils/SkTraceEventPhase.h>
+#include <modules/skcms/skcms.h>
+#include <src/base/SkArenaAlloc.h>
+#include <src/base/SkAutoMalloc.h>
+#include <src/base/SkBezierCurves.h>
+#include <src/base/SkBlockAllocator.h>
+#include <src/base/SkBuffer.h>
+#include <src/base/SkCubics.h>
+#include <src/base/SkEndian.h>
+#include <src/base/SkHalf.h>
+#include <src/base/SkLeanWindows.h>
+#include <src/base/SkMSAN.h>
+#include <src/base/SkMathPriv.h>
+#include <src/base/SkNoDestructor.h>
+#include <src/base/SkQuads.h>
+#include <src/base/SkRandom.h>
+#include <src/base/SkRectMemcpy.h>
+#include <src/base/SkSafeMath.h>
+#include <src/base/SkScopeExit.h>
+#include <src/base/SkSharedMutex.h>
+#include <src/base/SkSpinlock.h>
+#include <src/base/SkStringView.h>
+#include <src/base/SkTDPQueue.h>
+#include <src/base/SkTInternalLList.h>
+#include <src/base/SkTLazy.h>
+#include <src/base/SkTSearch.h>
+#include <src/base/SkTSort.h>
+#include <src/base/SkUTF.h>
+#include <src/base/SkUtils.h>
+#include <src/base/SkVx.h>
+#include <src/base/SkZip.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/SkColorPalette.h>
+#include <src/codec/SkFrameHolder.h>
+#include <src/codec/SkIcoCodec.h>
+#include <src/codec/SkMaskSwizzler.h>
+#include <src/codec/SkMasks.h>
+#include <src/codec/SkPixmapUtilsPriv.h>
+#include <src/codec/SkPngCodec.h>
+#include <src/codec/SkPngPriv.h>
+#include <src/codec/SkSampledCodec.h>
+#include <src/codec/SkSampler.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/SkAlphaRuns.h>
+#include <src/core/SkAnalyticEdge.h>
+#include <src/core/SkAnnotationKeys.h>
+#include <src/core/SkAutoBlitterChoose.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/SkBlitter_A8.h>
+#include <src/core/SkBlurMask.h>
+#include <src/core/SkBlurMaskFilterImpl.h>
+#include <src/core/SkCachedData.h>
+#include <src/core/SkCanvasPriv.h>
+#include <src/core/SkChecksum.h>
+#include <src/core/SkClipStack.h>
+#include <src/core/SkClipStackDevice.h>
+#include <src/core/SkColorFilterPriv.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/SkDescriptor.h>
+#include <src/core/SkDevice.h>
+#include <src/core/SkDistanceFieldGen.h>
+#include <src/core/SkDraw.h>
+#include <src/core/SkDrawBase.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/SkEnumerate.h>
+#include <src/core/SkFDot6.h>
+#include <src/core/SkFilterColorProgram.h>
+#include <src/core/SkFontDescriptor.h>
+#include <src/core/SkFontMetricsPriv.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/SkGlyphRunPainter.h>
+#include <src/core/SkImageFilterCache.h>
+#include <src/core/SkImageFilterTypes.h>
+#include <src/core/SkImageFilter_Base.h>
+#include <src/core/SkImageInfoPriv.h>
+#include <src/core/SkImagePriv.h>
+#include <src/core/SkLRUCache.h>
+#include <src/core/SkLatticeIter.h>
+#include <src/core/SkLineClipper.h>
+#include <src/core/SkLocalMatrixImageFilter.h>
+#include <src/core/SkMD5.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/SkMatrixInvert.h>
+#include <src/core/SkMatrixPriv.h>
+#include <src/core/SkMatrixProvider.h>
+#include <src/core/SkMatrixUtils.h>
+#include <src/core/SkMessageBus.h>
+#include <src/core/SkMipmap.h>
+#include <src/core/SkMipmapAccessor.h>
+#include <src/core/SkMipmapBuilder.h>
+#include <src/core/SkNextID.h>
+#include <src/core/SkOSFile.h>
+#include <src/core/SkOpts.h>
+#include <src/core/SkPaintDefaults.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/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/SkPixelRefPriv.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/SkRasterPipelineOpContexts.h>
+#include <src/core/SkRasterPipelineOpList.h>
+#include <src/core/SkReadBuffer.h>
+#include <src/core/SkReadPixelsRec.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/SkRuntimeBlender.h>
+#include <src/core/SkRuntimeEffectPriv.h>
+#include <src/core/SkSLTypeShared.h>
+#include <src/core/SkSafeRange.h>
+#include <src/core/SkSamplingPriv.h>
+#include <src/core/SkScaleToSides.h>
+#include <src/core/SkScalerContext.h>
+#include <src/core/SkScan.h>
+#include <src/core/SkScanPriv.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/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/SkSwizzlePriv.h>
+#include <src/core/SkTDynamicHash.h>
+#include <src/core/SkTHash.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/SkTypefaceCache.h>
+#include <src/core/SkTypeface_remote.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/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/SkShaderMaskFilterImpl.h>
+#include <src/effects/SkTrimPE.h>
+#include <src/effects/colorfilters/SkBlendModeColorFilter.h>
+#include <src/effects/colorfilters/SkColorFilterBase.h>
+#include <src/effects/colorfilters/SkColorSpaceXformColorFilter.h>
+#include <src/effects/colorfilters/SkComposeColorFilter.h>
+#include <src/effects/colorfilters/SkGaussianColorFilter.h>
+#include <src/effects/colorfilters/SkMatrixColorFilter.h>
+#include <src/effects/colorfilters/SkRuntimeColorFilter.h>
+#include <src/effects/colorfilters/SkTableColorFilter.h>
+#include <src/effects/colorfilters/SkWorkingFormatColorFilter.h>
+#include <src/effects/imagefilters/SkCropImageFilter.h>
+#include <src/encode/SkICCPriv.h>
+#include <src/encode/SkImageEncoderFns.h>
+#include <src/encode/SkImageEncoderPriv.h>
+#include <src/encode/SkPngEncoderImpl.h>
+#include <src/image/SkImageGeneratorPriv.h>
+#include <src/image/SkImage_Base.h>
+#include <src/image/SkImage_Lazy.h>
+#include <src/image/SkImage_Picture.h>
+#include <src/image/SkImage_Raster.h>
+#include <src/image/SkPictureImageGenerator.h>
+#include <src/image/SkRescaleAndReadPixels.h>
+#include <src/image/SkSurface_Base.h>
+#include <src/image/SkSurface_Raster.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/SkPathOpsTCurve.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/SkBlendShader.h>
+#include <src/shaders/SkColorFilterShader.h>
+#include <src/shaders/SkColorShader.h>
+#include <src/shaders/SkCoordClampShader.h>
+#include <src/shaders/SkEmptyShader.h>
+#include <src/shaders/SkImageShader.h>
+#include <src/shaders/SkLocalMatrixShader.h>
+#include <src/shaders/SkPerlinNoiseShaderImpl.h>
+#include <src/shaders/SkPictureShader.h>
+#include <src/shaders/SkRuntimeShader.h>
+#include <src/shaders/SkShaderBase.h>
+#include <src/shaders/SkTransformShader.h>
+#include <src/shaders/SkTriColorShader.h>
+#include <src/shaders/gradients/SkConicalGradient.h>
+#include <src/shaders/gradients/SkGradientBaseShader.h>
+#include <src/shaders/gradients/SkLinearGradient.h>
+#include <src/shaders/gradients/SkRadialGradient.h>
+#include <src/shaders/gradients/SkSweepGradient.h>
+#include <src/text/GlyphRun.h>
+#include <src/text/StrikeForGPU.h>
+#include <src/utils/SkBitSet.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 <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 0000000000..a26ec29bdd
--- /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 0000000000..33f82f9d22
--- /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