aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrSoftwarePathRenderer.cpp
diff options
context:
space:
mode:
authorGravatar robertphillips <robertphillips@google.com>2014-07-25 05:52:38 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2014-07-25 05:52:38 -0700
commit730c0447916909f01df7fa12e9c82dd7cf7989dc (patch)
treed883c83c58ceae5e9c90bc554fce4446fbfee5a0 /src/gpu/GrSoftwarePathRenderer.cpp
parentf7be19401b4e718fab8bdb3b70fb54076bbb4259 (diff)
Alter Default & Software path renderers to better handle AA hairline paths
For some (as yet unknown reason) the guard in ConicPathBench that disables the path_hairline_big_AA_conic case isn't working. As an alternate fix, this CL makes the Default path renderer confess its lack of support for conics and allows the Software path renderer to handle non-AA cases. This will work but the real fix is to enable conics in the Default path renderer. Here is the situation we're seeing in the path_hairline_big_AA_conic case: the path is a hairline drawn with AA the render target is multisampled (so AA on the draw gets disabled) StencilAndCover path renderer doesn't handle hairlines AAHairLine path renderer only handles AA paths (but can handle conics) AAConvexPath renderer also only handles AA paths Default path renderer only handles non-AA paths (but doesn't handle conics) Software path renderer - was disallowed from handling non-AA paths BUG=skia:2078 R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/418073002
Diffstat (limited to 'src/gpu/GrSoftwarePathRenderer.cpp')
-rw-r--r--src/gpu/GrSoftwarePathRenderer.cpp8
1 files changed, 1 insertions, 7 deletions
diff --git a/src/gpu/GrSoftwarePathRenderer.cpp b/src/gpu/GrSoftwarePathRenderer.cpp
index d0936d6b28..bca2c66b37 100644
--- a/src/gpu/GrSoftwarePathRenderer.cpp
+++ b/src/gpu/GrSoftwarePathRenderer.cpp
@@ -15,13 +15,7 @@ bool GrSoftwarePathRenderer::canDrawPath(const SkPath&,
const SkStrokeRec&,
const GrDrawTarget*,
bool antiAlias) const {
- if (!antiAlias || NULL == fContext) {
- // TODO: We could allow the SW path to also handle non-AA paths but
- // this would mean that GrDefaultPathRenderer would never be called
- // (since it appears after the SW renderer in the path renderer
- // chain). Some testing would need to be done r.e. performance
- // and consistency of the resulting images before removing
- // the "!antiAlias" clause from the above test
+ if (NULL == fContext) {
return false;
}