[1/3] WineD3D: Fix a problem in BltOverride

Maxime Bellengé maxime.bellenge at gmail.com
Sun Dec 30 04:15:44 CST 2007


Here are the results :

- Without ERR : slightly faster but not really a big difference
- Without the return statement : back to normal, the game is 3 times
faster. The difference in the main menu is really impressive.

Maxime


On Sat, 2007-12-29 at 21:24 -0800, Alexander Dorofeyev wrote:
> I don't have this game, so I can't check myself, but I think that the reason of 
> slowdown may be not only that a err message is printed, but also because it 
> exists with error, and that means it will have to do slower, software blit. But 
> in older versions in this situation it would try hardware accelerated blit, I think.
> 
> Can you try commenting or removing the line with ERR() to check? It's 
> wine/dlls/wined3d/surface.c:2976. If the game is still slower than it used to 
> be, another thing you can try is also comment/remove 'return ...' statement just 
> after that ERR and see what happens. After more careful look at that code, it 
> looks to me both ERR and return there may be a mistake, because it causes 
> regular texture -> render target blits not to happen in hardware, but it will be 
> safer if you test first if it works at all without these lines :).
> 
> Maxime Bellengé wrote:
> > Hi,
> > 
> > Yes the problem is fixed with this patch although I have millions
> > traces like this one :
> > 
> > err:d3d_surface:IWineD3DSurfaceImpl_BltOverride Unexpected render target
> > -> render target blit
> > 
> > It makes the game slow whereas before wine 0.9.51 if I remember exactly,
> > the game was fast without this message. Maybe this trace should be made
> > a warn instead of en error ?




More information about the wine-devel mailing list