diff options
author | bsalomon <bsalomon@google.com> | 2014-11-03 08:47:23 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-11-03 08:47:23 -0800 |
commit | 37dd331b20a92ce79cc26556e065dec98a66cb0b (patch) | |
tree | cac1c6927c1f8f9860890e37b9d08cca01de251b /src/effects/SkColorCubeFilter.cpp | |
parent | 89a9ecef9ead1f6093e796173b28b82dca4adcbd (diff) |
Add class GrGLTextureRenderTarget for GL texture/rendertarget objects
BUG=skia:2889
Review URL: https://codereview.chromium.org/695813003
Diffstat (limited to 'src/effects/SkColorCubeFilter.cpp')
-rw-r--r-- | src/effects/SkColorCubeFilter.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/effects/SkColorCubeFilter.cpp b/src/effects/SkColorCubeFilter.cpp index 22425983d1..d9d6841e50 100644 --- a/src/effects/SkColorCubeFilter.cpp +++ b/src/effects/SkColorCubeFilter.cpp @@ -356,11 +356,12 @@ GrFragmentProcessor* SkColorCubeFilter::asFragmentProcessor(GrContext* context) desc.fHeight = fCache.cubeDimension() * fCache.cubeDimension(); desc.fConfig = kRGBA_8888_GrPixelConfig; - SkAutoTUnref<GrTexture> textureCube( - static_cast<GrTexture*>(context->findAndRefCachedResource( - GrTexturePriv::ComputeKey(context->getGpu(), NULL, desc, cacheID)))); - - if (!textureCube) { + GrResourceKey rkey = GrTexturePriv::ComputeKey(context->getGpu(), NULL, desc, cacheID); + GrSurface* surface = static_cast<GrSurface*>(context->findAndRefCachedResource(rkey)); + SkAutoTUnref<GrTexture> textureCube; + if (surface) { + textureCube.reset(surface->asTexture()); + } else { textureCube.reset(context->createTexture(NULL, desc, cacheID, fCubeData->data(), 0)); } |