mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 06:48:06 +02:00
aco: Add some useful info to the README for debugging.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com> Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12748>
This commit is contained in:
parent
c10cb38a5c
commit
536580b139
1 changed files with 20 additions and 0 deletions
|
|
@ -242,6 +242,26 @@ Note that you need to **combine these options into a comma-separated list**, for
|
|||
RADV_DEBUG=nocache,shaders ACO_DEBUG=validateir,validatera vkcube
|
||||
```
|
||||
|
||||
### Using GCC sanitizers
|
||||
|
||||
GCC has several sanitizers which can help figure out hard to diagnose issues. To use these, you need to pass
|
||||
the `-Dbsanitize` flag to `meson` when building mesa. For example `-Dbsanitize=undefined` will add support for
|
||||
the undefined behavior sanitizer.
|
||||
|
||||
### Hardened builds and glibc++ assertions
|
||||
|
||||
Several Linux distributions use "hardened" builds meaning several special compiler flags are added by
|
||||
downstream packaging which are not used in mesa builds by default. These may be responsible for
|
||||
some bug reports of inexplicable crashes with assertion failures you can't reproduce.
|
||||
|
||||
Most notable are the glibc++ debug flags, which you can use by adding the `-D_GLIBCXX_ASSERTIONS=1` and
|
||||
`-D_GLIBCXX_DEBUG=1` flags.
|
||||
|
||||
To see the full list of downstream compiler flags, you can use eg. `rpm --eval "%optflags"`
|
||||
on Red Hat based distros like Fedora.
|
||||
|
||||
### Good practices
|
||||
|
||||
Here are some good practices we learned while debugging visual corruption and hangs.
|
||||
|
||||
1. Bisecting shaders:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue