diff options
author | Robert Phillips <robertphillips@google.com> | 2018-03-07 15:13:18 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-03-08 14:29:11 +0000 |
commit | 5a66efbbab2926793a7f4dc57931253ab3046375 (patch) | |
tree | 5df12b8abca8e8db6fd4a37b38811abef37c117e /src/atlastext | |
parent | fa303398d503a48d054e26dd1582282d3121b8ec (diff) |
Remove GrRestrictedAtlasManager
Philosophically this relies on: https://skia-review.googlesource.com/c/skia/+/111807 (Revise Text & Small Path Atlas so instantiation failure is handled at flush time)
Change-Id: I4fdcf1af8c5e9ffefdfb973104045f4f5d223a4e
Reviewed-on: https://skia-review.googlesource.com/112702
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Diffstat (limited to 'src/atlastext')
-rw-r--r-- | src/atlastext/SkAtlasTextTarget.cpp | 9 | ||||
-rw-r--r-- | src/atlastext/SkInternalAtlasTextContext.cpp | 15 |
2 files changed, 15 insertions, 9 deletions
diff --git a/src/atlastext/SkAtlasTextTarget.cpp b/src/atlastext/SkAtlasTextTarget.cpp index 4513952781..937498b826 100644 --- a/src/atlastext/SkAtlasTextTarget.cpp +++ b/src/atlastext/SkAtlasTextTarget.cpp @@ -184,14 +184,19 @@ void GrAtlasTextOp::executeForTextTarget(SkAtlasTextTarget* target) { SkAutoGlyphCache autoGlyphCache; auto& context = target->context()->internal(); auto glyphCache = context.grContext()->contextPriv().getGlyphCache(); - auto fullAtlasManager = context.grContext()->contextPriv().getFullAtlasManager(); + auto atlasManager = context.grContext()->contextPriv().getAtlasManager(); auto resourceProvider = context.grContext()->contextPriv().resourceProvider(); + unsigned int numProxies; + if (!atlasManager->getProxies(kA8_GrMaskFormat, &numProxies)) { + return; + } + for (int i = 0; i < fGeoCount; ++i) { GrAtlasTextBlob::VertexRegenerator regenerator( resourceProvider, fGeoData[i].fBlob, fGeoData[i].fRun, fGeoData[i].fSubRun, fGeoData[i].fViewMatrix, fGeoData[i].fX, fGeoData[i].fY, fGeoData[i].fColor, - &context, glyphCache, fullAtlasManager, &autoGlyphCache); + &context, glyphCache, atlasManager, &autoGlyphCache); bool done = false; while (!done) { GrAtlasTextBlob::VertexRegenerator::Result result; diff --git a/src/atlastext/SkInternalAtlasTextContext.cpp b/src/atlastext/SkInternalAtlasTextContext.cpp index 1e9cbf3079..0ff4f3e5d3 100644 --- a/src/atlastext/SkInternalAtlasTextContext.cpp +++ b/src/atlastext/SkInternalAtlasTextContext.cpp @@ -38,10 +38,12 @@ SkInternalAtlasTextContext::SkInternalAtlasTextContext(sk_sp<SkAtlasTextRenderer SkInternalAtlasTextContext::~SkInternalAtlasTextContext() { if (fDistanceFieldAtlas.fProxy) { #ifdef SK_DEBUG - auto restrictedAtlasManager = fGrContext->contextPriv().getRestrictedAtlasManager(); - unsigned int numProxies; - restrictedAtlasManager->getProxies(kA8_GrMaskFormat, &numProxies); - SkASSERT(1 == numProxies); + auto atlasManager = fGrContext->contextPriv().getAtlasManager(); + if (atlasManager) { + unsigned int numProxies; + atlasManager->getProxies(kA8_GrMaskFormat, &numProxies); + SkASSERT(1 == numProxies); + } #endif fRenderer->deleteTexture(fDistanceFieldAtlas.fTextureHandle); } @@ -86,11 +88,10 @@ void SkInternalAtlasTextContext::recordDraw(const void* srcVertexData, int glyph } void SkInternalAtlasTextContext::flush() { - auto* restrictedAtlasManager = fGrContext->contextPriv().getRestrictedAtlasManager(); + auto* atlasManager = fGrContext->contextPriv().getAtlasManager(); if (!fDistanceFieldAtlas.fProxy) { unsigned int numProxies; - fDistanceFieldAtlas.fProxy = restrictedAtlasManager->getProxies(kA8_GrMaskFormat, - &numProxies)->get(); + fDistanceFieldAtlas.fProxy = atlasManager->getProxies(kA8_GrMaskFormat, &numProxies)->get(); SkASSERT(1 == numProxies); fDistanceFieldAtlas.fTextureHandle = fRenderer->createTexture(SkAtlasTextRenderer::AtlasFormat::kA8, |