aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/effects/GrDistanceFieldGeoProc.cpp
diff options
context:
space:
mode:
authorGravatar Jim Van Verth <jvanverth@google.com>2017-09-18 10:05:00 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-09-18 16:26:19 +0000
commiteafa64b4018a334daae74492fb33bc54bd0bb6aa (patch)
tree9b74611bfc30799b3d81c0dbad66668173529294 /src/gpu/effects/GrDistanceFieldGeoProc.cpp
parent7aeefdb0a2a71e03f796854a7a623827a3a69e8f (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.cpp30
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);