trace_file = None
def __init__(self, name, args, cwd=None, build=None, results = '.'):
trace_file = None
def __init__(self, name, args, cwd=None, build=None, results = '.'):
- elif system == 'Darwin':
- wrapper = _get_build_path('wrappers/OpenGL')
- env['DYLD_LIBRARY_PATH'] = os.path.dirname(wrapper)
+ local_wrapper = os.path.join(os.path.dirname(self.args[0]), os.path.basename(wrapper))
+ shutil.copy(wrapper, local_wrapper)
+ env['TRACE_FILE'] = self.trace_file
- wrapper = _get_build_path('glxtrace.so')
- env['LD_PRELOAD'] = wrapper
-
- env['TRACE_FILE'] = self.trace_file
+ apitrace = _get_build_program('apitrace')
+ cmd = [
+ apitrace, 'trace',
+ '--api', self.api,
+ '--output', self.trace_file,
+ '--'
+ ] + cmd
- p = popen(self.args, env=env, cwd=self.cwd)
- p.wait()
+ try:
+ p = popen(cmd, env=env, cwd=self.cwd)
+ p.wait()
+ finally:
+ if local_wrapper is not None:
+ os.remove(local_wrapper)
- cmd = [_get_build_path('tracedump'), '--color=never', self.trace_file]
+ cmd = [_get_build_program('apitrace'), 'dump', '--color=never', self.trace_file]
if self.ref_dump is not None:
ref = open(self.ref_dump, 'rt')
ref_line = ref.readline().rstrip()
if self.ref_dump is not None:
ref = open(self.ref_dump, 'rt')
ref_line = ref.readline().rstrip()
optparser = optparse.OptionParser(
usage='\n\t%prog [options] -- program [args] ...',
version='%%prog')
optparser = optparse.OptionParser(
usage='\n\t%prog [options] -- program [args] ...',
version='%%prog')
+ optparser.add_option(
+ '-a', '--api', metavar='API',
+ type='string', dest='api', default='gl',
+ help='api to trace')
optparser.add_option(
'-B', '--build', metavar='PATH',
type='string', dest='build', default='..',
optparser.add_option(
'-B', '--build', metavar='PATH',
type='string', dest='build', default='..',