d3d [1]: Callback infrastructure for implicit surface destruction in IWineD3DTexture.

Markus Amsler markus.amsler at oribi.org
Mon Dec 4 17:28:58 CST 2006


Resend, this time with non-optional callbacks.

Original comment:

Patches 1-5 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 6-7 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 8 fixes all d3d8 implicit refcount issues I know of. It also fixes 
bug 5872.

My next steps are:
   1. forwardport patch 6-8 to d3d9.
   2. remove GetContainerParent in wined3d.
   3. move container handling to d3dx.
   4. remove GetContainer/SetContainer in wined3d.
---
   dlls/wined3d/directx.c           |   10 ++++++++
   dlls/wined3d/texture.c           |   43
+++++++++++++++++++------------------
   dlls/wined3d/wined3d_private.h   |    3 ++
   include/wine/wined3d_interface.h |    7 ++++++
   4 files changed, 42 insertions(+), 21 deletions(-)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: b07fae4a87a37de6967ec21adf7ef1f6c51aa43c.diff
Type: text/x-patch
Size: 6956 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20061205/f66c0edc/b07fae4a87a37de6967ec21adf7ef1f6c51aa43c-0001.bin


More information about the wine-patches mailing list