mesa/src/intel/tools
Kenneth Graunke 73cbb35442
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
brw: Move into a new src/intel/compiler/brw subdirectory
This keeps the directory structure a bit more organized:
- brw specific code
- elk specific code
- common NIR passes that could be used in both places

It also means that you can now 'git grep' in the brw directory without
finding a bunch of elk code, or having to "grep thing b*".

Reviewed-by: Dylan Baker <dylan.c.baker@intel.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37755>
2025-10-09 07:01:47 +00:00
..
imgui
aub_mem.c
aub_mem.h
aub_read.c
aub_read.h
aub_write.c build: avoid redefining unreachable() which is standard in C23 2025-07-31 17:49:42 +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 intel/tools: Fix batch buffer decoder 2025-05-01 13:27:44 +00:00
aubinator_error_decode_lib.c
aubinator_error_decode_lib.h
aubinator_error_decode_xe.c brw: Move into a new src/intel/compiler/brw subdirectory 2025-10-09 07:01:47 +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: move ascii85_decode to common code 2025-04-02 19:26:55 +00:00
error2hangdump_lib.c
error2hangdump_lib.h
error2hangdump_xe.c intel/decode: Add support to new version of Xe KMD devcoredump with canonical addresses 2025-09-26 16:15:53 +00:00
error2hangdump_xe.h
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/decode: Add support to new version of Xe KMD devcoredump with canonical addresses 2025-09-26 16:15:53 +00:00
error_decode_xe_lib.h intel/tools: Rename and better detect topic changes 2025-05-28 20:26:55 +00:00
gfx8_context.h
gfx10_context.h
intel_aub.h
intel_context.h
intel_dev_info.c brw: Move into a new src/intel/compiler/brw subdirectory 2025-10-09 07:01:47 +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 build: avoid redefining unreachable() which is standard in C23 2025-07-31 17:49:42 +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: add intel_measure.py 2025-05-19 17:27:30 +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: fix 32b build for EU stall tool 2025-04-09 21:40:46 +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: Convert getenv() to os_get_option() 2025-09-25 17:01:18 -06:00
intel_sanitize_gpu.c
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 imgui: Silence build warnings for imgui 2025-09-16 06:16:19 +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