On 8/23/07, Stefan Dösinger stefandoesinger@gmx.at wrote:
Am Donnerstag, 23. August 2007 20:16 schrieb Jesse Allen:
On 8/23/07, Stefan Dösinger stefandoesinger@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 wined3d?
Jesse