blob: 55d06dab0537e86ce6a496af9ba5146d47a22e33 [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)],
18 'timeIndividualTiles': True}
19
20
borenet@google.com1558d682012-12-12 20:13:26 +000021def BitmapConfig(**kwargs):
22 return Config(device='bitmap', **kwargs)
23
24
25def GPUConfig(**kwargs):
26 return Config(device='gpu', **kwargs)
27
28
29def TiledBitmapConfig(tile_x, tile_y, **kwargs):
borenet@google.comb00d6702013-01-11 20:45:24 +000030 return BitmapConfig(**dict(TileArgs(tile_x, tile_y).items() + kwargs.items()))
borenet@google.com1558d682012-12-12 20:13:26 +000031
32
33def TiledGPUConfig(tile_x, tile_y, **kwargs):
borenet@google.comb00d6702013-01-11 20:45:24 +000034 return GPUConfig(**dict(TileArgs(tile_x, tile_y).items() + kwargs.items()))
borenet@google.com1558d682012-12-12 20:13:26 +000035
36
borenet@google.com9afba742012-12-18 21:44:53 +000037def ViewportBitmapConfig(viewport_x, viewport_y, **kwargs):
38 return BitmapConfig(viewport=[str(viewport_x), str(viewport_y)], **kwargs)
39
40
41def ViewportGPUConfig(viewport_x, viewport_y, **kwargs):
42 return GPUConfig(viewport=[str(viewport_x), str(viewport_y)], **kwargs)
43
44
45def ViewportRTreeConfig(viewport_x, viewport_y, **kwargs):
borenet@google.com8b954742012-12-19 14:47:53 +000046 return RTreeConfig(mode='simple', viewport=[str(viewport_x), str(viewport_y)],
47 **kwargs)
borenet@google.com9afba742012-12-18 21:44:53 +000048
49
50def ViewportGridConfig(viewport_x, viewport_y, **kwargs):
51 return GridConfig(viewport_x, viewport_y, mode='simple',
52 viewport=[str(viewport_x), str(viewport_y)], **kwargs)
53
54
borenet@google.com1558d682012-12-12 20:13:26 +000055def CopyTilesConfig(tile_x, tile_y, **kwargs):
56 return BitmapConfig(mode=['copyTile', str(tile_x), str(tile_y)], **kwargs)
57
58
59def RecordConfig(**kwargs):
60 return BitmapConfig(mode='record', **kwargs)
61
62
63def PlaybackCreationConfig(**kwargs):
64 return BitmapConfig(mode='playbackCreation', **kwargs)
65
66
67def MultiThreadTileConfig(threads, tile_x, tile_y, **kwargs):
borenet@google.comddf36e72012-12-14 14:56:37 +000068 return TiledBitmapConfig(multi=str(threads), tile_x=tile_x, tile_y=tile_y,
69 **kwargs)
70
71
borenet@google.com8b954742012-12-19 14:47:53 +000072def RTreeConfig(**kwargs):
73 return BitmapConfig(bbh='rtree', **kwargs)
borenet@google.comddf36e72012-12-14 14:56:37 +000074
75
76def GridConfig(tile_x, tile_y, mode, **kwargs):
77 return BitmapConfig(mode=mode, bbh=['grid', str(tile_x), str(tile_y)],
78 **kwargs)
79
80
borenet@google.com8b954742012-12-19 14:47:53 +000081def RecordRTreeConfig(**kwargs):
82 return RTreeConfig(mode='record', **kwargs)
borenet@google.comddf36e72012-12-14 14:56:37 +000083
84
borenet@google.com8b954742012-12-19 14:47:53 +000085def PlaybackCreationRTreeConfig(**kwargs):
86 return RTreeConfig(mode='playbackCreation', **kwargs)
borenet@google.comddf36e72012-12-14 14:56:37 +000087
88
89def TileRTreeConfig(tile_x, tile_y, **kwargs):
borenet@google.comb00d6702013-01-11 20:45:24 +000090 return RTreeConfig(**dict(TileArgs(tile_x, tile_y).items() + kwargs.items()))
borenet@google.comddf36e72012-12-14 14:56:37 +000091
92
93def RecordGridConfig(tile_x, tile_y, **kwargs):
94 return GridConfig(tile_x=tile_x, tile_y=tile_y, mode='record', **kwargs)
95
96
97def PlaybackCreationGridConfig(tile_x, tile_y, **kwargs):
98 return GridConfig(tile_x, tile_y, mode='playbackCreation')
99
100
101def TileGridConfig(tile_x, tile_y, **kwargs):
borenet@google.comb00d6702013-01-11 20:45:24 +0000102 return GridConfig(tile_x, tile_y,
103 **dict(TileArgs(tile_x, tile_y).items() + kwargs.items()))