• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 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
16def TileArgs(tile_x, tile_y):
17  return {'mode': ['tile', str(tile_x), str(tile_y)],
18          # TODO(borenet): Turn this back on once the parser is working.
19          #'timeIndividualTiles': True
20          }
21
22
23def 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):
32  return BitmapConfig(**dict(TileArgs(tile_x, tile_y).items() + kwargs.items()))
33
34
35def TiledGPUConfig(tile_x, tile_y, **kwargs):
36  return GPUConfig(**dict(TileArgs(tile_x, tile_y).items() + kwargs.items()))
37
38
39def 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):
48  return RTreeConfig(mode='simple', viewport=[str(viewport_x), str(viewport_y)],
49                     **kwargs)
50
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
57def 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):
70  return TiledBitmapConfig(multi=str(threads), tile_x=tile_x, tile_y=tile_y,
71                           **kwargs)
72
73
74def RTreeConfig(**kwargs):
75  return BitmapConfig(bbh='rtree', **kwargs)
76
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
83def RecordRTreeConfig(**kwargs):
84  return RTreeConfig(mode='record', **kwargs)
85
86
87def PlaybackCreationRTreeConfig(**kwargs):
88  return RTreeConfig(mode='playbackCreation', **kwargs)
89
90
91def TileRTreeConfig(tile_x, tile_y, **kwargs):
92  return RTreeConfig(**dict(TileArgs(tile_x, tile_y).items() + kwargs.items()))
93
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):
104  return GridConfig(tile_x, tile_y,
105                    **dict(TileArgs(tile_x, tile_y).items() + kwargs.items()))