Jump to content

GDISP low level restructure


inmarket

Recommended Posts

There is currently work being done on restructuring the internals of the GDISP module. The API will stay compatible with existing code. Included in this work are some nice new features...

  • GDISP streaming. This could, for example, enable video playing in a window while still allowing normal GDISP calls to be used around the edges to draw controls etc. This is also very useful for games and other programs that need to access an area of the screen in a super-fast sequential manner.
  • GDISP low level driver restructure. This is to simplify the writing of most drivers. Complexity to do with optimization, clipping etc have been moved to higher level code, significantly reducing the amount of code for most low level drivers. Drivers for devices that support window streaming type operations are now extremely easy to write with full optimization applied by the higher level layers.
  • Multiple displays. Currently GDISP supports only a single display. The new code will allow multiple displays to be simultaneously used on the same board even if they use different controllers.
  • Support for memory mapped displays. Every memory mapped display currently requires its own driver. With the new low level drivers a generic "memory map" driver allows for connection to any memory mapped display (eg a Linux framebuffer) simply by changing the interface board file.
  • Support for virtual RAM based surfaces. This enables a bitmap display to be created in RAM, of any size (subject to available RAM). It can be drawn on using the standard GDISP calls. It can then be used to fast bitblit to a real display, or can be saved in a file.

A video demo showing the new streaming features and drawing optimization can be seen here http://youtu.be/GMfb97wbwq4

This is definitely a work in progress and not all the features listed above are available yet. In fact currently only the Win32 and the Nokia6610 drivers have been ported. If you feel like having a play or porting your current driver, the code is in the GDISPStreaming branch of the source repository.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...