skia2/gn/core.gni

535 lines
17 KiB
Plaintext
Raw Normal View History

# Copyright 2016 Google Inc.
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# Things are easiest for everyone if these source paths are absolute.
_src = get_path_info("../src", "abspath")
_include = get_path_info("../include", "abspath")
skia_core_sources = [
"$_src/c/sk_paint.cpp",
"$_src/c/sk_surface.cpp",
"$_src/c/sk_types_priv.h",
"$_src/core/Sk4px.h",
"$_src/core/SkAAClip.cpp",
"$_src/core/SkAnnotation.cpp",
"$_src/core/SkAdvancedTypefaceMetrics.h",
"$_src/core/SkAlphaRuns.cpp",
"$_src/core/SkAntiRun.h",
"$_src/core/SkATrace.cpp",
"$_src/core/SkATrace.h",
"$_src/core/SkAutoPixmapStorage.h",
"$_src/core/SkAutoPixmapStorage.cpp",
"$_src/core/SkBBHFactory.cpp",
"$_src/core/SkBBoxHierarchy.h",
"$_src/core/SkBigPicture.cpp",
"$_src/core/SkBitmap.cpp",
"$_src/core/SkBitmapCache.cpp",
"$_src/core/SkBitmapController.cpp",
"$_src/core/SkBitmapDevice.cpp",
"$_src/core/SkBitmapDevice.h",
"$_src/core/SkBitmapProcState.cpp",
"$_src/core/SkBitmapProcState.h",
"$_src/core/SkBitmapProcState_filter.h",
"$_src/core/SkBitmapProcState_matrix.h",
"$_src/core/SkBitmapProcState_matrix_template.h",
"$_src/core/SkBitmapProcState_matrixProcs.cpp",
"$_src/core/SkBitmapProcState_procs.h",
"$_src/core/SkBitmapProcState_sample.h",
"$_src/core/SkBitmapProcState_shaderproc.h",
"$_src/core/SkBitmapProcState_utils.h",
"$_src/core/SkBitmapProvider.cpp",
"$_src/core/SkBitmapProvider.h",
"$_src/core/SkBlendMode.cpp",
"$_src/core/SkBlitBWMaskTemplate.h",
"$_src/core/SkBlitMask.h",
"$_src/core/SkBlitMask_D32.cpp",
"$_src/core/SkBlitRow.h",
"$_src/core/SkBlitRow_D32.cpp",
"$_src/core/SkBlitter.h",
"$_src/core/SkBlitter.cpp",
"$_src/core/SkBlitter_A8.cpp",
"$_src/core/SkBlitter_ARGB32.cpp",
"$_src/core/SkBlitter_RGB565.cpp",
"$_src/core/SkBlitter_Sprite.cpp",
"$_src/core/SkBlurImageFilter.cpp",
"$_src/core/SkBlurMask.cpp",
"$_src/core/SkBlurMask.h",
"$_src/core/SkBlurMF.cpp",
"$_src/core/SkBuffer.cpp",
"$_src/core/SkCachedData.cpp",
"$_src/core/SkCanvas.cpp",
"$_src/core/SkCanvasPriv.cpp",
"$_src/core/SkCanvasPriv.h",
New analytic AA scan converter using delta (I call it DAA for now) DAA is: 1. Much simpler than AAA. SkScan_AAAPath.cpp is about 1700 lines. SkScan_DAAPath.cpp is about 300 lines. The whole DAA CL is only about 800 lines. 2. Much faster than AAA for complicated paths. The speedup applies to GL backend (including ccpr)! Here's the frame time of 'SampleApp --slide Chart' on macbook pro: AAA-raster: 33ms DAA-raster: 21ms AAA-gl: 30ms DAA-gl: 20ms AAA-ccpr: 18ms DAA-ccpr: 12ms My linux desktop doesn't have SSE3 so the speedup is smaller (~25% for Chart). I believe that DAA is so fast that I can enable it for any paths (AAA is not enabled by default for complicated paths because it is slow; hence our older supersampling scan converter is used for stroking on Chart for AAA-xxx config.) 3. The SkCoverageDelta is suitable for threaded backend with out-of-order concurrent scan conversion as commented in the source code. Maybe we can also just send deltas to GPU. 4. Similar to most analytic path renderers, the quality is on the best ground-truth level, unless there are intersections within a pixel. The intersections look good to my eyes although theoretically that could be arbitrary far from the ground truth (see my AAA slides). 5. For simple paths, such as circle, triangle, rrect, etc., DAA is slower than AAA. But DAA is faster than our older supersampling scan converter in most cases. As those simple paths usually don't constitute the bottleneck of a picture (skp or svg), I strongly recommend use DAA. 6. DAA also heavily favors blitMask so it may work quite well with SkRasterPipeline and SkRasterPipelineBlitter. Finally, please check https://skia-review.googlesource.com/c/22420/ which accelerate DAA by specializing blitCoverageDeltas for SkARGB32_Blitter and SkARGB32_Black_Blitter. It brings a little(<5%) speedup. But I couldn't figure out how to reduce the duplicate code so I don't intend to land it. Bug: skia: Change-Id: I3b7ed6a727447922e645b1acb737a506e7c09a4c Reviewed-on: https://skia-review.googlesource.com/19666 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
2017-07-25 15:26:31 +00:00
"$_src/core/SkCoverageDelta.h",
"$_src/core/SkCoverageDelta.cpp",
"$_src/core/SkClipStack.cpp",
"$_src/core/SkClipStack.h",
"$_src/core/SkClipStackDevice.cpp",
"$_src/core/SkClipStackDevice.h",
"$_src/core/SkColor.cpp",
"$_src/core/SkColorFilter.cpp",
"$_src/core/SkColorLookUpTable.cpp",
"$_src/core/SkColorLookUpTable.h",
"$_src/core/SkColorMatrixFilterRowMajor255.cpp",
"$_src/core/SkColorMatrixFilterRowMajor255.h",
"$_src/core/SkColorSpace.cpp",
"$_src/core/SkColorSpace_A2B.cpp",
"$_src/core/SkColorSpace_A2B.h",
"$_src/core/SkColorSpace_XYZ.cpp",
"$_src/core/SkColorSpace_XYZ.h",
"$_src/core/SkColorSpace_ICC.cpp",
"$_src/core/SkColorSpaceXform.cpp",
"$_src/core/SkColorSpaceXformCanvas.cpp",
"$_src/core/SkColorSpaceXformer.cpp",
"$_src/core/SkColorSpaceXformer.h",
"$_src/core/SkColorSpaceXform_A2B.cpp",
"$_src/core/SkColorSpaceXform_A2B.h",
"$_src/core/SkColorTable.cpp",
"$_src/core/SkConvertPixels.cpp",
"$_src/core/SkConvertPixels.h",
"$_src/core/SkCoreBlitters.h",
"$_src/core/SkCpu.cpp",
"$_src/core/SkCpu.h",
"$_src/core/SkCubicClipper.cpp",
"$_src/core/SkCubicClipper.h",
"$_src/core/SkCubicMap.cpp",
"$_src/core/SkCubicMap.h",
"$_src/core/SkData.cpp",
"$_src/core/SkDataTable.cpp",
"$_src/core/SkDebug.cpp",
"$_src/core/SkDeferredDisplayList.cpp",
"$_src/core/SkDeferredDisplayListRecorder.cpp",
"$_src/core/SkDeque.cpp",
"$_src/core/SkDescriptor.h",
"$_src/core/SkDevice.cpp",
"$_src/core/SkDevice.h",
"$_src/core/SkDeviceProfile.cpp",
"$_src/core/SkDiscardableMemory.h",
"$_src/lazy/SkDiscardableMemoryPool.cpp",
"$_src/core/SkDistanceFieldGen.cpp",
"$_src/core/SkDistanceFieldGen.h",
"$_src/core/SkDither.cpp",
"$_src/core/SkDither.h",
"$_src/core/SkDocument.cpp",
"$_src/core/SkDraw.cpp",
"$_src/core/SkDraw_vertices.cpp",
"$_src/core/SkDraw.h",
"$_src/core/SkDrawable.cpp",
"$_src/core/SkDrawLooper.cpp",
"$_src/core/SkDrawProcs.h",
"$_src/core/SkDrawShadowInfo.cpp",
"$_src/core/SkDrawShadowInfo.h",
"$_src/core/SkEdgeBuilder.cpp",
"$_src/core/SkEdgeBuilder.h",
"$_src/core/SkEdgeClipper.cpp",
"$_src/core/SkEdgeClipper.h",
"$_src/core/SkEndian.h",
"$_src/core/SkExecutor.cpp",
"$_src/core/SkAnalyticEdge.cpp",
"$_src/core/SkFDot6Constants.h",
"$_src/core/SkFDot6Constants.cpp",
"$_src/core/SkEdge.cpp",
"$_src/core/SkEdge.h",
"$_src/core/SkFDot6.h",
"$_src/core/SkFindAndPlaceGlyph.h",
"$_src/core/SkArenaAlloc.cpp",
"$_src/core/SkArenaAlloc.h",
"$_src/core/SkArenaAllocList.h",
"$_src/core/SkGaussFilter.cpp",
"$_src/core/SkGaussFilter.h",
"$_src/core/SkFlattenable.cpp",
"$_src/core/SkFont.cpp",
"$_src/core/SkFontLCDConfig.cpp",
"$_src/core/SkFontMgr.cpp",
"$_src/core/SkFontDescriptor.cpp",
"$_src/core/SkFontDescriptor.h",
"$_src/core/SkFontStream.cpp",
"$_src/core/SkFontStream.h",
"$_src/core/SkFuzzLogging.h",
"$_src/core/SkGeometry.cpp",
"$_src/core/SkGeometry.h",
"$_src/core/SkGlobalInitialization_core.cpp",
"$_src/core/SkGlyph.h",
"$_src/core/SkGlyph.cpp",
"$_src/core/SkGlyphCache.cpp",
"$_src/core/SkGlyphCache.h",
"$_src/core/SkGpuBlurUtils.h",
"$_src/core/SkGpuBlurUtils.cpp",
"$_src/core/SkGraphics.cpp",
"$_src/core/SkHalf.cpp",
"$_src/core/SkHalf.h",
Revert "Revert "WIP: Skia support library for ICC tasks"" This reverts commit eb733fbf56538838a36814c75cd03f917462cb22. Reason for revert: Revert patch was automatically merged incorrectly? Original change's description: > Revert "WIP: Skia support library for ICC tasks" > > This reverts commit fc8dc3194acb959ee5980b41766660ca0644bcab. > > Reason for revert: Breaks Build-Mac-Clang-Arm7-{Debug,Release}-iOS builds. > Example tasks: > * https://chromium-swarm.appspot.com/task?id=3322f668620b9e10&refresh=10 > * https://chromium-swarm.appspot.com/task?id=332296146331e810&refresh=10 > > Original change's description: > > WIP: Skia support library for ICC tasks > > > > As a starting point, this would be mostly trivial to implement using > > SkColorSpace. > > > > This also would give us the flexibility to begin to move all of > > the ICC related code from SkColorSpace to SkICC. > > > > What are the advantages of moving this away from SkColorSpace? > > (1) A long term goal (once Chrome uses SkCodec), might be to > > move SkColorSpace::MakeICC() out of the public API. That way, > > we can guarantee that we can draw to/from *any* SkColorSpace. > > (2) Keeps SkColorSpace separate from ICC-specific representations > > like SkColorSpaceTransferFn etc. > > > > BUG=skia: > > > > Change-Id: Iddeb9903221fb57fbfc01218d8641c928b4a5165 > > Reviewed-on: https://skia-review.googlesource.com/5676 > > Commit-Queue: Matt Sarett <msarett@google.com> > > Reviewed-by: Brian Osman <brianosman@google.com> > > Reviewed-by: Mike Reed <reed@google.com> > > > > TBR=mtklein@google.com,msarett@google.com,brianosman@google.com,reed@google.com,reviews@skia.org > BUG=skia: > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > > Change-Id: Ibdf272fce25892402bd3e85595fb8814cdf59856 > Reviewed-on: https://skia-review.googlesource.com/6232 > Commit-Queue: Ravi Mistry <rmistry@google.com> > Reviewed-by: Ravi Mistry <rmistry@google.com> > TBR=mtklein@google.com,rmistry@google.com,msarett@google.com,reviews@skia.org,brianosman@google.com,reed@google.com BUG=skia: NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I68b1624cfab8adfe31b17e1193a7766507dec8b0 Reviewed-on: https://skia-review.googlesource.com/6233 Commit-Queue: Ravi Mistry <rmistry@google.com> Reviewed-by: Ravi Mistry <rmistry@google.com>
2016-12-17 01:31:03 +00:00
"$_src/core/SkICC.cpp",
"$_src/core/SkImageFilter.cpp",
"$_src/core/SkImageFilterCache.cpp",
"$_src/core/SkImageFilterCache.h",
"$_src/core/SkImageInfo.cpp",
"$_src/core/SkImageCacherator.h",
"$_src/core/SkImageGenerator.cpp",
"$_src/core/SkLineClipper.cpp",
"$_src/core/SkLiteDL.cpp",
"$_src/core/SkLiteRecorder.cpp",
"$_src/core/SkLocalMatrixImageFilter.cpp",
"$_src/core/SkLocalMatrixImageFilter.h",
"$_src/core/SkMD5.cpp",
"$_src/core/SkMD5.h",
"$_src/core/SkMallocPixelRef.cpp",
"$_src/core/SkMask.cpp",
"$_src/core/SkMask.h",
Revert "Revert "Experimental blur code with 32 bit fix."" This reverts commit 27b3d272a8fcce24813212f5816b177090111ec6. Reason for revert: guard has landed in android Original change's description: > Revert "Experimental blur code with 32 bit fix." > > This reverts commit d4b2c537d058ad4cb890ba116d00aa86c3416c08. > > Reason for revert: speculative fix for android-roll > > java.lang.AssertionError: expected:<0> but was:<255> > at org.junit.Assert.fail(Assert.java:88) > at org.junit.Assert.failNotEquals(Assert.java:834) > at org.junit.Assert.assertEquals(Assert.java:645) > at org.junit.Assert.assertEquals(Assert.java:631) > at android.graphics.cts.BlurMaskFilterTest.verifyColor(BlurMaskFilterTest.java:79) > at android.graphics.cts.BlurMaskFilterTest.verifyQuadrants(BlurMaskFilterTest.java:72) > at android.graphics.cts.BlurMaskFilterTest.testBlurMaskFilter(BlurMaskFilterTest.java:56) > > Original change's description: > > Experimental blur code with 32 bit fix. > > > > This uses a new method of blurring that runs the three > > passes of the box filter in a single pass. This implementation > > currently only does 1x1 pixel at a time, but it should be simple > > to expand to 4x4 pixels at a time. > > > > On the blur_10_normal_high_quality benchmark, the new is 7% faster > > than the old code. For the blur_100.50_normal_high_quality > > benchmark, the new code is 11% slower. > > > > Bug: skia: > > Change-Id: I847270906b0ceac1dfbf43ab5446756689ef660f > > Reviewed-on: https://skia-review.googlesource.com/22700 > > Reviewed-by: Mike Reed <reed@google.com> > > Commit-Queue: Herb Derby <herb@google.com> > > TBR=herb@google.com,reed@google.com > > Change-Id: Ie84f6bf8872cae08c06d679f0c2f2e6c3d8a02a2 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/22880 > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Mike Reed <reed@google.com> TBR=herb@google.com,reed@google.com Change-Id: I393d1c05f83ccf98137201bc7b4e7d8e8b0e8742 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/23121 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
2017-07-13 17:16:34 +00:00
"$_src/core/SkMaskBlurFilter.h",
"$_src/core/SkMaskBlurFilter.cpp",
"$_src/core/SkMaskCache.cpp",
"$_src/core/SkMaskFilter.cpp",
"$_src/core/SkMaskGamma.cpp",
"$_src/core/SkMaskGamma.h",
"$_src/core/SkMath.cpp",
"$_src/core/SkMathPriv.h",
"$_src/core/SkMatrix.cpp",
"$_src/core/SkMatrix44.cpp",
"$_src/core/SkMatrixImageFilter.cpp",
"$_src/core/SkMatrixImageFilter.h",
"$_src/core/SkMatrixUtils.h",
"$_src/core/SkMetaData.cpp",
"$_src/core/SkMipMap.cpp",
"$_src/core/SkMipMap.h",
"$_src/core/SkMiniRecorder.cpp",
"$_src/core/SkMiniRecorder.h",
"$_src/core/SkModeColorFilter.cpp",
"$_src/core/SkMultiPictureDraw.cpp",
"$_src/core/SkNextID.h",
"$_src/core/SkLatticeIter.cpp",
"$_src/core/SkLatticeIter.h",
"$_src/core/SkNx.h",
"$_src/core/SkOpts.cpp",
"$_src/core/SkOpts.h",
"$_src/core/SkOrderedReadBuffer.h",
"$_src/core/SkOSFile.h",
"$_src/core/SkOverdrawCanvas.cpp",
"$_src/core/SkPaint.cpp",
"$_src/core/SkPaintDefaults.h",
"$_src/core/SkPaintPriv.cpp",
"$_src/core/SkPaintPriv.h",
"$_src/core/SkPath.cpp",
"$_src/core/SkPath_serial.cpp",
"$_src/core/SkPathEffect.cpp",
"$_src/core/SkPathMeasure.cpp",
"$_src/core/SkPathPriv.h",
"$_src/core/SkPathRef.cpp",
"$_src/core/SkPicture.cpp",
"$_src/core/SkPictureCommon.h",
"$_src/core/SkPictureData.cpp",
"$_src/core/SkPictureData.h",
"$_src/core/SkPictureFlat.cpp",
"$_src/core/SkPictureFlat.h",
"$_src/core/SkPictureImageGenerator.cpp",
"$_src/core/SkPicturePlayback.cpp",
"$_src/core/SkPicturePlayback.h",
"$_src/core/SkPictureRecord.cpp",
"$_src/core/SkPictureRecord.h",
"$_src/core/SkPictureRecorder.cpp",
"$_src/core/SkPixelRef.cpp",
"$_src/core/SkPixmap.cpp",
"$_src/core/SkPoint.cpp",
"$_src/core/SkPoint3.cpp",
"$_src/core/SkPtrRecorder.cpp",
"$_src/core/SkQuadClipper.cpp",
"$_src/core/SkQuadClipper.h",
"$_src/core/SkRasterClip.cpp",
"$_src/core/SkRasterPipeline.cpp",
"$_src/core/SkRasterPipelineBlitter.cpp",
"$_src/core/SkReadBuffer.h",
"$_src/core/SkReadBuffer.cpp",
"$_src/core/SkReader32.h",
"$_src/core/SkRecord.cpp",
"$_src/core/SkRecords.cpp",
"$_src/core/SkRecords.h",
"$_src/core/SkRecordDraw.cpp",
"$_src/core/SkRecordOpts.cpp",
"$_src/core/SkRecordOpts.h",
"$_src/core/SkRecordPattern.h",
"$_src/core/SkRecordedDrawable.cpp",
"$_src/core/SkRecorder.cpp",
"$_src/core/SkRect.cpp",
"$_src/core/SkRefDict.cpp",
"$_src/core/SkRegion.cpp",
"$_src/core/SkRegionPriv.h",
"$_src/core/SkRegion_path.cpp",
"$_src/core/SkRemoteGlyphCache.h",
"$_src/core/SkRemoteGlyphCache.cpp",
"$_src/core/SkResourceCache.cpp",
"$_src/core/SkRRect.cpp",
"$_src/core/SkRRectPriv.h",
"$_src/core/SkRTree.h",
"$_src/core/SkRTree.cpp",
"$_src/core/SkRWBuffer.cpp",
"$_src/core/SkScalar.cpp",
"$_src/core/SkScalerContext.cpp",
"$_src/core/SkScalerContext.h",
"$_src/core/SkScan.cpp",
"$_src/core/SkScan.h",
"$_src/core/SkScanPriv.h",
"$_src/core/SkScan_AAAPath.cpp",
New analytic AA scan converter using delta (I call it DAA for now) DAA is: 1. Much simpler than AAA. SkScan_AAAPath.cpp is about 1700 lines. SkScan_DAAPath.cpp is about 300 lines. The whole DAA CL is only about 800 lines. 2. Much faster than AAA for complicated paths. The speedup applies to GL backend (including ccpr)! Here's the frame time of 'SampleApp --slide Chart' on macbook pro: AAA-raster: 33ms DAA-raster: 21ms AAA-gl: 30ms DAA-gl: 20ms AAA-ccpr: 18ms DAA-ccpr: 12ms My linux desktop doesn't have SSE3 so the speedup is smaller (~25% for Chart). I believe that DAA is so fast that I can enable it for any paths (AAA is not enabled by default for complicated paths because it is slow; hence our older supersampling scan converter is used for stroking on Chart for AAA-xxx config.) 3. The SkCoverageDelta is suitable for threaded backend with out-of-order concurrent scan conversion as commented in the source code. Maybe we can also just send deltas to GPU. 4. Similar to most analytic path renderers, the quality is on the best ground-truth level, unless there are intersections within a pixel. The intersections look good to my eyes although theoretically that could be arbitrary far from the ground truth (see my AAA slides). 5. For simple paths, such as circle, triangle, rrect, etc., DAA is slower than AAA. But DAA is faster than our older supersampling scan converter in most cases. As those simple paths usually don't constitute the bottleneck of a picture (skp or svg), I strongly recommend use DAA. 6. DAA also heavily favors blitMask so it may work quite well with SkRasterPipeline and SkRasterPipelineBlitter. Finally, please check https://skia-review.googlesource.com/c/22420/ which accelerate DAA by specializing blitCoverageDeltas for SkARGB32_Blitter and SkARGB32_Black_Blitter. It brings a little(<5%) speedup. But I couldn't figure out how to reduce the duplicate code so I don't intend to land it. Bug: skia: Change-Id: I3b7ed6a727447922e645b1acb737a506e7c09a4c Reviewed-on: https://skia-review.googlesource.com/19666 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
2017-07-25 15:26:31 +00:00
"$_src/core/SkScan_DAAPath.cpp",
"$_src/core/SkScan_AntiPath.cpp",
"$_src/core/SkScan_Antihair.cpp",
"$_src/core/SkScan_Hairline.cpp",
"$_src/core/SkScan_Path.cpp",
"$_src/core/SkScopeExit.h",
"$_src/core/SkSemaphore.cpp",
"$_src/core/SkSharedMutex.cpp",
"$_src/core/SkSharedMutex.h",
"$_src/core/SkSinglyLinkedList.h",
"$_src/core/SkSpecialImage.cpp",
"$_src/core/SkSpecialImage.h",
"$_src/core/SkSpecialSurface.cpp",
"$_src/core/SkSpecialSurface.h",
"$_src/core/SkSpinlock.cpp",
"$_src/core/SkSpriteBlitter_ARGB32.cpp",
"$_src/core/SkSpriteBlitter_RGB565.cpp",
"$_src/core/SkSpriteBlitter.h",
"$_src/core/SkStream.cpp",
"$_src/core/SkStreamPriv.h",
"$_src/core/SkStrikeCache.cpp",
"$_src/core/SkStrikeCache.h",
"$_src/core/SkString.cpp",
"$_src/core/SkStringUtils.cpp",
"$_src/core/SkStroke.h",
"$_src/core/SkStroke.cpp",
"$_src/core/SkStrokeRec.cpp",
"$_src/core/SkStrokerPriv.cpp",
"$_src/core/SkStrokerPriv.h",
"$_src/core/SkSurfaceCharacterization.cpp",
"$_src/core/SkSurfacePriv.h",
"$_src/core/SkSwizzle.cpp",
"$_src/core/SkSRGB.cpp",
"$_src/core/SkTaskGroup.cpp",
"$_src/core/SkTaskGroup.h",
"$_src/core/SkTaskGroup2D.cpp",
"$_src/core/SkTaskGroup2D.h",
"$_src/core/SkTDPQueue.h",
"$_src/core/SkTDynamicHash.h",
"$_src/core/SkTInternalLList.h",
"$_src/core/SkTextBlob.cpp",
"$_src/core/SkTextBlobRunIterator.h",
"$_src/core/SkTextFormatParams.h",
"$_src/core/SkTextMapStateProc.h",
"$_src/core/SkTextToPathIter.h",
"$_src/core/SkTime.cpp",
# The Clang's false positive thread warnings have been resolved in SkTaskGroup2D.cpp
"$_src/core/SkThreadedBMPDevice.cpp",
"$_src/core/SkThreadedBMPDevice.h",
"$_src/core/SkThreadID.cpp",
"$_src/core/SkTLList.h",
"$_src/core/SkTLS.cpp",
"$_src/core/SkTMultiMap.h",
"$_src/core/SkTraceEvent.h",
"$_src/core/SkTraceEventCommon.h",
"$_src/core/SkTSearch.cpp",
"$_src/core/SkTSort.h",
"$_src/core/SkTTopoSort.h",
"$_src/core/SkTypeface.cpp",
"$_src/core/SkTypeface_remote.h",
"$_src/core/SkTypeface_remote.cpp",
"$_src/core/SkTypefaceCache.cpp",
"$_src/core/SkTypefaceCache.h",
"$_src/core/SkTypefacePriv.h",
"$_src/core/SkUnPreMultiply.cpp",
"$_src/core/SkUtils.cpp",
"$_src/core/SkUtils.h",
"$_src/core/SkValidationUtils.h",
"$_src/core/SkVertices.cpp",
"$_src/core/SkVertState.cpp",
"$_src/core/SkWriteBuffer.cpp",
"$_src/core/SkWriter32.cpp",
"$_src/core/SkWriter32.h",
"$_src/core/SkXfermode.cpp",
"$_src/core/SkXfermodeInterpretation.cpp",
"$_src/core/SkXfermodeInterpretation.h",
"$_src/core/SkYUVPlanesCache.cpp",
"$_src/core/SkYUVPlanesCache.h",
"$_src/image/SkImage.cpp",
# "$_src/image/SkImage_Gpu.cpp",
"$_src/image/SkImage_Lazy.cpp",
"$_src/image/SkImage_Raster.cpp",
"$_src/image/SkSurface.cpp",
"$_src/image/SkSurface_Base.h",
# "$_src/image/SkSurface_Gpu.cpp",
"$_src/image/SkSurface_Raster.cpp",
"$_src/pipe/SkPipeCanvas.cpp",
"$_src/pipe/SkPipeReader.cpp",
"$_src/shaders/SkBitmapProcShader.cpp",
"$_src/shaders/SkBitmapProcShader.h",
"$_src/shaders/SkColorFilterShader.cpp",
"$_src/shaders/SkColorFilterShader.h",
"$_src/shaders/SkColorShader.cpp",
"$_src/shaders/SkColorShader.h",
"$_src/shaders/SkComposeShader.cpp",
"$_src/shaders/SkComposeShader.h",
"$_src/shaders/SkEmptyShader.h",
"$_src/shaders/SkImageShader.cpp",
"$_src/shaders/SkImageShader.h",
"$_src/shaders/SkLocalMatrixShader.cpp",
"$_src/shaders/SkLocalMatrixShader.h",
"$_src/shaders/SkPictureShader.cpp",
"$_src/shaders/SkPictureShader.h",
"$_src/shaders/SkShader.cpp",
"$_src/shaders/SkShaderBase.h",
"$_include/core/SkBBHFactory.h",
"$_include/core/SkBitmap.h",
"$_include/core/SkCanvas.h",
"$_include/core/SkColor.h",
"$_include/core/SkColorFilter.h",
"$_include/core/SkColorPriv.h",
"$_include/core/SkData.h",
"$_include/core/SkDeferredDisplayListRecorder.h",
"$_include/core/SkDeque.h",
"$_include/core/SkDrawable.h",
"$_include/core/SkDrawFilter.h",
"$_include/core/SkDrawLooper.h",
"$_include/core/SkFlattenable.h",
"$_include/core/SkFontArguments.h",
"$_include/core/SkFontLCDConfig.h",
"$_include/core/SkFontStyle.h",
"$_include/core/SkGraphics.h",
"$_include/core/SkImage.h",
"$_include/core/SkImageEncoder.h",
"$_include/core/SkImageFilter.h",
"$_include/core/SkImageInfo.h",
"$_include/core/SkMallocPixelRef.h",
"$_include/core/SkMaskFilter.h",
"$_include/core/SkMath.h",
"$_include/core/SkMatrix.h",
"$_include/core/SkMatrix44.h",
"$_include/core/SkMetaData.h",
"$_include/core/SkMultiPictureDraw.h",
"$_include/core/SkOverdrawCanvas.h",
"$_include/core/SkPaint.h",
"$_include/core/SkPath.h",
"$_include/core/SkPathEffect.h",
"$_include/core/SkPathMeasure.h",
"$_include/core/SkPicture.h",
"$_include/core/SkPictureRecorder.h",
"$_include/core/SkPixelRef.h",
"$_include/core/SkPoint.h",
"$_include/core/SkPoint3.h",
"$_include/core/SkPreConfig.h",
"$_include/core/SkRect.h",
"$_include/core/SkRefCnt.h",
"$_include/core/SkRegion.h",
"$_include/core/SkRRect.h",
"$_include/core/SkScalar.h",
"$_include/core/SkShader.h",
"$_include/core/SkStream.h",
"$_include/core/SkString.h",
"$_include/core/SkStrokeRec.h",
"$_include/core/SkSurface.h",
"$_include/core/SkSurfaceCharacterization.h",
"$_include/core/SkSwizzle.h",
"$_include/core/SkTextBlob.h",
"$_include/core/SkTime.h",
"$_include/core/SkTLazy.h",
"$_include/core/SkTypeface.h",
"$_include/core/SkTypes.h",
"$_include/core/SkUnPreMultiply.h",
"$_include/core/SkVertices.h",
Reland "Reland "make SkJumper stages normal Skia code"" This is a reland of 78cb579f33943421afc8423a39867fcfd69fed44 This time, lowp stages are controlled by !defined(JUMPER_IS_SCALAR), not by defined(__clang__). The two are usually the same, except when we opt Clang builds into JUMPER_IS_SCALAR artificially. Some Google3 builds use compilers old enough that they barf when compiling our NEON code. It's conceivably also possible to define JUMPER_IS_SCALAR yourself, but I don't think anyone does that. Original change's description: > Reland "make SkJumper stages normal Skia code" > > This is a reland of 22e536e3a1a09405d1c0e6f071717a726d86e8d4 > > Now with fixed #include paths in SkRasterPipeline_opts.h, > and -ffp-contract=fast for the :hsw target to minimize > diffs on non-Windows Clang AVX2/AVX-512 bots. > > Original change's description: > > make SkJumper stages normal Skia code > > > > Enough clients are using Clang now that we can say, use Clang to build > > if you want these software pipeline stages to go fast. > > > > This lets us drop the offline build aspect of SkJumper stages, instead > > building as part of Skia using the SkOpts framework. > > > > I think everything should work, except I've (temporarily) removed > > AVX-512 support. I will put this back in a follow up. > > > > I have had to drop Windows down to __vectorcall and our narrower > > stage calling convention that keeps the d-registers on the stack. > > I tried forcing sysv_abi, but that crashed Clang. :/ > > > > Added a TODO to up the same narrower stage calling convention > > for lowp stages... we just *don't* today, for no good reason. > > > > Change-Id: Iaaa792ffe4deab3508d2dc5d0008c163c24b3383 > > Reviewed-on: https://skia-review.googlesource.com/110641 > > Commit-Queue: Mike Klein <mtklein@chromium.org> > > Reviewed-by: Herb Derby <herb@google.com> > > Reviewed-by: Florin Malita <fmalita@chromium.org> > > Change-Id: I44f2c03d33958e3807747e40904b6351957dd448 > Reviewed-on: https://skia-review.googlesource.com/112742 > Reviewed-by: Mike Klein <mtklein@chromium.org> Change-Id: I3d71197d4bbb19ca4a94961a97fa2e54d5cbfb0d Reviewed-on: https://skia-review.googlesource.com/112744 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
2018-02-27 15:37:40 +00:00
"$_src/jumper/SkJumper.cpp",
# private
"$_include/private/SkAtomics.h",
"$_include/private/SkChecksum.h",
"$_include/private/SkDeferredDisplayList.h",
"$_include/private/SkFixed.h",
"$_include/private/SkFloatBits.h",
"$_include/private/SkFloatingPoint.h",
"$_include/private/SkMalloc.h",
"$_include/private/SkMessageBus.h",
"$_include/private/SkMutex.h",
"$_include/private/SkOnce.h",
"$_include/private/SkPathRef.h",
"$_include/private/SkSemaphore.h",
"$_include/private/SkShadowFlags.h",
"$_include/private/SkSpinlock.h",
"$_include/private/SkTemplates.h",
"$_include/private/SkTArray.h",
"$_include/private/SkTDArray.h",
"$_include/private/SkTFitsIn.h",
"$_include/private/SkTHash.h",
"$_include/private/SkThreadID.h",
"$_include/private/SkTSearch.h",
"$_include/private/SkTLogic.h",
"$_include/private/SkWeakRefCnt.h",
# Path ops
"$_include/pathops/SkPathOps.h",
"$_src/pathops/SkAddIntersections.cpp",
"$_src/pathops/SkDConicLineIntersection.cpp",
"$_src/pathops/SkDCubicLineIntersection.cpp",
"$_src/pathops/SkDCubicToQuads.cpp",
"$_src/pathops/SkDLineIntersection.cpp",
"$_src/pathops/SkDQuadLineIntersection.cpp",
"$_src/pathops/SkIntersections.cpp",
"$_src/pathops/SkOpAngle.cpp",
"$_src/pathops/SkOpBuilder.cpp",
"$_src/pathops/SkOpCoincidence.cpp",
"$_src/pathops/SkOpContour.cpp",
"$_src/pathops/SkOpCubicHull.cpp",
"$_src/pathops/SkOpEdgeBuilder.cpp",
"$_src/pathops/SkOpSegment.cpp",
"$_src/pathops/SkOpSpan.cpp",
"$_src/pathops/SkPathOpsCommon.cpp",
"$_src/pathops/SkPathOpsConic.cpp",
"$_src/pathops/SkPathOpsCubic.cpp",
"$_src/pathops/SkPathOpsCurve.cpp",
"$_src/pathops/SkPathOpsDebug.cpp",
"$_src/pathops/SkPathOpsLine.cpp",
"$_src/pathops/SkPathOpsOp.cpp",
"$_src/pathops/SkPathOpsPoint.cpp",
"$_src/pathops/SkPathOpsQuad.cpp",
"$_src/pathops/SkPathOpsRect.cpp",
"$_src/pathops/SkPathOpsSimplify.cpp",
"$_src/pathops/SkPathOpsTSect.cpp",
"$_src/pathops/SkPathOpsTightBounds.cpp",
"$_src/pathops/SkPathOpsTypes.cpp",
"$_src/pathops/SkPathOpsWinding.cpp",
"$_src/pathops/SkPathWriter.cpp",
"$_src/pathops/SkReduceOrder.cpp",
"$_src/pathops/SkAddIntersections.h",
"$_src/pathops/SkIntersectionHelper.h",
"$_src/pathops/SkIntersections.h",
"$_src/pathops/SkLineParameters.h",
"$_src/pathops/SkOpAngle.h",
"$_src/pathops/SkOpCoincidence.h",
"$_src/pathops/SkOpContour.h",
"$_src/pathops/SkOpEdgeBuilder.h",
"$_src/pathops/SkOpSegment.h",
"$_src/pathops/SkOpSpan.h",
"$_src/pathops/SkPathOpsBounds.h",
"$_src/pathops/SkPathOpsCommon.h",
"$_src/pathops/SkPathOpsConic.h",
"$_src/pathops/SkPathOpsCubic.h",
"$_src/pathops/SkPathOpsCurve.h",
"$_src/pathops/SkPathOpsDebug.h",
"$_src/pathops/SkPathOpsLine.h",
"$_src/pathops/SkPathOpsPoint.h",
"$_src/pathops/SkPathOpsQuad.h",
"$_src/pathops/SkPathOpsRect.h",
"$_src/pathops/SkPathOpsTSect.h",
"$_src/pathops/SkPathOpsTypes.h",
"$_src/pathops/SkPathWriter.h",
"$_src/pathops/SkReduceOrder.h",
]
Reland "Reland "make SkJumper stages normal Skia code"" This is a reland of 78cb579f33943421afc8423a39867fcfd69fed44 This time, lowp stages are controlled by !defined(JUMPER_IS_SCALAR), not by defined(__clang__). The two are usually the same, except when we opt Clang builds into JUMPER_IS_SCALAR artificially. Some Google3 builds use compilers old enough that they barf when compiling our NEON code. It's conceivably also possible to define JUMPER_IS_SCALAR yourself, but I don't think anyone does that. Original change's description: > Reland "make SkJumper stages normal Skia code" > > This is a reland of 22e536e3a1a09405d1c0e6f071717a726d86e8d4 > > Now with fixed #include paths in SkRasterPipeline_opts.h, > and -ffp-contract=fast for the :hsw target to minimize > diffs on non-Windows Clang AVX2/AVX-512 bots. > > Original change's description: > > make SkJumper stages normal Skia code > > > > Enough clients are using Clang now that we can say, use Clang to build > > if you want these software pipeline stages to go fast. > > > > This lets us drop the offline build aspect of SkJumper stages, instead > > building as part of Skia using the SkOpts framework. > > > > I think everything should work, except I've (temporarily) removed > > AVX-512 support. I will put this back in a follow up. > > > > I have had to drop Windows down to __vectorcall and our narrower > > stage calling convention that keeps the d-registers on the stack. > > I tried forcing sysv_abi, but that crashed Clang. :/ > > > > Added a TODO to up the same narrower stage calling convention > > for lowp stages... we just *don't* today, for no good reason. > > > > Change-Id: Iaaa792ffe4deab3508d2dc5d0008c163c24b3383 > > Reviewed-on: https://skia-review.googlesource.com/110641 > > Commit-Queue: Mike Klein <mtklein@chromium.org> > > Reviewed-by: Herb Derby <herb@google.com> > > Reviewed-by: Florin Malita <fmalita@chromium.org> > > Change-Id: I44f2c03d33958e3807747e40904b6351957dd448 > Reviewed-on: https://skia-review.googlesource.com/112742 > Reviewed-by: Mike Klein <mtklein@chromium.org> Change-Id: I3d71197d4bbb19ca4a94961a97fa2e54d5cbfb0d Reviewed-on: https://skia-review.googlesource.com/112744 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
2018-02-27 15:37:40 +00:00
skia_core_defines = [] # Used to be used by Chromium, but no longer.