Remove domain-uses-decal code from GrTextureProducer
Instead pass wrap modes to createFragmentProcessor.
Rename GrTextureProducer::hasMixedResolutions() to
isPlanar() and use to determine whether to attempt
simple texture draw (that would flatten).
Change-Id: Ifca833a1ab02a98e4e24718bd8542e0ac48a4c74
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274276
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
diff --git a/src/gpu/GrTextureAdjuster.cpp b/src/gpu/GrTextureAdjuster.cpp
index 07c080e..6867e40 100644
--- a/src/gpu/GrTextureAdjuster.cpp
+++ b/src/gpu/GrTextureAdjuster.cpp
@@ -16,9 +16,8 @@
GrTextureAdjuster::GrTextureAdjuster(GrRecordingContext* context,
GrSurfaceProxyView original,
const GrColorInfo& colorInfo,
- uint32_t uniqueID,
- bool useDecal)
- : INHERITED(context, {colorInfo, original.proxy()->dimensions()}, useDecal)
+ uint32_t uniqueID)
+ : INHERITED(context, {colorInfo, original.proxy()->dimensions()})
, fOriginal(std::move(original))
, fUniqueID(uniqueID) {}
@@ -83,6 +82,8 @@
const SkRect& constraintRect,
FilterConstraint filterConstraint,
bool coordsLimitedToConstraintRect,
+ GrSamplerState::WrapMode wrapX,
+ GrSamplerState::WrapMode wrapY,
const GrSamplerState::Filter* filterOrNullForBicubic) {
GrSurfaceProxyView view;
if (filterOrNullForBicubic) {
@@ -115,6 +116,7 @@
}
SkASSERT(kNoDomain_DomainMode == domainMode ||
(domain.fLeft <= domain.fRight && domain.fTop <= domain.fBottom));
- return this->createFragmentProcessorForDomainAndFilter(
- std::move(view), textureMatrix, domainMode, domain, filterOrNullForBicubic);
+ return this->createFragmentProcessorForSubsetAndFilter(std::move(view), textureMatrix,
+ domainMode, domain, wrapX, wrapY,
+ filterOrNullForBicubic);
}