From 0f23ff1bcc9c725f0073a5b5689e86ea86c7f69b Mon Sep 17 00:00:00 2001 From: "commit-bot@chromium.org" Date: Mon, 7 Apr 2014 17:03:00 +0000 Subject: 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 --- src/gpu/GrContext.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src') diff --git a/src/gpu/GrContext.cpp b/src/gpu/GrContext.cpp index 89548ab5c9..8084557c93 100644 --- a/src/gpu/GrContext.cpp +++ b/src/gpu/GrContext.cpp @@ -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(resource)->asRenderTarget(); + if (NULL != rt) { + rt->discard(); + } resource->ref(); break; } -- cgit v1.2.3