From: "Brian G. Rhodes" <bgr@acdstar.com>
To: Denis Oliver Kropp <dok@directfb.org>
Cc: directfb-users@directfb.org,
linux-fbdev-devel@lists.sourceforge.net,
directfb-dev@directfb.org,
Geert Uytterhoeven <geert@linux-m68k.org>
Subject: Re: [directfb-users] DirectFB without FBDev
Date: Wed, 28 May 2008 13:55:51 -0500 [thread overview]
Message-ID: <483DAAB7.6080208@acdstar.com> (raw)
In-Reply-To: <483D9F4E.4000707@directfb.org>
Denis Oliver Kropp wrote:
> Brian G. Rhodes wrote:
>
>>> Furthermore, the pan_display functionality could be enhanced to allow
>>> a kernel side queue
>>> for frame accurate display of several buffers, e.g. video playback
>>> with five or more buffers
>>> pre-rendered. A frame/sync counter and some new flags would be enough
>>> to be added for this.
>>> Ville Syrjala once did an extension like FBIO_FLIP or similar, maybe
>>> he can elaborate.
>>>
>>> I'm also seeing the need to have one pool of memory used by different
>>> frame buffer devices
>>> or some other way to support multiple layers without statically
>>> partitioning memory that could
>>> be managed more intelligently.
>>>
>>> And how about such capabilities like layer opacity, alpha ramps...?
>>>
>>> I know all this was not required to run the kernel based terminal
>>> emulation that the frame
>>> buffer device has been invented for :)
>>>
>>>
>>>
>> I don't think the solution to abstracting access to multiple hardware
>> planes which can be located in at dynamic memory addresses to be
>> implemented by adding complexity to the framebuffer driver. It is
>> supposed to be just a dumb chunk of memory and storage for hardware
>> timings.
>>
>
> Adding the byte offset and pitch fits into this as well and would save
> it from being removed from DirectFB.
>
>
Seems like an end-run around supporting windows in framebuffer memory
and using pan to jump back and forth. This obviously was not the
original intention of panning. I have seen it used quite a bit for
buffering and it seems like a pretty inelegant method for accessing the
memory. So you add a byte offset and a pitch so that you can pull out
your next screen buffer. Now you also need to add flags for the fb
driver to tell the user-space implementation that it supports this
functionality. Pretty soon it's not a framebuffer driver. Not that
it's terribly atrocious what you suggest... I didn't mean to come off
as such. I would just prefer that there is an intermediary interface to
the fb driver which understands the hardware better and can manage these
line-width writes better.
>> Considering video, and the amount of data which has to be shuffled
>> around for higher resolution/bitrate files it does not make sense to
>> require sending rendered frames off directly to a framebuffer device.
>>
>
> I was not talking about copying any data back and forth, but just keep
> a queue of start addresses assigned to future sync counters, being taken
> care of in IRQs.
>
>
>> It is too inefficient and in cases with hardware-assist (other than
>> coprocessors), likely unnecessary. The answer probably isn't using
>> Video4Linux directly either. Perhaps a DirectFB kernel component which
>> can standardize an interface and provide a better architecture than v4l2
>> does. An application where, as mentioned above, you are using video
>> memory for multiple buffers as a implementation for queuing seems too
>> specialized to me to ever be done in a linuxfb driver.
>>
>
> It's not special regarding the hardware. Every driver with an interrupt
> handler could support it.
>
>
No, it's not special with respect to the hardware. It's special because
you're turning your framebuffer into a fifo.
>> Has any thought been given to designing a DirectFB kernel-space
>> component which abstracts that access at the kernel level? Seems to me
>> that it would make direct interaction from directfb with specialized
>> hardware much easier.
>>
>
> I don't think a new kernel graphics interface should be added, instead using
> UIO to access MMIO, DMA and IRQs would be enough and implement most of the
> graphics driver in user space. Downside is to loose the kernel console which
> you usually don't need on an embedded device...
> For acceleration and DMA/IRQ based programming, I still need to check if a
> user space approach would be enough. So far I always handled IRQs in kernel
> space for timing/performance reasons...
>
>
I wouldn't want to signal userspace from an ISR to handle work. All the
unnecessary context switches just seem wasteful. Or is there a better
method now for waking up userspace from the kernel now?
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
next prev parent reply other threads:[~2008-05-28 18:55 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-28 14:59 DirectFB without FBDev Denis Oliver Kropp
2008-05-28 17:04 ` Geert Uytterhoeven
2008-05-28 17:20 ` Denis Oliver Kropp
[not found] ` <483D9453.1080700-iGvX3keArt1g9hUCZPvPmw@public.gmane.org>
2008-05-28 17:53 ` [Linux-fbdev-devel] " Brian G. Rhodes
2008-05-28 18:07 ` [directfb-users] " Denis Oliver Kropp
2008-05-28 18:24 ` Alex Deucher
[not found] ` <a728f9f90805281124y53df86e7n7ae1918ac97907fc-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-05-28 18:57 ` [Linux-fbdev-devel] " Denis Oliver Kropp
2008-05-28 19:33 ` [directfb-users] " Alex Deucher
2008-05-28 18:55 ` Brian G. Rhodes [this message]
[not found] ` <483DAAB7.6080208-3mWahjwryh5BDgjK7y7TUQ@public.gmane.org>
2008-05-28 19:11 ` [Linux-fbdev-devel] " Denis Oliver Kropp
2008-05-28 19:38 ` [directfb-users] " Brian G. Rhodes
[not found] ` <483D9F4E.4000707-iGvX3keArt1g9hUCZPvPmw@public.gmane.org>
2008-05-29 16:54 ` [directfb-dev] [Linux-fbdev-devel] " Sven Luther
2008-05-31 6:08 ` [directfb-dev] [directfb-users] " Denis Oliver Kropp
2008-05-31 6:21 ` Sven Luther
2008-05-31 6:29 ` Denis Oliver Kropp
2008-05-31 6:45 ` Sven Luther
[not found] ` <20080531064501.GA7526-XkLrfMvk983aVgXGlvhGPA@public.gmane.org>
2008-05-31 20:32 ` George Tsalikis
2008-06-01 7:10 ` [directfb-dev] " Denis Oliver Kropp
[not found] ` <48424B49.8080202-iGvX3keArt1g9hUCZPvPmw@public.gmane.org>
2008-06-01 9:20 ` [directfb-dev] " George Tsalikis
2008-06-01 9:38 ` Denis Oliver Kropp
2008-05-28 17:55 ` Geert Uytterhoeven
2008-05-28 18:33 ` Denis Oliver Kropp
[not found] ` <483D7344.6030503-iGvX3keArt1g9hUCZPvPmw@public.gmane.org>
2008-06-01 9:31 ` [directfb-dev] " Denis Oliver Kropp
[not found] ` <48426C76.5080606-iGvX3keArt1g9hUCZPvPmw@public.gmane.org>
2008-06-01 11:57 ` Denis Oliver Kropp
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=483DAAB7.6080208@acdstar.com \
--to=bgr@acdstar.com \
--cc=directfb-dev@directfb.org \
--cc=directfb-users@directfb.org \
--cc=dok@directfb.org \
--cc=geert@linux-m68k.org \
--cc=linux-fbdev-devel@lists.sourceforge.net \
/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.