diff options
author | 2017-08-29 15:18:34 -0400 | |
---|---|---|
committer | 2017-08-29 19:37:32 +0000 | |
commit | 8b0f265f70703fa96c6d9011b1d8440e60d63632 (patch) | |
tree | 612770c26ade4c189b8a3143a8662c43d7c6a4b8 /tools | |
parent | ef45e6eb5862b80769d2ef64630b8003d8ef6c62 (diff) |
Always include the default path renderer in the chain
This (plus SW) ensures that we can always draw any path. Changed the path
renderer command line flags so that 'default' means everything but CCPR,
and 'All' really means 'every path renderer'.
Bug: skia:
Change-Id: I2801d1c50ab939f23efb4600e0f90e6add2891b7
Reviewed-on: https://skia-review.googlesource.com/40221
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/flags/SkCommonFlagsPathRenderer.h | 14 | ||||
-rw-r--r-- | tools/viewer/Viewer.cpp | 13 |
2 files changed, 15 insertions, 12 deletions
diff --git a/tools/flags/SkCommonFlagsPathRenderer.h b/tools/flags/SkCommonFlagsPathRenderer.h index 0a53beb889..9a89bb93ea 100644 --- a/tools/flags/SkCommonFlagsPathRenderer.h +++ b/tools/flags/SkCommonFlagsPathRenderer.h @@ -17,15 +17,17 @@ DECLARE_string(pr); #define DEFINE_pathrenderer_flag \ - DEFINE_string(pr, "all", \ + DEFINE_string(pr, "default", \ "Set of enabled gpu path renderers. Defined as a list of: " \ - "[[~]all [~]dashline [~]nvpr [~]msaa [~]aahairline [~]aaconvex " \ - "[~]aalinearizing [~]small [~]tess [~]grdefault]") + "[[~]all [~]default [~]dashline [~]nvpr [~]msaa [~]aahairline [~]aaconvex " \ + "[~]aalinearizing [~]small [~]tess]") inline GrContextOptions::GpuPathRenderers get_named_pathrenderers_flags(const char* name) { using GpuPathRenderers = GrContextOptions::GpuPathRenderers; 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")) { @@ -44,8 +46,6 @@ inline GrContextOptions::GpuPathRenderers get_named_pathrenderers_flags(const ch return GpuPathRenderers::kCoverageCounting; } else if (!strcmp(name, "tess")) { return GpuPathRenderers::kTessellating; - } else if (!strcmp(name, "grdefault")) { - return GpuPathRenderers::kDefault; } else if (!strcmp(name, "none")) { return GpuPathRenderers::kNone; } @@ -56,10 +56,10 @@ inline GrContextOptions::GpuPathRenderers get_named_pathrenderers_flags(const ch inline GrContextOptions::GpuPathRenderers CollectGpuPathRenderersFromFlags() { using GpuPathRenderers = GrContextOptions::GpuPathRenderers; if (FLAGS_pr.isEmpty()) { - return GpuPathRenderers::kAll; + return GpuPathRenderers::kDefault; } GpuPathRenderers gpuPathRenderers = '~' == FLAGS_pr[0][0] ? - GpuPathRenderers::kAll : GpuPathRenderers::kNone; + GpuPathRenderers::kDefault : GpuPathRenderers::kNone; for (int i = 0; i < FLAGS_pr.count(); ++i) { const char* name = FLAGS_pr[i]; if (name[0] == '~') { diff --git a/tools/viewer/Viewer.cpp b/tools/viewer/Viewer.cpp index dd8d3303f8..9bfdc4b60a 100644 --- a/tools/viewer/Viewer.cpp +++ b/tools/viewer/Viewer.cpp @@ -268,13 +268,14 @@ Viewer::Viewer(int argc, char** argv, void* platformData) static SkOnce initPathRendererNames; initPathRendererNames([]() { - gPathRendererNames[GpuPathRenderers::kAll] = "Default Ganesh Behavior (best path renderer)"; + gPathRendererNames[GpuPathRenderers::kAll] = "All Path Renderers"; + gPathRendererNames[GpuPathRenderers::kDefault] = + "Default Ganesh Behavior (best path renderer, not including CCPR)"; gPathRendererNames[GpuPathRenderers::kStencilAndCover] = "NV_path_rendering"; gPathRendererNames[GpuPathRenderers::kMSAA] = "Sample shading"; gPathRendererNames[GpuPathRenderers::kSmall] = "Small paths (cached sdf or alpha masks)"; gPathRendererNames[GpuPathRenderers::kCoverageCounting] = "Coverage counting"; gPathRendererNames[GpuPathRenderers::kTessellating] = "Tessellating"; - gPathRendererNames[GpuPathRenderers::kDefault] = "Original Ganesh path renderer"; gPathRendererNames[GpuPathRenderers::kNone] = "Software masks"; }); @@ -613,7 +614,7 @@ void Viewer::updateTitle() { title.append("]"); GpuPathRenderers pr = fWindow->getRequestedDisplayParams().fGrContextOptions.fGpuPathRenderers; - if (GpuPathRenderers::kAll != pr) { + if (GpuPathRenderers::kDefault != pr) { title.appendf(" [Path renderer: %s]", gPathRendererNames[pr].c_str()); } @@ -1103,6 +1104,7 @@ void Viewer::drawImGui(SkCanvas* canvas) { if (!ctx) { ImGui::RadioButton("Software", true); } else if (fWindow->sampleCount()) { + prButton(GpuPathRenderers::kDefault); prButton(GpuPathRenderers::kAll); if (ctx->caps()->shaderCaps()->pathRenderingSupport()) { prButton(GpuPathRenderers::kStencilAndCover); @@ -1111,9 +1113,9 @@ void Viewer::drawImGui(SkCanvas* canvas) { prButton(GpuPathRenderers::kMSAA); } prButton(GpuPathRenderers::kTessellating); - prButton(GpuPathRenderers::kDefault); prButton(GpuPathRenderers::kNone); } else { + prButton(GpuPathRenderers::kDefault); prButton(GpuPathRenderers::kAll); if (GrCoverageCountingPathRenderer::IsSupported(*ctx->caps())) { prButton(GpuPathRenderers::kCoverageCounting); @@ -1342,6 +1344,7 @@ void Viewer::updateUIState() { if (!ctx) { prState[kOptions].append("Software"); } else if (fWindow->sampleCount()) { + prState[kOptions].append(gPathRendererNames[GpuPathRenderers::kDefault]); prState[kOptions].append(gPathRendererNames[GpuPathRenderers::kAll]); if (ctx->caps()->shaderCaps()->pathRenderingSupport()) { prState[kOptions].append(gPathRendererNames[GpuPathRenderers::kStencilAndCover]); @@ -1350,9 +1353,9 @@ void Viewer::updateUIState() { prState[kOptions].append(gPathRendererNames[GpuPathRenderers::kMSAA]); } prState[kOptions].append(gPathRendererNames[GpuPathRenderers::kTessellating]); - prState[kOptions].append(gPathRendererNames[GpuPathRenderers::kDefault]); prState[kOptions].append(gPathRendererNames[GpuPathRenderers::kNone]); } else { + prState[kOptions].append(gPathRendererNames[GpuPathRenderers::kDefault]); prState[kOptions].append(gPathRendererNames[GpuPathRenderers::kAll]); if (GrCoverageCountingPathRenderer::IsSupported(*ctx->caps())) { prState[kOptions].append(gPathRendererNames[GpuPathRenderers::kCoverageCounting]); |