diff options
author | Brian Salomon <bsalomon@google.com> | 2017-08-24 21:28:04 +0000 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-08-24 21:34:38 +0000 |
commit | 87ae9895692e4a97873a510178003d1ba70ab79a (patch) | |
tree | e7c66b2fc574bf3795a27ca81bf9b3301cd9d0a1 /tools/flags/SkCommonFlagsConfig.cpp | |
parent | 59c7a6e6e252359dfcd84dc82986354398e2e8c3 (diff) |
Revert "Threaded generation of software paths"
This reverts commit 76323bc0615044a5921afef0e19a350f3d04ffe0.
Reason for revert: Breaking NUC bots in threaded gm comparison:
https://chromium-swarm.appspot.com/task?id=382e589753187f10&refresh=10
Original change's description:
> Threaded generation of software paths
>
> 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: I3d5a230bbd68eb35e1f0574b308485c691435790
> Reviewed-on: https://skia-review.googlesource.com/36560
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
TBR=egdaniel@google.com,mtklein@google.com,bsalomon@google.com,robertphillips@google.com,brianosman@google.com
Change-Id: Icac0918a3771859f671b69ae07ae0fedd3ebb3db
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/38560
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'tools/flags/SkCommonFlagsConfig.cpp')
-rw-r--r-- | tools/flags/SkCommonFlagsConfig.cpp | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/tools/flags/SkCommonFlagsConfig.cpp b/tools/flags/SkCommonFlagsConfig.cpp index 16fe914f77..03b3b96822 100644 --- a/tools/flags/SkCommonFlagsConfig.cpp +++ b/tools/flags/SkCommonFlagsConfig.cpp @@ -72,7 +72,6 @@ static const struct { { "glesnarrow", "gpu", "api=gles,color=f16_narrow" }, { "gldft", "gpu", "api=gl,dit=true" }, { "glesdft", "gpu", "api=gles,dit=true" }, - { "gltestthreading", "gpu", "api=gl,testThreading=true" }, { "debuggl", "gpu", "api=debuggl" }, { "nullgl", "gpu", "api=nullgl" }, { "angle_d3d11_es2", "gpu", "api=angle_d3d11_es2" }, @@ -171,8 +170,6 @@ static const char configExtendedHelp[] = "\t Use multisampling with N samples.\n" "\tstencils\ttype: bool\tdefault: true.\n" "\t Allow the use of stencil buffers.\n" - "\ttestThreading\ttype: bool\tdefault: false.\n" - "\t Run config with and without worker threads, check that results match.\n" "\n" "Predefined configs:\n\n" // Help text for pre-defined configs is auto-generated from gPredefinedConfigs @@ -203,7 +200,7 @@ SkCommandLineConfig::~SkCommandLineConfig() { SkCommandLineConfigGpu::SkCommandLineConfigGpu( const SkString& tag, const SkTArray<SkString>& viaParts, ContextType contextType, bool useNVPR, bool useInstanced, bool useDIText, int samples, SkColorType colorType, SkAlphaType alphaType, - sk_sp<SkColorSpace> colorSpace, bool useStencilBuffers, bool testThreading) + sk_sp<SkColorSpace> colorSpace, bool useStencilBuffers) : SkCommandLineConfig(tag, SkString("gpu"), viaParts) , fContextType(contextType) , fContextOverrides(ContextOverrides::kNone) @@ -211,8 +208,7 @@ SkCommandLineConfigGpu::SkCommandLineConfigGpu( , fSamples(samples) , fColorType(colorType) , fAlphaType(alphaType) - , fColorSpace(std::move(colorSpace)) - , fTestThreading(testThreading) { + , fColorSpace(std::move(colorSpace)) { if (useNVPR) { fContextOverrides |= ContextOverrides::kRequireNVPRSupport; } else if (!useInstanced) { @@ -423,8 +419,6 @@ SkCommandLineConfigGpu* parse_command_line_config_gpu(const SkString& tag, sk_sp<SkColorSpace> colorSpace = nullptr; bool seenUseStencils = false; bool useStencils = true; - bool seenTestThreading = false; - bool testThreading = false; SkTArray<SkString> optionParts; SkStrSplit(options.c_str(), ",", kStrict_SkStrSplitMode, &optionParts); @@ -458,9 +452,6 @@ SkCommandLineConfigGpu* parse_command_line_config_gpu(const SkString& tag, } else if (key.equals("stencils") && !seenUseStencils) { valueOk = parse_option_bool(value, &useStencils); seenUseStencils = true; - } else if (key.equals("testThreading") && !seenTestThreading) { - valueOk = parse_option_bool(value, &testThreading); - seenTestThreading = true; } if (!valueOk) { return nullptr; @@ -470,8 +461,7 @@ SkCommandLineConfigGpu* parse_command_line_config_gpu(const SkString& tag, return nullptr; } return new SkCommandLineConfigGpu(tag, vias, contextType, useNVPR, useInstanced, useDIText, - samples, colorType, alphaType, colorSpace, useStencils, - testThreading); + samples, colorType, alphaType, colorSpace, useStencils); } #endif |