wined3d: Only update the screen when the frontbuffer was changed.

There is no need to copy the frontbuffer to the screen when the backbuffer was
modified...
This commit is contained in:
Stefan Dösinger 2009-06-27 21:35:24 +02:00 committed by Alexandre Julliard
parent b3f967a022
commit 1f8761219b
1 changed files with 8 additions and 2 deletions

View File

@ -199,7 +199,10 @@ IWineGDISurfaceImpl_UnlockRect(IWineD3DSurface *iface)
/* Tell the swapchain to update the screen */
if (SUCCEEDED(IWineD3DSurface_GetContainer(iface, &IID_IWineD3DSwapChain, (void **)&swapchain)))
{
x11_copy_to_screen(swapchain, &This->lockedRect);
if(iface == swapchain->frontBuffer)
{
x11_copy_to_screen(swapchain, &This->lockedRect);
}
IWineD3DSwapChain_Release((IWineD3DSwapChain *) swapchain);
}
@ -490,7 +493,10 @@ static HRESULT WINAPI IWineGDISurfaceImpl_RealizePalette(IWineD3DSurface *iface)
/* Tell the swapchain to update the screen */
if (SUCCEEDED(IWineD3DSurface_GetContainer(iface, &IID_IWineD3DSwapChain, (void **)&swapchain)))
{
x11_copy_to_screen(swapchain, NULL);
if(iface == swapchain->frontBuffer)
{
x11_copy_to_screen(swapchain, NULL);
}
IWineD3DSwapChain_Release((IWineD3DSwapChain *) swapchain);
}