On Thu, 12 Apr 2001, Morten Rolland wrote:
> Upon installation (of GGI, with directfb target), why not run a
> "capability investigator" that tries "all sorts" of Create, and
> outputs a file when done that lists the modes that worked?
> I have no idea about how many tries "all sorts" would requiere...
>
> Checkmode could consult this file when needed. If there is no such
> file, your strategy could be used (e.g. checkmode OKs it, praying
> it will actually work when tried).
This might be done. But, it turns out that DirectFB drivers do not do the
setmode themselves -- the DirectFB core uses the regular fbdev interface
to set the mode before loading the driver. This makes our life a bit
easier, because we can just init the mode with display-fbdev and then
load the directFB driver as a renderer after building some counterfeit
structures to make the directfb driver think it is being called by directfb.
The way the directFB renderers work is to compare the accel flag in the
fbdev FIX structure, contents of the MMIO region, and the layout of
the mode, to see if they have accelerated support on that chipset
revision and mode. If they do not, they fall back to software. The
display-fbdev-directfb driver can tell, during runtime, if accel
is supported and not re-hook the generic drawing ops if so. So for
now, we do not need to do this.
Where the "compatibilty investigator" might be needed, though, is for
LibGalloc, in determining the BLT layouts supported.
--
Brian