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