Revert "Make textures used with alpha-only color-types produce 0s for RGB"
This reverts commit 16d86135b739bc89ec4744bcec3eccc590c433ba.
No-Tree-Checks: true
Change-Id: Ia5ba78259a3a406c4c0f8ddca9aaf495d29b34f8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/348176
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
diff --git a/src/gpu/SkGpuDevice_drawTexture.cpp b/src/gpu/SkGpuDevice_drawTexture.cpp
index c6b7bbe..a96b95f 100644
--- a/src/gpu/SkGpuDevice_drawTexture.cpp
+++ b/src/gpu/SkGpuDevice_drawTexture.cpp
@@ -351,9 +351,6 @@
SkCanvas::SrcRectConstraint constraint,
GrSurfaceProxyView view,
const GrColorInfo& srcColorInfo) {
- if (GrColorTypeIsAlphaOnly(srcColorInfo.colorType())) {
- view.concatSwizzle(GrSwizzle("aaaa"));
- }
const GrColorInfo& dstInfo(rtc->colorInfo());
auto textureXform =
GrColorSpaceXform::Make(srcColorInfo.colorSpace(), srcColorInfo.alphaType(),
@@ -451,9 +448,7 @@
aaFlags,
constraint,
std::move(view),
- {producer->colorType(),
- producer->alphaType(),
- sk_ref_sp(producer->colorSpace())});
+ producer->colorInfo());
return;
}
@@ -514,11 +509,7 @@
}
fp = GrColorSpaceXformEffect::Make(std::move(fp), producer->colorSpace(), producer->alphaType(),
rtc->colorInfo().colorSpace(), kPremul_SkAlphaType);
- if (producer->isAlphaOnly()) {
- fp = GrBlendFragmentProcessor::Make(std::move(fp), nullptr, SkBlendMode::kDstIn);
- } else {
- fp = GrBlendFragmentProcessor::Make(std::move(fp), nullptr, SkBlendMode::kSrcIn);
- }
+ fp = GrBlendFragmentProcessor::Make(std::move(fp), nullptr, SkBlendMode::kModulate);
GrPaint grPaint;
if (!SkPaintToGrPaintWithTexture(context, rtc->colorInfo(), paint, matrixProvider,
@@ -898,10 +889,6 @@
if (!view) {
view = image->refView(this->recordingContext(), GrMipmapped::kNo);
}
- if (image->isAlphaOnly()) {
- GrSwizzle swizzle = GrSwizzle::Concat(view.swizzle(), GrSwizzle("aaaa"));
- view = {view.detachProxy(), view.origin(), swizzle};
- }
}
if (!view) {