diff options
author | 2017-01-19 16:59:04 -0500 | |
---|---|---|
committer | 2017-01-20 15:10:18 +0000 | |
commit | c949ce9d808dbf7c2db7dc0b85271969ba46b69a (patch) | |
tree | 14cce659a0861b970f99d80dbfb69a52975498a3 /src/gpu/effects/GrConfigConversionEffect.cpp | |
parent | 4c76c41c981dd7ea95062a1895a6e3415b70bce1 (diff) |
Replace some GrSurface:read/writePixels with the GrSurfaceContext equivalent
Change-Id: I7b11a323b0c74ee70f52b1bd8be376fb7188cb19
Reviewed-on: https://skia-review.googlesource.com/7204
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Diffstat (limited to 'src/gpu/effects/GrConfigConversionEffect.cpp')
-rw-r--r-- | src/gpu/effects/GrConfigConversionEffect.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/gpu/effects/GrConfigConversionEffect.cpp b/src/gpu/effects/GrConfigConversionEffect.cpp index 8405fcbaf7..46afb9fbc0 100644 --- a/src/gpu/effects/GrConfigConversionEffect.cpp +++ b/src/gpu/effects/GrConfigConversionEffect.cpp @@ -185,6 +185,9 @@ void GrConfigConversionEffect::TestForPreservingPMConversions(GrContext* context } } + const SkImageInfo ii = SkImageInfo::Make(kSize, kSize, + kRGBA_8888_SkColorType, kPremul_SkAlphaType); + sk_sp<GrRenderTargetContext> readRTC(context->makeRenderTargetContext(SkBackingFit::kExact, kSize, kSize, kConfig, nullptr)); @@ -240,7 +243,9 @@ void GrConfigConversionEffect::TestForPreservingPMConversions(GrContext* context readRTC->fillRectToRect(GrNoClip(), std::move(paint1), GrAA::kNo, SkMatrix::I(), kDstRect, kSrcRect); - readRTC->asTexture()->readPixels(0, 0, kSize, kSize, kConfig, firstRead); + if (!readRTC->readPixels(ii, firstRead, 0, 0, 0)) { + continue; + } paint2.addColorFragmentProcessor(std::move(upmToPM)); paint2.setPorterDuffXPFactory(SkBlendMode::kSrc); @@ -254,7 +259,9 @@ void GrConfigConversionEffect::TestForPreservingPMConversions(GrContext* context readRTC->fillRectToRect(GrNoClip(), std::move(paint3), GrAA::kNo, SkMatrix::I(), kDstRect, kSrcRect); - readRTC->asTexture()->readPixels(0, 0, kSize, kSize, kConfig, secondRead); + if (!readRTC->readPixels(ii, secondRead, 0, 0, 0)) { + continue; + } failed = false; for (int y = 0; y < kSize && !failed; ++y) { |