MetaDrmBuffer are now held closer to where the object is actually used.
MetaKmsPlaneAssignment holds a reference to each buffer that is going to be assigned. After it has been posted each
MetaKmsCrtc holds the buffer references for the DRM FBs it is about to scan out as well as those still scanning out from previous frames. Buffers get released on the first scanout that is after they have stopped being used.
This will simplify future work in:
- Overlay planes
- Triple buffering
- Multi-cursor support
- Cloning to multiple monitors (CRTCs) without rendering multiple times
Requires: !2087 (merged)