Keep UVs consistent in degenerate quads

An earlier CL noted that the edge correction sometimes caused popping
when undering extreme perspective, so I removed the edge correction
thinking that it was unnecessary. Turns out that for actual degenerate
quads, it is necessary. However, instead of re-determining the degenerate
edge based on the local edge length, this corrects the exact same edges
that had been corrected in device space. I confirmed that this seems to
prevent the popping under extreme perspective and draws triangles correctly.
It also avoids the coordinate scale issue that comes about when the edge
tolerances had been chosen for pixel space, but many of the local coordinates
being processed had already been normalized so differed by a factor of 3ish.

Bug: skia:9889
Change-Id: Ida4c626aa982fe4fdac6695e2ad95e162e42fca2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/269758
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
1 file changed