skia2/include/core
Mike Klein 022cfa258d Add FIFO thread pool, use it for most things.
We like a LIFO default thread pool in tools like DM for better
memory/time locality... the bots use less memory this way, and
generally run faster.

But most use cases want a FIFO queue, so that they can get going
on the next parts of early work while later work is still running.

This splits the implementation into one using SkTArray and pop_back
for LIFO, and a new one using std::deque and pop_front for FIFO.

Change-Id: Ief203b6869a00f1f8084019431a781d15fc63750
Reviewed-on: https://skia-review.googlesource.com/41849
Commit-Queue: Mike Klein <mtklein@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Yuqian Li <liyuqian@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2017-09-01 16:19:47 +00:00
..
SkAnnotation.h remove unneeded flag for annotations 2016-03-05 06:00:12 -08:00
SkBBHFactory.h Remove stray semicolons. 2016-09-27 14:04:26 +00:00
SkBitmap.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkBlendMode.h move SkBlendMode_Name into public (for chrome) 2016-11-16 19:17:21 +00:00
SkBlurTypes.h move common blur types into central header 2014-04-28 16:25:35 +00:00
SkCanvas.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkClipOp.h add flag to hide deprecated clipops 2017-05-10 18:56:14 +00:00
SkColor.h remove unused SkPoint3 from SkColor.h 2017-07-22 19:30:37 +00:00
SkColorFilter.h Make GrFragmentProcessor be non-refcounted and use std::unique_ptr. 2017-08-11 14:13:26 +00:00
SkColorPriv.h Remove SK_SUPPORT_LEGACY_BROKEN_LERP support 2017-03-13 15:08:29 +00:00
SkColorSpace.h Hide ctors of SkShader, SkImage & SkColorSpace 2017-05-26 22:34:00 +00:00
SkColorSpaceXform.h add helper static to SkColorSpaceXform 2017-05-22 18:08:13 +00:00
SkColorSpaceXformCanvas.h Make xformer class for SkCSXCanvas, use for draw loopers 2017-03-30 18:02:58 +00:00
SkData.h Class delete call unsized delete when size not known. 2016-10-19 21:41:00 +00:00
SkDataTable.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkDeferredDisplayListRecorder.h DeferredDisplayList API proposal 2017-08-30 19:25:47 +00:00
SkDeque.h This CL addresses "SkCanvas::save flags are not respected by GPU backend" (https://code.google.com/p/skia/issues/detail?id=1503). 2013-08-16 00:53:34 +00:00
SkDocument.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkDrawable.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkDrawFilter.h SkPaintFilterCanvas cleanup 2016-01-12 12:14:10 -08:00
SkDrawLooper.h Make xformer class for SkCSXCanvas, use for draw loopers 2017-03-30 18:02:58 +00:00
SkEncodedImageFormat.h Reland "skia: add heif decoding support" 2017-08-18 14:40:29 +00:00
SkExecutor.h Add FIFO thread pool, use it for most things. 2017-09-01 16:19:47 +00:00
SkFilterQuality.h Skia Filter Quality and Scaling Metrics 2016-04-18 09:14:00 -07:00
SkFlattenable.h Remove SkLightingShader and associated classes 2017-08-07 13:33:49 +00:00
SkFlattenableSerialization.h hide setImageFilter(ptr) 2016-11-01 16:05:41 +00:00
SkFont.h typedef uint16_t SkGlyphID 2016-07-25 07:18:12 -07:00
SkFontArguments.h Add SkTypeface::getVariationDesignPosition. 2017-02-24 16:59:05 +00:00
SkFontLCDConfig.h Add SK_API to SkFontLCDConfig. 2016-05-03 11:56:03 -07:00
SkFontStyle.h Remove union from SkFontStyle. 2017-07-31 20:24:47 +00:00
SkGraphics.h add API to change max pointsize for font cache 2017-06-01 20:55:16 +00:00
SkICC.h Improve comment in SkICC.h 2017-02-24 20:35:57 +00:00
SkImage.h make SkColorTable private 2017-07-22 20:47:37 +00:00
SkImageDeserializer.h Deserialize pictures with custom image-deserializer 2016-08-11 03:55:15 -07:00
SkImageEncoder.h Add support for webp lossless compression 2017-05-17 02:24:29 +00:00
SkImageFilter.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkImageGenerator.h Make SkImage_Lazy::onMakeColorSpace return a SkImage_Lazy 2017-07-10 17:45:28 +00:00
SkImageInfo.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkMallocPixelRef.h removed dead colortable code 2017-07-19 22:20:57 +00:00
SkMask.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkMaskFilter.h Retract GrTexture.h a bit 2017-06-09 17:29:09 +00:00
SkMath.h SkLiteDL: remove freelisting, add reset() and SKLITEDL_PAGE knob. 2016-08-16 09:36:18 -07:00
SkMatrix44.h Add some thread safety notes. 2017-03-02 13:44:49 +00:00
SkMatrix.h Revert "Revert "Revert "Revert "Add GrTextureOp and use to implement SkGpuDevice::drawImage[Rect]() when possible"""" 2017-08-28 20:02:16 +00:00
SkMetaData.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkMilestone.h Update Skia milestone to 63 2017-08-31 13:34:51 +00:00
SkMultiPictureDraw.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkOverdrawCanvas.h Add SK_API to SkOverdrawCanvas and SkOverdrawColorFilter. 2017-08-18 16:53:49 +00:00
SkPaint.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkPath.h work on path 2017-08-30 11:06:02 +00:00
SkPathEffect.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkPathMeasure.h Move seg_to to a new header, define SkSegType enum there 2016-08-09 09:38:30 -07:00
SkPicture.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkPictureAnalyzer.h Revert[2] "remove SK_SUPPORT_LEGACY_CLIP_REGIONOPS" 2016-12-09 14:33:41 +00:00
SkPictureRecorder.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkPixelRef.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkPixelSerializer.h Revert "Revert "remove dead code for legacy image encode api"" 2017-07-18 21:08:35 +00:00
SkPixmap.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkPngChunkReader.h Delete SkImageDecoder 2016-03-24 10:41:47 -07:00
SkPoint3.h Update SkLightingShader to support rotation 2015-08-20 05:15:07 -07:00
SkPoint.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkPostConfig.h clang on windows support 2017-07-31 18:39:23 +00:00
SkPreConfig.h use __BYTE_ORDER__ macro to detect endianness when available 2016-11-28 21:07:47 +00:00
SkRasterHandleAllocator.h Make header files self-sufficient 2017-02-10 01:19:52 +00:00
SkRasterizer.h Revert of Delete SkFlattenable::Type (patchset #2 id:20001 of https://codereview.chromium.org/1834303003/ ) 2016-04-04 14:57:19 -07:00
SkRect.h change SkRect::growToInclude to take a point instead of x,y 2017-08-28 17:54:06 +00:00
SkRefCnt.h Only perform SkSafeRef race detection if on android framework 2017-03-23 14:32:47 +00:00
SkRegion.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkRRect.h Validate rrect type in SkRRect::isValid 2017-08-23 21:47:27 +00:00
SkRSXform.h Make header files self-sufficient 2017-02-10 01:19:52 +00:00
SkRWBuffer.h Remove deprecated SkRWBuffer snapshot methods 2017-06-02 15:44:57 +00:00
SkScalar.h Revert "Revert "Revert "Revert "Add GrTextureOp and use to implement SkGpuDevice::drawImage[Rect]() when possible"""" 2017-08-28 20:02:16 +00:00
SkShader.h SkShader::asACompose is android-only 2017-06-09 17:29:08 +00:00
SkSize.h SkSize can be aggregate-initialized 2017-04-11 18:57:20 +00:00
SkStream.h SkFILEStream::Make: fix leak. 2017-08-28 20:36:07 +00:00
SkString.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkStrokeRec.h Unify implementations of stroking radius calculationsns 2016-04-29 07:07:03 -07:00
SkSurface.h Revert "Revert "Revert "Revert "Remove GrBackendRenderTargetDesc in favor of GrBackendRenderTarget."""" 2017-08-31 20:04:12 +00:00
SkSurfaceProps.h remove disable aa/dither flags from Props -- never used 2016-08-18 09:30:44 -07:00
SkSwizzle.h Add missing SK_API to SkSwizzle.h 2016-03-24 07:50:14 -07:00
SkTextBlob.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkTime.h Make SkTime SK_API so that SkTime::GetDateTime() is visible to the clients. 2016-05-02 15:04:46 -07:00
SkTLazy.h Fix SkTLazy(const T*) initialization 2016-08-24 11:03:24 -07:00
SkTraceMemoryDump.h Add support for light dumps in SkTraceMemoryDump interface. 2015-09-30 04:31:23 -07:00
SkTypeface.h Remove SkTypeface::style(). 2017-08-15 20:57:57 +00:00
SkTypes.h Undo unwanted change to SkTypes.h. 2017-08-28 19:09:19 +00:00
SkUnPreMultiply.h Factor out UnPreMultiplyPreservingByteOrder 2014-01-15 22:24:58 +00:00
SkVertices.h remove legacy vertices flag and code 2017-04-06 12:58:46 +00:00
SkWriteBuffer.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkWriter32.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkYUVSizeInfo.h Make header files self-sufficient 2017-02-10 01:19:52 +00:00