Hello DirectFB-dev,

I'm developing a custom gfx driver for an embedded system that ultimately is 
targeted primarily at accelerating Qt applications running on DirectFB.

I'm using the fbdev system and have successfully been able to build and run my 
Qt apps on DirectFB and see my gfx library being called to acceleration Qt 
bitblts and other graphics ops.

Unfortunately, I'm seeing a basic memory management problem that appears to be 
a fundamental issue with the fbdev systems layer and not related to my gfx 
library at all. As a matter of fact, that it occurs when my gfx library is in 
use only seems to be because I provide the opportunity for graphics memory to 
be used to hold surfaces.

What I'm seeing is that when I run my Qt app (a photoviewer with thumbnails) 
and watch the surface allocations and locks in the fbdev surfacemanager.c and 
fbdev_surface_pool.c, I'll see it grab two buffers representing the 
800x600x16-bit front and back buffers for the primary surface.  These appear to 
be taken from the base address of my frame buffer mapped memory.  I then see 
additional video memory based surfaces allocations and locks being taken for 
the Qt app thumbnails. These allocations start at the high end of the mapped 
memory and work their way down to lower address, but at some point, the buffers 
being provided to Qt start to collide with the double-buffered primary surface 
and I get display corruption and things go very badly from that point.

If I increase the frame buffer size, I can avoid the issue only because  there 
is more space to be consumed before collision, but this seems like a 
fundamental issue with the fbdev systems layer.

Searching through the mailing list archives, I see that at least one other 
developer has run into this issue going from a 1.0 to a 1.4 based gfx driver, 
but that developer wasn't able to resolve the issue.

Any suggestions?  At this point, my only option is to increase the frame buffer 
size, which only lessens the chance of the problem occurring.

Michael Eskin
Conexant Systems


Conexant E-mail Firewall (Conexant.Com) made the following annotations
---------------------------------------------------------------------
********************** Legal Disclaimer **************************** 

"This email may contain confidential and privileged material for the sole use 
of the intended recipient. Any unauthorized review, use or distribution by 
others is strictly prohibited. If you have received the message in error, 
please advise the sender by reply email and delete the message. Thank you." 

********************************************************************** 

---------------------------------------------------------------------

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

Reply via email to