On Friday, July 20, 2018 3:24:58 AM PDT Lionel Landwerlin wrote: > The problem with passing the configuration of the dump lib through a > file descriptor is that it can be read only once. But under gdb you > might want to rerun your program multiple times. > > This change hands the configuration through a temporary file that is > deleted once the command line passes to intel_dump_gpu has exited. > > Signed-off-by: Lionel Landwerlin <lionel.g.landwer...@intel.com> > --- > src/intel/tools/intel_dump_gpu.c | 2 +- > src/intel/tools/intel_dump_gpu.in | 11 ++++++++--- > 2 files changed, 9 insertions(+), 4 deletions(-) > > diff --git a/src/intel/tools/intel_dump_gpu.c > b/src/intel/tools/intel_dump_gpu.c > index 6ce7d452afb..1abe54147cf 100644 > --- a/src/intel/tools/intel_dump_gpu.c > +++ b/src/intel/tools/intel_dump_gpu.c > @@ -349,7 +349,7 @@ maybe_init(void) > > initialized = true; > > - config = fdopen(3, "r"); > + config = fopen(getenv("INTEL_DUMP_GPU_CONFIG"), "r"); > while (fscanf(config, "%m[^=]=%m[^\n]\n", &key, &value) != EOF) { > if (!strcmp(key, "verbose")) { > if (!strcmp(value, "1")) { > diff --git a/src/intel/tools/intel_dump_gpu.in > b/src/intel/tools/intel_dump_gpu.in > index 9eea37189db..0454cff25da 100755 > --- a/src/intel/tools/intel_dump_gpu.in > +++ b/src/intel/tools/intel_dump_gpu.in > @@ -82,7 +82,12 @@ done > > [ -z $file ] && add_arg "file=intel.aub" > > +tmp_file=`mktemp` > +echo -e $args > $tmp_file > + > > LD_PRELOAD="@install_libexecdir@/libintel_dump_gpu.so${LD_PPRELOAD:+:$LD_PRELOAD}" > \ > - exec -- "$@" 3<<EOF > -`echo -e $args` > -EOF > + INTEL_DUMP_GPU_CONFIG=$tmp_file \ > + $@ > +ret=$? > +rm $tmp_file > +exit $ret >
Thanks so much, Lionel! Both are: Reviewed-by: Kenneth Graunke <kenn...@whitecape.org>
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev