mbox series

[0/4] Expose modifiers/formats supported by async flips

Message ID 20241105102608.3912133-1-arun.r.murthy@intel.com (mailing list archive)
Headers show
Series Expose modifiers/formats supported by async flips | expand

Message

Arun R Murthy Nov. 5, 2024, 10:26 a.m. UTC
All of the formats/modifiers supported by the plane during synchronous
flips are nor supported by asynchronous flips. The formats/modifiers
exposed to user by IN_FORMATS exposes all formats/modifiers supported by
plane and this list varies for async flips. If the async flip supported
formats/modifiers are exposed to the user, user based on this list can
take decision to proceed or not and avoid flip failures during async
flips.
Discussion around this can be located @
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29618#note_2487123
Userspace implementation for IN_FORMARTS_ASYNC under review @
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4063

Arun R Murthy (4):
  drm/plane: Add new plane property IN_FORMATS_ASYNC
  drm/i915/fb: Add async field to the modifiers description
  drm/i915/display: Add async_flip flag in get_modifiers
  drm/i915/display: Add async supported formats/modifiers

 drivers/gpu/drm/drm_mode_config.c             |  7 ++
 drivers/gpu/drm/drm_plane.c                   | 73 +++++++++++++++++++
 drivers/gpu/drm/i915/display/i9xx_plane.c     |  2 +-
 drivers/gpu/drm/i915/display/intel_cursor.c   |  2 +-
 drivers/gpu/drm/i915/display/intel_fb.c       | 53 ++++++++++++--
 drivers/gpu/drm/i915/display/intel_fb.h       |  4 +-
 drivers/gpu/drm/i915/display/intel_sprite.c   |  2 +-
 .../drm/i915/display/skl_universal_plane.c    | 25 ++++++-
 include/drm/drm_mode_config.h                 |  6 ++
 include/drm/drm_plane.h                       | 10 +++
 10 files changed, 172 insertions(+), 12 deletions(-)

Comments

Arun R Murthy Nov. 18, 2024, 7:48 a.m. UTC | #1
All of the formats/modifiers supported by the plane during synchronous
flips are nor supported by asynchronous flips. The formats/modifiers
exposed to user by IN_FORMATS exposes all formats/modifiers supported by
plane and this list varies for async flips. If the async flip supported
formats/modifiers are exposed to the user, user based on this list can
take decision to proceed or not and avoid flip failures during async
flips.
Discussion around this can be located @
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29618#note_2487123
Userspace implementation for IN_FORMARTS_ASYNC under review @
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4063

Arun R Murthy (3):
  drm/plane: Add new plane property IN_FORMATS_ASYNC
  drm/plane: Expose function to create format/modifier blob
  drm/i915/display: Populate list of async supported formats/modifiers

 drivers/gpu/drm/drm_mode_config.c             |  7 +++
 drivers/gpu/drm/drm_plane.c                   | 50 ++++++++++++------
 .../drm/i915/display/skl_universal_plane.c    | 51 +++++++++++++++++++
 include/drm/drm_mode_config.h                 |  6 +++
 include/drm/drm_plane.h                       |  4 ++
 5 files changed, 103 insertions(+), 15 deletions(-)