DIB engine

Francois Gouget fgouget at free.fr
Sat Mar 30 17:14:35 CST 2002


   The DIB engine was discussed quite a lot at WineConf. I am now trying
to summarize these discussions to update bug 421 - Implement a DIB
engine.

http://wine.codeweavers.com/bugzilla/show_bug.cgi?id=421

Is the following accurate, complete, etc? Comments? Other ideas?
Any volunteers?


   This was discussed quite a bit at WineConf. Ideas that were floated
around are:

1. Have X export the required API
---------------------------------

XFree86 4 has all the needed code, for all bit depths and layouts we
care about. We could try to have the X guys export this in the form of
an API ala Xft. Wine could then link with this library to implement the
DIB engine (or dlopen that library).

 * Is the needed API already available?
 * If not, are the XFree86 guys willing to export it?
 * Almost everyone is using XFree86, but what about people who don't
(embedded devices, Wine on Solaris...). We need a fallback.
 * We won't have to maintain that code which is a good thing, although
it is not supposed to change much once written.
 * Will we be able to do all that we need with that API? Probably yes
since it can be expected to match the X API quite closely and we are
abel to use the X API.


2. Copy the relevant X code into Wine
-------------------------------------

Since X has all the code and that code is under the X11 license we could
copy it all into Wine.

 * This means we will have to maintain the code ourselves, although
it is not supposed to change much once written.


3. Copy the relevant code from MicroWindows/NanoGUI to Wine
-----------------------------------------------------------

MicroWindows/NanoGUI also has code that could help us bootstrap our DIB
engine. We probably don't want Wine to depend on these projects but we
could copy their code into Wine.

 * Are the licenses compatible?
 * Do they support all the bit depths and layouts we care about?
 * This means we will have to maintain the code ourselves, although
it is not supposed to change much once written.


4. Copy the relevant code from GGI to Wine
------------------------------------------

   GGI also has similar code. Again we probably don't want to
introduce a dependency on GGI so the same questions apply:

 * Are the licenses compatible?
 * Do they support all the bit depths and layouts we care about?
 * This means we will have to maintain the code ourselves, although
it is not supposed to change much once written.



--
Francois Gouget         fgouget at free.fr        http://fgouget.free.fr/
                         "Utilisateur" (nom commun) :
        Mot utilisé par les informaticiens en lieu et place d'"idiot".




More information about the wine-devel mailing list