Revert "Add kAAHairline to GpuPathRenderers"

This reverts commit 880b9d302f.

Reason for revert: Appears to be breaking serialization.
See https://ci.chromium.org/raw/build/logs.chromium.org/skia/20180718T201711.486335899Z_000000000077bbff/+/annotations

Original change's description:
> Add kAAHairline to GpuPathRenderers
> 
> With the upcoming ccpr stroking, this will no longer be the only path
> renderer that can handle hairlines.
> 
> Bug: skia:
> Change-Id: Idf2543f053c8603c80fcd647ca18ffd9860a85f3
> Reviewed-on: https://skia-review.googlesource.com/142246
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

TBR=brianosman@google.com,csmartdalton@google.com

Change-Id: I1967c2cf6b1f1307270bf62bb04130cdf84317b7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/142280
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
This commit is contained in:
Ben Wagner 2018-07-18 21:24:11 +00:00 committed by Skia Commit-Bot
parent 2eacff02f1
commit 7c0998a130
4 changed files with 23 additions and 23 deletions

View File

@ -972,12 +972,11 @@ enum class GpuPathRenderers {
kNone = 0, // Always use sofware masks and/or GrDefaultPathRenderer.
kDashLine = 1 << 0,
kStencilAndCover = 1 << 1,
kCoverageCounting = 1 << 2,
kAAHairline = 1 << 3,
kAAConvex = 1 << 4,
kAALinearizing = 1 << 5,
kSmall = 1 << 6,
kTessellating = 1 << 7,
kAAConvex = 1 << 2,
kAALinearizing = 1 << 3,
kSmall = 1 << 4,
kCoverageCounting = 1 << 5,
kTessellating = 1 << 6,
kAll = (kTessellating | (kTessellating - 1)),
kDefault = kAll

View File

@ -34,6 +34,10 @@ GrPathRendererChain::GrPathRendererChain(GrContext* context, const Options& opti
fChain.push_back(std::move(pr));
}
}
// AA hairline path renderer is very specialized - no other renderer can do this job well
fChain.push_back(sk_make_sp<GrAAHairLinePathRenderer>());
if (options.fGpuPathRenderers & GpuPathRenderers::kCoverageCounting) {
using AllowCaching = GrCoverageCountingPathRenderer::AllowCaching;
if (auto ccpr = GrCoverageCountingPathRenderer::CreateIfSupported(
@ -43,9 +47,6 @@ GrPathRendererChain::GrPathRendererChain(GrContext* context, const Options& opti
fChain.push_back(std::move(ccpr));
}
}
if (options.fGpuPathRenderers & GpuPathRenderers::kAAHairline) {
fChain.push_back(sk_make_sp<GrAAHairLinePathRenderer>());
}
if (options.fGpuPathRenderers & GpuPathRenderers::kAAConvex) {
fChain.push_back(sk_make_sp<GrAAConvexPathRenderer>());
}

View File

@ -161,10 +161,10 @@ DEFINE_bool(cachePathMasks, true, "Allows path mask textures to be cached in GPU
DEFINE_bool(noGS, false, "Disables support for geometry shaders.");
DEFINE_string(pr, "all",
DEFINE_string(pr, "default",
"Set of enabled gpu path renderers. Defined as a list of: "
"[~]none [~]dashline [~]nvpr [~]ccpr [~]aahairline [~]aaconvex [~]aalinearizing "
"[~]small [~]tess] [~]all");
"[~]all [~]default [~]dashline [~]nvpr [~]aaconvex "
"[~]aalinearizing [~]small [~]tess]");
void SetCtxOptionsFromCommonFlags(GrContextOptions* ctxOptions) {
static std::unique_ptr<SkExecutor> gGpuExecutor = (0 != FLAGS_gpuThreads)

View File

@ -18,26 +18,26 @@ DECLARE_bool(noGS);
DECLARE_string(pr);
inline GpuPathRenderers get_named_pathrenderers_flags(const char* name) {
if (!strcmp(name, "none")) {
return GpuPathRenderers::kNone;
if (!strcmp(name, "all")) {
return GpuPathRenderers::kAll;
} else if (!strcmp(name, "default")) {
return GpuPathRenderers::kDefault;
} else if (!strcmp(name, "dashline")) {
return GpuPathRenderers::kDashLine;
} else if (!strcmp(name, "nvpr")) {
return GpuPathRenderers::kStencilAndCover;
} else if (!strcmp(name, "ccpr")) {
return GpuPathRenderers::kCoverageCounting;
} else if (!strcmp(name, "aahairline")) {
return GpuPathRenderers::kAAHairline;
} else if (!strcmp(name, "aaconvex")) {
return GpuPathRenderers::kAAConvex;
} else if (!strcmp(name, "aalinearizing")) {
return GpuPathRenderers::kAALinearizing;
} else if (!strcmp(name, "small")) {
return GpuPathRenderers::kSmall;
} else if (!strcmp(name, "ccpr")) {
return GpuPathRenderers::kCoverageCounting;
} else if (!strcmp(name, "tess")) {
return GpuPathRenderers::kTessellating;
} else if (!strcmp(name, "all")) {
return GpuPathRenderers::kAll;
} else if (!strcmp(name, "none")) {
return GpuPathRenderers::kNone;
}
SK_ABORT(SkStringPrintf("error: unknown named path renderer \"%s\"\n", name).c_str());
return GpuPathRenderers::kNone;
@ -45,10 +45,10 @@ inline GpuPathRenderers get_named_pathrenderers_flags(const char* name) {
inline GpuPathRenderers CollectGpuPathRenderersFromFlags() {
if (FLAGS_pr.isEmpty()) {
return GpuPathRenderers::kAll;
return GpuPathRenderers::kDefault;
}
GpuPathRenderers gpuPathRenderers = '~' == FLAGS_pr[0][0]
? GpuPathRenderers::kAll : GpuPathRenderers::kNone;
GpuPathRenderers gpuPathRenderers = '~' == FLAGS_pr[0][0] ?
GpuPathRenderers::kDefault : GpuPathRenderers::kNone;
for (int i = 0; i < FLAGS_pr.count(); ++i) {
const char* name = FLAGS_pr[i];
if (name[0] == '~') {