OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2014 Google Inc. | 2 * Copyright 2014 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #include "SkColorCubeFilter.h" | 8 #include "SkColorCubeFilter.h" |
9 #include "SkColorPriv.h" | 9 #include "SkColorPriv.h" |
10 #include "SkOnce.h" | 10 #include "SkOnce.h" |
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
347 GrContentKey::Builder builder(&key, kDomain, 2); | 347 GrContentKey::Builder builder(&key, kDomain, 2); |
348 builder[0] = fUniqueID; | 348 builder[0] = fUniqueID; |
349 builder[1] = fCache.cubeDimension(); | 349 builder[1] = fCache.cubeDimension(); |
350 builder.finish(); | 350 builder.finish(); |
351 | 351 |
352 GrSurfaceDesc desc; | 352 GrSurfaceDesc desc; |
353 desc.fWidth = fCache.cubeDimension(); | 353 desc.fWidth = fCache.cubeDimension(); |
354 desc.fHeight = fCache.cubeDimension() * fCache.cubeDimension(); | 354 desc.fHeight = fCache.cubeDimension() * fCache.cubeDimension(); |
355 desc.fConfig = kRGBA_8888_GrPixelConfig; | 355 desc.fConfig = kRGBA_8888_GrPixelConfig; |
356 | 356 |
357 GrSurface* surface = static_cast<GrSurface*>(context->findAndRefCachedResour
ce(key)); | 357 SkAutoTUnref<GrTexture> textureCube(context->findAndRefCachedTexture(key)); |
358 SkAutoTUnref<GrTexture> textureCube; | 358 if (!textureCube) { |
359 if (surface) { | 359 textureCube.reset(context->createTexture(desc, fCubeData->data(), 0)); |
360 textureCube.reset(surface->asTexture()); | 360 if (textureCube) { |
361 } else { | 361 SkAssertResult(context->addResourceToCache(key, textureCube)); |
362 textureCube.reset(context->createTexture(NULL, desc, key, fCubeData->dat
a(), 0)); | 362 } |
363 } | 363 } |
364 | 364 |
365 return textureCube ? GrColorCubeEffect::Create(textureCube) : NULL; | 365 return textureCube ? GrColorCubeEffect::Create(textureCube) : NULL; |
366 } | 366 } |
367 #endif | 367 #endif |
OLD | NEW |