Another Multithreaded Direct3D biest??

Stefan Dösinger stefandoesinger at gmx.at
Sat Nov 19 10:35:41 CST 2005


Hello,
After quite some time I returned to my D3D7->WineD3D work, and I gave Need for 
speed 3 a try. It's an old DirectX 5 game, with DirectDraw software 
rendering, Direct3D rendering and some hardware specific renderers.

Need for speed 3 causes a crash in the GL library. A look at a +tid,+ddraw,
+d3d trace shows that it creates a DirectDraw object in TID 0x9(No D3D 
involved), and then switches the graphics operations to another thread, 0xc. 
This thread sucessfully created and releases 2 DirectDraw and Direct3D 
objects. When the third WineD3D object is created, a crash in glXMakeCurrent 
in swapchain.c::IWineD3DDeviceImpl_CreateAdditionalSwapChain occurs.

Is this a multithread problem? There's one thread change involved, but it 
occurs before the first Direct3D object is created.

Does anyone know any not multithreaded Direct3D7(or previous) games, which do 
not rely on ProcessVertices?? Which games are working with the old D3D7 
implementation? I have tried Empire Earth(Mulitthreaded), Half-Life 1
(ProcessVertices) and Need for Speed 3(Multithreaded??) now. Now I am running 
out of games :(

Stefan



More information about the wine-devel mailing list