Stefan Dösinger : wined3d: Frontbuffers are onscreen.
Alexandre Julliard
julliard at winehq.org
Tue Dec 15 09:40:18 CST 2009
Module: wine
Branch: master
Commit: 2ee6bb1cbb4ddfdfcc5eb17344c4fd20734e5672
URL: http://source.winehq.org/git/wine.git/?a=commit;h=2ee6bb1cbb4ddfdfcc5eb17344c4fd20734e5672
Author: Stefan Dösinger <stefan at codeweavers.com>
Date: Mon Dec 14 23:58:13 2009 +0100
wined3d: Frontbuffers are onscreen.
---
dlls/wined3d/context.c | 3 ++-
dlls/wined3d/device.c | 1 -
dlls/wined3d/swapchain.c | 2 --
3 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
index 62eb0ac..f923a6f 100644
--- a/dlls/wined3d/context.c
+++ b/dlls/wined3d/context.c
@@ -1348,6 +1348,7 @@ struct wined3d_context *context_create(IWineD3DDeviceImpl *This, IWineD3DSurface
ret->gl_info = &This->adapter->gl_info;
ret->surface = (IWineD3DSurface *) target;
ret->current_rt = (IWineD3DSurface *)target;
+ ret->render_offscreen = surface_is_offscreen((IWineD3DSurface *) target);
ret->tid = GetCurrentThreadId();
if(This->shader_backend->shader_dirtifyable_constants((IWineD3DDevice *) This)) {
/* Create the dirty constants array and initialize them to dirty */
@@ -1893,7 +1894,7 @@ static inline struct wined3d_context *FindContext(IWineD3DDeviceImpl *This, IWin
context = findThreadContextForSwapChain(swapchain, tid);
old_render_offscreen = context->render_offscreen;
- context->render_offscreen = ((IWineD3DSwapChainImpl *)swapchain)->render_to_fbo;
+ context->render_offscreen = surface_is_offscreen(target);
/* The context != This->activeContext will catch a NOP context change. This can occur
* if we are switching back to swapchain rendering in case of FBO or Back Buffer offscreen
* rendering. No context change is needed in that case
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index c71d4eb..a55f3e6 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -6297,7 +6297,6 @@ HRESULT create_primary_opengl_context(IWineD3DDevice *iface, IWineD3DSwapChain *
}
swapchain->context[0] = context_create(This, target, swapchain->win_handle, FALSE, &swapchain->presentParms);
swapchain->num_contexts = 1;
- swapchain->context[0]->render_offscreen = swapchain->render_to_fbo;
create_dummy_textures(This);
diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c
index 91791de..fb902ea 100644
--- a/dlls/wined3d/swapchain.c
+++ b/dlls/wined3d/swapchain.c
@@ -809,8 +809,6 @@ HRESULT swapchain_init(IWineD3DSwapChainImpl *swapchain, WINED3DSURFTYPE surface
hr = WINED3DERR_NOTAVAILABLE;
goto err;
}
-
- swapchain->context[0]->render_offscreen = swapchain->render_to_fbo;
}
else
{
More information about the wine-cvs
mailing list