From f7dcd76c552a4e93a75a3808289de69a997da169 Mon Sep 17 00:00:00 2001 From: Brian Salomon Date: Mon, 30 Jul 2018 14:48:15 -0400 Subject: 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 Reviewed-by: Robert Phillips --- src/gpu/effects/GrDistanceFieldGeoProc.cpp | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) (limited to 'src/gpu/effects/GrDistanceFieldGeoProc.cpp') 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_spaddTextureSampler(&fTextureSamplers[i]); } + this->setTextureSamplerCnt(numProxies); } void GrDistanceFieldA8TextGeoProc::addNewProxies(const sk_sp* proxies, @@ -249,12 +248,11 @@ void GrDistanceFieldA8TextGeoProc::addNewProxies(const sk_sp* 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* proxies, @@ -535,9 +532,9 @@ void GrDistanceFieldPathGeoProc::addNewProxies(const sk_sp* 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_spaddTextureSampler(&fTextureSamplers[i]); } + this->setTextureSamplerCnt(numProxies); } void GrDistanceFieldLCDTextGeoProc::addNewProxies(const sk_sp* proxies, @@ -850,9 +846,9 @@ void GrDistanceFieldLCDTextGeoProc::addNewProxies(const sk_sp* 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, -- cgit v1.2.3