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/03/15 14:27]
okias zhasha on irc quotes
d3d9_debugging [2022/07/11 10:41] (current)
Line 1: Line 1:
 ====== How to debug D3D9 ====== ====== How to debug D3D9 ======
  
-It depends on issueyou need to figure outwhere is problem. +Compile both Mesa-3D and Wine with **CFLAGS** and **CXXFLAGS** set to debug. 
-If it's in mesa, you'll need use NINE_DEBUG variable, to know what D3D9 ST doing+ 
-For wine, WINEDEBUG=+d3dadapter9,+d3d9 should be enough.+<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) 
 +  * **-ggdb-g** adds debug information to code 
 +  * **-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> 
 + 
 +Make **sure**, you have **disabled striping debug symbols** if you are using distribution packages, ebuild or AUR. 
 + 
 +problem can be located in either wine or Mesa
 +If it's in mesa, you'll need to use [[https://docs.mesa3d.org/envvars.html#nine-frontend-environment-variables]] 
 + 
 +when you comparing logs from ALWAYS_SOFTWAREis handy to get rid of different addr for diff, with this helps you 
 + 
 +''sed -i -e "s/0x[0-f]*/0x0/g" logfile.log*'' 
 + 
 +For wine, **WINEDEBUG**=+d3dadapter9,+d3d9 should be enough
 + 
 + 
 +You also may be interested in apitrace.
  
-You maybe also interested in apitrace [[https://github.com/apitrace/apitrace]]. 
 == APITrace == == APITrace ==
-  * For debugging Windows application you'll need APITrace compiled for Windows +{{ :apitrace.png?direct&500|}} 
-  * Windows version is almost always required for replaying+  * **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 
 +  * The Windows version is almost always required for replaying 
 + 
 +When uploading APITrace .trace file, please repack it with brotli (best compression -> ''apitrace repack -b your_app.trace your_app-brotli.trace''
 +  * [[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]]