Henri Verbeet : wined3d: Don' t free D3D surfaces until the wined3d surface is destroyed.
Alexandre Julliard
julliard at winehq.org
Wed Sep 16 15:59:45 CDT 2009
Module: wine
Branch: master
Commit: a5214c306fd82982ed10fd8221ac00230186c9a6
URL: http://source.winehq.org/git/wine.git/?a=commit;h=a5214c306fd82982ed10fd8221ac00230186c9a6
Author: Henri Verbeet <hverbeet at codeweavers.com>
Date: Wed Sep 16 08:37:15 2009 +0200
wined3d: Don't free D3D surfaces until the wined3d surface is destroyed.
This prevents for example a d3d9 depth stencil from being destroyed when it
has no external references but is still in use by the device/stateblock. A
nice side effect is that it simplifies handling of "implicit" surfaces like
the frontbuffer and backbuffers, as well as the forwarding of reference counts
for surfaces that are part of a texture.
---
dlls/d3d10core/device.c | 6 ++
dlls/d3d10core/texture2d.c | 21 +++++++-
dlls/d3d8/cubetexture.c | 2 +-
dlls/d3d8/d3d8_private.h | 6 --
dlls/d3d8/device.c | 23 +++-----
dlls/d3d8/directx.c | 20 -------
dlls/d3d8/surface.c | 31 ++++++++---
dlls/d3d8/swapchain.c | 2 +-
dlls/d3d8/texture.c | 2 +-
dlls/d3d9/cubetexture.c | 2 +-
dlls/d3d9/d3d9_private.h | 6 --
dlls/d3d9/device.c | 22 +++-----
dlls/d3d9/directx.c | 20 -------
dlls/d3d9/surface.c | 31 ++++++++---
dlls/d3d9/swapchain.c | 2 +-
dlls/d3d9/texture.c | 2 +-
dlls/ddraw/ddraw.c | 109 ++++++++--------------------------------
dlls/ddraw/ddraw_private.h | 3 -
dlls/ddraw/main.c | 4 --
dlls/ddraw/surface.c | 9 +++-
dlls/dxgi/swapchain.c | 14 +-----
dlls/wined3d/cubetexture.c | 13 +++--
dlls/wined3d/device.c | 31 ++++-------
dlls/wined3d/directx.c | 18 +++----
dlls/wined3d/surface.c | 6 ++-
dlls/wined3d/surface_base.c | 4 +-
dlls/wined3d/swapchain.c | 11 ++--
dlls/wined3d/swapchain_base.c | 2 +-
dlls/wined3d/swapchain_gdi.c | 13 +++--
dlls/wined3d/texture.c | 13 +++--
dlls/wined3d/wined3d_private.h | 6 +-
include/wine/wined3d.idl | 13 +++--
32 files changed, 188 insertions(+), 279 deletions(-)
Diff: http://source.winehq.org/git/wine.git/?a=commitdiff;h=a5214c306fd82982ed10fd8221ac00230186c9a6
More information about the wine-cvs
mailing list