diff options
author | Kevin Rogovin <[email protected]> | 2018-02-08 17:11:25 -0800 |
---|---|---|
committer | Scott D Phillips <[email protected]> | 2018-04-05 13:52:49 -0700 |
commit | cc41603d6da4552f0aaf32325a8f019c44c3d9c8 (patch) | |
tree | 1fa68288a418b69a1f299752d307d897135691a0 /src/intel/tools/meson.build | |
parent | e85b95269e49036402c3a8204450707eb6111d15 (diff) |
intel/tools: new intel_sanitize_gpu tool
Adds a new debug tool to pad each GEM BO allocated with (weak)
pseudo-random noise values which are then checked after each
batchbuffer dispatch to the kernel. This can be quite valuable to
find diffucult to track down heisenberg style bugs.
[[email protected]: split to separate tool]
v2: (by Scott D Phillips)
- track gem handles per fd (Kevin)
- remove handles on GEM_CLOSE (Kevin)
- ignore prime handles
- meson & shell script
v3: (by Scott D Phillips)
- don't track prime bos at all (Kevin)
- protect the hash table with a mutex (Kevin)
- hook fds by drm_version.name, not path (Chris Wilson)
Reviewed-by: Scott D Phillips <[email protected]>
Reviewed-by: Kevin Rogovin <[email protected]>
Reviewed-by: Dylan Baker <[email protected]>
Diffstat (limited to 'src/intel/tools/meson.build')
-rw-r--r-- | src/intel/tools/meson.build | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/intel/tools/meson.build b/src/intel/tools/meson.build index 84b44841f75..e19de5af882 100644 --- a/src/intel/tools/meson.build +++ b/src/intel/tools/meson.build @@ -41,3 +41,28 @@ aubinator_error_decode = executable( build_by_default : with_tools.contains('intel'), install : with_tools.contains('intel'), ) + +if with_tools.contains('intel') + sanitize_data = configuration_data() + sanitize_data.set( + 'install_libexecdir', + join_paths(get_option('prefix'), get_option('libexecdir')) + ) + configure_file( + input: 'intel_sanitize_gpu.in', + output: '@BASENAME@', + install_dir: get_option('bindir'), + configuration: sanitize_data, + ) + + libintel_sanitize_gpu = shared_library( + 'intel_sanitize_gpu', + files('intel_sanitize_gpu.c'), + dependencies : [dep_dl, dep_thread], + include_directories : [inc_common, inc_intel, inc_drm_uapi], + link_with : [libintel_common, libmesa_util], + c_args : [c_vis_args, no_override_init_args], + install_dir: get_option('libexecdir'), + install: true, + ) +endif |