Home | History | Annotate | Download | only in tools
      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 
      9 def Config(**kwargs):
     10   config = {}
     11   for key in kwargs:
     12     config[key] = kwargs[key]
     13   return config
     14 
     15 
     16 def 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 
     23 def BitmapConfig(**kwargs):
     24   return Config(config='8888', **kwargs)
     25 
     26 
     27 def GPUConfig(**kwargs):
     28   return Config(config='gpu', **kwargs)
     29 
     30 
     31 def 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 
     36 def TiledGPUConfig(tile_x, tile_y, **kwargs):
     37   return GPUConfig(**dict(TileArgs(tile_x, tile_y).items() + kwargs.items()))
     38 
     39 
     40 def 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 
     45 def ViewportBitmapConfig(viewport_x, viewport_y, **kwargs):
     46   return BitmapConfig(viewport=[str(viewport_x), str(viewport_y)], **kwargs)
     47 
     48 
     49 def ViewportGPUConfig(viewport_x, viewport_y, **kwargs):
     50   return GPUConfig(viewport=[str(viewport_x), str(viewport_y)], **kwargs)
     51 
     52 
     53 def ViewportRTreeConfig(viewport_x, viewport_y, **kwargs):
     54   return RTreeConfig(mode='simple', viewport=[str(viewport_x), str(viewport_y)],
     55                      **kwargs)
     56 
     57 
     58 def 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 
     63 def CopyTilesConfig(tile_x, tile_y, **kwargs):
     64   return BitmapConfig(mode=['copyTile', str(tile_x), str(tile_y)], **kwargs)
     65 
     66 
     67 def RecordConfig(**kwargs):
     68   return BitmapConfig(mode='record', **kwargs)
     69 
     70 
     71 def PlaybackCreationConfig(**kwargs):
     72   return BitmapConfig(mode='playbackCreation', **kwargs)
     73 
     74 
     75 def 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 
     81 def RTreeConfig(**kwargs):
     82   return BitmapConfig(bbh='rtree', **kwargs)
     83 
     84 
     85 def GridConfig(tile_x, tile_y, mode, **kwargs):
     86   return BitmapConfig(mode=mode, bbh=['grid', str(tile_x), str(tile_y)],
     87                       **kwargs)
     88 
     89 
     90 def RecordRTreeConfig(**kwargs):
     91   return RTreeConfig(mode='record', **kwargs)
     92 
     93 
     94 def PlaybackCreationRTreeConfig(**kwargs):
     95   return RTreeConfig(mode='playbackCreation', **kwargs)
     96 
     97 
     98 def TileRTreeConfig(tile_x, tile_y, **kwargs):
     99   return RTreeConfig(**dict(TileArgs(tile_x, tile_y).items() + kwargs.items()))
    100 
    101 
    102 def RecordGridConfig(tile_x, tile_y, **kwargs):
    103   return GridConfig(tile_x=tile_x, tile_y=tile_y, mode='record', **kwargs)
    104 
    105 
    106 def PlaybackCreationGridConfig(tile_x, tile_y, **kwargs):
    107   return GridConfig(tile_x, tile_y, mode='playbackCreation')
    108 
    109 
    110 def TileGridConfig(tile_x, tile_y, **kwargs):
    111   return GridConfig(tile_x, tile_y,
    112                     **dict(TileArgs(tile_x, tile_y).items() + kwargs.items()))
    113