Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit a92320d

Browse files
bsalomonSkia Commit-Bot
authored andcommitted
Remove GrPaint::addColorTextureProcessor
Just make the effect and then add it. Makes it easier to make changes to GrTextureEffect::Make going forward. Also add default param for matrix (identity). Change-Id: I52073f11a0a78b971bb512627198ee1724bfdac7 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/263518 Reviewed-by: Michael Ludwig <[email protected]> Commit-Queue: Brian Salomon <[email protected]>
1 parent 1d33435 commit a92320d

13 files changed

+31
-48
lines changed

samplecode/SampleCCPRGeometry.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -195,8 +195,7 @@ void CCPRGeometryView::onDrawContent(SkCanvas* canvas) {
195195
// Visualize coverage count in main canvas.
196196
GrPaint paint;
197197
paint.addColorFragmentProcessor(GrTextureEffect::Make(sk_ref_sp(ccbuff->asTextureProxy()),
198-
ccbuff->colorInfo().alphaType(),
199-
SkMatrix::I()));
198+
ccbuff->colorInfo().alphaType()));
200199
paint.addColorFragmentProcessor(
201200
std::make_unique<VisualizeCoverageCountFP>());
202201
paint.setPorterDuffXPFactory(SkBlendMode::kSrcOver);

src/core/SkBlurMF.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -902,7 +902,7 @@ sk_sp<GrTextureProxy> SkBlurMaskFilterImpl::filterMaskGPU(GrRecordingContext* co
902902
GrPaint paint;
903903
// Blend pathTexture over blurTexture.
904904
paint.addCoverageFragmentProcessor(
905-
GrTextureEffect::Make(std::move(srcProxy), srcAlphaType, SkMatrix::I()));
905+
GrTextureEffect::Make(std::move(srcProxy), srcAlphaType));
906906
if (kInner_SkBlurStyle == fBlurStyle) {
907907
// inner: dst = dst * src
908908
paint.setCoverageSetOpXPFactory(SkRegion::kIntersect_Op);

src/gpu/GrPaint.cpp

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,6 @@ void GrPaint::setCoverageSetOpXPFactory(SkRegion::Op regionOp, bool invertCovera
3535
this->setXPFactory(GrCoverageSetOpXPFactory::Get(regionOp, invertCoverage));
3636
}
3737

38-
void GrPaint::addColorTextureProcessor(sk_sp<GrTextureProxy> proxy, SkAlphaType alphaType,
39-
const SkMatrix& matrix, GrSamplerState samplerState) {
40-
this->addColorFragmentProcessor(
41-
GrTextureEffect::Make(std::move(proxy), alphaType, matrix, samplerState));
42-
}
43-
4438
bool GrPaint::isConstantBlendedColor(SkPMColor4f* constantColor) const {
4539
// This used to do a more sophisticated analysis but now it just explicitly looks for common
4640
// cases.

src/gpu/GrPaint.h

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -77,13 +77,6 @@ class GrPaint {
7777
fTrivial = false;
7878
}
7979

80-
/**
81-
* Helpers for adding color or coverage effects that sample a texture. The matrix is applied
82-
* to the src space position to compute texture coordinates.
83-
*/
84-
void addColorTextureProcessor(sk_sp<GrTextureProxy>, SkAlphaType, const SkMatrix&,
85-
GrSamplerState = GrSamplerState::Filter::kBilerp);
86-
8780
int numColorFragmentProcessors() const { return fColorFragmentProcessors.count(); }
8881
int numCoverageFragmentProcessors() const { return fCoverageFragmentProcessors.count(); }
8982
int numTotalFragmentProcessors() const { return this->numColorFragmentProcessors() +

src/gpu/GrRenderTargetContext.cpp

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2020,7 +2020,8 @@ void GrRenderTargetContext::asyncRescaleAndReadPixelsYUV420(SkYUVColorSpace yuvC
20202020
std::fill_n(yM, 15, 0.f);
20212021
std::copy_n(baseM + 0, 5, yM + 15);
20222022
GrPaint yPaint;
2023-
yPaint.addColorTextureProcessor(srcProxy, this->colorInfo().alphaType(), texMatrix);
2023+
yPaint.addColorFragmentProcessor(
2024+
GrTextureEffect::Make(srcProxy, this->colorInfo().alphaType(), texMatrix));
20242025
auto yFP = GrColorMatrixFragmentProcessor::Make(yM, false, true, false);
20252026
yPaint.addColorFragmentProcessor(std::move(yFP));
20262027
yPaint.setPorterDuffXPFactory(SkBlendMode::kSrc);
@@ -2039,8 +2040,8 @@ void GrRenderTargetContext::asyncRescaleAndReadPixelsYUV420(SkYUVColorSpace yuvC
20392040
std::fill_n(uM, 15, 0.f);
20402041
std::copy_n(baseM + 5, 5, uM + 15);
20412042
GrPaint uPaint;
2042-
uPaint.addColorTextureProcessor(srcProxy, this->colorInfo().alphaType(), texMatrix,
2043-
GrSamplerState::Filter::kBilerp);
2043+
uPaint.addColorFragmentProcessor(GrTextureEffect::Make(
2044+
srcProxy, this->colorInfo().alphaType(), texMatrix, GrSamplerState::Filter::kBilerp));
20442045
auto uFP = GrColorMatrixFragmentProcessor::Make(uM, false, true, false);
20452046
uPaint.addColorFragmentProcessor(std::move(uFP));
20462047
uPaint.setPorterDuffXPFactory(SkBlendMode::kSrc);
@@ -2058,8 +2059,8 @@ void GrRenderTargetContext::asyncRescaleAndReadPixelsYUV420(SkYUVColorSpace yuvC
20582059
std::fill_n(vM, 15, 0.f);
20592060
std::copy_n(baseM + 10, 5, vM + 15);
20602061
GrPaint vPaint;
2061-
vPaint.addColorTextureProcessor(srcProxy, this->colorInfo().alphaType(), texMatrix,
2062-
GrSamplerState::Filter::kBilerp);
2062+
vPaint.addColorFragmentProcessor(GrTextureEffect::Make(
2063+
srcProxy, this->colorInfo().alphaType(), texMatrix, GrSamplerState::Filter::kBilerp));
20632064
auto vFP = GrColorMatrixFragmentProcessor::Make(vM, false, true, false);
20642065
vPaint.addColorFragmentProcessor(std::move(vFP));
20652066
vPaint.setPorterDuffXPFactory(SkBlendMode::kSrc);
@@ -2579,7 +2580,7 @@ bool GrRenderTargetContext::blitTexture(GrTextureProxy* src, const SkIRect& srcR
25792580

25802581
GrPaint paint;
25812582
paint.setPorterDuffXPFactory(SkBlendMode::kSrc);
2582-
auto fp = GrTextureEffect::Make(sk_ref_sp(src), kUnknown_SkAlphaType, SkMatrix::I());
2583+
auto fp = GrTextureEffect::Make(sk_ref_sp(src), kUnknown_SkAlphaType);
25832584
if (!fp) {
25842585
return false;
25852586
}

src/gpu/GrSurfaceContext.cpp

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -219,9 +219,8 @@ bool GrSurfaceContext::readPixels(const GrImageInfo& origDstInfo, void* dst, siz
219219

220220
std::unique_ptr<GrFragmentProcessor> fp;
221221
if (canvas2DFastPath) {
222-
fp = direct->priv().createPMToUPMEffect(
223-
GrTextureEffect::Make(sk_ref_sp(srcProxy->asTextureProxy()),
224-
this->colorInfo().alphaType(), SkMatrix::I()));
222+
fp = direct->priv().createPMToUPMEffect(GrTextureEffect::Make(
223+
sk_ref_sp(srcProxy->asTextureProxy()), this->colorInfo().alphaType()));
225224
if (dstInfo.colorType() == GrColorType::kBGRA_8888) {
226225
fp = GrFragmentProcessor::SwizzleOutput(std::move(fp), GrSwizzle::BGRA());
227226
dstInfo = dstInfo.makeColorType(GrColorType::kRGBA_8888);
@@ -232,7 +231,7 @@ bool GrSurfaceContext::readPixels(const GrImageInfo& origDstInfo, void* dst, siz
232231
dstInfo = dstInfo.makeAlphaType(kPremul_SkAlphaType);
233232
} else {
234233
fp = GrTextureEffect::Make(sk_ref_sp(srcProxy->asTextureProxy()),
235-
this->colorInfo().alphaType(), SkMatrix::I());
234+
this->colorInfo().alphaType());
236235
}
237236
if (!fp) {
238237
return false;
@@ -412,13 +411,13 @@ bool GrSurfaceContext::writePixels(const GrImageInfo& origSrcInfo, const void* s
412411
std::unique_ptr<GrFragmentProcessor> fp;
413412
if (canvas2DFastPath) {
414413
fp = direct->priv().createUPMToPMEffect(
415-
GrTextureEffect::Make(std::move(tempProxy), alphaType, SkMatrix::I()));
414+
GrTextureEffect::Make(std::move(tempProxy), alphaType));
416415
// Important: check the original src color type here!
417416
if (origSrcInfo.colorType() == GrColorType::kBGRA_8888) {
418417
fp = GrFragmentProcessor::SwizzleOutput(std::move(fp), GrSwizzle::BGRA());
419418
}
420419
} else {
421-
fp = GrTextureEffect::Make(std::move(tempProxy), alphaType, SkMatrix::I());
420+
fp = GrTextureEffect::Make(std::move(tempProxy), alphaType);
422421
}
423422
if (!fp) {
424423
return false;

src/gpu/SkGpuDevice.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1036,7 +1036,7 @@ void SkGpuDevice::drawSpecial(SkSpecialImage* special, int left, int top, const
10361036

10371037
tmpUnfiltered.setImageFilter(nullptr);
10381038

1039-
auto fp = GrTextureEffect::Make(std::move(proxy), special->alphaType(), SkMatrix::I());
1039+
auto fp = GrTextureEffect::Make(std::move(proxy), special->alphaType());
10401040
fp = GrColorSpaceXformEffect::Make(std::move(fp), result->getColorSpace(), result->alphaType(),
10411041
fRenderTargetContext->colorInfo().colorSpace());
10421042
if (GrColorTypeIsAlphaOnly(SkColorTypeToGrColorType(result->colorType()))) {

src/gpu/effects/GrConfigConversionEffect.fp

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@
8282
std::unique_ptr<GrFragmentProcessor> upmToPM(
8383
new GrConfigConversionEffect(PMConversion::kToPremul));
8484

85-
paint1.addColorTextureProcessor(dataProxy, kPremul_SkAlphaType, SkMatrix::I());
85+
paint1.addColorFragmentProcessor(GrTextureEffect::Make(dataProxy, kPremul_SkAlphaType));
8686
paint1.addColorFragmentProcessor(pmToUPM->clone());
8787
paint1.setPorterDuffXPFactory(SkBlendMode::kSrc);
8888

@@ -96,16 +96,14 @@
9696
// draw
9797
tempRTC->discard();
9898

99-
paint2.addColorTextureProcessor(readRTC->asTextureProxyRef(), kUnpremul_SkAlphaType,
100-
SkMatrix::I());
99+
paint2.addColorFragmentProcessor(GrTextureEffect::Make(readRTC->asTextureProxyRef(), kUnpremul_SkAlphaType));
101100
paint2.addColorFragmentProcessor(std::move(upmToPM));
102101
paint2.setPorterDuffXPFactory(SkBlendMode::kSrc);
103102

104103
tempRTC->fillRectToRect(GrNoClip(), std::move(paint2), GrAA::kNo, SkMatrix::I(), kRect,
105104
kRect);
106105

107-
paint3.addColorTextureProcessor(tempRTC->asTextureProxyRef(), kPremul_SkAlphaType,
108-
SkMatrix::I());
106+
paint3.addColorFragmentProcessor(GrTextureEffect::Make(tempRTC->asTextureProxyRef(), kPremul_SkAlphaType));
109107
paint3.addColorFragmentProcessor(std::move(pmToUPM));
110108
paint3.setPorterDuffXPFactory(SkBlendMode::kSrc);
111109

src/gpu/effects/GrTextureEffect.h

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,10 @@
1515

1616
class GrTextureEffect : public GrFragmentProcessor {
1717
public:
18-
static std::unique_ptr<GrFragmentProcessor> Make(
19-
sk_sp<GrSurfaceProxy>,
20-
SkAlphaType,
21-
const SkMatrix&,
22-
GrSamplerState = {GrSamplerState::Filter::kNearest});
23-
18+
static std::unique_ptr<GrFragmentProcessor> Make(sk_sp<GrSurfaceProxy>,
19+
SkAlphaType,
20+
const SkMatrix& = SkMatrix::I(),
21+
GrSamplerState = {});
2422

2523
std::unique_ptr<GrFragmentProcessor> clone() const override;
2624

src/gpu/effects/generated/GrConfigConversionEffect.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ class GrConfigConversionEffect : public GrFragmentProcessor {
8888
std::unique_ptr<GrFragmentProcessor> upmToPM(
8989
new GrConfigConversionEffect(PMConversion::kToPremul));
9090

91-
paint1.addColorTextureProcessor(dataProxy, kPremul_SkAlphaType, SkMatrix::I());
91+
paint1.addColorFragmentProcessor(GrTextureEffect::Make(dataProxy, kPremul_SkAlphaType));
9292
paint1.addColorFragmentProcessor(pmToUPM->clone());
9393
paint1.setPorterDuffXPFactory(SkBlendMode::kSrc);
9494

@@ -102,16 +102,16 @@ class GrConfigConversionEffect : public GrFragmentProcessor {
102102
// draw
103103
tempRTC->discard();
104104

105-
paint2.addColorTextureProcessor(readRTC->asTextureProxyRef(), kUnpremul_SkAlphaType,
106-
SkMatrix::I());
105+
paint2.addColorFragmentProcessor(
106+
GrTextureEffect::Make(readRTC->asTextureProxyRef(), kUnpremul_SkAlphaType));
107107
paint2.addColorFragmentProcessor(std::move(upmToPM));
108108
paint2.setPorterDuffXPFactory(SkBlendMode::kSrc);
109109

110110
tempRTC->fillRectToRect(GrNoClip(), std::move(paint2), GrAA::kNo, SkMatrix::I(), kRect,
111111
kRect);
112112

113-
paint3.addColorTextureProcessor(tempRTC->asTextureProxyRef(), kPremul_SkAlphaType,
114-
SkMatrix::I());
113+
paint3.addColorFragmentProcessor(
114+
GrTextureEffect::Make(tempRTC->asTextureProxyRef(), kPremul_SkAlphaType));
115115
paint3.addColorFragmentProcessor(std::move(pmToUPM));
116116
paint3.setPorterDuffXPFactory(SkBlendMode::kSrc);
117117

0 commit comments

Comments
 (0)