- Enabling some modifiers can lead to hitting bandwidth limitations (not being able to light up a CRTC).
- With YUV buffers, planes can only have a position with even coordinates (or odd?).
- There's no real cursor plane, instead the hardware draws it on the top-most plane (overlay if enabled, otherwise primary). Thus the cursor composition properties (scaling, rotation, blend mode, etc) must match the underlying plane's. An RGB cursor buffer can't be used if the underlying plane uses a YUV format.
- 90-degree and 270-degree rotations are not supported for linear buffers. Tiled buffers are required.
- The primary plane needs to be enabled to allow any other plane to be enabled.
- There's no limit on the number of planes. The only limit is the bandwidth usage. The kernel will expose an arbitrary number of planes.
- Some planes can't overlap.