]> git.cworth.org Git - apitrace/blobdiff - README
More compact struct representation.
[apitrace] / README
diff --git a/README b/README
index 935ce60ca3ba30e0b6429ab9ca5bd9b142857f5a..45487d47ab6e31a4dc9a4684a6cd8264dfee228d 100644 (file)
--- a/README
+++ b/README
-                                  D3D Trace
+                             API Trace & Retrace
 
 
 = Copyright =
 
-Copyright 2008 Jose Fonseca, Tungsten Graphics, Inc.
+Copyright 2008-2010 VMware, Inc.
+All Rights Reserved.
 
-This program is free software: you can redistribute it and/or modify it
-under the terms of the GNU Lesser General Public License as published
-by the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
 
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU Lesser General Public License for more details.
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
 
-You should have received a copy of the GNU Lesser General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
 
 
 = About =
 
-Wrapper DLLs to trace D3D8 and D3D9 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 ==
+
+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:
+To build with Visual Studio invoke CMake as:
 
-* Invoke scons:
-
- scons debug=no dxsdk=C:\DXSDK
+ cmake -G "Visual Studio 9 2008" -H%CD% -B%CD%\build
+ cmake --build %CD%\build --config MinSizeRel
  
-* You can write those options to a file named config.py:
+It's also possible to build on Linux with MinGW cross compilers.  See
+http://www.cmake.org/Wiki/CmakeMingw for detailed instructions.
 
- # config.py
- debug=1
- dxsdk='C:\\DXSDK'
-* Invoke
 
-  scons -h
+= Usage =
+
+== Linux ==
 
-See the scons manpage for more info.
+* 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
 
-* Copy d3d8.dll/d3d9.dll, d3dtrace.xsl, d3dtrace.css to the directory with the application you want to trace.
+* Replay the trace with
+
+ 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.
-* Open the output XML file with Firefox or Internet Explorer to view the log.
-* For long XML files is better to use the d3dtrace-txt.xsl stylesheet together with a dedicated XSL processor like xsltproc, or msxsl.
+* 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]
 
+== OpenGL ==
 
+ * [http://www.opengl.org/sdk/tools/BuGLe/ BuGLe]
+ * [http://glintercept.nutty.org/ GLIntercept]
+ * [http://www.gremedy.com/products.php gDEBugger]