Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
d3d9_debugging [2014/10/25 15:44]
okias
d3d9_debugging [2015/11/26 02:39]
sarnex update to new wine
Line 3: Line 3:
 Compile both Mesa-3D and Wine with **CFLAGS** and **CXXFLAGS** set to debug. Compile both Mesa-3D and Wine with **CFLAGS** and **CXXFLAGS** set to debug.
  
-<code>CFLAGS="-Og -ggdb -pg -g -gdwarf-2 -gstrict-dwarf" CXXFLAGS="${CFLAGS}"</code>+<code>CFLAGS="-Og -ggdb -g -gdwarf-2 -gstrict-dwarf" CXXFLAGS="${CFLAGS}"</code>
  
   * **-Og** is better than -O0 and disable optimalization which interferes with debug (gcc >= 4.8)   * **-Og** is better than -O0 and disable optimalization which interferes with debug (gcc >= 4.8)
-  * **-ggdb, -pg, -g** adds debug information to code +  * **-ggdb, -g** adds debug information to code
-    * * if wine build fails, rebuild after removing -pg+
   * **-gdwarf-2, -gstrict-dwarf** limit DWARF version to 2. It's necessary for both, because wine support is limited to version 2.   * **-gdwarf-2, -gstrict-dwarf** limit DWARF version to 2. It's necessary for both, because wine support is limited to version 2.
 +  * you can also add **-pg** for profiling. Beware - may cause compilation issues.
  
 Also configure Mesa-3D with <code>--enable-debug</code> Also configure Mesa-3D with <code>--enable-debug</code>
Line 18: Line 18:
   * the **NINE_DEBUG** variable, to know what the D3D9 ST is doing. Pass **NINE_DEBUG=help** to get all options.   * the **NINE_DEBUG** variable, to know what the D3D9 ST is doing. Pass **NINE_DEBUG=help** to get all options.
   * the **NINE_TGSI_DUMP=1** variable for dumping generated TGSI code.   * the **NINE_TGSI_DUMP=1** variable for dumping generated TGSI code.
 +  * the **NINE_FF_DUMP=1** variable for dumping shader generated by fixed function (ff)
   * the **TGSI_PRINT_SANITY=1** variable will precisely check TGSI and assert in case of errors   * the **TGSI_PRINT_SANITY=1** variable will precisely check TGSI and assert in case of errors
   * the **D3D_ALWAYS_SOFTWARE=1** will run it on CPU instead of GPU... //extremly slow//   * the **D3D_ALWAYS_SOFTWARE=1** will run it on CPU instead of GPU... //extremly slow//
Line 32: Line 33:
 == APITrace == == APITrace ==
 {{ :apitrace.png?direct&500|}} {{ :apitrace.png?direct&500|}}
 +  * **For apitrace to work, you need to use the no_external_dll branch of iXit/wine!**
   * For debugging Windows applications you'll need to use APITrace compiled for Windows   * For debugging Windows applications you'll need to use APITrace compiled for Windows
   * The Windows version is almost always required for replaying   * The Windows version is almost always required for replaying
  
-  * [[https://github.com/apitrace/apitrace|Code on github]] +When uploading APITrace .trace file, please compress it with xz (best compression -> ''xz -9e your_app.trace''
-  * [[http://people.freedesktop.org/~jrfonseca/apitrace/|Build for Windows]]+  * **We have dedicated server space for APITrace files, contact sarnex or okias on IRC for more information.** 
 +  * [[https://github.com/apitrace/apitrace/wiki/WINE#windows-native|Wine HOWTO]] 
 +  * [[http://people.freedesktop.org/~jrfonseca/apitrace/apitrace-msvc-latest.7z|Build suitable for Wine]]