Hi Stefan,
On Tuesday 20 July 2010 00:01:13 Stefan Dösinger wrote:
Am 19.07.2010 um 21:24 schrieb Oldřich Jedlička:
Hi Stefan,
On Monday 19 July 2010 20:56:35 Stefan Dösinger wrote:
Allowing the creation of the surface is most likely not enough, the backbuffer has to be useable after it has been created. Specifically, when the app attaches the backbuffer to the frontbuffer(assuming this works, needs a test) wined3d has to be made aware of the change - there's a SetFrontBackBuffers method in the wined3d device to reconfigure the primary swapchain.
There is at least one game verified to work with CreateSurface method that allows creation of back buffers - Bulanci (Combat Pillows, bug #9008). But I have to admit that I don't know the internals of WineD3D, nor DirectX.
You probably get away with not dealing with AddAttachedSurface by luck. With the GDI 2D renderer ddraw passes the attached backbuffer explicitly to wined3d. With the GL renderer you may not be so lucky because it may render to an offscreen texture instead of the backbuffer.
This is unfortunately out of my scope (I've never done DirectX/OpenGL programming). I will need help in this area. I can have a look at the code to understand the difference (from the code perspective) between backbuffer and offscreen texture.