• 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
    gw3583 authored and moz-gfx committed Mar 6, 2020