]> git.cworth.org Git - apitrace-tests/blobdiff - app_driver.py
Specify rendertarget view descriptions.
[apitrace-tests] / app_driver.py
index 2c7a319a5d556b7006711a70cd0464c4793dc35a..cb5f229e651ebfde69e68d4aff27bd83cbe72043 100755 (executable)
@@ -167,7 +167,7 @@ class AppDriver(Driver):
 
         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 = {
@@ -175,7 +175,13 @@ class AppDriver(Driver):
         'egl_gl': 'egl',
         'egl_gles1': 'egl',
         'egl_gles2': 'egl',
+        'd3d7': 'd3d7',
+        'd3d8': 'd3d8',
         'd3d9': 'd3d9',
+        'd3d10': 'd3d10',
+        'd3d10_1': 'd3d10_1',
+        'd3d11': 'd3d11',
+        'd3d11_1': 'd3d11',
     }
 
     api_retrace_map = {
@@ -183,7 +189,12 @@ class AppDriver(Driver):
         '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):
@@ -220,6 +231,8 @@ class AppDriver(Driver):
 
         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')
@@ -236,6 +249,9 @@ class AppDriver(Driver):
 
         self.doubleBuffer = checker.doubleBuffer
 
+        if self.api not in self.api_retrace_map:
+            return
+
         for callNo, refImageFileName in checker.images:
             self.checkImage(callNo, refImageFileName)
         for callNo, refStateFileName in checker.states:
@@ -302,6 +318,9 @@ class AppDriver(Driver):
         open(filename, 'wt').write(s)
 
     def retrace(self):
+        if self.api not in self.api_retrace_map:
+            return
+
         p = self._retrace()
         p.wait()
         if p.returncode != 0:
@@ -361,19 +380,9 @@ class AppDriver(Driver):
         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