blob: 2670d775483a33d8a5ad7df04dc7ce28dda6aa8c [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.comb8f0de12013-03-07 20:18:27 +000016def TileArgs(tile_x, tile_y, timeIndividualTiles=True):
17 config = {'mode': ['tile', str(tile_x), str(tile_y)]}
18 if timeIndividualTiles:
19 config['timeIndividualTiles'] = True
20 return config
borenet@google.comb00d6702013-01-11 20:45:24 +000021
22
borenet@google.com1558d682012-12-12 20:13:26 +000023def BitmapConfig(**kwargs):
scroggo@google.com161e1ba2013-03-04 16:41:06 +000024 return Config(config='8888', **kwargs)
borenet@google.com1558d682012-12-12 20:13:26 +000025
26
27def GPUConfig(**kwargs):
scroggo@google.com161e1ba2013-03-04 16:41:06 +000028 return Config(config='gpu', **kwargs)
borenet@google.com1558d682012-12-12 20:13:26 +000029
30
borenet@google.comb8f0de12013-03-07 20:18:27 +000031def TiledBitmapConfig(tile_x, tile_y, timeIndividualTiles=True, **kwargs):
32 return BitmapConfig(**dict(TileArgs(tile_x, tile_y,
33 timeIndividualTiles=timeIndividualTiles).items() + kwargs.items()))
borenet@google.com1558d682012-12-12 20:13:26 +000034
35
36def TiledGPUConfig(tile_x, tile_y, **kwargs):
borenet@google.comb00d6702013-01-11 20:45:24 +000037 return GPUConfig(**dict(TileArgs(tile_x, tile_y).items() + kwargs.items()))
borenet@google.com1558d682012-12-12 20:13:26 +000038
39
borenet@google.comb8f0de12013-03-07 20:18:27 +000040def TiledConfig(tile_x, tile_y, timeIndividualTiles=True, **kwargs):
41 return Config(**dict(TileArgs(tile_x, tile_y,
42 timeIndividualTiles=timeIndividualTiles).items() + kwargs.items()))
borenet@google.com46dc43d2013-02-20 20:01:23 +000043
44
borenet@google.com9afba742012-12-18 21:44:53 +000045def ViewportBitmapConfig(viewport_x, viewport_y, **kwargs):
46 return BitmapConfig(viewport=[str(viewport_x), str(viewport_y)], **kwargs)
47
48
49def ViewportGPUConfig(viewport_x, viewport_y, **kwargs):
50 return GPUConfig(viewport=[str(viewport_x), str(viewport_y)], **kwargs)
51
52
53def ViewportRTreeConfig(viewport_x, viewport_y, **kwargs):
borenet@google.com8b954742012-12-19 14:47:53 +000054 return RTreeConfig(mode='simple', viewport=[str(viewport_x), str(viewport_y)],
55 **kwargs)
borenet@google.com9afba742012-12-18 21:44:53 +000056
57
58def ViewportGridConfig(viewport_x, viewport_y, **kwargs):
59 return GridConfig(viewport_x, viewport_y, mode='simple',
60 viewport=[str(viewport_x), str(viewport_y)], **kwargs)
61
62
borenet@google.com1558d682012-12-12 20:13:26 +000063def CopyTilesConfig(tile_x, tile_y, **kwargs):
64 return BitmapConfig(mode=['copyTile', str(tile_x), str(tile_y)], **kwargs)
65
66
67def RecordConfig(**kwargs):
68 return BitmapConfig(mode='record', **kwargs)
69
70
71def PlaybackCreationConfig(**kwargs):
72 return BitmapConfig(mode='playbackCreation', **kwargs)
73
74
75def MultiThreadTileConfig(threads, tile_x, tile_y, **kwargs):
borenet@google.comb8f0de12013-03-07 20:18:27 +000076 return TiledBitmapConfig(tile_x=tile_x, tile_y=tile_y,
77 timeIndividualTiles=False, multi=str(threads),
borenet@google.comddf36e72012-12-14 14:56:37 +000078 **kwargs)
79
80
borenet@google.com8b954742012-12-19 14:47:53 +000081def RTreeConfig(**kwargs):
82 return BitmapConfig(bbh='rtree', **kwargs)
borenet@google.comddf36e72012-12-14 14:56:37 +000083
84
85def GridConfig(tile_x, tile_y, mode, **kwargs):
86 return BitmapConfig(mode=mode, bbh=['grid', str(tile_x), str(tile_y)],
87 **kwargs)
88
89
borenet@google.com8b954742012-12-19 14:47:53 +000090def RecordRTreeConfig(**kwargs):
91 return RTreeConfig(mode='record', **kwargs)
borenet@google.comddf36e72012-12-14 14:56:37 +000092
93
borenet@google.com8b954742012-12-19 14:47:53 +000094def PlaybackCreationRTreeConfig(**kwargs):
95 return RTreeConfig(mode='playbackCreation', **kwargs)
borenet@google.comddf36e72012-12-14 14:56:37 +000096
97
98def TileRTreeConfig(tile_x, tile_y, **kwargs):
borenet@google.comb00d6702013-01-11 20:45:24 +000099 return RTreeConfig(**dict(TileArgs(tile_x, tile_y).items() + kwargs.items()))
borenet@google.comddf36e72012-12-14 14:56:37 +0000100
101
102def RecordGridConfig(tile_x, tile_y, **kwargs):
103 return GridConfig(tile_x=tile_x, tile_y=tile_y, mode='record', **kwargs)
104
105
106def PlaybackCreationGridConfig(tile_x, tile_y, **kwargs):
107 return GridConfig(tile_x, tile_y, mode='playbackCreation')
108
109
110def TileGridConfig(tile_x, tile_y, **kwargs):
borenet@google.comb00d6702013-01-11 20:45:24 +0000111 return GridConfig(tile_x, tile_y,
borenet@google.com2fd09792013-02-06 16:27:38 +0000112 **dict(TileArgs(tile_x, tile_y).items() + kwargs.items()))