Draft: KMS: Unify buffer management for all plane types
References to 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)
Edited by Daniel van Vugt