mbox series

[v2,0/2] drm: Add plane SIZE_HINTS property

Message ID 20240227193523.5601-1-ville.syrjala@linux.intel.com (mailing list archive)
Headers show
Series drm: Add plane SIZE_HINTS property | expand

Message

Ville Syrjälä Feb. 27, 2024, 7:35 p.m. UTC
From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Final version for a new plane SIZE_HINTS property to
essentially replace the cursor size caps, based on recent
discussion in this gitlab bug:
https://gitlab.freedesktop.org/drm/intel/-/issues/7687

As for userspace, so far I only did a quick modetest
blob decoder (mainly to verify that it looks correct):
https://gitlab.freedesktop.org/vsyrjala/libdrm/-/commits/plane_size_hints

Sameer & co. have done a real mutter implementation:
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3165

This final version follows the original idea of having
just a list of sizes in a blob, rather than the mode
complex "2D bitmap" approach I also proposed later.
I think that's fair, the bitmap was probably overly
complicated.

The only difference to the previous version of this approach
is that the documentation now states that the list is sorted
in order of preference, and thus userspace should pick the
first suitable size from the list. This should match the
aforementioned mutter implementation.

Cc: Simon Ser <contact@emersion.fr>
Cc: Jonas Ådahl <jadahl@redhat.com>
Cc: Daniel Stone <daniel@fooishbar.org>
Cc: Sameer Lattannavar <sameer.lattannavar@intel.com>
Cc: Sebastian Wick <sebastian.wick@redhat.com>
Cc: Harry Wentland <harry.wentland@amd.com>
Cc: Pekka Paalanen <pekka.paalanen@collabora.com>

Ville Syrjälä (2):
  drm: Introduce plane SIZE_HINTS property
  drm/i915: Add SIZE_HINTS property for cursors

 drivers/gpu/drm/drm_mode_config.c           |  7 +++
 drivers/gpu/drm/drm_plane.c                 | 52 +++++++++++++++++++++
 drivers/gpu/drm/i915/display/intel_cursor.c | 24 ++++++++++
 include/drm/drm_mode_config.h               |  5 ++
 include/drm/drm_plane.h                     |  4 ++
 include/uapi/drm/drm_mode.h                 | 11 +++++
 6 files changed, 103 insertions(+)