]> git.cworth.org Git - apitrace/blobdiff - retrace/d3d9retrace.py
WGL: Support float-based attrib_list parameters.
[apitrace] / retrace / d3d9retrace.py
index ccd8a723e98a9c68f6abcb788d3b4cb9c7b8ab60..d7f86c4f85b5fd285c2622113d4f6b01fca659ac 100644 (file)
@@ -59,12 +59,16 @@ class D3DRetracer(Retracer):
         # keep track of the last used device for state dumping
         if interface.name in ('IDirect3DDevice9', 'IDirect3DDevice9Ex'):
             if method.name == 'Release':
-                print r'    d3d9Dumper.unbindDevice(_this);'
+                print r'    if (call.ret->toUInt() == 0) {'
+                print r'        d3d9Dumper.unbindDevice(_this);'
+                print r'    }'
             else:
                 print r'    d3d9Dumper.bindDevice(_this);'
         if interface.name in ('IDirect3DDevice8', 'IDirect3DDevice8Ex'):
             if method.name == 'Release':
-                print r'    d3d8Dumper.unbindDevice(_this);'
+                print r'    if (call.ret->toUInt() == 0) {'
+                print r'        d3d8Dumper.unbindDevice(_this);'
+                print r'    }'
             else:
                 print r'    d3d8Dumper.bindDevice(_this);'
 
@@ -121,7 +125,6 @@ class D3DRetracer(Retracer):
         # process events after presents
         if method.name == 'Present':
             print r'    d3dretrace::processEvents();'
-            print r'    Sleep(500);'
 
         if method.name in ('Lock', 'LockRect', 'LockBox'):
             print '    VOID *_pbData = NULL;'