Problem with WineD3D Surface Locking

H. Verbeet hverbeet at
Mon Dec 26 11:30:31 CST 2005

> I have written a small D3D9 test app which shows this behavior: Compile it
> with "winemaker .", followed by make, and run it. Pressing ESC will cause it
> to quit, pressing any other keys makes IDirect3DDevice9::Clear call on the
> back buffer, with a color value based on the pressed keys. A click anywhere
> will LockRect() the whole backbuffer, write 0xff into the whole locked
> memory, and UnlockRect() it.
> The screen should become completely white, but instead it goes black. With the
> fglrx driver and 24 bit color depth it shows the correct behavior, but with
> any other driver(radeon, software rendering) or 16 bit color depth, it
> doesn't work. The bug is somehow related to some GL calls in
> UnlockRect(glPixelZoom and glOrtho), but I couldn't find anything specific.
That program works fine for me with
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce4 Ti 4400/AGP/3DNOW!
OpenGL version string: 1.5.2 NVIDIA 66.29

Perhaps it's ATI specific? I wonder if you can reproduce it by calling
the relevant OpenGL functions directly.

More information about the wine-devel mailing list