X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=retrace%2Fd3dretrace_main.cpp;h=9878fe3c87b059690527f6c6e44f523d72f4880d;hb=4df046ad326e72956168d77ed9493b6a50f229f6;hp=6035e77b544bd221f201de3fabefbabca240082c;hpb=f6b0dfe46e320daa8f59b935372223ba0308b2ce;p=apitrace diff --git a/retrace/d3dretrace_main.cpp b/retrace/d3dretrace_main.cpp index 6035e77..9878fe3 100644 --- a/retrace/d3dretrace_main.cpp +++ b/retrace/d3dretrace_main.cpp @@ -40,7 +40,13 @@ d3dretrace::pLastDirect3DDevice9 = NULL; void retrace::setUp(void) { if (retrace::debug) { - g_szD3D9DllName = "d3d9d.dll"; + /* + * XXX: D3D9D only works for simple things, it often introduces errors + * on complex traces, or traces which use unofficial D3D9 features. + */ + if (0) { + g_szD3D9DllName = "d3d9d.dll"; + } } } @@ -65,7 +71,13 @@ retrace::getSnapshot(void) { bool retrace::dumpState(std::ostream &os) { - return false; + if (!d3dretrace::pLastDirect3DDevice9) { + return false; + } + + d3dstate::dumpDevice(os, d3dretrace::pLastDirect3DDevice9); + + return true; } @@ -75,6 +87,7 @@ retrace::flushRendering(void) { void retrace::waitForInput(void) { + /* TODO */ } void