skia2/include/private
Robert Phillips 056c1a821a Separate creation time & flush time behavior in GrDrawOpAtlas
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: I54909b7a3ba4bec2db5f1218f6a2a3a1636f66d6
Reviewed-on: https://skia-review.googlesource.com/108520
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2018-02-21 19:46:56 +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 Separate creation time & flush time behavior in GrDrawOpAtlas 2018-02-21 19:46:56 +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