[graphite] DrawAtlas::Plot Refactor

* Refactors DrawAtlas::Plot to store allocated items using the new EntryID to Rect16 hashmap, instead of directly mutating a single passed AtlasLocator.

* Internal cleanup DrawAtlas::Plot: positional (location of the plot within the atlas, and page) is separated from data (size of the rect, mask format).

* Notably the generation counter is removed from Plot, and instead the AtlasLocator now holds a Record (PlotID + EntryID).

* In order to process evictions without the generation counter,Plot::genID() is polyfilled to simply return its fPlotID, so when a plot is recycled, the new fPlotID also is a new genID.

* Adaptation of this patch https://skia-review.git.corp.google.com/c/skia/+/1181876

Change-Id: Id04ac3503f7b41909af3c16693ef38db70d51cb4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1254877
Commit-Queue: Thomas Smith <thomsmit@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2 files changed