diff options
author | Jim Van Verth <jvanverth@google.com> | 2017-09-18 10:05:00 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-09-18 16:26:19 +0000 |
commit | eafa64b4018a334daae74492fb33bc54bd0bb6aa (patch) | |
tree | 9b74611bfc30799b3d81c0dbad66668173529294 /src/gpu/effects/GrDistanceFieldGeoProc.cpp | |
parent | 7aeefdb0a2a71e03f796854a7a623827a3a69e8f (diff) |
Revert "Revert "Allow GrDrawOpAtlas to grow as needed""
Bug: skia:3550
Change-Id: I11a3b39ed7470542447f0e46141a26eef7a9bdaf
Reviewed-on: https://skia-review.googlesource.com/47240
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Diffstat (limited to 'src/gpu/effects/GrDistanceFieldGeoProc.cpp')
-rw-r--r-- | src/gpu/effects/GrDistanceFieldGeoProc.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/gpu/effects/GrDistanceFieldGeoProc.cpp b/src/gpu/effects/GrDistanceFieldGeoProc.cpp index 66e96199eb..128d714808 100644 --- a/src/gpu/effects/GrDistanceFieldGeoProc.cpp +++ b/src/gpu/effects/GrDistanceFieldGeoProc.cpp @@ -261,6 +261,16 @@ GrDistanceFieldA8TextGeoProc::GrDistanceFieldA8TextGeoProc( } } +void GrDistanceFieldA8TextGeoProc::addNewProxies(const sk_sp<GrTextureProxy> proxies[kMaxTextures], + const GrSamplerState& params) { + for (int i = 0; i < kMaxTextures; ++i) { + if (proxies[i] && !fTextureSamplers[i].isInitialized()) { + fTextureSamplers[i].reset(std::move(proxies[i]), params); + this->addTextureSampler(&fTextureSamplers[i]); + } + } +} + void GrDistanceFieldA8TextGeoProc::getGLSLProcessorKey(const GrShaderCaps& caps, GrProcessorKeyBuilder* b) const { GrGLDistanceFieldA8TextGeoProc::GenKey(*this, caps, b); @@ -511,6 +521,16 @@ GrDistanceFieldPathGeoProc::GrDistanceFieldPathGeoProc( } } +void GrDistanceFieldPathGeoProc::addNewProxies(const sk_sp<GrTextureProxy> proxies[kMaxTextures], + const GrSamplerState& params) { + for (int i = 0; i < kMaxTextures; ++i) { + if (proxies[i] && !fTextureSamplers[i].isInitialized()) { + fTextureSamplers[i].reset(std::move(proxies[i]), params); + this->addTextureSampler(&fTextureSamplers[i]); + } + } +} + void GrDistanceFieldPathGeoProc::getGLSLProcessorKey(const GrShaderCaps& caps, GrProcessorKeyBuilder* b) const { GrGLDistanceFieldPathGeoProc::GenKey(*this, caps, b); @@ -823,6 +843,16 @@ GrDistanceFieldLCDTextGeoProc::GrDistanceFieldLCDTextGeoProc( } } +void GrDistanceFieldLCDTextGeoProc::addNewProxies(const sk_sp<GrTextureProxy> prox[kMaxTextures], + const GrSamplerState& params) { + for (int i = 0; i < kMaxTextures; ++i) { + if (prox[i] && !fTextureSamplers[i].isInitialized()) { + fTextureSamplers[i].reset(std::move(prox[i]), params); + this->addTextureSampler(&fTextureSamplers[i]); + } + } +} + void GrDistanceFieldLCDTextGeoProc::getGLSLProcessorKey(const GrShaderCaps& caps, GrProcessorKeyBuilder* b) const { GrGLDistanceFieldLCDTextGeoProc::GenKey(*this, caps, b); |