Module: wine Branch: master Commit: 2d7500600bf2f109001597bd8d36724c1b551d8b URL: http://source.winehq.org/git/wine.git/?a=commit;h=2d7500600bf2f109001597bd8d...
Author: Henri Verbeet hverbeet@codeweavers.com Date: Tue Jul 21 11:51:11 2009 +0200
wined3d: Get rid of lastActiveRenderTarget.
---
dlls/wined3d/context.c | 15 ++++++--------- dlls/wined3d/device.c | 2 -- dlls/wined3d/wined3d_private.h | 3 --- 3 files changed, 6 insertions(+), 14 deletions(-)
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c index b92cc99..c625674 100644 --- a/dlls/wined3d/context.c +++ b/dlls/wined3d/context.c @@ -503,10 +503,8 @@ void context_resource_released(IWineD3DDevice *iface, IWineD3DResource *resource /* Implicit render target destroyed, that means the * device is being destroyed whatever we set here, it * shouldn't matter. */ - TRACE("Device is being destroyed, setting lastActiveRenderTarget to 0xdeadbabe.\n"); - - This->lastActiveRenderTarget = (IWineD3DSurface *) 0xdeadbabe; - This->activeContext->current_rt = This->lastActiveRenderTarget; + TRACE("Device is being destroyed, setting current_rt to 0xdeadbabe.\n"); + This->activeContext->current_rt = (IWineD3DSurface *)0xdeadbabe; } } else @@ -514,8 +512,7 @@ void context_resource_released(IWineD3DDevice *iface, IWineD3DResource *resource WARN("Render target set, but swapchain does not exist!\n");
/* May happen during ddraw uninitialization. */ - This->lastActiveRenderTarget = (IWineD3DSurface *)0xdeadcafe; - This->activeContext->current_rt = This->lastActiveRenderTarget; + This->activeContext->current_rt = (IWineD3DSurface *)0xdeadcafe; } } else if (This->d3d_initialized) @@ -1764,13 +1761,13 @@ void ActivateContext(IWineD3DDeviceImpl *This, IWineD3DSurface *target, ContextU
TRACE("(%p): Selecting context for render target %p, thread %d\n", This, target, tid);
- if (!target) target = This->lastActiveRenderTarget; + if (!target) target = This->activeContext->current_rt;
- if(This->lastActiveRenderTarget != target || tid != This->lastThread) { + if (This->activeContext->current_rt != target || tid != This->lastThread) + { context = FindContext(This, target, tid); context->draw_buffer_dirty = TRUE; context->current_rt = target; - This->lastActiveRenderTarget = target; This->lastThread = tid; } else { /* Stick to the old context */ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index 00c0a78..422dbf8 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -2158,12 +2158,10 @@ static HRESULT WINAPI IWineD3DDeviceImpl_Init3D(IWineD3DDevice *iface, if(swapchain->backBuffer && swapchain->backBuffer[0]) { TRACE("Setting rendertarget to %p\n", swapchain->backBuffer); This->render_targets[0] = swapchain->backBuffer[0]; - This->lastActiveRenderTarget = swapchain->backBuffer[0]; } else { TRACE("Setting rendertarget to %p\n", swapchain->frontBuffer); This->render_targets[0] = swapchain->frontBuffer; - This->lastActiveRenderTarget = swapchain->frontBuffer; } IWineD3DSurface_AddRef(This->render_targets[0]); This->activeContext = swapchain->context[0]; diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index c76db79..d8d95e7 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -1535,9 +1535,6 @@ struct IWineD3DDeviceImpl IWineD3DSurface *auto_depth_stencil_buffer; IWineD3DSurface *stencilBufferTarget;
- /* Caches to avoid unneeded context changes */ - IWineD3DSurface *lastActiveRenderTarget; - /* palettes texture management */ UINT NumberOfPalettes; PALETTEENTRY **palettes;