| Index: src/gpu/effects/GrConfigConversionEffect.cpp
|
| diff --git a/src/gpu/effects/GrConfigConversionEffect.cpp b/src/gpu/effects/GrConfigConversionEffect.cpp
|
| index 9791cb4b8225329d0d37abf404a35a03903f6a60..d2fde96bb3b85eb79faffe9a9049ea4b3b659f84 100644
|
| --- a/src/gpu/effects/GrConfigConversionEffect.cpp
|
| +++ b/src/gpu/effects/GrConfigConversionEffect.cpp
|
| @@ -125,14 +125,15 @@ void GrConfigConversionEffect::onComputeInvariantOutput(GrInvariantOutput* inout
|
|
|
| GR_DEFINE_FRAGMENT_PROCESSOR_TEST(GrConfigConversionEffect);
|
|
|
| -const GrFragmentProcessor* GrConfigConversionEffect::TestCreate(GrProcessorTestData* d) {
|
| +sk_sp<GrFragmentProcessor> GrConfigConversionEffect::TestCreate(GrProcessorTestData* d) {
|
| PMConversion pmConv = static_cast<PMConversion>(d->fRandom->nextULessThan(kPMConversionCnt));
|
| GrSwizzle swizzle;
|
| do {
|
| swizzle = GrSwizzle::CreateRandom(d->fRandom);
|
| } while (pmConv == kNone_PMConversion && swizzle == GrSwizzle::RGBA());
|
| - return new GrConfigConversionEffect(d->fTextures[GrProcessorUnitTest::kSkiaPMTextureIdx],
|
| - swizzle, pmConv, GrTest::TestMatrix(d->fRandom));
|
| + return sk_sp<GrFragmentProcessor>(
|
| + new GrConfigConversionEffect(d->fTextures[GrProcessorUnitTest::kSkiaPMTextureIdx],
|
| + swizzle, pmConv, GrTest::TestMatrix(d->fRandom)));
|
| }
|
|
|
| ///////////////////////////////////////////////////////////////////////////////
|
| @@ -214,17 +215,16 @@ void GrConfigConversionEffect::TestForPreservingPMConversions(GrContext* context
|
| GrPaint paint1;
|
| GrPaint paint2;
|
| GrPaint paint3;
|
| - SkAutoTUnref<GrFragmentProcessor> pmToUPM1(new GrConfigConversionEffect(
|
| + sk_sp<GrFragmentProcessor> pmToUPM1(new GrConfigConversionEffect(
|
| dataTex, GrSwizzle::RGBA(), *pmToUPMRule, SkMatrix::I()));
|
| - SkAutoTUnref<GrFragmentProcessor> upmToPM(new GrConfigConversionEffect(
|
| + sk_sp<GrFragmentProcessor> upmToPM(new GrConfigConversionEffect(
|
| readTex, GrSwizzle::RGBA(), *upmToPMRule, SkMatrix::I()));
|
| - SkAutoTUnref<GrFragmentProcessor> pmToUPM2(new GrConfigConversionEffect(
|
| + sk_sp<GrFragmentProcessor> pmToUPM2(new GrConfigConversionEffect(
|
| tempTex, GrSwizzle::RGBA(), *pmToUPMRule, SkMatrix::I()));
|
|
|
| - paint1.addColorFragmentProcessor(pmToUPM1);
|
| + paint1.addColorFragmentProcessor(std::move(pmToUPM1));
|
| paint1.setPorterDuffXPFactory(SkXfermode::kSrc_Mode);
|
|
|
| -
|
| sk_sp<GrDrawContext> readDrawContext(
|
| context->drawContext(sk_ref_sp(readTex->asRenderTarget())));
|
| if (!readDrawContext) {
|
| @@ -240,7 +240,7 @@ void GrConfigConversionEffect::TestForPreservingPMConversions(GrContext* context
|
|
|
| readTex->readPixels(0, 0, 256, 256, kRGBA_8888_GrPixelConfig, firstRead);
|
|
|
| - paint2.addColorFragmentProcessor(upmToPM);
|
| + paint2.addColorFragmentProcessor(std::move(upmToPM));
|
| paint2.setPorterDuffXPFactory(SkXfermode::kSrc_Mode);
|
|
|
| sk_sp<GrDrawContext> tempDrawContext(
|
| @@ -255,7 +255,7 @@ void GrConfigConversionEffect::TestForPreservingPMConversions(GrContext* context
|
| kDstRect,
|
| kSrcRect);
|
|
|
| - paint3.addColorFragmentProcessor(pmToUPM2);
|
| + paint3.addColorFragmentProcessor(std::move(pmToUPM2));
|
| paint3.setPorterDuffXPFactory(SkXfermode::kSrc_Mode);
|
|
|
| readDrawContext = context->drawContext(sk_ref_sp(readTex->asRenderTarget()));
|
| @@ -288,15 +288,15 @@ void GrConfigConversionEffect::TestForPreservingPMConversions(GrContext* context
|
| }
|
| }
|
|
|
| -const GrFragmentProcessor* GrConfigConversionEffect::Create(GrTexture* texture,
|
| - const GrSwizzle& swizzle,
|
| - PMConversion pmConversion,
|
| - const SkMatrix& matrix) {
|
| +sk_sp<GrFragmentProcessor> GrConfigConversionEffect::Make(GrTexture* texture,
|
| + const GrSwizzle& swizzle,
|
| + PMConversion pmConversion,
|
| + const SkMatrix& matrix) {
|
| if (swizzle == GrSwizzle::RGBA() && kNone_PMConversion == pmConversion) {
|
| // If we returned a GrConfigConversionEffect that was equivalent to a GrSimpleTextureEffect
|
| // then we may pollute our texture cache with redundant shaders. So in the case that no
|
| // conversions were requested we instead return a GrSimpleTextureEffect.
|
| - return GrSimpleTextureEffect::Create(texture, matrix);
|
| + return GrSimpleTextureEffect::Make(texture, matrix);
|
| } else {
|
| if (kRGBA_8888_GrPixelConfig != texture->config() &&
|
| kBGRA_8888_GrPixelConfig != texture->config() &&
|
| @@ -304,6 +304,7 @@ const GrFragmentProcessor* GrConfigConversionEffect::Create(GrTexture* texture,
|
| // The PM conversions assume colors are 0..255
|
| return nullptr;
|
| }
|
| - return new GrConfigConversionEffect(texture, swizzle, pmConversion, matrix);
|
| + return sk_sp<GrFragmentProcessor>(
|
| + new GrConfigConversionEffect(texture, swizzle, pmConversion, matrix));
|
| }
|
| }
|
|
|