8cabb327e7
This fixes an issue in Chrome where Skia is calling a promise SkImage texture release proc from ~SkImage that in turn flushes a SkSurface. Prior to this change this caused an assert because we had already decremented the GrTexture's ref count priot to calling the release proc. This made the GrTexture purgeable, but the cache had not yet been notified that the texture was purgeable and still had it in its array of non-purgeable resources. This triggered an assert in the cache's self-validation checks during the flush. Now we call the release proc just prior to decrementing the ref count. This also makes it legal to re-ref the resources from the release proc. Bug: chromium:933526 Change-Id: I8cd921b77ca3dfe112089f9a553c1a625160d16d Reviewed-on: https://skia-review.googlesource.com/c/194000 Reviewed-by: Greg Daniel <egdaniel@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com> |
||
---|---|---|
.. | ||
gl | ||
mock | ||
mtl | ||
vk | ||
GrBackendDrawableInfo.h | ||
GrBackendSemaphore.h | ||
GrBackendSurface.h | ||
GrBlend.h | ||
GrConfig.h | ||
GrContext.h | ||
GrContextOptions.h | ||
GrContextThreadSafeProxy.h | ||
GrDriverBugWorkarounds.h | ||
GrDriverBugWorkaroundsAutogen.h | ||
GrGpuResource.h | ||
GrRenderTarget.h | ||
GrSamplerState.h | ||
GrSurface.h | ||
GrTexture.h | ||
GrTypes.h |