diff --git a/infra/bots/README.recipes.md b/infra/bots/README.recipes.md index e39e6127ab..040cbac706 100644 --- a/infra/bots/README.recipes.md +++ b/infra/bots/README.recipes.md @@ -448,7 +448,7 @@ Recipe for the Skia RecreateSKPs Bot. [DEPS](/infra/bots/recipes/skpbench.py#12): [recipe\_engine/context][recipe_engine/recipe_modules/context], [recipe\_engine/file][recipe_engine/recipe_modules/file], [recipe\_engine/path][recipe_engine/recipe_modules/path], [recipe\_engine/platform][recipe_engine/recipe_modules/platform], [recipe\_engine/properties][recipe_engine/recipe_modules/properties], [recipe\_engine/python][recipe_engine/recipe_modules/python], [recipe\_engine/raw\_io][recipe_engine/recipe_modules/raw_io], [recipe\_engine/step][recipe_engine/recipe_modules/step], [recipe\_engine/time][recipe_engine/recipe_modules/time], [flavor](#recipe_modules-flavor), [run](#recipe_modules-run), [vars](#recipe_modules-vars) -— **def [RunSteps](/infra/bots/recipes/skpbench.py#150)(api):** +— **def [RunSteps](/infra/bots/recipes/skpbench.py#154)(api):** — **def [skpbench\_steps](/infra/bots/recipes/skpbench.py#41)(api):** diff --git a/infra/bots/recipes/skpbench.expected/Perf-Android-Clang-Pixel-GPU-Adreno530-arm64-Release-All-Android_ReduceOpsTaskSplitting_Skpbench.json b/infra/bots/recipes/skpbench.expected/Perf-Android-Clang-Pixel-GPU-Adreno530-arm64-Release-All-Android_ReduceOpsTaskSplitting_Skpbench.json index fa530f911f..d31c864d9e 100644 --- a/infra/bots/recipes/skpbench.expected/Perf-Android-Clang-Pixel-GPU-Adreno530-arm64-Release-All-Android_ReduceOpsTaskSplitting_Skpbench.json +++ b/infra/bots/recipes/skpbench.expected/Perf-Android-Clang-Pixel-GPU-Adreno530-arm64-Release-All-Android_ReduceOpsTaskSplitting_Skpbench.json @@ -343,6 +343,7 @@ "--internalSamples", "4", "-v5", + "--reduceOpsTaskSplitting", "--adb", "--adb_binary", "adb.1.0.35", diff --git a/infra/bots/recipes/skpbench.py b/infra/bots/recipes/skpbench.py index 94e21a988d..ecd8aaf738 100644 --- a/infra/bots/recipes/skpbench.py +++ b/infra/bots/recipes/skpbench.py @@ -47,6 +47,7 @@ def skpbench_steps(api): is_mskp = 'Mskp' in api.vars.builder_name is_ddl = 'DDL' in api.vars.builder_name is_9x9 = '9x9' in api.vars.builder_name + is_reduce_ops_task_splitting = 'ReduceOpsTaskSplitting' in api.vars.builder_name api.file.ensure_directory( 'makedirs perf_dir', api.flavor.host_dirs.perf_data_dir) @@ -85,6 +86,9 @@ def skpbench_steps(api): skpbench_args += [ '--ddlNumRecordingThreads', 9, '--ddlTilingWidthHeight', 3] + if is_reduce_ops_task_splitting: + skpbench_args += [ + '--reduceOpsTaskSplitting'] if is_android: skpbench_args += [ '--adb', diff --git a/tools/skpbench/skpbench.py b/tools/skpbench/skpbench.py index ca0a79d367..5b59c8ea15 100755 --- a/tools/skpbench/skpbench.py +++ b/tools/skpbench/skpbench.py @@ -78,6 +78,8 @@ __argparse.add_argument('--ddlNumRecordingThreads', help="number of DDL recording threads (0=num_cores)") __argparse.add_argument('--ddlTilingWidthHeight', type=int, default=0, help="number of tiles along one edge when in DDL mode") +__argparse.add_argument('--reduceOpsTaskSplitting', + action='store_true', help="reorder GPU tasks to reduce render target swaps") __argparse.add_argument('--gpuThreads', type=int, default=-1, help="Create this many extra threads to assist with GPU work, including" @@ -157,6 +159,9 @@ class SKPBench: if FLAGS.ddlTilingWidthHeight: ARGV.extend(['--ddlTilingWidthHeight', str(FLAGS.ddlTilingWidthHeight)]) + if FLAGS.reduceOpsTaskSplitting: + ARGV.extend(['--reduceOpsTaskSplitting']) + if FLAGS.adb: if FLAGS.device_serial is None: ARGV[:0] = [FLAGS.adb_binary, 'shell']