Message ID | 20250219-asyn-v6-0-b959e6becb3c@intel.com (mailing list archive) |
---|---|
Headers | show |
Series | Expose modifiers/formats supported by async flips | expand |
On Wed, Feb 19, 2025 at 02:47:22PM +0530, Arun R Murthy wrote: > 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 > > TODO: Upon merge of the patch related to async flip > https://patchwork.freedesktop.org/patch/626849/?series=139807&rev=6 > the patch 5 in this series will have to make use of the new function > pointer can_async_flip(). > > v3: Add new plane->funcs format_mod_supported_async (Ville) > > 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 Somewhat orthogonal, but in a different atomic kms discussion the much bigger question of what are compositors supposed to figure out with TEST_ONLY and what are they supposed to figure out through special properties cropped up. Might be really good to document that, so that we can have some design consistency here. I think this patch series should also document why we need this and compositors can't figure this out on their own, ideally by linking/quoting the relevant discussions in the compositor enabling PR. Thanks, Sima > > 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(-) > > -- > 2.25.1 > > --- > Arun R Murthy (5): > drm/plane: Add new plane property IN_FORMATS_ASYNC > drm/plane: Expose function to create format/modifier blob > drm/plane: Function to check async supported modifier/format > drm/i915/display: Populate list of async supported formats/modifiers > drm/i915/display: Add function for format_mod_supported_async > > drivers/gpu/drm/drm_mode_config.c | 7 ++ > drivers/gpu/drm/drm_plane.c | 72 +++++++++---- > drivers/gpu/drm/i915/display/skl_universal_plane.c | 113 ++++++++++++++++++--- > include/drm/drm_mode_config.h | 6 ++ > include/drm/drm_plane.h | 24 +++++ > 5 files changed, 188 insertions(+), 34 deletions(-) > --- > base-commit: 08bd590935a5258ffd79355c59adffd72fb2c642 > change-id: 20250102-asyn-bf76730501cc > > Best regards, > -- > Arun R Murthy <arun.r.murthy@intel.com> > > --- > Changes in v6: > - EDITME: describe what is new in this series revision. > - EDITME: use bulletpoints and terse descriptions. > - Link to v5: https://lore.kernel.org/r/20250218-asyn-v5-0-7ac5ac4abd4a@intel.com > > --- > Arun R Murthy (3): > drm/plane: Add new plane property IN_FORMATS_ASYNC > drm/plane: modify create_in_formats to accommodate async > drm/i915/display: Add i915 hook for format_mod_supported_async > > drivers/gpu/drm/drm_mode_config.c | 7 +++ > drivers/gpu/drm/drm_plane.c | 53 +++++++++++++++----- > drivers/gpu/drm/i915/display/skl_universal_plane.c | 56 ++++++++++++++++------ > include/drm/drm_mode_config.h | 6 +++ > include/drm/drm_plane.h | 17 +++++++ > 5 files changed, 112 insertions(+), 27 deletions(-) > --- > base-commit: bc7a84cbc968ce97e581e9e3c2d26fb0ac106482 > change-id: 20250102-asyn-bf76730501cc > > Best regards, > -- > Arun R Murthy <arun.r.murthy@intel.com> >
On Wed, Feb 19, 2025 at 02:47:22PM +0530, Arun R Murthy wrote: > 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 FYI I just cooked up support for xorg/modesetting: https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1816