p = popen(self.cmd, cwd=self.cwd)
p.wait()
- if p.returncode:
+ if p.returncode != 0:
skip('application returned code %i' % p.returncode)
api_trace_map = {
'd3d10': 'd3d10',
'd3d10_1': 'd3d10_1',
'd3d11': 'd3d11',
+ 'd3d11_1': 'd3d11',
}
api_retrace_map = {
'egl_gl': 'eglretrace',
'egl_gles1': 'eglretrace',
'egl_gles2': 'eglretrace',
+ #'d3d8': 'd3dretrace',
'd3d9': 'd3dretrace',
+ 'd3d10': 'd3dretrace',
+ 'd3d10_1': 'd3dretrace',
+ 'd3d11': 'd3dretrace',
+ 'd3d11_1': 'd3dretrace',
}
def traceApp(self):
p = popen(cmd, env=env, cwd=self.cwd)
p.wait()
+ if p.returncode != 0:
+ fail('`apitrace trace` returned code %i' % p.returncode)
if not os.path.exists(self.trace_file):
fail('no trace file generated\n')
except KeyError:
return
- # On NVIDIA drivers glGetIntegerv(GL_INDEX_WRITEMASK) returns -1
+ # On NVIDIA drivers glGetIntegerv(GL_INDEX_WRITEMASK) returns 255
self.replaceState(parameters, 'GL_INDEX_WRITEMASK', 255, -1)
- # On Gallium
- if 'Gallium' in parameters['GL_RENDERER'].split():
- # Gallium drivers have wrong defaults for draw/read buffer state
- self.replaceState(parameters, 'GL_DRAW_BUFFER', 'GL_BACK_LEFT', 'GL_BACK')
- self.replaceState(parameters, 'GL_DRAW_BUFFER0', 'GL_BACK_LEFT', 'GL_BACK')
- self.replaceState(parameters, 'GL_READ_BUFFER', 'GL_BACK_LEFT', 'GL_BACK')
- self.replaceState(parameters, 'GL_DRAW_BUFFER', 'GL_FRONT_LEFT', 'GL_FRONT')
- self.replaceState(parameters, 'GL_DRAW_BUFFER0', 'GL_FRONT_LEFT', 'GL_FRONT')
- self.replaceState(parameters, 'GL_READ_BUFFER', 'GL_FRONT_LEFT', 'GL_FRONT')
-
def adjustRefState(self, state):
# Do some adjustments on reference state to eliminate failures from
# bugs/issues outside of apitrace
def _retrace(self, args = None, stdout=subprocess.PIPE):
retrace = self.api_retrace_map[self.api]
- cmd = [get_build_program(retrace)]
+ #cmd = [get_build_program(retrace)]
+ cmd = [options.apitrace, 'retrace']
if self.doubleBuffer:
cmd += ['-db']
else: