d3d [1]: Pass the superior creating object down to the callback
functions.
Markus Amsler
markus.amsler at oribi.org
Sun Dec 3 14:52:03 CST 2006
This allows making refcount/container handling independant from wined3d.
Patches 2-6 adds callbacks to destroy implicit objects. Not all implicit
objects are destroyed if refcount reaches 0, so we need some way to
force destruction. I found callbacks symmetric (we create implicit
objects with callbacks), and relative simple. If someone has a better
idea, let me know.
Patches 7-8 make d3d8 independent of GetContainerParent (and fixes one
todo_wine). Containers are handled slightly different in d3d8 and d3d9,
so the idea is to move container handling to d3dx.
Patch 9 fixes all d3d8 implicit refcount issues I know of. It also fixes
bug 5872.
My next steps are:
1. forwardport patch 7-9 to d3d9.
2. remove GetContainerParent in wined3d.
3. move container handling to d3dx.
4. remove GetContainer/SetContainer in wined3d.
---
dlls/d3d8/d3d8_private.h | 8 ++++----
dlls/d3d8/device.c | 2 +-
dlls/d3d8/directx.c | 4 ++--
dlls/d3d8/volume.c | 2 +-
dlls/d3d9/d3d9_private.h | 8 ++++----
dlls/d3d9/device.c | 2 +-
dlls/d3d9/directx.c | 4 ++--
dlls/d3d9/volume.c | 2 +-
dlls/ddraw/ddraw.c | 5 ++++-
dlls/wined3d/device.c | 9 ++++++---
include/wine/wined3d_interface.h | 4 ++++
11 files changed, 30 insertions(+), 20 deletions(-)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 9a43c968b46803802d44cccbd06ac8e6328d87a1.diff
Type: text/x-patch
Size: 16291 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20061203/2edd97b2/9a43c968b46803802d44cccbd06ac8e6328d87a1.bin
More information about the wine-patches
mailing list