[M150] [gpu] Don't mark GlyphData's atlas generation on a partial update
Original change's description:
> [gpu] Don't mark GlyphData's atlas generation on a partial update
>
> If a GlyphData/subrun is split across a flush (i.e. begin > 0 for a
> second call to the same GlyphData), we don't want to mark its atlas
> generation as if it had successfully pushed all of its glyphs into the
> atlas.
>
> The previous assumption was that if we reached the end, then all the
> glyphs were still in the atlas. However, if begin > 0, then the [0,
> begin) glyphs were already used and consumed from a previous flush and
> then are seen as evictable. It is plausible then that the remaining
> [begin, end] glyphs had to overwrite earlier ones in order to fit.
>
> This guards the atlas generation fast path for the scenario when all [0,
> glyphCount] glyphs were added in one go, so they really are guaranteed
> to have the same use/flush token.
>
> Bug: 540016074
> Change-Id: Ibefee9d541cf149c2ce5640ea304aa801c590cab
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1350696
> Reviewed-by: Thomas Smith <thomsmit@google.com>
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
(cherry picked from commit 9b1e5fd08d2cbc9c8933c3538716905c4cf19c5a)
Bug: 561837587,540016074
Change-Id: Ibefee9d541cf149c2ce5640ea304aa801c590cab
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1362296
Commit-Queue: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Chrome Cherry Picker <chrome-cherry-picker@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
2 files changed