From c868e8040aa89ef3a69b3ab3ba321419053d32de Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Fonseca?= Date: Fri, 26 Nov 2010 11:28:55 +0000 Subject: [PATCH] Update doc. --- README | 89 ++++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 59 insertions(+), 30 deletions(-) diff --git a/README b/README index a3fda3c..45487d4 100644 --- a/README +++ b/README @@ -1,9 +1,9 @@ - API Trace + API Trace & Retrace = Copyright = -Copyright 2008-2009 VMware, Inc. +Copyright 2008-2010 VMware, Inc. All Rights Reserved. Permission is hereby granted, free of charge, to any person obtaining a copy @@ -27,57 +27,86 @@ THE SOFTWARE. = About = -Wrapper DLLs to trace D3D8, D3D9, and OpenGL APIs calls. - -Based on the idea from Michael Koch. - -See also: -* http://www.mikoweb.eu/index.php?node=21 -* http://www.codeguru.com/cpp/g-m/directx/directx8/article.php/c11453/ -* http://doc.51windows.net/Directx9_SDK/?url=/directx9_sdk/graphics/programmingguide/TutorialsAndSamplesAndToolsAndTips/Tools/D3DSpy.htm +Wrapper DLLs to trace OpenGL, D3D8, and D3D9 APIs calls. = Status = -* Only Direct3D 8 and 9 are supported at the moment. +* Direct3D 8 and 9 are broken at the moment. * It has not been tested with many applications. Bugs may cause the application to crash. = Building from source = +Common requirements: +* Python (tested with version 2.6) +* CMake (tested with version 2.8) + +== Linux == -== MSVC == +Build as: + + cmake -H. -Bbuild + make -C build + +== Windows == Requirements: -* Python (tested with version 2.5) -* SCons (tested with 0.98.4) -* Microsoft Visual Studio (tested with 2005 version) +* Microsoft Visual Studio (tested with 2008 version) or MinGW (tested with gcc version 4.4) * Microsoft DirectX SDK (tested with August 2007 release) -Instructions: - -* Invoke scons: +To build with Visual Studio invoke CMake as: - scons debug=no dxsdk=C:\DXSDK + cmake -G "Visual Studio 9 2008" -H%CD% -B%CD%\build + cmake --build %CD%\build --config MinSizeRel +It's also possible to build on Linux with MinGW cross compilers. See +http://www.cmake.org/Wiki/CmakeMingw for detailed instructions. -== MinGW crosscompiler == -Requirements: -* apt-get install mingw32 += Usage = -Intructions: +== Linux == - scons platform=windows machine=x86 toolchain=crossmingw opengl32.dll +* Run the application you want to trace as + LD_PRELOAD=path/to/glxtrace.so path/to/application -= Usage = +* View the trace with + + path/to/dump application.trace + +* Replay the trace with -* Copy d3d8.dll, d3d9.dll, or opengl32.dll and apitrace.xsl to the directory with the application you want to trace. + path/to/glretrace application.trace + + +== Windows == + +* Copy opengl32.dll, d3d8.dll, or d3d9.dll to the directory with the application you want to trace. * Run the application. -* Decompress the output .xml.gz and open the XML with Firefox or Internet Explorer to view the log. On Firefox hover on the arguments to see their contents. -* For long XML files is better to use xml2txt.py script directly on the .xml.gz file, as: +* View the trace with + + path/to/dump application.trace + +* Replay the trace with + + path/to/glretrace application.trace + + += Related Links = + +* http://jrfonseca.blogspot.com/2008/07/tracing-d3d-applications.html + +== Direct3D == + + * [http://www.mikoweb.eu/index.php?node=21 Proxy DLL] + * [http://www.codeguru.com/cpp/g-m/directx/directx8/article.php/c11453/ Intercept Calls to DirectX with a Proxy DLL] + * [http://doc.51windows.net/Directx9_SDK/?url=/directx9_sdk/graphics/programmingguide/TutorialsAndSamplesAndToolsAndTips/Tools/D3DSpy.htm D3DSpy] + * [http://msdn.microsoft.com/en-us/library/ee417062.aspx PIX] - python xml2txt.py d3d9.xml.gz > d3d9.log +== OpenGL == -See also http://jrfonseca.blogspot.com/2008/07/tracing-d3d-applications.html + * [http://www.opengl.org/sdk/tools/BuGLe/ BuGLe] + * [http://glintercept.nutty.org/ GLIntercept] + * [http://www.gremedy.com/products.php gDEBugger] -- 2.43.0