skia2/include/core
jyasskin 951d854327 Revert of Parallel cache - preliminary (patchset #23 id:440001 of https://codereview.chromium.org/1264103003/ )
Also reverts https://codereview.chromium.org/1333003002/ which was layered on top.

Reason for revert:
Appears to leak GDI handles: http://build.chromium.org/p/chromium.memory.fyi/builders/Windows%20Unit%20%28DrMemory%20full%29%20%282%29/builds/8247

~~Dr.M~~ Error #1: HANDLE LEAK: GDI handle 0x03050a84 and 3 similar handle(s) were opened but not closed:
~~Dr.M~~ # 0 system call NtGdiCreateDIBSection
~~Dr.M~~ # 1 GDI32.dll!CreateDIBSection                                                +0xdc     (0x768ead23 <GDI32.dll+0x1ad23>)
~~Dr.M~~ # 2 skia.dll!HDCOffscreen::draw                                                [third_party\skia\src\ports\skfonthost_win.cpp:499]
~~Dr.M~~ # 3 skia.dll!SkScalerContext_GDI::generateImage                                [third_party\skia\src\ports\skfonthost_win.cpp:1233]
~~Dr.M~~ # 4 skia.dll!SkScalerContext::getImage                                         [third_party\skia\src\core\skscalercontext.cpp:530]
~~Dr.M~~ # 5 skia.dll!SkGlyphCache::OnceFillInImage                                     [third_party\skia\src\core\skglyphcache.cpp:252]
~~Dr.M~~ # 6 skia.dll!sk_once_slow<>                                                    [third_party\skia\include\core\skonce.h:76]
~~Dr.M~~ # 7 skia.dll!SkGlyphCache::findImage                                           [third_party\skia\src\core\skglyphcache.cpp:260]
~~Dr.M~~ # 8 skia.dll!D1G_RectClip                                                      [third_party\skia\src\core\skdraw.cpp:1479]
~~Dr.M~~ # 9 skia.dll!SkDraw::drawPosText                                               [third_party\skia\src\core\skdraw.cpp:1838]
~~Dr.M~~ #10 skia.dll!SkBitmapDevice::drawPosText                                       [third_party\skia\src\core\skbitmapdevice.cpp:348]
~~Dr.M~~ #11 skia.dll!SkCanvas::onDrawPosText                                           [third_party\skia\src\core\skcanvas.cpp:2433]
~~Dr.M~~ #12 skia.dll!SkCanvas::drawPosText                                             [third_party\skia\src\core\skcanvas.cpp:2507]
~~Dr.M~~ #13 skia.dll!SkRecords::Draw::draw<>                                           [third_party\skia\src\core\skrecorddraw.cpp:109]
~~Dr.M~~ #14 skia.dll!SkRecord::Record::visit<>                                         [third_party\skia\src\core\skrecord.h:170]
~~Dr.M~~ #15 skia.dll!SkRecordDraw                                                      [third_party\skia\src\core\skrecorddraw.cpp:55]
~~Dr.M~~ #16 skia.dll!SkBigPicture::playback                                            [third_party\skia\src\core\skbigpicture.cpp:43]
~~Dr.M~~ #17 skia.dll!SkCanvas::onDrawPicture                                           [third_party\skia\src\core\skcanvas.cpp:2800]
~~Dr.M~~ #18 skia.dll!SkCanvas::drawPicture                                             [third_party\skia\src\core\skcanvas.cpp:2770]
~~Dr.M~~ #19 cc.dll!cc::DrawingDisplayItem::Raster                                      [cc\playback\drawing_display_item.cc:51]
~~Dr.M~~ #20 cc.dll!cc::DisplayItemList::Raster                                         [cc\playback\display_item_list.cc:107]
~~Dr.M~~ #21 cc.dll!cc::DisplayListRasterSource::RasterCommon                           [cc\playback\display_list_raster_source.cc:122]
~~Dr.M~~ #22 cc.dll!cc::DisplayListRasterSource::PlaybackToCanvas                       [cc\playback\display_list_raster_source.cc:100]
~~Dr.M~~ #23 cc.dll!cc::TileTaskWorkerPool::PlaybackToMemory                            [cc\raster\tile_task_worker_pool.cc:208]
~~Dr.M~~ #24 cc.dll!cc::OneCopyTileTaskWorkerPool::PlaybackAndCopyOnWorkerThread        [cc\raster\one_copy_tile_task_worker_pool.cc:413]
~~Dr.M~~ #25 cc.dll!cc::`anonymous namespace'::RasterBufferImpl::Playback               [cc\raster\one_copy_tile_task_worker_pool.cc:53]
~~Dr.M~~ #26 cc.dll!cc::`anonymous namespace'::RasterTaskImpl::Raster                   [cc\tiles\tile_manager.cc:131]
~~Dr.M~~ #27 cc.dll!cc::`anonymous namespace'::RasterTaskImpl::RunOnWorkerThread        [cc\tiles\tile_manager.cc:90]
~~Dr.M~~ #28 cc.dll!cc::TaskGraphRunner::RunTaskWithLockAcquired                        [cc\raster\task_graph_runner.cc:418]
~~Dr.M~~ #29 cc.dll!cc::TaskGraphRunner::Run                                            [cc\raster\task_graph_runner.cc:361]
~~Dr.M~~ #30 base.dll!base::SimpleThread::ThreadMain                                    [base\threading\simple_thread.cc:66]
~~Dr.M~~ #31 base.dll!base::`anonymous namespace'::ThreadFunc                           [base\threading\platform_thread_win.cc:82]
~~Dr.M~~ #32 KERNEL32.dll!BaseThreadInitThunk                                          +0x11     (0x7570337a <KERNEL32.dll+0x1337a>)
~~Dr.M~~ Note: @0:15:51.087 in thread 196
~~Dr.M~~ Note: handles created with the same callstack are closed here:
~~Dr.M~~ Note: # 0 system call NtGdiDeleteObjectApp
~~Dr.M~~ Note: # 1 GDI32.dll!DeleteObject                                                    +0x149    (0x768e57d3 <GDI32.dll+0x157d3>)
~~Dr.M~~ Note: # 2 skia.dll!HDCOffscreen::draw                                                [third_party\skia\src\ports\skfonthost_win.cpp:471]
~~Dr.M~~ Note: # 3 skia.dll!SkScalerContext_GDI::generateImage                                [third_party\skia\src\ports\skfonthost_win.cpp:1233]
~~Dr.M~~ Note: # 4 skia.dll!SkScalerContext::getImage                                         [third_party\skia\src\core\skscalercontext.cpp:530]
~~Dr.M~~ Note: # 5 skia.dll!SkGlyphCache::OnceFillInImage                                     [third_party\skia\src\core\skglyphcache.cpp:252]
~~Dr.M~~ Note: # 6 skia.dll!sk_once_slow<>                                                    [third_party\skia\include\core\skonce.h:76]
~~Dr.M~~ Note: # 7 skia.dll!SkGlyphCache::findImage                                           [third_party\skia\src\core\skglyphcache.cpp:260]
~~Dr.M~~ Note: # 8 skia.dll!D1G_RectClip                                                      [third_party\skia\src\core\skdraw.cpp:1479]
~~Dr.M~~ Note: # 9 skia.dll!SkDraw::drawPosText                                               [third_party\skia\src\core\skdraw.cpp:1838]
~~Dr.M~~ Note: #10 skia.dll!SkBitmapDevice::drawPosText                                       [third_party\skia\src\core\skbitmapdevice.cpp:348]
~~Dr.M~~ Note: #11 skia.dll!SkCanvas::onDrawPosText                                           [third_party\skia\src\core\skcanvas.cpp:2433]
~~Dr.M~~ Note: #12 skia.dll!SkCanvas::drawPosText                                             [third_party\skia\src\core\skcanvas.cpp:2507]
~~Dr.M~~ Note: #13 skia.dll!SkRecords::Draw::draw<>                                           [third_party\skia\src\core\skrecorddraw.cpp:109]
~~Dr.M~~ Note: #14 skia.dll!SkRecord::Record::visit<>                                         [third_party\skia\src\core\skrecord.h:170]
~~Dr.M~~ Note: #15 skia.dll!SkRecordDraw                                                      [third_party\skia\src\core\skrecorddraw.cpp:55]
~~Dr.M~~ Note: #16 skia.dll!SkBigPicture::playback                                            [third_party\skia\src\core\skbigpicture.cpp:43]
~~Dr.M~~ Note: #17 skia.dll!SkCanvas::onDrawPicture                                           [third_party\skia\src\core\skcanvas.cpp:2800]
~~Dr.M~~ Note: #18 skia.dll!SkCanvas::drawPicture                                             [third_party\skia\src\core\skcanvas.cpp:2770]
~~Dr.M~~ Note: #19 cc.dll!cc::DrawingDisplayItem::Raster                                      [cc\playback\drawing_display_item.cc:51]
~~Dr.M~~ Note: #20 cc.dll!cc::DisplayItemList::Raster                                         [cc\playback\display_item_list.cc:107]
~~Dr.M~~ Note: #21 cc.dll!cc::DisplayListRasterSource::RasterCommon                           [cc\playback\display_list_raster_source.cc:122]
~~Dr.M~~ Note: #22 cc.dll!cc::DisplayListRasterSource::PlaybackToCanvas                       [cc\playback\display_list_raster_source.cc:100]
~~Dr.M~~ Note: #23 cc.dll!cc::TileTaskWorkerPool::PlaybackToMemory                            [cc\raster\tile_task_worker_pool.cc:208]
~~Dr.M~~ Note: #24 cc.dll!cc::OneCopyTileTaskWorkerPool::PlaybackAndCopyOnWorkerThread        [cc\raster\one_copy_tile_task_worker_pool.cc:413]
~~Dr.M~~ Note: #25 cc.dll!cc::`anonymous namespace'::RasterBufferImpl::Playback               [cc\raster\one_copy_tile_task_worker_pool.cc:53]
~~Dr.M~~ Note: #26 cc.dll!cc::`anonymous namespace'::RasterTaskImpl::Raster                   [cc\tiles\tile_manager.cc:131]
~~Dr.M~~ Note: #27 cc.dll!cc::`anonymous namespace'::RasterTaskImpl::RunOnWorkerThread        [cc\tiles\tile_manager.cc:90]
~~Dr.M~~ Note: #28 cc.dll!cc::TaskGraphRunner::RunTaskWithLockAcquired                        [cc\raster\task_graph_runner.cc:418]
~~Dr.M~~ Note: #29 cc.dll!cc::TaskGraphRunner::Run                                            [cc\raster\task_graph_runner.cc:361]
~~Dr.M~~ Note: #30 base.dll!base::SimpleThread::ThreadMain                                    [base\threading\simple_thread.cc:66]
~~Dr.M~~ Note: #31 base.dll!base::`anonymous namespace'::ThreadFunc                           [base\threading\platform_thread_win.cc:82]
~~Dr.M~~ Note: #32 KERNEL32.dll!BaseThreadInitThunk                                          +0x11     (0x7570337a <KERNEL32.dll+0x1337a>)

Original issue's description:
> Parallel cache.
>
> TBR=reed@google.com
>
> BUG=skia:1330
>
> Committed: https://skia.googlesource.com/skia/+/6f2a486040cb25465990196c229feb47e668e87f
>
> Committed: https://skia.googlesource.com/skia/+/bf2988833e5a36c6b430da6fdd2cfebd0015adec

TBR=reed@google.com,mtklein@google.com,mtklein@chromium.org,herb@google.com
BUG=skia:1330

[mtklein mucking around]
NOTREECHECKS=true

Review URL: https://codereview.chromium.org/1339493002
2015-09-10 18:11:29 -07:00
..
SkAnnotation.h Style Change: SkNEW->new; SkDELETE->delete 2015-08-26 13:07:49 -07:00
SkAtomics.h Revert of Parallel cache - preliminary (patchset #23 id:440001 of https://codereview.chromium.org/1264103003/ ) 2015-09-10 18:11:29 -07:00
SkBBHFactory.h IWYU: 'core' target, files starting A-C. 2015-08-05 13:57:49 -07:00
SkBitmap.h Use SkImageCacherator in SkImages 2015-09-10 14:33:38 -07:00
SkBitmapDevice.h IWYU: 'core' target, files starting A-C. 2015-08-05 13:57:49 -07:00
SkBlitRow.h Port SkBlitRow::Color32 to SkOpts. 2015-09-10 10:38:02 -07:00
SkBlurTypes.h move common blur types into central header 2014-04-28 16:25:35 +00:00
SkCanvas.h remove SkDeferredCanvas 2015-08-19 08:18:04 -07:00
SkChunkAlloc.h Add rewind capability to SkChunkAlloc 2015-02-27 08:31:57 -08:00
SkClipStack.h Clean up clipping code a bit 2015-02-10 08:16:55 -08:00
SkColor.h IWYU: 'core' target, files starting A-C. 2015-08-05 13:57:49 -07:00
SkColorFilter.h Reland of Implement canComputeFastBounds() for image filters. (patchset #1 id:1 of https://codereview.chromium.org/1300403003/ ) 2015-08-20 11:10:41 -07:00
SkColorPriv.h The compiler can generate smulbb perfectly well nowadays. 2015-08-07 08:48:12 -07:00
SkColorTable.h Specialize SkOncePtr<T[]>. 2015-09-09 10:00:22 -07:00
SkComposeShader.h Added SkComposeShader GPU implementation 2015-09-01 09:45:08 -07:00
SkData.h remove SkInstCnt 2015-06-26 11:45:03 -07:00
SkDataTable.h remove SkInstCnt 2015-06-26 11:45:03 -07: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
SkDevice.h remove SkDeferredCanvas 2015-08-19 08:18:04 -07:00
SkDither.h Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:09:54 +00:00
SkDocument.h remove SkInstCnt 2015-06-26 11:45:03 -07:00
SkDraw.h Revert[2] SkDraw and all Blitters to use pixmap instead of bitmapi 2015-06-09 12:16:53 -07:00
SkDrawable.h add matrix options to drawDrawable 2015-07-07 10:22:31 -07:00
SkDrawFilter.h remove SkInstCnt 2015-06-26 11:45:03 -07:00
SkDrawLooper.h remove SkInstCnt 2015-06-26 11:45:03 -07:00
SkError.h Sanitizing source files in Housekeeper-Nightly 2013-09-05 07:01:19 +00:00
SkFilterQuality.h add newImage API 2015-01-23 05:58:07 -08:00
SkFixed.h Correct SkFixedToDouble. 2015-04-17 10:05:43 -07:00
SkFlattenable.h Explicitly friend ::SkPrivateEffectInitializer to flattenables. 2015-08-24 12:33:19 -07:00
SkFlattenableSerialization.h Removed unnecessary define 2013-11-08 15:24:12 +00:00
SkFont.h Treat embedded bitmaps as a hinting method. 2014-08-19 13:18:58 -07:00
SkFontHost.h Remove a layer of indirection and code from SkFontHost. 2014-09-10 15:49:48 -07:00
SkFontLCDConfig.h Sanitizing source files in Skia_Periodic_House_Keeping 2013-03-13 07:01:04 +00:00
SkFontStyle.h Replace SkTypeface::Style with SkFontStyle. 2014-10-20 13:33:19 -07:00
SkGraphics.h Make SkGraphics::Term a no-op, stop calling it. 2015-09-09 07:35:42 -07:00
SkImage.h Use SkImageCacherator in SkImages 2015-09-10 14:33:38 -07:00
SkImageDecoder.h Style Change: SkNEW->new; SkDELETE->delete 2015-08-26 13:07:49 -07:00
SkImageEncoder.h Style Change: SkNEW->new; SkDELETE->delete 2015-08-26 13:07:49 -07:00
SkImageFilter.h Reland of Implement canComputeFastBounds() for image filters. (patchset #1 id:1 of https://codereview.chromium.org/1300403003/ ) 2015-08-20 11:10:41 -07:00
SkImageGenerator.h Add subsets to SkImageGenerator and SkImageCacherator 2015-08-18 11:16:09 -07:00
SkImageInfo.h Use static_assert instead of SK_COMPILE_ASSERT. 2015-08-20 07:57:52 -07:00
SkMallocPixelRef.h remove SkInstCnt 2015-06-26 11:45:03 -07:00
SkMask.h remove unused kLCD_MaskFormat 2014-11-13 14:39:58 -08:00
SkMaskFilter.h Misc cleanup 2015-07-22 11:54:44 -07:00
SkMath.h The compiler can generate smulbb perfectly well nowadays. 2015-08-07 08:48:12 -07:00
SkMatrix.h api helpers inspired by blink use-cases 2015-08-09 19:41:13 -07:00
SkMetaData.h "NULL !=" = NULL 2014-09-05 13:34:00 -07:00
SkMultiPictureDraw.h Add sk_parallel_for() 2015-06-17 15:26:15 -07:00
SkMutex.h Clean up a few includes, introduce iwyu. 2015-07-29 11:49:40 -07:00
SkOnce.h Move instanced index buffer creation to flush time 2015-05-04 10:36:43 -07:00
SkOSFile.h Move SkOSFile::Iter impls into ports. 2015-02-12 07:18:27 -08:00
SkPackBits.h Remove unused PackBits methods and fix length checks 2015-06-04 15:10:37 -07:00
SkPaint.h Make SkGraphics::Term a no-op, stop calling it. 2015-09-09 07:35:42 -07:00
SkPath.h Use static_assert instead of SK_COMPILE_ASSERT. 2015-08-20 07:57:52 -07:00
SkPathEffect.h Style Change: SkNEW->new; SkDELETE->delete 2015-08-26 13:07:49 -07:00
SkPathMeasure.h use conics 2014-12-17 08:21:05 -08:00
SkPathRef.h Implement caching of filled paths in the tessellated path renderer. 2015-08-04 10:01:58 -07:00
SkPicture.h Handle zero-length encoded images gracefully during deserialization 2015-09-04 11:36:39 -07:00
SkPictureRecorder.h Move the last headers. Cross your fingers. 2015-07-29 13:31:22 -07:00
SkPixelRef.h SkImage method for detecting lazy decoding 2015-08-20 08:47:26 -07:00
SkPixelSerializer.h add const to encodePixels pixel parameter 2014-12-19 12:26:07 -08:00
SkPixmap.h Make peekPixels() usable with raster surface snapshots 2015-07-27 10:27:29 -07:00
SkPoint3.h Update SkLightingShader to support rotation 2015-08-20 05:15:07 -07:00
SkPoint.h Revert of Revert of stop calling SkScalarDiv (patchset #1 id:1 of https://codereview.chromium.org/1138263002/) 2015-05-12 10:37:34 -07:00
SkPostConfig.h Move SkTemplates.h to private. 2015-08-19 11:56:48 -07:00
SkPreConfig.h Add build targets for advanced Intel instruction sets (1 of 3). 2015-08-24 10:32:02 -07:00
SkRasterizer.h remove SkInstCnt 2015-06-26 11:45:03 -07:00
SkRect.h Simple CL to add a joinWithPossiblyEmptyArg to SkRect 2015-05-01 08:51:48 -07:00
SkRefCnt.h Style Change: SkNEW->new; SkDELETE->delete 2015-08-26 13:07:49 -07:00
SkRegion.h Remove useless SkASSERT in SkRect.h and SkRegion.h 2015-04-28 12:47:48 -07:00
SkRRect.h api helpers inspired by blink use-cases 2015-08-09 19:41:13 -07:00
SkRSXform.h add helper to create RSXform w/ anchorPt 2015-07-30 05:46:05 -07:00
SkScalar.h Revert[8] "move some public headers into private" 2015-08-17 18:29:48 -07:00
SkShader.h Revert[2] of "switch to isABitmap, deprecate SK_SUPPORT_LEGACY_SHADERBITMAPTYPE" 2015-09-08 11:02:04 -07:00
SkSize.h deprecate SkScalarRound (and its ilk), use SkScalarRound[ToInt,ToScalar]. #define SK_SUPPORT_DEPRECATED_SCALARROUND for legacy clients 2013-12-17 19:22:07 +00:00
SkSpinlock.h Fix componene debug build failure in chromium 2015-07-10 08:32:23 -07:00
SkStream.h remove SkInstCnt 2015-06-26 11:45:03 -07:00
SkString.h Document SkString::resize(int) as destructive. 2015-08-31 14:36:48 -07:00
SkStrokeRec.h Make GrStrokeInfo inherit from SkStrokeRec 2015-05-18 22:23:54 -07:00
SkSurface.h add ability to get FBO ID to Surface 2015-07-08 12:54:04 -07:00
SkSurfaceProps.h Rename flag from "distance field" to "device independent." 2015-08-31 12:39:41 -07:00
SkTArray.h Style Change: SkNEW->new; SkDELETE->delete 2015-08-26 13:07:49 -07:00
SkTDArray.h Style Change: SkNEW->new; SkDELETE->delete 2015-08-26 13:07:49 -07:00
SkTDict.h move some headers out of public 2014-06-17 09:04:45 -07:00
SkTDStack.h Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
SkTextBlob.h Start canonicalizing color for all A8 textblobs 2015-04-14 12:17:27 -07:00
SkTime.h SkTime: return timezone information; format in ISO-8601 2015-05-01 07:06:23 -07:00
SkTInternalLList.h "NULL !=" = NULL 2014-09-05 13:34:00 -07:00
SkTLazy.h Move SkTemplates.h to private. 2015-08-19 11:56:48 -07:00
SkTraceMemoryDump.h Introduce interface for memory dumps 2015-08-20 08:00:32 -07:00
SkTRegistry.h Rewrite SkTRegistry to take any trivially-copyable type. 2013-09-04 17:20:18 +00:00
SkTSearch.h One SkTSearch to rule them all. Allow key to be of different type than the array. 2013-05-17 19:05:03 +00:00
SkTypeface.h Port uses of SkLazyPtr to SkOncePtr. 2015-09-09 09:09:53 -07:00
SkTypes.h Replace SkPin32 with SkTPin and remove. 2015-08-28 09:09:32 -07:00
SkUnPreMultiply.h Factor out UnPreMultiplyPreservingByteOrder 2014-01-15 22:24:58 +00:00
SkUtils.h Move SkOpts.h back to src/core. 2015-07-31 14:02:36 -07:00
SkWriteBuffer.h change old picture serialization to really handle images 2015-06-22 12:48:26 -07:00
SkWriter32.h Move SkTemplates.h to private. 2015-08-19 11:56:48 -07:00
SkXfermode.h No one calls SkXfermode::GetProc16 2015-07-27 12:07:29 -07:00