skia2/include/private
Brian Salomon 8b40ac35b2 Reintroduce deinstantiate lazy proxy types and use for promise images.
This reverts a fraction of b2c5dae65d to
restore the deinstantiate lazy proxy type, supporting implementation,
and tests.

Use them for promise images to avoid thread safety issues for promise
image resources. Makes promise image instantiation callbacks do a thread
safe unref of their fulfilled GrTexture in GrResourceCache. The
GrResourceCache mechanism for receiving unref messages is extended to
allow multiple pending unrefs. All this is new.


Bug: skia:8800
Change-Id: I7b1d4fea13c053b6fbbd39c0c6eaf567b8bf81f1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/199002
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-03-11 20:48:22 +00:00
..
GrAuditTrail.h Converting more debug code to SkJSONWriter 2019-01-28 19:06:06 +00:00
GrCCClipPath.h skia: Fix -Wextra-semi warnings in non-dcheck builds. 2019-02-28 18:54:50 +00:00
GrCCPerOpListPaths.h include: whitespace changes for clang-format 2018-09-19 14:54:57 +00:00
GrColor.h Move responsibility to onMakeContext for device colorspace decision 2019-02-28 22:50:02 +00:00
GrContext_Base.h Revert "Always explicitly allocate except in Android Framework" 2019-03-11 18:41:22 +00:00
GrImageContext.h Plumb abandonment throughout GrContext hierarchy 2019-02-11 20:26:22 +00:00
GrOpList.h skia: Fix -Wextra-semi warnings in non-dcheck builds. 2019-02-28 18:54:50 +00:00
GrProxyRef.h Reland "Move GrGeometryProcessor's textures out of classes and into" 2018-08-07 14:02:49 +00:00
GrRecordingContext.h Make DDL contexts/drawing managers always sort opLists 2019-03-08 18:40:17 +00:00
GrRenderTargetProxy.h Add ddl support to drawing to wrapped vulkan secondary command buffers. 2019-03-06 14:47:26 +00:00
GrResourceKey.h Revert "Revert "Reuse GrTexture instances when the same GrBackendTexture is used to"" 2019-01-10 17:51:21 +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
GrSkSLFPFactoryCache.h Revert "replace SkNVRefCnt with SkRefCnt" 2018-10-30 15:23:06 +00:00
GrSurfaceProxy.h Reintroduce deinstantiate lazy proxy types and use for promise images. 2019-03-11 20:48:22 +00:00
GrTextureProxy.h Move textureType() method from GrSurfaceProxy to GrTextureProxy. 2018-12-13 14:59:50 +00:00
GrTypesPriv.h Add clamped half-float pixel config to Ganesh 2019-03-11 20:09:07 +00:00
GrVkTypesPriv.h Remove include/gpu/vk from include paths. 2018-05-22 19:59:35 +00:00
SkArenaAlloc.h Add explicit to ctor 2018-11-27 18:11:30 +00:00
SkBitmaskEnum.h use std::underlying_type 2019-02-04 16:27:22 +00:00
SkChecksum.h Move SkNoncopyable to include/private. 2018-07-17 21:39:51 +00:00
SkColorData.h move LCD blits to SkBlitter_ARGB32.cpp 2018-11-09 17:03:06 +00:00
SkDeferredDisplayList.h Test YUV images in DDL 2018-10-01 12:12:29 +00:00
SkEncodedInfo.h Remove assert that BGRA and RGBA are not opaque 2019-02-15 19:53:04 +00:00
SkFixed.h Revert "SkMath takes some functions from from SkTypes" 2018-09-07 17:32:54 +00:00
SkFloatBits.h include: whitespace changes for clang-format 2018-09-19 14:54:57 +00:00
SkFloatingPoint.h utility to check if floats are [0...1] 2019-02-27 21:43:31 +00:00
SkHalf.h remove SK_API from private calls 2019-01-23 16:43:11 +00:00
SkImageInfoPriv.h add kRGBA_F16Norm_SkColorType 2019-03-04 21:49:07 +00:00
SkLeanWindows.h SkLeanWindows.h: #include "Windows.h" fewer places 2016-06-07 17:21:10 -07:00
SkMacros.h SkTypes: more into SkMacros 2018-06-12 20:24:43 +00:00
SkMalloc.h Add 2 fuzz targets for image decoding (oss-fuzz) 2018-02-12 15:25:59 +00:00
SkMessageBus.h ccpr: Use SkMessageBus for thread-safe eviction of cache entries 2018-10-19 00:25:20 +00:00
SkMutex.h Revert "SkMath takes some functions from from SkTypes" 2018-09-07 17:32:54 +00:00
SkNoncopyable.h Move SkNoncopyable to include/private. 2018-07-17 21:39:51 +00:00
SkNx_neon.h minor Sk4px cleanup 2018-12-18 20:46:25 +00:00
SkNx_sse.h minor Sk4px cleanup 2018-12-18 20:46:25 +00:00
SkNx.h add google-build-namespaces to clang-tidy checks 2018-12-12 16:33:59 +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 Fix two SkPathRef bugs 2019-03-07 22:59:28 +00:00
SkSafe32.h Revert "SkMath takes some functions from from SkTypes" 2018-09-07 17:32:54 +00:00
SkSafe_math.h Guard against buggy ucrt\math.h. 2016-11-28 15:40:23 +00:00
SkSemaphore.h Revert "SkMath takes some functions from from SkTypes" 2018-09-07 17:32:54 +00:00
SkShadowFlags.h Remove deprecated drawShadow interfaces 2018-02-28 19:07:29 +00:00
SkSpinlock.h Cache GrColorSpaceXforms 2016-10-20 20:47:33 +00:00
SkTArray.h SkTArray: behave a little more like std::vector 2018-10-19 16:41:51 +00:00
SkTDArray.h Remove unused methods from SkTDArray 2018-10-19 21:29:08 +00:00
SkTemplates.h Remove SkAutoTCallIProc. 2018-09-20 17:42:02 +00:00
SkTFitsIn.h Add support for MSVC run-time checks (and control flow guard) 2019-02-04 20:55:24 +00:00
SkTHash.h add SkTHashTable::LookupOrNull() 2019-01-09 18:51:22 +00:00
SkThreadID.h Unify ThreadID. 2015-09-29 14:38:01 -07:00
SkTInternalLList.h Move SkNoncopyable to include/private. 2018-07-17 21:39:51 +00:00
SkTLogic.h use std::underlying_type 2019-02-04 16:27:22 +00:00
SkTo.h Revert "Revert "SkTypes: extract SkTo"" 2018-06-14 14:55:17 +00:00
SkTSearch.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkVx.h mark more methods inline 2019-02-27 20:27:10 +00:00
SkWeakRefCnt.h clean up some odd SkRefCnt features 2018-10-31 20:47:16 +00:00