From: Inki Dae <daeinki@gmail.com>
To: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 01/11] drm: add plane support
Date: Wed, 2 Nov 2011 02:20:58 +0000 (UTC) [thread overview]
Message-ID: <loom.20111102T025802-218@post.gmane.org> (raw)
In-Reply-To: 20111031095245.7a95f59e@jbarnes-desktop
Hi, Jesse.
Jesse Barnes <jbarnes <at> virtuousgeek.org> writes:
>
> On Mon, 31 Oct 2011 11:40:57 +0000 (UTC)
> Inki Dae <daeinki <at> gmail.com> wrote:
> > below is my simple idea.
> > 1. user requests buffer allocation with pixel format and resolution
through
> > gem framework.
> > 2. gem framework checks pixel format.
> > 3. specific gem framework allocates buffers as plane count according to
the
> > pixel format. (please, know that gem framework provides just interface so
> > acctual implementation would be done at specific gem framework)
> > 4. user gets the gem handle from gem framework.
> > 5. user sets the gem handle to specific drm framebuffer through
> > drm_mode_addfb2 function.
> > 6. user requests setcrtc with fb id and crtc id.
> > 7. drm framework sets framebuffer(corresponding to fb id) to drm_mode_set.
> > 8. crtc calls set_config callbacks to configure hardware.
> > 9. specific crtc framework gets all buffers through framebuffer(actually,
it
> > would be specific framebuffer)and sets them to overlay registers of
hardware
> > appropriately.
> >
> >
> > like this, how about using framebuffer and gem framework instead of plane?
I'd
> > be glad to give me your opinions.
>
> I'm not opposed to pushing the multi-object stuff into GEM instead, but
> I don't think step (9) will be enough to avoid having a separate plane
> object. Say the user passes in 3 RGB buffers. How do you know which
> one is the primary and which are overlays? Or are you saying the fb
> would have that information as well? If so, it would be a little
> harder to specify things like blending options or colorspace correction
> on a per-plane basis...
>
> But maybe I'm missing some part of things; do you have any patches to
> illustrate what you mean? I can see how it might work, but I don't
> know if it would be any simpler or cleaner than exposing plane objects.
>
> Thanks,
Sorry, there is my missing point. please, ignor step 6 ~ 9.
if user requests setplane then drm_mode_setplane function gets fb and crtc
object to update the overlay corresponding to plane id. at that time I think
we could know which overlay should be set and how many buffers does the
overlay has through specific framebuffer object if specific framebuffer has
gem object.
in our case, specific framebuffer has gem object. and I would try to implement
multi planer the way I mentioned if need and I will post the patch. this work
takes about a week. I think the way that user allocates buffers for multi
planer only with pixel format and resolution(width, height) would be good. but
there could be more good ways then this way.
please give me your opinion and advices.
Thank you,
Inki Dae.
next prev parent reply other threads:[~2011-11-02 2:21 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-25 9:46 DRM planes and new fb creation ioctl Jesse Barnes
2011-10-25 9:46 ` [PATCH 01/11] drm: add plane support Jesse Barnes
2011-10-25 10:53 ` Joonyoung Shim
2011-10-25 11:18 ` Jesse Barnes
2011-10-26 0:19 ` Joonyoung Shim
2011-10-25 11:58 ` Daniel Vetter
2011-10-25 12:26 ` Jesse Barnes
2011-10-25 12:26 ` Jesse Barnes
2011-10-25 13:26 ` Alan Cox
2011-10-25 13:32 ` Jesse Barnes
2011-10-25 13:42 ` Daniel Vetter
2011-10-25 14:09 ` Jesse Barnes
2011-10-25 16:43 ` Rob Clark
2011-10-25 19:41 ` Daniel Vetter
2011-10-25 20:14 ` Rob Clark
2011-10-27 14:05 ` SW Kim
2011-10-31 11:40 ` Inki Dae
2011-10-31 16:52 ` Jesse Barnes
2011-11-02 2:20 ` Inki Dae [this message]
2011-11-02 15:57 ` Jesse Barnes
2011-10-26 5:40 ` Joonyoung Shim
2011-10-27 15:31 ` Jesse Barnes
2011-10-25 9:46 ` [PATCH 02/11] drm: add an fb creation ioctl that takes a pixel format Jesse Barnes
2011-10-25 9:46 ` [PATCH 03/11] drm/i915: rename existing overlay support to "legacy" Jesse Barnes
2011-10-25 9:46 ` [PATCH 04/11] drm/i915: add SNB video sprite support Jesse Barnes
2011-11-02 5:56 ` Inki Dae
2011-11-02 15:58 ` Jesse Barnes
2011-10-25 9:47 ` [PATCH 05/11] drm/i915: move pin & fence for plane past potential error paths Jesse Barnes
2011-10-25 9:47 ` [PATCH 06/11] drm/i915: plane teardown fixes Jesse Barnes
2011-10-25 9:47 ` [PATCH 07/11] drm/i915: enable new overlay code on IVB too Jesse Barnes
2011-10-25 9:47 ` [PATCH 08/11] drm/i915: overlay watermark hack Jesse Barnes
2011-10-25 9:47 ` [PATCH 09/11] drm/i915: fix overlay fb object handling Jesse Barnes
2011-10-25 9:47 ` [PATCH 10/11] drm/i915: clamp sprite to viewable area Jesse Barnes
2011-10-25 9:47 ` [PATCH 11/11] drm/i915: add sprite scaling support Jesse Barnes
2011-10-25 10:47 ` DRM planes and new fb creation ioctl Joonyoung Shim
2011-10-25 11:13 ` Jesse Barnes
2011-10-26 1:04 ` Joonyoung Shim
2011-10-25 11:20 ` Jesse Barnes
2011-10-25 11:22 ` [PATCH] drm/i915: add SNB video sprite support Jesse Barnes
2011-10-25 11:30 ` Jesse Barnes
2011-11-01 14:11 ` Lan, Hai
2011-11-03 18:44 ` [Intel-gfx] " Jesse Barnes
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=loom.20111102T025802-218@post.gmane.org \
--to=daeinki@gmail.com \
--cc=intel-gfx@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.