Linux ARM-MSM sub-architecture
 help / color / mirror / Atom feed
* [RFC PATCH v3 0/3] Support for Solid Fill Planes
@ 2023-01-04 23:40 Jessica Zhang
  2023-01-04 23:40 ` [RFC PATCH v3 1/3] drm: Introduce solid fill property for drm plane Jessica Zhang
                   ` (3 more replies)
  0 siblings, 4 replies; 32+ messages in thread
From: Jessica Zhang @ 2023-01-04 23:40 UTC (permalink / raw)
  To: freedreno
  Cc: Jessica Zhang, linux-arm-msm, dri-devel, robdclark, seanpaul,
	swboyd, dmitry.baryshkov, quic_abhinavk, contact, daniel.vetter,
	laurent.pinchart, ppaalanen, sebastian.wick, wayland-devel,
	ville.syrjala

Introduce and add support for a solid_fill property. When the solid_fill
property is set, and the framebuffer is set to NULL, memory fetch will be
disabled.

In addition, loosen the NULL FB checks within the atomic commit callstack
to allow a NULL FB when the solid_fill property is set and add FB checks
in methods where the FB was previously assumed to be non-NULL.

Finally, have the DPU driver use drm_plane_state.solid_fill and instead of
dpu_plane_state.color_fill, and add extra checks in the DPU atomic commit
callstack to account for a NULL FB in cases where solid_fill is set.

Some drivers support hardware that have optimizations for solid fill
planes. This series aims to expose these capabilities to userspace as
some compositors have a solid fill flag (ex. SOLID_COLOR in the Android
hardware composer HAL) that can be set by apps like the Android Gears
app.

Userspace can set the solid_fill property to a blob containing the
appropriate version number and solid fill color (in RGB323232 format) and
setting the framebuffer to NULL.

Note: Currently, there's only one version of the solid_fill blob property.
However if other drivers want to support a similar feature, but require
more than just the solid fill color, they can extend this feature by
creating additional versions of the drm_solid_fill struct.

Changes in V2:
- Dropped SOLID_FILL_FORMAT property (Simon)
- Switched to implementing solid_fill property as a blob (Simon, Dmitry)
- Changed to checks for if solid_fill_blob is set (Dmitry)
- Abstracted (plane_state && !solid_fill_blob) checks to helper method
  (Dmitry)
- Removed DPU_PLANE_COLOR_FILL_FLAG
- Fixed whitespace and indentation issues (Dmitry)

Changes in V3:
- Fixed some logic errors in atomic checks (Dmitry)
- Introduced drm_plane_has_visible_data() and drm_atomic_check_fb() helper
  methods (Dmitry)

Jessica Zhang (3):
  drm: Introduce solid fill property for drm plane
  drm: Adjust atomic checks for solid fill color
  drm/msm/dpu: Use color_fill property for DPU planes

 drivers/gpu/drm/drm_atomic.c              | 136 +++++++++++++---------
 drivers/gpu/drm/drm_atomic_helper.c       |  34 +++---
 drivers/gpu/drm/drm_atomic_state_helper.c |   9 ++
 drivers/gpu/drm/drm_atomic_uapi.c         |  59 ++++++++++
 drivers/gpu/drm/drm_blend.c               |  17 +++
 drivers/gpu/drm/drm_plane.c               |   8 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c  |   9 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c |  65 +++++++----
 include/drm/drm_atomic_helper.h           |   5 +-
 include/drm/drm_blend.h                   |   1 +
 include/drm/drm_plane.h                   |  62 ++++++++++
 11 files changed, 302 insertions(+), 103 deletions(-)

-- 
2.38.1


^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2023-02-02  8:56 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-01-04 23:40 [RFC PATCH v3 0/3] Support for Solid Fill Planes Jessica Zhang
2023-01-04 23:40 ` [RFC PATCH v3 1/3] drm: Introduce solid fill property for drm plane Jessica Zhang
2023-01-05  1:50   ` Dmitry Baryshkov
2023-01-05  2:12   ` Dmitry Baryshkov
2023-01-18 18:57   ` Harry Wentland
2023-01-18 22:53     ` Jessica Zhang
2023-01-19 15:57       ` Harry Wentland
2023-01-19 16:24         ` Jessica Zhang
2023-01-19 16:27           ` Harry Wentland
2023-01-04 23:40 ` [RFC PATCH v3 2/3] drm: Adjust atomic checks for solid fill color Jessica Zhang
2023-01-05  1:57   ` Dmitry Baryshkov
2023-01-06 20:51     ` Jessica Zhang
2023-01-04 23:40 ` [RFC PATCH v3 3/3] drm/msm/dpu: Use color_fill property for DPU planes Jessica Zhang
2023-01-05  2:16   ` Dmitry Baryshkov
2023-01-06 20:57     ` [Freedreno] " Jessica Zhang
2023-01-06 21:56       ` Dmitry Baryshkov
2023-01-05 11:33 ` [RFC PATCH v3 0/3] Support for Solid Fill Planes Daniel Vetter
2023-01-06  0:37   ` Jessica Zhang
2023-01-06  3:43     ` Dmitry Baryshkov
2023-01-06 18:41       ` Daniel Vetter
2023-01-06 21:49         ` Dmitry Baryshkov
2023-01-07  0:33           ` Abhinav Kumar
2023-01-11 22:29             ` Daniel Vetter
2023-01-24 10:42               ` Simon Ser
2023-01-31  9:25           ` Pekka Paalanen
2023-01-31 10:06             ` Simon Ser
2023-01-31 11:13               ` Pekka Paalanen
2023-01-31 11:21                 ` Simon Ser
2023-01-31 12:49                   ` Pekka Paalanen
2023-02-02  2:06                     ` Jessica Zhang
2023-02-02  8:55                       ` Pekka Paalanen
2023-01-06 19:44       ` Jessica Zhang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox