Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2012 Google Inc. | 3 * Copyright 2012 Google Inc. |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 #include "GrClipMaskManager.h" | 9 #include "GrClipMaskManager.h" |
| 10 #include "GrAAConvexPathRenderer.h" | 10 #include "GrAAConvexPathRenderer.h" |
| (...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 167 effect.reset(GrConvexPolyEffect::Create(GrConvexPolyEffect::kFil lNoAA_EdgeType, p)); | 167 effect.reset(GrConvexPolyEffect::Create(GrConvexPolyEffect::kFil lNoAA_EdgeType, p)); |
| 168 } | 168 } |
| 169 } else { | 169 } else { |
| 170 GrConvexPolyEffect::EdgeType type = isAA ? GrConvexPolyEffect::kFill AA_EdgeType : | 170 GrConvexPolyEffect::EdgeType type = isAA ? GrConvexPolyEffect::kFill AA_EdgeType : |
| 171 GrConvexPolyEffect::kFill NoAA_EdgeType; | 171 GrConvexPolyEffect::kFill NoAA_EdgeType; |
| 172 effect.reset(GrConvexPolyEffect::Create(type, p)); | 172 effect.reset(GrConvexPolyEffect::Create(type, p)); |
| 173 } | 173 } |
| 174 if (effect) { | 174 if (effect) { |
| 175 are->set(fGpu->drawState()); | 175 are->set(fGpu->drawState()); |
| 176 fGpu->drawState()->addCoverageEffect(effect); | 176 fGpu->drawState()->addCoverageEffect(effect); |
| 177 fGpu->disableScissor(); | 177 SkIRect scissorSpaceIBounds(clipSpaceIBounds); |
|
bsalomon
2014/02/06 22:16:01
It turns out we were already doing this in the ste
robertphillips
2014/02/07 13:42:11
That's a better answer then them analyzing our ste
| |
| 178 scissorSpaceIBounds.offset(-clipDataIn->fOrigin); | |
| 179 fGpu->enableScissor(scissorSpaceIBounds); | |
| 178 this->setGpuStencil(); | 180 this->setGpuStencil(); |
| 179 return true; | 181 return true; |
| 180 } | 182 } |
| 181 } | 183 } |
| 182 | 184 |
| 183 #if GR_AA_CLIP | 185 #if GR_AA_CLIP |
| 184 // If MSAA is enabled we can do everything in the stencil buffer. | 186 // If MSAA is enabled we can do everything in the stencil buffer. |
| 185 if (0 == rt->numSamples() && requiresAA) { | 187 if (0 == rt->numSamples() && requiresAA) { |
| 186 GrTexture* result = NULL; | 188 GrTexture* result = NULL; |
| 187 | 189 |
| (...skipping 872 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1060 | 1062 |
| 1061 // TODO: dynamically attach a stencil buffer | 1063 // TODO: dynamically attach a stencil buffer |
| 1062 int stencilBits = 0; | 1064 int stencilBits = 0; |
| 1063 GrStencilBuffer* stencilBuffer = | 1065 GrStencilBuffer* stencilBuffer = |
| 1064 drawState.getRenderTarget()->getStencilBuffer(); | 1066 drawState.getRenderTarget()->getStencilBuffer(); |
| 1065 if (NULL != stencilBuffer) { | 1067 if (NULL != stencilBuffer) { |
| 1066 stencilBits = stencilBuffer->bits(); | 1068 stencilBits = stencilBuffer->bits(); |
| 1067 this->adjustStencilParams(settings, clipMode, stencilBits); | 1069 this->adjustStencilParams(settings, clipMode, stencilBits); |
| 1068 } | 1070 } |
| 1069 } | 1071 } |
| OLD | NEW |