Bug 1579235 - Part 11 - Refactor how external surfaces are composited…
…. r=Bert,sotaro This patch refactors how external surfaces are stored in the CompositeState structure. This is primarily to simplify integration with native compositor mode, but also simplifies the Draw compositor path. Previously, the ResolvedExternalSurface struct contained information that was used to rasterize the external surface (YUV planes etc) and also the information to composite it (device rect, clip rect, z_id). Now, ResolvedExternalSurface contains just the information required to rasterize the external surface, while the compositing information is handled by adding the external surface as a regular tile. This makes it possible to unify how external surfaces are drawn, via the common draw_tile_list method. Differential Revision: https://phabricator.services.mozilla.com/D65269 [ghsync] From https://hg.mozilla.org/mozilla-central/rev/4bbb79cbf9cc9efc7d599d1fe8d68bf620601fc9