Module: wine Branch: master Commit: 74345201ad7d9c82e8aabe558657f61ec3f6db47 URL: http://source.winehq.org/git/wine.git/?a=commit;h=74345201ad7d9c82e8aabe5586...
Author: Henri Verbeet hverbeet@codeweavers.com Date: Wed Nov 23 08:51:43 2011 +0100
ddraw: Move setting ddraw->d3d_target out of ddraw_attach_d3d_device().
---
dlls/ddraw/ddraw.c | 33 ++++++--------------------------- 1 files changed, 6 insertions(+), 27 deletions(-)
diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c index 8cb2596..09b4bc1 100644 --- a/dlls/ddraw/ddraw.c +++ b/dlls/ddraw/ddraw.c @@ -2522,26 +2522,13 @@ CreateAdditionalSurfaces(IDirectDrawImpl *This, return DD_OK; }
-/***************************************************************************** - * ddraw_attach_d3d_device - * - * Initializes the D3D capabilities of WineD3D - * - * Params: - * primary: The primary surface for D3D - * - * Returns - * DD_OK on success, - * DDERR_* otherwise - * - *****************************************************************************/ -static HRESULT ddraw_attach_d3d_device(IDirectDrawImpl *ddraw, IDirectDrawSurfaceImpl *primary, +static HRESULT ddraw_attach_d3d_device(IDirectDrawImpl *ddraw, WINED3DPRESENT_PARAMETERS *presentation_parameters) { HWND window = presentation_parameters->hDeviceWindow; HRESULT hr;
- TRACE("ddraw %p, primary %p.\n", ddraw, primary); + TRACE("ddraw %p.\n", ddraw);
if (!window || window == GetDesktopWindow()) { @@ -2565,9 +2552,6 @@ static HRESULT ddraw_attach_d3d_device(IDirectDrawImpl *ddraw, IDirectDrawSurfac } ddraw->d3d_window = window;
- /* Store the future Render Target surface */ - ddraw->d3d_target = primary; - /* Set this NOW, otherwise creating the depth stencil surface will cause a * recursive loop until ram or emulated video memory is full. */ ddraw->d3d_initialized = TRUE; @@ -2597,7 +2581,6 @@ static HRESULT ddraw_attach_d3d_device(IDirectDrawImpl *ddraw, IDirectDrawSurfac static HRESULT ddraw_create_swapchain(IDirectDrawImpl *ddraw, IDirectDrawSurfaceImpl *surface) { WINED3DPRESENT_PARAMETERS presentation_parameters; - IDirectDrawSurfaceImpl *target = surface; struct wined3d_display_mode mode; HRESULT hr = WINED3D_OK;
@@ -2612,12 +2595,6 @@ static HRESULT ddraw_create_swapchain(IDirectDrawImpl *ddraw, IDirectDrawSurface return hr; }
- if (ddraw->primary) - { - TRACE("Using primary %p.\n", ddraw->primary); - target = ddraw->primary; - } - memset(&presentation_parameters, 0, sizeof(presentation_parameters)); presentation_parameters.BackBufferWidth = mode.width; presentation_parameters.BackBufferHeight = mode.height; @@ -2635,8 +2612,7 @@ static HRESULT ddraw_create_swapchain(IDirectDrawImpl *ddraw, IDirectDrawSurface * target creation will cause the 3D init. */ if (DefaultSurfaceType == SURFACE_OPENGL) { - TRACE("Attaching a D3DDevice, rendertarget = %p.\n", target); - hr = ddraw_attach_d3d_device(ddraw, target, &presentation_parameters); + hr = ddraw_attach_d3d_device(ddraw, &presentation_parameters); } else if (surface->surface_desc.ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE) { @@ -3061,6 +3037,9 @@ static HRESULT CreateSurface(IDirectDrawImpl *ddraw, DDSURFACEDESC2 *DDSD, wined3d_mutex_unlock(); return hr; } + + if (DefaultSurfaceType == SURFACE_OPENGL) + ddraw->d3d_target = ddraw->primary ? ddraw->primary : object; }
if (desc2.ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE)