DIB Driver code available

Jesse Allen the3dfxdude at gmail.com
Thu Aug 23 13:59:27 CDT 2007

On 8/23/07, Stefan Dösinger <stefandoesinger at gmx.at> wrote:
> Am Donnerstag, 23. August 2007 20:16 schrieb Jesse Allen:
> > On 8/23/07, Stefan Dösinger <stefandoesinger at gmx.at> wrote:
> > > Am Donnerstag, 23. August 2007 18:58 schrieb Jesse Allen:
> > > > Hi,
> > > >
> > > > I have my DIB driver code available on a public git host now:
> > > > http://repo.or.cz/w/wine/dibdrv.git
> > > >
> > > > I'm going to briefly describe it.
> > >
> > > Is your dib driver an all or nothing replacement of winex11 GDI drawing,
> > > or can it be mixed with winex11?
> >
> > I think it was decided not to mix the dc_funcs of the drivers. It
> > seems like it would be messy as you have to keep track of which
> > physDev goes where. So I decided to go all or nothing and have
> > replacements for at least every winex11 export to be safe. Forwarding
> > can be done as I described in the first email. I haven't tried yet,
> > since it is still pretty early. Some functions might not be needed,
> > though, like CreateDIBSection or CreateBitmap, but I still stubbed
> > everything so in testing anything that might show up will be easier to
> > identify.
> Ya, I've tried forwarding in wined3d, it is a pain. I've decided to drop that
> idea. What I meant was wether all GDI stuff happens in the new driver now, or
> if some windows/DIBs/whatevers can use the new code, and some the old.

Not all. It's going to be the same. I'm not planning on changing the
driver interface. So I'm planning to make the dib.drv replace winex11
cleanly for DIBs only.

The best way to use the new code is to select in a DIB section into
your DC. To use the old code, select in a DDB. I don't know if it's
possible to use the driver outside of GDI.

> > > How do you deal with BitBlt() or simmilar calls
> > > between your driver and winex11?
> >
> > I convert the bitmap to the destination device and proceed with the call.
> > See:
> > http://repo.or.cz/w/wine/dibdrv.git?a=commit;h=ad667f577e120ab96125c658679b
> >d4f8d2a2decc
> While you're at it, can you make it more universal so we can add a wined3d
> driver too, and convince AJ about it?

Okay, but the dib driver is special. A dib works on any device, so
that's why I can convert between. You're not supposed to blit across
different devices. Could you point out your issues with blitting and


More information about the wine-devel mailing list