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, timeIndividualTiles=True): 17 config = {'mode': ['tile', str(tile_x), str(tile_y)]} 18 if timeIndividualTiles: 19 config['timeIndividualTiles'] = True 20 return config 21 22 23def BitmapConfig(**kwargs): 24 return Config(config='8888', **kwargs) 25 26 27def GPUConfig(**kwargs): 28 return Config(config='gpu', **kwargs) 29 30 31def TiledBitmapConfig(tile_x, tile_y, timeIndividualTiles=True, **kwargs): 32 return BitmapConfig(**dict(TileArgs(tile_x, tile_y, 33 timeIndividualTiles=timeIndividualTiles).items() + kwargs.items())) 34 35 36def TiledGPUConfig(tile_x, tile_y, **kwargs): 37 return GPUConfig(**dict(TileArgs(tile_x, tile_y).items() + kwargs.items())) 38 39 40def TiledConfig(tile_x, tile_y, timeIndividualTiles=True, **kwargs): 41 return Config(**dict(TileArgs(tile_x, tile_y, 42 timeIndividualTiles=timeIndividualTiles).items() + kwargs.items())) 43 44 45def 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): 54 return RTreeConfig(mode='simple', viewport=[str(viewport_x), str(viewport_y)], 55 **kwargs) 56 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 63def 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): 76 return TiledBitmapConfig(tile_x=tile_x, tile_y=tile_y, 77 timeIndividualTiles=False, multi=str(threads), 78 **kwargs) 79 80 81def RTreeConfig(**kwargs): 82 return BitmapConfig(bbh='rtree', **kwargs) 83 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 90def RecordRTreeConfig(**kwargs): 91 return RTreeConfig(mode='record', **kwargs) 92 93 94def PlaybackCreationRTreeConfig(**kwargs): 95 return RTreeConfig(mode='playbackCreation', **kwargs) 96 97 98def TileRTreeConfig(tile_x, tile_y, **kwargs): 99 return RTreeConfig(**dict(TileArgs(tile_x, tile_y).items() + kwargs.items())) 100 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): 111 return GridConfig(tile_x, tile_y, 112 **dict(TileArgs(tile_x, tile_y).items() + kwargs.items())) 113