aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/effects/SkColorCubeFilter.cpp
diff options
context:
space:
mode:
authorGravatar bsalomon <bsalomon@google.com>2014-11-03 08:47:23 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2014-11-03 08:47:23 -0800
commit37dd331b20a92ce79cc26556e065dec98a66cb0b (patch)
treecac1c6927c1f8f9860890e37b9d08cca01de251b /src/effects/SkColorCubeFilter.cpp
parent89a9ecef9ead1f6093e796173b28b82dca4adcbd (diff)
Add class GrGLTextureRenderTarget for GL texture/rendertarget objects
Diffstat (limited to 'src/effects/SkColorCubeFilter.cpp')
-rw-r--r--src/effects/SkColorCubeFilter.cpp11
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));
}