| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2010 Google Inc. | 3 * Copyright 2010 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 "GrDrawTarget.h" | 9 #include "GrDrawTarget.h" |
| 10 | 10 |
| (...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 208 GrPipelineBuilder::AutoRestoreFragmentProcessorState arfps; | 208 GrPipelineBuilder::AutoRestoreFragmentProcessorState arfps; |
| 209 GrPipelineBuilder::AutoRestoreStencil ars; | 209 GrPipelineBuilder::AutoRestoreStencil ars; |
| 210 | 210 |
| 211 if (!fClipMaskManager->setupClipping(pipelineBuilder, &arfps, &ars, &scissor
State, nullptr)) { | 211 if (!fClipMaskManager->setupClipping(pipelineBuilder, &arfps, &ars, &scissor
State, nullptr)) { |
| 212 return; | 212 return; |
| 213 } | 213 } |
| 214 | 214 |
| 215 // set stencil settings for path | 215 // set stencil settings for path |
| 216 GrStencilSettings stencilSettings; | 216 GrStencilSettings stencilSettings; |
| 217 GrRenderTarget* rt = pipelineBuilder.getRenderTarget(); | 217 GrRenderTarget* rt = pipelineBuilder.getRenderTarget(); |
| 218 GrStencilAttachment* sb = rt->renderTargetPriv().attachStencilAttachment(); | 218 GrStencilAttachment* sb = fResourceProvider->attachStencilAttachment(rt); |
| 219 this->getPathStencilSettingsForFilltype(fill, sb, &stencilSettings); | 219 this->getPathStencilSettingsForFilltype(fill, sb, &stencilSettings); |
| 220 | 220 |
| 221 GrBatch* batch = GrStencilPathBatch::Create(viewMatrix, | 221 GrBatch* batch = GrStencilPathBatch::Create(viewMatrix, |
| 222 pipelineBuilder.isHWAntialias(), | 222 pipelineBuilder.isHWAntialias(), |
| 223 stencilSettings, scissorState, | 223 stencilSettings, scissorState, |
| 224 pipelineBuilder.getRenderTarget(
), | 224 pipelineBuilder.getRenderTarget(
), |
| 225 path); | 225 path); |
| 226 this->recordBatch(batch); | 226 this->recordBatch(batch); |
| 227 batch->unref(); | 227 batch->unref(); |
| 228 } | 228 } |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 263 GrPipelineBuilder::AutoRestoreFragmentProcessorState arfps; | 263 GrPipelineBuilder::AutoRestoreFragmentProcessorState arfps; |
| 264 GrPipelineBuilder::AutoRestoreStencil ars; | 264 GrPipelineBuilder::AutoRestoreStencil ars; |
| 265 if (!fClipMaskManager->setupClipping(pipelineBuilder, &arfps, &ars, &scissor
State, | 265 if (!fClipMaskManager->setupClipping(pipelineBuilder, &arfps, &ars, &scissor
State, |
| 266 &batch->bounds())) { | 266 &batch->bounds())) { |
| 267 return; | 267 return; |
| 268 } | 268 } |
| 269 | 269 |
| 270 // Ensure the render target has a stencil buffer and get the stencil setting
s. | 270 // Ensure the render target has a stencil buffer and get the stencil setting
s. |
| 271 GrStencilSettings stencilSettings; | 271 GrStencilSettings stencilSettings; |
| 272 GrRenderTarget* rt = pipelineBuilder.getRenderTarget(); | 272 GrRenderTarget* rt = pipelineBuilder.getRenderTarget(); |
| 273 GrStencilAttachment* sb = rt->renderTargetPriv().attachStencilAttachment(); | 273 GrStencilAttachment* sb = fResourceProvider->attachStencilAttachment(rt); |
| 274 this->getPathStencilSettingsForFilltype(fill, sb, &stencilSettings); | 274 this->getPathStencilSettingsForFilltype(fill, sb, &stencilSettings); |
| 275 batch->setStencilSettings(stencilSettings); | 275 batch->setStencilSettings(stencilSettings); |
| 276 | 276 |
| 277 GrPipeline::CreateArgs args; | 277 GrPipeline::CreateArgs args; |
| 278 if (!this->installPipelineInDrawBatch(&pipelineBuilder, &scissorState, batch
)) { | 278 if (!this->installPipelineInDrawBatch(&pipelineBuilder, &scissorState, batch
)) { |
| 279 return; | 279 return; |
| 280 } | 280 } |
| 281 | 281 |
| 282 this->recordBatch(batch); | 282 this->recordBatch(batch); |
| 283 } | 283 } |
| (...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 458 } | 458 } |
| 459 | 459 |
| 460 return true; | 460 return true; |
| 461 } | 461 } |
| 462 | 462 |
| 463 void GrDrawTarget::clearStencilClip(const SkIRect& rect, bool insideClip, GrRend
erTarget* rt) { | 463 void GrDrawTarget::clearStencilClip(const SkIRect& rect, bool insideClip, GrRend
erTarget* rt) { |
| 464 GrBatch* batch = new GrClearStencilClipBatch(rect, insideClip, rt); | 464 GrBatch* batch = new GrClearStencilClipBatch(rect, insideClip, rt); |
| 465 this->recordBatch(batch); | 465 this->recordBatch(batch); |
| 466 batch->unref(); | 466 batch->unref(); |
| 467 } | 467 } |
| OLD | NEW |