Subject: Re: rasops vs. splash
To: Garrett D'Amore <garrett_damore@tadpole.com>
From: Jared D. McNeill <jmcneill@invisible.ca>
List: tech-kern
Date: 05/22/2006 17:14:39
On 22-May-06, at 4:19 PM, Garrett D'Amore wrote:

> I'm looking at rasops and splash a bit more lately, and I find that
> there is a lot of sharing/duplication of effort.
>
> For example, I need to make splash support drawing on a BGR display  
> (it
> only supports RGB at the moment).  Not terribly hard to do, but we
> already have all this support in rasops.
>
> It strikes me that we really need a common framework for display
> adapters (pixel oriented at least) to expose themselves, and implement
> just a single set of operations, from which either text or graphic
> drawing can be done.
>
> I'd like to suggest that we consider merging the splash and progress
> features with rasops a bit more, so that raster-oriented (or pixel
> oriented) displays can have a single API they have to implement in  
> order
> to get reasonably complete support.  And so that logic that needs  
> to be
> added to splash etc. can be simplified, removed, and just use the same
> logic where it exists in rasops.

Both rasops and splash need to become consumers of a common, for lack  
of better term, "DDI". As we discussed earlier, have a look at the  
Windows CE DDI API for what ops that hw drivers should export to both  
userland and to these subsystems. We will of course need to do  
software implementations of these functions for linear framebuffers  
to assist in developing new drivers (or using existing hardware that  
lacks hw accelops).

Having a DDI lets us build both "applications" in the kernel that can  
use the display, as well as providing a reasonable accelerated 2D API  
for userspace to use (X, SDL, Qtopia, etc).

Cheers,
Jared