Better bot coverage for (Vk, Mtl) x MSAA

- Stop testing Metal-MSAA on our Gen8 Mac. These GPUs are slow and buggy
  with MSAA (we already have them disabled on other backends).
- Add Metal bots with the HD615 to get testing on a Gen9 GPU. This
  should have better performance and more correct results. Also move the
  DDL tests to those machines, to get testing on a newer/faster machine.
- Add MSAA configs to Vulkan and Metal perf bots (except for old Intel).

Bug: skia:9023 skia:8243
Change-Id: I214c6c4ef7b6e1401719e62e29fd5d2ad05b6aa1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/229379
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
This commit is contained in:
Brian Osman 2019-07-23 14:45:44 -04:00 committed by Skia Commit-Bot
parent 15baa953a5
commit 829144cc76
8 changed files with 2527 additions and 598 deletions

View File

@ -232,6 +232,7 @@
"Perf-Debian9-none-NUC7i5BNK-GPU-IntelIris640-x86_64-Release-All-LottieWeb",
"Perf-Mac10.13-Clang-MacBook10.1-GPU-IntelHD615-x86_64-Release-All",
"Perf-Mac10.13-Clang-MacBook10.1-GPU-IntelHD615-x86_64-Release-All-CommandBuffer",
"Perf-Mac10.13-Clang-MacBook10.1-GPU-IntelHD615-x86_64-Release-All-Metal",
"Perf-Mac10.13-Clang-MacBookPro11.5-CPU-AVX2-x86_64-Release-All",
"Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All",
"Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer",
@ -434,7 +435,13 @@
"Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Release-All",
"Test-Mac10.13-Clang-MacBook10.1-GPU-IntelHD615-x86_64-Debug-All",
"Test-Mac10.13-Clang-MacBook10.1-GPU-IntelHD615-x86_64-Debug-All-CommandBuffer",
"Test-Mac10.13-Clang-MacBook10.1-GPU-IntelHD615-x86_64-Debug-All-DDL1_Metal",
"Test-Mac10.13-Clang-MacBook10.1-GPU-IntelHD615-x86_64-Debug-All-DDL3_Metal",
"Test-Mac10.13-Clang-MacBook10.1-GPU-IntelHD615-x86_64-Debug-All-Metal",
"Test-Mac10.13-Clang-MacBook10.1-GPU-IntelHD615-x86_64-Release-All",
"Test-Mac10.13-Clang-MacBook10.1-GPU-IntelHD615-x86_64-Release-All-DDL1_Metal",
"Test-Mac10.13-Clang-MacBook10.1-GPU-IntelHD615-x86_64-Release-All-DDL3_Metal",
"Test-Mac10.13-Clang-MacBook10.1-GPU-IntelHD615-x86_64-Release-All-Metal",
"Test-Mac10.13-Clang-MacBook10.1-GPU-IntelHD615-x86_64-Release-All-NativeFonts",
"Test-Mac10.13-Clang-MacBookPro11.5-CPU-AVX2-x86_64-Debug-All",
"Test-Mac10.13-Clang-MacBookPro11.5-CPU-AVX2-x86_64-Debug-All-ASAN",
@ -459,12 +466,8 @@
"Test-Mac10.13-Clang-VMware7.1-CPU-AVX-x86_64-Debug-All-NativeFonts",
"Test-Mac10.14-Clang-MacBookAir7.2-GPU-IntelHD6000-x86_64-Debug-All",
"Test-Mac10.14-Clang-MacBookAir7.2-GPU-IntelHD6000-x86_64-Debug-All-CommandBuffer",
"Test-Mac10.14-Clang-MacBookAir7.2-GPU-IntelHD6000-x86_64-Debug-All-DDL1_Metal",
"Test-Mac10.14-Clang-MacBookAir7.2-GPU-IntelHD6000-x86_64-Debug-All-DDL3_Metal",
"Test-Mac10.14-Clang-MacBookAir7.2-GPU-IntelHD6000-x86_64-Debug-All-Metal",
"Test-Mac10.14-Clang-MacBookAir7.2-GPU-IntelHD6000-x86_64-Release-All",
"Test-Mac10.14-Clang-MacBookAir7.2-GPU-IntelHD6000-x86_64-Release-All-DDL1_Metal",
"Test-Mac10.14-Clang-MacBookAir7.2-GPU-IntelHD6000-x86_64-Release-All-DDL3_Metal",
"Test-Mac10.14-Clang-MacBookAir7.2-GPU-IntelHD6000-x86_64-Release-All-Metal",
"Test-Mac10.14-Clang-VMware7.1-CPU-AVX-x86_64-Debug-All-NativeFonts",
"Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All",

View File

@ -0,0 +1,827 @@
[
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"ensure-directory",
"--mode",
"0777",
"[START_DIR]/tmp"
],
"infra_step": true,
"name": "makedirs tmp_dir"
},
{
"cmd": [
"python",
"-u",
"import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n"
],
"name": "get swarming bot id",
"~followup_annotations": [
"@@@STEP_LOG_LINE@python.inline@import os@@@",
"@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_BOT_ID', '')@@@",
"@@@STEP_LOG_END@python.inline@@@"
]
},
{
"cmd": [
"/usr/bin/adb.1.0.35",
"shell",
"mkdir",
"-p",
"/sdcard/revenge_of_the_skiabot/resources"
],
"cwd": "[START_DIR]/skia",
"env": {
"ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "mkdir /sdcard/revenge_of_the_skiabot/resources"
},
{
"cmd": [
"python",
"-u",
"\nimport os\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice = sys.argv[2]\nfor d, _, fs in os.walk(host):\n p = os.path.relpath(d, host)\n if p != '.' and p.startswith('.'):\n continue\n for f in fs:\n print os.path.join(p,f)\n subprocess.check_call(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n",
"[START_DIR]/skia/resources",
"/sdcard/revenge_of_the_skiabot/resources"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources",
"~followup_annotations": [
"@@@STEP_LOG_LINE@python.inline@@@@",
"@@@STEP_LOG_LINE@python.inline@import os@@@",
"@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
"@@@STEP_LOG_LINE@python.inline@import sys@@@",
"@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@",
"@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@",
"@@@STEP_LOG_LINE@python.inline@for d, _, fs in os.walk(host):@@@",
"@@@STEP_LOG_LINE@python.inline@ p = os.path.relpath(d, host)@@@",
"@@@STEP_LOG_LINE@python.inline@ if p != '.' and p.startswith('.'):@@@",
"@@@STEP_LOG_LINE@python.inline@ continue@@@",
"@@@STEP_LOG_LINE@python.inline@ for f in fs:@@@",
"@@@STEP_LOG_LINE@python.inline@ print os.path.join(p,f)@@@",
"@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['/usr/bin/adb.1.0.35', 'push',@@@",
"@@@STEP_LOG_LINE@python.inline@ os.path.realpath(os.path.join(host, p, f)),@@@",
"@@@STEP_LOG_LINE@python.inline@ os.path.join(device, p, f)])@@@",
"@@@STEP_LOG_END@python.inline@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"[START_DIR]/skia/infra/bots/assets/skp/VERSION",
"/path/to/tmp/"
],
"infra_step": true,
"name": "Get skp VERSION"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"42",
"[START_DIR]/tmp/SKP_VERSION"
],
"infra_step": true,
"name": "write SKP_VERSION",
"~followup_annotations": [
"@@@STEP_LOG_LINE@SKP_VERSION@42@@@",
"@@@STEP_LOG_END@SKP_VERSION@@@"
]
},
{
"cmd": [
"/usr/bin/adb.1.0.35",
"shell",
"cat",
"/sdcard/revenge_of_the_skiabot/SKP_VERSION"
],
"cwd": "[START_DIR]/skia",
"env": {
"ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "read /sdcard/revenge_of_the_skiabot/SKP_VERSION"
},
{
"cmd": [
"/usr/bin/adb.1.0.35",
"shell",
"rm",
"-f",
"/sdcard/revenge_of_the_skiabot/SKP_VERSION"
],
"cwd": "[START_DIR]/skia",
"env": {
"ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "rm /sdcard/revenge_of_the_skiabot/SKP_VERSION"
},
{
"cmd": [
"/usr/bin/adb.1.0.35",
"shell",
"rm",
"-rf",
"/sdcard/revenge_of_the_skiabot/skps"
],
"cwd": "[START_DIR]/skia",
"env": {
"ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "rm /sdcard/revenge_of_the_skiabot/skps"
},
{
"cmd": [
"/usr/bin/adb.1.0.35",
"shell",
"mkdir",
"-p",
"/sdcard/revenge_of_the_skiabot/skps"
],
"cwd": "[START_DIR]/skia",
"env": {
"ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "mkdir /sdcard/revenge_of_the_skiabot/skps"
},
{
"cmd": [
"python",
"-u",
"\nimport os\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice = sys.argv[2]\nfor d, _, fs in os.walk(host):\n p = os.path.relpath(d, host)\n if p != '.' and p.startswith('.'):\n continue\n for f in fs:\n print os.path.join(p,f)\n subprocess.check_call(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n",
"[START_DIR]/skp",
"/sdcard/revenge_of_the_skiabot/skps"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps",
"~followup_annotations": [
"@@@STEP_LOG_LINE@python.inline@@@@",
"@@@STEP_LOG_LINE@python.inline@import os@@@",
"@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
"@@@STEP_LOG_LINE@python.inline@import sys@@@",
"@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@",
"@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@",
"@@@STEP_LOG_LINE@python.inline@for d, _, fs in os.walk(host):@@@",
"@@@STEP_LOG_LINE@python.inline@ p = os.path.relpath(d, host)@@@",
"@@@STEP_LOG_LINE@python.inline@ if p != '.' and p.startswith('.'):@@@",
"@@@STEP_LOG_LINE@python.inline@ continue@@@",
"@@@STEP_LOG_LINE@python.inline@ for f in fs:@@@",
"@@@STEP_LOG_LINE@python.inline@ print os.path.join(p,f)@@@",
"@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['/usr/bin/adb.1.0.35', 'push',@@@",
"@@@STEP_LOG_LINE@python.inline@ os.path.realpath(os.path.join(host, p, f)),@@@",
"@@@STEP_LOG_LINE@python.inline@ os.path.join(device, p, f)])@@@",
"@@@STEP_LOG_END@python.inline@@@"
]
},
{
"cmd": [
"/usr/bin/adb.1.0.35",
"push",
"[START_DIR]/tmp/SKP_VERSION",
"/sdcard/revenge_of_the_skiabot/SKP_VERSION"
],
"cwd": "[START_DIR]/skia",
"env": {
"ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "push [START_DIR]/tmp/SKP_VERSION /sdcard/revenge_of_the_skiabot/SKP_VERSION"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"[START_DIR]/skia/infra/bots/assets/skimage/VERSION",
"/path/to/tmp/"
],
"infra_step": true,
"name": "Get skimage VERSION"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"42",
"[START_DIR]/tmp/SK_IMAGE_VERSION"
],
"infra_step": true,
"name": "write SK_IMAGE_VERSION",
"~followup_annotations": [
"@@@STEP_LOG_LINE@SK_IMAGE_VERSION@42@@@",
"@@@STEP_LOG_END@SK_IMAGE_VERSION@@@"
]
},
{
"cmd": [
"/usr/bin/adb.1.0.35",
"shell",
"cat",
"/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
],
"cwd": "[START_DIR]/skia",
"env": {
"ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "read /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
},
{
"cmd": [
"/usr/bin/adb.1.0.35",
"shell",
"rm",
"-f",
"/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
],
"cwd": "[START_DIR]/skia",
"env": {
"ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "rm /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
},
{
"cmd": [
"/usr/bin/adb.1.0.35",
"shell",
"rm",
"-rf",
"/sdcard/revenge_of_the_skiabot/images"
],
"cwd": "[START_DIR]/skia",
"env": {
"ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "rm /sdcard/revenge_of_the_skiabot/images"
},
{
"cmd": [
"/usr/bin/adb.1.0.35",
"shell",
"mkdir",
"-p",
"/sdcard/revenge_of_the_skiabot/images"
],
"cwd": "[START_DIR]/skia",
"env": {
"ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "mkdir /sdcard/revenge_of_the_skiabot/images"
},
{
"cmd": [
"python",
"-u",
"\nimport os\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice = sys.argv[2]\nfor d, _, fs in os.walk(host):\n p = os.path.relpath(d, host)\n if p != '.' and p.startswith('.'):\n continue\n for f in fs:\n print os.path.join(p,f)\n subprocess.check_call(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n",
"[START_DIR]/skimage",
"/sdcard/revenge_of_the_skiabot/images"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images",
"~followup_annotations": [
"@@@STEP_LOG_LINE@python.inline@@@@",
"@@@STEP_LOG_LINE@python.inline@import os@@@",
"@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
"@@@STEP_LOG_LINE@python.inline@import sys@@@",
"@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@",
"@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@",
"@@@STEP_LOG_LINE@python.inline@for d, _, fs in os.walk(host):@@@",
"@@@STEP_LOG_LINE@python.inline@ p = os.path.relpath(d, host)@@@",
"@@@STEP_LOG_LINE@python.inline@ if p != '.' and p.startswith('.'):@@@",
"@@@STEP_LOG_LINE@python.inline@ continue@@@",
"@@@STEP_LOG_LINE@python.inline@ for f in fs:@@@",
"@@@STEP_LOG_LINE@python.inline@ print os.path.join(p,f)@@@",
"@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['/usr/bin/adb.1.0.35', 'push',@@@",
"@@@STEP_LOG_LINE@python.inline@ os.path.realpath(os.path.join(host, p, f)),@@@",
"@@@STEP_LOG_LINE@python.inline@ os.path.join(device, p, f)])@@@",
"@@@STEP_LOG_END@python.inline@@@"
]
},
{
"cmd": [
"/usr/bin/adb.1.0.35",
"push",
"[START_DIR]/tmp/SK_IMAGE_VERSION",
"/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
],
"cwd": "[START_DIR]/skia",
"env": {
"ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "push [START_DIR]/tmp/SK_IMAGE_VERSION /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"[START_DIR]/skia/infra/bots/assets/svg/VERSION",
"/path/to/tmp/"
],
"infra_step": true,
"name": "Get svg VERSION"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"42",
"[START_DIR]/tmp/SVG_VERSION"
],
"infra_step": true,
"name": "write SVG_VERSION",
"~followup_annotations": [
"@@@STEP_LOG_LINE@SVG_VERSION@42@@@",
"@@@STEP_LOG_END@SVG_VERSION@@@"
]
},
{
"cmd": [
"/usr/bin/adb.1.0.35",
"shell",
"cat",
"/sdcard/revenge_of_the_skiabot/SVG_VERSION"
],
"cwd": "[START_DIR]/skia",
"env": {
"ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "read /sdcard/revenge_of_the_skiabot/SVG_VERSION"
},
{
"cmd": [
"/usr/bin/adb.1.0.35",
"shell",
"rm",
"-f",
"/sdcard/revenge_of_the_skiabot/SVG_VERSION"
],
"cwd": "[START_DIR]/skia",
"env": {
"ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "rm /sdcard/revenge_of_the_skiabot/SVG_VERSION"
},
{
"cmd": [
"/usr/bin/adb.1.0.35",
"shell",
"rm",
"-rf",
"/sdcard/revenge_of_the_skiabot/svgs"
],
"cwd": "[START_DIR]/skia",
"env": {
"ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "rm /sdcard/revenge_of_the_skiabot/svgs"
},
{
"cmd": [
"/usr/bin/adb.1.0.35",
"shell",
"mkdir",
"-p",
"/sdcard/revenge_of_the_skiabot/svgs"
],
"cwd": "[START_DIR]/skia",
"env": {
"ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "mkdir /sdcard/revenge_of_the_skiabot/svgs"
},
{
"cmd": [
"python",
"-u",
"\nimport os\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice = sys.argv[2]\nfor d, _, fs in os.walk(host):\n p = os.path.relpath(d, host)\n if p != '.' and p.startswith('.'):\n continue\n for f in fs:\n print os.path.join(p,f)\n subprocess.check_call(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n",
"[START_DIR]/svg",
"/sdcard/revenge_of_the_skiabot/svgs"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs",
"~followup_annotations": [
"@@@STEP_LOG_LINE@python.inline@@@@",
"@@@STEP_LOG_LINE@python.inline@import os@@@",
"@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
"@@@STEP_LOG_LINE@python.inline@import sys@@@",
"@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@",
"@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@",
"@@@STEP_LOG_LINE@python.inline@for d, _, fs in os.walk(host):@@@",
"@@@STEP_LOG_LINE@python.inline@ p = os.path.relpath(d, host)@@@",
"@@@STEP_LOG_LINE@python.inline@ if p != '.' and p.startswith('.'):@@@",
"@@@STEP_LOG_LINE@python.inline@ continue@@@",
"@@@STEP_LOG_LINE@python.inline@ for f in fs:@@@",
"@@@STEP_LOG_LINE@python.inline@ print os.path.join(p,f)@@@",
"@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['/usr/bin/adb.1.0.35', 'push',@@@",
"@@@STEP_LOG_LINE@python.inline@ os.path.realpath(os.path.join(host, p, f)),@@@",
"@@@STEP_LOG_LINE@python.inline@ os.path.join(device, p, f)])@@@",
"@@@STEP_LOG_END@python.inline@@@"
]
},
{
"cmd": [
"/usr/bin/adb.1.0.35",
"push",
"[START_DIR]/tmp/SVG_VERSION",
"/sdcard/revenge_of_the_skiabot/SVG_VERSION"
],
"cwd": "[START_DIR]/skia",
"env": {
"ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "push [START_DIR]/tmp/SVG_VERSION /sdcard/revenge_of_the_skiabot/SVG_VERSION"
},
{
"cmd": [
"/usr/bin/adb.1.0.35",
"shell",
"rm",
"-rf",
"/sdcard/revenge_of_the_skiabot/perf"
],
"cwd": "[START_DIR]/skia",
"env": {
"ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "rm /sdcard/revenge_of_the_skiabot/perf"
},
{
"cmd": [
"/usr/bin/adb.1.0.35",
"shell",
"mkdir",
"-p",
"/sdcard/revenge_of_the_skiabot/perf"
],
"cwd": "[START_DIR]/skia",
"env": {
"ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "mkdir /sdcard/revenge_of_the_skiabot/perf"
},
{
"cmd": [
"python",
"-u",
"import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n"
],
"name": "get swarming task id",
"~followup_annotations": [
"@@@STEP_LOG_LINE@python.inline@import os@@@",
"@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_TASK_ID', '')@@@",
"@@@STEP_LOG_END@python.inline@@@"
]
},
{
"cmd": [
"/usr/bin/adb.1.0.35",
"push",
"[START_DIR]/build/nanobench",
"/data/local/tmp/"
],
"cwd": "[START_DIR]/skia",
"env": {
"ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "push nanobench"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"set -x; /data/local/tmp/nanobench -i /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/nanobench --svgs /sdcard/revenge_of_the_skiabot/svgs --pre_log --images --gpuStatsDump true --scales 1.0 1.1 --nocpu --config vk vkmsaa4 --match ~blurroundrect ~patch_grid ~desk_carsvg ~inc0.gif ~inc1.gif ~incInterlaced.gif ~inc0.jpg ~incGray.jpg ~inc0.wbmp ~inc1.wbmp ~inc0.webp ~inc1.webp ~inc0.ico ~inc1.ico ~inc0.png ~inc1.png ~inc2.png ~inc12.png ~inc13.png ~inc14.png ~inc0.webp ~inc1.webp --outResultsFile /sdcard/revenge_of_the_skiabot/perf/nanobench_abc123_1337000001.json --properties gitHash abc123 swarming_bot_id skia-bot-123 swarming_task_id 123456 --key arch arm64 compiler Clang cpu_or_gpu GPU cpu_or_gpu_value MaliG76 extra_config Android_Vulkan model P30 os Android; echo $? >/data/local/tmp/rc",
"[START_DIR]/tmp/nanobench.sh"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "write nanobench.sh",
"~followup_annotations": [
"@@@STEP_LOG_LINE@nanobench.sh@set -x; /data/local/tmp/nanobench -i /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/nanobench --svgs /sdcard/revenge_of_the_skiabot/svgs --pre_log --images --gpuStatsDump true --scales 1.0 1.1 --nocpu --config vk vkmsaa4 --match ~blurroundrect ~patch_grid ~desk_carsvg ~inc0.gif ~inc1.gif ~incInterlaced.gif ~inc0.jpg ~incGray.jpg ~inc0.wbmp ~inc1.wbmp ~inc0.webp ~inc1.webp ~inc0.ico ~inc1.ico ~inc0.png ~inc1.png ~inc2.png ~inc12.png ~inc13.png ~inc14.png ~inc0.webp ~inc1.webp --outResultsFile /sdcard/revenge_of_the_skiabot/perf/nanobench_abc123_1337000001.json --properties gitHash abc123 swarming_bot_id skia-bot-123 swarming_task_id 123456 --key arch arm64 compiler Clang cpu_or_gpu GPU cpu_or_gpu_value MaliG76 extra_config Android_Vulkan model P30 os Android; echo $? >/data/local/tmp/rc@@@",
"@@@STEP_LOG_END@nanobench.sh@@@"
]
},
{
"cmd": [
"/usr/bin/adb.1.0.35",
"push",
"[START_DIR]/tmp/nanobench.sh",
"/data/local/tmp/"
],
"cwd": "[START_DIR]/skia",
"env": {
"ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "push nanobench.sh"
},
{
"cmd": [
"/usr/bin/adb.1.0.35",
"logcat",
"-c"
],
"cwd": "[START_DIR]/skia",
"env": {
"ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "clear log"
},
{
"cmd": [
"python",
"-u",
"\nimport subprocess\nimport sys\nbin_dir = sys.argv[1]\nsh = sys.argv[2]\nsubprocess.check_call(['/usr/bin/adb.1.0.35', 'shell', 'sh', bin_dir + sh])\ntry:\n sys.exit(int(subprocess.check_output(['/usr/bin/adb.1.0.35', 'shell', 'cat',\n bin_dir + 'rc'])))\nexcept ValueError:\n print \"Couldn't read the return code. Probably killed for OOM.\"\n sys.exit(1)\n",
"/data/local/tmp/",
"nanobench.sh"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"name": "nanobench",
"~followup_annotations": [
"@@@STEP_LOG_LINE@python.inline@@@@",
"@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
"@@@STEP_LOG_LINE@python.inline@import sys@@@",
"@@@STEP_LOG_LINE@python.inline@bin_dir = sys.argv[1]@@@",
"@@@STEP_LOG_LINE@python.inline@sh = sys.argv[2]@@@",
"@@@STEP_LOG_LINE@python.inline@subprocess.check_call(['/usr/bin/adb.1.0.35', 'shell', 'sh', bin_dir + sh])@@@",
"@@@STEP_LOG_LINE@python.inline@try:@@@",
"@@@STEP_LOG_LINE@python.inline@ sys.exit(int(subprocess.check_output(['/usr/bin/adb.1.0.35', 'shell', 'cat',@@@",
"@@@STEP_LOG_LINE@python.inline@ bin_dir + 'rc'])))@@@",
"@@@STEP_LOG_LINE@python.inline@except ValueError:@@@",
"@@@STEP_LOG_LINE@python.inline@ print \"Couldn't read the return code. Probably killed for OOM.\"@@@",
"@@@STEP_LOG_LINE@python.inline@ sys.exit(1)@@@",
"@@@STEP_LOG_END@python.inline@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"ensure-directory",
"--mode",
"0777",
"[START_DIR]/[SWARM_OUT_DIR]"
],
"infra_step": true,
"name": "makedirs perf_dir"
},
{
"cmd": [],
"name": "adb pull"
},
{
"cmd": [
"/usr/bin/adb.1.0.35",
"pull",
"/sdcard/revenge_of_the_skiabot/perf",
"[CLEANUP]/adb_pull_tmp_1"
],
"cwd": "[START_DIR]/skia",
"env": {
"ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "adb pull.pull /sdcard/revenge_of_the_skiabot/perf",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"glob",
"[CLEANUP]/adb_pull_tmp_1",
"perf/*"
],
"infra_step": true,
"name": "adb pull.list pulled files",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@",
"@@@STEP_LOG_LINE@glob@[CLEANUP]/adb_pull_tmp_1/1.png@@@",
"@@@STEP_LOG_LINE@glob@[CLEANUP]/adb_pull_tmp_1/2.png@@@",
"@@@STEP_LOG_END@glob@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"[CLEANUP]/adb_pull_tmp_1/1.png",
"[START_DIR]/[SWARM_OUT_DIR]"
],
"infra_step": true,
"name": "adb pull.copy 1.png",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"[CLEANUP]/adb_pull_tmp_1/2.png",
"[START_DIR]/[SWARM_OUT_DIR]"
],
"infra_step": true,
"name": "adb pull.copy 2.png",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"rmtree",
"[CLEANUP]/adb_pull_tmp_1"
],
"infra_step": true,
"name": "adb pull.rmtree [CLEANUP]/adb_pull_tmp_1",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"\nimport os\nimport subprocess\nimport sys\nout = sys.argv[1]\nlog = subprocess.check_output(['/usr/bin/adb.1.0.35', 'logcat', '-d'])\nfor line in log.split('\\n'):\n tokens = line.split()\n if len(tokens) == 11 and tokens[-7] == 'F' and tokens[-3] == 'pc':\n addr, path = tokens[-2:]\n local = os.path.join(out, os.path.basename(path))\n if os.path.exists(local):\n sym = subprocess.check_output(['addr2line', '-Cfpe', local, addr])\n line = line.replace(addr, addr + ' ' + sym.strip())\n print line\n",
"[START_DIR]/build"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "dump log",
"timeout": 300,
"~followup_annotations": [
"@@@STEP_LOG_LINE@python.inline@@@@",
"@@@STEP_LOG_LINE@python.inline@import os@@@",
"@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
"@@@STEP_LOG_LINE@python.inline@import sys@@@",
"@@@STEP_LOG_LINE@python.inline@out = sys.argv[1]@@@",
"@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output(['/usr/bin/adb.1.0.35', 'logcat', '-d'])@@@",
"@@@STEP_LOG_LINE@python.inline@for line in log.split('\\n'):@@@",
"@@@STEP_LOG_LINE@python.inline@ tokens = line.split()@@@",
"@@@STEP_LOG_LINE@python.inline@ if len(tokens) == 11 and tokens[-7] == 'F' and tokens[-3] == 'pc':@@@",
"@@@STEP_LOG_LINE@python.inline@ addr, path = tokens[-2:]@@@",
"@@@STEP_LOG_LINE@python.inline@ local = os.path.join(out, os.path.basename(path))@@@",
"@@@STEP_LOG_LINE@python.inline@ if os.path.exists(local):@@@",
"@@@STEP_LOG_LINE@python.inline@ sym = subprocess.check_output(['addr2line', '-Cfpe', local, addr])@@@",
"@@@STEP_LOG_LINE@python.inline@ line = line.replace(addr, addr + ' ' + sym.strip())@@@",
"@@@STEP_LOG_LINE@python.inline@ print line@@@",
"@@@STEP_LOG_END@python.inline@@@"
]
},
{
"cmd": [
"/usr/bin/adb.1.0.35",
"kill-server"
],
"cwd": "[START_DIR]/skia",
"env": {
"ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "kill adb server"
},
{
"name": "$result"
}
]

View File

@ -185,6 +185,7 @@
"--nocpu",
"--config",
"mtl",
"mtlmsaa8",
"--match",
"~inc0.gif",
"~inc1.gif",

View File

@ -185,6 +185,7 @@
"--nocpu",
"--config",
"vk",
"vkmsaa8",
"--match",
"~^path_text_clipped_uncached$",
"~^path_text_uncached$",

View File

@ -0,0 +1,638 @@
[
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"ensure-directory",
"--mode",
"0777",
"[START_DIR]/tmp"
],
"infra_step": true,
"name": "makedirs tmp_dir"
},
{
"cmd": [
"ios.py"
],
"env": {
"CHROME_HEADLESS": "1",
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "setup_device"
},
{
"cmd": [
"ideviceinstaller",
"-i",
"[START_DIR]/build/dm.app"
],
"env": {
"CHROME_HEADLESS": "1",
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "install_dm"
},
{
"cmd": [
"ideviceinstaller",
"-i",
"[START_DIR]/build/nanobench.app"
],
"env": {
"CHROME_HEADLESS": "1",
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "install_nanobench"
},
{
"cmd": [
"[START_DIR]/skia/platform_tools/ios/bin/ios_push_if_needed",
"[START_DIR]/skia/resources",
"resources"
],
"env": {
"CHROME_HEADLESS": "1",
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "push_if_needed [START_DIR]/skia/resources"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"[START_DIR]/skia/infra/bots/assets/skp/VERSION",
"/path/to/tmp/"
],
"env": {
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice"
},
"infra_step": true,
"name": "Get skp VERSION"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"42",
"[START_DIR]/tmp/SKP_VERSION"
],
"env": {
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice"
},
"infra_step": true,
"name": "write SKP_VERSION",
"~followup_annotations": [
"@@@STEP_LOG_LINE@SKP_VERSION@42@@@",
"@@@STEP_LOG_END@SKP_VERSION@@@"
]
},
{
"cmd": [
"[START_DIR]/skia/platform_tools/ios/bin/ios_cat_file",
"tmp/SKP_VERSION"
],
"env": {
"CHROME_HEADLESS": "1",
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "cat_file tmp/SKP_VERSION"
},
{
"cmd": [
"[START_DIR]/skia/platform_tools/ios/bin/ios_rm",
"tmp/SKP_VERSION"
],
"env": {
"CHROME_HEADLESS": "1",
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "rm tmp/SKP_VERSION"
},
{
"cmd": [
"[START_DIR]/skia/platform_tools/ios/bin/ios_rm",
"skps"
],
"env": {
"CHROME_HEADLESS": "1",
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "rm skps"
},
{
"cmd": [
"[START_DIR]/skia/platform_tools/ios/bin/ios_mkdir",
"skps"
],
"env": {
"CHROME_HEADLESS": "1",
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "mkdir skps"
},
{
"cmd": [
"[START_DIR]/skia/platform_tools/ios/bin/ios_push_if_needed",
"[START_DIR]/skp",
"skps"
],
"env": {
"CHROME_HEADLESS": "1",
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "push_if_needed [START_DIR]/skp"
},
{
"cmd": [
"[START_DIR]/skia/platform_tools/ios/bin/ios_push_file",
"[START_DIR]/tmp/SKP_VERSION",
"tmp/SKP_VERSION"
],
"env": {
"CHROME_HEADLESS": "1",
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "push_file [START_DIR]/tmp/SKP_VERSION"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"[START_DIR]/skia/infra/bots/assets/skimage/VERSION",
"/path/to/tmp/"
],
"env": {
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice"
},
"infra_step": true,
"name": "Get skimage VERSION"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"42",
"[START_DIR]/tmp/SK_IMAGE_VERSION"
],
"env": {
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice"
},
"infra_step": true,
"name": "write SK_IMAGE_VERSION",
"~followup_annotations": [
"@@@STEP_LOG_LINE@SK_IMAGE_VERSION@42@@@",
"@@@STEP_LOG_END@SK_IMAGE_VERSION@@@"
]
},
{
"cmd": [
"[START_DIR]/skia/platform_tools/ios/bin/ios_cat_file",
"tmp/SK_IMAGE_VERSION"
],
"env": {
"CHROME_HEADLESS": "1",
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "cat_file tmp/SK_IMAGE_VERSION"
},
{
"cmd": [
"[START_DIR]/skia/platform_tools/ios/bin/ios_rm",
"tmp/SK_IMAGE_VERSION"
],
"env": {
"CHROME_HEADLESS": "1",
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "rm tmp/SK_IMAGE_VERSION"
},
{
"cmd": [
"[START_DIR]/skia/platform_tools/ios/bin/ios_rm",
"images"
],
"env": {
"CHROME_HEADLESS": "1",
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "rm images"
},
{
"cmd": [
"[START_DIR]/skia/platform_tools/ios/bin/ios_mkdir",
"images"
],
"env": {
"CHROME_HEADLESS": "1",
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "mkdir images"
},
{
"cmd": [
"[START_DIR]/skia/platform_tools/ios/bin/ios_push_if_needed",
"[START_DIR]/skimage",
"images"
],
"env": {
"CHROME_HEADLESS": "1",
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "push_if_needed [START_DIR]/skimage"
},
{
"cmd": [
"[START_DIR]/skia/platform_tools/ios/bin/ios_push_file",
"[START_DIR]/tmp/SK_IMAGE_VERSION",
"tmp/SK_IMAGE_VERSION"
],
"env": {
"CHROME_HEADLESS": "1",
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "push_file [START_DIR]/tmp/SK_IMAGE_VERSION"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"[START_DIR]/skia/infra/bots/assets/svg/VERSION",
"/path/to/tmp/"
],
"env": {
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice"
},
"infra_step": true,
"name": "Get svg VERSION"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"42",
"[START_DIR]/tmp/SVG_VERSION"
],
"env": {
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice"
},
"infra_step": true,
"name": "write SVG_VERSION",
"~followup_annotations": [
"@@@STEP_LOG_LINE@SVG_VERSION@42@@@",
"@@@STEP_LOG_END@SVG_VERSION@@@"
]
},
{
"cmd": [
"[START_DIR]/skia/platform_tools/ios/bin/ios_cat_file",
"tmp/SVG_VERSION"
],
"env": {
"CHROME_HEADLESS": "1",
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "cat_file tmp/SVG_VERSION"
},
{
"cmd": [
"[START_DIR]/skia/platform_tools/ios/bin/ios_rm",
"tmp/SVG_VERSION"
],
"env": {
"CHROME_HEADLESS": "1",
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "rm tmp/SVG_VERSION"
},
{
"cmd": [
"[START_DIR]/skia/platform_tools/ios/bin/ios_rm",
"svgs"
],
"env": {
"CHROME_HEADLESS": "1",
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "rm svgs"
},
{
"cmd": [
"[START_DIR]/skia/platform_tools/ios/bin/ios_mkdir",
"svgs"
],
"env": {
"CHROME_HEADLESS": "1",
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "mkdir svgs"
},
{
"cmd": [
"[START_DIR]/skia/platform_tools/ios/bin/ios_push_if_needed",
"[START_DIR]/svg",
"svgs"
],
"env": {
"CHROME_HEADLESS": "1",
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "push_if_needed [START_DIR]/svg"
},
{
"cmd": [
"[START_DIR]/skia/platform_tools/ios/bin/ios_push_file",
"[START_DIR]/tmp/SVG_VERSION",
"tmp/SVG_VERSION"
],
"env": {
"CHROME_HEADLESS": "1",
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "push_file [START_DIR]/tmp/SVG_VERSION"
},
{
"cmd": [
"[START_DIR]/skia/platform_tools/ios/bin/ios_rm",
"perf"
],
"env": {
"CHROME_HEADLESS": "1",
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "rm perf"
},
{
"cmd": [
"[START_DIR]/skia/platform_tools/ios/bin/ios_mkdir",
"perf"
],
"env": {
"CHROME_HEADLESS": "1",
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "mkdir perf"
},
{
"cmd": [
"python",
"-u",
"import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n"
],
"env": {
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice"
},
"name": "get swarming bot id",
"~followup_annotations": [
"@@@STEP_LOG_LINE@python.inline@import os@@@",
"@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_BOT_ID', '')@@@",
"@@@STEP_LOG_END@python.inline@@@"
]
},
{
"cmd": [
"python",
"-u",
"import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n"
],
"env": {
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice"
},
"name": "get swarming task id",
"~followup_annotations": [
"@@@STEP_LOG_LINE@python.inline@import os@@@",
"@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_TASK_ID', '')@@@",
"@@@STEP_LOG_END@python.inline@@@"
]
},
{
"cmd": [
"idevice-app-runner",
"-s",
"com.google.nanobench",
"--args",
"-i",
"resources",
"--skps",
"skps",
"--images",
"images/nanobench",
"--svgs",
"svgs",
"--pre_log",
"--images",
"--gpuStatsDump",
"true",
"--scales",
"1.0",
"1.1",
"--skps",
"ignore_skps",
"--nocpu",
"--config",
"mtl",
"mtlmsaa4",
"--match",
"~blurroundrect",
"~patch_grid",
"~desk_carsvg",
"~keymobi",
"~path_hairline",
"~GLInstancedArraysBench",
"~inc0.gif",
"~inc1.gif",
"~incInterlaced.gif",
"~inc0.jpg",
"~incGray.jpg",
"~inc0.wbmp",
"~inc1.wbmp",
"~inc0.webp",
"~inc1.webp",
"~inc0.ico",
"~inc1.ico",
"~inc0.png",
"~inc1.png",
"~inc2.png",
"~inc12.png",
"~inc13.png",
"~inc14.png",
"~inc0.webp",
"~inc1.webp",
"--outResultsFile",
"perf/nanobench_abc123_1337000001.json",
"--properties",
"gitHash",
"abc123",
"swarming_bot_id",
"skia-bot-123",
"swarming_task_id",
"123456",
"--key",
"arch",
"arm64",
"compiler",
"Clang",
"cpu_or_gpu",
"GPU",
"cpu_or_gpu_value",
"PowerVRGX6450",
"extra_config",
"Metal",
"model",
"iPhone6",
"os",
"iOS"
],
"env": {
"CHROME_HEADLESS": "1",
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"name": "nanobench"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"ensure-directory",
"--mode",
"0777",
"[START_DIR]/[SWARM_OUT_DIR]"
],
"env": {
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice"
},
"infra_step": true,
"name": "makedirs perf_dir"
},
{
"cmd": [
"[START_DIR]/skia/platform_tools/ios/bin/ios_pull_if_needed",
"perf",
"[START_DIR]/[SWARM_OUT_DIR]"
],
"env": {
"CHROME_HEADLESS": "1",
"IOS_BUNDLE_ID": "com.google.nanobench",
"IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "pull_if_needed perf"
},
{
"name": "$result"
}
]

View File

@ -106,11 +106,22 @@ def nanobench_flags(api, bot):
if 'CommandBuffer' in bot:
configs = ['commandbuffer']
if 'Vulkan' in bot:
configs = ['vk']
if 'Android' in bot:
configs.append('vkmsaa4')
else:
# skbug.com/9023
if 'IntelHD405' not in bot:
configs.append('vkmsaa8')
if 'Metal' in bot:
configs = ['mtl']
if 'iOS' in bot:
configs.append('mtlmsaa4')
else:
configs.append('mtlmsaa8')
if 'ANGLE' in bot:
# Test only ANGLE configs.
@ -353,6 +364,7 @@ TEST_BUILDERS = [
('Perf-Android-Clang-Nexus5x-GPU-Adreno418-arm64-Release-All-'
'Android_NoGPUThreads'),
'Perf-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Release-All-Android',
'Perf-Android-Clang-P30-GPU-MaliG76-arm64-Release-All-Android_Vulkan',
'Perf-ChromeOS-Clang-ASUSChromebookFlipC100-GPU-MaliT764-arm-Release-All',
'Perf-Chromecast-Clang-Chorizo-CPU-Cortex_A7-arm-Debug-All',
'Perf-Chromecast-Clang-Chorizo-GPU-Cortex_A7-arm-Release-All',
@ -373,6 +385,7 @@ TEST_BUILDERS = [
'Valgrind_SK_CPU_LIMIT_SSE41'),
'Perf-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-ANGLE',
'Perf-iOS-Clang-iPadPro-GPU-PowerVRGT7800-arm64-Release-All',
'Perf-iOS-Clang-iPhone6-GPU-PowerVRGX6450-arm64-Release-All-Metal',
]

View File

@ -246,7 +246,7 @@ def dm_flags(api, bot):
if 'Vulkan' in bot:
configs = ['vk']
if 'Android' in bot or 'iOS' in bot:
if 'Android' in bot:
configs.append('vkmsaa4')
else:
# skbug.com/9023
@ -258,7 +258,9 @@ def dm_flags(api, bot):
if 'iOS' in bot:
configs.append('mtlmsaa4')
else:
configs.append('mtlmsaa8')
# We don't want to test MSAA on older (pre-Gen9) Intel chipsets.
if 'IntelHD6000' not in bot:
configs.append('mtlmsaa8')
# Test 1010102 on our Linux/NVIDIA bots and the persistent cache config
# on the GL bots.

File diff suppressed because it is too large Load Diff