diff options
Diffstat (limited to 'src/gpu/GrGpu.cpp')
-rw-r--r-- | src/gpu/GrGpu.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/gpu/GrGpu.cpp b/src/gpu/GrGpu.cpp index f5236324ee..b7a064ceee 100644 --- a/src/gpu/GrGpu.cpp +++ b/src/gpu/GrGpu.cpp @@ -40,8 +40,8 @@ GrTexture* GrGpu::createTexture(const GrSurfaceDesc& desc, bool budgeted, return NULL; } - if ((desc.fFlags & kRenderTarget_GrSurfaceFlag) && - !this->caps()->isConfigRenderable(desc.fConfig, desc.fSampleCnt > 0)) { + bool isRT = SkToBool(desc.fFlags & kRenderTarget_GrSurfaceFlag); + if (isRT && !this->caps()->isConfigRenderable(desc.fConfig, desc.fSampleCnt > 0)) { return NULL; } @@ -71,6 +71,9 @@ GrTexture* GrGpu::createTexture(const GrSurfaceDesc& desc, bool budgeted, } } } + if (!this->caps()->reuseScratchTextures() && !isRT) { + tex->cacheAccess().removeScratchKey(); + } return tex; } |