diff --git a/libs/hwui/ProgramCache.cpp b/libs/hwui/ProgramCache.cpp index 1eac2393422e9..3cd85c8d3b5f9 100644 --- a/libs/hwui/ProgramCache.cpp +++ b/libs/hwui/ProgramCache.cpp @@ -417,7 +417,7 @@ String8 ProgramCache::generateFragmentShader(const ProgramDescription& descripti } // Optimization for common cases - if (!blendFramebuffer) { + if (!blendFramebuffer && description.colorOp == ProgramDescription::kColorNone) { bool fast = false; const bool noShader = !description.hasGradient && !description.hasBitmap; diff --git a/libs/hwui/ProgramCache.h b/libs/hwui/ProgramCache.h index ec9851e8ea56b..9cb13b391f63d 100644 --- a/libs/hwui/ProgramCache.h +++ b/libs/hwui/ProgramCache.h @@ -135,7 +135,7 @@ struct ProgramDescription { GLenum bitmapWrapT; // Color operations - int colorOp; + ColorModifier colorOp; SkXfermode::Mode colorMode; // Framebuffer blending (requires Extensions.hasFramebufferFetch())