Stefan Dösinger <stefandoesinger <at> gmx.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 bit. > 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 :) Regards, Aric
