OLD | NEW |
| 1 # |
| 2 # Copyright 2015 Google Inc. |
| 3 # |
| 4 # Use of this source code is governed by a BSD-style license that can be |
| 5 # found in the LICENSE file. |
| 6 # |
| 7 |
1 #!/usr/bin/env python | 8 #!/usr/bin/env python |
2 | 9 |
3 usage = ''' | 10 usage = ''' |
4 Write extra flags to outfile for nanobench based on the bot name: | 11 Write extra flags to outfile for nanobench based on the bot name: |
5 $ python nanobench_flags.py outfile Perf-Android-GalaxyS3-Mali400-Arm7-Release | 12 $ python nanobench_flags.py outfile Perf-Android-GCC-GalaxyS3-GPU-Mali400-Arm7
-Release |
6 Or run self-tests: | 13 Or run self-tests: |
7 $ python nanobench_flags.py test | 14 $ python nanobench_flags.py test |
8 ''' | 15 ''' |
9 | 16 |
10 import inspect | 17 import inspect |
11 import json | 18 import json |
12 import os | 19 import os |
13 import sys | 20 import sys |
14 | 21 |
15 | 22 |
(...skipping 17 matching lines...) Expand all Loading... |
33 config.extend(['msaa4', 'nvprmsaa4']) | 40 config.extend(['msaa4', 'nvprmsaa4']) |
34 else: | 41 else: |
35 config.extend(['msaa16', 'nvprmsaa16']) | 42 config.extend(['msaa16', 'nvprmsaa16']) |
36 args.append('--config') | 43 args.append('--config') |
37 args.extend(config) | 44 args.extend(config) |
38 | 45 |
39 if 'Valgrind' in bot: | 46 if 'Valgrind' in bot: |
40 # Don't care about Valgrind performance. | 47 # Don't care about Valgrind performance. |
41 args.extend(['--loops', '1']) | 48 args.extend(['--loops', '1']) |
42 args.extend(['--samples', '1']) | 49 args.extend(['--samples', '1']) |
43 if 'Valgrind_GPU' in bot: | |
44 args.append('--nocpu') | |
45 elif 'Valgrind_CPU' in bot: | |
46 args.append('--nogpu') | |
47 | 50 |
48 if 'HD2000' in bot: | 51 if 'HD2000' in bot: |
49 args.extend(['--benchTileW', '256']) | 52 args.extend(['--benchTileW', '256']) |
50 args.extend(['--benchTileH', '256']) | 53 args.extend(['--benchTileH', '256']) |
51 | 54 |
52 match = [] | 55 match = [] |
53 if 'Android' in bot: | 56 if 'Android' in bot: |
54 # Segfaults when run as GPU bench. Very large texture? | 57 # Segfaults when run as GPU bench. Very large texture? |
55 match.append('~blurroundrect') | 58 match.append('~blurroundrect') |
56 match.append('~patch_grid') # skia:2847 | 59 match.append('~patch_grid') # skia:2847 |
57 match.append('~desk_carsvg') | 60 match.append('~desk_carsvg') |
58 if 'HD2000' in bot: | 61 if 'HD2000' in bot: |
59 match.extend(['~gradient', '~etc1bitmap']) # skia:2895 | 62 match.extend(['~gradient', '~etc1bitmap']) # skia:2895 |
60 if 'Nexus7' in bot: | 63 if 'Nexus7' in bot: |
61 match = ['skp'] # skia:2774 | 64 match = ['skp'] # skia:2774 |
62 if match: | 65 if match: |
63 args.append('--match') | 66 args.append('--match') |
64 args.extend(match) | 67 args.extend(match) |
65 | 68 |
66 | |
67 if ('GalaxyS3' in bot or | |
68 'GalaxyS4' in bot): | |
69 args.append('--nocpu') | |
70 return args | 69 return args |
71 cov_end = lineno() # Don't care about code coverage past here. | 70 cov_end = lineno() # Don't care about code coverage past here. |
72 | 71 |
73 | 72 |
74 def self_test(): | 73 def self_test(): |
75 import coverage # This way the bots don't need coverage.py to be installed. | 74 import coverage # This way the bots don't need coverage.py to be installed. |
76 args = {} | 75 args = {} |
77 cases = [ | 76 cases = [ |
78 'Perf-Android-GalaxyS3-Mali400-Arm7-Release', | |
79 'Perf-Android-Nexus7-Tegra3-Arm7-Release', | 77 'Perf-Android-Nexus7-Tegra3-Arm7-Release', |
80 'Test-Ubuntu14-GCE-NoGPU-x86_64-Release-Valgrind_CPU', | 78 'Test-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind', |
81 'Test-Ubuntu12-ShuttleA-GTX550Ti-x86_64-Release-Valgrind_GPU', | 79 'Test-Win7-MSVC-ShuttleA-GPU-HD2000-x86-Debug-ANGLE', |
82 'Test-Win7-ShuttleA-HD2000-x86-Debug-ANGLE', | |
83 ] | 80 ] |
84 | 81 |
85 cov = coverage.coverage() | 82 cov = coverage.coverage() |
86 cov.start() | 83 cov.start() |
87 for case in cases: | 84 for case in cases: |
88 args[case] = get_args(case) | 85 args[case] = get_args(case) |
89 cov.stop() | 86 cov.stop() |
90 | 87 |
91 this_file = os.path.basename(__file__) | 88 this_file = os.path.basename(__file__) |
92 _, _, not_run, _ = cov.analysis(this_file) | 89 _, _, not_run, _ = cov.analysis(this_file) |
(...skipping 11 matching lines...) Expand all Loading... |
104 if len(sys.argv) == 2 and sys.argv[1] == 'test': | 101 if len(sys.argv) == 2 and sys.argv[1] == 'test': |
105 self_test() | 102 self_test() |
106 sys.exit(0) | 103 sys.exit(0) |
107 | 104 |
108 if len(sys.argv) != 3: | 105 if len(sys.argv) != 3: |
109 print usage | 106 print usage |
110 sys.exit(1) | 107 sys.exit(1) |
111 | 108 |
112 with open(sys.argv[1], 'w') as out: | 109 with open(sys.argv[1], 'w') as out: |
113 json.dump(get_args(sys.argv[2]), out) | 110 json.dump(get_args(sys.argv[2]), out) |
OLD | NEW |