Change GrProgramInfo::visitProxies to "visitFPProxies"
We are removing dynamic state from the ProgramInfo, so the Ops will
need to invoke visits on their own primProc proxies.
Change-Id: I7ab227ab71208b7c7bcb7a9deb56b9abd556d6aa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/277236
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
diff --git a/src/gpu/GrProgramInfo.h b/src/gpu/GrProgramInfo.h
index 6fde1a8..ec863f3 100644
--- a/src/gpu/GrProgramInfo.h
+++ b/src/gpu/GrProgramInfo.h
@@ -118,17 +118,9 @@
// create the stencil settings here.
GrStencilSettings nonGLStencilSettings() const;
- void visitProxies(const GrOp::VisitProxyFunc& func) const {
- if (this->hasFixedPrimProcTextures()) {
- for (int i = 0; i < fPrimProc->numTextureSamplers(); ++i) {
- GrSamplerState samplerState = fPrimProc->textureSampler(i).samplerState();
-
- func(fFixedDynamicState->fPrimitiveProcessorTextures[i],
- GrMipMapped(samplerState == GrSamplerState::Filter::kMipMap));
- }
- }
- fPipeline->visitProxies(func);
- }
+ // Invokes the visitor function on all FP proxies in the pipeline. The caller is responsible
+ // to call the visitor on its own primProc proxies.
+ void visitFPProxies(const GrOp::VisitProxyFunc& func) const { fPipeline->visitProxies(func); }
#ifdef SK_DEBUG
void validate(bool flushTime) const;
diff --git a/src/gpu/ops/GrAAConvexPathRenderer.cpp b/src/gpu/ops/GrAAConvexPathRenderer.cpp
index 982dcb5..bb35605 100644
--- a/src/gpu/ops/GrAAConvexPathRenderer.cpp
+++ b/src/gpu/ops/GrAAConvexPathRenderer.cpp
@@ -712,7 +712,7 @@
void visitProxies(const VisitProxyFunc& func) const override {
if (fProgramInfo) {
- fProgramInfo->visitProxies(func);
+ fProgramInfo->visitFPProxies(func);
} else {
fHelper.visitProxies(func);
}
diff --git a/src/gpu/ops/GrAALinearizingConvexPathRenderer.cpp b/src/gpu/ops/GrAALinearizingConvexPathRenderer.cpp
index 54a2c44..c9c745c 100644
--- a/src/gpu/ops/GrAALinearizingConvexPathRenderer.cpp
+++ b/src/gpu/ops/GrAALinearizingConvexPathRenderer.cpp
@@ -170,7 +170,7 @@
void visitProxies(const VisitProxyFunc& func) const override {
if (fProgramInfo) {
- fProgramInfo->visitProxies(func);
+ fProgramInfo->visitFPProxies(func);
} else {
fHelper.visitProxies(func);
}
diff --git a/src/gpu/ops/GrDashOp.cpp b/src/gpu/ops/GrDashOp.cpp
index 053a38e..cf91ecf 100644
--- a/src/gpu/ops/GrDashOp.cpp
+++ b/src/gpu/ops/GrDashOp.cpp
@@ -228,7 +228,7 @@
void visitProxies(const VisitProxyFunc& func) const override {
if (fProgramInfo) {
- fProgramInfo->visitProxies(func);
+ fProgramInfo->visitFPProxies(func);
} else {
fProcessorSet.visitProxies(func);
}
diff --git a/src/gpu/ops/GrDefaultPathRenderer.cpp b/src/gpu/ops/GrDefaultPathRenderer.cpp
index 4f79279..bd74221 100644
--- a/src/gpu/ops/GrDefaultPathRenderer.cpp
+++ b/src/gpu/ops/GrDefaultPathRenderer.cpp
@@ -362,7 +362,7 @@
void visitProxies(const VisitProxyFunc& func) const override {
if (fProgramInfo) {
- fProgramInfo->visitProxies(func);
+ fProgramInfo->visitFPProxies(func);
} else {
fHelper.visitProxies(func);
}
diff --git a/src/gpu/ops/GrDrawAtlasOp.cpp b/src/gpu/ops/GrDrawAtlasOp.cpp
index 5fec9e1..f5a2a5b 100644
--- a/src/gpu/ops/GrDrawAtlasOp.cpp
+++ b/src/gpu/ops/GrDrawAtlasOp.cpp
@@ -37,7 +37,7 @@
void visitProxies(const VisitProxyFunc& func) const override {
if (fProgramInfo) {
- fProgramInfo->visitProxies(func);
+ fProgramInfo->visitFPProxies(func);
} else {
fHelper.visitProxies(func);
}
diff --git a/src/gpu/ops/GrDrawVerticesOp.cpp b/src/gpu/ops/GrDrawVerticesOp.cpp
index ba9ad3a..8bb512c 100644
--- a/src/gpu/ops/GrDrawVerticesOp.cpp
+++ b/src/gpu/ops/GrDrawVerticesOp.cpp
@@ -32,7 +32,7 @@
void visitProxies(const VisitProxyFunc& func) const override {
if (fProgramInfo) {
- fProgramInfo->visitProxies(func);
+ fProgramInfo->visitFPProxies(func);
} else {
fHelper.visitProxies(func);
}
diff --git a/src/gpu/ops/GrFillRRectOp.cpp b/src/gpu/ops/GrFillRRectOp.cpp
index 0ca0358..6e705d3 100644
--- a/src/gpu/ops/GrFillRRectOp.cpp
+++ b/src/gpu/ops/GrFillRRectOp.cpp
@@ -46,7 +46,7 @@
CombineResult onCombineIfPossible(GrOp*, GrRecordingContext::Arenas*, const GrCaps&) final;
void visitProxies(const VisitProxyFunc& fn) const override {
if (fProgramInfo) {
- fProgramInfo->visitProxies(fn);
+ fProgramInfo->visitFPProxies(fn);
} else {
fProcessors.visitProxies(fn);
}
diff --git a/src/gpu/ops/GrFillRectOp.cpp b/src/gpu/ops/GrFillRectOp.cpp
index 9a733ae..e8bdef7 100644
--- a/src/gpu/ops/GrFillRectOp.cpp
+++ b/src/gpu/ops/GrFillRectOp.cpp
@@ -114,7 +114,7 @@
void visitProxies(const VisitProxyFunc& func) const override {
if (fProgramInfo) {
- fProgramInfo->visitProxies(func);
+ fProgramInfo->visitFPProxies(func);
} else {
return fHelper.visitProxies(func);
}
diff --git a/src/gpu/ops/GrLatticeOp.cpp b/src/gpu/ops/GrLatticeOp.cpp
index 48da96f..5390a91 100644
--- a/src/gpu/ops/GrLatticeOp.cpp
+++ b/src/gpu/ops/GrLatticeOp.cpp
@@ -169,11 +169,11 @@
const char* name() const override { return "NonAALatticeOp"; }
void visitProxies(const VisitProxyFunc& func) const override {
+ bool mipped = (GrSamplerState::Filter::kMipMap == fFilter);
+ func(fView.proxy(), GrMipMapped(mipped));
if (fProgramInfo) {
- fProgramInfo->visitProxies(func);
+ fProgramInfo->visitFPProxies(func);
} else {
- bool mipped = (GrSamplerState::Filter::kMipMap == fFilter);
- func(fView.proxy(), GrMipMapped(mipped));
fHelper.visitProxies(func);
}
}
diff --git a/src/gpu/ops/GrOvalOpFactory.cpp b/src/gpu/ops/GrOvalOpFactory.cpp
index 7bcc3c8..2f68a76 100644
--- a/src/gpu/ops/GrOvalOpFactory.cpp
+++ b/src/gpu/ops/GrOvalOpFactory.cpp
@@ -1237,7 +1237,7 @@
void visitProxies(const VisitProxyFunc& func) const override {
if (fProgramInfo) {
- fProgramInfo->visitProxies(func);
+ fProgramInfo->visitFPProxies(func);
} else {
fHelper.visitProxies(func);
}
@@ -1599,7 +1599,7 @@
void visitProxies(const VisitProxyFunc& func) const override {
if (fProgramInfo) {
- fProgramInfo->visitProxies(func);
+ fProgramInfo->visitFPProxies(func);
} else {
fHelper.visitProxies(func);
}
@@ -1930,7 +1930,7 @@
void visitProxies(const VisitProxyFunc& func) const override {
if (fProgramInfo) {
- fProgramInfo->visitProxies(func);
+ fProgramInfo->visitFPProxies(func);
} else {
fHelper.visitProxies(func);
}
@@ -2207,7 +2207,7 @@
void visitProxies(const VisitProxyFunc& func) const override {
if (fProgramInfo) {
- fProgramInfo->visitProxies(func);
+ fProgramInfo->visitFPProxies(func);
} else {
fHelper.visitProxies(func);
}
@@ -2557,7 +2557,7 @@
void visitProxies(const VisitProxyFunc& func) const override {
if (fProgramInfo) {
- fProgramInfo->visitProxies(func);
+ fProgramInfo->visitFPProxies(func);
} else {
fHelper.visitProxies(func);
}
@@ -2929,7 +2929,7 @@
void visitProxies(const VisitProxyFunc& func) const override {
if (fProgramInfo) {
- fProgramInfo->visitProxies(func);
+ fProgramInfo->visitFPProxies(func);
} else {
fHelper.visitProxies(func);
}
diff --git a/src/gpu/ops/GrRegionOp.cpp b/src/gpu/ops/GrRegionOp.cpp
index fd5d8e4..a121295 100644
--- a/src/gpu/ops/GrRegionOp.cpp
+++ b/src/gpu/ops/GrRegionOp.cpp
@@ -66,7 +66,7 @@
void visitProxies(const VisitProxyFunc& func) const override {
if (fProgramInfo) {
- fProgramInfo->visitProxies(func);
+ fProgramInfo->visitFPProxies(func);
} else {
fHelper.visitProxies(func);
}
diff --git a/src/gpu/ops/GrShadowRRectOp.cpp b/src/gpu/ops/GrShadowRRectOp.cpp
index e74a20a..b766fc4 100644
--- a/src/gpu/ops/GrShadowRRectOp.cpp
+++ b/src/gpu/ops/GrShadowRRectOp.cpp
@@ -638,10 +638,9 @@
}
void visitProxies(const VisitProxyFunc& func) const override {
+ func(fFalloffView.proxy(), GrMipMapped(false));
if (fProgramInfo) {
- fProgramInfo->visitProxies(func);
- } else {
- func(fFalloffView.proxy(), GrMipMapped(false));
+ fProgramInfo->visitFPProxies(func);
}
}
diff --git a/src/gpu/ops/GrStrokeRectOp.cpp b/src/gpu/ops/GrStrokeRectOp.cpp
index f38e9a6..fbbd954 100644
--- a/src/gpu/ops/GrStrokeRectOp.cpp
+++ b/src/gpu/ops/GrStrokeRectOp.cpp
@@ -92,7 +92,7 @@
void visitProxies(const VisitProxyFunc& func) const override {
if (fProgramInfo) {
- fProgramInfo->visitProxies(func);
+ fProgramInfo->visitFPProxies(func);
} else {
fHelper.visitProxies(func);
}
@@ -421,7 +421,7 @@
void visitProxies(const VisitProxyFunc& func) const override {
if (fProgramInfo) {
- fProgramInfo->visitProxies(func);
+ fProgramInfo->visitFPProxies(func);
} else {
fHelper.visitProxies(func);
}
diff --git a/src/gpu/ops/GrTessellatingPathRenderer.cpp b/src/gpu/ops/GrTessellatingPathRenderer.cpp
index 46f5cc6..c6a1a42 100644
--- a/src/gpu/ops/GrTessellatingPathRenderer.cpp
+++ b/src/gpu/ops/GrTessellatingPathRenderer.cpp
@@ -184,7 +184,7 @@
void visitProxies(const VisitProxyFunc& func) const override {
if (fProgramInfo) {
- fProgramInfo->visitProxies(func);
+ fProgramInfo->visitFPProxies(func);
} else {
fHelper.visitProxies(func);
}