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/ops/GrTextureOp.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/gpu/ops/GrTextureOp.cpp') diff --git a/src/gpu/ops/GrTextureOp.cpp b/src/gpu/ops/GrTextureOp.cpp index 516cee628f..9b2baeb42b 100644 --- a/src/gpu/ops/GrTextureOp.cpp +++ b/src/gpu/ops/GrTextureOp.cpp @@ -296,12 +296,10 @@ private: , fPaintColorSpaceXform(std::move(paintColorSpaceXform)) { SkASSERT(proxyCnt > 0 && samplerCnt >= proxyCnt); fSamplers[0].reset(std::move(proxies[0]), filters[0]); - this->addTextureSampler(&fSamplers[0]); for (int i = 1; i < proxyCnt; ++i) { // This class has one sampler built in, the rest come from memory this processor was // placement-newed into and so haven't been constructed. new (&fSamplers[i]) TextureSampler(std::move(proxies[i]), filters[i]); - this->addTextureSampler(&fSamplers[i]); } if (perspective) { @@ -319,7 +317,6 @@ private: GrTextureProxy* dupeProxy = fSamplers[proxyCnt - 1].proxy(); for (int i = proxyCnt; i < samplerCnt; ++i) { new (&fSamplers[i]) TextureSampler(sk_ref_sp(dupeProxy), filters[proxyCnt - 1]); - this->addTextureSampler(&fSamplers[i]); } SkASSERT(caps.integerSupport()); fTextureIdx = {"textureIdx", kInt_GrVertexAttribType}; @@ -337,6 +334,7 @@ private: vertexAttributeCnt += 4; } this->setVertexAttributeCnt(vertexAttributeCnt); + this->setTextureSamplerCnt(samplerCnt); } const Attribute& onVertexAttribute(int i) const override { @@ -344,6 +342,8 @@ private: fAAEdges[0], fAAEdges[1], fAAEdges[2], fAAEdges[3]); } + const TextureSampler& onTextureSampler(int i) const override { return fSamplers[i]; } + Attribute fPositions; Attribute fColors; Attribute fTextureCoords; -- cgit v1.2.3