X-Git-Url: https://git.cworth.org/git?p=apitrace-tests;a=blobdiff_plain;f=app_driver.py;h=cc76467a1e9684cbd3c93a21ea77eaf54314e846;hp=a7f83e89845714a09f7ea49dcc886095154587ab;hb=a79d84589687bf0d651067a8e75370dd6a8ec7b7;hpb=5d8e20390cd6cc69dfb8174505b6681c69867c2c diff --git a/app_driver.py b/app_driver.py index a7f83e8..cc76467 100755 --- a/app_driver.py +++ b/app_driver.py @@ -112,17 +112,17 @@ class AppDriver(Driver): 'd3d11_1': 'd3d11', } - api_retrace_map = { - 'gl': 'glretrace', - 'egl_gl': 'eglretrace', - 'egl_gles1': 'eglretrace', - 'egl_gles2': 'eglretrace', - 'd3d8': 'd3dretrace', - 'd3d9': 'd3dretrace', - 'd3d10': 'd3dretrace', - 'd3d10_1': 'd3dretrace', - 'd3d11': 'd3dretrace', - 'd3d11_1': 'd3dretrace', + api_replay_map = { + 'gl': 'glreplay', + 'egl_gl': 'eglreplay', + 'egl_gles1': 'eglreplay', + 'egl_gles2': 'eglreplay', + 'd3d8': 'd3dreplay', + 'd3d9': 'd3dreplay', + 'd3d10': 'd3dreplay', + 'd3d10_1': 'd3dreplay', + 'd3d11': 'd3dreplay', + 'd3d11_1': 'd3dreplay', } def traceApp(self): @@ -152,8 +152,9 @@ class AppDriver(Driver): cmd = [ options.apitrace, 'trace', - '--api', self.api_trace_map[self.api], - '--output', self.trace_file, + '-v', + '-a', self.api_trace_map[self.api], + '-o', self.trace_file, '--' ] + cmd if self.max_frames is not None: @@ -173,8 +174,8 @@ class AppDriver(Driver): def checkTrace(self): sys.stderr.write('Comparing trace %s against %s...\n' % (self.trace_file, self.ref_dump)) - cmd = [options.apitrace, 'dump', '--color=never', self.trace_file] - p = popen(cmd, stdout=subprocess.PIPE) + cmd = [options.apitrace, 'dump', '--verbose', '--color=never', self.trace_file] + p = popen(cmd, stdout=subprocess.PIPE, universal_newlines=True) srcParser = SrcTraceParser(p.stdout) srcTrace = srcParser.parse() @@ -220,7 +221,7 @@ class AppDriver(Driver): sys.stdout.flush() sys.stderr.write('\n') - if self.api not in self.api_retrace_map: + if self.api not in self.api_replay_map: return for callNo, refImageFileName in images: @@ -298,16 +299,16 @@ class AppDriver(Driver): s = json.dumps(state, sort_keys=True, indent=2) open(filename, 'wt').write(s) - def retrace(self): - if self.api not in self.api_retrace_map: + def replay(self): + if self.api not in self.api_replay_map: return sys.stderr.write('Retracing %s...\n' % (self.trace_file,)) - p = self._retrace() + p = self._replay() p.wait() if p.returncode != 0: - fail('retrace failed with code %i' % (p.returncode)) + fail('replay failed with code %i' % (p.returncode)) sys.stdout.flush() sys.stderr.write('\n') @@ -316,14 +317,13 @@ class AppDriver(Driver): from PIL import Image state = self.getState(callNo) if self.doubleBuffer: - attachments = ['GL_BACK', 'GL_BACK_LEFT', 'GL_BACK_RIGHT', 'GL_COLOR_ATTACHMENT0'] + attachments = ['GL_BACK', 'GL_BACK_LEFT', 'GL_BACK_RIGHT', 'GL_COLOR_ATTACHMENT0', 'RENDER_TARGET_0'] else: - attachments = ['GL_FRONT', 'GL_FRONT_LEFT', 'GL_FRONT_RIGHT', 'GL_COLOR_ATTACHMENT0'] + attachments = ['GL_FRONT', 'GL_FRONT_LEFT', 'GL_FRONT_RIGHT', 'GL_COLOR_ATTACHMENT0', 'RENDER_TARGET_0'] imageObj = self.getFramebufferAttachment(state, attachments) data = imageObj['__data__'] stream = StringIO(base64.b64decode(data)) im = Image.open(stream) - im.save('test.png') return im def getFramebufferAttachment(self, state, attachments): @@ -345,11 +345,11 @@ class AppDriver(Driver): else: return state - p = self._retrace(['-D', str(callNo)]) + p = self._replay(['-D', str(callNo)]) state = json.load(p.stdout, strict=False) p.wait() if p.returncode != 0: - fail('retrace returned code %i' % (p.returncode)) + fail('replay returned code %i' % (p.returncode)) self.adjustSrcState(state) @@ -398,10 +398,10 @@ class AppDriver(Driver): except KeyError: pass - def _retrace(self, args = None, stdout=subprocess.PIPE): - retrace = self.api_retrace_map[self.api] - #cmd = [get_build_program(retrace)] - cmd = [options.apitrace, 'retrace'] + def _replay(self, args = None, stdout=subprocess.PIPE): + replay = self.api_replay_map[self.api] + #cmd = [get_build_program(replay)] + cmd = [options.apitrace, 'replay'] if self.doubleBuffer: cmd += ['-db'] else: @@ -448,7 +448,7 @@ class AppDriver(Driver): self.runApp() self.traceApp() self.checkTrace() - self.retrace() + self.replay() pass_()