mesa/src/intel/tools
Casey Bowman db34a92c48 intel/tools: Add xe3p format for intel_monitor
The kernel uses an updated buffer format for xe3p gpus when EU stall
sampling, so this updates intel_monitor to use the correct formatting,
leaving room for any future formatting updates.

This also addresses an issue with not packing the formatted structure
with the correct macro, which lead to incorrect offsets being used for
parsing the buffer.

BSpec: 79847

v2: Add BSpec reference number, suggested by Lionel

Signed-off-by: Casey Bowman <casey.g.bowman@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40622>
2026-03-26 07:31:09 +00:00
..
imgui
aub_mem.c
aub_mem.h
aub_read.c
aub_read.h
aub_write.c treewide: Replace calling to function ALIGN with align 2025-11-12 21:58:40 +00:00
aub_write.h
aubinator.c intel/tools: Fix batch buffer decoder 2025-05-01 13:27:44 +00:00
aubinator_error_decode.c treewide: don't check before free 2025-10-15 23:01:33 +00:00
aubinator_error_decode_lib.c
aubinator_error_decode_lib.h
aubinator_error_decode_xe.c intel/tools: Handle new replay properties in the Xe KMD error dump file 2026-01-07 19:16:25 +00:00
aubinator_error_decode_xe.h
aubinator_viewer.cpp intel/tools: Add helpers for decoder_init/disasm 2025-01-30 00:45:59 +00:00
aubinator_viewer.h brw: Move into a new src/intel/compiler/brw subdirectory 2025-10-09 07:01:47 +00:00
aubinator_viewer_decoder.cpp
aubinator_viewer_urb.h
error2aub.c intel/tools: move ascii85_decode to common code 2025-04-02 19:26:55 +00:00
error2hangdump.c intel/tools: Handle new replay properties in the Xe KMD error dump file 2026-01-07 19:16:25 +00:00
error2hangdump_lib.c intel/tools: Handle new replay properties in the Xe KMD error dump file 2026-01-07 19:16:25 +00:00
error2hangdump_lib.h intel/tools: Handle new replay properties in the Xe KMD error dump file 2026-01-07 19:16:25 +00:00
error2hangdump_xe.c intel/tools: Handle new replay properties in the Xe KMD error dump file 2026-01-07 19:16:25 +00:00
error2hangdump_xe.h intel/tools: Handle new replay properties in the Xe KMD error dump file 2026-01-07 19:16:25 +00:00
error2hangdump_xe_lib.c intel/tools: Handle new replay properties in the Xe KMD error dump file 2026-01-07 19:16:25 +00:00
error2hangdump_xe_lib.h intel/tools: Handle new replay properties in the Xe KMD error dump file 2026-01-07 19:16:25 +00:00
error_decode_lib.c intel/tools: move ascii85_decode to common code 2025-04-02 19:26:55 +00:00
error_decode_lib.h intel/tools: move ascii85_decode to common code 2025-04-02 19:26:55 +00:00
error_decode_xe_lib.c intel/tools: Handle new replay properties in the Xe KMD error dump file 2026-01-07 19:16:25 +00:00
error_decode_xe_lib.h intel/tools: Handle new replay properties in the Xe KMD error dump file 2026-01-07 19:16:25 +00:00
gfx8_context.h
gfx10_context.h
intel_aub.h
intel_context.h
intel_dev_info.c Rename *_sha1 names to *_blake3 2026-03-23 07:03:28 +00:00
intel_dump_gpu.c intel: Convert getenv() to os_get_option() 2025-09-25 17:01:18 -06:00
intel_dump_gpu.in
intel_hang_replay.c intel/hang_replay: add option to dump VM state as part of the dump 2026-01-07 19:16:25 +00:00
intel_hang_replay_lib.c intel/hang_replay: move common code into a lib 2026-01-07 19:16:25 +00:00
intel_hang_replay_lib.h intel/tools: Handle new replay properties in the Xe KMD error dump file 2026-01-07 19:16:25 +00:00
intel_hang_replay_xe.c intel/hang_replay: add option to dump VM state as part of the dump 2026-01-07 19:16:25 +00:00
intel_hang_replay_xe.h intel/hang_replay: add option to dump VM state as part of the dump 2026-01-07 19:16:25 +00:00
intel_hang_viewer.cpp build: avoid redefining unreachable() which is standard in C23 2025-07-31 17:49:42 +00:00
intel_measure.py intel/tools: intel_measure.py avoid early exit on corrupted data 2026-02-10 04:23:05 +00:00
intel_monitor.c intel/perf: intel_monitor documentation tweak 2025-05-23 19:57:02 +00:00
intel_monitor_eustall.c intel/tools: Add xe3p format for intel_monitor 2026-03-26 07:31:09 +00:00
intel_monitor_eustall.h intel/tools: create intel_monitor for sampling eu stalls 2025-04-08 19:39:53 +00:00
intel_noop_drm_shim.c intel/tools: Don't allocate in noop_drm_shim until after error checking 2026-03-02 19:18:33 +00:00
intel_sanitize_gpu.c intel/sanitize-gpu: Use util_flush_inval_range() 2025-10-16 01:19:45 +00:00
intel_sanitize_gpu.in
intel_stub_gpu.in
intel_tools.c brw: Move into a new src/intel/compiler/brw subdirectory 2025-10-09 07:01:47 +00:00
intel_tools.h brw: Move into a new src/intel/compiler/brw subdirectory 2025-10-09 07:01:47 +00:00
meson.build intel/hang_replay: add Xe support 2026-01-07 19:16:25 +00:00
README.md

aubinator_error_decode

This tool allows decode an error state dump generated by the kernel driver.

Make a copy of the error state file (i915) :

$ sudo cp /sys/devices/pci0000:00/0000:00:02.0/drm/card0/error /tmp/error
$ sudo chmod go+rw /tmp/error

Make a copy of the error state file (Xe) :

$ sudo cp /sys/class/drm/card0/device/devcoredump/data /tmp/error
$ sudo chmod go+rw /tmp/error

Then visualize the error state (from the mesa build directory) :

$ ./src/intel/tools/aubinator_error_decode /tmp/error

intel_stub_gpu

This tool allows faking a particular device at the ioctl level. This is useful to test compiler changes (using shader-db/fossils-db replays) across a number of device you don't necessarily have access too.

Faking a DG2 device :

$ intel_stub_gpu -p dg2 fossilize-replay /path/to/fossilize.foz --enable-pipeline-stats /tmp/dg2.csv

Faking a ICL device :

$ intel_stub_gpu -p icl fossilize-replay /path/to/fossilize.foz --enable-pipeline-stats /tmp/icl.csv

intel_error2hangdump

This tool converts an error state dump into an uncompressed/easy-to-modify binary file (format described in src/intel/common/intel_hang_dump.h).

Capture the error state (i915) :

$ sudo cp /sys/devices/pci0000:00/0000:00:02.0/drm/card0/error /tmp/error
$ sudo chmod go+rw /tmp/error

Capture the error state (Xe) :

$ sudo cp /sys/class/drm/card0/device/devcoredump/data /tmp/error
$ sudo chmod go+rw /tmp/error

Convert an error state (from the mesa build directory) :

$ ./src/intel/tools/intel_error2hang /tmp/error

A resulting error.dmp file will be created

intel_hang_replay

This tool replays a binary file generated by intel_error2hangdump.

From the mesa build directory :

$ ./src/intel/tools/intel_hang_replay -d /tmp/error.dmp

intel_hang_viewer

This tool is a editor/visualizer for the file generated by intel_error2hangdump. When replaying on simulation a few tweaks might be needed in order for the simulator to accept the input commands (this is due to divergences between the simulation & HW implementations).

To visualize a file generated from a DG2 error state (from the mesa build directory) :

./src/intel/tools/intel_hang_viewer -p dg2 /tmp/error.dmp

To visualize and edit a file generated from a DG2 error state (from the mesa build directory) :

./src/intel/tools/intel_hang_viewer -e -p dg2 /tmp/error.dmp