Revert "Reland x2 "Drawing YUVA images does not flatten for bicubic.""
This reverts commit 9b22838da3854b161b0363c321f342d886e38d81.
Reason for revert: bad GM results.
Original change's description:
> Reland x2 "Drawing YUVA images does not flatten for bicubic."
>
> With fix for dumb coord mistake.
>
> This reverts commit 6cb8168c2b9b757110883a6974e45c7f76db228c.
>
> Change-Id: If5385d16339c2b2b03eeff4ddd65c601e672d3dc
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278783
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
TBR=bsalomon@google.com
Change-Id: I1143413f841182d39f5dc3eb4593fa98edf1bed4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278858
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
diff --git a/src/gpu/GrImageTextureMaker.cpp b/src/gpu/GrImageTextureMaker.cpp
index 71c2d26..5a4f7e7 100644
--- a/src/gpu/GrImageTextureMaker.cpp
+++ b/src/gpu/GrImageTextureMaker.cpp
@@ -11,7 +11,6 @@
#include "src/gpu/GrContextPriv.h"
#include "src/gpu/GrRecordingContextPriv.h"
#include "src/gpu/SkGr.h"
-#include "src/gpu/effects/GrBicubicEffect.h"
#include "src/gpu/effects/GrYUVtoRGBEffect.h"
#include "src/image/SkImage_GpuYUVA.h"
#include "src/image/SkImage_Lazy.h"
@@ -66,18 +65,17 @@
GrSamplerState::WrapMode wrapX,
GrSamplerState::WrapMode wrapY,
const GrSamplerState::Filter* filterOrNullForBicubic) {
- // Check whether it's already been flattened.
- if (fImage->fRGBView.proxy()) {
+ // Check simple cases to see if we need to fall back to flattening the image (or whether it's
+ // already been flattened.)
+ if (!filterOrNullForBicubic || fImage->fRGBView.proxy()) {
return this->INHERITED::createFragmentProcessor(
textureMatrix, constraintRect, filterConstraint, coordsLimitedToConstraintRect,
wrapX, wrapY, filterOrNullForBicubic);
}
- GrSamplerState::Filter filter =
- filterOrNullForBicubic ? *filterOrNullForBicubic : GrSamplerState::Filter::kNearest;
-
// Check to see if the client has given us pre-mipped textures or we can generate them
// If not, fall back to bilerp. Also fall back to bilerp when a domain is requested
+ GrSamplerState::Filter filter = *filterOrNullForBicubic;
if (GrSamplerState::Filter::kMipMap == filter &&
(filterConstraint == GrTextureProducer::kYes_FilterConstraint ||
!fImage->setupMipmapsForPlanes(this->context()))) {
@@ -93,13 +91,8 @@
}
const auto& caps = *fImage->context()->priv().caps();
- const SkMatrix& m = filterOrNullForBicubic ? textureMatrix : SkMatrix::I();
auto fp = GrYUVtoRGBEffect::Make(fImage->fViews, fImage->fYUVAIndices, fImage->fYUVColorSpace,
- filter, caps, m, domain);
- if (!filterOrNullForBicubic) {
- fp = GrBicubicEffect::Make(std::move(fp), fImage->alphaType(), textureMatrix,
- GrBicubicEffect::Direction::kXY);
- }
+ filter, caps, textureMatrix, domain);
if (fImage->fFromColorSpace) {
fp = GrColorSpaceXformEffect::Make(std::move(fp), fImage->fFromColorSpace.get(),
fImage->alphaType(), fImage->colorSpace());