]> git.cworth.org Git - apitrace/commitdiff
d3dretrace: Eliminate dependencies from d3d9state.
authorJosé Fonseca <jose.r.fonseca@gmail.com>
Sun, 11 Nov 2012 09:45:06 +0000 (09:45 +0000)
committerJosé Fonseca <jose.r.fonseca@gmail.com>
Sun, 11 Nov 2012 09:45:06 +0000 (09:45 +0000)
retrace/CMakeLists.txt
retrace/d3d9retrace.py
retrace/d3dcommonretrace.py
retrace/d3dretrace.hpp
retrace/d3dretrace_main.cpp

index 1f260e425dfbb94656c82ed36818643959ad2a48..0999436d98fe1fd055e14af9ecb9a8d9a3df6936 100644 (file)
@@ -187,8 +187,6 @@ if (WIN32 AND DirectX_D3D10_INCLUDE_DIR)
         d3dretrace_main.cpp
         d3dretrace_d3d10.cpp
         d3dretrace_ws.cpp
-        d3d9state.cpp
-        d3d9state_images.cpp
     )
     target_link_libraries (d3d10retrace
         retrace_common
@@ -223,8 +221,6 @@ if (WIN32 AND DirectX_D3D10_1_INCLUDE_DIR)
         d3dretrace_main.cpp
         d3dretrace_d3d10_1.cpp
         d3dretrace_ws.cpp
-        d3d9state.cpp
-        d3d9state_images.cpp
     )
     target_link_libraries (d3d10_1retrace
         retrace_common
@@ -259,8 +255,6 @@ if (WIN32 AND DirectX_D3D11_INCLUDE_DIR)
         d3dretrace_main.cpp
         d3dretrace_d3d11.cpp
         d3dretrace_ws.cpp
-        d3d9state.cpp
-        d3d9state_images.cpp
     )
     target_link_libraries (d3d11retrace
         retrace_common
index fd265ca50d31c1dbb15c74eb66b1702f15287d72..0564c0040989f0074f31ab8a6377f94cf7dd240c 100644 (file)
@@ -34,14 +34,38 @@ from specs.d3d9 import *
 
 class D3DRetracer(Retracer):
 
-    def retraceModule(self, api):
+    def retraceApi(self, api):
+        print '''
+static IDirect3DDevice9 *
+pLastDirect3DDevice9 = NULL;
+
+image::Image *
+retrace::getSnapshot(void) {
+    if (!pLastDirect3DDevice9) {
+        return NULL;
+    }
+    return d3dstate::getRenderTargetImage(pLastDirect3DDevice9);
+}
+
+
+bool
+retrace::dumpState(std::ostream &os)
+{
+    if (!pLastDirect3DDevice9) {
+        return false;
+    }
+    d3dstate::dumpDevice(os, pLastDirect3DDevice9);
+    return true;
+}
+'''
+
         print '// Swizzling mapping for lock addresses'
         print 'static std::map<void *, void *> _maps;'
         print
 
         self.table_name = 'd3dretrace::d3d_callbacks'
 
-        Retracer.retraceModule(self, api)
+        Retracer.retraceApi(self, api)
 
     def invokeFunction(self, function):
         if function.name in ('Direct3DCreate9', 'Direct3DCreate9Ex'):
@@ -60,7 +84,7 @@ 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;'
+            print r'    pLastDirect3DDevice9 = _this;'
 
         # create windows as neccessary
         if method.name in ('CreateDevice', 'CreateDeviceEx', 'CreateAdditionalSwapChain'):
@@ -120,6 +144,7 @@ if __name__ == '__main__':
 #include "d3d9imports.hpp"
 #include "d3d9size.hpp"
 #include "d3dretrace.hpp"
+#include "d3d9state.hpp"
 
 '''
 
index 75262c2c62a1457db7dbb677d82a8cf7be640c6a..bef1d0993f1454b361a1c5a679fd5baaa7569cea 100644 (file)
@@ -33,14 +33,28 @@ import specs.stdapi as stdapi
 
 class D3DRetracer(Retracer):
 
-    def retraceModule(self, api):
+    def retraceApi(self, api):
+        print '''
+image::Image *
+retrace::getSnapshot(void) {
+    return NULL;
+}
+
+
+bool
+retrace::dumpState(std::ostream &os)
+{
+    return false;
+}
+'''
+
         print '// Swizzling mapping for lock addresses'
         print 'static std::map<void *, void *> _maps;'
         print
 
         self.table_name = 'd3dretrace::d3d_callbacks'
 
-        Retracer.retraceModule(self, api)
+        Retracer.retraceApi(self, api)
 
     def invokeFunction(self, function):
         # create windows as neccessary
index dc174a83bc49c1e233b6404e06ff3bbea847d8e3..1ce7b580e06f65170f7809543a3b0054ebd9710a 100644 (file)
 #include "retrace.hpp"
 
 
-struct IDirect3DDevice9;
-
-
 namespace d3dretrace {
 
 
-extern IDirect3DDevice9 *pLastDirect3DDevice9;
-
-
 extern const retrace::Entry d3d_callbacks[];
 
 
index a19511a0439e29f8df336c94a36a138faa79411d..3308b58cf5d9c52a809ebba5dd08a23a9f70558c 100644 (file)
 #include "d3dretrace.hpp"
 
 
-IDirect3DDevice9 *
-d3dretrace::pLastDirect3DDevice9 = NULL;
-
-
 void
 retrace::setUp(void) {
 }
@@ -49,29 +45,6 @@ retrace::addCallbacks(retrace::Retracer &retracer)
 }
 
 
-image::Image *
-retrace::getSnapshot(void) {
-    if (!d3dretrace::pLastDirect3DDevice9) {
-        return NULL;
-    }
-
-    return d3dstate::getRenderTargetImage(d3dretrace::pLastDirect3DDevice9);
-}
-
-
-bool
-retrace::dumpState(std::ostream &os)
-{
-    if (!d3dretrace::pLastDirect3DDevice9) {
-        return false;
-    }
-
-    d3dstate::dumpDevice(os, d3dretrace::pLastDirect3DDevice9);
-
-    return true;
-}
-
-
 void
 retrace::flushRendering(void) {
 }