Index: src/gpu/GrClipMaskManager.cpp |
diff --git a/src/gpu/GrClipMaskManager.cpp b/src/gpu/GrClipMaskManager.cpp |
index c591bf11826babd6fdfe9861994a1a8bc8da9e7b..13dafea0e4dfb43e766fd6bdf0b95697a46c4a32 100644 |
--- a/src/gpu/GrClipMaskManager.cpp |
+++ b/src/gpu/GrClipMaskManager.cpp |
@@ -115,7 +115,7 @@ bool GrClipMaskManager::PathNeedsSWRenderer(GrContext* context, |
* entire clip should be rendered in SW and then uploaded en masse to the gpu. |
*/ |
bool GrClipMaskManager::UseSWOnlyPath(GrContext* context, |
- const GrPipelineBuilder& pipelineBuilder, |
+ bool hasUserStencilSettings, |
const GrDrawContext* drawContext, |
const SkVector& clipToMaskOffset, |
const GrReducedClip::ElementList& elements) { |
@@ -135,7 +135,7 @@ bool GrClipMaskManager::UseSWOnlyPath(GrContext* context, |
bool needsStencil = invert || |
SkRegion::kIntersect_Op == op || SkRegion::kReverseDifference_Op == op; |
- if (PathNeedsSWRenderer(context, pipelineBuilder.hasUserStencilSettings(), |
+ if (PathNeedsSWRenderer(context, hasUserStencilSettings, |
drawContext, translate, element, nullptr, needsStencil)) { |
return true; |
} |
@@ -226,10 +226,11 @@ static bool get_analytic_clip_processor(const GrReducedClip::ElementList& elemen |
// sort out what kind of clip mask needs to be created: alpha, stencil, |
// scissor, or entirely software |
bool GrClipMaskManager::SetupClipping(GrContext* context, |
- const GrPipelineBuilder& pipelineBuilder, |
GrDrawContext* drawContext, |
const GrClipStackClip& clip, |
const SkRect* origDevBounds, |
+ bool useHWAA, |
+ bool hasUserStencilSettings, |
GrAppliedClip* out) { |
if (!clip.clipStack() || clip.clipStack()->isWideOpen()) { |
return true; |
@@ -293,8 +294,7 @@ bool GrClipMaskManager::SetupClipping(GrContext* context, |
// With a single color sample, any coverage info is lost from color once it hits the |
// color buffer anyway, so we may as well use coverage AA if nothing else in the pipe |
// is multisampled. |
- disallowAnalyticAA = pipelineBuilder.isHWAntialias() || |
- pipelineBuilder.hasUserStencilSettings(); |
+ disallowAnalyticAA = useHWAA || hasUserStencilSettings; |
} |
sk_sp<GrFragmentProcessor> clipFP; |
if (requiresAA && |
@@ -321,7 +321,7 @@ bool GrClipMaskManager::SetupClipping(GrContext* context, |
SkIntToScalar(-clipSpaceIBounds.fTop) |
}; |
- if (UseSWOnlyPath(context, pipelineBuilder, drawContext, |
+ if (UseSWOnlyPath(context, hasUserStencilSettings, drawContext, |
clipToMaskOffset, elements)) { |
// The clip geometry is complex enough that it will be more efficient to create it |
// entirely in software |