DIB Engine : passing all tests

Alexandre Julliard julliard at winehq.org
Mon May 25 06:03:17 CDT 2009

Jan de Mooij <jandemooij at gmail.com> writes:

> On Sun, May 24, 2009 at 12:04 PM, Chris Howe <mrmessiah at gmail.com> wrote:
>> 2009/5/24 Massimo Del Fedele <max at veneto.com>
>> Sorry to sound like a stuck record but the Wine website still lists
>> "write a DIB engine" as a requirement, and every time someone
>> does, the patches dissapear down a hole because they're "not
>> right". Someone document what "would be right", or take "write
>> a DIB engine" off the list. I'd love to have a go at documenting it
>> myself, but I don't have the time to reverse engineer it from a
>> few years' worth of rejected solutions.
> Agreed. I would be willing to invest some time this summer in a DIB
> engine but it's impossible because of this. A wiki page describing the
> "right design" and what is needed in which component would be a great
> start. Maybe a goal for next WineConf?

Writing a DIB engine is not a fill-in-the-blanks exercise. A large part
of the task is precisely to come up with a good design, validate it with
a prototype, and then convince people (especially Huw and myself) that
your design is good, that you know what you are doing, that you have
anticipated the common objections and have good answers for them, that
you are willing to make requested changes, that you have good test
cases, etc.  Showing that it more or less works on a couple of apps, or
that it passes the (very few) existing gdi32 tests, is of course
necessary, but by no means enough. If you want to tackle this, it will
also help to have a good track record in getting simpler patches in

Once all of this is done and the proper design is in place in the tree,
then there might be a number of fill-in-the-blanks tasks to implement
the less common graphics calls that would probably be stubbed out in the
first version. But we are nowhere near that point yet.

Alexandre Julliard
julliard at winehq.org

More information about the wine-devel mailing list