blob: 65d63a45b2b81c436d26476d6ea0e535ccdc41bf [file] [log] [blame]
borenet@google.com1558d682012-12-12 20:13:26 +00001# 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""" Helper functions to be used in bench_pictures.cfg. """
7
8
9def Config(**kwargs):
10 config = {}
11 for key in kwargs:
12 config[key] = kwargs[key]
13 return config
14
15
borenet@google.comb00d6702013-01-11 20:45:24 +000016def TileArgs(tile_x, tile_y):
17 return {'mode': ['tile', str(tile_x), str(tile_y)],
borenet@google.com96b17aa2013-01-15 15:50:42 +000018 # TODO(borenet): Turn this back on once the parser is working.
19 #'timeIndividualTiles': True
20 }
borenet@google.comb00d6702013-01-11 20:45:24 +000021
22
borenet@google.com1558d682012-12-12 20:13:26 +000023def BitmapConfig(**kwargs):
24 return Config(device='bitmap', **kwargs)
25
26
27def GPUConfig(**kwargs):
28 return Config(device='gpu', **kwargs)
29
30
31def TiledBitmapConfig(tile_x, tile_y, **kwargs):
borenet@google.comb00d6702013-01-11 20:45:24 +000032 return BitmapConfig(**dict(TileArgs(tile_x, tile_y).items() + kwargs.items()))
borenet@google.com1558d682012-12-12 20:13:26 +000033
34
35def TiledGPUConfig(tile_x, tile_y, **kwargs):
borenet@google.comb00d6702013-01-11 20:45:24 +000036 return GPUConfig(**dict(TileArgs(tile_x, tile_y).items() + kwargs.items()))
borenet@google.com1558d682012-12-12 20:13:26 +000037
38
borenet@google.com9afba742012-12-18 21:44:53 +000039def ViewportBitmapConfig(viewport_x, viewport_y, **kwargs):
40 return BitmapConfig(viewport=[str(viewport_x), str(viewport_y)], **kwargs)
41
42
43def ViewportGPUConfig(viewport_x, viewport_y, **kwargs):
44 return GPUConfig(viewport=[str(viewport_x), str(viewport_y)], **kwargs)
45
46
47def ViewportRTreeConfig(viewport_x, viewport_y, **kwargs):
borenet@google.com8b954742012-12-19 14:47:53 +000048 return RTreeConfig(mode='simple', viewport=[str(viewport_x), str(viewport_y)],
49 **kwargs)
borenet@google.com9afba742012-12-18 21:44:53 +000050
51
52def ViewportGridConfig(viewport_x, viewport_y, **kwargs):
53 return GridConfig(viewport_x, viewport_y, mode='simple',
54 viewport=[str(viewport_x), str(viewport_y)], **kwargs)
55
56
borenet@google.com1558d682012-12-12 20:13:26 +000057def CopyTilesConfig(tile_x, tile_y, **kwargs):
58 return BitmapConfig(mode=['copyTile', str(tile_x), str(tile_y)], **kwargs)
59
60
61def RecordConfig(**kwargs):
62 return BitmapConfig(mode='record', **kwargs)
63
64
65def PlaybackCreationConfig(**kwargs):
66 return BitmapConfig(mode='playbackCreation', **kwargs)
67
68
69def MultiThreadTileConfig(threads, tile_x, tile_y, **kwargs):
borenet@google.comddf36e72012-12-14 14:56:37 +000070 return TiledBitmapConfig(multi=str(threads), tile_x=tile_x, tile_y=tile_y,
71 **kwargs)
72
73
borenet@google.com8b954742012-12-19 14:47:53 +000074def RTreeConfig(**kwargs):
75 return BitmapConfig(bbh='rtree', **kwargs)
borenet@google.comddf36e72012-12-14 14:56:37 +000076
77
78def GridConfig(tile_x, tile_y, mode, **kwargs):
79 return BitmapConfig(mode=mode, bbh=['grid', str(tile_x), str(tile_y)],
80 **kwargs)
81
82
borenet@google.com8b954742012-12-19 14:47:53 +000083def RecordRTreeConfig(**kwargs):
84 return RTreeConfig(mode='record', **kwargs)
borenet@google.comddf36e72012-12-14 14:56:37 +000085
86
borenet@google.com8b954742012-12-19 14:47:53 +000087def PlaybackCreationRTreeConfig(**kwargs):
88 return RTreeConfig(mode='playbackCreation', **kwargs)
borenet@google.comddf36e72012-12-14 14:56:37 +000089
90
91def TileRTreeConfig(tile_x, tile_y, **kwargs):
borenet@google.comb00d6702013-01-11 20:45:24 +000092 return RTreeConfig(**dict(TileArgs(tile_x, tile_y).items() + kwargs.items()))
borenet@google.comddf36e72012-12-14 14:56:37 +000093
94
95def RecordGridConfig(tile_x, tile_y, **kwargs):
96 return GridConfig(tile_x=tile_x, tile_y=tile_y, mode='record', **kwargs)
97
98
99def PlaybackCreationGridConfig(tile_x, tile_y, **kwargs):
100 return GridConfig(tile_x, tile_y, mode='playbackCreation')
101
102
103def TileGridConfig(tile_x, tile_y, **kwargs):
borenet@google.comb00d6702013-01-11 20:45:24 +0000104 return GridConfig(tile_x, tile_y,
105 **dict(TileArgs(tile_x, tile_y).items() + kwargs.items()))