skia2/include/private
Robert Phillips 934c3d0c54 Revert "Revert "Separate creation time & flush time behavior in GrDrawOpAtlas (take 2)""
This reverts commit 84d823a5e2.

Reason for revert: The DFT diffs don't repro on Windows so I'm chalking it up to minor device differences

Original change's description:
> Revert "Separate creation time & flush time behavior in GrDrawOpAtlas (take 2)"
> 
> This reverts commit 96165ebeaa.
> 
> Reason for revert: DFT GMs w/ LCD text are slightly different
> 
> Original change's description:
> > Separate creation time & flush time behavior in GrDrawOpAtlas (take 2)
> > 
> > This CL clarifies what is going on in the GrDrawOpAtlas and GrAtlasGlyphCache.
> > 
> > For the GrDrawOpAtlas:
> >   At creation time all the allowed pages are created (with their backing GrTextureProxies) but they aren't instantiated.
> > 
> >   The GrDrawOpAtlas::instantiate call is called in preFlushCB and allocates any pages known to be needed at the start of flush
> > 
> >   GrDrawOpAtlas::addToAtlas is called at flush time and, if a new page is activated, will instantiated it at that time.
> > 
> >   During compaction, an unused page will be deInstantiated but its Plots and backing GrTextureProxy will remain alive.
> > 
> > The GrAtlasGlyphCache reflects the changes to the GrDrawOpAtlas
> >   It now carries a GrProxyProvider for when it needs to create an atlas
> >   It passes in a GrResourceProvider* at flush time to allow instantiation.
> > 
> >   It does not, yet, allocate that GrDrawOpAtlases it might ever require.
> > 
> > Change-Id: Ie9b64b13e261b01ee14be09fbf7e17841b7781dc
> > Reviewed-on: https://skia-review.googlesource.com/109749
> > Reviewed-by: Jim Van Verth <jvanverth@google.com>
> > Commit-Queue: Robert Phillips <robertphillips@google.com>
> 
> TBR=jvanverth@google.com,robertphillips@google.com
> 
> Change-Id: I62efc61c8394477e54d6e79fa2f65180c91a4515
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/110220
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>

TBR=jvanverth@google.com,robertphillips@google.com

Change-Id: I7c87b4523f9b53285f0de5c2d741a25893522d9a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/110221
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-02-26 16:49:28 +00:00
..
GrAuditTrail.h Remove trailing whitespace. 2017-10-09 21:20:34 +00:00
GrColor.h Revert "Revert "move GrColor.h to private, IWYU"" 2018-02-06 23:05:46 +00:00
GrGLSL.h Switch atlas clients over to using absolute texture coordinates (take 2) 2017-08-25 15:19:27 +00:00
GrOpList.h Move control of explicit GPU resource allocation to GrContextOptions 2018-02-08 12:36:29 +00:00
GrRenderTargetProxy.h Update createWrappedRenderTargetProxy with BackendRT to work with lazy proxies. 2018-02-20 15:32:33 +00:00
GrSharedEnums.h sksl enum support 2017-11-13 14:36:40 +00:00
GrSingleOwner.h Reland of Make a single GrSingleOwner in GrContext (patchset #1 id:1 of https://codereview.chromium.org/1565303003/ ) 2016-01-08 10:09:13 -08:00
GrSurfaceProxy.h Revert "Revert "Separate creation time & flush time behavior in GrDrawOpAtlas (take 2)"" 2018-02-26 16:49:28 +00:00
GrSurfaceProxyRef.h Implement GPU/OpList DDLs 2018-02-01 15:00:53 +00:00
GrSwizzle.h Replace SkFAIL with SK_ABORT. 2017-08-16 15:37:54 +00:00
GrTextureProxy.h When creating emptyp MipMap proxies, don't instantiate them immediately. Attempt 3 2018-02-15 20:13:32 +00:00
GrTypesPriv.h Introduce GrColorType 2018-02-20 19:30:13 +00:00
SkAtomics.h Clean up some unused atomic routines. 2016-07-27 08:40:45 -07:00
SkBitmaskEnum.h SkPDF: SkPDFFont class changes 2016-08-16 09:36:23 -07:00
SkChecksum.h Use sse4.2 CRC32 instructions to hash when available. 2016-08-08 09:06:28 -07:00
SkDeferredDisplayList.h Implement GPU/OpList DDLs 2018-02-01 15:00:53 +00:00
SkEncodedInfo.h Reland "Hide SkEncodedInfo" 2017-12-05 19:28:08 +00:00
SkFixed.h add saturate helper for float2int64 2018-01-31 21:21:36 +00:00
SkFloatBits.h clean up useage of SkFloatBits 2017-08-07 02:49:29 +00:00
SkFloatingPoint.h begin to wrap all float divides 2018-02-12 19:04:19 +00:00
SkLeanWindows.h SkLeanWindows.h: #include "Windows.h" fewer places 2016-06-07 17:21:10 -07:00
SkMalloc.h Add 2 fuzz targets for image decoding (oss-fuzz) 2018-02-12 15:25:59 +00:00
SkMessageBus.h Send TextBlobCache purge messages only to owning cache. 2017-12-14 18:52:49 +00:00
SkMutex.h Teach TSAN directly about semaphore_t. 2017-09-21 17:09:40 +00:00
SkOnce.h tweak SkOnce.h header to work around issues with std::atomic::compare_exchange_strong 2016-12-16 22:21:27 +00:00
SkPathRef.h don't trust stored segment mask 2018-02-20 15:13:23 +00:00
SkSafe32.h use safe increment for edge walker 2018-02-15 17:14:19 +00:00
SkSafe_math.h Guard against buggy ucrt\math.h. 2016-11-28 15:40:23 +00:00
SkSemaphore.h Fix SkSemaphore comments. 2017-02-22 20:11:54 +00:00
SkShadowFlags.h Remove tonal color from DrawShadow internals 2018-01-19 16:32:13 +00:00
SkSpinlock.h Cache GrColorSpaceXforms 2016-10-20 20:47:33 +00:00
SkSurfaceCharacterization.h Add SkCharacterization creation helper to GrContextThreadSafeProxy (take 2) 2018-02-14 12:42:18 +00:00
SkTArray.h begin cleanup of malloc porting layer 2018-01-05 21:29:35 +00:00
SkTDArray.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkTemplates.h begin cleanup of malloc porting layer 2018-01-05 21:29:35 +00:00
SkTFitsIn.h Make SkTFitsIn and SkTo constexpr. 2017-10-17 22:48:51 +00:00
SkTHash.h Add mock config to tools and run through gms and benchs without crashing. 2017-07-07 20:47:38 +00:00
SkThreadID.h Unify ThreadID. 2015-09-29 14:38:01 -07:00
SkTLogic.h Compute inverse gamma table at compile time. 2017-10-18 19:43:18 +00:00
SkTSearch.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkWeakRefCnt.h Mark overridden destructors with 'override' and remove 'virtual' 2017-03-22 16:06:18 +00:00