| Index: src/gpu/GrGpu.cpp
|
| diff --git a/src/gpu/GrGpu.cpp b/src/gpu/GrGpu.cpp
|
| index 0c58430dd1a96f4b64817116bcbb2fa24cb80bb5..ae98b54bea8dd054f2657b94d8fc75c17ab9ab1f 100644
|
| --- a/src/gpu/GrGpu.cpp
|
| +++ b/src/gpu/GrGpu.cpp
|
| @@ -292,9 +292,9 @@ const GrIndexBuffer* GrGpu::getQuadIndexBuffer() const {
|
|
|
| ////////////////////////////////////////////////////////////////////////////////
|
|
|
| -bool GrGpu::setupClipAndFlushState(DrawType type, const GrDeviceCoordTexture* dstCopy) {
|
| -
|
| - if (!fClipMaskManager.setupClipping(this->getClip())) {
|
| +bool GrGpu::setupClipAndFlushState(DrawType type, const GrDeviceCoordTexture* dstCopy,
|
| + GrDrawState::AutoRestoreEffects* are) {
|
| + if (!fClipMaskManager.setupClipping(this->getClip(), are)) {
|
| return false;
|
| }
|
|
|
| @@ -336,8 +336,10 @@ void GrGpu::geometrySourceWillPop(const GeometrySrcState& restoredState) {
|
|
|
| void GrGpu::onDraw(const DrawInfo& info) {
|
| this->handleDirtyContext();
|
| + GrDrawState::AutoRestoreEffects are;
|
| if (!this->setupClipAndFlushState(PrimTypeToDrawType(info.primitiveType()),
|
| - info.getDstCopy())) {
|
| + info.getDstCopy(),
|
| + &are)) {
|
| return;
|
| }
|
| this->onGpuDraw(info);
|
| @@ -350,7 +352,8 @@ void GrGpu::onStencilPath(const GrPath* path, const SkStrokeRec&, SkPath::FillTy
|
| GrAutoTRestore<GrStencilSettings> asr(this->drawState()->stencil());
|
|
|
| this->setStencilPathSettings(*path, fill, this->drawState()->stencil());
|
| - if (!this->setupClipAndFlushState(kStencilPath_DrawType, NULL)) {
|
| + GrDrawState::AutoRestoreEffects are;
|
| + if (!this->setupClipAndFlushState(kStencilPath_DrawType, NULL, &are)) {
|
| return;
|
| }
|
|
|
|
|