0.9.31 not suitable for gaming
Pavel Troller
patrol at sinus.cz
Wed Feb 21 08:24:45 CST 2007
>
> > trace:d3d:IWineD3DDeviceImpl_SetupFullscreenWindow Old style was
> > 90000000,00000008, setting to 90080000,00000008
> > trace:ddraw:IDirectDrawImpl_FlipToGDISurface (0x19daf8)
> This here seems strange. If you compare that to the good log you'll see that
> IWineD3DDeviceImpl_Init3D was left way to early. As there is no ERR about a
> possible reason for the abortion I think that somewhere an exception is
> thrown, caught by the game which terminates afterwards.
Doesn't seem so. See below.
>
> You can do the following:
> -> Run the game in winedbg and see if it catches the execption and gives a
> backtrace and crash position
There is no such exception, at least winedbg doesn't catch any. Is a special
action (command etc.)
> -> Add some extra traces(or ERRs) to Init3D and its subfunctions to catch the
> last line that is exectuted successfully.
Hmm... I added some traces to device.c. We know that last known trace from
Init3D in the bad case is "Creating implicit swapchain."
I added a new trace here:
/* Setup the implicit swapchain */
TRACE("Creating implicit swapchain\n");
if (D3D_OK != D3DCB_CreateAdditionalSwapChain((IUnknown *) This->parent, pPresentationParameters, (IWineD3DSwapChain **)&swapchain) || swapchain == NULL) {
WARN("Failed to create implicit swapchain\n");
return WINED3DERR_INVALIDCALL;
}
TRACE("1674\n");
(it's on line 1674) and this one was NOT reached.
I'm a bit confusd because I failed to find the code for
D3DCB_CreateAdditionalSwapChain(), I found only its call in device.c and its
definition in wined3d_interface.h.
So, what to do next ?
With regards, Pavel Troller
More information about the wine-devel
mailing list