]> git.cworth.org Git - apitrace/blobdiff - retrace/d3dcommonretrace.py
d3dretrace: Basic D3D11 snap-shooting.
[apitrace] / retrace / d3dcommonretrace.py
index add1a5040a87710615ac02e89e1921ced48524a5..d3d68d1584ebe04bf661889e7f4ed6d06a64cbeb 100644 (file)
@@ -63,8 +63,11 @@ class D3DRetracer(Retracer):
 
     def invokeInterfaceMethod(self, interface, method):
         # keep track of the last used device for state dumping
-        #if interface.name in ('IDirect3DDevice9', 'IDirect3DDevice9Ex'):
-        #    print r'    d3dretrace::pLastDirect3DDevice9 = _this;'
+        if interface.name in ('ID3D11DeviceContext',):
+            if method.name == 'Release':
+                print r'    d3d11Dumper.unbindDevice(_this);'
+            else:
+                print r'    d3d11Dumper.bindDevice(_this);'
 
         # create windows as neccessary
         if method.name == 'CreateSwapChain':
@@ -135,7 +138,12 @@ def main():
             print '#include <d3d11_1.h>'
             import specs.d3d11_1
         print r'#include "d3d11size.hpp"'
+        print r'#include "d3dstate.hpp"'
         api.addModule(d3d11)
+        
+        print
+        print '''static d3dretrace::D3DDumper<ID3D11DeviceContext> d3d11Dumper;'''
+        print
 
     retracer = D3DRetracer()
     retracer.retraceApi(api)