New d3d8 code and FFXIBench3 - pretty good!

Aric Cyr Aric.Cyr at
Wed Mar 1 09:22:43 CST 2006

Stefan Dösinger <stefandoesinger <at>> writes:

> > If you want a hand with OpenGL stuff some more Stefan, I'd be glad to help.
> >  We could set up a time to chat/irc off-list or if you want I could see if
> > I can get your existing stuff to work (just send me the diffs).
> I'll publish a patch in the next days, I just want to fix S3TC decompression 
> and perhaps get my hands on Diablo 2.

I own Diablo 2... this would be a good reason to dust it off :)

> The problem I have with GL ATM is UnlockRect. The current code in 
> WineD3DSurface::UnlockRect doesn't work with a lot of cards / drivers(radeon, 
> fglrx and mesa software rendering fail). glReadPixels and glWritePixels is 
> horribly slow on radeons, it takes 1-4 secounds for an 800x600 image.

I am running fglrx as well, so I could work on getting the performance up on
these cards.  I also have contacts at ATI, so if there are specific problem I
could send feedback directly, and hopefully they can fix things for future
releases.  Although I'd check glDrawPixels on Windows as well... I suspect it is
just as slow there.  Also for glDrawPixels you should turn off a lot of the GL
state (lighting and stuff that you don't need).  That could speed things up a 

> So what I need is an UnlockRect code for render targets that doesn't use 
> glDrawPixels. I have written a code that replaces ReadPixels with copying the 
> render target to a texture and reading back the texture, this works much 
> better. I tried to write an UnlockRect code that loads a temporary texture 
> and Draws a textured quad, but the quad had the solid color of the first 
> pixel.

Sounds like it shouldn't be too difficult OpenGL problem.  There are a lot of
commands related to texturing, so it is quite easy to muck things up.  I looked
at the code a bit that you posted before, but nothing jumped out at me, although
it would be easier if I had the full code to play with.

> Thanks for your help :)

No problem, anything that will help accelerate the merge of ddraw/d3d7 into
wined3d :)


More information about the wine-devel mailing list