Remove generic GrFragmentProcessor texture sampling.
Instead GrTextureEffect is a special effect known by
program builders, pipeline states, etc.
Change-Id: I4436d7a10a1c3174fe1f02f136363a1c117f92fb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301357
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
diff --git a/src/gpu/GrPipeline.cpp b/src/gpu/GrPipeline.cpp
index 58c8f0c..95cc8a7 100644
--- a/src/gpu/GrPipeline.cpp
+++ b/src/gpu/GrPipeline.cpp
@@ -108,11 +108,17 @@
b->add32(blendKey);
}
+void GrPipeline::visitTextureEffects(
+ const std::function<void(const GrTextureEffect&)>& func) const {
+ for (auto& fp : fFragmentProcessors) {
+ fp->visitTextureEffects(func);
+ }
+}
+
void GrPipeline::visitProxies(const GrOp::VisitProxyFunc& func) const {
// This iteration includes any clip coverage FPs
- for (auto [sampler, fp] : GrFragmentProcessor::PipelineTextureSamplerRange(*this)) {
- bool mipped = (GrSamplerState::Filter::kMipMap == sampler.samplerState().filter());
- func(sampler.view().proxy(), GrMipMapped(mipped));
+ for (auto& fp : fFragmentProcessors) {
+ fp->visitProxies(func);
}
if (fDstProxyView.asTextureProxy()) {
func(fDstProxyView.asTextureProxy(), GrMipMapped::kNo);