On 26/02/07, Stefan Dösinger stefan@codeweavers.com wrote:
Note: that this patch conflicts with the ddraw thread safety patch. After this patch here is applied, I will send an updated thread safety patch for the ddraw implementation
What exactly is this supposed to fix? We already pass the behaviour flags through to IWineD3DImpl_CreateDevice(), so shouldn't wined3d just handle it there?
What exactly is this supposed to fix? We already pass the behaviour flags through to IWineD3DImpl_CreateDevice(), so shouldn't wined3d just handle it there?
In DirectDraw the multithreading flag is set after creating the device, so I need a seperate method to set it in wined3d, because I don't know it at initialization time. This method has to initialize the thread safety things in wined3d.
Now d3d8 and d3d9 call SetMultithreaded too because it is clearer to have SetMultithreaded called by ddraw, d3d8 and d3d9 instead of ddraw and wined3d. On the other hand, there are now 2 places where the multithreaded flag is passed to wined3d now, CreateDevice and SetMultithreaded.
I could call SetMultithreaded from wined3d::CreateDevice, and not call it from d3d8/9, or I could remove the WINED3DCREATE_MULTITHREADED flag from the public wined3d_interface.h header, sinaling that CreateDevice ignores that flag? Or anything I missed?