| Index: src/gpu/GrInOrderDrawBuffer.cpp
|
| diff --git a/src/gpu/GrInOrderDrawBuffer.cpp b/src/gpu/GrInOrderDrawBuffer.cpp
|
| index 753a379ff80489d4221ccd3dbb2d6f5dee265a1c..cfb7f9339ebd890150a3cfb3b0aced9be00e548f 100644
|
| --- a/src/gpu/GrInOrderDrawBuffer.cpp
|
| +++ b/src/gpu/GrInOrderDrawBuffer.cpp
|
| @@ -434,6 +434,19 @@ void GrInOrderDrawBuffer::clear(const SkIRect* rect, GrColor color,
|
| this->recordTraceMarkersIfNecessary();
|
| }
|
|
|
| +void GrInOrderDrawBuffer::clearStencilClip(const SkIRect& rect,
|
| + bool insideClip,
|
| + GrRenderTarget* renderTarget) {
|
| + if (NULL == renderTarget) {
|
| + renderTarget = this->drawState()->getRenderTarget();
|
| + SkASSERT(renderTarget);
|
| + }
|
| + ClearStencilClip* clr = GrNEW_APPEND_TO_RECORDER(fCmdBuffer, ClearStencilClip, (renderTarget));
|
| + clr->fRect = rect;
|
| + clr->fInsideClip = insideClip;
|
| + this->recordTraceMarkersIfNecessary();
|
| +}
|
| +
|
| void GrInOrderDrawBuffer::discard(GrRenderTarget* renderTarget) {
|
| if (!this->caps()->discardRenderTargetSupport()) {
|
| return;
|
| @@ -562,6 +575,10 @@ void GrInOrderDrawBuffer::Clear::execute(GrDrawTarget* gpu) {
|
| }
|
| }
|
|
|
| +void GrInOrderDrawBuffer::ClearStencilClip::execute(GrDrawTarget* gpu) {
|
| + gpu->clearStencilClip(fRect, fInsideClip, this->renderTarget());
|
| +}
|
| +
|
| void GrInOrderDrawBuffer::CopySurface::execute(GrDrawTarget* gpu) {
|
| gpu->copySurface(this->dst(), this->src(), fSrcRect, fDstPoint);
|
| }
|
|
|