aboutsummaryrefslogtreecommitdiffhomepage
path: root/infra
diff options
context:
space:
mode:
authorGravatar Brian Osman <brianosman@google.com>2017-08-30 10:02:10 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-08-30 15:27:42 +0000
commitf9810666bd40db8fb1650e6c727c1a83b8090136 (patch)
tree0d346bbb44d61c7da4c53655620e890f60758ffc /infra
parente750391c349ff1fa1c179fbf2f5af27fb4405cef (diff)
Threaded generation of software paths
Re-land of: https://skia-review.googlesource.com/36560 All information needed by the thread is captured by the prepare callback object, the lambda captures a pointer to that, and does the mask render. Once it's done, it signals the semaphore (also owned by the callback). The callback defers the semaphore wait even longer (into the ASAP upload), so the odds of waiting for the thread are REALLY low. Also did a bunch of cleanup along the way, and put in some trace markers so we can monitor how well this is working. Traces of a GM that includes GPU and SW path rendering (path-reverse): Original: https://screenshot.googleplex.com/f5BG3901tQg.png Threaded, with wait in the callback (notice pre flush callback blocking): https://screenshot.googleplex.com/htOSZFE2s04.png Current version, with wait deferred to ASAP upload function: https://screenshot.googleplex.com/GHjD0U3C34q.png Bug: skia: Change-Id: Idb92f385590749f41328a9aec65b2a93f4775079 Reviewed-on: https://skia-review.googlesource.com/40775 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
Diffstat (limited to 'infra')
-rw-r--r--infra/bots/recipes/test.expected/Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-TSAN.json2
-rw-r--r--infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC5PPYH-GPU-IntelHD405-x86_64-Debug.json9
-rw-r--r--infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-Vulkan.json8
-rw-r--r--infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Release.json9
-rw-r--r--infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUCDE3815TYKHE-GPU-IntelBayTrail-x86_64-Debug.json9
-rw-r--r--infra/bots/recipes/test.py26
6 files changed, 53 insertions, 10 deletions
diff --git a/infra/bots/recipes/test.expected/Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-TSAN.json b/infra/bots/recipes/test.expected/Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-TSAN.json
index 38bac0ddc1..19217f0129 100644
--- a/infra/bots/recipes/test.expected/Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-TSAN.json
+++ b/infra/bots/recipes/test.expected/Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-TSAN.json
@@ -178,6 +178,8 @@
"image",
"colorImage",
"svg",
+ "--gpuThreads",
+ "8",
"--blacklist",
"~8888",
"svg",
diff --git a/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC5PPYH-GPU-IntelHD405-x86_64-Debug.json b/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC5PPYH-GPU-IntelHD405-x86_64-Debug.json
index c00676ccc8..38b962b677 100644
--- a/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC5PPYH-GPU-IntelHD405-x86_64-Debug.json
+++ b/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC5PPYH-GPU-IntelHD405-x86_64-Debug.json
@@ -260,6 +260,7 @@
"glsrgb",
"gles",
"glesdft",
+ "gltestthreading",
"--src",
"tests",
"gm",
@@ -267,6 +268,14 @@
"colorImage",
"svg",
"--blacklist",
+ "gltestthreading",
+ "gm",
+ "_",
+ "lcdblendmodes",
+ "gltestthreading",
+ "gm",
+ "_",
+ "lcdoverlap",
"_",
"svg",
"_",
diff --git a/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-Vulkan.json b/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-Vulkan.json
index f0c615aeea..0f026edf00 100644
--- a/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-Vulkan.json
+++ b/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-Vulkan.json
@@ -265,6 +265,14 @@
"colorImage",
"svg",
"--blacklist",
+ "gltestthreading",
+ "gm",
+ "_",
+ "lcdblendmodes",
+ "gltestthreading",
+ "gm",
+ "_",
+ "lcdoverlap",
"_",
"svg",
"_",
diff --git a/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Release.json b/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Release.json
index c3b060f203..edb288ec3b 100644
--- a/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Release.json
+++ b/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Release.json
@@ -260,6 +260,7 @@
"glsrgb",
"gles",
"glesdft",
+ "gltestthreading",
"--src",
"tests",
"gm",
@@ -267,6 +268,14 @@
"colorImage",
"svg",
"--blacklist",
+ "gltestthreading",
+ "gm",
+ "_",
+ "lcdblendmodes",
+ "gltestthreading",
+ "gm",
+ "_",
+ "lcdoverlap",
"_",
"svg",
"_",
diff --git a/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUCDE3815TYKHE-GPU-IntelBayTrail-x86_64-Debug.json b/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUCDE3815TYKHE-GPU-IntelBayTrail-x86_64-Debug.json
index f3b5141f82..76c5c47e6b 100644
--- a/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUCDE3815TYKHE-GPU-IntelBayTrail-x86_64-Debug.json
+++ b/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUCDE3815TYKHE-GPU-IntelBayTrail-x86_64-Debug.json
@@ -260,6 +260,7 @@
"glsrgb",
"gles",
"glesdft",
+ "gltestthreading",
"--src",
"tests",
"gm",
@@ -267,6 +268,14 @@
"colorImage",
"svg",
"--blacklist",
+ "gltestthreading",
+ "gm",
+ "_",
+ "lcdblendmodes",
+ "gltestthreading",
+ "gm",
+ "_",
+ "lcdoverlap",
"_",
"svg",
"_",
diff --git a/infra/bots/recipes/test.py b/infra/bots/recipes/test.py
index 69ec34afe5..ad0334c288 100644
--- a/infra/bots/recipes/test.py
+++ b/infra/bots/recipes/test.py
@@ -26,6 +26,15 @@ DEPS = [
def dm_flags(api, bot):
args = []
+ configs = []
+ blacklisted = []
+
+ def blacklist(quad):
+ config, src, options, name = quad.split(' ') if type(quad) is str else quad
+ if (config == '_' or
+ config in configs or
+ (config[0] == '~' and config[1:] in configs)):
+ blacklisted.extend([config, src, options, name])
# We've been spending lots of time writing out and especially uploading
# .pdfs, but not doing anything further with them. skia:6821
@@ -67,7 +76,6 @@ def dm_flags(api, bot):
'PixelC' in bot):
args.append('--ignoreSigInt')
- configs = []
if api.vars.builder_cfg.get('cpu_or_gpu') == 'CPU':
args.append('--nogpu')
@@ -148,8 +156,13 @@ def dm_flags(api, bot):
# We want to test both the OpenGL config and the GLES config on Linux Intel:
# GL is used by Chrome, GLES is used by ChromeOS.
+ # Also do the Ganesh threading verification test (render with and without
+ # worker threads, using only the SW path renderer, and compare the results).
if 'Intel' in bot and api.vars.is_linux:
- configs.extend(['gles', 'glesdft', 'glessrgb'])
+ configs.extend(['gles', 'glesdft', 'glessrgb', 'gltestthreading'])
+ # skbug.com/6333, skbug.com/6419, skbug.com/6702
+ blacklist('gltestthreading gm _ lcdblendmodes')
+ blacklist('gltestthreading gm _ lcdoverlap')
# The following devices do not support glessrgb.
if 'glessrgb' in configs:
@@ -218,14 +231,6 @@ def dm_flags(api, bot):
if 'SK_FORCE_RASTER_PIPELINE_BLITTER' in bot:
args.remove('tests')
- blacklisted = []
- def blacklist(quad):
- config, src, options, name = quad.split(' ') if type(quad) is str else quad
- if (config == '_' or
- config in configs or
- (config[0] == '~' and config[1:] in configs)):
- blacklisted.extend([config, src, options, name])
-
# Only run the 'svgparse_*' svgs on 8888.
if api.vars.builder_cfg.get('cpu_or_gpu') == 'GPU':
blacklist('_ svg _ svgparse_')
@@ -486,6 +491,7 @@ def dm_flags(api, bot):
match.extend(['~Once', '~Shared']) # Not sure what's up with these tests.
if 'TSAN' in bot:
+ args.extend(['--gpuThreads', '8'])
match.extend(['~ReadWriteAlpha']) # Flaky on TSAN-covered on nvidia bots.
match.extend(['~RGBA4444TextureTest', # Flakier than they are important.
'~RGB565TextureTest'])