Revert "Make GrTextureOp disable coverage AA when rect falls on integers."
This reverts commit ca439a0a0a
.
Reason for revert: layout tests :(
Original change's description:
> Make GrTextureOp disable coverage AA when rect falls on integers.
>
> Change-Id: Iaf5e8d154cc9108adcd8294812cecae7b4f01a5d
> Reviewed-on: https://skia-review.googlesource.com/130148
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com
Change-Id: Iac6bdc19ed16ebbee27a7601086c305490d44a50
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/130521
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
This commit is contained in:
parent
97918ff4ae
commit
36be574e7b
@ -709,26 +709,15 @@ __attribute__((no_sanitize("float-cast-overflow")))
|
||||
, fFinalized(0)
|
||||
, fAllowSRGBInputs(allowSRGBInputs ? 1 : 0) {
|
||||
SkASSERT(aaType != GrAAType::kMixedSamples);
|
||||
|
||||
const Draw& draw = fDraws.emplace_back(srcRect, 0, GrPerspQuad(dstRect, viewMatrix),
|
||||
constraint, color);
|
||||
fPerspective = viewMatrix.hasPerspective();
|
||||
auto quad = GrPerspQuad(dstRect, viewMatrix);
|
||||
auto bounds = quad.bounds();
|
||||
if (GrAAType::kCoverage == this->aaType() && viewMatrix.rectStaysRect()) {
|
||||
// Disable coverage AA when rect falls on integers in device space.
|
||||
auto is_int = [](float f) { return f == sk_float_floor(f); };
|
||||
if (is_int(bounds.fLeft) && is_int(bounds.fTop) && is_int(bounds.fRight) &&
|
||||
is_int(bounds.fBottom)) {
|
||||
fAAType = static_cast<unsigned>(GrAAType::kNone);
|
||||
// We may have had a strict constraint with nearest filter soley due to possible AA
|
||||
// bloat. In that case it's no longer necessary.
|
||||
if (constraint == SkCanvas::kStrict_SrcRectConstraint &&
|
||||
filter == GrSamplerState::Filter::kNearest) {
|
||||
constraint = SkCanvas::kFast_SrcRectConstraint;
|
||||
}
|
||||
}
|
||||
}
|
||||
const auto& draw = fDraws.emplace_back(srcRect, 0, quad, constraint, color);
|
||||
fDomain = (bool)draw.domain();
|
||||
SkRect bounds;
|
||||
bounds = draw.quad().bounds();
|
||||
this->setBounds(bounds, HasAABloat::kNo, IsZeroArea::kNo);
|
||||
fDomain = static_cast<bool>(draw.domain());
|
||||
|
||||
fMaxApproxDstPixelArea = RectSizeAsSizeT(bounds);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user