(In reply to Matt Woodrow (:mattwoodrow) from comment #7)
I definitely agree that we should only have one.
The biggest downside of AdvancedLayers is that is by far the largest backend, since it has its own LayerManager implementation as well as everything underneath it.
CompositorD3D11 is much simpler for maintenance, since it's basically identical to CompositorOGL, except with the API calls more or less directly translated.
For the purposes of minimizing our maintance overhead, so that maximum progress can be made on getting WebRender shipped to as many users as possible, then I think dropping AdvancedLayers is still the best way forward.
It might be a temporary performance regression for some users (though there's a real lack of evidence of real-world differences), but I think that's something we could live with.
I think it's important to understand how little of a performance regression we can accept for Intel users considering our performance goals, and having just shipped the double buffering change to Intel users the Advanced Layers performance on my laptop is now back to being significantly better than WebRender's, so we might be stuck using it for a while.
Advanced Layers doesn't really need to be touched, it feels to me like the best idea may just be to let it sit there and do its job, not touching it too much. If we have indications CompositorD3D11 has bugs, lets kill it.