Discard scratch render targets before reusing them.

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/225183012

git-svn-id: http://skia.googlecode.com/svn/trunk@14075 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
commit-bot@chromium.org 2014-04-07 17:03:00 +00:00
parent 0d0d620bfd
commit 0f23ff1bcc

View File

@ -457,6 +457,11 @@ GrTexture* GrContext::lockAndRefScratchTexture(const GrTextureDesc& inDesc, Scra
// Ensure we have exclusive access to the texture so future 'find' calls don't return it
resource = fTextureCache->find(key, GrResourceCache::kHide_OwnershipFlag);
if (NULL != resource) {
// If the scratch texture is a render target, discard its contents.
GrRenderTarget* rt = static_cast<GrTexture*>(resource)->asRenderTarget();
if (NULL != rt) {
rt->discard();
}
resource->ref();
break;
}