Reland "Remove SK_GL #ifdefs from GrBackendSurface"
This reverts commit ab4a0e99314bf82430bc63fa052f4dcac8ab999e,
then reworks the storage of backend data. Rather than allocating on the
heap (and storing with unique_ptr), we embed the storage for any
backend's subclass of the various Data classes using SkAnySubclass.
This lets us keep the public interface unaware of the backends, allows
the GrBackendXXX classes to maintain their value semantics, and avoids
any performance overhead from the previous solution.
Bug: b/293490566
Bug: b/294504539
Change-Id: Ibd90bf6686865039816137ebdf2f70565f83ec0f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/738881
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
9 files changed