Stefan Dösinger : wined3d: Implement texture -> swapchain blits with stretch_rect_fbo.
Alexandre Julliard
julliard at winehq.org
Wed Dec 19 06:58:24 CST 2007
Module: wine
Branch: master
Commit: b95f30134b8df9f9b8683ce0e3913c3c5521fa92
URL: http://source.winehq.org/git/wine.git/?a=commit;h=b95f30134b8df9f9b8683ce0e3913c3c5521fa92
Author: Stefan Dösinger <stefan at codeweavers.com>
Date: Tue Dec 18 13:52:48 2007 +0100
wined3d: Implement texture -> swapchain blits with stretch_rect_fbo.
---
dlls/wined3d/surface.c | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index e45dd4c..7ba5125 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -3095,6 +3095,16 @@ static HRESULT IWineD3DSurfaceImpl_BltOverride(IWineD3DSurfaceImpl *This, RECT *
SourceRectangle.top = 0;
SourceRectangle.bottom = Src->currentDesc.Height;
}
+ if (wined3d_settings.offscreen_rendering_mode == ORM_FBO && GL_SUPPORT(EXT_FRAMEBUFFER_BLIT) &&
+ (Flags & (WINEDDBLT_KEYSRC | WINEDDBLT_KEYSRCOVERRIDE)) == 0) {
+ TRACE("Using stretch_rect_fbo\n");
+ /* The source is always a texture, but never the currently active render target, and the texture
+ * contents are never upside down
+ */
+ stretch_rect_fbo((IWineD3DDevice *)myDevice, SrcSurface, (WINED3DRECT *) &SourceRectangle,
+ (IWineD3DSurface *)This, &rect, Filter, FALSE);
+ return WINED3D_OK;
+ }
if(!CalculateTexRect(Src, &SourceRectangle, glTexCoord)) {
/* Fall back to software */
More information about the wine-cvs
mailing list