| Index: src/gpu/GrClipMaskManager.cpp
|
| diff --git a/src/gpu/GrClipMaskManager.cpp b/src/gpu/GrClipMaskManager.cpp
|
| index 5e2c0aa795522a85d0a82b15016e2d8c5a000cdb..e56f4dd77d523ad9f64df980c0435b82e7b552cd 100644
|
| --- a/src/gpu/GrClipMaskManager.cpp
|
| +++ b/src/gpu/GrClipMaskManager.cpp
|
| @@ -425,8 +425,6 @@ void GrClipMaskManager::mergeMask(GrDrawState* drawState,
|
| SkRegion::Op op,
|
| const SkIRect& dstBound,
|
| const SkIRect& srcBound) {
|
| - SkAssertResult(drawState->setIdentityViewMatrix());
|
| -
|
| drawState->setRenderTarget(dstMask->asRenderTarget());
|
|
|
| // We want to invert the coverage here
|
| @@ -606,11 +604,11 @@ GrTexture* GrClipMaskManager::createAlphaClipMask(int32_t elementsGenID,
|
| return NULL;
|
| }
|
|
|
| - GrDrawState backgroundDrawState(translate);
|
| - backgroundDrawState.enableState(GrDrawState::kClip_StateBit);
|
| - backgroundDrawState.setRenderTarget(result->asRenderTarget());
|
| -
|
| if (useTemp) {
|
| + GrDrawState backgroundDrawState;
|
| + backgroundDrawState.enableState(GrDrawState::kClip_StateBit);
|
| + backgroundDrawState.setRenderTarget(result->asRenderTarget());
|
| +
|
| // Now draw into the accumulator using the real operation and the temp buffer as a
|
| // texture
|
| this->mergeMask(&backgroundDrawState,
|
| @@ -620,6 +618,10 @@ GrTexture* GrClipMaskManager::createAlphaClipMask(int32_t elementsGenID,
|
| maskSpaceIBounds,
|
| maskSpaceElementIBounds);
|
| } else {
|
| + GrDrawState backgroundDrawState(translate);
|
| + backgroundDrawState.enableState(GrDrawState::kClip_StateBit);
|
| + backgroundDrawState.setRenderTarget(result->asRenderTarget());
|
| +
|
| set_coverage_drawing_xpf(op, !invert, &backgroundDrawState);
|
| // Draw to the exterior pixels (those with a zero stencil value).
|
| GR_STATIC_CONST_SAME_STENCIL(kDrawOutsideElement,
|
|
|