Hi Nikita,

if you want to use this hardware benefit, there are 2 ways to go here -
First option is what you saw, use regions. These will be used by directfb windows, which are used by GTK and the like. You will need to use AddRegion here to allow/disallow new regions, and provide fall-back scenarios when your constraints (e.g. only one area per scan line) are violated, I think. Second option is to make an area into a directfb layer. This has some API issues in the area of positioning, and this way-of-working is much more explicit: now the directfb user has to take care of distributing 'windows' among areas.

Depends a bit on your usage scenario.
hth,
Niels

Nikita V. Youshchenko wrote:
Hello.

I'm writing kernel and directfb drivers for an embedded system with custom video hardware (designed for this particular system).

Hardware is designed such that it does not display a full-screen framebuffer, but instead a set of rectangular areas. For each area, it's size, color format, and memory location are configured individually. There may be any number of areas, however there is a limitation - areas can't share same scanline (that means, the top side of next area must be always strictly below bottom side of the previous area.

I'm currently trying to understand if there is any benifit of writing driver support for these areas. Or it is better to define one full-screen area and forget about areas.

I was not able to find much documentation about directfb internals (any hints?), so I had to examine the sources. In directfb sources, I found that it is possible to define several "regions" per display layer. However, this possibility is not exposed to API, and internally used only if layer is configured to have per-window buffers (otherwise only "primary" region gets created).

I guess that with my hardware limitations outlined above, configuring per-window buffers is not very useful? And that means, implementation of areas support does not worth the effort? (most likely, application writers won't use directfb API directly, but use gtk-over-directfb or X-over-directfb instead)

Another question: I may implement double-buffering, either per-area or full-screen. However, do gtk-over-directfb and/or X-over-directfb utilize double-buffering somehow?

Nikita
_______________________________________________
directfb-dev mailing list
directfb-dev@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev



--

.------------------------------------------.
| DirectFB - Hardware accelerated graphics |
| http://www.directfb.org/                 |
"------------------------------------------"
_______________________________________________
directfb-dev mailing list
directfb-dev@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to