All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Daniel Vetter <daniel@ffwll.ch>
Cc: dri-devel <dri-devel@lists.freedesktop.org>
Subject: Re: How to design a DRM KMS driver exposing 2D compositing?
Date: Tue, 12 Aug 2014 13:04:33 +0300	[thread overview]
Message-ID: <20140812100433.GU4193@intel.com> (raw)
In-Reply-To: <CAKMK7uFVbzQ-Nht1tU35Hu6mvUPvkB6H7_WW6mdPa=TiF8si-A@mail.gmail.com>

On Tue, Aug 12, 2014 at 10:03:26AM +0200, Daniel Vetter wrote:
> On Tue, Aug 12, 2014 at 9:20 AM, Pekka Paalanen <ppaalanen@gmail.com> wrote:
> >> but I tend to think it would be nice for compositors (userspace) to
> >> know explicitly what is going on..  ie. if some layers are blended via
> >> intermediate buffer, couldn't that intermediate buffer be potentially
> >> re-used on next frame if not damaged?
> >
> > Very true, and I think that speaks for exposing the HVS explicitly to
> > user space to be directly used. That way I believe the user space could
> > track damage and composite only the minimum, rather than everything
> > every time which I suppose the KMS API approach would imply.
> >
> > We don't have dirty regions in KMS API/props, do we? But yeah, that is
> > starting to feel like a stretch to push through KMS.
> 
> We have the dirty-ioctl, but imo it's a bit misdesigned: It works at
> the framebuffer level (so the driver always has to figure out which
> crtc/plane this is about), and it only works for frontbuffer
> rendering. It was essentially a single-purpose thing for udl uploads.
> 
> But in generally I think it would make tons of sense to supply a
> per-crtc (or maybe per-plane) damage rect with nuclear flips. Both
> mipi dsi and edp have provisions to upload a subrect, so this could be
> useful in general. And decent compositors compute this already anyway.

Agreed, as long as we make it more of a hint so that the driver is
allowed to expand the rect to satisfy hardware specific alignment
requirements and whatnot.

I think a single per-crtc rect should be enough, but in case people
would like to implement a more sophisticated multi-rect update I
suppose we could allow it. And for those that don't want the extra
complexity of trying to deal with multiple rectangles, the driver
could just calculate the bounding rectangle and update that.

-- 
Ville Syrjälä
Intel OTC

  reply	other threads:[~2014-08-12 10:06 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-11 10:38 How to design a DRM KMS driver exposing 2D compositing? Pekka Paalanen
2014-08-11 10:57 ` Damien Lespiau
2014-08-11 12:07   ` Pekka Paalanen
2014-08-11 13:14     ` Damien Lespiau
2014-08-11 13:44       ` Pekka Paalanen
2014-08-11 12:06 ` Daniel Vetter
2014-08-11 12:47   ` Pekka Paalanen
2014-08-11 15:35     ` Daniel Vetter
2014-08-11 16:09       ` Ville Syrjälä
2014-08-11 17:21         ` Daniel Vetter
2014-08-12  7:10       ` Pekka Paalanen
2014-08-11 13:32   ` Rob Clark
2014-08-11 15:24     ` Daniel Vetter
2014-08-12  7:20     ` Pekka Paalanen
2014-08-12  8:03       ` Daniel Vetter
2014-08-12 10:04         ` Ville Syrjälä [this message]
2014-08-11 17:16   ` Eric Anholt
2014-08-11 17:27     ` Daniel Vetter
2014-08-12  8:48       ` Pekka Paalanen
2014-08-12 16:10         ` Eric Anholt
2014-08-13  7:02           ` Pekka Paalanen
2014-08-11 14:37 ` Matt Roper
2014-08-12  8:42   ` Pekka Paalanen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140812100433.GU4193@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.