Index: src/gpu/gl/GrGLGpu.cpp |
diff --git a/src/gpu/gl/GrGLGpu.cpp b/src/gpu/gl/GrGLGpu.cpp |
index ef4423ba6be17d7a1004eb886948a2fdf24ba650..8710931301eae53fc39b2d930ece9f04301d7e5a 100644 |
--- a/src/gpu/gl/GrGLGpu.cpp |
+++ b/src/gpu/gl/GrGLGpu.cpp |
@@ -11,6 +11,7 @@ |
#include "GrGLTextureRenderTarget.h" |
#include "GrGpuResourcePriv.h" |
#include "GrPipeline.h" |
+#include "GrRenderTargetPriv.h" |
#include "GrSurfacePriv.h" |
#include "GrTemplates.h" |
#include "GrTexturePriv.h" |
@@ -454,7 +455,7 @@ GrRenderTarget* GrGLGpu::onWrapBackendRenderTarget(const GrBackendRenderTargetDe |
desc.fHeight, |
desc.fSampleCnt, |
format)); |
- tgt->setStencilBuffer(sb); |
+ tgt->renderTargetPriv().didAttachStencilBuffer(sb); |
sb->unref(); |
} |
return tgt; |
@@ -1175,7 +1176,7 @@ bool GrGLGpu::createStencilBufferForRenderTarget(GrRenderTarget* rt, int width, |
(this, sbDesc, width, height, samples, format))); |
if (this->attachStencilBufferToRenderTarget(sb, rt)) { |
fLastSuccessfulStencilFmtIdx = sIdx; |
- rt->setStencilBuffer(sb); |
+ rt->renderTargetPriv().didAttachStencilBuffer(sb); |
return true; |
} |
// Remove the scratch key from this resource so we don't grab it from the cache ever |
@@ -1195,7 +1196,7 @@ bool GrGLGpu::attachStencilBufferToRenderTarget(GrStencilBuffer* sb, GrRenderTar |
GrGLuint fbo = glrt->renderFBOID(); |
if (NULL == sb) { |
- if (rt->getStencilBuffer()) { |
+ if (rt->renderTargetPriv().getStencilBuffer()) { |
GL_CALL(FramebufferRenderbuffer(GR_GL_FRAMEBUFFER, |
GR_GL_STENCIL_ATTACHMENT, |
GR_GL_RENDERBUFFER, 0)); |
@@ -1570,10 +1571,11 @@ void GrGLGpu::clearStencil(GrRenderTarget* target) { |
void GrGLGpu::onClearStencilClip(GrRenderTarget* target, const SkIRect& rect, bool insideClip) { |
SkASSERT(target); |
+ GrStencilBuffer* sb = target->renderTargetPriv().getStencilBuffer(); |
// this should only be called internally when we know we have a |
// stencil buffer. |
- SkASSERT(target->getStencilBuffer()); |
- GrGLint stencilBitCount = target->getStencilBuffer()->bits(); |
+ SkASSERT(sb); |
+ GrGLint stencilBitCount = sb->bits(); |
#if 0 |
SkASSERT(stencilBitCount > 0); |
GrGLint clipStencilMask = (1 << (stencilBitCount - 1)); |
@@ -2560,7 +2562,7 @@ bool GrGLGpu::initCopySurfaceDstDesc(const GrSurface* src, GrSurfaceDesc* desc) |
// then we set up for that, otherwise fail. |
if (this->caps()->isConfigRenderable(kBGRA_8888_GrPixelConfig, false)) { |
desc->fOrigin = kDefault_GrSurfaceOrigin; |
- desc->fFlags = kRenderTarget_GrSurfaceFlag | kNoStencil_GrSurfaceFlag; |
+ desc->fFlags = kRenderTarget_GrSurfaceFlag; |
desc->fConfig = kBGRA_8888_GrPixelConfig; |
return true; |
} |
@@ -2576,7 +2578,7 @@ bool GrGLGpu::initCopySurfaceDstDesc(const GrSurface* src, GrSurfaceDesc* desc) |
// fail. |
if (this->caps()->isConfigRenderable(src->config(), false)) { |
desc->fOrigin = kDefault_GrSurfaceOrigin; |
- desc->fFlags = kRenderTarget_GrSurfaceFlag | kNoStencil_GrSurfaceFlag; |
+ desc->fFlags = kRenderTarget_GrSurfaceFlag; |
desc->fConfig = src->config(); |
return true; |
} |