Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
d3d9_debugging [2014/10/09 21:31] okias software rendering |
d3d9_debugging [2022/07/11 10:41] (current) |
||
---|---|---|---|
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. | ||
- | < | + | < |
* **-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 |
* **-gdwarf-2, | * **-gdwarf-2, | ||
+ | * you can also add **-pg** for profiling. Beware - may cause compilation issues. | ||
Also configure Mesa-3D with < | Also configure Mesa-3D with < | ||
Line 14: | Line 15: | ||
A problem can be located in either wine or Mesa. | A problem can be located in either wine or Mesa. | ||
- | If it's in mesa, you'll need to use | + | If it's in mesa, you'll need to use [[https:// |
- | * the **NINE_DEBUG** variable, to know what the D3D9 ST is doing. Pass **NINE_DEBUG=help** | + | |
- | * the **NINE_TGSI_DUMP=1** variable | + | when you comparing logs from ALWAYS_SOFTWARE, is handy to get rid of different addr for diff, with this helps you |
- | * 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// | + | '' |
For wine, **WINEDEBUG**=+d3dadapter9, | For wine, **WINEDEBUG**=+d3dadapter9, | ||
- | To get rid of annoying dbghelp warnings pass // | ||
You also may be interested in apitrace. | You also may be interested in apitrace. | ||
Line 27: | Line 28: | ||
== APITrace == | == APITrace == | ||
{{ : | {{ : | ||
+ | * **For apitrace to work, you need to use the no_external_dll branch of iXit/ | ||
* 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 | ||
- | | + | When uploading APITrace .trace file, please repack it with brotli (best compression -> '' |
- | * [[http:// | + | |
+ | * [[http:// |