A collection of scripts to build and test Mesa without installing it.
- nj - Run ninja from anywhere in the project git repository. (upstream: nj repo)
- mesa-run - helper script. Not used directly.
- mesa-debug - Debug build
- mesa-debug-asan - Debug build with AddressSanitizer
- mesa-debug-optimized - Debug build with optimization
- mesa-release - Release build
- mesa-gdb - Wrapper around
mesa-debugthat invokesgdb - deqp-run - Run dEQP test suites
- deqp-results-to-markdown - Generate Markdown table of dEQP test suite results
$ make installThis creates symlinks in ~/.local/bin (or $XDG_BIN_HOME if set). To uninstall:
$ make uninstallThe following environment variables can be set to customize behavior:
| Variable | Values | Default | Description |
|---|---|---|---|
MESA_SRCDIR |
path | ~/projects/mesa |
Mesa source directory |
MESA_GPU |
intel, amd |
intel |
GPU driver to build (x86_64 only) |
MESA_CC |
gcc, clang |
gcc |
C/C++ compiler |
MESA_LD |
bfd, mold, lld |
bfd |
Linker |
MESA_LLVM_VERSION |
version number | auto-detected | LLVM major version |
$ mesa-debug configure
$ nj debug install$ mesa-debug glxinfoOn ChromeOS, deqp-run uses the system-provided media-gfx/deqp package. The script should be run from a directory that has space to store the output such as /mnt/stateful_partition/home/root/.
On desktop Linux, deqp-run should be run from a git checkout of VK-GL-CTS with a build configured with -DDEQP_TARGET=surfaceless in build/.
$ deqp-run dEQP-VK.graphicsfuzz.spv-stable-pillars-volatile-nontemporal-store$ deqp-run vk$ deqp-run --cmd vk
deqp-runner run --caselist [...]Particularly useful for running a single test under gdb:
$ mesa-gdb $(deqp-run --cmd dEQP-VK.graphicsfuzz.spv-stable-pillars-volatile-nontemporal-store)$ deqp-results-to-markdown| Pass | Fail | Skip | Warn | Timeout | Flake | |
|---|---|---|---|---|---|---|
| dEQP-GLES2 | 14243 | 26 | ||||
| dEQP-GLES3 | 42687 | 113 | 2 | |||
| dEQP-GLES31 | 37576 | 55 | ||||
| dEQP-VK | 486602 | 2 | 590787 | 6 | 2 | 1 |