Revert 8525,8526 pending investigation of bench_pictures crashes.
git-svn-id: http://skia.googlecode.com/svn/trunk@8527 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/gpu/GrTexture.cpp b/src/gpu/GrTexture.cpp
index 87df147..44a1442 100644
--- a/src/gpu/GrTexture.cpp
+++ b/src/gpu/GrTexture.cpp
@@ -67,15 +67,33 @@
pixelOpsFlags);
}
+void GrTexture::releaseRenderTarget() {
+ if (NULL != fRenderTarget) {
+ GrAssert(fRenderTarget->asTexture() == this);
+ GrAssert(fDesc.fFlags & kRenderTarget_GrTextureFlagBit);
+
+ fRenderTarget->onTextureReleaseRenderTarget();
+ fRenderTarget->unref();
+ fRenderTarget = NULL;
+
+ fDesc.fFlags = fDesc.fFlags &
+ ~(kRenderTarget_GrTextureFlagBit|kNoStencil_GrTextureFlagBit);
+ fDesc.fSampleCnt = 0;
+ }
+}
+
void GrTexture::onRelease() {
GrAssert(!this->isSetFlag((GrTextureFlags) kReturnToCache_FlagBit));
+ this->releaseRenderTarget();
+
INHERITED::onRelease();
}
void GrTexture::onAbandon() {
- if (NULL != fRenderTarget.get()) {
+ if (NULL != fRenderTarget) {
fRenderTarget->abandon();
}
+
INHERITED::onAbandon();
}