blob: d67c93098b2ccb57ee76a3dc2e6534a2b70e0187 [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.com46dc43d2013-02-20 20:01:23 +000038def TiledConfig(tile_x, tile_y, **kwargs):
39 return Config(**dict(TileArgs(tile_x, tile_y).items() + kwargs.items()))
40
41
borenet@google.com9afba742012-12-18 21:44:53 +000042def ViewportBitmapConfig(viewport_x, viewport_y, **kwargs):
43 return BitmapConfig(viewport=[str(viewport_x), str(viewport_y)], **kwargs)
44
45
46def ViewportGPUConfig(viewport_x, viewport_y, **kwargs):
47 return GPUConfig(viewport=[str(viewport_x), str(viewport_y)], **kwargs)
48
49
50def ViewportRTreeConfig(viewport_x, viewport_y, **kwargs):
borenet@google.com8b954742012-12-19 14:47:53 +000051 return RTreeConfig(mode='simple', viewport=[str(viewport_x), str(viewport_y)],
52 **kwargs)
borenet@google.com9afba742012-12-18 21:44:53 +000053
54
55def ViewportGridConfig(viewport_x, viewport_y, **kwargs):
56 return GridConfig(viewport_x, viewport_y, mode='simple',
57 viewport=[str(viewport_x), str(viewport_y)], **kwargs)
58
59
borenet@google.com1558d682012-12-12 20:13:26 +000060def CopyTilesConfig(tile_x, tile_y, **kwargs):
61 return BitmapConfig(mode=['copyTile', str(tile_x), str(tile_y)], **kwargs)
62
63
64def RecordConfig(**kwargs):
65 return BitmapConfig(mode='record', **kwargs)
66
67
68def PlaybackCreationConfig(**kwargs):
69 return BitmapConfig(mode='playbackCreation', **kwargs)
70
71
72def MultiThreadTileConfig(threads, tile_x, tile_y, **kwargs):
borenet@google.comddf36e72012-12-14 14:56:37 +000073 return TiledBitmapConfig(multi=str(threads), tile_x=tile_x, tile_y=tile_y,
74 **kwargs)
75
76
borenet@google.com8b954742012-12-19 14:47:53 +000077def RTreeConfig(**kwargs):
78 return BitmapConfig(bbh='rtree', **kwargs)
borenet@google.comddf36e72012-12-14 14:56:37 +000079
80
81def GridConfig(tile_x, tile_y, mode, **kwargs):
82 return BitmapConfig(mode=mode, bbh=['grid', str(tile_x), str(tile_y)],
83 **kwargs)
84
85
borenet@google.com8b954742012-12-19 14:47:53 +000086def RecordRTreeConfig(**kwargs):
87 return RTreeConfig(mode='record', **kwargs)
borenet@google.comddf36e72012-12-14 14:56:37 +000088
89
borenet@google.com8b954742012-12-19 14:47:53 +000090def PlaybackCreationRTreeConfig(**kwargs):
91 return RTreeConfig(mode='playbackCreation', **kwargs)
borenet@google.comddf36e72012-12-14 14:56:37 +000092
93
94def TileRTreeConfig(tile_x, tile_y, **kwargs):
borenet@google.comb00d6702013-01-11 20:45:24 +000095 return RTreeConfig(**dict(TileArgs(tile_x, tile_y).items() + kwargs.items()))
borenet@google.comddf36e72012-12-14 14:56:37 +000096
97
98def RecordGridConfig(tile_x, tile_y, **kwargs):
99 return GridConfig(tile_x=tile_x, tile_y=tile_y, mode='record', **kwargs)
100
101
102def PlaybackCreationGridConfig(tile_x, tile_y, **kwargs):
103 return GridConfig(tile_x, tile_y, mode='playbackCreation')
104
105
106def TileGridConfig(tile_x, tile_y, **kwargs):
borenet@google.comb00d6702013-01-11 20:45:24 +0000107 return GridConfig(tile_x, tile_y,
borenet@google.com2fd09792013-02-06 16:27:38 +0000108 **dict(TileArgs(tile_x, tile_y).items() + kwargs.items()))