wined3d: Don't use rtInternal for surfaces that are on a swapchain.
Henri Verbeet
hverbeet at codeweavers.com
Wed Mar 25 04:12:27 CDT 2009
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.
---
dlls/wined3d/surface.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index b0c6511..35ba9a4 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -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;
--
1.6.0.6
--------------070804070808040009060004--
More information about the wine-patches
mailing list