summaryrefslogtreecommitdiffstats
path: root/src/intel/tools/meson.build
diff options
context:
space:
mode:
authorKevin Rogovin <[email protected]>2018-02-08 17:11:25 -0800
committerScott D Phillips <[email protected]>2018-04-05 13:52:49 -0700
commitcc41603d6da4552f0aaf32325a8f019c44c3d9c8 (patch)
tree1fa68288a418b69a1f299752d307d897135691a0 /src/intel/tools/meson.build
parente85b95269e49036402c3a8204450707eb6111d15 (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.build25
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