This patch improves the performance of compositor surfaces in
two ways:
(1) Ignore primitives behind the first compositor surface when
determining whether a tile needs to be moved to the overlay (alpha) pass. This means WR only moves a tile to the alpha pass when it has primitives that overlap with the compositor surface bounding rect, and are ordered after that compositor surface. In practice, this means most tiles are able to remain in the fast (opaque) path. Typically, a small number of tiles that contain overlay video controls are moved to the alpha pass.
(2) Register the opaque compositor surfaces as potential occluders.
This allows tiles that are completely covered by a compositor surface to be removed from the compositor visual tree, which helps both the simple and native compositor modes.
Between them, these optimizations typically mean that when watching
video in full-screen, nothing is composited except the video surface
itself, and some small region(s) where video overlay controls are
currently active.