X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;ds=sidebyside;f=retrace%2Fd3d9retrace.py;h=d7f86c4f85b5fd285c2622113d4f6b01fca659ac;hb=712cc1db47e56a1032dc72d4209ffc9054ec54e4;hp=ccd8a723e98a9c68f6abcb788d3b4cb9c7b8ab60;hpb=c63f0d37aa060b595d0040c53522e48e6b444a83;p=apitrace diff --git a/retrace/d3d9retrace.py b/retrace/d3d9retrace.py index ccd8a72..d7f86c4 100644 --- a/retrace/d3d9retrace.py +++ b/retrace/d3d9retrace.py @@ -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;'