1# Copyright (c) 2012 The Chromium Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5 6""" 7This file defines the configurations in which bench_pictures should be run 8on various platforms. The buildbots read these configurations from the 9bench_pictures_cfg dictionary. Everything else in this file exists to help in 10constructing that dictionary. 11 12This code is executed directly on the buildbot so that convenient things like 13variables and loops can be used to avoid unnecessary verbosity. With great power 14comes great responsibility; don't put any nasty code here. To reiterate, code in 15this file will be directly executed on the build slaves. 16""" 17 18 19import os 20import sys 21 22 23if 'import_path' in globals(): 24 sys.path.append(import_path) 25 26 27from bench_pictures_cfg_helper import * 28 29 30# Default tile sizes 31DEFAULT_TILE_X = '256' 32DEFAULT_TILE_Y = '256' 33 34# Default viewport size 35DEFAULT_VIEWPORT_X = 1500 36DEFAULT_VIEWPORT_Y = 1000 37 38 39# Configs to run on most bots 40default_configs = [ 41 # Basic CPU and GPU configs 42 TiledBitmapConfig(DEFAULT_TILE_X, DEFAULT_TILE_Y), 43 44 # Viewport CPU and GPU 45 ViewportBitmapConfig(DEFAULT_VIEWPORT_X, DEFAULT_VIEWPORT_Y), 46 ViewportGPUConfig(DEFAULT_VIEWPORT_X, DEFAULT_VIEWPORT_Y), 47 48 # CopyTiles 49 CopyTilesConfig(DEFAULT_TILE_X, DEFAULT_TILE_Y), 50 51 # Record 52 RecordConfig(), 53 54 # Multi-threaded 55 MultiThreadTileConfig(4, DEFAULT_TILE_X, DEFAULT_TILE_Y), 56 57 # Different tile sizes 58 TiledBitmapConfig(512, 512), 59 60 # Different bounding box heirarchies, for different modes. 61 RecordRTreeConfig(), 62 PlaybackCreationRTreeConfig(), 63 TileRTreeConfig( DEFAULT_TILE_X, DEFAULT_TILE_Y), 64 RecordGridConfig( DEFAULT_TILE_X, DEFAULT_TILE_Y), 65 PlaybackCreationGridConfig( DEFAULT_TILE_X, DEFAULT_TILE_Y), 66 TileGridConfig( DEFAULT_TILE_X, DEFAULT_TILE_Y), 67] 68 69 70def AndroidConfigList(tile_size, scale, cores, viewport, do_gpu=True): 71 tile_x = tile_size[0] 72 tile_y = tile_size[1] 73 74 viewport_x = viewport[0] 75 viewport_y = viewport[1] 76 77 configs = [ 78 # Record 79 RecordConfig( scale=str(scale)), 80 RecordRTreeConfig(scale=str(scale)), 81 RecordGridConfig( tile_x, tile_y, scale=str(scale)), 82 83 # Tiled playback 84 TiledBitmapConfig(tile_x, tile_y, scale=str(scale)), 85 TileRTreeConfig( tile_x, tile_y, scale=str(scale)), 86 TileGridConfig( tile_x, tile_y, scale=str(scale)), 87 88 # Viewport playback 89 ViewportBitmapConfig(viewport_x, viewport_y, scale=str(scale)), 90 ViewportRTreeConfig( viewport_x, viewport_y, scale=str(scale)), 91 ] 92 93 if do_gpu: 94 configs.append(ViewportGPUConfig(viewport_x, viewport_y, scale=str(scale))) 95 96 # Multicore 97 for num_cores in cores: 98 configs.append(MultiThreadTileConfig(num_cores, tile_x, tile_y, 99 scale=str(scale))) 100 101 return configs 102 103 104msaa4 = Config(config='msaa4') 105 106 107# This dictionary defines the sets of configs for all platforms. Each config is 108# a dictionary of key/value pairs directly corresponding to the command-line 109# flags passed to bench_pictures. 110bench_pictures_cfg = { 111 'angle': [TiledConfig(DEFAULT_TILE_X, DEFAULT_TILE_Y, config='angle')], 112 'debug': [TiledBitmapConfig(DEFAULT_TILE_X, DEFAULT_TILE_Y)], 113 'default': default_configs, 114 'no_gpu': [cfg for cfg in default_configs if cfg['config'] != 'gpu'], 115 'nexus_s': AndroidConfigList((256, 256), 0.4897, [], (480, 800), 116 do_gpu=False), 117 'xoom': AndroidConfigList((256, 256), 1.2244, [], (1200, 800)), 118 'galaxy_nexus': AndroidConfigList((256, 256), 0.8163, [], (800, 1280)), 119 'nexus_4': AndroidConfigList((256, 256), 0.7836, [], (768, 1280)) + \ 120 [msaa4], 121 'nexus_7': AndroidConfigList((256, 256), 1.3061, [4], (1280, 800)), 122 'nexus_10': AndroidConfigList((512, 512), 2.6122, [], (2560, 1600), 123 do_gpu=False) + [msaa4], 124 'razr_i': AndroidConfigList((256, 256), 0.5510, [], (540, 960)) + \ 125 [msaa4], 126 'intel_rhb': AndroidConfigList((256, 256), 0.5510, [], (540, 960)) + \ 127 [msaa4], 128} 129