Index: src/gpu/GrPipelineBuilder.cpp |
diff --git a/src/gpu/GrPipelineBuilder.cpp b/src/gpu/GrPipelineBuilder.cpp |
index 9117a1fea3ca31a981ba0c1e62df73d6d385bbb9..faa20b1066177a6417dfc02887953745047aeb09 100644 |
--- a/src/gpu/GrPipelineBuilder.cpp |
+++ b/src/gpu/GrPipelineBuilder.cpp |
@@ -32,6 +32,7 @@ GrPipelineBuilder& GrPipelineBuilder::operator=(const GrPipelineBuilder& that) { |
fXPFactory.reset(SkRef(that.getXPFactory())); |
fColorStages = that.fColorStages; |
fCoverageStages = that.fCoverageStages; |
+ fClip = that.fClip; |
fColorProcInfoValid = that.fColorProcInfoValid; |
fCoverageProcInfoValid = that.fCoverageProcInfoValid; |
@@ -46,7 +47,7 @@ GrPipelineBuilder& GrPipelineBuilder::operator=(const GrPipelineBuilder& that) { |
return *this; |
} |
-void GrPipelineBuilder::setFromPaint(const GrPaint& paint, GrRenderTarget* rt) { |
+void GrPipelineBuilder::setFromPaint(const GrPaint& paint, GrRenderTarget* rt, const GrClip* clip) { |
SkASSERT(0 == fBlockEffectRemovalCnt || 0 == this->numFragmentStages()); |
fColorStages.reset(); |
@@ -69,8 +70,9 @@ void GrPipelineBuilder::setFromPaint(const GrPaint& paint, GrRenderTarget* rt) { |
fStencilSettings.setDisabled(); |
fFlagBits = 0; |
- // Enable the clip bit |
- this->enableState(GrPipelineBuilder::kClip_StateBit); |
+ if (clip) { |
+ fClip = *clip; |
+ } |
this->setState(GrPipelineBuilder::kDither_StateBit, paint.isDither()); |
this->setState(GrPipelineBuilder::kHWAntialias_StateBit, paint.isAntiAlias()); |