commit | 96b6d537c2466ec760af816cde1fd665d2011fab | [log] [tgz] |
---|---|---|
author | Robert Phillips <robertphillips@google.com> | Mon Mar 19 10:57:42 2018 -0400 |
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | Mon Mar 19 15:36:26 2018 +0000 |
tree | 504476d9c0e27a915563a56a841e0432668daafb | |
parent | f7466bd84acd28594b3f4df47d91211d9508a16e [diff] |
Fix GrTextureStripAtlasManager cleanup order bug Bug: 820703 Change-Id: I6f1a895ceb213d38361bc03a472cf2a48e4720a5 Reviewed-on: https://skia-review.googlesource.com/115001 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
diff --git a/src/shaders/gradients/SkGradientShader.cpp b/src/shaders/gradients/SkGradientShader.cpp index a6fb4e9..114b7c5 100644 --- a/src/shaders/gradients/SkGradientShader.cpp +++ b/src/shaders/gradients/SkGradientShader.cpp
@@ -1298,7 +1298,7 @@ desc.fHeight = 32; desc.fRowHeight = bitmap.height(); // always 1 here desc.fConfig = SkImageInfo2GrPixelConfig(bitmap.info(), *args.fContext->caps()); - fAtlas = atlasManager->getAtlas(desc); + fAtlas = atlasManager->refAtlas(desc); SkASSERT(fAtlas); // We always filter the gradient table. Each table is one row of a texture, always
diff --git a/src/shaders/gradients/SkGradientShaderPriv.h b/src/shaders/gradients/SkGradientShaderPriv.h index c015a73..7fef127 100644 --- a/src/shaders/gradients/SkGradientShaderPriv.h +++ b/src/shaders/gradients/SkGradientShaderPriv.h
@@ -334,7 +334,7 @@ GrCoordTransform fCoordTransform; TextureSampler fTextureSampler; SkScalar fYCoord; - GrTextureStripAtlas* fAtlas; + sk_sp<GrTextureStripAtlas> fAtlas; int fRow; bool fIsOpaque;