mbox series

[00/14] plane update with damage

Message ID 20180905233901.2321-1-drawat@vmware.com (mailing list archive)
Headers show
Series plane update with damage | expand

Message

Deepak Singh Rawat Sept. 5, 2018, 11:38 p.m. UTC
Hi,

Set of patches for a new plane property FB_DAMAGE_CLIPS to send damage during
plane update. I have incorporated review comments since last RFC. Also with
this patch series vmwgfx implementation of plane damage.

Based on Rob Clark earlier patch, implemented legacy dirtyfb with new damage
clips property.

I will be sending a separate patch series for unit test case for damage
interface using igt-gpu-tools. Also a separate patch series for a rudimentary
weston implementation, which for now only send damage for default scanout plane.

Testing: vmware xorg driver mainly use dirty_fb ioctl to update the screen so
it is a good overall test of damage interface. Weston implementation also works
as intended.

Let me know what you think. Thanks,
Deepak

Deepak Rawat (12):
  drm: add helper iterator functions for plane fb_damage_clips blob
  drm: clear plane damage during full modeset
  drm/vmwgfx: add a new interface for plane update on a display unit
  drm/vmwgfx: implement STDU plane update for surface backed fb
  drm/vmwgfx: implement STDU plane update for BO backed fb
  drm/vmwgfx: use the new interface for STDU plane update
  drm/vmwgfx: enable FB_DAMAGE_CLIPS property for STDU primary plane
  drm/vmwgfx: implement SOU plane update for surface backed fb
  drm/vmwgfx: implement SOU plane update for BO backed fb
  drm/vmwgfx: use the new interface for SOU plane update
  drm/vmwgfx: enable FB_DAMAGE_CLIPS property for SOU primary plane
  drm/vmwgfx: use atomic helper function for dirty fb IOCTL

Lukasz Spintzyk (1):
  drm: add new plane property FB_DAMAGE_CLIPS to send damage during
    plane update

Rob Clark (1):
  drm: add helper to implement legacy dirtyfb

 Documentation/gpu/drm-kms.rst        |   9 +
 drivers/gpu/drm/Makefile             |   2 +-
 drivers/gpu/drm/drm_atomic.c         |  13 +
 drivers/gpu/drm/drm_atomic_helper.c  |   8 +
 drivers/gpu/drm/drm_damage_helper.c  | 301 +++++++++++++++++
 drivers/gpu/drm/drm_mode_config.c    |   6 +
 drivers/gpu/drm/vmwgfx/vmwgfx_kms.c  | 225 ++++++-------
 drivers/gpu/drm/vmwgfx/vmwgfx_kms.h  | 171 ++++++++++
 drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c | 361 ++++++++++++++++++--
 drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c | 483 +++++++++++++++++++++++++--
 include/drm/drm_damage_helper.h      |  97 ++++++
 include/drm/drm_mode_config.h        |  10 +
 include/drm/drm_plane.h              |   8 +
 include/uapi/drm/drm_mode.h          |  19 ++
 14 files changed, 1539 insertions(+), 174 deletions(-)
 create mode 100644 drivers/gpu/drm/drm_damage_helper.c
 create mode 100644 include/drm/drm_damage_helper.h