Updated DIB Engine

Massimo Del Fedele max at veneto.com
Tue Jan 27 13:51:14 CST 2009


Reece Dunn ha scritto:
> 2009/1/27 Massimo Del Fedele <max at veneto.com>:
>> Any opinion about this one ? Could it be a good candidate for inclusion
>> in wine tree ?
> 
> Hi,
> 
> I have used this with StarCraft, running it with and without the DIB
> engine enabled. I find the environment variable makes it very easy to
> switch between them during testing, so I am for this (as well as being
> able to set the default option via the registry).

Thanx, that was what I wanted to have :-)
> 
> My experience with the game is that it is actually slower and has a
> noticible stutter when compared to the non-DIB engine version. This
> does not mean that I am opposed to this going in, as I know that the
> blitting code is not yet optimised. In fact, I am for this to go in
> (provided that Alexandre accepts it).

Yep, the blitting code is just a "placeholder" to make most apps run, 
not an optimized one. Making it optimized is trivial but requires many 
code lines, so before proceeding I thought to wait for "approval" of the 
way the engine is done. The same is for text stuffs.
> 
> The only thing I would say is to break it up. For example, there are
> bits that you have taken from Jesse and Huw's efforts that are various
> isolated patches. These should be sent in a git patch format so that
> the authors can be attributed in the Wine git tree as well as being in
> the Copyright notices.

Well, that one could be only partially done, because I modified most of 
both Huw and Jesse's code. I let Jesse and Huw's copyright notices 
because of that, but going back from original code, joining the 2 and 
adding my mods by mean of many git patches would be overkilling.
Even more, both trees were somehow outdated in respect to actual wine 
tree, so the automatic merge didn't work for some parts of code.
I'd see easier to put the 3 names on each patch when (if) merged with 
main tree.

  Aside from that, if you could break the DIB
> patch into smaller logical chunks it will be easier to review and get
> the patches in.

Well, that also can be partially done :

1- First GDI32 patch, the one that allows to insert DIB Driver, without 
blitting (mostly from Huw's tree, but driver loading displaced from 
SelectBitmap to CreateDC by me, with some additions to avoid crashes if 
driver is not present.
2 - Starting dib engine, without blitting and (maybe) many stubs, but 
with primitives and some basic stuffs, mostly from Huw's tree, some 
small patches by me
3 - Blitting, which requires both patching GDI32 again and adding the 
code to DIB driver, and all stubs; all that mostly from Jesse's tree, 
many patches by me
4 - Initial text and font implementation, by me
5 - Registry and environment variable stuffs, by me

Most chunks need to span over more source files.
After that, I guess the code is defined enough to be opened for completion.
> 
> Have you asked Alexandre on IRC what he thinks of the design?
> 
No.... I'm not using IRC since ages :-)
Is this the way to ask him ?

> - Reece
> 
Ciao and thanx for comments !

Max






More information about the wine-devel mailing list