wined3d: Don't use rtInternal for surfaces that are on a swapchain.

These surfaces won't be attached to an FBO anyway, so avoid the cost of a
potential format conversion when blitting from a non-RT surface. This is
mostly an issue for ddraw applications with 16 bit render targets.
This commit is contained in:
Henri Verbeet 2009-03-25 10:12:27 +01:00 committed by Alexandre Julliard
parent 899df56ebe
commit 4469fbd43d
1 changed files with 4 additions and 1 deletions

View File

@ -1621,7 +1621,10 @@ HRESULT d3dfmt_get_conv(IWineD3DSurfaceImpl *This, BOOL need_alpha_ck, BOOL use_
if(srgb_mode) {
*internal = glDesc->glGammaInternal;
} else if(This->resource.usage & WINED3DUSAGE_RENDERTARGET) {
}
else if (This->resource.usage & WINED3DUSAGE_RENDERTARGET
&& !(This->Flags & SFLAG_SWAPCHAIN))
{
*internal = glDesc->rtInternal;
} else {
*internal = glDesc->glInternal;