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