Jump to content
Sign in to follow this  

GDISP low level restructure

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.

Share this post

Link to post
Share on other sites
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Create New...