diff options
Diffstat (limited to 'libs/hwui/TextureCache.cpp')
-rw-r--r-- | libs/hwui/TextureCache.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/libs/hwui/TextureCache.cpp b/libs/hwui/TextureCache.cpp index e560b8f..3752874 100644 --- a/libs/hwui/TextureCache.cpp +++ b/libs/hwui/TextureCache.cpp @@ -209,13 +209,10 @@ void TextureCache::generateTexture(SkBitmap* bitmap, Texture* texture, bool rege // decoding happened texture->blend = !bitmap->isOpaque(); break; - case SkBitmap::kIndex8_Config: - uploadLoFiTexture(resize, bitmap, texture->width, texture->height); - texture->blend = false; - break; case SkBitmap::kARGB_4444_Config: + case SkBitmap::kIndex8_Config: uploadLoFiTexture(resize, bitmap, texture->width, texture->height); - texture->blend = true; + texture->blend = !bitmap->isOpaque(); break; default: LOGW("Unsupported bitmap config: %d", bitmap->getConfig()); @@ -235,6 +232,7 @@ void TextureCache::uploadLoFiTexture(bool resize, SkBitmap* bitmap, rgbaBitmap.setConfig(SkBitmap::kARGB_8888_Config, width, height); rgbaBitmap.allocPixels(); rgbaBitmap.eraseColor(0); + rgbaBitmap.setIsOpaque(bitmap->isOpaque()); SkCanvas canvas(rgbaBitmap); canvas.drawBitmap(*bitmap, 0.0f, 0.0f, NULL); |