aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/effects/GrDistanceFieldGeoProc.cpp
diff options
context:
space:
mode:
authorGravatar Brian Salomon <bsalomon@google.com>2018-07-30 14:48:15 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-07-30 19:40:03 +0000
commitf7dcd76c552a4e93a75a3808289de69a997da169 (patch)
tree29fe08e9681f29e3d3d2af8e721ecfba6dd09beb /src/gpu/effects/GrDistanceFieldGeoProc.cpp
parent7226c232d73356a37ec8cfef0ed55147e68dd2fd (diff)
Remove array of TextureSampler pointers from GrIOResourceProcessor.
Instead store sampler count on base class and subclasses implement a virtual to get the ith sampler. Change-Id: I13e2447a6467a09761d8615acb4aa360b87b1476 Reviewed-on: https://skia-review.googlesource.com/141563 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
Diffstat (limited to 'src/gpu/effects/GrDistanceFieldGeoProc.cpp')
-rw-r--r--src/gpu/effects/GrDistanceFieldGeoProc.cpp16
1 files changed, 6 insertions, 10 deletions
diff --git a/src/gpu/effects/GrDistanceFieldGeoProc.cpp b/src/gpu/effects/GrDistanceFieldGeoProc.cpp
index 4d5d50b8db..351e191264 100644
--- a/src/gpu/effects/GrDistanceFieldGeoProc.cpp
+++ b/src/gpu/effects/GrDistanceFieldGeoProc.cpp
@@ -236,10 +236,9 @@ GrDistanceFieldA8TextGeoProc::GrDistanceFieldA8TextGeoProc(const sk_sp<GrTexture
for (int i = 0; i < numProxies; ++i) {
SkASSERT(proxies[i]);
-
fTextureSamplers[i].reset(std::move(proxies[i]), params);
- this->addTextureSampler(&fTextureSamplers[i]);
}
+ this->setTextureSamplerCnt(numProxies);
}
void GrDistanceFieldA8TextGeoProc::addNewProxies(const sk_sp<GrTextureProxy>* proxies,
@@ -249,12 +248,11 @@ void GrDistanceFieldA8TextGeoProc::addNewProxies(const sk_sp<GrTextureProxy>* pr
for (int i = 0; i < numProxies; ++i) {
SkASSERT(proxies[i]);
-
if (!fTextureSamplers[i].isInitialized()) {
fTextureSamplers[i].reset(std::move(proxies[i]), params);
- this->addTextureSampler(&fTextureSamplers[i]);
}
}
+ this->setTextureSamplerCnt(numProxies);
}
void GrDistanceFieldA8TextGeoProc::getGLSLProcessorKey(const GrShaderCaps& caps,
@@ -519,10 +517,9 @@ GrDistanceFieldPathGeoProc::GrDistanceFieldPathGeoProc(const SkMatrix& matrix,
this->setVertexAttributeCnt(3);
for (int i = 0; i < numProxies; ++i) {
SkASSERT(proxies[i]);
-
fTextureSamplers[i].reset(std::move(proxies[i]), params);
- this->addTextureSampler(&fTextureSamplers[i]);
}
+ this->setTextureSamplerCnt(numProxies);
}
void GrDistanceFieldPathGeoProc::addNewProxies(const sk_sp<GrTextureProxy>* proxies,
@@ -535,9 +532,9 @@ void GrDistanceFieldPathGeoProc::addNewProxies(const sk_sp<GrTextureProxy>* prox
if (!fTextureSamplers[i].isInitialized()) {
fTextureSamplers[i].reset(std::move(proxies[i]), params);
- this->addTextureSampler(&fTextureSamplers[i]);
}
}
+ this->setTextureSamplerCnt(numProxies);
}
void GrDistanceFieldPathGeoProc::getGLSLProcessorKey(const GrShaderCaps& caps,
@@ -834,10 +831,9 @@ GrDistanceFieldLCDTextGeoProc::GrDistanceFieldLCDTextGeoProc(const sk_sp<GrTextu
for (int i = 0; i < numProxies; ++i) {
SkASSERT(proxies[i]);
-
fTextureSamplers[i].reset(std::move(proxies[i]), params);
- this->addTextureSampler(&fTextureSamplers[i]);
}
+ this->setTextureSamplerCnt(numProxies);
}
void GrDistanceFieldLCDTextGeoProc::addNewProxies(const sk_sp<GrTextureProxy>* proxies,
@@ -850,9 +846,9 @@ void GrDistanceFieldLCDTextGeoProc::addNewProxies(const sk_sp<GrTextureProxy>* p
if (!fTextureSamplers[i].isInitialized()) {
fTextureSamplers[i].reset(std::move(proxies[i]), params);
- this->addTextureSampler(&fTextureSamplers[i]);
}
}
+ this->setTextureSamplerCnt(numProxies);
}
void GrDistanceFieldLCDTextGeoProc::getGLSLProcessorKey(const GrShaderCaps& caps,