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
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?
At least on my box, the demo for Tomb Raider 3 still works fine :-) It's one of the easiest D3D game there is and it always works fine in Wine (contrary to most of the other demos I have installed here where most of them crash now).
Lionel
On Sat, Nov 19, 2005 at 05:35:41PM +0100, Stefan Dösinger wrote:
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 :(
well for the files. my bug withing Anno 1503 [1] is about the same. glXMakeCurrent seem to be the very first opengl call at that point and then crashes the app. i tried commenting out some things and it still crashed on the first gl.* command. afaik i put a link to the demo in the bug and if there is something to test, dont hestitate to ask.
[1] http://bugs.winehq.org/show_bug.cgi?id=3179
Hi,
well for the files. my bug withing Anno 1503 [1] is about the same. glXMakeCurrent seem to be the very first opengl call at that point and then crashes the app. i tried commenting out some things and it still crashed on the first gl.* command. afaik i put a link to the demo in the bug and if there is something to test, dont hestitate to ask.
A +ddraw, +tid trace might be intersting. See if there are any thread changes in the list of the ddraw calls.
I'll remember anno 1503 for testing.
Stefan