blob: 178ecd3d57e32f006538c355277daba669b941b2 [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.com2fd09792013-02-06 16:27:38 +000018 'timeIndividualTiles': True,
borenet@google.com96b17aa2013-01-15 15:50:42 +000019 }
borenet@google.comb00d6702013-01-11 20:45:24 +000020
21
borenet@google.com1558d682012-12-12 20:13:26 +000022def BitmapConfig(**kwargs):
23 return Config(device='bitmap', **kwargs)
24
25
26def GPUConfig(**kwargs):
27 return Config(device='gpu', **kwargs)
28
29
30def TiledBitmapConfig(tile_x, tile_y, **kwargs):
borenet@google.comb00d6702013-01-11 20:45:24 +000031 return BitmapConfig(**dict(TileArgs(tile_x, tile_y).items() + kwargs.items()))
borenet@google.com1558d682012-12-12 20:13:26 +000032
33
34def TiledGPUConfig(tile_x, tile_y, **kwargs):
borenet@google.comb00d6702013-01-11 20:45:24 +000035 return GPUConfig(**dict(TileArgs(tile_x, tile_y).items() + kwargs.items()))
borenet@google.com1558d682012-12-12 20:13:26 +000036
37
borenet@google.com9afba742012-12-18 21:44:53 +000038def ViewportBitmapConfig(viewport_x, viewport_y, **kwargs):
39 return BitmapConfig(viewport=[str(viewport_x), str(viewport_y)], **kwargs)
40
41
42def ViewportGPUConfig(viewport_x, viewport_y, **kwargs):
43 return GPUConfig(viewport=[str(viewport_x), str(viewport_y)], **kwargs)
44
45
46def ViewportRTreeConfig(viewport_x, viewport_y, **kwargs):
borenet@google.com8b954742012-12-19 14:47:53 +000047 return RTreeConfig(mode='simple', viewport=[str(viewport_x), str(viewport_y)],
48 **kwargs)
borenet@google.com9afba742012-12-18 21:44:53 +000049
50
51def ViewportGridConfig(viewport_x, viewport_y, **kwargs):
52 return GridConfig(viewport_x, viewport_y, mode='simple',
53 viewport=[str(viewport_x), str(viewport_y)], **kwargs)
54
55
borenet@google.com1558d682012-12-12 20:13:26 +000056def CopyTilesConfig(tile_x, tile_y, **kwargs):
57 return BitmapConfig(mode=['copyTile', str(tile_x), str(tile_y)], **kwargs)
58
59
60def RecordConfig(**kwargs):
61 return BitmapConfig(mode='record', **kwargs)
62
63
64def PlaybackCreationConfig(**kwargs):
65 return BitmapConfig(mode='playbackCreation', **kwargs)
66
67
68def MultiThreadTileConfig(threads, tile_x, tile_y, **kwargs):
borenet@google.comddf36e72012-12-14 14:56:37 +000069 return TiledBitmapConfig(multi=str(threads), tile_x=tile_x, tile_y=tile_y,
70 **kwargs)
71
72
borenet@google.com8b954742012-12-19 14:47:53 +000073def RTreeConfig(**kwargs):
74 return BitmapConfig(bbh='rtree', **kwargs)
borenet@google.comddf36e72012-12-14 14:56:37 +000075
76
77def GridConfig(tile_x, tile_y, mode, **kwargs):
78 return BitmapConfig(mode=mode, bbh=['grid', str(tile_x), str(tile_y)],
79 **kwargs)
80
81
borenet@google.com8b954742012-12-19 14:47:53 +000082def RecordRTreeConfig(**kwargs):
83 return RTreeConfig(mode='record', **kwargs)
borenet@google.comddf36e72012-12-14 14:56:37 +000084
85
borenet@google.com8b954742012-12-19 14:47:53 +000086def PlaybackCreationRTreeConfig(**kwargs):
87 return RTreeConfig(mode='playbackCreation', **kwargs)
borenet@google.comddf36e72012-12-14 14:56:37 +000088
89
90def TileRTreeConfig(tile_x, tile_y, **kwargs):
borenet@google.comb00d6702013-01-11 20:45:24 +000091 return RTreeConfig(**dict(TileArgs(tile_x, tile_y).items() + kwargs.items()))
borenet@google.comddf36e72012-12-14 14:56:37 +000092
93
94def RecordGridConfig(tile_x, tile_y, **kwargs):
95 return GridConfig(tile_x=tile_x, tile_y=tile_y, mode='record', **kwargs)
96
97
98def PlaybackCreationGridConfig(tile_x, tile_y, **kwargs):
99 return GridConfig(tile_x, tile_y, mode='playbackCreation')
100
101
102def TileGridConfig(tile_x, tile_y, **kwargs):
borenet@google.comb00d6702013-01-11 20:45:24 +0000103 return GridConfig(tile_x, tile_y,
borenet@google.com2fd09792013-02-06 16:27:38 +0000104 **dict(TileArgs(tile_x, tile_y).items() + kwargs.items()))