All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC 0/3] drm: page-flip with damage
@ 2018-04-04 23:49 ` Deepak Rawat
  0 siblings, 0 replies; 62+ messages in thread
From: Deepak Rawat @ 2018-04-04 23:49 UTC (permalink / raw)
  To: dri-devel, thellstrom, syeh
  Cc: linux-graphics-maintainer, daniel, ville.syrjala,
	lukasz.spintzyk, noralf, robdclark, gustavo, maarten.lankhorst,
	seanpaul, airlied, linux-kernel, Deepak Rawat

Hi All,

This is extension to Lukasz Spintzyk earlier draft of damage interface for drm.
Bascially a new plane property is added called "DAMAGE_CLIPS" which is simply
an array of drm_rect (exported to userspace as drm_mode_rect). The clips
represents damage in framebuffer coordinate of attached fb to the plane.

Helper iterator is added to traverse the damage rectangles and get the damage
clips in framebuffer, plane or crtc coordinates as need by driver
implementation. Finally a helper to reset damage in case need full update is
required. Drivers interested in page-flip with damage should call this from
atomic_check hook.

With the RFC for atomic implementation of dirtyfb ioctl I was thinking
should we need to consider dirty_fb flags, especially
DRM_MODE_FB_DIRTY_ANNOTATE_COPY to be passed with atomic
DAMAGE_CLIPS property blob? I didn't considered that untill now. If no driver
uses that in my opinion for simplicity this can be ignored?

About overlaping of damage rectangles is also not finalized. This really
depends on driver specific implementation and can be left open-ended?

My knowledge is limited to vmwgfx so would like to hear about other driver use
cases and this can be modified in keeping other drivers need.

Going forward driver implementation for vmwgfx and user-space implementation
of kmscube/weston will be next step to test the changes.

Thanks,
Deepak

Deepak Rawat (2):
  drm: Add helper iterator functions to iterate over plane damage.
  drm: Add helper to validate damage during modeset_check

Lukasz Spintzyk (1):
  drm: Add DAMAGE_CLIPS property to plane

 drivers/gpu/drm/drm_atomic.c        |  42 +++++++++
 drivers/gpu/drm/drm_atomic_helper.c | 173 ++++++++++++++++++++++++++++++++++++
 drivers/gpu/drm/drm_mode_config.c   |   5 ++
 drivers/gpu/drm/drm_plane.c         |  12 +++
 include/drm/drm_atomic_helper.h     |  41 +++++++++
 include/drm/drm_mode_config.h       |  15 ++++
 include/drm/drm_plane.h             |  16 ++++
 include/uapi/drm/drm_mode.h         |  15 ++++
 8 files changed, 319 insertions(+)

-- 
2.7.4

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

end of thread, other threads:[~2018-04-10 18:56 UTC | newest]

Thread overview: 62+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-04 23:49 [RFC 0/3] drm: page-flip with damage Deepak Rawat
2018-04-04 23:49 ` Deepak Rawat
2018-04-04 23:49 ` [RFC 1/3] drm: Add DAMAGE_CLIPS property to plane Deepak Rawat
2018-04-04 23:49   ` Deepak Rawat
2018-04-05  7:35   ` Daniel Vetter
2018-04-05  9:00     ` Thomas Hellstrom
2018-04-05  9:00       ` Thomas Hellstrom
2018-04-05 10:03       ` Daniel Vetter
2018-04-05 10:03         ` Daniel Vetter
2018-04-05 11:35         ` Thomas Hellstrom
2018-04-05 13:47           ` Daniel Vetter
2018-04-05 13:47             ` Daniel Vetter
2018-04-05 13:58             ` Thomas Hellstrom
2018-04-05 11:42         ` Thomas Hellstrom
2018-04-05 11:42           ` Thomas Hellstrom
2018-04-05 13:49           ` Daniel Vetter
2018-04-05 13:49             ` Daniel Vetter
2018-04-05 23:07     ` Deepak Singh Rawat
2018-04-05 23:07       ` Deepak Singh Rawat
2018-04-09  8:33       ` Daniel Vetter
2018-04-09  8:33         ` Daniel Vetter
2018-04-09 16:44         ` Deepak Singh Rawat
2018-04-10  8:10   ` Lukasz Spintzyk
2018-04-04 23:49 ` [RFC 2/3] drm: Add helper iterator functions to iterate over plane damage Deepak Rawat
2018-04-04 23:49   ` Deepak Rawat
2018-04-05  7:52   ` Daniel Vetter
2018-04-05  7:52     ` Daniel Vetter
2018-04-05  8:49     ` Thomas Hellstrom
2018-04-05  8:49       ` Thomas Hellstrom
2018-04-05 10:10       ` Daniel Vetter
2018-04-05 10:10         ` Daniel Vetter
2018-04-05 11:51         ` Thomas Hellstrom
2018-04-05 11:51           ` Thomas Hellstrom
2018-04-05 13:52           ` Daniel Vetter
2018-04-05 13:52             ` Daniel Vetter
2018-04-05  8:51     ` Thomas Hellstrom
2018-04-05  8:51       ` Thomas Hellstrom
2018-04-05 13:54       ` Daniel Vetter
2018-04-05 13:54         ` Daniel Vetter
2018-04-05 23:59       ` Deepak Singh Rawat
2018-04-05 23:59         ` Deepak Singh Rawat
2018-04-09  8:35         ` Daniel Vetter
2018-04-09  8:35           ` Daniel Vetter
2018-04-05 23:19     ` Deepak Singh Rawat
2018-04-05 23:19       ` Deepak Singh Rawat
2018-04-05 17:55   ` Sinclair Yeh
2018-04-05 17:55     ` Sinclair Yeh
2018-04-04 23:49 ` [RFC 3/3] drm: Add helper to validate damage during modeset_check Deepak Rawat
2018-04-04 23:49   ` Deepak Rawat
2018-04-05  7:59   ` Daniel Vetter
2018-04-05  7:59     ` Daniel Vetter
2018-04-05 23:55     ` Deepak Singh Rawat
2018-04-05 23:55       ` Deepak Singh Rawat
2018-04-09  8:38       ` Daniel Vetter
2018-04-09  8:38         ` Daniel Vetter
2018-04-05  7:19 ` [RFC 0/3] drm: page-flip with damage Daniel Vetter
2018-04-05  7:19   ` Daniel Vetter
2018-04-05 18:43   ` Deepak Singh Rawat
2018-04-05 18:43     ` Deepak Singh Rawat
2018-04-10  8:10 ` Lukasz Spintzyk
2018-04-10 18:56   ` Deepak Singh Rawat
2018-04-10 18:56     ` Deepak Singh Rawat

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.