!738 (merged) disabled modifier support to fix broken pageflipping due to our code not being able to acquire modifier+format combinations that support pageflipping. This MR explores another potential avenue of fixing the issue by enabling universal plane support and acquiring the modifiers of the primary planes using existing code.
The impact of this change would be the following:
on the kernel side: we get all planes when calling the DRM_IOCTL_MODE_GETPLANERESOURCES ioctl and we can also submit planes through the DRM_IOCTL_MODE_CREATE_LEASE ioctl
on X server side the only places that call into that are
drmmode_create_lease(). The former sets up
. The latter uses the previously populatedplane_id` to set up a lease request to the kernel.
I have verified that drmmode_crtc->formats is being populated in
populate_format_modifiers(). I have not verified that
drmmode_create_lease() works, but it uses exactly the same path as under atomic modeset.